From fc37838942187c8305c19cba891eb0a201919e41 Mon Sep 17 00:00:00 2001 From: Sam Redmond Date: Mon, 13 Apr 2020 11:09:51 -0700 Subject: [PATCH 1/6] Adds a reStructuredText version of Section 1. For technical writing involving Python, RST is a neat choice, because it can be used by Sphinx to autogenerate files in a variety of output formats [1]. Moreover, it's the "fancy-Markdown" equivalent that has enough expressiveness to meaningfully work for technical writing, shoring up areas where Markdown itself fails to provide useful primitives (such as embedding images with set attributes). Section headings adhere to the same convention as Python's official docs [2]. [1]: https://www.sphinx-doc.org/en/master/usage/restructuredtext/index.html [2]: https://devguide.python.org/documenting/#sections --- section1/section1.rst | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 section1/section1.rst diff --git a/section1/section1.rst b/section1/section1.rst new file mode 100644 index 0000000..d3576ef --- /dev/null +++ b/section1/section1.rst @@ -0,0 +1,42 @@ +.. section1: + +================= +Section Handout 1 +================= + +******************** +United Nations Karel +******************** + +As part of its plans to help reconstruct infrastructure worldwide, the United Nations - that's right, the UN is using Karel - established a new program with the mission of dispatching house-building robots to repair flood-damaged areas. + +Your job is to program those robots. + +Each robot begins at the west end of a street that might look like this: + +.. image:: img/initial.png + :alt: Initial World Layout for United Nations Karel + :align: center + :width: 100% + +Each beeper in the figure represents a pile of debris. Karel's job is to walk along the street and build a new house in the places marked by each beeper. Those houses, moreover, need to be raised on stilts to avoid damage from the next flood. Each house, in fact, should look exactly like the picture below: + +.. image:: img/house.png + :alt: A House made out of Beepers + :align: center + :width: 20% + +The new house should be centered at the point at which the bit of debris was left, which means that the first house in the diagram above will be constructed with its left edge along 2nd Avenue. At the end of the run, Karel should be at the east end of the street having created a set of houses that look like this for the initial conditions shown: + +.. image:: img/final.png + :alt: Final world layout for United Nations Karel + :align: center + :width: 100% + +Keep in mind the following information about the world: + +* Karel starts facing east at (1, 1) with an infinite number of beepers in its beeper bag. +* The beepers indicating the positions at which houses should be built will be spaced so that there is room to build the houses without overlapping or hitting walls. +* Karel must end up facing east at the southeast corner of the world. Moreover, Karel should not run into a wall if it builds a house that extends into that final corner. + +Write a program to implement the United Nations Karel project. Remember that your program should work for any world that meets the above conditions. From d6f20ef2fc41945e96a9c1aae86b9cd95c57ff73 Mon Sep 17 00:00:00 2001 From: Sam Redmond Date: Mon, 13 Apr 2020 12:22:14 -0700 Subject: [PATCH 2/6] Adds initial Sphinx configuration. Sphinx [1] is "a tool that makes it easy to create intelligent and beautiful documentation." It also has great support for internationalization [2]. Sphinx is a common tool for writing about and documenting Python code, even used by the Python language itself. The TL;DR: of using Sphinx is: to make HTML documents, run `make html`. To make PDF documents, run `make latexpdf`. It's as easy as that! [1]: https://www.sphinx-doc.org/en/master/ [2]: https://www.sphinx-doc.org/en/master/usage/advanced/intl.html --- .gitignore | 2 ++ Makefile | 19 ++++++++++++++++ conf.py | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ make.bat | 35 ++++++++++++++++++++++++++++++ 4 files changed, 119 insertions(+) create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 conf.py create mode 100644 make.bat diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..130a48e --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +# Sphinx output +_build/ \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..08835bd --- /dev/null +++ b/Makefile @@ -0,0 +1,19 @@ +# Minimal makefile for Sphinx documentation + +# You can set these variables from the command line, and also +# from the environment for the first two. +SPHINXOPTS ?= +SPHINXBUILD ?= sphinx-build +SOURCEDIR = . +BUILDDIR = _build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/conf.py b/conf.py new file mode 100644 index 0000000..01d9cb4 --- /dev/null +++ b/conf.py @@ -0,0 +1,63 @@ +# Configuration file for the Sphinx documentation builder. +# +# This file only contains a selection of the most common options. +# For a full list, see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html +import pathlib + +# -- Project information ----------------------------------------------------- + +project = 'Code in Place Section Handouts (2020)' +copyright = '2020, The Code in Place Teaching Team' +author = 'The Code in Place Teaching Team' + +# The full version, including alpha/beta/rc tags +release = '0.0.1' + + +# -- General configuration --------------------------------------------------- + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ +] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path. +exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] + + +# -- Options for HTML output ------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = 'alabaster' + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + + +# -- Options for PDF output -------------------------------------------------- +HERE = pathlib.Path(__file__).parent + +# https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-latex_documents +latex_documents = [ + (f'section{number}/section{number}', f'Section{number}.tex', f'Section {number}', + 'Code in Place', 'howto') + for number in range(1, 10) + if (HERE / f'section{number}/section{number}.rst').exists() +] + +# https://www.sphinx-doc.org/en/master/latex.html#the-latex-elements-configuration-setting +latex_elements = { + 'maketitle': '', # Disable \maketitle + 'tableofcontents': '' # Disable \tableofcontents +} diff --git a/make.bat b/make.bat new file mode 100644 index 0000000..2119f51 --- /dev/null +++ b/make.bat @@ -0,0 +1,35 @@ +@ECHO OFF + +pushd %~dp0 + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set SOURCEDIR=. +set BUILDDIR=_build + +if "%1" == "" goto help + +%SPHINXBUILD% >NUL 2>NUL +if errorlevel 9009 ( + echo. + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx + echo.installed, then set the SPHINXBUILD environment variable to point + echo.to the full path of the 'sphinx-build' executable. Alternatively you + echo.may add the Sphinx directory to PATH. + echo. + echo.If you don't have Sphinx installed, grab it from + echo.http://sphinx-doc.org/ + exit /b 1 +) + +%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% +goto end + +:help +%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% + +:end +popd From 61ec84b205cd9a38acbb12cc415da9067725c533 Mon Sep 17 00:00:00 2001 From: Sam Redmond Date: Mon, 13 Apr 2020 12:45:41 -0700 Subject: [PATCH 3/6] Adds an initial index page. The index reST file current just contains a TOC containing all documents that look like "section*/section*". For more information on the `toctree` directive, see [1]. [1]: https://www.sphinx-doc.org/en/1.8/usage/restructuredtext/directives.html#directive-toctree --- index.rst | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 index.rst diff --git a/index.rst b/index.rst new file mode 100644 index 0000000..68f0a9d --- /dev/null +++ b/index.rst @@ -0,0 +1,16 @@ +.. Code in Place Section Handouts (2020) documentation master file, created by + sphinx-quickstart on Sat Apr 11 19:14:41 2020. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +======================================= +Section Handouts for Code in Place 2020 +======================================= + +.. toctree:: + :maxdepth: 2 + :caption: Handouts: + :titlesonly: + :glob: + + section*/section* From dfac66089c7385f399bc59f7dca34855753400a0 Mon Sep 17 00:00:00 2001 From: Sam Redmond Date: Mon, 13 Apr 2020 13:24:23 -0700 Subject: [PATCH 4/6] Localizes handouts into Spanish, French, and German. With this commit, the power of Sphinx's gettext integration begins to shine. Translators (or in this case, just me) populate `.po` files autogenerated by `sphinx-intl`, and then Sphinx can build documentation in any of those languages. To extract translatable messages into `pot` files, use: $ make gettext These `pot` files are just generated by Sphinx and are kept out of version control. To generate `po` files from the `pot` files created by the previous step, use: $ sphinx-intl update -p _build/gettext -l es -l de -l fr Any valid language codes can be used in that command. Later, when the content of the translatable strings change, you'll have to run: $ sphinx-intl update -p _build/gettext This will update the `po` files with the new strings for translators. Finally, to make the documentation in a specific language (say, Spanish), use: $ make -e SPHINXOPTS="-D language='es'" html $ make -e SPHINXOPTS="-D language='es'" latexpdf That's somewhat hard to remember, so on its way is a helpful script. --- conf.py | 6 ++ locale/de/LC_MESSAGES/index.po | 28 +++++ locale/de/LC_MESSAGES/section1/section1.po | 120 +++++++++++++++++++++ locale/es/LC_MESSAGES/index.po | 28 +++++ locale/es/LC_MESSAGES/section1/section1.po | 118 ++++++++++++++++++++ locale/fr/LC_MESSAGES/index.po | 28 +++++ locale/fr/LC_MESSAGES/section1/section1.po | 120 +++++++++++++++++++++ 7 files changed, 448 insertions(+) create mode 100644 locale/de/LC_MESSAGES/index.po create mode 100644 locale/de/LC_MESSAGES/section1/section1.po create mode 100644 locale/es/LC_MESSAGES/index.po create mode 100644 locale/es/LC_MESSAGES/section1/section1.po create mode 100644 locale/fr/LC_MESSAGES/index.po create mode 100644 locale/fr/LC_MESSAGES/section1/section1.po diff --git a/conf.py b/conf.py index 01d9cb4..cb1028f 100644 --- a/conf.py +++ b/conf.py @@ -61,3 +61,9 @@ 'maketitle': '', # Disable \maketitle 'tableofcontents': '' # Disable \tableofcontents } + + +# -- Options for sphinx-intl ------------------------------------------------- + +locale_dirs = ['locale/'] +gettext_compact = False diff --git a/locale/de/LC_MESSAGES/index.po b/locale/de/LC_MESSAGES/index.po new file mode 100644 index 0000000..96c4632 --- /dev/null +++ b/locale/de/LC_MESSAGES/index.po @@ -0,0 +1,28 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020, The Code in Place Teaching Team +# This file is distributed under the same license as the Code in Place +# Section Handouts (2020) package. +# FIRST AUTHOR , 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: Code in Place Section Handouts (2020)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-04-13 12:48-0700\n" +"PO-Revision-Date: 2020-04-13 13:05-0700\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.8.0\n" +"Last-Translator: Sam Redmond \n" +"Language-Team: \n" +"Language: de\n" +"X-Generator: Poedit 2.3\n" + +#: ../../index.rst:10 +msgid "Handouts:" +msgstr "Broschüren:" + +#: ../../index.rst:8 +msgid "Section Handouts for Code in Place 2020" +msgstr "Abschnitt Broschüren für Code in Place 2020" diff --git a/locale/de/LC_MESSAGES/section1/section1.po b/locale/de/LC_MESSAGES/section1/section1.po new file mode 100644 index 0000000..5577c31 --- /dev/null +++ b/locale/de/LC_MESSAGES/section1/section1.po @@ -0,0 +1,120 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020, The Code in Place Teaching Team +# This file is distributed under the same license as the Code in Place +# Section Handouts (2020) package. +# FIRST AUTHOR , 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: Code in Place Section Handouts (2020)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-04-13 12:48-0700\n" +"PO-Revision-Date: 2020-04-13 13:07-0700\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.8.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: Sam Redmond \n" +"Language-Team: \n" +"Language: de_DE\n" +"X-Generator: Poedit 2.3\n" + +#: ../../section1/section1.rst:5 +msgid "Section Handout 1" +msgstr "Abschnitt Handout 1" + +#: ../../section1/section1.rst:9 +msgid "United Nations Karel" +msgstr "Karel der Vereinten Nationen" + +#: ../../section1/section1.rst:11 +msgid "" +"As part of its plans to help reconstruct infrastructure worldwide, the United " +"Nations - that's right, the UN is using Karel - established a new program " +"with the mission of dispatching house-building robots to repair flood-damaged " +"areas." +msgstr "" +"Im Rahmen ihrer Pläne, den weltweiten Wiederaufbau der Infrastruktur zu " +"unterstützen, haben die Vereinten Nationen - das ist richtig, die UN nutzen " +"Karel - ein neues Programm mit dem Auftrag eingerichtet, Hausbauroboter zur " +"Reparatur von Hochwassergebieten zu entsenden." + +#: ../../section1/section1.rst:13 +msgid "Your job is to program those robots." +msgstr "Ihre Aufgabe ist es, diese Roboter zu programmieren." + +#: ../../section1/section1.rst:15 +msgid "Each robot begins at the west end of a street that might look like this:" +msgstr "" +"Jeder Roboter beginnt am westlichen Ende einer Straße, die folgendermaßen " +"aussehen könnte:" + +#: ../../section1/section1.rst:22 +msgid "" +"Each beeper in the figure represents a pile of debris. Karel's job is to walk " +"along the street and build a new house in the places marked by each beeper. " +"Those houses, moreover, need to be raised on stilts to avoid damage from the " +"next flood. Each house, in fact, should look exactly like the picture below:" +msgstr "" +"Jeder Piepser in der Abbildung repräsentiert einen Trümmerhaufen. Karels " +"Aufgabe ist es, die Straße entlang zu gehen und an den von jedem Piepser " +"markierten Stellen ein neues Haus zu bauen. Darüber hinaus müssen diese " +"Häuser auf Stelzen errichtet werden, um Schäden durch die nächste Flut zu " +"vermeiden. Tatsächlich sollte jedes Haus genau wie auf dem Bild unten " +"aussehen:" + +#: ../../section1/section1.rst:29 +msgid "" +"The new house should be centered at the point at which the bit of debris was " +"left, which means that the first house in the diagram above will be " +"constructed with its left edge along 2nd Avenue. At the end of the run, Karel " +"should be at the east end of the street having created a set of houses that " +"look like this for the initial conditions shown:" +msgstr "" +"Das neue Haus sollte an der Stelle zentriert sein, an der die Trümmer " +"zurückgelassen wurden. Dies bedeutet, dass das erste Haus im obigen Diagramm " +"mit dem linken Rand entlang der 2nd Avenue gebaut wird. Am Ende des Laufs " +"sollte Karel am östlichen Ende der Straße sein und eine Reihe von Häusern " +"erstellt haben, die für die gezeigten Anfangsbedingungen so aussehen:" + +#: ../../section1/section1.rst:36 +msgid "Keep in mind the following information about the world:" +msgstr "Beachten Sie die folgenden Informationen über die Welt:" + +#: ../../section1/section1.rst:38 +msgid "" +"Karel starts facing east at (1, 1) with an infinite number of beepers in its " +"beeper bag." +msgstr "" +"Karel beginnt bei (1, 1) mit einer unendlichen Anzahl von Pieptönen in seiner " +"Piepsertasche nach Osten zu schauen." + +#: ../../section1/section1.rst:39 +msgid "" +"The beepers indicating the positions at which houses should be built will be " +"spaced so that there is room to build the houses without overlapping or " +"hitting walls." +msgstr "" +"Die Piepser, die die Positionen angeben, an denen Häuser gebaut werden " +"sollen, sind so beabstandet, dass Platz zum Bauen der Häuser vorhanden ist, " +"ohne dass sich Wände überlappen oder treffen." + +#: ../../section1/section1.rst:40 +msgid "" +"Karel must end up facing east at the southeast corner of the world. Moreover, " +"Karel should not run into a wall if it builds a house that extends into that " +"final corner." +msgstr "" +"Karel muss an der südöstlichen Ecke der Welt nach Osten schauen. Außerdem " +"sollte Karel nicht gegen eine Mauer stoßen, wenn er ein Haus baut, das bis in " +"diese letzte Ecke reicht." + +#: ../../section1/section1.rst:42 +msgid "" +"Write a program to implement the United Nations Karel project. Remember that " +"your program should work for any world that meets the above conditions." +msgstr "" +"Schreiben Sie ein Programm zur Umsetzung des Karel-Projekts der Vereinten " +"Nationen. Denken Sie daran, dass Ihr Programm für jede Welt funktionieren " +"sollte, die die oben genannten Bedingungen erfüllt." diff --git a/locale/es/LC_MESSAGES/index.po b/locale/es/LC_MESSAGES/index.po new file mode 100644 index 0000000..0f90295 --- /dev/null +++ b/locale/es/LC_MESSAGES/index.po @@ -0,0 +1,28 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020, The Code in Place Teaching Team +# This file is distributed under the same license as the Code in Place +# Section Handouts (2020) package. +# FIRST AUTHOR , 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: Code in Place Section Handouts (2020)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-04-13 12:48-0700\n" +"PO-Revision-Date: 2020-04-13 13:08-0700\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.8.0\n" +"Last-Translator: Sam Redmond \n" +"Language-Team: \n" +"Language: es\n" +"X-Generator: Poedit 2.3\n" + +#: ../../index.rst:10 +msgid "Handouts:" +msgstr "Las hojas informativas:" + +#: ../../index.rst:8 +msgid "Section Handouts for Code in Place 2020" +msgstr "Las hojas informativas de Code in Place 2020" diff --git a/locale/es/LC_MESSAGES/section1/section1.po b/locale/es/LC_MESSAGES/section1/section1.po new file mode 100644 index 0000000..6034a7a --- /dev/null +++ b/locale/es/LC_MESSAGES/section1/section1.po @@ -0,0 +1,118 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020, The Code in Place Teaching Team +# This file is distributed under the same license as the Code in Place +# Section Handouts (2020) package. +# FIRST AUTHOR , 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: Code in Place Section Handouts (2020)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-04-13 12:48-0700\n" +"PO-Revision-Date: 2020-04-13 13:18-0700\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.8.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: Sam Redmond \n" +"Language-Team: \n" +"Language: es_ES\n" +"X-Generator: Poedit 2.3\n" + +#: ../../section1/section1.rst:5 +msgid "Section Handout 1" +msgstr "Hoja informativa 1" + +#: ../../section1/section1.rst:9 +msgid "United Nations Karel" +msgstr "Karel de las Naciones Unidas" + +#: ../../section1/section1.rst:11 +msgid "" +"As part of its plans to help reconstruct infrastructure worldwide, the United " +"Nations - that's right, the UN is using Karel - established a new program " +"with the mission of dispatching house-building robots to repair flood-damaged " +"areas." +msgstr "" +"Para reconstruir la infraestructura del mundo, las Naciones Unidas - es " +"cierto, la ONU utiliza Karel - estableció un nuevo programa con la intención " +"de enviar robots de construcción de viviendas para reparar áreas dañadas por " +"las inundaciones." + +#: ../../section1/section1.rst:13 +msgid "Your job is to program those robots." +msgstr "Su trabajo es programar esos robots." + +#: ../../section1/section1.rst:15 +msgid "Each robot begins at the west end of a street that might look like this:" +msgstr "" +"Cada robot empieza en el extremo oeste de una calle que podría verse así:" + +#: ../../section1/section1.rst:22 +msgid "" +"Each beeper in the figure represents a pile of debris. Karel's job is to walk " +"along the street and build a new house in the places marked by each beeper. " +"Those houses, moreover, need to be raised on stilts to avoid damage from the " +"next flood. Each house, in fact, should look exactly like the picture below:" +msgstr "" +"Cada bíper en la figura representa una montaña de escombros. Karel tendrá que " +"andar por la calle y construir una casita nueva en los lugares marcados por " +"cada bíper. Esas casas, además, tienen que ser levantadas sobre pilotes para " +"evitar dañarse durante la próxima inundación. Cada casa, de hecho, debe verse " +"exactamente como la siguiente imagen:" + +#: ../../section1/section1.rst:29 +msgid "" +"The new house should be centered at the point at which the bit of debris was " +"left, which means that the first house in the diagram above will be " +"constructed with its left edge along 2nd Avenue. At the end of the run, Karel " +"should be at the east end of the street having created a set of houses that " +"look like this for the initial conditions shown:" +msgstr "" +"La nueva casa debe estar centrada en el punto en el que quedaron los restos, " +"lo que significa que la primera casa en el diagrama anterior se construirá " +"con su borde izquierdo a lo largo de la 2a avenida. Al final de la ejecución, " +"Karel debería estar en el extremo este de la calle, habiendo creado un " +"conjunto de casas que se vean así para las condiciones iniciales mostradas:" + +#: ../../section1/section1.rst:36 +msgid "Keep in mind the following information about the world:" +msgstr "Tenga en cuenta la siguiente información sobre el mundo:" + +#: ../../section1/section1.rst:38 +msgid "" +"Karel starts facing east at (1, 1) with an infinite number of beepers in its " +"beeper bag." +msgstr "" +"Karel comienza frente al este en la posición (1, 1) con un número infinito de " +"bíperes en su bolsa." + +#: ../../section1/section1.rst:39 +msgid "" +"The beepers indicating the positions at which houses should be built will be " +"spaced so that there is room to build the houses without overlapping or " +"hitting walls." +msgstr "" +"Los bíperes que indican las posiciones en las que se deben construir las " +"casas estarán espaciados para que haya espacio para construir las casas sin " +"superponerse o chocar con las paredes." + +#: ../../section1/section1.rst:40 +msgid "" +"Karel must end up facing east at the southeast corner of the world. Moreover, " +"Karel should not run into a wall if it builds a house that extends into that " +"final corner." +msgstr "" +"Karel debe terminar de cara al este en la esquina sureste del mundo. Además, " +"Karel no debería chocarse con una pared si construye una casa que se extienda " +"hasta aquella esquina final." + +#: ../../section1/section1.rst:42 +msgid "" +"Write a program to implement the United Nations Karel project. Remember that " +"your program should work for any world that meets the above conditions." +msgstr "" +"Escriba un programa para implementar el proyecto Karel de las Naciones " +"Unidas. Recuerde que su programa debería funcionar para cualquier mundo que " +"cumpla con las condiciones anteriores." diff --git a/locale/fr/LC_MESSAGES/index.po b/locale/fr/LC_MESSAGES/index.po new file mode 100644 index 0000000..de25974 --- /dev/null +++ b/locale/fr/LC_MESSAGES/index.po @@ -0,0 +1,28 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020, The Code in Place Teaching Team +# This file is distributed under the same license as the Code in Place +# Section Handouts (2020) package. +# FIRST AUTHOR , 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: Code in Place Section Handouts (2020)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-04-13 12:48-0700\n" +"PO-Revision-Date: 2020-04-13 12:59-0700\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.8.0\n" +"Last-Translator: Sam Redmond \n" +"Language-Team: \n" +"Language: fr\n" +"X-Generator: Poedit 2.3\n" + +#: ../../index.rst:10 +msgid "Handouts:" +msgstr "Documents:" + +#: ../../index.rst:8 +msgid "Section Handouts for Code in Place 2020" +msgstr "Documents de Section pour le Code en Place 2020" diff --git a/locale/fr/LC_MESSAGES/section1/section1.po b/locale/fr/LC_MESSAGES/section1/section1.po new file mode 100644 index 0000000..1f96ec5 --- /dev/null +++ b/locale/fr/LC_MESSAGES/section1/section1.po @@ -0,0 +1,120 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020, The Code in Place Teaching Team +# This file is distributed under the same license as the Code in Place +# Section Handouts (2020) package. +# FIRST AUTHOR , 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: Code in Place Section Handouts (2020)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-04-13 12:48-0700\n" +"PO-Revision-Date: 2020-04-13 13:05-0700\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.8.0\n" +"Last-Translator: Sam Redmond \n" +"Language-Team: \n" +"Language: fr_FR\n" +"X-Generator: Poedit 2.3\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: ../../section1/section1.rst:5 +msgid "Section Handout 1" +msgstr "Document de section 1" + +#: ../../section1/section1.rst:9 +msgid "United Nations Karel" +msgstr "Nations Unies Karel" + +#: ../../section1/section1.rst:11 +msgid "" +"As part of its plans to help reconstruct infrastructure worldwide, the United " +"Nations - that's right, the UN is using Karel - established a new program " +"with the mission of dispatching house-building robots to repair flood-damaged " +"areas." +msgstr "" +"Dans le cadre de ses plans pour aider à reconstruire les infrastructures dans " +"le monde, les Nations Unies - c’est vrai, l’ONU utilise Karel - ont établi un " +"nouveau programme avec pour mission d’envoyer des robots de construction de " +"maisons pour réparer les zones endommagées par les inondations." + +#: ../../section1/section1.rst:13 +msgid "Your job is to program those robots." +msgstr "Votre travail consiste à programmer ces robots." + +#: ../../section1/section1.rst:15 +msgid "Each robot begins at the west end of a street that might look like this:" +msgstr "" +"Chaque robot commence à l’extrémité ouest d’une rue qui pourrait ressembler à " +"ceci:" + +#: ../../section1/section1.rst:22 +msgid "" +"Each beeper in the figure represents a pile of debris. Karel's job is to walk " +"along the street and build a new house in the places marked by each beeper. " +"Those houses, moreover, need to be raised on stilts to avoid damage from the " +"next flood. Each house, in fact, should look exactly like the picture below:" +msgstr "" +"Chaque bip de la figure représente un tas de débris. Le travail de Karel est " +"de marcher le long de la rue et de construire une nouvelle maison aux " +"endroits marqués par chaque bip. De plus, ces maisons doivent être surélevées " +"sur pilotis pour éviter les dommages causés par la prochaine inondation. En " +"fait, chaque maison devrait ressembler exactement à l’image ci-dessous:" + +#: ../../section1/section1.rst:29 +msgid "" +"The new house should be centered at the point at which the bit of debris was " +"left, which means that the first house in the diagram above will be " +"constructed with its left edge along 2nd Avenue. At the end of the run, Karel " +"should be at the east end of the street having created a set of houses that " +"look like this for the initial conditions shown:" +msgstr "" +"La nouvelle maison doit être centrée au point où le morceau de débris a été " +"laissé, ce qui signifie que la première maison dans le diagramme ci-dessus " +"sera construite avec son bord gauche le long de la 2e Avenue. À la fin de la " +"course, Karel devrait être à l’extrémité est de la rue après avoir créé un " +"ensemble de maisons qui ressemblent à ceci pour les conditions initiales " +"indiquées:" + +#: ../../section1/section1.rst:36 +msgid "Keep in mind the following information about the world:" +msgstr "Gardez à l’esprit les informations suivantes sur le monde:" + +#: ../../section1/section1.rst:38 +msgid "" +"Karel starts facing east at (1, 1) with an infinite number of beepers in its " +"beeper bag." +msgstr "" +"Karel commence face à l’est à (1, 1) avec un nombre infini de bips dans son " +"sac de beeper." + +#: ../../section1/section1.rst:39 +msgid "" +"The beepers indicating the positions at which houses should be built will be " +"spaced so that there is room to build the houses without overlapping or " +"hitting walls." +msgstr "" +"Les avertisseurs sonores indiquant les emplacements où les maisons doivent " +"être construites seront espacés de manière à ce qu’il y ait de la place pour " +"construire les maisons sans se chevaucher ou heurter les murs." + +#: ../../section1/section1.rst:40 +msgid "" +"Karel must end up facing east at the southeast corner of the world. Moreover, " +"Karel should not run into a wall if it builds a house that extends into that " +"final corner." +msgstr "" +"Karel doit finir face à l’est à l’angle sud-est du monde. De plus, Karel ne " +"devrait pas se heurter à un mur s’il construit une maison qui se prolonge " +"dans ce dernier coin." + +#: ../../section1/section1.rst:42 +msgid "" +"Write a program to implement the United Nations Karel project. Remember that " +"your program should work for any world that meets the above conditions." +msgstr "" +"Rédiger un programme pour mettre en œuvre le projet Karel des Nations Unies. " +"N’oubliez pas que votre programme devrait fonctionner pour tout monde qui " +"remplit les conditions ci-dessus." From 11b65cfc7eb47357435f4bd0c57de52bc1b5703c Mon Sep 17 00:00:00 2001 From: Sam Redmond Date: Mon, 13 Apr 2020 13:40:28 -0700 Subject: [PATCH 5/6] Adds handout autogeneration script and documentation. The `makedoc.sh` script will make HTML and PDF versions of the handouts in all languages it knows about and store the output in `handouts-html` and `handouts-pdf`. It's a pretty janky script though, so manually check the output before committing. The README contains instructions for handling translations and building to multiple languages. --- README.md | 89 ++++++++++++++++++++++++++++++++++++++++++++++++++++ makedoc.sh | 40 +++++++++++++++++++++++ updatepot.sh | 3 ++ 3 files changed, 132 insertions(+) create mode 100644 README.md create mode 100755 makedoc.sh create mode 100755 updatepot.sh diff --git a/README.md b/README.md new file mode 100644 index 0000000..07e085f --- /dev/null +++ b/README.md @@ -0,0 +1,89 @@ +Section Handouts (Code in Place 2020) +===================================== + +[Code in Place](compedu.stanford.edu/codeinplace/v1/#/) is community-service coding education in the time of Covid-19. + +Looking for Section Handouts? +----------------------------- + +Click on any of the following links to go directly to the handout for your section. + +*ENGLISH* + +- Section 1: United Nations Karel + +*ESPAÑOL* + +- Section 1: United Nations Karel + +*FRANÇAIS* + +- Section 1: United Nations Karel + +*DEUTSCHE* + +- Section 1: United Nations Karel + +Want to help with translations? +------------------------------- +Code in Place is fortunate to have students from several countries who speak several languages. + +If you have the time, energy, and capacity, we would appreciate additional translations. To add a translation, modify a `.po` file in the `locale/` directory. Ideally, use a po-editor to help with formatting. Please be careful not to break reST notation. + +Eventually, if desired, we'll move the open-source translation to Transifex [3], which is a friendlier interface for crowd-sourced translations. + +**If you're a Code in Place student, you can stop reading now.** + +What's up with Sphinx? +---------------------- +Sphinx [1] is "a tool that makes it easy to create intelligent and beautiful +documentation" commonly used for writing about and documenting Python code. +It also has nice support for internationalization [2]. + +Preparing Documentation for Another Language +-------------------------------------------- + +First, hop into your virtual environment and install `sphinx` and `sphinx-intl`: + +``` +(venv) $ python3 -m pip install sphinx sphinx-intl +``` + +Make translation files for your target languages: + +```bash +$ make gettext # Extract translatable messages into pot files. +$ sphinx-intl update -p _build/gettext -l es -l de -l fr # Generate `po` files from those `pot` files. +``` + +Then, somehow, the `.po` files need to be translated. + +Once the `.po` files contain translations, we'll build the documentation in your desired language. For example, to build HTML documentation in Spanish, use: + +```bash +$ make -e SPHINXOPTS="-D language='es'" html +``` + +To build PDF handouts, use: + +```bash +$ make -e SPHINXOPTS="-D language='es'" latexpdf +``` + +That's pretty tough to remember, and each new language overwrites the old build output, so instead, use `makedoc.sh`. + +``` +$ ./makedoc.sh +``` + +It builds all of the documentation in HTML and PDF format and brings the build output to `handouts-html` and `handouts-pdf`. + +Remember, whenever you add a new handout or change the existing documents, you need to update the PO files with the new content: + +```bash +$ sphinx-intl update -p _build/gettext +``` + +[1]: https://www.sphinx-doc.org/ +[2]: http://www.sphinx-doc.org/en/master/usage/advanced/intl.html +[3]: http://www.sphinx-doc.org/en/master/usage/advanced/intl.html#using-transifex-service-for-team-translation \ No newline at end of file diff --git a/makedoc.sh b/makedoc.sh new file mode 100755 index 0000000..c16b026 --- /dev/null +++ b/makedoc.sh @@ -0,0 +1,40 @@ +#!/bin/bash +# Make HTML and PDF documentation in each language and save the build output. +# This script is pretty janky - after using it, it's a good idea to inspect +# the output manually for sanity. + +readonly HTML_FOLDER="handouts-html" +readonly PDF_FOLDER="handouts-pdf" +readonly BUILD_FOLDER="_build" + +# Make sure we're working from a clean build folder, since many tools (LaTeX +# in particular) leave crumbs behind. +make clean + +# Make handouts in English. +make html +mkdir -p "${HTML_FOLDER}/en/" +cp -r "${BUILD_FOLDER}/html/_static" "${HTML_FOLDER}/en/" + +make latexpdf +mkdir -p "${PDF_FOLDER}/en/" +find "${BUILD_FOLDER}/latex" -iname "*.pdf" -exec cp {} "${PDF_FOLDER}/en/" \; + +make clean + +# Make handouts in other languages. +for LANGUAGE in locale/*; do + LC="${LANGUAGE##*/}" # Get just the basename. + + # Make HTML documentation. + make -e SPHINXOPTS="-D language='${LC}'" html + mkdir -p "${HTML_FOLDER}/${LC}/" + cp -r "${BUILD_FOLDER}/html" "${HTML_FOLDER}/${LC}/" + + # Make PDF documentation. + make -e SPHINXOPTS="-D language='${LC}'" latexpdf + mkdir -p "${PDF_FOLDER}/${LC}/" + find "${BUILD_FOLDER}/latex" -iname "*.pdf" -exec cp {} "${PDF_FOLDER}/${LC}/" \; + + make clean +done \ No newline at end of file diff --git a/updatepot.sh b/updatepot.sh new file mode 100755 index 0000000..405f3b1 --- /dev/null +++ b/updatepot.sh @@ -0,0 +1,3 @@ +#!/bin/bash +# Can't remember the sphinx-intl command to update POT files? Look no further. +sphinx-intl update -p "_build/gettext" \ No newline at end of file From 55e98181f8379cd084899d53517515945ad00d98 Mon Sep 17 00:00:00 2001 From: Sam Redmond Date: Mon, 13 Apr 2020 13:46:29 -0700 Subject: [PATCH 6/6] Adds built PDF and HTML output for sections for each language. The PDFs can be found at: * `handouts-pdf/de/Section1.pdf` * `handouts-pdf/en/Section1.pdf` * `handouts-pdf/es/Section1.pdf` * `handouts-pdf/fr/Section1.pdf` The HTML files can be found at: * handouts-html/de/html/section1/section1.html * handouts-html/en/html/section1/section1.html * handouts-html/es/html/section1/section1.html * handouts-html/fr/html/section1/section1.html Admittedly, there's a lot of HTML garbage floating around and it would be nice to find a way to clean that all up. --- handouts-html/de/html/.buildinfo | 4 + handouts-html/de/html/_images/final.png | Bin 0 -> 186472 bytes handouts-html/de/html/_images/house.png | Bin 0 -> 45096 bytes handouts-html/de/html/_images/initial.png | Bin 0 -> 119518 bytes handouts-html/de/html/_sources/index.rst.txt | 16 + .../html/_sources/section1/section1.rst.txt | 42 + handouts-html/de/html/_static/_stemmer.js | 2506 ++++ handouts-html/de/html/_static/alabaster.css | 701 + handouts-html/de/html/_static/basic.css | 768 ++ handouts-html/de/html/_static/custom.css | 1 + handouts-html/de/html/_static/doctools.js | 315 + .../de/html/_static/documentation_options.js | 12 + handouts-html/de/html/_static/file.png | Bin 0 -> 286 bytes handouts-html/de/html/_static/jquery-3.4.1.js | 10598 ++++++++++++++++ handouts-html/de/html/_static/jquery.js | 2 + .../de/html/_static/language_data.js | 118 + handouts-html/de/html/_static/minus.png | Bin 0 -> 90 bytes handouts-html/de/html/_static/plus.png | Bin 0 -> 90 bytes handouts-html/de/html/_static/pygments.css | 77 + handouts-html/de/html/_static/searchtools.js | 515 + handouts-html/de/html/_static/translations.js | 1 + .../de/html/_static/underscore-1.3.1.js | 999 ++ handouts-html/de/html/_static/underscore.js | 31 + handouts-html/de/html/genindex.html | 106 + handouts-html/de/html/index.html | 113 + handouts-html/de/html/objects.inv | Bin 0 -> 323 bytes handouts-html/de/html/search.html | 113 + handouts-html/de/html/searchindex.js | 1 + handouts-html/de/html/section1/section1.html | 125 + handouts-html/en/_static/alabaster.css | 701 + handouts-html/en/_static/basic.css | 768 ++ handouts-html/en/_static/custom.css | 1 + handouts-html/en/_static/doctools.js | 315 + .../en/_static/documentation_options.js | 12 + handouts-html/en/_static/file.png | Bin 0 -> 286 bytes handouts-html/en/_static/jquery-3.4.1.js | 10598 ++++++++++++++++ handouts-html/en/_static/jquery.js | 2 + handouts-html/en/_static/language_data.js | 297 + handouts-html/en/_static/minus.png | Bin 0 -> 90 bytes handouts-html/en/_static/plus.png | Bin 0 -> 90 bytes handouts-html/en/_static/pygments.css | 77 + handouts-html/en/_static/searchtools.js | 515 + handouts-html/en/_static/underscore-1.3.1.js | 999 ++ handouts-html/en/_static/underscore.js | 31 + handouts-html/es/html/.buildinfo | 4 + handouts-html/es/html/_images/final.png | Bin 0 -> 186472 bytes handouts-html/es/html/_images/house.png | Bin 0 -> 45096 bytes handouts-html/es/html/_images/initial.png | Bin 0 -> 119518 bytes handouts-html/es/html/_sources/index.rst.txt | 16 + .../html/_sources/section1/section1.rst.txt | 42 + handouts-html/es/html/_static/_stemmer.js | 2938 +++++ handouts-html/es/html/_static/alabaster.css | 701 + handouts-html/es/html/_static/basic.css | 768 ++ handouts-html/es/html/_static/custom.css | 1 + handouts-html/es/html/_static/doctools.js | 315 + .../es/html/_static/documentation_options.js | 12 + handouts-html/es/html/_static/file.png | Bin 0 -> 286 bytes handouts-html/es/html/_static/jquery-3.4.1.js | 10598 ++++++++++++++++ handouts-html/es/html/_static/jquery.js | 2 + .../es/html/_static/language_data.js | 118 + handouts-html/es/html/_static/minus.png | Bin 0 -> 90 bytes handouts-html/es/html/_static/plus.png | Bin 0 -> 90 bytes handouts-html/es/html/_static/pygments.css | 77 + handouts-html/es/html/_static/searchtools.js | 515 + handouts-html/es/html/_static/translations.js | 1 + .../es/html/_static/underscore-1.3.1.js | 999 ++ handouts-html/es/html/_static/underscore.js | 31 + handouts-html/es/html/genindex.html | 106 + handouts-html/es/html/index.html | 113 + handouts-html/es/html/objects.inv | Bin 0 -> 330 bytes handouts-html/es/html/search.html | 114 + handouts-html/es/html/searchindex.js | 1 + handouts-html/es/html/section1/section1.html | 125 + handouts-html/fr/html/.buildinfo | 4 + handouts-html/fr/html/_images/final.png | Bin 0 -> 186472 bytes handouts-html/fr/html/_images/house.png | Bin 0 -> 45096 bytes handouts-html/fr/html/_images/initial.png | Bin 0 -> 119518 bytes handouts-html/fr/html/_sources/index.rst.txt | 16 + .../html/_sources/section1/section1.rst.txt | 42 + handouts-html/fr/html/_static/_stemmer.js | 3667 ++++++ handouts-html/fr/html/_static/alabaster.css | 701 + handouts-html/fr/html/_static/basic.css | 768 ++ handouts-html/fr/html/_static/custom.css | 1 + handouts-html/fr/html/_static/doctools.js | 315 + .../fr/html/_static/documentation_options.js | 12 + handouts-html/fr/html/_static/file.png | Bin 0 -> 286 bytes handouts-html/fr/html/_static/jquery-3.4.1.js | 10598 ++++++++++++++++ handouts-html/fr/html/_static/jquery.js | 2 + .../fr/html/_static/language_data.js | 118 + handouts-html/fr/html/_static/minus.png | Bin 0 -> 90 bytes handouts-html/fr/html/_static/plus.png | Bin 0 -> 90 bytes handouts-html/fr/html/_static/pygments.css | 77 + handouts-html/fr/html/_static/searchtools.js | 515 + handouts-html/fr/html/_static/translations.js | 1 + .../fr/html/_static/underscore-1.3.1.js | 999 ++ handouts-html/fr/html/_static/underscore.js | 31 + handouts-html/fr/html/genindex.html | 106 + handouts-html/fr/html/index.html | 113 + handouts-html/fr/html/objects.inv | 6 + handouts-html/fr/html/search.html | 113 + handouts-html/fr/html/searchindex.js | 1 + handouts-html/fr/html/section1/section1.html | 125 + handouts-pdf/de/Section1.pdf | Bin 0 -> 301174 bytes handouts-pdf/en/Section1.pdf | Bin 0 -> 299755 bytes handouts-pdf/es/Section1.pdf | Bin 0 -> 300321 bytes handouts-pdf/fr/Section1.pdf | Bin 0 -> 300676 bytes 106 files changed, 67408 insertions(+) create mode 100644 handouts-html/de/html/.buildinfo create mode 100644 handouts-html/de/html/_images/final.png create mode 100644 handouts-html/de/html/_images/house.png create mode 100644 handouts-html/de/html/_images/initial.png create mode 100644 handouts-html/de/html/_sources/index.rst.txt create mode 100644 handouts-html/de/html/_sources/section1/section1.rst.txt create mode 100644 handouts-html/de/html/_static/_stemmer.js create mode 100644 handouts-html/de/html/_static/alabaster.css create mode 100644 handouts-html/de/html/_static/basic.css create mode 100644 handouts-html/de/html/_static/custom.css create mode 100644 handouts-html/de/html/_static/doctools.js create mode 100644 handouts-html/de/html/_static/documentation_options.js create mode 100644 handouts-html/de/html/_static/file.png create mode 100644 handouts-html/de/html/_static/jquery-3.4.1.js create mode 100644 handouts-html/de/html/_static/jquery.js create mode 100644 handouts-html/de/html/_static/language_data.js create mode 100644 handouts-html/de/html/_static/minus.png create mode 100644 handouts-html/de/html/_static/plus.png create mode 100644 handouts-html/de/html/_static/pygments.css create mode 100644 handouts-html/de/html/_static/searchtools.js create mode 100644 handouts-html/de/html/_static/translations.js create mode 100644 handouts-html/de/html/_static/underscore-1.3.1.js create mode 100644 handouts-html/de/html/_static/underscore.js create mode 100644 handouts-html/de/html/genindex.html create mode 100644 handouts-html/de/html/index.html create mode 100644 handouts-html/de/html/objects.inv create mode 100644 handouts-html/de/html/search.html create mode 100644 handouts-html/de/html/searchindex.js create mode 100644 handouts-html/de/html/section1/section1.html create mode 100644 handouts-html/en/_static/alabaster.css create mode 100644 handouts-html/en/_static/basic.css create mode 100644 handouts-html/en/_static/custom.css create mode 100644 handouts-html/en/_static/doctools.js create mode 100644 handouts-html/en/_static/documentation_options.js create mode 100644 handouts-html/en/_static/file.png create mode 100644 handouts-html/en/_static/jquery-3.4.1.js create mode 100644 handouts-html/en/_static/jquery.js create mode 100644 handouts-html/en/_static/language_data.js create mode 100644 handouts-html/en/_static/minus.png create mode 100644 handouts-html/en/_static/plus.png create mode 100644 handouts-html/en/_static/pygments.css create mode 100644 handouts-html/en/_static/searchtools.js create mode 100644 handouts-html/en/_static/underscore-1.3.1.js create mode 100644 handouts-html/en/_static/underscore.js create mode 100644 handouts-html/es/html/.buildinfo create mode 100644 handouts-html/es/html/_images/final.png create mode 100644 handouts-html/es/html/_images/house.png create mode 100644 handouts-html/es/html/_images/initial.png create mode 100644 handouts-html/es/html/_sources/index.rst.txt create mode 100644 handouts-html/es/html/_sources/section1/section1.rst.txt create mode 100644 handouts-html/es/html/_static/_stemmer.js create mode 100644 handouts-html/es/html/_static/alabaster.css create mode 100644 handouts-html/es/html/_static/basic.css create mode 100644 handouts-html/es/html/_static/custom.css create mode 100644 handouts-html/es/html/_static/doctools.js create mode 100644 handouts-html/es/html/_static/documentation_options.js create mode 100644 handouts-html/es/html/_static/file.png create mode 100644 handouts-html/es/html/_static/jquery-3.4.1.js create mode 100644 handouts-html/es/html/_static/jquery.js create mode 100644 handouts-html/es/html/_static/language_data.js create mode 100644 handouts-html/es/html/_static/minus.png create mode 100644 handouts-html/es/html/_static/plus.png create mode 100644 handouts-html/es/html/_static/pygments.css create mode 100644 handouts-html/es/html/_static/searchtools.js create mode 100644 handouts-html/es/html/_static/translations.js create mode 100644 handouts-html/es/html/_static/underscore-1.3.1.js create mode 100644 handouts-html/es/html/_static/underscore.js create mode 100644 handouts-html/es/html/genindex.html create mode 100644 handouts-html/es/html/index.html create mode 100644 handouts-html/es/html/objects.inv create mode 100644 handouts-html/es/html/search.html create mode 100644 handouts-html/es/html/searchindex.js create mode 100644 handouts-html/es/html/section1/section1.html create mode 100644 handouts-html/fr/html/.buildinfo create mode 100644 handouts-html/fr/html/_images/final.png create mode 100644 handouts-html/fr/html/_images/house.png create mode 100644 handouts-html/fr/html/_images/initial.png create mode 100644 handouts-html/fr/html/_sources/index.rst.txt create mode 100644 handouts-html/fr/html/_sources/section1/section1.rst.txt create mode 100644 handouts-html/fr/html/_static/_stemmer.js create mode 100644 handouts-html/fr/html/_static/alabaster.css create mode 100644 handouts-html/fr/html/_static/basic.css create mode 100644 handouts-html/fr/html/_static/custom.css create mode 100644 handouts-html/fr/html/_static/doctools.js create mode 100644 handouts-html/fr/html/_static/documentation_options.js create mode 100644 handouts-html/fr/html/_static/file.png create mode 100644 handouts-html/fr/html/_static/jquery-3.4.1.js create mode 100644 handouts-html/fr/html/_static/jquery.js create mode 100644 handouts-html/fr/html/_static/language_data.js create mode 100644 handouts-html/fr/html/_static/minus.png create mode 100644 handouts-html/fr/html/_static/plus.png create mode 100644 handouts-html/fr/html/_static/pygments.css create mode 100644 handouts-html/fr/html/_static/searchtools.js create mode 100644 handouts-html/fr/html/_static/translations.js create mode 100644 handouts-html/fr/html/_static/underscore-1.3.1.js create mode 100644 handouts-html/fr/html/_static/underscore.js create mode 100644 handouts-html/fr/html/genindex.html create mode 100644 handouts-html/fr/html/index.html create mode 100644 handouts-html/fr/html/objects.inv create mode 100644 handouts-html/fr/html/search.html create mode 100644 handouts-html/fr/html/searchindex.js create mode 100644 handouts-html/fr/html/section1/section1.html create mode 100644 handouts-pdf/de/Section1.pdf create mode 100644 handouts-pdf/en/Section1.pdf create mode 100644 handouts-pdf/es/Section1.pdf create mode 100644 handouts-pdf/fr/Section1.pdf diff --git a/handouts-html/de/html/.buildinfo b/handouts-html/de/html/.buildinfo new file mode 100644 index 0000000..69c9f6b --- /dev/null +++ b/handouts-html/de/html/.buildinfo @@ -0,0 +1,4 @@ +# Sphinx build info version 1 +# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. +config: db5fd44929727d1086e4772300c5ab81 +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/handouts-html/de/html/_images/final.png b/handouts-html/de/html/_images/final.png new file mode 100644 index 0000000000000000000000000000000000000000..4439ac7383f5337570fad016473200b78b80f18e GIT binary patch literal 186472 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

UXh-5|X7JCV;lYHD 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�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�B; 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 literal 0 HcmV?d00001 diff --git a/handouts-html/de/html/_images/house.png b/handouts-html/de/html/_images/house.png new file mode 100644 index 0000000000000000000000000000000000000000..0fec0f53bf832c802caf288184120f510669670f GIT binary patch literal 45096 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

lpcO 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≪?Y-UP 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

^& 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 literal 0 HcmV?d00001 diff --git a/handouts-html/de/html/_sources/index.rst.txt b/handouts-html/de/html/_sources/index.rst.txt new file mode 100644 index 0000000..68f0a9d --- /dev/null +++ b/handouts-html/de/html/_sources/index.rst.txt @@ -0,0 +1,16 @@ +.. Code in Place Section Handouts (2020) documentation master file, created by + sphinx-quickstart on Sat Apr 11 19:14:41 2020. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +======================================= +Section Handouts for Code in Place 2020 +======================================= + +.. toctree:: + :maxdepth: 2 + :caption: Handouts: + :titlesonly: + :glob: + + section*/section* diff --git a/handouts-html/de/html/_sources/section1/section1.rst.txt b/handouts-html/de/html/_sources/section1/section1.rst.txt new file mode 100644 index 0000000..d3576ef --- /dev/null +++ b/handouts-html/de/html/_sources/section1/section1.rst.txt @@ -0,0 +1,42 @@ +.. section1: + +================= +Section Handout 1 +================= + +******************** +United Nations Karel +******************** + +As part of its plans to help reconstruct infrastructure worldwide, the United Nations - that's right, the UN is using Karel - established a new program with the mission of dispatching house-building robots to repair flood-damaged areas. + +Your job is to program those robots. + +Each robot begins at the west end of a street that might look like this: + +.. image:: img/initial.png + :alt: Initial World Layout for United Nations Karel + :align: center + :width: 100% + +Each beeper in the figure represents a pile of debris. Karel's job is to walk along the street and build a new house in the places marked by each beeper. Those houses, moreover, need to be raised on stilts to avoid damage from the next flood. Each house, in fact, should look exactly like the picture below: + +.. image:: img/house.png + :alt: A House made out of Beepers + :align: center + :width: 20% + +The new house should be centered at the point at which the bit of debris was left, which means that the first house in the diagram above will be constructed with its left edge along 2nd Avenue. At the end of the run, Karel should be at the east end of the street having created a set of houses that look like this for the initial conditions shown: + +.. image:: img/final.png + :alt: Final world layout for United Nations Karel + :align: center + :width: 100% + +Keep in mind the following information about the world: + +* Karel starts facing east at (1, 1) with an infinite number of beepers in its beeper bag. +* The beepers indicating the positions at which houses should be built will be spaced so that there is room to build the houses without overlapping or hitting walls. +* Karel must end up facing east at the southeast corner of the world. Moreover, Karel should not run into a wall if it builds a house that extends into that final corner. + +Write a program to implement the United Nations Karel project. Remember that your program should work for any world that meets the above conditions. diff --git a/handouts-html/de/html/_static/_stemmer.js b/handouts-html/de/html/_static/_stemmer.js new file mode 100644 index 0000000..4f1dc1c --- /dev/null +++ b/handouts-html/de/html/_static/_stemmer.js @@ -0,0 +1,2506 @@ +// generatedy by JSX compiler 0.9.89 (2014-05-20 06:01:03 +0900; 8e8c6105f36f3dfe440ea026a3c93a3444977102) +var JSX = {}; +(function (JSX) { +/** + * extends the class + */ +function $__jsx_extend(derivations, base) { + var ctor = function () {}; + ctor.prototype = base.prototype; + var proto = new ctor(); + for (var i in derivations) { + derivations[i].prototype = proto; + } +} + +/** + * copies the implementations from source interface to target + */ +function $__jsx_merge_interface(target, source) { + for (var k in source.prototype) + if (source.prototype.hasOwnProperty(k)) + target.prototype[k] = source.prototype[k]; +} + +/** + * defers the initialization of the property + */ +function $__jsx_lazy_init(obj, prop, func) { + function reset(obj, prop, value) { + delete obj[prop]; + obj[prop] = value; + return value; + } + + Object.defineProperty(obj, prop, { + get: function () { + return reset(obj, prop, func()); + }, + set: function (v) { + reset(obj, prop, v); + }, + enumerable: true, + configurable: true + }); +} + +var $__jsx_imul = Math.imul; +if (typeof $__jsx_imul === "undefined") { + $__jsx_imul = function (a, b) { + var ah = (a >>> 16) & 0xffff; + var al = a & 0xffff; + var bh = (b >>> 16) & 0xffff; + var bl = b & 0xffff; + return ((al * bl) + (((ah * bl + al * bh) << 16) >>> 0)|0); + }; +} + +/** + * fused int-ops with side-effects + */ +function $__jsx_ipadd(o, p, r) { + return o[p] = (o[p] + r) | 0; +} +function $__jsx_ipsub(o, p, r) { + return o[p] = (o[p] - r) | 0; +} +function $__jsx_ipmul(o, p, r) { + return o[p] = $__jsx_imul(o[p], r); +} +function $__jsx_ipdiv(o, p, r) { + return o[p] = (o[p] / r) | 0; +} +function $__jsx_ipmod(o, p, r) { + return o[p] = (o[p] % r) | 0; +} +function $__jsx_ippostinc(o, p) { + var v = o[p]; + o[p] = (v + 1) | 0; + return v; +} +function $__jsx_ippostdec(o, p) { + var v = o[p]; + o[p] = (v - 1) | 0; + return v; +} + +/** + * non-inlined version of Array#each + */ +function $__jsx_forEach(o, f) { + var l = o.length; + for (var i = 0; i < l; ++i) + f(o[i]); +} + +/* + * global functions, renamed to avoid conflict with local variable names + */ +var $__jsx_parseInt = parseInt; +var $__jsx_parseFloat = parseFloat; +function $__jsx_isNaN(n) { return n !== n; } +var $__jsx_isFinite = isFinite; + +var $__jsx_encodeURIComponent = encodeURIComponent; +var $__jsx_decodeURIComponent = decodeURIComponent; +var $__jsx_encodeURI = encodeURI; +var $__jsx_decodeURI = decodeURI; + +var $__jsx_ObjectToString = Object.prototype.toString; +var $__jsx_ObjectHasOwnProperty = Object.prototype.hasOwnProperty; + +/* + * profiler object, initialized afterwards + */ +function $__jsx_profiler() { +} + +/* + * public interface to JSX code + */ +JSX.require = function (path) { + var m = $__jsx_classMap[path]; + return m !== undefined ? m : null; +}; + +JSX.profilerIsRunning = function () { + return $__jsx_profiler.getResults != null; +}; + +JSX.getProfileResults = function () { + return ($__jsx_profiler.getResults || function () { return {}; })(); +}; + +JSX.postProfileResults = function (url, cb) { + if ($__jsx_profiler.postResults == null) + throw new Error("profiler has not been turned on"); + return $__jsx_profiler.postResults(url, cb); +}; + +JSX.resetProfileResults = function () { + if ($__jsx_profiler.resetResults == null) + throw new Error("profiler has not been turned on"); + return $__jsx_profiler.resetResults(); +}; +JSX.DEBUG = false; +var GeneratorFunction$0 = +(function () { + try { + return Function('import {GeneratorFunction} from "std:iteration"; return GeneratorFunction')(); + } catch (e) { + return function GeneratorFunction () {}; + } +})(); +var __jsx_generator_object$0 = +(function () { + function __jsx_generator_object() { + this.__next = 0; + this.__loop = null; + this.__seed = null; + this.__value = undefined; + this.__status = 0; // SUSPENDED: 0, ACTIVE: 1, DEAD: 2 + } + + __jsx_generator_object.prototype.next = function (seed) { + switch (this.__status) { + case 0: + this.__status = 1; + this.__seed = seed; + + // go next! + this.__loop(this.__next); + + var done = false; + if (this.__next != -1) { + this.__status = 0; + } else { + this.__status = 2; + done = true; + } + return { value: this.__value, done: done }; + case 1: + throw new Error("Generator is already running"); + case 2: + throw new Error("Generator is already finished"); + default: + throw new Error("Unexpected generator internal state"); + } + }; + + return __jsx_generator_object; +}()); +function Among(s, substring_i, result) { + this.s_size = s.length; + this.s = s; + this.substring_i = substring_i; + this.result = result; + this.method = null; + this.instance = null; +}; + +function Among$0(s, substring_i, result, method, instance) { + this.s_size = s.length; + this.s = s; + this.substring_i = substring_i; + this.result = result; + this.method = method; + this.instance = instance; +}; + +$__jsx_extend([Among, Among$0], Object); +function Stemmer() { +}; + +$__jsx_extend([Stemmer], Object); +function BaseStemmer() { + var current$0; + var cursor$0; + var limit$0; + this.cache = ({ }); + current$0 = this.current = ""; + cursor$0 = this.cursor = 0; + limit$0 = this.limit = current$0.length; + this.limit_backward = 0; + this.bra = cursor$0; + this.ket = limit$0; +}; + +$__jsx_extend([BaseStemmer], Stemmer); +BaseStemmer.prototype.setCurrent$S = function (value) { + var current$0; + var cursor$0; + var limit$0; + current$0 = this.current = value; + cursor$0 = this.cursor = 0; + limit$0 = this.limit = current$0.length; + this.limit_backward = 0; + this.bra = cursor$0; + this.ket = limit$0; +}; + + +function BaseStemmer$setCurrent$LBaseStemmer$S($this, value) { + var current$0; + var cursor$0; + var limit$0; + current$0 = $this.current = value; + cursor$0 = $this.cursor = 0; + limit$0 = $this.limit = current$0.length; + $this.limit_backward = 0; + $this.bra = cursor$0; + $this.ket = limit$0; +}; + +BaseStemmer.setCurrent$LBaseStemmer$S = BaseStemmer$setCurrent$LBaseStemmer$S; + +BaseStemmer.prototype.getCurrent$ = function () { + return this.current; +}; + + +function BaseStemmer$getCurrent$LBaseStemmer$($this) { + return $this.current; +}; + +BaseStemmer.getCurrent$LBaseStemmer$ = BaseStemmer$getCurrent$LBaseStemmer$; + +BaseStemmer.prototype.copy_from$LBaseStemmer$ = function (other) { + this.current = other.current; + this.cursor = other.cursor; + this.limit = other.limit; + this.limit_backward = other.limit_backward; + this.bra = other.bra; + this.ket = other.ket; +}; + + +function BaseStemmer$copy_from$LBaseStemmer$LBaseStemmer$($this, other) { + $this.current = other.current; + $this.cursor = other.cursor; + $this.limit = other.limit; + $this.limit_backward = other.limit_backward; + $this.bra = other.bra; + $this.ket = other.ket; +}; + +BaseStemmer.copy_from$LBaseStemmer$LBaseStemmer$ = BaseStemmer$copy_from$LBaseStemmer$LBaseStemmer$; + +BaseStemmer.prototype.in_grouping$AIII = function (s, min, max) { + var ch; + var $__jsx_postinc_t; + if (this.cursor >= this.limit) { + return false; + } + ch = this.current.charCodeAt(this.cursor); + if (ch > max || ch < min) { + return false; + } + ch -= min; + if ((s[ch >>> 3] & 0x1 << (ch & 0x7)) === 0) { + return false; + } + ($__jsx_postinc_t = this.cursor, this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + return true; +}; + + +function BaseStemmer$in_grouping$LBaseStemmer$AIII($this, s, min, max) { + var ch; + var $__jsx_postinc_t; + if ($this.cursor >= $this.limit) { + return false; + } + ch = $this.current.charCodeAt($this.cursor); + if (ch > max || ch < min) { + return false; + } + ch -= min; + if ((s[ch >>> 3] & 0x1 << (ch & 0x7)) === 0) { + return false; + } + ($__jsx_postinc_t = $this.cursor, $this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + return true; +}; + +BaseStemmer.in_grouping$LBaseStemmer$AIII = BaseStemmer$in_grouping$LBaseStemmer$AIII; + +BaseStemmer.prototype.in_grouping_b$AIII = function (s, min, max) { + var ch; + var $__jsx_postinc_t; + if (this.cursor <= this.limit_backward) { + return false; + } + ch = this.current.charCodeAt(this.cursor - 1); + if (ch > max || ch < min) { + return false; + } + ch -= min; + if ((s[ch >>> 3] & 0x1 << (ch & 0x7)) === 0) { + return false; + } + ($__jsx_postinc_t = this.cursor, this.cursor = ($__jsx_postinc_t - 1) | 0, $__jsx_postinc_t); + return true; +}; + + +function BaseStemmer$in_grouping_b$LBaseStemmer$AIII($this, s, min, max) { + var ch; + var $__jsx_postinc_t; + if ($this.cursor <= $this.limit_backward) { + return false; + } + ch = $this.current.charCodeAt($this.cursor - 1); + if (ch > max || ch < min) { + return false; + } + ch -= min; + if ((s[ch >>> 3] & 0x1 << (ch & 0x7)) === 0) { + return false; + } + ($__jsx_postinc_t = $this.cursor, $this.cursor = ($__jsx_postinc_t - 1) | 0, $__jsx_postinc_t); + return true; +}; + +BaseStemmer.in_grouping_b$LBaseStemmer$AIII = BaseStemmer$in_grouping_b$LBaseStemmer$AIII; + +BaseStemmer.prototype.out_grouping$AIII = function (s, min, max) { + var ch; + var $__jsx_postinc_t; + if (this.cursor >= this.limit) { + return false; + } + ch = this.current.charCodeAt(this.cursor); + if (ch > max || ch < min) { + ($__jsx_postinc_t = this.cursor, this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + return true; + } + ch -= min; + if ((s[ch >>> 3] & 0X1 << (ch & 0x7)) === 0) { + ($__jsx_postinc_t = this.cursor, this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + return true; + } + return false; +}; + + +function BaseStemmer$out_grouping$LBaseStemmer$AIII($this, s, min, max) { + var ch; + var $__jsx_postinc_t; + if ($this.cursor >= $this.limit) { + return false; + } + ch = $this.current.charCodeAt($this.cursor); + if (ch > max || ch < min) { + ($__jsx_postinc_t = $this.cursor, $this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + return true; + } + ch -= min; + if ((s[ch >>> 3] & 0X1 << (ch & 0x7)) === 0) { + ($__jsx_postinc_t = $this.cursor, $this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + return true; + } + return false; +}; + +BaseStemmer.out_grouping$LBaseStemmer$AIII = BaseStemmer$out_grouping$LBaseStemmer$AIII; + +BaseStemmer.prototype.out_grouping_b$AIII = function (s, min, max) { + var ch; + var $__jsx_postinc_t; + if (this.cursor <= this.limit_backward) { + return false; + } + ch = this.current.charCodeAt(this.cursor - 1); + if (ch > max || ch < min) { + ($__jsx_postinc_t = this.cursor, this.cursor = ($__jsx_postinc_t - 1) | 0, $__jsx_postinc_t); + return true; + } + ch -= min; + if ((s[ch >>> 3] & 0x1 << (ch & 0x7)) === 0) { + ($__jsx_postinc_t = this.cursor, this.cursor = ($__jsx_postinc_t - 1) | 0, $__jsx_postinc_t); + return true; + } + return false; +}; + + +function BaseStemmer$out_grouping_b$LBaseStemmer$AIII($this, s, min, max) { + var ch; + var $__jsx_postinc_t; + if ($this.cursor <= $this.limit_backward) { + return false; + } + ch = $this.current.charCodeAt($this.cursor - 1); + if (ch > max || ch < min) { + ($__jsx_postinc_t = $this.cursor, $this.cursor = ($__jsx_postinc_t - 1) | 0, $__jsx_postinc_t); + return true; + } + ch -= min; + if ((s[ch >>> 3] & 0x1 << (ch & 0x7)) === 0) { + ($__jsx_postinc_t = $this.cursor, $this.cursor = ($__jsx_postinc_t - 1) | 0, $__jsx_postinc_t); + return true; + } + return false; +}; + +BaseStemmer.out_grouping_b$LBaseStemmer$AIII = BaseStemmer$out_grouping_b$LBaseStemmer$AIII; + +BaseStemmer.prototype.in_range$II = function (min, max) { + var ch; + var $__jsx_postinc_t; + if (this.cursor >= this.limit) { + return false; + } + ch = this.current.charCodeAt(this.cursor); + if (ch > max || ch < min) { + return false; + } + ($__jsx_postinc_t = this.cursor, this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + return true; +}; + + +function BaseStemmer$in_range$LBaseStemmer$II($this, min, max) { + var ch; + var $__jsx_postinc_t; + if ($this.cursor >= $this.limit) { + return false; + } + ch = $this.current.charCodeAt($this.cursor); + if (ch > max || ch < min) { + return false; + } + ($__jsx_postinc_t = $this.cursor, $this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + return true; +}; + +BaseStemmer.in_range$LBaseStemmer$II = BaseStemmer$in_range$LBaseStemmer$II; + +BaseStemmer.prototype.in_range_b$II = function (min, max) { + var ch; + var $__jsx_postinc_t; + if (this.cursor <= this.limit_backward) { + return false; + } + ch = this.current.charCodeAt(this.cursor - 1); + if (ch > max || ch < min) { + return false; + } + ($__jsx_postinc_t = this.cursor, this.cursor = ($__jsx_postinc_t - 1) | 0, $__jsx_postinc_t); + return true; +}; + + +function BaseStemmer$in_range_b$LBaseStemmer$II($this, min, max) { + var ch; + var $__jsx_postinc_t; + if ($this.cursor <= $this.limit_backward) { + return false; + } + ch = $this.current.charCodeAt($this.cursor - 1); + if (ch > max || ch < min) { + return false; + } + ($__jsx_postinc_t = $this.cursor, $this.cursor = ($__jsx_postinc_t - 1) | 0, $__jsx_postinc_t); + return true; +}; + +BaseStemmer.in_range_b$LBaseStemmer$II = BaseStemmer$in_range_b$LBaseStemmer$II; + +BaseStemmer.prototype.out_range$II = function (min, max) { + var ch; + var $__jsx_postinc_t; + if (this.cursor >= this.limit) { + return false; + } + ch = this.current.charCodeAt(this.cursor); + if (! (ch > max || ch < min)) { + return false; + } + ($__jsx_postinc_t = this.cursor, this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + return true; +}; + + +function BaseStemmer$out_range$LBaseStemmer$II($this, min, max) { + var ch; + var $__jsx_postinc_t; + if ($this.cursor >= $this.limit) { + return false; + } + ch = $this.current.charCodeAt($this.cursor); + if (! (ch > max || ch < min)) { + return false; + } + ($__jsx_postinc_t = $this.cursor, $this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + return true; +}; + +BaseStemmer.out_range$LBaseStemmer$II = BaseStemmer$out_range$LBaseStemmer$II; + +BaseStemmer.prototype.out_range_b$II = function (min, max) { + var ch; + var $__jsx_postinc_t; + if (this.cursor <= this.limit_backward) { + return false; + } + ch = this.current.charCodeAt(this.cursor - 1); + if (! (ch > max || ch < min)) { + return false; + } + ($__jsx_postinc_t = this.cursor, this.cursor = ($__jsx_postinc_t - 1) | 0, $__jsx_postinc_t); + return true; +}; + + +function BaseStemmer$out_range_b$LBaseStemmer$II($this, min, max) { + var ch; + var $__jsx_postinc_t; + if ($this.cursor <= $this.limit_backward) { + return false; + } + ch = $this.current.charCodeAt($this.cursor - 1); + if (! (ch > max || ch < min)) { + return false; + } + ($__jsx_postinc_t = $this.cursor, $this.cursor = ($__jsx_postinc_t - 1) | 0, $__jsx_postinc_t); + return true; +}; + +BaseStemmer.out_range_b$LBaseStemmer$II = BaseStemmer$out_range_b$LBaseStemmer$II; + +BaseStemmer.prototype.eq_s$IS = function (s_size, s) { + var cursor$0; + if (((this.limit - this.cursor) | 0) < s_size) { + return false; + } + if (this.current.slice(cursor$0 = this.cursor, ((cursor$0 + s_size) | 0)) !== s) { + return false; + } + this.cursor = (this.cursor + s_size) | 0; + return true; +}; + + +function BaseStemmer$eq_s$LBaseStemmer$IS($this, s_size, s) { + var cursor$0; + if ((($this.limit - $this.cursor) | 0) < s_size) { + return false; + } + if ($this.current.slice(cursor$0 = $this.cursor, ((cursor$0 + s_size) | 0)) !== s) { + return false; + } + $this.cursor = ($this.cursor + s_size) | 0; + return true; +}; + +BaseStemmer.eq_s$LBaseStemmer$IS = BaseStemmer$eq_s$LBaseStemmer$IS; + +BaseStemmer.prototype.eq_s_b$IS = function (s_size, s) { + var cursor$0; + if (((this.cursor - this.limit_backward) | 0) < s_size) { + return false; + } + if (this.current.slice((((cursor$0 = this.cursor) - s_size) | 0), cursor$0) !== s) { + return false; + } + this.cursor = (this.cursor - s_size) | 0; + return true; +}; + + +function BaseStemmer$eq_s_b$LBaseStemmer$IS($this, s_size, s) { + var cursor$0; + if ((($this.cursor - $this.limit_backward) | 0) < s_size) { + return false; + } + if ($this.current.slice((((cursor$0 = $this.cursor) - s_size) | 0), cursor$0) !== s) { + return false; + } + $this.cursor = ($this.cursor - s_size) | 0; + return true; +}; + +BaseStemmer.eq_s_b$LBaseStemmer$IS = BaseStemmer$eq_s_b$LBaseStemmer$IS; + +BaseStemmer.prototype.eq_v$S = function (s) { + return BaseStemmer$eq_s$LBaseStemmer$IS(this, s.length, s); +}; + + +function BaseStemmer$eq_v$LBaseStemmer$S($this, s) { + return BaseStemmer$eq_s$LBaseStemmer$IS($this, s.length, s); +}; + +BaseStemmer.eq_v$LBaseStemmer$S = BaseStemmer$eq_v$LBaseStemmer$S; + +BaseStemmer.prototype.eq_v_b$S = function (s) { + return BaseStemmer$eq_s_b$LBaseStemmer$IS(this, s.length, s); +}; + + +function BaseStemmer$eq_v_b$LBaseStemmer$S($this, s) { + return BaseStemmer$eq_s_b$LBaseStemmer$IS($this, s.length, s); +}; + +BaseStemmer.eq_v_b$LBaseStemmer$S = BaseStemmer$eq_v_b$LBaseStemmer$S; + +BaseStemmer.prototype.find_among$ALAmong$I = function (v, v_size) { + var i; + var j; + var c; + var l; + var common_i; + var common_j; + var first_key_inspected; + var k; + var diff; + var common; + var w; + var i2; + var res; + i = 0; + j = v_size; + c = this.cursor; + l = this.limit; + common_i = 0; + common_j = 0; + first_key_inspected = false; + while (true) { + k = i + (j - i >>> 1); + diff = 0; + common = (common_i < common_j ? common_i : common_j); + w = v[k]; + for (i2 = common; i2 < w.s_size; i2++) { + if (c + common === l) { + diff = -1; + break; + } + diff = this.current.charCodeAt(c + common) - w.s.charCodeAt(i2); + if (diff !== 0) { + break; + } + common++; + } + if (diff < 0) { + j = k; + common_j = common; + } else { + i = k; + common_i = common; + } + if (j - i <= 1) { + if (i > 0) { + break; + } + if (j === i) { + break; + } + if (first_key_inspected) { + break; + } + first_key_inspected = true; + } + } + while (true) { + w = v[i]; + if (common_i >= w.s_size) { + this.cursor = (c + w.s_size | 0); + if (w.method == null) { + return w.result; + } + res = w.method(w.instance); + this.cursor = (c + w.s_size | 0); + if (res) { + return w.result; + } + } + i = w.substring_i; + if (i < 0) { + return 0; + } + } + return -1; +}; + + +function BaseStemmer$find_among$LBaseStemmer$ALAmong$I($this, v, v_size) { + var i; + var j; + var c; + var l; + var common_i; + var common_j; + var first_key_inspected; + var k; + var diff; + var common; + var w; + var i2; + var res; + i = 0; + j = v_size; + c = $this.cursor; + l = $this.limit; + common_i = 0; + common_j = 0; + first_key_inspected = false; + while (true) { + k = i + (j - i >>> 1); + diff = 0; + common = (common_i < common_j ? common_i : common_j); + w = v[k]; + for (i2 = common; i2 < w.s_size; i2++) { + if (c + common === l) { + diff = -1; + break; + } + diff = $this.current.charCodeAt(c + common) - w.s.charCodeAt(i2); + if (diff !== 0) { + break; + } + common++; + } + if (diff < 0) { + j = k; + common_j = common; + } else { + i = k; + common_i = common; + } + if (j - i <= 1) { + if (i > 0) { + break; + } + if (j === i) { + break; + } + if (first_key_inspected) { + break; + } + first_key_inspected = true; + } + } + while (true) { + w = v[i]; + if (common_i >= w.s_size) { + $this.cursor = (c + w.s_size | 0); + if (w.method == null) { + return w.result; + } + res = w.method(w.instance); + $this.cursor = (c + w.s_size | 0); + if (res) { + return w.result; + } + } + i = w.substring_i; + if (i < 0) { + return 0; + } + } + return -1; +}; + +BaseStemmer.find_among$LBaseStemmer$ALAmong$I = BaseStemmer$find_among$LBaseStemmer$ALAmong$I; + +BaseStemmer.prototype.find_among_b$ALAmong$I = function (v, v_size) { + var i; + var j; + var c; + var lb; + var common_i; + var common_j; + var first_key_inspected; + var k; + var diff; + var common; + var w; + var i2; + var res; + i = 0; + j = v_size; + c = this.cursor; + lb = this.limit_backward; + common_i = 0; + common_j = 0; + first_key_inspected = false; + while (true) { + k = i + (j - i >> 1); + diff = 0; + common = (common_i < common_j ? common_i : common_j); + w = v[k]; + for (i2 = w.s_size - 1 - common; i2 >= 0; i2--) { + if (c - common === lb) { + diff = -1; + break; + } + diff = this.current.charCodeAt(c - 1 - common) - w.s.charCodeAt(i2); + if (diff !== 0) { + break; + } + common++; + } + if (diff < 0) { + j = k; + common_j = common; + } else { + i = k; + common_i = common; + } + if (j - i <= 1) { + if (i > 0) { + break; + } + if (j === i) { + break; + } + if (first_key_inspected) { + break; + } + first_key_inspected = true; + } + } + while (true) { + w = v[i]; + if (common_i >= w.s_size) { + this.cursor = (c - w.s_size | 0); + if (w.method == null) { + return w.result; + } + res = w.method(this); + this.cursor = (c - w.s_size | 0); + if (res) { + return w.result; + } + } + i = w.substring_i; + if (i < 0) { + return 0; + } + } + return -1; +}; + + +function BaseStemmer$find_among_b$LBaseStemmer$ALAmong$I($this, v, v_size) { + var i; + var j; + var c; + var lb; + var common_i; + var common_j; + var first_key_inspected; + var k; + var diff; + var common; + var w; + var i2; + var res; + i = 0; + j = v_size; + c = $this.cursor; + lb = $this.limit_backward; + common_i = 0; + common_j = 0; + first_key_inspected = false; + while (true) { + k = i + (j - i >> 1); + diff = 0; + common = (common_i < common_j ? common_i : common_j); + w = v[k]; + for (i2 = w.s_size - 1 - common; i2 >= 0; i2--) { + if (c - common === lb) { + diff = -1; + break; + } + diff = $this.current.charCodeAt(c - 1 - common) - w.s.charCodeAt(i2); + if (diff !== 0) { + break; + } + common++; + } + if (diff < 0) { + j = k; + common_j = common; + } else { + i = k; + common_i = common; + } + if (j - i <= 1) { + if (i > 0) { + break; + } + if (j === i) { + break; + } + if (first_key_inspected) { + break; + } + first_key_inspected = true; + } + } + while (true) { + w = v[i]; + if (common_i >= w.s_size) { + $this.cursor = (c - w.s_size | 0); + if (w.method == null) { + return w.result; + } + res = w.method($this); + $this.cursor = (c - w.s_size | 0); + if (res) { + return w.result; + } + } + i = w.substring_i; + if (i < 0) { + return 0; + } + } + return -1; +}; + +BaseStemmer.find_among_b$LBaseStemmer$ALAmong$I = BaseStemmer$find_among_b$LBaseStemmer$ALAmong$I; + +BaseStemmer.prototype.replace_s$IIS = function (c_bra, c_ket, s) { + var adjustment; + adjustment = ((s.length - (((c_ket - c_bra) | 0))) | 0); + this.current = this.current.slice(0, c_bra) + s + this.current.slice(c_ket); + this.limit = (this.limit + adjustment) | 0; + if (this.cursor >= c_ket) { + this.cursor = (this.cursor + adjustment) | 0; + } else if (this.cursor > c_bra) { + this.cursor = c_bra; + } + return (adjustment | 0); +}; + + +function BaseStemmer$replace_s$LBaseStemmer$IIS($this, c_bra, c_ket, s) { + var adjustment; + adjustment = ((s.length - (((c_ket - c_bra) | 0))) | 0); + $this.current = $this.current.slice(0, c_bra) + s + $this.current.slice(c_ket); + $this.limit = ($this.limit + adjustment) | 0; + if ($this.cursor >= c_ket) { + $this.cursor = ($this.cursor + adjustment) | 0; + } else if ($this.cursor > c_bra) { + $this.cursor = c_bra; + } + return (adjustment | 0); +}; + +BaseStemmer.replace_s$LBaseStemmer$IIS = BaseStemmer$replace_s$LBaseStemmer$IIS; + +BaseStemmer.prototype.slice_check$ = function () { + var bra$0; + var ket$0; + var limit$0; + return ((bra$0 = this.bra) < 0 || bra$0 > (ket$0 = this.ket) || ket$0 > (limit$0 = this.limit) || limit$0 > this.current.length ? false : true); +}; + + +function BaseStemmer$slice_check$LBaseStemmer$($this) { + var bra$0; + var ket$0; + var limit$0; + return ((bra$0 = $this.bra) < 0 || bra$0 > (ket$0 = $this.ket) || ket$0 > (limit$0 = $this.limit) || limit$0 > $this.current.length ? false : true); +}; + +BaseStemmer.slice_check$LBaseStemmer$ = BaseStemmer$slice_check$LBaseStemmer$; + +BaseStemmer.prototype.slice_from$S = function (s) { + var result; + var bra$0; + var ket$0; + var limit$0; + result = false; + if ((bra$0 = this.bra) < 0 || bra$0 > (ket$0 = this.ket) || ket$0 > (limit$0 = this.limit) || limit$0 > this.current.length ? false : true) { + BaseStemmer$replace_s$LBaseStemmer$IIS(this, this.bra, this.ket, s); + result = true; + } + return result; +}; + + +function BaseStemmer$slice_from$LBaseStemmer$S($this, s) { + var result; + var bra$0; + var ket$0; + var limit$0; + result = false; + if ((bra$0 = $this.bra) < 0 || bra$0 > (ket$0 = $this.ket) || ket$0 > (limit$0 = $this.limit) || limit$0 > $this.current.length ? false : true) { + BaseStemmer$replace_s$LBaseStemmer$IIS($this, $this.bra, $this.ket, s); + result = true; + } + return result; +}; + +BaseStemmer.slice_from$LBaseStemmer$S = BaseStemmer$slice_from$LBaseStemmer$S; + +BaseStemmer.prototype.slice_del$ = function () { + return BaseStemmer$slice_from$LBaseStemmer$S(this, ""); +}; + + +function BaseStemmer$slice_del$LBaseStemmer$($this) { + return BaseStemmer$slice_from$LBaseStemmer$S($this, ""); +}; + +BaseStemmer.slice_del$LBaseStemmer$ = BaseStemmer$slice_del$LBaseStemmer$; + +BaseStemmer.prototype.insert$IIS = function (c_bra, c_ket, s) { + var adjustment; + adjustment = BaseStemmer$replace_s$LBaseStemmer$IIS(this, c_bra, c_ket, s); + if (c_bra <= this.bra) { + this.bra = (this.bra + adjustment) | 0; + } + if (c_bra <= this.ket) { + this.ket = (this.ket + adjustment) | 0; + } +}; + + +function BaseStemmer$insert$LBaseStemmer$IIS($this, c_bra, c_ket, s) { + var adjustment; + adjustment = BaseStemmer$replace_s$LBaseStemmer$IIS($this, c_bra, c_ket, s); + if (c_bra <= $this.bra) { + $this.bra = ($this.bra + adjustment) | 0; + } + if (c_bra <= $this.ket) { + $this.ket = ($this.ket + adjustment) | 0; + } +}; + +BaseStemmer.insert$LBaseStemmer$IIS = BaseStemmer$insert$LBaseStemmer$IIS; + +BaseStemmer.prototype.slice_to$S = function (s) { + var result; + var bra$0; + var ket$0; + var limit$0; + result = ''; + if ((bra$0 = this.bra) < 0 || bra$0 > (ket$0 = this.ket) || ket$0 > (limit$0 = this.limit) || limit$0 > this.current.length ? false : true) { + result = this.current.slice(this.bra, this.ket); + } + return result; +}; + + +function BaseStemmer$slice_to$LBaseStemmer$S($this, s) { + var result; + var bra$0; + var ket$0; + var limit$0; + result = ''; + if ((bra$0 = $this.bra) < 0 || bra$0 > (ket$0 = $this.ket) || ket$0 > (limit$0 = $this.limit) || limit$0 > $this.current.length ? false : true) { + result = $this.current.slice($this.bra, $this.ket); + } + return result; +}; + +BaseStemmer.slice_to$LBaseStemmer$S = BaseStemmer$slice_to$LBaseStemmer$S; + +BaseStemmer.prototype.assign_to$S = function (s) { + return this.current.slice(0, this.limit); +}; + + +function BaseStemmer$assign_to$LBaseStemmer$S($this, s) { + return $this.current.slice(0, $this.limit); +}; + +BaseStemmer.assign_to$LBaseStemmer$S = BaseStemmer$assign_to$LBaseStemmer$S; + +BaseStemmer.prototype.stem$ = function () { + return false; +}; + + +BaseStemmer.prototype.stemWord$S = function (word) { + var result; + var current$0; + var cursor$0; + var limit$0; + result = this.cache['.' + word]; + if (result == null) { + current$0 = this.current = word; + cursor$0 = this.cursor = 0; + limit$0 = this.limit = current$0.length; + this.limit_backward = 0; + this.bra = cursor$0; + this.ket = limit$0; + this.stem$(); + result = this.current; + this.cache['.' + word] = result; + } + return result; +}; + +BaseStemmer.prototype.stemWord = BaseStemmer.prototype.stemWord$S; + +BaseStemmer.prototype.stemWords$AS = function (words) { + var results; + var i; + var word; + var result; + var current$0; + var cursor$0; + var limit$0; + results = [ ]; + for (i = 0; i < words.length; i++) { + word = words[i]; + result = this.cache['.' + word]; + if (result == null) { + current$0 = this.current = word; + cursor$0 = this.cursor = 0; + limit$0 = this.limit = current$0.length; + this.limit_backward = 0; + this.bra = cursor$0; + this.ket = limit$0; + this.stem$(); + result = this.current; + this.cache['.' + word] = result; + } + results.push(result); + } + return results; +}; + +BaseStemmer.prototype.stemWords = BaseStemmer.prototype.stemWords$AS; + +function GermanStemmer() { + BaseStemmer.call(this); + this.I_x = 0; + this.I_p2 = 0; + this.I_p1 = 0; +}; + +$__jsx_extend([GermanStemmer], BaseStemmer); +GermanStemmer.prototype.copy_from$LGermanStemmer$ = function (other) { + this.I_x = other.I_x; + this.I_p2 = other.I_p2; + this.I_p1 = other.I_p1; + BaseStemmer$copy_from$LBaseStemmer$LBaseStemmer$(this, other); +}; + +GermanStemmer.prototype.copy_from = GermanStemmer.prototype.copy_from$LGermanStemmer$; + +GermanStemmer.prototype.r_prelude$ = function () { + var v_1; + var v_2; + var v_3; + var v_4; + var v_5; + var v_6; + var lab1; + var lab2; + var lab3; + var lab5; + var lab7; + var lab8; + var lab9; + var cursor$0; + var cursor$1; + var $__jsx_postinc_t; + v_1 = this.cursor; +replab0: + while (true) { + v_2 = this.cursor; + lab1 = true; + lab1: + while (lab1 === true) { + lab1 = false; + lab2 = true; + lab2: + while (lab2 === true) { + lab2 = false; + v_3 = this.cursor; + lab3 = true; + lab3: + while (lab3 === true) { + lab3 = false; + this.bra = this.cursor; + if (! BaseStemmer$eq_s$LBaseStemmer$IS(this, 1, "\u00DF")) { + break lab3; + } + this.ket = this.cursor; + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "ss")) { + return false; + } + break lab2; + } + cursor$0 = this.cursor = v_3; + if (cursor$0 >= this.limit) { + break lab1; + } + ($__jsx_postinc_t = this.cursor, this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + } + continue replab0; + } + this.cursor = v_2; + break replab0; + } + this.cursor = v_1; +replab4: + while (true) { + v_4 = this.cursor; + lab5 = true; + lab5: + while (lab5 === true) { + lab5 = false; + golab6: + while (true) { + v_5 = this.cursor; + lab7 = true; + lab7: + while (lab7 === true) { + lab7 = false; + if (! BaseStemmer$in_grouping$LBaseStemmer$AIII(this, GermanStemmer.g_v, 97, 252)) { + break lab7; + } + this.bra = this.cursor; + lab8 = true; + lab8: + while (lab8 === true) { + lab8 = false; + v_6 = this.cursor; + lab9 = true; + lab9: + while (lab9 === true) { + lab9 = false; + if (! BaseStemmer$eq_s$LBaseStemmer$IS(this, 1, "u")) { + break lab9; + } + this.ket = this.cursor; + if (! BaseStemmer$in_grouping$LBaseStemmer$AIII(this, GermanStemmer.g_v, 97, 252)) { + break lab9; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "U")) { + return false; + } + break lab8; + } + this.cursor = v_6; + if (! BaseStemmer$eq_s$LBaseStemmer$IS(this, 1, "y")) { + break lab7; + } + this.ket = this.cursor; + if (! BaseStemmer$in_grouping$LBaseStemmer$AIII(this, GermanStemmer.g_v, 97, 252)) { + break lab7; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "Y")) { + return false; + } + } + this.cursor = v_5; + break golab6; + } + cursor$1 = this.cursor = v_5; + if (cursor$1 >= this.limit) { + break lab5; + } + ($__jsx_postinc_t = this.cursor, this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + } + continue replab4; + } + this.cursor = v_4; + break replab4; + } + return true; +}; + +GermanStemmer.prototype.r_prelude = GermanStemmer.prototype.r_prelude$; + +function GermanStemmer$r_prelude$LGermanStemmer$($this) { + var v_1; + var v_2; + var v_3; + var v_4; + var v_5; + var v_6; + var lab1; + var lab2; + var lab3; + var lab5; + var lab7; + var lab8; + var lab9; + var cursor$0; + var cursor$1; + var $__jsx_postinc_t; + v_1 = $this.cursor; +replab0: + while (true) { + v_2 = $this.cursor; + lab1 = true; + lab1: + while (lab1 === true) { + lab1 = false; + lab2 = true; + lab2: + while (lab2 === true) { + lab2 = false; + v_3 = $this.cursor; + lab3 = true; + lab3: + while (lab3 === true) { + lab3 = false; + $this.bra = $this.cursor; + if (! BaseStemmer$eq_s$LBaseStemmer$IS($this, 1, "\u00DF")) { + break lab3; + } + $this.ket = $this.cursor; + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "ss")) { + return false; + } + break lab2; + } + cursor$0 = $this.cursor = v_3; + if (cursor$0 >= $this.limit) { + break lab1; + } + ($__jsx_postinc_t = $this.cursor, $this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + } + continue replab0; + } + $this.cursor = v_2; + break replab0; + } + $this.cursor = v_1; +replab4: + while (true) { + v_4 = $this.cursor; + lab5 = true; + lab5: + while (lab5 === true) { + lab5 = false; + golab6: + while (true) { + v_5 = $this.cursor; + lab7 = true; + lab7: + while (lab7 === true) { + lab7 = false; + if (! BaseStemmer$in_grouping$LBaseStemmer$AIII($this, GermanStemmer.g_v, 97, 252)) { + break lab7; + } + $this.bra = $this.cursor; + lab8 = true; + lab8: + while (lab8 === true) { + lab8 = false; + v_6 = $this.cursor; + lab9 = true; + lab9: + while (lab9 === true) { + lab9 = false; + if (! BaseStemmer$eq_s$LBaseStemmer$IS($this, 1, "u")) { + break lab9; + } + $this.ket = $this.cursor; + if (! BaseStemmer$in_grouping$LBaseStemmer$AIII($this, GermanStemmer.g_v, 97, 252)) { + break lab9; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "U")) { + return false; + } + break lab8; + } + $this.cursor = v_6; + if (! BaseStemmer$eq_s$LBaseStemmer$IS($this, 1, "y")) { + break lab7; + } + $this.ket = $this.cursor; + if (! BaseStemmer$in_grouping$LBaseStemmer$AIII($this, GermanStemmer.g_v, 97, 252)) { + break lab7; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "Y")) { + return false; + } + } + $this.cursor = v_5; + break golab6; + } + cursor$1 = $this.cursor = v_5; + if (cursor$1 >= $this.limit) { + break lab5; + } + ($__jsx_postinc_t = $this.cursor, $this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + } + continue replab4; + } + $this.cursor = v_4; + break replab4; + } + return true; +}; + +GermanStemmer.r_prelude$LGermanStemmer$ = GermanStemmer$r_prelude$LGermanStemmer$; + +GermanStemmer.prototype.r_mark_regions$ = function () { + var v_1; + var c; + var lab1; + var lab3; + var lab4; + var lab6; + var lab8; + var limit$0; + var cursor$0; + var cursor$1; + var $__jsx_postinc_t; + this.I_p1 = limit$0 = this.limit; + this.I_p2 = limit$0; + v_1 = cursor$0 = this.cursor; + c = (cursor$0 + 3 | 0); + if (0 > c || c > limit$0) { + return false; + } + cursor$1 = this.cursor = c; + this.I_x = cursor$1; + this.cursor = v_1; +golab0: + while (true) { + lab1 = true; + lab1: + while (lab1 === true) { + lab1 = false; + if (! BaseStemmer$in_grouping$LBaseStemmer$AIII(this, GermanStemmer.g_v, 97, 252)) { + break lab1; + } + break golab0; + } + if (this.cursor >= this.limit) { + return false; + } + ($__jsx_postinc_t = this.cursor, this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + } +golab2: + while (true) { + lab3 = true; + lab3: + while (lab3 === true) { + lab3 = false; + if (! BaseStemmer$out_grouping$LBaseStemmer$AIII(this, GermanStemmer.g_v, 97, 252)) { + break lab3; + } + break golab2; + } + if (this.cursor >= this.limit) { + return false; + } + ($__jsx_postinc_t = this.cursor, this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + } + this.I_p1 = this.cursor; + lab4 = true; +lab4: + while (lab4 === true) { + lab4 = false; + if (! (this.I_p1 < this.I_x)) { + break lab4; + } + this.I_p1 = this.I_x; + } +golab5: + while (true) { + lab6 = true; + lab6: + while (lab6 === true) { + lab6 = false; + if (! BaseStemmer$in_grouping$LBaseStemmer$AIII(this, GermanStemmer.g_v, 97, 252)) { + break lab6; + } + break golab5; + } + if (this.cursor >= this.limit) { + return false; + } + ($__jsx_postinc_t = this.cursor, this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + } +golab7: + while (true) { + lab8 = true; + lab8: + while (lab8 === true) { + lab8 = false; + if (! BaseStemmer$out_grouping$LBaseStemmer$AIII(this, GermanStemmer.g_v, 97, 252)) { + break lab8; + } + break golab7; + } + if (this.cursor >= this.limit) { + return false; + } + ($__jsx_postinc_t = this.cursor, this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + } + this.I_p2 = this.cursor; + return true; +}; + +GermanStemmer.prototype.r_mark_regions = GermanStemmer.prototype.r_mark_regions$; + +function GermanStemmer$r_mark_regions$LGermanStemmer$($this) { + var v_1; + var c; + var lab1; + var lab3; + var lab4; + var lab6; + var lab8; + var limit$0; + var cursor$0; + var cursor$1; + var $__jsx_postinc_t; + $this.I_p1 = limit$0 = $this.limit; + $this.I_p2 = limit$0; + v_1 = cursor$0 = $this.cursor; + c = (cursor$0 + 3 | 0); + if (0 > c || c > limit$0) { + return false; + } + cursor$1 = $this.cursor = c; + $this.I_x = cursor$1; + $this.cursor = v_1; +golab0: + while (true) { + lab1 = true; + lab1: + while (lab1 === true) { + lab1 = false; + if (! BaseStemmer$in_grouping$LBaseStemmer$AIII($this, GermanStemmer.g_v, 97, 252)) { + break lab1; + } + break golab0; + } + if ($this.cursor >= $this.limit) { + return false; + } + ($__jsx_postinc_t = $this.cursor, $this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + } +golab2: + while (true) { + lab3 = true; + lab3: + while (lab3 === true) { + lab3 = false; + if (! BaseStemmer$out_grouping$LBaseStemmer$AIII($this, GermanStemmer.g_v, 97, 252)) { + break lab3; + } + break golab2; + } + if ($this.cursor >= $this.limit) { + return false; + } + ($__jsx_postinc_t = $this.cursor, $this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + } + $this.I_p1 = $this.cursor; + lab4 = true; +lab4: + while (lab4 === true) { + lab4 = false; + if (! ($this.I_p1 < $this.I_x)) { + break lab4; + } + $this.I_p1 = $this.I_x; + } +golab5: + while (true) { + lab6 = true; + lab6: + while (lab6 === true) { + lab6 = false; + if (! BaseStemmer$in_grouping$LBaseStemmer$AIII($this, GermanStemmer.g_v, 97, 252)) { + break lab6; + } + break golab5; + } + if ($this.cursor >= $this.limit) { + return false; + } + ($__jsx_postinc_t = $this.cursor, $this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + } +golab7: + while (true) { + lab8 = true; + lab8: + while (lab8 === true) { + lab8 = false; + if (! BaseStemmer$out_grouping$LBaseStemmer$AIII($this, GermanStemmer.g_v, 97, 252)) { + break lab8; + } + break golab7; + } + if ($this.cursor >= $this.limit) { + return false; + } + ($__jsx_postinc_t = $this.cursor, $this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + } + $this.I_p2 = $this.cursor; + return true; +}; + +GermanStemmer.r_mark_regions$LGermanStemmer$ = GermanStemmer$r_mark_regions$LGermanStemmer$; + +GermanStemmer.prototype.r_postlude$ = function () { + var among_var; + var v_1; + var lab1; + var $__jsx_postinc_t; +replab0: + while (true) { + v_1 = this.cursor; + lab1 = true; + lab1: + while (lab1 === true) { + lab1 = false; + this.bra = this.cursor; + among_var = BaseStemmer$find_among$LBaseStemmer$ALAmong$I(this, GermanStemmer.a_0, 6); + if (among_var === 0) { + break lab1; + } + this.ket = this.cursor; + switch (among_var) { + case 0: + break lab1; + case 1: + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "y")) { + return false; + } + break; + case 2: + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "u")) { + return false; + } + break; + case 3: + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "a")) { + return false; + } + break; + case 4: + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "o")) { + return false; + } + break; + case 5: + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "u")) { + return false; + } + break; + case 6: + if (this.cursor >= this.limit) { + break lab1; + } + ($__jsx_postinc_t = this.cursor, this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + break; + } + continue replab0; + } + this.cursor = v_1; + break replab0; + } + return true; +}; + +GermanStemmer.prototype.r_postlude = GermanStemmer.prototype.r_postlude$; + +function GermanStemmer$r_postlude$LGermanStemmer$($this) { + var among_var; + var v_1; + var lab1; + var $__jsx_postinc_t; +replab0: + while (true) { + v_1 = $this.cursor; + lab1 = true; + lab1: + while (lab1 === true) { + lab1 = false; + $this.bra = $this.cursor; + among_var = BaseStemmer$find_among$LBaseStemmer$ALAmong$I($this, GermanStemmer.a_0, 6); + if (among_var === 0) { + break lab1; + } + $this.ket = $this.cursor; + switch (among_var) { + case 0: + break lab1; + case 1: + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "y")) { + return false; + } + break; + case 2: + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "u")) { + return false; + } + break; + case 3: + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "a")) { + return false; + } + break; + case 4: + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "o")) { + return false; + } + break; + case 5: + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "u")) { + return false; + } + break; + case 6: + if ($this.cursor >= $this.limit) { + break lab1; + } + ($__jsx_postinc_t = $this.cursor, $this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + break; + } + continue replab0; + } + $this.cursor = v_1; + break replab0; + } + return true; +}; + +GermanStemmer.r_postlude$LGermanStemmer$ = GermanStemmer$r_postlude$LGermanStemmer$; + +GermanStemmer.prototype.r_R1$ = function () { + return (! (this.I_p1 <= this.cursor) ? false : true); +}; + +GermanStemmer.prototype.r_R1 = GermanStemmer.prototype.r_R1$; + +function GermanStemmer$r_R1$LGermanStemmer$($this) { + return (! ($this.I_p1 <= $this.cursor) ? false : true); +}; + +GermanStemmer.r_R1$LGermanStemmer$ = GermanStemmer$r_R1$LGermanStemmer$; + +GermanStemmer.prototype.r_R2$ = function () { + return (! (this.I_p2 <= this.cursor) ? false : true); +}; + +GermanStemmer.prototype.r_R2 = GermanStemmer.prototype.r_R2$; + +function GermanStemmer$r_R2$LGermanStemmer$($this) { + return (! ($this.I_p2 <= $this.cursor) ? false : true); +}; + +GermanStemmer.r_R2$LGermanStemmer$ = GermanStemmer$r_R2$LGermanStemmer$; + +GermanStemmer.prototype.r_standard_suffix$ = function () { + var among_var; + var v_1; + var v_2; + var v_3; + var v_4; + var v_5; + var v_6; + var v_7; + var v_8; + var v_9; + var v_10; + var lab0; + var lab1; + var lab2; + var c; + var lab3; + var lab4; + var lab5; + var lab6; + var lab7; + var lab8; + var lab9; + var lab10; + var cursor$0; + var cursor$1; + var limit$0; + var cursor$2; + var cursor$3; + var cursor$4; + var cursor$5; + var cursor$6; + var cursor$7; + var limit$1; + var cursor$8; + v_1 = ((this.limit - this.cursor) | 0); + lab0 = true; +lab0: + while (lab0 === true) { + lab0 = false; + this.ket = this.cursor; + among_var = BaseStemmer$find_among_b$LBaseStemmer$ALAmong$I(this, GermanStemmer.a_1, 7); + if (among_var === 0) { + break lab0; + } + this.bra = cursor$0 = this.cursor; + if (! (! (this.I_p1 <= cursor$0) ? false : true)) { + break lab0; + } + switch (among_var) { + case 0: + break lab0; + case 1: + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "")) { + return false; + } + break; + case 2: + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "")) { + return false; + } + v_2 = ((this.limit - this.cursor) | 0); + lab1 = true; + lab1: + while (lab1 === true) { + lab1 = false; + this.ket = this.cursor; + if (! BaseStemmer$eq_s_b$LBaseStemmer$IS(this, 1, "s")) { + this.cursor = ((this.limit - v_2) | 0); + break lab1; + } + this.bra = this.cursor; + if (! BaseStemmer$eq_s_b$LBaseStemmer$IS(this, 3, "nis")) { + this.cursor = ((this.limit - v_2) | 0); + break lab1; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "")) { + return false; + } + } + break; + case 3: + if (! BaseStemmer$in_grouping_b$LBaseStemmer$AIII(this, GermanStemmer.g_s_ending, 98, 116)) { + break lab0; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "")) { + return false; + } + break; + } + } + cursor$2 = this.cursor = (((limit$0 = this.limit) - v_1) | 0); + v_3 = ((limit$0 - cursor$2) | 0); + lab2 = true; +lab2: + while (lab2 === true) { + lab2 = false; + this.ket = this.cursor; + among_var = BaseStemmer$find_among_b$LBaseStemmer$ALAmong$I(this, GermanStemmer.a_2, 4); + if (among_var === 0) { + break lab2; + } + this.bra = cursor$1 = this.cursor; + if (! (! (this.I_p1 <= cursor$1) ? false : true)) { + break lab2; + } + switch (among_var) { + case 0: + break lab2; + case 1: + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "")) { + return false; + } + break; + case 2: + if (! BaseStemmer$in_grouping_b$LBaseStemmer$AIII(this, GermanStemmer.g_st_ending, 98, 116)) { + break lab2; + } + c = (this.cursor - 3 | 0); + if (this.limit_backward > c || c > this.limit) { + break lab2; + } + this.cursor = c; + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "")) { + return false; + } + break; + } + } + cursor$8 = this.cursor = (((limit$1 = this.limit) - v_3) | 0); + v_4 = ((limit$1 - cursor$8) | 0); + lab3 = true; +lab3: + while (lab3 === true) { + lab3 = false; + this.ket = this.cursor; + among_var = BaseStemmer$find_among_b$LBaseStemmer$ALAmong$I(this, GermanStemmer.a_4, 8); + if (among_var === 0) { + break lab3; + } + this.bra = cursor$3 = this.cursor; + if (! (! (this.I_p2 <= cursor$3) ? false : true)) { + break lab3; + } + switch (among_var) { + case 0: + break lab3; + case 1: + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "")) { + return false; + } + v_5 = ((this.limit - this.cursor) | 0); + lab4 = true; + lab4: + while (lab4 === true) { + lab4 = false; + this.ket = this.cursor; + if (! BaseStemmer$eq_s_b$LBaseStemmer$IS(this, 2, "ig")) { + this.cursor = ((this.limit - v_5) | 0); + break lab4; + } + this.bra = cursor$4 = this.cursor; + v_6 = ((this.limit - cursor$4) | 0); + lab5 = true; + lab5: + while (lab5 === true) { + lab5 = false; + if (! BaseStemmer$eq_s_b$LBaseStemmer$IS(this, 1, "e")) { + break lab5; + } + this.cursor = ((this.limit - v_5) | 0); + break lab4; + } + cursor$5 = this.cursor = ((this.limit - v_6) | 0); + if (! (! (this.I_p2 <= cursor$5) ? false : true)) { + this.cursor = ((this.limit - v_5) | 0); + break lab4; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "")) { + return false; + } + } + break; + case 2: + v_7 = ((this.limit - this.cursor) | 0); + lab6 = true; + lab6: + while (lab6 === true) { + lab6 = false; + if (! BaseStemmer$eq_s_b$LBaseStemmer$IS(this, 1, "e")) { + break lab6; + } + break lab3; + } + this.cursor = ((this.limit - v_7) | 0); + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "")) { + return false; + } + break; + case 3: + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "")) { + return false; + } + v_8 = ((this.limit - this.cursor) | 0); + lab7 = true; + lab7: + while (lab7 === true) { + lab7 = false; + this.ket = this.cursor; + lab8 = true; + lab8: + while (lab8 === true) { + lab8 = false; + v_9 = ((this.limit - this.cursor) | 0); + lab9 = true; + lab9: + while (lab9 === true) { + lab9 = false; + if (! BaseStemmer$eq_s_b$LBaseStemmer$IS(this, 2, "er")) { + break lab9; + } + break lab8; + } + this.cursor = ((this.limit - v_9) | 0); + if (! BaseStemmer$eq_s_b$LBaseStemmer$IS(this, 2, "en")) { + this.cursor = ((this.limit - v_8) | 0); + break lab7; + } + } + this.bra = cursor$6 = this.cursor; + if (! (! (this.I_p1 <= cursor$6) ? false : true)) { + this.cursor = ((this.limit - v_8) | 0); + break lab7; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "")) { + return false; + } + } + break; + case 4: + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "")) { + return false; + } + v_10 = ((this.limit - this.cursor) | 0); + lab10 = true; + lab10: + while (lab10 === true) { + lab10 = false; + this.ket = this.cursor; + among_var = BaseStemmer$find_among_b$LBaseStemmer$ALAmong$I(this, GermanStemmer.a_3, 2); + if (among_var === 0) { + this.cursor = ((this.limit - v_10) | 0); + break lab10; + } + this.bra = cursor$7 = this.cursor; + if (! (! (this.I_p2 <= cursor$7) ? false : true)) { + this.cursor = ((this.limit - v_10) | 0); + break lab10; + } + switch (among_var) { + case 0: + this.cursor = ((this.limit - v_10) | 0); + break lab10; + case 1: + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "")) { + return false; + } + break; + } + } + break; + } + } + this.cursor = ((this.limit - v_4) | 0); + return true; +}; + +GermanStemmer.prototype.r_standard_suffix = GermanStemmer.prototype.r_standard_suffix$; + +function GermanStemmer$r_standard_suffix$LGermanStemmer$($this) { + var among_var; + var v_1; + var v_2; + var v_3; + var v_4; + var v_5; + var v_6; + var v_7; + var v_8; + var v_9; + var v_10; + var lab0; + var lab1; + var lab2; + var c; + var lab3; + var lab4; + var lab5; + var lab6; + var lab7; + var lab8; + var lab9; + var lab10; + var cursor$0; + var cursor$1; + var limit$0; + var cursor$2; + var cursor$3; + var cursor$4; + var cursor$5; + var cursor$6; + var cursor$7; + var limit$1; + var cursor$8; + v_1 = (($this.limit - $this.cursor) | 0); + lab0 = true; +lab0: + while (lab0 === true) { + lab0 = false; + $this.ket = $this.cursor; + among_var = BaseStemmer$find_among_b$LBaseStemmer$ALAmong$I($this, GermanStemmer.a_1, 7); + if (among_var === 0) { + break lab0; + } + $this.bra = cursor$0 = $this.cursor; + if (! (! ($this.I_p1 <= cursor$0) ? false : true)) { + break lab0; + } + switch (among_var) { + case 0: + break lab0; + case 1: + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "")) { + return false; + } + break; + case 2: + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "")) { + return false; + } + v_2 = (($this.limit - $this.cursor) | 0); + lab1 = true; + lab1: + while (lab1 === true) { + lab1 = false; + $this.ket = $this.cursor; + if (! BaseStemmer$eq_s_b$LBaseStemmer$IS($this, 1, "s")) { + $this.cursor = (($this.limit - v_2) | 0); + break lab1; + } + $this.bra = $this.cursor; + if (! BaseStemmer$eq_s_b$LBaseStemmer$IS($this, 3, "nis")) { + $this.cursor = (($this.limit - v_2) | 0); + break lab1; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "")) { + return false; + } + } + break; + case 3: + if (! BaseStemmer$in_grouping_b$LBaseStemmer$AIII($this, GermanStemmer.g_s_ending, 98, 116)) { + break lab0; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "")) { + return false; + } + break; + } + } + cursor$2 = $this.cursor = (((limit$0 = $this.limit) - v_1) | 0); + v_3 = ((limit$0 - cursor$2) | 0); + lab2 = true; +lab2: + while (lab2 === true) { + lab2 = false; + $this.ket = $this.cursor; + among_var = BaseStemmer$find_among_b$LBaseStemmer$ALAmong$I($this, GermanStemmer.a_2, 4); + if (among_var === 0) { + break lab2; + } + $this.bra = cursor$1 = $this.cursor; + if (! (! ($this.I_p1 <= cursor$1) ? false : true)) { + break lab2; + } + switch (among_var) { + case 0: + break lab2; + case 1: + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "")) { + return false; + } + break; + case 2: + if (! BaseStemmer$in_grouping_b$LBaseStemmer$AIII($this, GermanStemmer.g_st_ending, 98, 116)) { + break lab2; + } + c = ($this.cursor - 3 | 0); + if ($this.limit_backward > c || c > $this.limit) { + break lab2; + } + $this.cursor = c; + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "")) { + return false; + } + break; + } + } + cursor$8 = $this.cursor = (((limit$1 = $this.limit) - v_3) | 0); + v_4 = ((limit$1 - cursor$8) | 0); + lab3 = true; +lab3: + while (lab3 === true) { + lab3 = false; + $this.ket = $this.cursor; + among_var = BaseStemmer$find_among_b$LBaseStemmer$ALAmong$I($this, GermanStemmer.a_4, 8); + if (among_var === 0) { + break lab3; + } + $this.bra = cursor$3 = $this.cursor; + if (! (! ($this.I_p2 <= cursor$3) ? false : true)) { + break lab3; + } + switch (among_var) { + case 0: + break lab3; + case 1: + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "")) { + return false; + } + v_5 = (($this.limit - $this.cursor) | 0); + lab4 = true; + lab4: + while (lab4 === true) { + lab4 = false; + $this.ket = $this.cursor; + if (! BaseStemmer$eq_s_b$LBaseStemmer$IS($this, 2, "ig")) { + $this.cursor = (($this.limit - v_5) | 0); + break lab4; + } + $this.bra = cursor$4 = $this.cursor; + v_6 = (($this.limit - cursor$4) | 0); + lab5 = true; + lab5: + while (lab5 === true) { + lab5 = false; + if (! BaseStemmer$eq_s_b$LBaseStemmer$IS($this, 1, "e")) { + break lab5; + } + $this.cursor = (($this.limit - v_5) | 0); + break lab4; + } + cursor$5 = $this.cursor = (($this.limit - v_6) | 0); + if (! (! ($this.I_p2 <= cursor$5) ? false : true)) { + $this.cursor = (($this.limit - v_5) | 0); + break lab4; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "")) { + return false; + } + } + break; + case 2: + v_7 = (($this.limit - $this.cursor) | 0); + lab6 = true; + lab6: + while (lab6 === true) { + lab6 = false; + if (! BaseStemmer$eq_s_b$LBaseStemmer$IS($this, 1, "e")) { + break lab6; + } + break lab3; + } + $this.cursor = (($this.limit - v_7) | 0); + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "")) { + return false; + } + break; + case 3: + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "")) { + return false; + } + v_8 = (($this.limit - $this.cursor) | 0); + lab7 = true; + lab7: + while (lab7 === true) { + lab7 = false; + $this.ket = $this.cursor; + lab8 = true; + lab8: + while (lab8 === true) { + lab8 = false; + v_9 = (($this.limit - $this.cursor) | 0); + lab9 = true; + lab9: + while (lab9 === true) { + lab9 = false; + if (! BaseStemmer$eq_s_b$LBaseStemmer$IS($this, 2, "er")) { + break lab9; + } + break lab8; + } + $this.cursor = (($this.limit - v_9) | 0); + if (! BaseStemmer$eq_s_b$LBaseStemmer$IS($this, 2, "en")) { + $this.cursor = (($this.limit - v_8) | 0); + break lab7; + } + } + $this.bra = cursor$6 = $this.cursor; + if (! (! ($this.I_p1 <= cursor$6) ? false : true)) { + $this.cursor = (($this.limit - v_8) | 0); + break lab7; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "")) { + return false; + } + } + break; + case 4: + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "")) { + return false; + } + v_10 = (($this.limit - $this.cursor) | 0); + lab10 = true; + lab10: + while (lab10 === true) { + lab10 = false; + $this.ket = $this.cursor; + among_var = BaseStemmer$find_among_b$LBaseStemmer$ALAmong$I($this, GermanStemmer.a_3, 2); + if (among_var === 0) { + $this.cursor = (($this.limit - v_10) | 0); + break lab10; + } + $this.bra = cursor$7 = $this.cursor; + if (! (! ($this.I_p2 <= cursor$7) ? false : true)) { + $this.cursor = (($this.limit - v_10) | 0); + break lab10; + } + switch (among_var) { + case 0: + $this.cursor = (($this.limit - v_10) | 0); + break lab10; + case 1: + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "")) { + return false; + } + break; + } + } + break; + } + } + $this.cursor = (($this.limit - v_4) | 0); + return true; +}; + +GermanStemmer.r_standard_suffix$LGermanStemmer$ = GermanStemmer$r_standard_suffix$LGermanStemmer$; + +GermanStemmer.prototype.stem$ = function () { + var v_1; + var v_2; + var v_4; + var lab0; + var lab1; + var lab2; + var lab3; + var cursor$0; + var cursor$1; + var cursor$2; + v_1 = this.cursor; + lab0 = true; +lab0: + while (lab0 === true) { + lab0 = false; + if (! GermanStemmer$r_prelude$LGermanStemmer$(this)) { + break lab0; + } + } + cursor$0 = this.cursor = v_1; + v_2 = cursor$0; + lab1 = true; +lab1: + while (lab1 === true) { + lab1 = false; + if (! GermanStemmer$r_mark_regions$LGermanStemmer$(this)) { + break lab1; + } + } + cursor$1 = this.cursor = v_2; + this.limit_backward = cursor$1; + this.cursor = this.limit; + lab2 = true; +lab2: + while (lab2 === true) { + lab2 = false; + if (! GermanStemmer$r_standard_suffix$LGermanStemmer$(this)) { + break lab2; + } + } + cursor$2 = this.cursor = this.limit_backward; + v_4 = cursor$2; + lab3 = true; +lab3: + while (lab3 === true) { + lab3 = false; + if (! GermanStemmer$r_postlude$LGermanStemmer$(this)) { + break lab3; + } + } + this.cursor = v_4; + return true; +}; + +GermanStemmer.prototype.stem = GermanStemmer.prototype.stem$; + +GermanStemmer.prototype.equals$X = function (o) { + return o instanceof GermanStemmer; +}; + +GermanStemmer.prototype.equals = GermanStemmer.prototype.equals$X; + +function GermanStemmer$equals$LGermanStemmer$X($this, o) { + return o instanceof GermanStemmer; +}; + +GermanStemmer.equals$LGermanStemmer$X = GermanStemmer$equals$LGermanStemmer$X; + +GermanStemmer.prototype.hashCode$ = function () { + var classname; + var hash; + var i; + var char; + classname = "GermanStemmer"; + hash = 0; + for (i = 0; i < classname.length; i++) { + char = classname.charCodeAt(i); + hash = (hash << 5) - hash + char; + hash = hash & hash; + } + return (hash | 0); +}; + +GermanStemmer.prototype.hashCode = GermanStemmer.prototype.hashCode$; + +function GermanStemmer$hashCode$LGermanStemmer$($this) { + var classname; + var hash; + var i; + var char; + classname = "GermanStemmer"; + hash = 0; + for (i = 0; i < classname.length; i++) { + char = classname.charCodeAt(i); + hash = (hash << 5) - hash + char; + hash = hash & hash; + } + return (hash | 0); +}; + +GermanStemmer.hashCode$LGermanStemmer$ = GermanStemmer$hashCode$LGermanStemmer$; + +GermanStemmer.serialVersionUID = 1; +$__jsx_lazy_init(GermanStemmer, "methodObject", function () { + return new GermanStemmer(); +}); +$__jsx_lazy_init(GermanStemmer, "a_0", function () { + return [ new Among("", -1, 6), new Among("U", 0, 2), new Among("Y", 0, 1), new Among("\u00E4", 0, 3), new Among("\u00F6", 0, 4), new Among("\u00FC", 0, 5) ]; +}); +$__jsx_lazy_init(GermanStemmer, "a_1", function () { + return [ new Among("e", -1, 2), new Among("em", -1, 1), new Among("en", -1, 2), new Among("ern", -1, 1), new Among("er", -1, 1), new Among("s", -1, 3), new Among("es", 5, 2) ]; +}); +$__jsx_lazy_init(GermanStemmer, "a_2", function () { + return [ new Among("en", -1, 1), new Among("er", -1, 1), new Among("st", -1, 2), new Among("est", 2, 1) ]; +}); +$__jsx_lazy_init(GermanStemmer, "a_3", function () { + return [ new Among("ig", -1, 1), new Among("lich", -1, 1) ]; +}); +$__jsx_lazy_init(GermanStemmer, "a_4", function () { + return [ new Among("end", -1, 1), new Among("ig", -1, 2), new Among("ung", -1, 1), new Among("lich", -1, 3), new Among("isch", -1, 2), new Among("ik", -1, 2), new Among("heit", -1, 3), new Among("keit", -1, 4) ]; +}); +GermanStemmer.g_v = [ 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32, 8 ]; +GermanStemmer.g_s_ending = [ 117, 30, 5 ]; +GermanStemmer.g_st_ending = [ 117, 30, 4 ]; + +var $__jsx_classMap = { + "src/among.jsx": { + Among: Among, + Among$SII: Among, + Among$SIIF$LBaseStemmer$B$LBaseStemmer$: Among$0 + }, + "src/stemmer.jsx": { + Stemmer: Stemmer, + Stemmer$: Stemmer + }, + "src/base-stemmer.jsx": { + BaseStemmer: BaseStemmer, + BaseStemmer$: BaseStemmer + }, + "src/german-stemmer.jsx": { + GermanStemmer: GermanStemmer, + GermanStemmer$: GermanStemmer + } +}; + + +})(JSX); + +var Among = JSX.require("src/among.jsx").Among; +var Among$SII = JSX.require("src/among.jsx").Among$SII; +var Stemmer = JSX.require("src/stemmer.jsx").Stemmer; +var BaseStemmer = JSX.require("src/base-stemmer.jsx").BaseStemmer; +var GermanStemmer = JSX.require("src/german-stemmer.jsx").GermanStemmer; diff --git a/handouts-html/de/html/_static/alabaster.css b/handouts-html/de/html/_static/alabaster.css new file mode 100644 index 0000000..0eddaeb --- /dev/null +++ b/handouts-html/de/html/_static/alabaster.css @@ -0,0 +1,701 @@ +@import url("basic.css"); + +/* -- page layout ----------------------------------------------------------- */ + +body { + font-family: Georgia, serif; + font-size: 17px; + background-color: #fff; + color: #000; + margin: 0; + padding: 0; +} + + +div.document { + width: 940px; + margin: 30px auto 0 auto; +} + +div.documentwrapper { + float: left; + width: 100%; +} + +div.bodywrapper { + margin: 0 0 0 220px; +} + +div.sphinxsidebar { + width: 220px; + font-size: 14px; + line-height: 1.5; +} + +hr { + border: 1px solid #B1B4B6; +} + +div.body { + background-color: #fff; + color: #3E4349; + padding: 0 30px 0 30px; +} + +div.body > .section { + text-align: left; +} + +div.footer { + width: 940px; + margin: 20px auto 30px auto; + font-size: 14px; + color: #888; + text-align: right; +} + +div.footer a { + color: #888; +} + +p.caption { + font-family: inherit; + font-size: inherit; +} + + +div.relations { + display: none; +} + + +div.sphinxsidebar a { + color: #444; + text-decoration: none; + border-bottom: 1px dotted #999; +} + +div.sphinxsidebar a:hover { + border-bottom: 1px solid #999; +} + +div.sphinxsidebarwrapper { + padding: 18px 10px; +} + +div.sphinxsidebarwrapper p.logo { + padding: 0; + margin: -10px 0 0 0px; + text-align: center; +} + +div.sphinxsidebarwrapper h1.logo { + margin-top: -10px; + text-align: center; + margin-bottom: 5px; + text-align: left; +} + +div.sphinxsidebarwrapper h1.logo-name { + margin-top: 0px; +} + +div.sphinxsidebarwrapper p.blurb { + margin-top: 0; + font-style: normal; +} + +div.sphinxsidebar h3, +div.sphinxsidebar h4 { + font-family: Georgia, serif; + color: #444; + font-size: 24px; + font-weight: normal; + margin: 0 0 5px 0; + padding: 0; +} + +div.sphinxsidebar h4 { + font-size: 20px; +} + +div.sphinxsidebar h3 a { + color: #444; +} + +div.sphinxsidebar p.logo a, +div.sphinxsidebar h3 a, +div.sphinxsidebar p.logo a:hover, +div.sphinxsidebar h3 a:hover { + border: none; +} + +div.sphinxsidebar p { + color: #555; + margin: 10px 0; +} + +div.sphinxsidebar ul { + margin: 10px 0; + padding: 0; + color: #000; +} + +div.sphinxsidebar ul li.toctree-l1 > a { + font-size: 120%; +} + +div.sphinxsidebar ul li.toctree-l2 > a { + font-size: 110%; +} + +div.sphinxsidebar input { + border: 1px solid #CCC; + font-family: Georgia, serif; + font-size: 1em; +} + +div.sphinxsidebar hr { + border: none; + height: 1px; + color: #AAA; + background: #AAA; + + text-align: left; + margin-left: 0; + width: 50%; +} + +div.sphinxsidebar .badge { + border-bottom: none; +} + +div.sphinxsidebar .badge:hover { + border-bottom: none; +} + +/* To address an issue with donation coming after search */ +div.sphinxsidebar h3.donation { + margin-top: 10px; +} + +/* -- body styles ----------------------------------------------------------- */ + +a { + color: #004B6B; + text-decoration: underline; +} + +a:hover { + color: #6D4100; + text-decoration: underline; +} + +div.body h1, +div.body h2, +div.body h3, +div.body h4, +div.body h5, +div.body h6 { + font-family: Georgia, serif; + font-weight: normal; + margin: 30px 0px 10px 0px; + padding: 0; +} + +div.body h1 { margin-top: 0; padding-top: 0; font-size: 240%; } +div.body h2 { font-size: 180%; } +div.body h3 { font-size: 150%; } +div.body h4 { font-size: 130%; } +div.body h5 { font-size: 100%; } +div.body h6 { font-size: 100%; } + +a.headerlink { + color: #DDD; + padding: 0 4px; + text-decoration: none; +} + +a.headerlink:hover { + color: #444; + background: #EAEAEA; +} + +div.body p, div.body dd, div.body li { + line-height: 1.4em; +} + +div.admonition { + margin: 20px 0px; + padding: 10px 30px; + background-color: #EEE; + border: 1px solid #CCC; +} + +div.admonition tt.xref, div.admonition code.xref, div.admonition a tt { + background-color: #FBFBFB; + border-bottom: 1px solid #fafafa; +} + +div.admonition p.admonition-title { + font-family: Georgia, serif; + font-weight: normal; + font-size: 24px; + margin: 0 0 10px 0; + padding: 0; + line-height: 1; +} + +div.admonition p.last { + margin-bottom: 0; +} + +div.highlight { + background-color: #fff; +} + +dt:target, .highlight { + background: #FAF3E8; +} + +div.warning { + background-color: #FCC; + border: 1px solid #FAA; +} + +div.danger { + background-color: #FCC; + border: 1px solid #FAA; + -moz-box-shadow: 2px 2px 4px #D52C2C; + -webkit-box-shadow: 2px 2px 4px #D52C2C; + box-shadow: 2px 2px 4px #D52C2C; +} + +div.error { + background-color: #FCC; + border: 1px solid #FAA; + -moz-box-shadow: 2px 2px 4px #D52C2C; + -webkit-box-shadow: 2px 2px 4px #D52C2C; + box-shadow: 2px 2px 4px #D52C2C; +} + +div.caution { + background-color: #FCC; + border: 1px solid #FAA; +} + +div.attention { + background-color: #FCC; + border: 1px solid #FAA; +} + +div.important { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.note { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.tip { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.hint { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.seealso { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.topic { + background-color: #EEE; +} + +p.admonition-title { + display: inline; +} + +p.admonition-title:after { + content: ":"; +} + +pre, tt, code { + font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; + font-size: 0.9em; +} + +.hll { + background-color: #FFC; + margin: 0 -12px; + padding: 0 12px; + display: block; +} + +img.screenshot { +} + +tt.descname, tt.descclassname, code.descname, code.descclassname { + font-size: 0.95em; +} + +tt.descname, code.descname { + padding-right: 0.08em; +} + +img.screenshot { + -moz-box-shadow: 2px 2px 4px #EEE; + -webkit-box-shadow: 2px 2px 4px #EEE; + box-shadow: 2px 2px 4px #EEE; +} + +table.docutils { + border: 1px solid #888; + -moz-box-shadow: 2px 2px 4px #EEE; + -webkit-box-shadow: 2px 2px 4px #EEE; + box-shadow: 2px 2px 4px #EEE; +} + +table.docutils td, table.docutils th { + border: 1px solid #888; + padding: 0.25em 0.7em; +} + +table.field-list, table.footnote { + border: none; + -moz-box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; +} + +table.footnote { + margin: 15px 0; + width: 100%; + border: 1px solid #EEE; + background: #FDFDFD; + font-size: 0.9em; +} + +table.footnote + table.footnote { + margin-top: -15px; + border-top: none; +} + +table.field-list th { + padding: 0 0.8em 0 0; +} + +table.field-list td { + padding: 0; +} + +table.field-list p { + margin-bottom: 0.8em; +} + +/* Cloned from + * https://github.com/sphinx-doc/sphinx/commit/ef60dbfce09286b20b7385333d63a60321784e68 + */ +.field-name { + -moz-hyphens: manual; + -ms-hyphens: manual; + -webkit-hyphens: manual; + hyphens: manual; +} + +table.footnote td.label { + width: .1px; + padding: 0.3em 0 0.3em 0.5em; +} + +table.footnote td { + padding: 0.3em 0.5em; +} + +dl { + margin: 0; + padding: 0; +} + +dl dd { + margin-left: 30px; +} + +blockquote { + margin: 0 0 0 30px; + padding: 0; +} + +ul, ol { + /* Matches the 30px from the narrow-screen "li > ul" selector below */ + margin: 10px 0 10px 30px; + padding: 0; +} + +pre { + background: #EEE; + padding: 7px 30px; + margin: 15px 0px; + line-height: 1.3em; +} + +div.viewcode-block:target { + background: #ffd; +} + +dl pre, blockquote pre, li pre { + margin-left: 0; + padding-left: 30px; +} + +tt, code { + background-color: #ecf0f3; + color: #222; + /* padding: 1px 2px; */ +} + +tt.xref, code.xref, a tt { + background-color: #FBFBFB; + border-bottom: 1px solid #fff; +} + +a.reference { + text-decoration: none; + border-bottom: 1px dotted #004B6B; +} + +/* Don't put an underline on images */ +a.image-reference, a.image-reference:hover { + border-bottom: none; +} + +a.reference:hover { + border-bottom: 1px solid #6D4100; +} + +a.footnote-reference { + text-decoration: none; + font-size: 0.7em; + vertical-align: top; + border-bottom: 1px dotted #004B6B; +} + +a.footnote-reference:hover { + border-bottom: 1px solid #6D4100; +} + +a:hover tt, a:hover code { + background: #EEE; +} + + +@media screen and (max-width: 870px) { + + div.sphinxsidebar { + display: none; + } + + div.document { + width: 100%; + + } + + div.documentwrapper { + margin-left: 0; + margin-top: 0; + margin-right: 0; + margin-bottom: 0; + } + + div.bodywrapper { + margin-top: 0; + margin-right: 0; + margin-bottom: 0; + margin-left: 0; + } + + ul { + margin-left: 0; + } + + li > ul { + /* Matches the 30px from the "ul, ol" selector above */ + margin-left: 30px; + } + + .document { + width: auto; + } + + .footer { + width: auto; + } + + .bodywrapper { + margin: 0; + } + + .footer { + width: auto; + } + + .github { + display: none; + } + + + +} + + + +@media screen and (max-width: 875px) { + + body { + margin: 0; + padding: 20px 30px; + } + + div.documentwrapper { + float: none; + background: #fff; + } + + div.sphinxsidebar { + display: block; + float: none; + width: 102.5%; + margin: 50px -30px -20px -30px; + padding: 10px 20px; + background: #333; + color: #FFF; + } + + div.sphinxsidebar h3, div.sphinxsidebar h4, div.sphinxsidebar p, + div.sphinxsidebar h3 a { + color: #fff; + } + + div.sphinxsidebar a { + color: #AAA; + } + + div.sphinxsidebar p.logo { + display: none; + } + + div.document { + width: 100%; + margin: 0; + } + + div.footer { + display: none; + } + + div.bodywrapper { + margin: 0; + } + + div.body { + min-height: 0; + padding: 0; + } + + .rtd_doc_footer { + display: none; + } + + .document { + width: auto; + } + + .footer { + width: auto; + } + + .footer { + width: auto; + } + + .github { + display: none; + } +} + + +/* misc. */ + +.revsys-inline { + display: none!important; +} + +/* Make nested-list/multi-paragraph items look better in Releases changelog + * pages. Without this, docutils' magical list fuckery causes inconsistent + * formatting between different release sub-lists. + */ +div#changelog > div.section > ul > li > p:only-child { + margin-bottom: 0; +} + +/* Hide fugly table cell borders in ..bibliography:: directive output */ +table.docutils.citation, table.docutils.citation td, table.docutils.citation th { + border: none; + /* Below needed in some edge cases; if not applied, bottom shadows appear */ + -moz-box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; +} + + +/* relbar */ + +.related { + line-height: 30px; + width: 100%; + font-size: 0.9rem; +} + +.related.top { + border-bottom: 1px solid #EEE; + margin-bottom: 20px; +} + +.related.bottom { + border-top: 1px solid #EEE; +} + +.related ul { + padding: 0; + margin: 0; + list-style: none; +} + +.related li { + display: inline; +} + +nav#rellinks { + float: right; +} + +nav#rellinks li+li:before { + content: "|"; +} + +nav#breadcrumbs li+li:before { + content: "\00BB"; +} + +/* Hide certain items when printing */ +@media print { + div.related { + display: none; + } +} \ No newline at end of file diff --git a/handouts-html/de/html/_static/basic.css b/handouts-html/de/html/_static/basic.css new file mode 100644 index 0000000..0119285 --- /dev/null +++ b/handouts-html/de/html/_static/basic.css @@ -0,0 +1,768 @@ +/* + * basic.css + * ~~~~~~~~~ + * + * Sphinx stylesheet -- basic theme. + * + * :copyright: Copyright 2007-2020 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/* -- main layout ----------------------------------------------------------- */ + +div.clearer { + clear: both; +} + +/* -- relbar ---------------------------------------------------------------- */ + +div.related { + width: 100%; + font-size: 90%; +} + +div.related h3 { + display: none; +} + +div.related ul { + margin: 0; + padding: 0 0 0 10px; + list-style: none; +} + +div.related li { + display: inline; +} + +div.related li.right { + float: right; + margin-right: 5px; +} + +/* -- sidebar --------------------------------------------------------------- */ + +div.sphinxsidebarwrapper { + padding: 10px 5px 0 10px; +} + +div.sphinxsidebar { + float: left; + width: 230px; + margin-left: -100%; + font-size: 90%; + word-wrap: break-word; + overflow-wrap : break-word; +} + +div.sphinxsidebar ul { + list-style: none; +} + +div.sphinxsidebar ul ul, +div.sphinxsidebar ul.want-points { + margin-left: 20px; + list-style: square; +} + +div.sphinxsidebar ul ul { + margin-top: 0; + margin-bottom: 0; +} + +div.sphinxsidebar form { + margin-top: 10px; +} + +div.sphinxsidebar input { + border: 1px solid #98dbcc; + font-family: sans-serif; + font-size: 1em; +} + +div.sphinxsidebar #searchbox form.search { + overflow: hidden; +} + +div.sphinxsidebar #searchbox input[type="text"] { + float: left; + width: 80%; + padding: 0.25em; + box-sizing: border-box; +} + +div.sphinxsidebar #searchbox input[type="submit"] { + float: left; + width: 20%; + border-left: none; + padding: 0.25em; + box-sizing: border-box; +} + + +img { + border: 0; + max-width: 100%; +} + +/* -- search page ----------------------------------------------------------- */ + +ul.search { + margin: 10px 0 0 20px; + padding: 0; +} + +ul.search li { + padding: 5px 0 5px 20px; + background-image: url(file.png); + background-repeat: no-repeat; + background-position: 0 7px; +} + +ul.search li a { + font-weight: bold; +} + +ul.search li div.context { + color: #888; + margin: 2px 0 0 30px; + text-align: left; +} + +ul.keywordmatches li.goodmatch a { + font-weight: bold; +} + +/* -- index page ------------------------------------------------------------ */ + +table.contentstable { + width: 90%; + margin-left: auto; + margin-right: auto; +} + +table.contentstable p.biglink { + line-height: 150%; +} + +a.biglink { + font-size: 1.3em; +} + +span.linkdescr { + font-style: italic; + padding-top: 5px; + font-size: 90%; +} + +/* -- general index --------------------------------------------------------- */ + +table.indextable { + width: 100%; +} + +table.indextable td { + text-align: left; + vertical-align: top; +} + +table.indextable ul { + margin-top: 0; + margin-bottom: 0; + list-style-type: none; +} + +table.indextable > tbody > tr > td > ul { + padding-left: 0em; +} + +table.indextable tr.pcap { + height: 10px; +} + +table.indextable tr.cap { + margin-top: 10px; + background-color: #f2f2f2; +} + +img.toggler { + margin-right: 3px; + margin-top: 3px; + cursor: pointer; +} + +div.modindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +div.genindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +/* -- domain module index --------------------------------------------------- */ + +table.modindextable td { + padding: 2px; + border-collapse: collapse; +} + +/* -- general body styles --------------------------------------------------- */ + +div.body { + min-width: 450px; + max-width: 800px; +} + +div.body p, div.body dd, div.body li, div.body blockquote { + -moz-hyphens: auto; + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} + +a.headerlink { + visibility: hidden; +} + +a.brackets:before, +span.brackets > a:before{ + content: "["; +} + +a.brackets:after, +span.brackets > a:after { + content: "]"; +} + +h1:hover > a.headerlink, +h2:hover > a.headerlink, +h3:hover > a.headerlink, +h4:hover > a.headerlink, +h5:hover > a.headerlink, +h6:hover > a.headerlink, +dt:hover > a.headerlink, +caption:hover > a.headerlink, +p.caption:hover > a.headerlink, +div.code-block-caption:hover > a.headerlink { + visibility: visible; +} + +div.body p.caption { + text-align: inherit; +} + +div.body td { + text-align: left; +} + +.first { + margin-top: 0 !important; +} + +p.rubric { + margin-top: 30px; + font-weight: bold; +} + +img.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +img.align-default, .figure.align-default { + display: block; + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-default { + text-align: center; +} + +.align-right { + text-align: right; +} + +/* -- sidebars -------------------------------------------------------------- */ + +div.sidebar { + margin: 0 0 0.5em 1em; + border: 1px solid #ddb; + padding: 7px 7px 0 7px; + background-color: #ffe; + width: 40%; + float: right; +} + +p.sidebar-title { + font-weight: bold; +} + +/* -- topics ---------------------------------------------------------------- */ + +div.topic { + border: 1px solid #ccc; + padding: 7px 7px 0 7px; + margin: 10px 0 10px 0; +} + +p.topic-title { + font-size: 1.1em; + font-weight: bold; + margin-top: 10px; +} + +/* -- admonitions ----------------------------------------------------------- */ + +div.admonition { + margin-top: 10px; + margin-bottom: 10px; + padding: 7px; +} + +div.admonition dt { + font-weight: bold; +} + +div.admonition dl { + margin-bottom: 0; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +div.body p.centered { + text-align: center; + margin-top: 25px; +} + +/* -- tables ---------------------------------------------------------------- */ + +table.docutils { + border: 0; + border-collapse: collapse; +} + +table.align-center { + margin-left: auto; + margin-right: auto; +} + +table.align-default { + margin-left: auto; + margin-right: auto; +} + +table caption span.caption-number { + font-style: italic; +} + +table caption span.caption-text { +} + +table.docutils td, table.docutils th { + padding: 1px 8px 1px 5px; + border-top: 0; + border-left: 0; + border-right: 0; + border-bottom: 1px solid #aaa; +} + +table.footnote td, table.footnote th { + border: 0 !important; +} + +th { + text-align: left; + padding-right: 5px; +} + +table.citation { + border-left: solid 1px gray; + margin-left: 1px; +} + +table.citation td { + border-bottom: none; +} + +th > p:first-child, +td > p:first-child { + margin-top: 0px; +} + +th > p:last-child, +td > p:last-child { + margin-bottom: 0px; +} + +/* -- figures --------------------------------------------------------------- */ + +div.figure { + margin: 0.5em; + padding: 0.5em; +} + +div.figure p.caption { + padding: 0.3em; +} + +div.figure p.caption span.caption-number { + font-style: italic; +} + +div.figure p.caption span.caption-text { +} + +/* -- field list styles ----------------------------------------------------- */ + +table.field-list td, table.field-list th { + border: 0 !important; +} + +.field-list ul { + margin: 0; + padding-left: 1em; +} + +.field-list p { + margin: 0; +} + +.field-name { + -moz-hyphens: manual; + -ms-hyphens: manual; + -webkit-hyphens: manual; + hyphens: manual; +} + +/* -- hlist styles ---------------------------------------------------------- */ + +table.hlist td { + vertical-align: top; +} + + +/* -- other body styles ----------------------------------------------------- */ + +ol.arabic { + list-style: decimal; +} + +ol.loweralpha { + list-style: lower-alpha; +} + +ol.upperalpha { + list-style: upper-alpha; +} + +ol.lowerroman { + list-style: lower-roman; +} + +ol.upperroman { + list-style: upper-roman; +} + +li > p:first-child { + margin-top: 0px; +} + +li > p:last-child { + margin-bottom: 0px; +} + +dl.footnote > dt, +dl.citation > dt { + float: left; +} + +dl.footnote > dd, +dl.citation > dd { + margin-bottom: 0em; +} + +dl.footnote > dd:after, +dl.citation > dd:after { + content: ""; + clear: both; +} + +dl.field-list { + display: grid; + grid-template-columns: fit-content(30%) auto; +} + +dl.field-list > dt { + font-weight: bold; + word-break: break-word; + padding-left: 0.5em; + padding-right: 5px; +} + +dl.field-list > dt:after { + content: ":"; +} + +dl.field-list > dd { + padding-left: 0.5em; + margin-top: 0em; + margin-left: 0em; + margin-bottom: 0em; +} + +dl { + margin-bottom: 15px; +} + +dd > p:first-child { + margin-top: 0px; +} + +dd ul, dd table { + margin-bottom: 10px; +} + +dd { + margin-top: 3px; + margin-bottom: 10px; + margin-left: 30px; +} + +dt:target, span.highlighted { + background-color: #fbe54e; +} + +rect.highlighted { + fill: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.versionmodified { + font-style: italic; +} + +.system-message { + background-color: #fda; + padding: 5px; + border: 3px solid red; +} + +.footnote:target { + background-color: #ffa; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +.guilabel, .menuselection { + font-family: sans-serif; +} + +.accelerator { + text-decoration: underline; +} + +.classifier { + font-style: oblique; +} + +.classifier:before { + font-style: normal; + margin: 0.5em; + content: ":"; +} + +abbr, acronym { + border-bottom: dotted 1px; + cursor: help; +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +span.pre { + -moz-hyphens: none; + -ms-hyphens: none; + -webkit-hyphens: none; + hyphens: none; +} + +td.linenos pre { + padding: 5px 0px; + border: 0; + background-color: transparent; + color: #aaa; +} + +table.highlighttable { + margin-left: 0.5em; +} + +table.highlighttable td { + padding: 0 0.5em 0 0.5em; +} + +div.code-block-caption { + padding: 2px 5px; + font-size: small; +} + +div.code-block-caption code { + background-color: transparent; +} + +div.code-block-caption + div > div.highlight > pre { + margin-top: 0; +} + +div.doctest > div.highlight span.gp { /* gp: Generic.Prompt */ + user-select: none; +} + +div.code-block-caption span.caption-number { + padding: 0.1em 0.3em; + font-style: italic; +} + +div.code-block-caption span.caption-text { +} + +div.literal-block-wrapper { + padding: 1em 1em 0; +} + +div.literal-block-wrapper div.highlight { + margin: 0; +} + +code.descname { + background-color: transparent; + font-weight: bold; + font-size: 1.2em; +} + +code.descclassname { + background-color: transparent; +} + +code.xref, a code { + background-color: transparent; + font-weight: bold; +} + +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + background-color: transparent; +} + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family: sans-serif; +} + +div.viewcode-block:target { + margin: -1px -10px; + padding: 0 10px; +} + +/* -- math display ---------------------------------------------------------- */ + +img.math { + vertical-align: middle; +} + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} + +span.eqno a.headerlink { + position: relative; + left: 0px; + z-index: 1; +} + +div.math:hover a.headerlink { + visibility: visible; +} + +/* -- printout stylesheet --------------------------------------------------- */ + +@media print { + div.document, + div.documentwrapper, + div.bodywrapper { + margin: 0 !important; + width: 100%; + } + + div.sphinxsidebar, + div.related, + div.footer, + #top-link { + display: none; + } +} \ No newline at end of file diff --git a/handouts-html/de/html/_static/custom.css b/handouts-html/de/html/_static/custom.css new file mode 100644 index 0000000..2a924f1 --- /dev/null +++ b/handouts-html/de/html/_static/custom.css @@ -0,0 +1 @@ +/* This file intentionally left blank. */ diff --git a/handouts-html/de/html/_static/doctools.js b/handouts-html/de/html/_static/doctools.js new file mode 100644 index 0000000..daccd20 --- /dev/null +++ b/handouts-html/de/html/_static/doctools.js @@ -0,0 +1,315 @@ +/* + * doctools.js + * ~~~~~~~~~~~ + * + * Sphinx JavaScript utilities for all documentation. + * + * :copyright: Copyright 2007-2020 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/** + * select a different prefix for underscore + */ +$u = _.noConflict(); + +/** + * make the code below compatible with browsers without + * an installed firebug like debugger +if (!window.console || !console.firebug) { + var names = ["log", "debug", "info", "warn", "error", "assert", "dir", + "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", + "profile", "profileEnd"]; + window.console = {}; + for (var i = 0; i < names.length; ++i) + window.console[names[i]] = function() {}; +} + */ + +/** + * small helper function to urldecode strings + */ +jQuery.urldecode = function(x) { + return decodeURIComponent(x).replace(/\+/g, ' '); +}; + +/** + * small helper function to urlencode strings + */ +jQuery.urlencode = encodeURIComponent; + +/** + * This function returns the parsed url parameters of the + * current request. Multiple values per key are supported, + * it will always return arrays of strings for the value parts. + */ +jQuery.getQueryParameters = function(s) { + if (typeof s === 'undefined') + s = document.location.search; + var parts = s.substr(s.indexOf('?') + 1).split('&'); + var result = {}; + for (var i = 0; i < parts.length; i++) { + var tmp = parts[i].split('=', 2); + var key = jQuery.urldecode(tmp[0]); + var value = jQuery.urldecode(tmp[1]); + if (key in result) + result[key].push(value); + else + result[key] = [value]; + } + return result; +}; + +/** + * highlight a given string on a jquery object by wrapping it in + * span elements with the given class name. + */ +jQuery.fn.highlightText = function(text, className) { + function highlight(node, addItems) { + if (node.nodeType === 3) { + var val = node.nodeValue; + var pos = val.toLowerCase().indexOf(text); + if (pos >= 0 && + !jQuery(node.parentNode).hasClass(className) && + !jQuery(node.parentNode).hasClass("nohighlight")) { + var span; + var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg"); + if (isInSVG) { + span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); + } else { + span = document.createElement("span"); + span.className = className; + } + span.appendChild(document.createTextNode(val.substr(pos, text.length))); + node.parentNode.insertBefore(span, node.parentNode.insertBefore( + document.createTextNode(val.substr(pos + text.length)), + node.nextSibling)); + node.nodeValue = val.substr(0, pos); + if (isInSVG) { + var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect"); + var bbox = node.parentElement.getBBox(); + rect.x.baseVal.value = bbox.x; + rect.y.baseVal.value = bbox.y; + rect.width.baseVal.value = bbox.width; + rect.height.baseVal.value = bbox.height; + rect.setAttribute('class', className); + addItems.push({ + "parent": node.parentNode, + "target": rect}); + } + } + } + else if (!jQuery(node).is("button, select, textarea")) { + jQuery.each(node.childNodes, function() { + highlight(this, addItems); + }); + } + } + var addItems = []; + var result = this.each(function() { + highlight(this, addItems); + }); + for (var i = 0; i < addItems.length; ++i) { + jQuery(addItems[i].parent).before(addItems[i].target); + } + return result; +}; + +/* + * backward compatibility for jQuery.browser + * This will be supported until firefox bug is fixed. + */ +if (!jQuery.browser) { + jQuery.uaMatch = function(ua) { + ua = ua.toLowerCase(); + + var match = /(chrome)[ \/]([\w.]+)/.exec(ua) || + /(webkit)[ \/]([\w.]+)/.exec(ua) || + /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) || + /(msie) ([\w.]+)/.exec(ua) || + ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) || + []; + + return { + browser: match[ 1 ] || "", + version: match[ 2 ] || "0" + }; + }; + jQuery.browser = {}; + jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true; +} + +/** + * Small JavaScript module for the documentation. + */ +var Documentation = { + + init : function() { + this.fixFirefoxAnchorBug(); + this.highlightSearchWords(); + this.initIndexTable(); + if (DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) { + this.initOnKeyListeners(); + } + }, + + /** + * i18n support + */ + TRANSLATIONS : {}, + PLURAL_EXPR : function(n) { return n === 1 ? 0 : 1; }, + LOCALE : 'unknown', + + // gettext and ngettext don't access this so that the functions + // can safely bound to a different name (_ = Documentation.gettext) + gettext : function(string) { + var translated = Documentation.TRANSLATIONS[string]; + if (typeof translated === 'undefined') + return string; + return (typeof translated === 'string') ? translated : translated[0]; + }, + + ngettext : function(singular, plural, n) { + var translated = Documentation.TRANSLATIONS[singular]; + if (typeof translated === 'undefined') + return (n == 1) ? singular : plural; + return translated[Documentation.PLURALEXPR(n)]; + }, + + addTranslations : function(catalog) { + for (var key in catalog.messages) + this.TRANSLATIONS[key] = catalog.messages[key]; + this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')'); + this.LOCALE = catalog.locale; + }, + + /** + * add context elements like header anchor links + */ + addContextElements : function() { + $('div[id] > :header:first').each(function() { + $('\u00B6'). + attr('href', '#' + this.id). + attr('title', _('Permalink to this headline')). + appendTo(this); + }); + $('dt[id]').each(function() { + $('\u00B6'). + attr('href', '#' + this.id). + attr('title', _('Permalink to this definition')). + appendTo(this); + }); + }, + + /** + * workaround a firefox stupidity + * see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075 + */ + fixFirefoxAnchorBug : function() { + if (document.location.hash && $.browser.mozilla) + window.setTimeout(function() { + document.location.href += ''; + }, 10); + }, + + /** + * highlight the search words provided in the url in the text + */ + highlightSearchWords : function() { + var params = $.getQueryParameters(); + var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : []; + if (terms.length) { + var body = $('div.body'); + if (!body.length) { + body = $('body'); + } + window.setTimeout(function() { + $.each(terms, function() { + body.highlightText(this.toLowerCase(), 'highlighted'); + }); + }, 10); + $('') + .appendTo($('#searchbox')); + } + }, + + /** + * init the domain index toggle buttons + */ + initIndexTable : function() { + var togglers = $('img.toggler').click(function() { + var src = $(this).attr('src'); + var idnum = $(this).attr('id').substr(7); + $('tr.cg-' + idnum).toggle(); + if (src.substr(-9) === 'minus.png') + $(this).attr('src', src.substr(0, src.length-9) + 'plus.png'); + else + $(this).attr('src', src.substr(0, src.length-8) + 'minus.png'); + }).css('display', ''); + if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) { + togglers.click(); + } + }, + + /** + * helper function to hide the search marks again + */ + hideSearchWords : function() { + $('#searchbox .highlight-link').fadeOut(300); + $('span.highlighted').removeClass('highlighted'); + }, + + /** + * make the url absolute + */ + makeURL : function(relativeURL) { + return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL; + }, + + /** + * get the current relative url + */ + getCurrentURL : function() { + var path = document.location.pathname; + var parts = path.split(/\//); + $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() { + if (this === '..') + parts.pop(); + }); + var url = parts.join('/'); + return path.substring(url.lastIndexOf('/') + 1, path.length - 1); + }, + + initOnKeyListeners: function() { + $(document).keydown(function(event) { + var activeElementType = document.activeElement.tagName; + // don't navigate when in search box or textarea + if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT' + && !event.altKey && !event.ctrlKey && !event.metaKey && !event.shiftKey) { + switch (event.keyCode) { + case 37: // left + var prevHref = $('link[rel="prev"]').prop('href'); + if (prevHref) { + window.location.href = prevHref; + return false; + } + case 39: // right + var nextHref = $('link[rel="next"]').prop('href'); + if (nextHref) { + window.location.href = nextHref; + return false; + } + } + } + }); + } +}; + +// quick alias for translations +_ = Documentation.gettext; + +$(document).ready(function() { + Documentation.init(); +}); diff --git a/handouts-html/de/html/_static/documentation_options.js b/handouts-html/de/html/_static/documentation_options.js new file mode 100644 index 0000000..dc4c4f3 --- /dev/null +++ b/handouts-html/de/html/_static/documentation_options.js @@ -0,0 +1,12 @@ +var DOCUMENTATION_OPTIONS = { + URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), + VERSION: '0.0.1', + LANGUAGE: 'de', + COLLAPSE_INDEX: false, + BUILDER: 'html', + FILE_SUFFIX: '.html', + LINK_SUFFIX: '.html', + HAS_SOURCE: true, + SOURCELINK_SUFFIX: '.txt', + NAVIGATION_WITH_KEYS: false +}; \ No newline at end of file diff --git a/handouts-html/de/html/_static/file.png b/handouts-html/de/html/_static/file.png new file mode 100644 index 0000000000000000000000000000000000000000..a858a410e4faa62ce324d814e4b816fff83a6fb3 GIT binary patch literal 286 zcmV+(0pb3MP)s`hMrGg#P~ix$^RISR_I47Y|r1 z_CyJOe}D1){SET-^Amu_i71Lt6eYfZjRyw@I6OQAIXXHDfiX^GbOlHe=Ae4>0m)d(f|Me07*qoM6N<$f}vM^LjV8( literal 0 HcmV?d00001 diff --git a/handouts-html/de/html/_static/jquery-3.4.1.js b/handouts-html/de/html/_static/jquery-3.4.1.js new file mode 100644 index 0000000..773ad95 --- /dev/null +++ b/handouts-html/de/html/_static/jquery-3.4.1.js @@ -0,0 +1,10598 @@ +/*! + * jQuery JavaScript Library v3.4.1 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2019-05-01T21:04Z + */ +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var document = window.document; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var concat = arr.concat; + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + +var isFunction = function isFunction( obj ) { + + // Support: Chrome <=57, Firefox <=52 + // In some browsers, typeof returns "function" for HTML elements + // (i.e., `typeof document.createElement( "object" ) === "function"`). + // We don't want to classify *any* DOM node as a function. + return typeof obj === "function" && typeof obj.nodeType !== "number"; + }; + + +var isWindow = function isWindow( obj ) { + return obj != null && obj === obj.window; + }; + + + + + var preservedScriptAttributes = { + type: true, + src: true, + nonce: true, + noModule: true + }; + + function DOMEval( code, node, doc ) { + doc = doc || document; + + var i, val, + script = doc.createElement( "script" ); + + script.text = code; + if ( node ) { + for ( i in preservedScriptAttributes ) { + + // Support: Firefox 64+, Edge 18+ + // Some browsers don't support the "nonce" property on scripts. + // On the other hand, just using `getAttribute` is not enough as + // the `nonce` attribute is reset to an empty string whenever it + // becomes browsing-context connected. + // See https://github.com/whatwg/html/issues/2369 + // See https://html.spec.whatwg.org/#nonce-attributes + // The `node.getAttribute` check was added for the sake of + // `jQuery.globalEval` so that it can fake a nonce-containing node + // via an object. + val = node[ i ] || node.getAttribute && node.getAttribute( i ); + if ( val ) { + script.setAttribute( i, val ); + } + } + } + doc.head.appendChild( script ).parentNode.removeChild( script ); + } + + +function toType( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; +} +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var + version = "3.4.1", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }, + + // Support: Android <=4.0 only + // Make sure we trim BOM and NBSP + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + copy = options[ name ]; + + // Prevent Object.prototype pollution + // Prevent never-ending loop + if ( name === "__proto__" || target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = Array.isArray( copy ) ) ) ) { + src = target[ name ]; + + // Ensure proper type for the source value + if ( copyIsArray && !Array.isArray( src ) ) { + clone = []; + } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { + clone = {}; + } else { + clone = src; + } + copyIsArray = false; + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + // Evaluates a script in a global context + globalEval: function( code, options ) { + DOMEval( code, { nonce: options && options.nonce } ); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // Support: Android <=4.0 only + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = toType( obj ); + + if ( isFunction( obj ) || isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.4 + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://js.foundation/ + * + * Date: 2019-04-08 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + nonnativeSelectorCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + rdescend = new RegExp( whitespace + "|>" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rhtml = /HTML$/i, + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox<24 + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + inDisabledFieldset = addCombinator( + function( elem ) { + return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + + // ID selector + if ( (m = match[1]) ) { + + // Document context + if ( nodeType === 9 ) { + if ( (elem = context.getElementById( m )) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && (elem = newContext.getElementById( m )) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( (m = match[3]) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !nonnativeSelectorCache[ selector + " " ] && + (!rbuggyQSA || !rbuggyQSA.test( selector )) && + + // Support: IE 8 only + // Exclude object elements + (nodeType !== 1 || context.nodeName.toLowerCase() !== "object") ) { + + newSelector = selector; + newContext = context; + + // qSA considers elements outside a scoping root when evaluating child or + // descendant combinators, which is not what we want. + // In such cases, we work around the behavior by prefixing every selector in the + // list with an ID selector referencing the scope context. + // Thanks to Andrew Dupont for this technique. + if ( nodeType === 1 && rdescend.test( selector ) ) { + + // Capture the context ID, setting it first if necessary + if ( (nid = context.getAttribute( "id" )) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", (nid = expando) ); + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[i] = "#" + nid + " " + toSelector( groups[i] ); + } + newSelector = groups.join( "," ); + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + } + + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + nonnativeSelectorCache( selector, true ); + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key + " " ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement("fieldset"); + + try { + return !!fn( el ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + /* jshint -W018 */ + elem.isDisabled !== !disabled && + inDisabledFieldset( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + var namespace = elem.namespaceURI, + docElem = (elem.ownerDocument || elem).documentElement; + + // Support: IE <=8 + // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes + // https://bugs.jquery.com/ticket/4833 + return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" ); +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9-11, Edge + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + if ( preferredDoc !== document && + (subWindow = document.defaultView) && subWindow.top !== subWindow ) { + + // Support: IE 11, Edge + if ( subWindow.addEventListener ) { + subWindow.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( subWindow.attachEvent ) { + subWindow.attachEvent( "onunload", unloadHandler ); + } + } + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert(function( el ) { + el.className = "i"; + return !el.getAttribute("className"); + }); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert(function( el ) { + el.appendChild( document.createComment("") ); + return !el.getElementsByTagName("*").length; + }); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert(function( el ) { + docElem.appendChild( el ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + }); + + // ID filter and find + if ( support.getById ) { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var elem = context.getElementById( id ); + return elem ? [ elem ] : []; + } + }; + } else { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + + // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( (elem = elems[i++]) ) { + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See https://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( document.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( el ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // https://bugs.jquery.com/ticket/12359 + docElem.appendChild( el ).innerHTML = "" + + ""; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( el.querySelectorAll("[msallowcapture^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !el.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push("~="); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !el.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push(".#.+[+~]"); + } + }); + + assert(function( el ) { + el.innerHTML = "" + + ""; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement("input"); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( el.querySelectorAll("[name=d]").length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( el.querySelectorAll(":enabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + docElem.appendChild( el ).disabled = true; + if ( el.querySelectorAll(":disabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( el ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( el, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + return -1; + } + if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + return a === document ? -1 : + b === document ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + if ( support.matchesSelector && documentIsHTML && + !nonnativeSelectorCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch (e) { + nonnativeSelectorCache( expr, true ); + } + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return (sel + "").replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + while ( (node = elem[i++]) ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[6] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] ) { + match[2] = match[4] || match[5] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + // Use previously-cached element index if available + if ( useCache ) { + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + // Don't keep the element (issue #299) + input[0] = null; + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "disabled": createDisabledPseudo( true ), + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? + argument + length : + argument > length ? + length : + argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( (tokens = []) ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + }); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + return false; + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); + + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } else if ( (oldCache = uniqueCache[ key ]) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return (newCache[ 2 ] = oldCache[ 2 ]); + } else { + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ key ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { + return true; + } + } + } + } + } + return false; + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), + len = elems.length; + + if ( outermost ) { + outermostContext = context === document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id + for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + if ( !context && elem.ownerDocument !== document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context || document, xml) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( (selector = compiled.selector || selector) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert(function( el ) { + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition( document.createElement("fieldset") ) & 1; +}); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert(function( el ) { + el.innerHTML = ""; + return el.firstChild.getAttribute("href") === "#" ; +}) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + }); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert(function( el ) { + el.innerHTML = ""; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; +}) ) { + addHandle( "value", function( elem, name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + }); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert(function( el ) { + return el.getAttribute("disabled") == null; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + null; + } + }); +} + +return Sizzle; + +})( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + + + +function nodeName( elem, name ) { + + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + +}; +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + } + + // Single element + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + } + + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + // Filtered directly for both simple and complex selectors + return jQuery.filter( qualifier, elements, not ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + if ( typeof elem.contentDocument !== "undefined" ) { + return elem.contentDocument; + } + + // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only + // Treat the template element as a regular one in browsers that + // don't support it. + if ( nodeName( elem, "template" ) ) { + elem = elem.content || elem; + } + + return jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = locked || options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && toType( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject, noValue ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: + // * false: [ value ].slice( 0 ) => resolve( value ) + // * true: [ value ].slice( 1 ) => resolve() + resolve.apply( undefined, [ value ].slice( noValue ) ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.apply( undefined, [ value ] ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // rejected_handlers.disable + // fulfilled_handlers.disable + tuples[ 3 - i ][ 3 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock, + + // progress_handlers.lock + tuples[ 0 ][ 3 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the master Deferred + master = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + master.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject, + !remaining ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( master.state() === "pending" || + isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return master.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), master.reject ); + } + + return master.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( toType( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; +}; + + +// Matches dashed string for camelizing +var rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g; + +// Used by camelCase as callback to replace() +function fcamelCase( all, letter ) { + return letter.toUpperCase(); +} + +// Convert dashed to camelCase; used by the css and data modules +// Support: IE <=9 - 11, Edge 12 - 15 +// Microsoft forgot to hump their vendor prefix (#9572) +function camelCase( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); +} +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( Array.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( camelCase ); + } else { + key = camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = getData( data ); + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || Array.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var documentElement = document.documentElement; + + + + var isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ); + }, + composed = { composed: true }; + + // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only + // Check attachment across shadow DOM boundaries when possible (gh-3504) + // Support: iOS 10.0-10.2 only + // Early iOS 10 versions support `attachShadow` but not `getRootNode`, + // leading to errors. We need to check for `getRootNode`. + if ( documentElement.getRootNode ) { + isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ) || + elem.getRootNode( composed ) === elem.ownerDocument; + }; + } +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + isAttached( elem ) && + + jQuery.css( elem, "display" ) === "none"; + }; + +var swap = function( elem, options, callback, args ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.apply( elem, args || [] ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, scale, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = elem.nodeType && + ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Support: Firefox <=54 + // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) + initial = initial / 2; + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + while ( maxIterations-- ) { + + // Evaluate and update our best guess (doubling guesses that zero out). + // Finish if the scale equals or crosses 1 (making the old*new product non-positive). + jQuery.style( elem, prop, initialInUnit + unit ); + if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { + maxIterations = 0; + } + initialInUnit = initialInUnit / scale; + + } + + initialInUnit = initialInUnit * 2; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); + +var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); + + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // Support: IE <=9 only + option: [ 1, "" ], + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting or other required elements. + thead: [ 1, "", "
" ], + col: [ 2, "", "
" ], + tr: [ 2, "", "
" ], + td: [ 3, "", "
" ], + + _default: [ 0, "", "" ] +}; + +// Support: IE <=9 only +wrapMap.optgroup = wrapMap.option; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, attached, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( toType( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + attached = isAttached( elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( attached ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; +} )(); + + +var + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE <=9 - 11+ +// focus() and blur() are asynchronous, except when they are no-op. +// So expect focus to be synchronous when the element is already active, +// and blur to be synchronous when the element is not already active. +// (focus and blur are always synchronous in other supported browsers, +// this just defines when we can count on it). +function expectSync( elem, type ) { + return ( elem === safeActiveElement() ) === ( type === "focus" ); +} + +// Support: IE <=9 only +// Accessing document.activeElement can throw unexpectedly +// https://bugs.jquery.com/ticket/13393 +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = {}; + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( nativeEvent ) { + + // Make a writable jQuery.Event from the native event object + var event = jQuery.event.fix( nativeEvent ); + + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), + handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // If the event is namespaced, then each handler is only invoked if it is + // specially universal or its namespaces are a superset of the event's. + if ( !event.rnamespace || handleObj.namespace === false || + event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); + } + } + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + cur = this; + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + click: { + + // Utilize native event to ensure correct state for checkable inputs + setup: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Claim the first handler + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + // dataPriv.set( el, "click", ... ) + leverageNative( el, "click", returnTrue ); + } + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Force setup before triggering a click + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + leverageNative( el, "click" ); + } + + // Return non-false to allow normal event-path propagation + return true; + }, + + // For cross-browser consistency, suppress native .click() on links + // Also prevent it if we're currently inside a leveraged native-event stack + _default: function( event ) { + var target = event.target; + return rcheckableType.test( target.type ) && + target.click && nodeName( target, "input" ) && + dataPriv.get( target, "click" ) || + nodeName( target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +// Ensure the presence of an event listener that handles manually-triggered +// synthetic events by interrupting progress until reinvoked in response to +// *native* events that it fires directly, ensuring that state changes have +// already occurred before other listeners are invoked. +function leverageNative( el, type, expectSync ) { + + // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add + if ( !expectSync ) { + if ( dataPriv.get( el, type ) === undefined ) { + jQuery.event.add( el, type, returnTrue ); + } + return; + } + + // Register the controller as a special universal handler for all event namespaces + dataPriv.set( el, type, false ); + jQuery.event.add( el, type, { + namespace: false, + handler: function( event ) { + var notAsync, result, + saved = dataPriv.get( this, type ); + + if ( ( event.isTrigger & 1 ) && this[ type ] ) { + + // Interrupt processing of the outer synthetic .trigger()ed event + // Saved data should be false in such cases, but might be a leftover capture object + // from an async native handler (gh-4350) + if ( !saved.length ) { + + // Store arguments for use when handling the inner native event + // There will always be at least one argument (an event object), so this array + // will not be confused with a leftover capture object. + saved = slice.call( arguments ); + dataPriv.set( this, type, saved ); + + // Trigger the native event and capture its result + // Support: IE <=9 - 11+ + // focus() and blur() are asynchronous + notAsync = expectSync( this, type ); + this[ type ](); + result = dataPriv.get( this, type ); + if ( saved !== result || notAsync ) { + dataPriv.set( this, type, false ); + } else { + result = {}; + } + if ( saved !== result ) { + + // Cancel the outer synthetic event + event.stopImmediatePropagation(); + event.preventDefault(); + return result.value; + } + + // If this is an inner synthetic event for an event with a bubbling surrogate + // (focus or blur), assume that the surrogate already propagated from triggering the + // native event and prevent that from happening again here. + // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the + // bubbling surrogate propagates *after* the non-bubbling base), but that seems + // less bad than duplication. + } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { + event.stopPropagation(); + } + + // If this is a native event triggered above, everything is now in order + // Fire an inner synthetic event with the original arguments + } else if ( saved.length ) { + + // ...and capture the result + dataPriv.set( this, type, { + value: jQuery.event.trigger( + + // Support: IE <=9 - 11+ + // Extend with the prototype to reset the above stopImmediatePropagation() + jQuery.extend( saved[ 0 ], jQuery.Event.prototype ), + saved.slice( 1 ), + this + ) + } ); + + // Abort handling of the native event + event.stopImmediatePropagation(); + } + } + } ); +} + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || Date.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + code: true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + + which: function( event ) { + var button = event.button; + + // Add which for key events + if ( event.which == null && rkeyEvent.test( event.type ) ) { + return event.charCode != null ? event.charCode : event.keyCode; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) { + if ( button & 1 ) { + return 1; + } + + if ( button & 2 ) { + return 3; + } + + if ( button & 4 ) { + return 2; + } + + return 0; + } + + return event.which; + } +}, jQuery.event.addProp ); + +jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { + jQuery.event.special[ type ] = { + + // Utilize native event if possible so blur/focus sequence is correct + setup: function() { + + // Claim the first handler + // dataPriv.set( this, "focus", ... ) + // dataPriv.set( this, "blur", ... ) + leverageNative( this, type, expectSync ); + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function() { + + // Force setup before trigger + leverageNative( this, type ); + + // Return non-false to allow normal event-path propagation + return true; + }, + + delegateType: delegateType + }; +} ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + + /* eslint-disable max-len */ + + // See https://github.com/eslint/eslint/issues/3229 + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi, + + /* eslint-enable */ + + // Support: IE <=10 - 11, Edge 12 - 13 only + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /\s*$/g; + +// Prefer a tbody over its parent table for containing new rows +function manipulationTarget( elem, content ) { + if ( nodeName( elem, "table" ) && + nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return jQuery( elem ).children( "tbody" )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { + elem.type = elem.type.slice( 5 ); + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.access( src ); + pdataCur = dataPriv.set( dest, pdataOld ); + events = pdataOld.events; + + if ( events ) { + delete pdataCur.handle; + pdataCur.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = concat.apply( [], args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + valueIsFunction = isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( valueIsFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( valueIsFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl && !node.noModule ) { + jQuery._evalUrl( node.src, { + nonce: node.nonce || node.getAttribute( "nonce" ) + } ); + } + } else { + DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && isAttached( node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html.replace( rxhtmlTag, "<$1>" ); + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = isAttached( elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + +var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + container.style.cssText = "position:absolute;left:-11111px;width:60px;" + + "margin-top:1px;padding:0;border:0"; + div.style.cssText = + "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + + "margin:auto;border:1px;padding:1px;" + + "width:60%;top:1%"; + documentElement.appendChild( container ).appendChild( div ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; + + // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 + // Some styles come back with percentage values, even though they shouldn't + div.style.right = "60%"; + pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; + + // Support: IE 9 - 11 only + // Detect misreporting of content dimensions for box-sizing:border-box elements + boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; + + // Support: IE 9 only + // Detect overflow:scroll screwiness (gh-3699) + // Support: Chrome <=64 + // Don't get tricked when zoom affects offsetWidth (gh-4029) + div.style.position = "absolute"; + scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + function roundPixelMeasures( measure ) { + return Math.round( parseFloat( measure ) ); + } + + var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, + reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + jQuery.extend( support, { + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelBoxStyles: function() { + computeStyleTests(); + return pixelBoxStylesVal; + }, + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + }, + scrollboxSize: function() { + computeStyleTests(); + return scrollboxSizeVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + + // Support: Firefox 51+ + // Retrieving style before computed somehow + // fixes an issue with getting wrong values + // on detached elements + style = elem.style; + + computed = computed || getStyles( elem ); + + // getPropertyValue is needed for: + // .css('filter') (IE 9 only, #12537) + // .css('--customProperty) (#3144) + if ( computed ) { + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( ret === "" && !isAttached( elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style, + vendorProps = {}; + +// Return a vendor-prefixed property or undefined +function vendorPropName( name ) { + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +// Return a potentially-mapped jQuery.cssProps or vendor prefixed property +function finalPropName( name ) { + var final = jQuery.cssProps[ name ] || vendorProps[ name ]; + + if ( final ) { + return final; + } + if ( name in emptyStyle ) { + return name; + } + return vendorProps[ name ] = vendorPropName( name ) || name; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rcustomProp = /^--/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }; + +function setPositiveNumber( elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { + var i = dimension === "width" ? 1 : 0, + extra = 0, + delta = 0; + + // Adjustment may not be necessary + if ( box === ( isBorderBox ? "border" : "content" ) ) { + return 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin + if ( box === "margin" ) { + delta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); + } + + // If we get here with a content-box, we're seeking "padding" or "border" or "margin" + if ( !isBorderBox ) { + + // Add padding + delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // For "border" or "margin", add border + if ( box !== "padding" ) { + delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + + // But still keep track of it otherwise + } else { + extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + + // If we get here with a border-box (content + padding + border), we're seeking "content" or + // "padding" or "margin" + } else { + + // For "content", subtract padding + if ( box === "content" ) { + delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // For "content" or "padding", subtract border + if ( box !== "margin" ) { + delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + // Account for positive content-box scroll gutter when requested by providing computedVal + if ( !isBorderBox && computedVal >= 0 ) { + + // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border + // Assuming integer scroll gutter, subtract the rest and round down + delta += Math.max( 0, Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + computedVal - + delta - + extra - + 0.5 + + // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter + // Use an explicit zero to avoid NaN (gh-3964) + ) ) || 0; + } + + return delta; +} + +function getWidthOrHeight( elem, dimension, extra ) { + + // Start with computed style + var styles = getStyles( elem ), + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). + // Fake content-box until we know it's needed to know the true value. + boxSizingNeeded = !support.boxSizingReliable() || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + valueIsBorderBox = isBorderBox, + + val = curCSS( elem, dimension, styles ), + offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); + + // Support: Firefox <=54 + // Return a confounding non-pixel value or feign ignorance, as appropriate. + if ( rnumnonpx.test( val ) ) { + if ( !extra ) { + return val; + } + val = "auto"; + } + + + // Fall back to offsetWidth/offsetHeight when value is "auto" + // This happens for inline elements with no explicit setting (gh-3571) + // Support: Android <=4.1 - 4.3 only + // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) + // Support: IE 9-11 only + // Also use offsetWidth/offsetHeight for when box sizing is unreliable + // We use getClientRects() to check for hidden/disconnected. + // In those cases, the computed value can be trusted to be border-box + if ( ( !support.boxSizingReliable() && isBorderBox || + val === "auto" || + !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && + elem.getClientRects().length ) { + + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // Where available, offsetWidth/offsetHeight approximate border box dimensions. + // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the + // retrieved value as a content box dimension. + valueIsBorderBox = offsetProp in elem; + if ( valueIsBorderBox ) { + val = elem[ offsetProp ]; + } + } + + // Normalize "" and auto + val = parseFloat( val ) || 0; + + // Adjust for the element's box model + return ( val + + boxModelAdjustment( + elem, + dimension, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles, + + // Provide the current computed size to request scroll gutter calculation (gh-3589) + val + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "gridArea": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnStart": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowStart": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: {}, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ), + style = elem.style; + + // Make sure that we're working with the right name. We don't + // want to query the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (#7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append + // "px" to a few hardcoded values. + if ( type === "number" && !isCustomProp ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + if ( isCustomProp ) { + style.setProperty( name, value ); + } else { + style[ name ] = value; + } + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ); + + // Make sure that we're working with the right name. We don't + // want to modify the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( i, dimension ) { + jQuery.cssHooks[ dimension ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, dimension, extra ); + } ) : + getWidthOrHeight( elem, dimension, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = getStyles( elem ), + + // Only read styles.position if the test has a chance to fail + // to avoid forcing a reflow. + scrollboxSizeBuggy = !support.scrollboxSize() && + styles.position === "absolute", + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) + boxSizingNeeded = scrollboxSizeBuggy || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + subtract = extra ? + boxModelAdjustment( + elem, + dimension, + extra, + isBorderBox, + styles + ) : + 0; + + // Account for unreliable border-box dimensions by comparing offset* to computed and + // faking a content-box to get border and padding (gh-3699) + if ( isBorderBox && scrollboxSizeBuggy ) { + subtract -= Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + parseFloat( styles[ dimension ] ) - + boxModelAdjustment( elem, dimension, "border", false, styles ) - + 0.5 + ); + } + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ dimension ] = value; + value = jQuery.css( elem, dimension ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( prefix !== "margin" ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( Array.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && ( + jQuery.cssHooks[ tween.prop ] || + tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 only +// Panic based approach to setting things on disconnected nodes +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, inProgress, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +function schedule() { + if ( inProgress ) { + if ( document.hidden === false && window.requestAnimationFrame ) { + window.requestAnimationFrame( schedule ); + } else { + window.setTimeout( schedule, jQuery.fx.interval ); + } + + jQuery.fx.tick(); + } +} + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = Date.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + i = 0, + attrs = { height: type }; + + // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // We're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree( elem ), + dataShow = dataPriv.get( elem, "fxshow" ); + + // Queue-skipping animations hijack the fx hooks + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // Ensure the complete handler is called before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // Detect show/hide animations + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.test( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + + // Ignore all other no-op show/hide data + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + } + } + + // Bail out if this is a no-op like .hide().hide() + propTween = !jQuery.isEmptyObject( props ); + if ( !propTween && jQuery.isEmptyObject( orig ) ) { + return; + } + + // Restrict "overflow" and "display" styles during box animations + if ( isBox && elem.nodeType === 1 ) { + + // Support: IE <=9 - 11, Edge 12 - 15 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY and Edge just mirrors + // the overflowX value there. + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Identify a display type, preferring old show/hide data over the CSS cascade + restoreDisplay = dataShow && dataShow.display; + if ( restoreDisplay == null ) { + restoreDisplay = dataPriv.get( elem, "display" ); + } + display = jQuery.css( elem, "display" ); + if ( display === "none" ) { + if ( restoreDisplay ) { + display = restoreDisplay; + } else { + + // Get nonempty value(s) by temporarily forcing visibility + showHide( [ elem ], true ); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css( elem, "display" ); + showHide( [ elem ] ); + } + } + + // Animate inline elements as inline-block + if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { + if ( jQuery.css( elem, "float" ) === "none" ) { + + // Restore the original display value at the end of pure show/hide animations + if ( !propTween ) { + anim.done( function() { + style.display = restoreDisplay; + } ); + if ( restoreDisplay == null ) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + + // Implement show/hide animations + propTween = false; + for ( prop in orig ) { + + // General show/hide setup for this element animation + if ( !propTween ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); + } + + // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + if ( toggle ) { + dataShow.hidden = !hidden; + } + + // Show elements before animating them + if ( hidden ) { + showHide( [ elem ], true ); + } + + /* eslint-disable no-loop-func */ + + anim.done( function() { + + /* eslint-enable no-loop-func */ + + // The final step of a "hide" animation is actually hiding the element + if ( !hidden ) { + showHide( [ elem ] ); + } + dataPriv.remove( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + } + + // Per-property setup + propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = propTween.start; + if ( hidden ) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( Array.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // Don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + // If there's more to do, yield + if ( percent < 1 && length ) { + return remaining; + } + + // If this was an empty animation, synthesize a final progress notification + if ( !length ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + } + + // Resolve the animation and report its conclusion + deferred.resolveWith( elem, [ animation ] ); + return false; + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // Resolve when we played the last frame; otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + result.stop.bind( result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + // Attach callbacks from options + animation + .progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + return animation; +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnothtmlwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !isFunction( easing ) && easing + }; + + // Go to the end state if fx are off + if ( jQuery.fx.off ) { + opt.duration = 0; + + } else { + if ( typeof opt.duration !== "number" ) { + if ( opt.duration in jQuery.fx.speeds ) { + opt.duration = jQuery.fx.speeds[ opt.duration ]; + + } else { + opt.duration = jQuery.fx.speeds._default; + } + } + } + + // Normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // Show any hidden elements after setting opacity to 0 + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() + + // Animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || dataPriv.get( this, "finish" ) ) { + anim.stop( true ); + } + }; + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue && type !== false ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = dataPriv.get( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // Enable finishing flag on private data + data.finish = true; + + // Empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // Look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // Look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // Turn off finishing flag + delete data.finish; + } ); + } +} ); + +jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + i = 0, + timers = jQuery.timers; + + fxNow = Date.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Run the timer and safely remove it when done (allowing for external removal) + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + jQuery.fx.start(); +}; + +jQuery.fx.interval = 13; +jQuery.fx.start = function() { + if ( inProgress ) { + return; + } + + inProgress = true; + schedule(); +}; + +jQuery.fx.stop = function() { + inProgress = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match( rnothtmlwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +// eslint rule "no-unused-expressions" is disabled for this code +// since it considers such accessions noop +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + + // Strip and collapse whitespace according to HTML spec + // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace + function stripAndCollapse( value ) { + var tokens = value.match( rnothtmlwhite ) || []; + return tokens.join( " " ); + } + + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +function classesToArray( value ) { + if ( Array.isArray( value ) ) { + return value; + } + if ( typeof value === "string" ) { + return value.match( rnothtmlwhite ) || []; + } + return []; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isValidValue = type === "string" || Array.isArray( value ); + + if ( typeof stateVal === "boolean" && isValidValue ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( isValidValue ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = classesToArray( value ); + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, valueIsFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } + + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; + } + + return; + } + + valueIsFunction = isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( valueIsFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( Array.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( Array.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion + + +support.focusin = "onfocusin" in window; + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + stopPropagationCallback = function( e ) { + e.stopPropagation(); + }; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = lastElement = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + lastElement = cur; + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + + if ( event.isPropagationStopped() ) { + lastElement.addEventListener( type, stopPropagationCallback ); + } + + elem[ type ](); + + if ( event.isPropagationStopped() ) { + lastElement.removeEventListener( type, stopPropagationCallback ); + } + + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +// Support: Firefox <=44 +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + dataPriv.remove( doc, fix ); + + } else { + dataPriv.access( doc, fix, attaches ); + } + } + }; + } ); +} +var location = window.location; + +var nonce = Date.now(); + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) { + xml = undefined; + } + + if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; +}; + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( Array.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && toType( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + if ( a == null ) { + return ""; + } + + // If an array was passed in, assume that it is an array of form elements. + if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ) + .filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ) + .map( function( i, elem ) { + var val = jQuery( this ).val(); + + if ( val == null ) { + return null; + } + + if ( Array.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +var + r20 = /%20/g, + rhash = /#.*$/, + rantiCache = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Anchor tag for parsing the document origin + originAnchor = document.createElement( "a" ); + originAnchor.href = location.href; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; + + if ( isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType[ 0 ] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s.throws ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test( location.protocol ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": JSON.parse, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var transport, + + // URL without anti-cache param + cacheURL, + + // Response headers + responseHeadersString, + responseHeaders, + + // timeout handle + timeoutTimer, + + // Url cleanup var + urlAnchor, + + // Request state (becomes false upon send and true upon completion) + completed, + + // To know if global events are to be dispatched + fireGlobals, + + // Loop variable + i, + + // uncached part of the url + uncached, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( completed ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() + " " ] = + ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] ) + .concat( match[ 2 ] ); + } + } + match = responseHeaders[ key.toLowerCase() + " " ]; + } + return match == null ? null : match.join( ", " ); + }, + + // Raw string + getAllResponseHeaders: function() { + return completed ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( completed == null ) { + name = requestHeadersNames[ name.toLowerCase() ] = + requestHeadersNames[ name.toLowerCase() ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( completed == null ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( completed ) { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } else { + + // Lazy-add the new callbacks in a way that preserves old ones + for ( code in map ) { + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ); + + // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || location.href ) + "" ) + .replace( rprotocol, location.protocol + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; + + // A cross-domain request is in order when the origin doesn't match the current origin. + if ( s.crossDomain == null ) { + urlAnchor = document.createElement( "a" ); + + // Support: IE <=8 - 11, Edge 12 - 15 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + try { + urlAnchor.href = s.url; + + // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== + urlAnchor.protocol + "//" + urlAnchor.host; + } catch ( e ) { + + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( completed ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + cacheURL = s.url.replace( rhash, "" ); + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // Remember the hash so we can put it back + uncached = s.url.slice( cacheURL.length ); + + // If data is available and should be processed, append data to url + if ( s.data && ( s.processData || typeof s.data === "string" ) ) { + cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; + + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add or update anti-cache param if needed + if ( s.cache === false ) { + cacheURL = cacheURL.replace( rantiCache, "$1" ); + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached; + } + + // Put hash and anti-cache on the URL that will be requested (gh-1732) + s.url = cacheURL + uncached; + + // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if ( s.data && s.processData && + ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { + s.data = s.data.replace( r20, "+" ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // Aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + completeDeferred.add( s.complete ); + jqXHR.done( s.success ); + jqXHR.fail( s.error ); + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( completed ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + completed = false; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Rethrow post-completion exceptions + if ( completed ) { + throw e; + } + + // Propagate others as results + done( -1, e ); + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Ignore repeat invocations + if ( completed ) { + return; + } + + completed = true; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // Extract error from statusText and normalize for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // Shift arguments if data argument was omitted + if ( isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + + +jQuery._evalUrl = function( url, options ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (#11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + + // Only evaluate the response if it is successful (gh-4126) + // dataFilter is not invoked for failure responses, so using it instead + // of the default converter is kludgy but it works. + converters: { + "text script": function() {} + }, + dataFilter: function( response ) { + jQuery.globalEval( response, options ); + } + } ); +}; + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var htmlIsFunction = isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +jQuery.ajaxSettings.xhr = function() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +}; + +var xhrSuccessStatus = { + + // File protocol always yields status code 0, assume 200 + 0: 200, + + // Support: IE <=9 only + // #1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +support.ajax = xhrSupported = !!xhrSupported; + +jQuery.ajaxTransport( function( options ) { + var callback, errorCallback; + + // Cross domain only allowed if supported through XMLHttpRequest + if ( support.cors || xhrSupported && !options.crossDomain ) { + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(); + + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + + // Callback + callback = function( type ) { + return function() { + if ( callback ) { + callback = errorCallback = xhr.onload = + xhr.onerror = xhr.onabort = xhr.ontimeout = + xhr.onreadystatechange = null; + + if ( type === "abort" ) { + xhr.abort(); + } else if ( type === "error" ) { + + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if ( typeof xhr.status !== "number" ) { + complete( 0, "error" ); + } else { + complete( + + // File: protocol always yields status 0; see #8605, #14207 + xhr.status, + xhr.statusText + ); + } + } else { + complete( + xhrSuccessStatus[ xhr.status ] || xhr.status, + xhr.statusText, + + // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + ( xhr.responseType || "text" ) !== "text" || + typeof xhr.responseText !== "string" ? + { binary: xhr.response } : + { text: xhr.responseText }, + xhr.getAllResponseHeaders() + ); + } + } + }; + }; + + // Listen to events + xhr.onload = callback(); + errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); + + // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + if ( xhr.onabort !== undefined ) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + + // Check readyState before timeout as it changes + if ( xhr.readyState === 4 ) { + + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout( function() { + if ( callback ) { + errorCallback(); + } + } ); + } + }; + } + + // Create the abort callback + callback = callback( "abort" ); + + try { + + // Do send the request (this may raise an exception) + xhr.send( options.hasContent && options.data || null ); + } catch ( e ) { + + // #14683: Only rethrow if this hasn't been notified as an error yet + if ( callback ) { + throw e; + } + } + }, + + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) +jQuery.ajaxPrefilter( function( s ) { + if ( s.crossDomain ) { + s.contents.script = false; + } +} ); + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and crossDomain +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain or forced-by-attrs requests + if ( s.crossDomain || s.scriptAttrs ) { + var script, callback; + return { + send: function( _, complete ) { + script = jQuery( " + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + +

Stichwortverzeichnis

+ +
+ +
+ + +
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/handouts-html/de/html/index.html b/handouts-html/de/html/index.html new file mode 100644 index 0000000..b3e508a --- /dev/null +++ b/handouts-html/de/html/index.html @@ -0,0 +1,113 @@ + + + + + + + Abschnitt Broschüren für Code in Place 2020 — Code in Place Section Handouts (2020) 0.0.1 Dokumentation + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ +
+

Abschnitt Broschüren für Code in Place 2020

+
+

Broschüren:

+ +
+
+ + +
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/handouts-html/de/html/objects.inv b/handouts-html/de/html/objects.inv new file mode 100644 index 0000000000000000000000000000000000000000..e1e533c94e4b9f25e5b2750062b682965fbce755 GIT binary patch literal 323 zcmY#Z2rkIT%&Sny%qvUHE6FdaR47X=D$dN$Q!wIERtPA{&q_@$u~Kl(Pe}!;Q3%LM zOion@28w}{cqHbfEdD`*%Q7#U~+HH1MlTPXn9AsML(MX9-onRzLxMGE<83MCnt z#R_SeIY5(&6_WFF3yM;Ui&Ik+N{ch|(iN(5GL!VUDsHv*`|>pz2(*5;JsQKnI_=$+ zUTI-re}=anv#0cBvWuR7cCI^;Md_c)x@Twid^fEXwR$WPr?4UF#v&JPPqwQCb2HcJ zzPag9t9D-fOL)(%nF?`Jlx`XdCq%aC9pTaT54@KzCoA))!Bn#+@WxFir6-y5x@KMJ z*O$4SV)Dy<`x2?&ca9$U&HOg%+LK9~(i=Vm?N9!jt8v?-*HHE5gwxL!&oKLIWFMW+ QwR}b5i6hLqhwD}W0C>}e0RR91 literal 0 HcmV?d00001 diff --git a/handouts-html/de/html/search.html b/handouts-html/de/html/search.html new file mode 100644 index 0000000..e471797 --- /dev/null +++ b/handouts-html/de/html/search.html @@ -0,0 +1,113 @@ + + + + + + + Suche — Code in Place Section Handouts (2020) 0.0.1 Dokumentation + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ +

Suche

+
+ +

+ Bitte aktivieren Sie JavaScript, wenn Sie die Suchfunktion nutzen wollen. +

+
+

+ Searching for multiple words only shows matches that contain + all words. +

+
+ + + +
+ +
+ +
+ +
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/handouts-html/de/html/searchindex.js b/handouts-html/de/html/searchindex.js new file mode 100644 index 0000000..ddfcd02 --- /dev/null +++ b/handouts-html/de/html/searchindex.js @@ -0,0 +1 @@ +Search.setIndex({docnames:["index","section1/section1"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":2,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":1,sphinx:56},filenames:["index.rst","section1/section1.rst"],objects:{},objnames:{},objtypes:{},terms:{"2nd":1,"m\u00fcssen":1,"n\u00e4chste":1,Das:1,Die:1,Dies:1,Ihr:1,Ihre:1,Sie:1,abbild:1,anfangsbeding:1,angeb:1,anzahl:1,aufgab:1,auftrag:1,ausseh:1,ausserd:1,avenu:1,bau:1,baut:1,beabstandet:1,beacht:1,bedeutet:1,beding:1,beginnt:1,bild:1,daran:1,darub:1,dass:1,denen:1,denk:1,diagramm:1,eck:1,eingerichtet:1,end:1,entlang:1,entsend:1,erfullt:1,errichtet:1,erst:1,erstellt:1,flut:1,folgend:1,folgendermass:1,funktioni:1,fur:1,gebaut:1,geg:1,geh:1,genannt:1,genau:1,gezeigt:1,handout:0,haus:1,hausbaurobot:1,hinaus:1,hochwassergebiet:1,information:1,infrastruktur:1,jed:1,konnt:1,lauf:1,letzt:1,link:1,markiert:1,mau:1,neu:1,nutz:1,oben:1,obig:1,ohn:1,ost:1,ostlich:1,pieps:1,piepsertasch:1,piepton:1,plan:1,platz:1,position:1,programm:1,programmi:1,projekt:1,rahm:1,rand:1,reicht:1,reih:1,reparatur:1,reprasentiert:1,richtig:1,robot:1,schad:1,schau:1,schreib:1,sollen:1,sollt:1,stell:1,stelz:1,stoss:1,strass:1,sudost:1,tatsach:1,treff:1,trumm:1,trummerhauf:1,uber:1,uberlapp:1,umsetz:1,unend:1,unt:1,unterstutz:1,vermeid:1,vorhand:1,wand:1,welt:1,weltweit:1,werd:1,westlich:1,wiederaufbau:1,wurd:1,zentriert:1,zuruckgelass:1},titles:["Abschnitt Brosch\u00fcren f\u00fcr Code in Place 2020","Abschnitt Handout 1"],titleterms:{abschnitt:[0,1],broschur:0,cod:0,fur:0,handout:1,karel:1,nation:1,plac:0,vereint:1}}) \ No newline at end of file diff --git a/handouts-html/de/html/section1/section1.html b/handouts-html/de/html/section1/section1.html new file mode 100644 index 0000000..1cb72f7 --- /dev/null +++ b/handouts-html/de/html/section1/section1.html @@ -0,0 +1,125 @@ + + + + + + + Abschnitt Handout 1 — Code in Place Section Handouts (2020) 0.0.1 Dokumentation + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ +
+

Abschnitt Handout 1

+
+

Karel der Vereinten Nationen

+

Im Rahmen ihrer Pläne, den weltweiten Wiederaufbau der Infrastruktur zu unterstützen, haben die Vereinten Nationen - das ist richtig, die UN nutzen Karel - ein neues Programm mit dem Auftrag eingerichtet, Hausbauroboter zur Reparatur von Hochwassergebieten zu entsenden.

+

Ihre Aufgabe ist es, diese Roboter zu programmieren.

+

Jeder Roboter beginnt am westlichen Ende einer Straße, die folgendermaßen aussehen könnte:

+Initial World Layout for United Nations Karel +

Jeder Piepser in der Abbildung repräsentiert einen Trümmerhaufen. Karels Aufgabe ist es, die Straße entlang zu gehen und an den von jedem Piepser markierten Stellen ein neues Haus zu bauen. Darüber hinaus müssen diese Häuser auf Stelzen errichtet werden, um Schäden durch die nächste Flut zu vermeiden. Tatsächlich sollte jedes Haus genau wie auf dem Bild unten aussehen:

+A House made out of Beepers +

Das neue Haus sollte an der Stelle zentriert sein, an der die Trümmer zurückgelassen wurden. Dies bedeutet, dass das erste Haus im obigen Diagramm mit dem linken Rand entlang der 2nd Avenue gebaut wird. Am Ende des Laufs sollte Karel am östlichen Ende der Straße sein und eine Reihe von Häusern erstellt haben, die für die gezeigten Anfangsbedingungen so aussehen:

+Final world layout for United Nations Karel +

Beachten Sie die folgenden Informationen über die Welt:

+
    +
  • Karel beginnt bei (1, 1) mit einer unendlichen Anzahl von Pieptönen in seiner Piepsertasche nach Osten zu schauen.

  • +
  • Die Piepser, die die Positionen angeben, an denen Häuser gebaut werden sollen, sind so beabstandet, dass Platz zum Bauen der Häuser vorhanden ist, ohne dass sich Wände überlappen oder treffen.

  • +
  • Karel muss an der südöstlichen Ecke der Welt nach Osten schauen. Außerdem sollte Karel nicht gegen eine Mauer stoßen, wenn er ein Haus baut, das bis in diese letzte Ecke reicht.

  • +
+

Schreiben Sie ein Programm zur Umsetzung des Karel-Projekts der Vereinten Nationen. Denken Sie daran, dass Ihr Programm für jede Welt funktionieren sollte, die die oben genannten Bedingungen erfüllt.

+
+
+ + +
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/handouts-html/en/_static/alabaster.css b/handouts-html/en/_static/alabaster.css new file mode 100644 index 0000000..0eddaeb --- /dev/null +++ b/handouts-html/en/_static/alabaster.css @@ -0,0 +1,701 @@ +@import url("basic.css"); + +/* -- page layout ----------------------------------------------------------- */ + +body { + font-family: Georgia, serif; + font-size: 17px; + background-color: #fff; + color: #000; + margin: 0; + padding: 0; +} + + +div.document { + width: 940px; + margin: 30px auto 0 auto; +} + +div.documentwrapper { + float: left; + width: 100%; +} + +div.bodywrapper { + margin: 0 0 0 220px; +} + +div.sphinxsidebar { + width: 220px; + font-size: 14px; + line-height: 1.5; +} + +hr { + border: 1px solid #B1B4B6; +} + +div.body { + background-color: #fff; + color: #3E4349; + padding: 0 30px 0 30px; +} + +div.body > .section { + text-align: left; +} + +div.footer { + width: 940px; + margin: 20px auto 30px auto; + font-size: 14px; + color: #888; + text-align: right; +} + +div.footer a { + color: #888; +} + +p.caption { + font-family: inherit; + font-size: inherit; +} + + +div.relations { + display: none; +} + + +div.sphinxsidebar a { + color: #444; + text-decoration: none; + border-bottom: 1px dotted #999; +} + +div.sphinxsidebar a:hover { + border-bottom: 1px solid #999; +} + +div.sphinxsidebarwrapper { + padding: 18px 10px; +} + +div.sphinxsidebarwrapper p.logo { + padding: 0; + margin: -10px 0 0 0px; + text-align: center; +} + +div.sphinxsidebarwrapper h1.logo { + margin-top: -10px; + text-align: center; + margin-bottom: 5px; + text-align: left; +} + +div.sphinxsidebarwrapper h1.logo-name { + margin-top: 0px; +} + +div.sphinxsidebarwrapper p.blurb { + margin-top: 0; + font-style: normal; +} + +div.sphinxsidebar h3, +div.sphinxsidebar h4 { + font-family: Georgia, serif; + color: #444; + font-size: 24px; + font-weight: normal; + margin: 0 0 5px 0; + padding: 0; +} + +div.sphinxsidebar h4 { + font-size: 20px; +} + +div.sphinxsidebar h3 a { + color: #444; +} + +div.sphinxsidebar p.logo a, +div.sphinxsidebar h3 a, +div.sphinxsidebar p.logo a:hover, +div.sphinxsidebar h3 a:hover { + border: none; +} + +div.sphinxsidebar p { + color: #555; + margin: 10px 0; +} + +div.sphinxsidebar ul { + margin: 10px 0; + padding: 0; + color: #000; +} + +div.sphinxsidebar ul li.toctree-l1 > a { + font-size: 120%; +} + +div.sphinxsidebar ul li.toctree-l2 > a { + font-size: 110%; +} + +div.sphinxsidebar input { + border: 1px solid #CCC; + font-family: Georgia, serif; + font-size: 1em; +} + +div.sphinxsidebar hr { + border: none; + height: 1px; + color: #AAA; + background: #AAA; + + text-align: left; + margin-left: 0; + width: 50%; +} + +div.sphinxsidebar .badge { + border-bottom: none; +} + +div.sphinxsidebar .badge:hover { + border-bottom: none; +} + +/* To address an issue with donation coming after search */ +div.sphinxsidebar h3.donation { + margin-top: 10px; +} + +/* -- body styles ----------------------------------------------------------- */ + +a { + color: #004B6B; + text-decoration: underline; +} + +a:hover { + color: #6D4100; + text-decoration: underline; +} + +div.body h1, +div.body h2, +div.body h3, +div.body h4, +div.body h5, +div.body h6 { + font-family: Georgia, serif; + font-weight: normal; + margin: 30px 0px 10px 0px; + padding: 0; +} + +div.body h1 { margin-top: 0; padding-top: 0; font-size: 240%; } +div.body h2 { font-size: 180%; } +div.body h3 { font-size: 150%; } +div.body h4 { font-size: 130%; } +div.body h5 { font-size: 100%; } +div.body h6 { font-size: 100%; } + +a.headerlink { + color: #DDD; + padding: 0 4px; + text-decoration: none; +} + +a.headerlink:hover { + color: #444; + background: #EAEAEA; +} + +div.body p, div.body dd, div.body li { + line-height: 1.4em; +} + +div.admonition { + margin: 20px 0px; + padding: 10px 30px; + background-color: #EEE; + border: 1px solid #CCC; +} + +div.admonition tt.xref, div.admonition code.xref, div.admonition a tt { + background-color: #FBFBFB; + border-bottom: 1px solid #fafafa; +} + +div.admonition p.admonition-title { + font-family: Georgia, serif; + font-weight: normal; + font-size: 24px; + margin: 0 0 10px 0; + padding: 0; + line-height: 1; +} + +div.admonition p.last { + margin-bottom: 0; +} + +div.highlight { + background-color: #fff; +} + +dt:target, .highlight { + background: #FAF3E8; +} + +div.warning { + background-color: #FCC; + border: 1px solid #FAA; +} + +div.danger { + background-color: #FCC; + border: 1px solid #FAA; + -moz-box-shadow: 2px 2px 4px #D52C2C; + -webkit-box-shadow: 2px 2px 4px #D52C2C; + box-shadow: 2px 2px 4px #D52C2C; +} + +div.error { + background-color: #FCC; + border: 1px solid #FAA; + -moz-box-shadow: 2px 2px 4px #D52C2C; + -webkit-box-shadow: 2px 2px 4px #D52C2C; + box-shadow: 2px 2px 4px #D52C2C; +} + +div.caution { + background-color: #FCC; + border: 1px solid #FAA; +} + +div.attention { + background-color: #FCC; + border: 1px solid #FAA; +} + +div.important { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.note { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.tip { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.hint { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.seealso { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.topic { + background-color: #EEE; +} + +p.admonition-title { + display: inline; +} + +p.admonition-title:after { + content: ":"; +} + +pre, tt, code { + font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; + font-size: 0.9em; +} + +.hll { + background-color: #FFC; + margin: 0 -12px; + padding: 0 12px; + display: block; +} + +img.screenshot { +} + +tt.descname, tt.descclassname, code.descname, code.descclassname { + font-size: 0.95em; +} + +tt.descname, code.descname { + padding-right: 0.08em; +} + +img.screenshot { + -moz-box-shadow: 2px 2px 4px #EEE; + -webkit-box-shadow: 2px 2px 4px #EEE; + box-shadow: 2px 2px 4px #EEE; +} + +table.docutils { + border: 1px solid #888; + -moz-box-shadow: 2px 2px 4px #EEE; + -webkit-box-shadow: 2px 2px 4px #EEE; + box-shadow: 2px 2px 4px #EEE; +} + +table.docutils td, table.docutils th { + border: 1px solid #888; + padding: 0.25em 0.7em; +} + +table.field-list, table.footnote { + border: none; + -moz-box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; +} + +table.footnote { + margin: 15px 0; + width: 100%; + border: 1px solid #EEE; + background: #FDFDFD; + font-size: 0.9em; +} + +table.footnote + table.footnote { + margin-top: -15px; + border-top: none; +} + +table.field-list th { + padding: 0 0.8em 0 0; +} + +table.field-list td { + padding: 0; +} + +table.field-list p { + margin-bottom: 0.8em; +} + +/* Cloned from + * https://github.com/sphinx-doc/sphinx/commit/ef60dbfce09286b20b7385333d63a60321784e68 + */ +.field-name { + -moz-hyphens: manual; + -ms-hyphens: manual; + -webkit-hyphens: manual; + hyphens: manual; +} + +table.footnote td.label { + width: .1px; + padding: 0.3em 0 0.3em 0.5em; +} + +table.footnote td { + padding: 0.3em 0.5em; +} + +dl { + margin: 0; + padding: 0; +} + +dl dd { + margin-left: 30px; +} + +blockquote { + margin: 0 0 0 30px; + padding: 0; +} + +ul, ol { + /* Matches the 30px from the narrow-screen "li > ul" selector below */ + margin: 10px 0 10px 30px; + padding: 0; +} + +pre { + background: #EEE; + padding: 7px 30px; + margin: 15px 0px; + line-height: 1.3em; +} + +div.viewcode-block:target { + background: #ffd; +} + +dl pre, blockquote pre, li pre { + margin-left: 0; + padding-left: 30px; +} + +tt, code { + background-color: #ecf0f3; + color: #222; + /* padding: 1px 2px; */ +} + +tt.xref, code.xref, a tt { + background-color: #FBFBFB; + border-bottom: 1px solid #fff; +} + +a.reference { + text-decoration: none; + border-bottom: 1px dotted #004B6B; +} + +/* Don't put an underline on images */ +a.image-reference, a.image-reference:hover { + border-bottom: none; +} + +a.reference:hover { + border-bottom: 1px solid #6D4100; +} + +a.footnote-reference { + text-decoration: none; + font-size: 0.7em; + vertical-align: top; + border-bottom: 1px dotted #004B6B; +} + +a.footnote-reference:hover { + border-bottom: 1px solid #6D4100; +} + +a:hover tt, a:hover code { + background: #EEE; +} + + +@media screen and (max-width: 870px) { + + div.sphinxsidebar { + display: none; + } + + div.document { + width: 100%; + + } + + div.documentwrapper { + margin-left: 0; + margin-top: 0; + margin-right: 0; + margin-bottom: 0; + } + + div.bodywrapper { + margin-top: 0; + margin-right: 0; + margin-bottom: 0; + margin-left: 0; + } + + ul { + margin-left: 0; + } + + li > ul { + /* Matches the 30px from the "ul, ol" selector above */ + margin-left: 30px; + } + + .document { + width: auto; + } + + .footer { + width: auto; + } + + .bodywrapper { + margin: 0; + } + + .footer { + width: auto; + } + + .github { + display: none; + } + + + +} + + + +@media screen and (max-width: 875px) { + + body { + margin: 0; + padding: 20px 30px; + } + + div.documentwrapper { + float: none; + background: #fff; + } + + div.sphinxsidebar { + display: block; + float: none; + width: 102.5%; + margin: 50px -30px -20px -30px; + padding: 10px 20px; + background: #333; + color: #FFF; + } + + div.sphinxsidebar h3, div.sphinxsidebar h4, div.sphinxsidebar p, + div.sphinxsidebar h3 a { + color: #fff; + } + + div.sphinxsidebar a { + color: #AAA; + } + + div.sphinxsidebar p.logo { + display: none; + } + + div.document { + width: 100%; + margin: 0; + } + + div.footer { + display: none; + } + + div.bodywrapper { + margin: 0; + } + + div.body { + min-height: 0; + padding: 0; + } + + .rtd_doc_footer { + display: none; + } + + .document { + width: auto; + } + + .footer { + width: auto; + } + + .footer { + width: auto; + } + + .github { + display: none; + } +} + + +/* misc. */ + +.revsys-inline { + display: none!important; +} + +/* Make nested-list/multi-paragraph items look better in Releases changelog + * pages. Without this, docutils' magical list fuckery causes inconsistent + * formatting between different release sub-lists. + */ +div#changelog > div.section > ul > li > p:only-child { + margin-bottom: 0; +} + +/* Hide fugly table cell borders in ..bibliography:: directive output */ +table.docutils.citation, table.docutils.citation td, table.docutils.citation th { + border: none; + /* Below needed in some edge cases; if not applied, bottom shadows appear */ + -moz-box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; +} + + +/* relbar */ + +.related { + line-height: 30px; + width: 100%; + font-size: 0.9rem; +} + +.related.top { + border-bottom: 1px solid #EEE; + margin-bottom: 20px; +} + +.related.bottom { + border-top: 1px solid #EEE; +} + +.related ul { + padding: 0; + margin: 0; + list-style: none; +} + +.related li { + display: inline; +} + +nav#rellinks { + float: right; +} + +nav#rellinks li+li:before { + content: "|"; +} + +nav#breadcrumbs li+li:before { + content: "\00BB"; +} + +/* Hide certain items when printing */ +@media print { + div.related { + display: none; + } +} \ No newline at end of file diff --git a/handouts-html/en/_static/basic.css b/handouts-html/en/_static/basic.css new file mode 100644 index 0000000..0119285 --- /dev/null +++ b/handouts-html/en/_static/basic.css @@ -0,0 +1,768 @@ +/* + * basic.css + * ~~~~~~~~~ + * + * Sphinx stylesheet -- basic theme. + * + * :copyright: Copyright 2007-2020 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/* -- main layout ----------------------------------------------------------- */ + +div.clearer { + clear: both; +} + +/* -- relbar ---------------------------------------------------------------- */ + +div.related { + width: 100%; + font-size: 90%; +} + +div.related h3 { + display: none; +} + +div.related ul { + margin: 0; + padding: 0 0 0 10px; + list-style: none; +} + +div.related li { + display: inline; +} + +div.related li.right { + float: right; + margin-right: 5px; +} + +/* -- sidebar --------------------------------------------------------------- */ + +div.sphinxsidebarwrapper { + padding: 10px 5px 0 10px; +} + +div.sphinxsidebar { + float: left; + width: 230px; + margin-left: -100%; + font-size: 90%; + word-wrap: break-word; + overflow-wrap : break-word; +} + +div.sphinxsidebar ul { + list-style: none; +} + +div.sphinxsidebar ul ul, +div.sphinxsidebar ul.want-points { + margin-left: 20px; + list-style: square; +} + +div.sphinxsidebar ul ul { + margin-top: 0; + margin-bottom: 0; +} + +div.sphinxsidebar form { + margin-top: 10px; +} + +div.sphinxsidebar input { + border: 1px solid #98dbcc; + font-family: sans-serif; + font-size: 1em; +} + +div.sphinxsidebar #searchbox form.search { + overflow: hidden; +} + +div.sphinxsidebar #searchbox input[type="text"] { + float: left; + width: 80%; + padding: 0.25em; + box-sizing: border-box; +} + +div.sphinxsidebar #searchbox input[type="submit"] { + float: left; + width: 20%; + border-left: none; + padding: 0.25em; + box-sizing: border-box; +} + + +img { + border: 0; + max-width: 100%; +} + +/* -- search page ----------------------------------------------------------- */ + +ul.search { + margin: 10px 0 0 20px; + padding: 0; +} + +ul.search li { + padding: 5px 0 5px 20px; + background-image: url(file.png); + background-repeat: no-repeat; + background-position: 0 7px; +} + +ul.search li a { + font-weight: bold; +} + +ul.search li div.context { + color: #888; + margin: 2px 0 0 30px; + text-align: left; +} + +ul.keywordmatches li.goodmatch a { + font-weight: bold; +} + +/* -- index page ------------------------------------------------------------ */ + +table.contentstable { + width: 90%; + margin-left: auto; + margin-right: auto; +} + +table.contentstable p.biglink { + line-height: 150%; +} + +a.biglink { + font-size: 1.3em; +} + +span.linkdescr { + font-style: italic; + padding-top: 5px; + font-size: 90%; +} + +/* -- general index --------------------------------------------------------- */ + +table.indextable { + width: 100%; +} + +table.indextable td { + text-align: left; + vertical-align: top; +} + +table.indextable ul { + margin-top: 0; + margin-bottom: 0; + list-style-type: none; +} + +table.indextable > tbody > tr > td > ul { + padding-left: 0em; +} + +table.indextable tr.pcap { + height: 10px; +} + +table.indextable tr.cap { + margin-top: 10px; + background-color: #f2f2f2; +} + +img.toggler { + margin-right: 3px; + margin-top: 3px; + cursor: pointer; +} + +div.modindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +div.genindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +/* -- domain module index --------------------------------------------------- */ + +table.modindextable td { + padding: 2px; + border-collapse: collapse; +} + +/* -- general body styles --------------------------------------------------- */ + +div.body { + min-width: 450px; + max-width: 800px; +} + +div.body p, div.body dd, div.body li, div.body blockquote { + -moz-hyphens: auto; + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} + +a.headerlink { + visibility: hidden; +} + +a.brackets:before, +span.brackets > a:before{ + content: "["; +} + +a.brackets:after, +span.brackets > a:after { + content: "]"; +} + +h1:hover > a.headerlink, +h2:hover > a.headerlink, +h3:hover > a.headerlink, +h4:hover > a.headerlink, +h5:hover > a.headerlink, +h6:hover > a.headerlink, +dt:hover > a.headerlink, +caption:hover > a.headerlink, +p.caption:hover > a.headerlink, +div.code-block-caption:hover > a.headerlink { + visibility: visible; +} + +div.body p.caption { + text-align: inherit; +} + +div.body td { + text-align: left; +} + +.first { + margin-top: 0 !important; +} + +p.rubric { + margin-top: 30px; + font-weight: bold; +} + +img.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +img.align-default, .figure.align-default { + display: block; + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-default { + text-align: center; +} + +.align-right { + text-align: right; +} + +/* -- sidebars -------------------------------------------------------------- */ + +div.sidebar { + margin: 0 0 0.5em 1em; + border: 1px solid #ddb; + padding: 7px 7px 0 7px; + background-color: #ffe; + width: 40%; + float: right; +} + +p.sidebar-title { + font-weight: bold; +} + +/* -- topics ---------------------------------------------------------------- */ + +div.topic { + border: 1px solid #ccc; + padding: 7px 7px 0 7px; + margin: 10px 0 10px 0; +} + +p.topic-title { + font-size: 1.1em; + font-weight: bold; + margin-top: 10px; +} + +/* -- admonitions ----------------------------------------------------------- */ + +div.admonition { + margin-top: 10px; + margin-bottom: 10px; + padding: 7px; +} + +div.admonition dt { + font-weight: bold; +} + +div.admonition dl { + margin-bottom: 0; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +div.body p.centered { + text-align: center; + margin-top: 25px; +} + +/* -- tables ---------------------------------------------------------------- */ + +table.docutils { + border: 0; + border-collapse: collapse; +} + +table.align-center { + margin-left: auto; + margin-right: auto; +} + +table.align-default { + margin-left: auto; + margin-right: auto; +} + +table caption span.caption-number { + font-style: italic; +} + +table caption span.caption-text { +} + +table.docutils td, table.docutils th { + padding: 1px 8px 1px 5px; + border-top: 0; + border-left: 0; + border-right: 0; + border-bottom: 1px solid #aaa; +} + +table.footnote td, table.footnote th { + border: 0 !important; +} + +th { + text-align: left; + padding-right: 5px; +} + +table.citation { + border-left: solid 1px gray; + margin-left: 1px; +} + +table.citation td { + border-bottom: none; +} + +th > p:first-child, +td > p:first-child { + margin-top: 0px; +} + +th > p:last-child, +td > p:last-child { + margin-bottom: 0px; +} + +/* -- figures --------------------------------------------------------------- */ + +div.figure { + margin: 0.5em; + padding: 0.5em; +} + +div.figure p.caption { + padding: 0.3em; +} + +div.figure p.caption span.caption-number { + font-style: italic; +} + +div.figure p.caption span.caption-text { +} + +/* -- field list styles ----------------------------------------------------- */ + +table.field-list td, table.field-list th { + border: 0 !important; +} + +.field-list ul { + margin: 0; + padding-left: 1em; +} + +.field-list p { + margin: 0; +} + +.field-name { + -moz-hyphens: manual; + -ms-hyphens: manual; + -webkit-hyphens: manual; + hyphens: manual; +} + +/* -- hlist styles ---------------------------------------------------------- */ + +table.hlist td { + vertical-align: top; +} + + +/* -- other body styles ----------------------------------------------------- */ + +ol.arabic { + list-style: decimal; +} + +ol.loweralpha { + list-style: lower-alpha; +} + +ol.upperalpha { + list-style: upper-alpha; +} + +ol.lowerroman { + list-style: lower-roman; +} + +ol.upperroman { + list-style: upper-roman; +} + +li > p:first-child { + margin-top: 0px; +} + +li > p:last-child { + margin-bottom: 0px; +} + +dl.footnote > dt, +dl.citation > dt { + float: left; +} + +dl.footnote > dd, +dl.citation > dd { + margin-bottom: 0em; +} + +dl.footnote > dd:after, +dl.citation > dd:after { + content: ""; + clear: both; +} + +dl.field-list { + display: grid; + grid-template-columns: fit-content(30%) auto; +} + +dl.field-list > dt { + font-weight: bold; + word-break: break-word; + padding-left: 0.5em; + padding-right: 5px; +} + +dl.field-list > dt:after { + content: ":"; +} + +dl.field-list > dd { + padding-left: 0.5em; + margin-top: 0em; + margin-left: 0em; + margin-bottom: 0em; +} + +dl { + margin-bottom: 15px; +} + +dd > p:first-child { + margin-top: 0px; +} + +dd ul, dd table { + margin-bottom: 10px; +} + +dd { + margin-top: 3px; + margin-bottom: 10px; + margin-left: 30px; +} + +dt:target, span.highlighted { + background-color: #fbe54e; +} + +rect.highlighted { + fill: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.versionmodified { + font-style: italic; +} + +.system-message { + background-color: #fda; + padding: 5px; + border: 3px solid red; +} + +.footnote:target { + background-color: #ffa; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +.guilabel, .menuselection { + font-family: sans-serif; +} + +.accelerator { + text-decoration: underline; +} + +.classifier { + font-style: oblique; +} + +.classifier:before { + font-style: normal; + margin: 0.5em; + content: ":"; +} + +abbr, acronym { + border-bottom: dotted 1px; + cursor: help; +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +span.pre { + -moz-hyphens: none; + -ms-hyphens: none; + -webkit-hyphens: none; + hyphens: none; +} + +td.linenos pre { + padding: 5px 0px; + border: 0; + background-color: transparent; + color: #aaa; +} + +table.highlighttable { + margin-left: 0.5em; +} + +table.highlighttable td { + padding: 0 0.5em 0 0.5em; +} + +div.code-block-caption { + padding: 2px 5px; + font-size: small; +} + +div.code-block-caption code { + background-color: transparent; +} + +div.code-block-caption + div > div.highlight > pre { + margin-top: 0; +} + +div.doctest > div.highlight span.gp { /* gp: Generic.Prompt */ + user-select: none; +} + +div.code-block-caption span.caption-number { + padding: 0.1em 0.3em; + font-style: italic; +} + +div.code-block-caption span.caption-text { +} + +div.literal-block-wrapper { + padding: 1em 1em 0; +} + +div.literal-block-wrapper div.highlight { + margin: 0; +} + +code.descname { + background-color: transparent; + font-weight: bold; + font-size: 1.2em; +} + +code.descclassname { + background-color: transparent; +} + +code.xref, a code { + background-color: transparent; + font-weight: bold; +} + +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + background-color: transparent; +} + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family: sans-serif; +} + +div.viewcode-block:target { + margin: -1px -10px; + padding: 0 10px; +} + +/* -- math display ---------------------------------------------------------- */ + +img.math { + vertical-align: middle; +} + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} + +span.eqno a.headerlink { + position: relative; + left: 0px; + z-index: 1; +} + +div.math:hover a.headerlink { + visibility: visible; +} + +/* -- printout stylesheet --------------------------------------------------- */ + +@media print { + div.document, + div.documentwrapper, + div.bodywrapper { + margin: 0 !important; + width: 100%; + } + + div.sphinxsidebar, + div.related, + div.footer, + #top-link { + display: none; + } +} \ No newline at end of file diff --git a/handouts-html/en/_static/custom.css b/handouts-html/en/_static/custom.css new file mode 100644 index 0000000..2a924f1 --- /dev/null +++ b/handouts-html/en/_static/custom.css @@ -0,0 +1 @@ +/* This file intentionally left blank. */ diff --git a/handouts-html/en/_static/doctools.js b/handouts-html/en/_static/doctools.js new file mode 100644 index 0000000..daccd20 --- /dev/null +++ b/handouts-html/en/_static/doctools.js @@ -0,0 +1,315 @@ +/* + * doctools.js + * ~~~~~~~~~~~ + * + * Sphinx JavaScript utilities for all documentation. + * + * :copyright: Copyright 2007-2020 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/** + * select a different prefix for underscore + */ +$u = _.noConflict(); + +/** + * make the code below compatible with browsers without + * an installed firebug like debugger +if (!window.console || !console.firebug) { + var names = ["log", "debug", "info", "warn", "error", "assert", "dir", + "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", + "profile", "profileEnd"]; + window.console = {}; + for (var i = 0; i < names.length; ++i) + window.console[names[i]] = function() {}; +} + */ + +/** + * small helper function to urldecode strings + */ +jQuery.urldecode = function(x) { + return decodeURIComponent(x).replace(/\+/g, ' '); +}; + +/** + * small helper function to urlencode strings + */ +jQuery.urlencode = encodeURIComponent; + +/** + * This function returns the parsed url parameters of the + * current request. Multiple values per key are supported, + * it will always return arrays of strings for the value parts. + */ +jQuery.getQueryParameters = function(s) { + if (typeof s === 'undefined') + s = document.location.search; + var parts = s.substr(s.indexOf('?') + 1).split('&'); + var result = {}; + for (var i = 0; i < parts.length; i++) { + var tmp = parts[i].split('=', 2); + var key = jQuery.urldecode(tmp[0]); + var value = jQuery.urldecode(tmp[1]); + if (key in result) + result[key].push(value); + else + result[key] = [value]; + } + return result; +}; + +/** + * highlight a given string on a jquery object by wrapping it in + * span elements with the given class name. + */ +jQuery.fn.highlightText = function(text, className) { + function highlight(node, addItems) { + if (node.nodeType === 3) { + var val = node.nodeValue; + var pos = val.toLowerCase().indexOf(text); + if (pos >= 0 && + !jQuery(node.parentNode).hasClass(className) && + !jQuery(node.parentNode).hasClass("nohighlight")) { + var span; + var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg"); + if (isInSVG) { + span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); + } else { + span = document.createElement("span"); + span.className = className; + } + span.appendChild(document.createTextNode(val.substr(pos, text.length))); + node.parentNode.insertBefore(span, node.parentNode.insertBefore( + document.createTextNode(val.substr(pos + text.length)), + node.nextSibling)); + node.nodeValue = val.substr(0, pos); + if (isInSVG) { + var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect"); + var bbox = node.parentElement.getBBox(); + rect.x.baseVal.value = bbox.x; + rect.y.baseVal.value = bbox.y; + rect.width.baseVal.value = bbox.width; + rect.height.baseVal.value = bbox.height; + rect.setAttribute('class', className); + addItems.push({ + "parent": node.parentNode, + "target": rect}); + } + } + } + else if (!jQuery(node).is("button, select, textarea")) { + jQuery.each(node.childNodes, function() { + highlight(this, addItems); + }); + } + } + var addItems = []; + var result = this.each(function() { + highlight(this, addItems); + }); + for (var i = 0; i < addItems.length; ++i) { + jQuery(addItems[i].parent).before(addItems[i].target); + } + return result; +}; + +/* + * backward compatibility for jQuery.browser + * This will be supported until firefox bug is fixed. + */ +if (!jQuery.browser) { + jQuery.uaMatch = function(ua) { + ua = ua.toLowerCase(); + + var match = /(chrome)[ \/]([\w.]+)/.exec(ua) || + /(webkit)[ \/]([\w.]+)/.exec(ua) || + /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) || + /(msie) ([\w.]+)/.exec(ua) || + ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) || + []; + + return { + browser: match[ 1 ] || "", + version: match[ 2 ] || "0" + }; + }; + jQuery.browser = {}; + jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true; +} + +/** + * Small JavaScript module for the documentation. + */ +var Documentation = { + + init : function() { + this.fixFirefoxAnchorBug(); + this.highlightSearchWords(); + this.initIndexTable(); + if (DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) { + this.initOnKeyListeners(); + } + }, + + /** + * i18n support + */ + TRANSLATIONS : {}, + PLURAL_EXPR : function(n) { return n === 1 ? 0 : 1; }, + LOCALE : 'unknown', + + // gettext and ngettext don't access this so that the functions + // can safely bound to a different name (_ = Documentation.gettext) + gettext : function(string) { + var translated = Documentation.TRANSLATIONS[string]; + if (typeof translated === 'undefined') + return string; + return (typeof translated === 'string') ? translated : translated[0]; + }, + + ngettext : function(singular, plural, n) { + var translated = Documentation.TRANSLATIONS[singular]; + if (typeof translated === 'undefined') + return (n == 1) ? singular : plural; + return translated[Documentation.PLURALEXPR(n)]; + }, + + addTranslations : function(catalog) { + for (var key in catalog.messages) + this.TRANSLATIONS[key] = catalog.messages[key]; + this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')'); + this.LOCALE = catalog.locale; + }, + + /** + * add context elements like header anchor links + */ + addContextElements : function() { + $('div[id] > :header:first').each(function() { + $('\u00B6'). + attr('href', '#' + this.id). + attr('title', _('Permalink to this headline')). + appendTo(this); + }); + $('dt[id]').each(function() { + $('\u00B6'). + attr('href', '#' + this.id). + attr('title', _('Permalink to this definition')). + appendTo(this); + }); + }, + + /** + * workaround a firefox stupidity + * see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075 + */ + fixFirefoxAnchorBug : function() { + if (document.location.hash && $.browser.mozilla) + window.setTimeout(function() { + document.location.href += ''; + }, 10); + }, + + /** + * highlight the search words provided in the url in the text + */ + highlightSearchWords : function() { + var params = $.getQueryParameters(); + var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : []; + if (terms.length) { + var body = $('div.body'); + if (!body.length) { + body = $('body'); + } + window.setTimeout(function() { + $.each(terms, function() { + body.highlightText(this.toLowerCase(), 'highlighted'); + }); + }, 10); + $('') + .appendTo($('#searchbox')); + } + }, + + /** + * init the domain index toggle buttons + */ + initIndexTable : function() { + var togglers = $('img.toggler').click(function() { + var src = $(this).attr('src'); + var idnum = $(this).attr('id').substr(7); + $('tr.cg-' + idnum).toggle(); + if (src.substr(-9) === 'minus.png') + $(this).attr('src', src.substr(0, src.length-9) + 'plus.png'); + else + $(this).attr('src', src.substr(0, src.length-8) + 'minus.png'); + }).css('display', ''); + if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) { + togglers.click(); + } + }, + + /** + * helper function to hide the search marks again + */ + hideSearchWords : function() { + $('#searchbox .highlight-link').fadeOut(300); + $('span.highlighted').removeClass('highlighted'); + }, + + /** + * make the url absolute + */ + makeURL : function(relativeURL) { + return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL; + }, + + /** + * get the current relative url + */ + getCurrentURL : function() { + var path = document.location.pathname; + var parts = path.split(/\//); + $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() { + if (this === '..') + parts.pop(); + }); + var url = parts.join('/'); + return path.substring(url.lastIndexOf('/') + 1, path.length - 1); + }, + + initOnKeyListeners: function() { + $(document).keydown(function(event) { + var activeElementType = document.activeElement.tagName; + // don't navigate when in search box or textarea + if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT' + && !event.altKey && !event.ctrlKey && !event.metaKey && !event.shiftKey) { + switch (event.keyCode) { + case 37: // left + var prevHref = $('link[rel="prev"]').prop('href'); + if (prevHref) { + window.location.href = prevHref; + return false; + } + case 39: // right + var nextHref = $('link[rel="next"]').prop('href'); + if (nextHref) { + window.location.href = nextHref; + return false; + } + } + } + }); + } +}; + +// quick alias for translations +_ = Documentation.gettext; + +$(document).ready(function() { + Documentation.init(); +}); diff --git a/handouts-html/en/_static/documentation_options.js b/handouts-html/en/_static/documentation_options.js new file mode 100644 index 0000000..23fc755 --- /dev/null +++ b/handouts-html/en/_static/documentation_options.js @@ -0,0 +1,12 @@ +var DOCUMENTATION_OPTIONS = { + URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), + VERSION: '0.0.1', + LANGUAGE: 'None', + COLLAPSE_INDEX: false, + BUILDER: 'html', + FILE_SUFFIX: '.html', + LINK_SUFFIX: '.html', + HAS_SOURCE: true, + SOURCELINK_SUFFIX: '.txt', + NAVIGATION_WITH_KEYS: false +}; \ No newline at end of file diff --git a/handouts-html/en/_static/file.png b/handouts-html/en/_static/file.png new file mode 100644 index 0000000000000000000000000000000000000000..a858a410e4faa62ce324d814e4b816fff83a6fb3 GIT binary patch literal 286 zcmV+(0pb3MP)s`hMrGg#P~ix$^RISR_I47Y|r1 z_CyJOe}D1){SET-^Amu_i71Lt6eYfZjRyw@I6OQAIXXHDfiX^GbOlHe=Ae4>0m)d(f|Me07*qoM6N<$f}vM^LjV8( literal 0 HcmV?d00001 diff --git a/handouts-html/en/_static/jquery-3.4.1.js b/handouts-html/en/_static/jquery-3.4.1.js new file mode 100644 index 0000000..773ad95 --- /dev/null +++ b/handouts-html/en/_static/jquery-3.4.1.js @@ -0,0 +1,10598 @@ +/*! + * jQuery JavaScript Library v3.4.1 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2019-05-01T21:04Z + */ +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var document = window.document; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var concat = arr.concat; + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + +var isFunction = function isFunction( obj ) { + + // Support: Chrome <=57, Firefox <=52 + // In some browsers, typeof returns "function" for HTML elements + // (i.e., `typeof document.createElement( "object" ) === "function"`). + // We don't want to classify *any* DOM node as a function. + return typeof obj === "function" && typeof obj.nodeType !== "number"; + }; + + +var isWindow = function isWindow( obj ) { + return obj != null && obj === obj.window; + }; + + + + + var preservedScriptAttributes = { + type: true, + src: true, + nonce: true, + noModule: true + }; + + function DOMEval( code, node, doc ) { + doc = doc || document; + + var i, val, + script = doc.createElement( "script" ); + + script.text = code; + if ( node ) { + for ( i in preservedScriptAttributes ) { + + // Support: Firefox 64+, Edge 18+ + // Some browsers don't support the "nonce" property on scripts. + // On the other hand, just using `getAttribute` is not enough as + // the `nonce` attribute is reset to an empty string whenever it + // becomes browsing-context connected. + // See https://github.com/whatwg/html/issues/2369 + // See https://html.spec.whatwg.org/#nonce-attributes + // The `node.getAttribute` check was added for the sake of + // `jQuery.globalEval` so that it can fake a nonce-containing node + // via an object. + val = node[ i ] || node.getAttribute && node.getAttribute( i ); + if ( val ) { + script.setAttribute( i, val ); + } + } + } + doc.head.appendChild( script ).parentNode.removeChild( script ); + } + + +function toType( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; +} +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var + version = "3.4.1", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }, + + // Support: Android <=4.0 only + // Make sure we trim BOM and NBSP + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + copy = options[ name ]; + + // Prevent Object.prototype pollution + // Prevent never-ending loop + if ( name === "__proto__" || target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = Array.isArray( copy ) ) ) ) { + src = target[ name ]; + + // Ensure proper type for the source value + if ( copyIsArray && !Array.isArray( src ) ) { + clone = []; + } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { + clone = {}; + } else { + clone = src; + } + copyIsArray = false; + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + // Evaluates a script in a global context + globalEval: function( code, options ) { + DOMEval( code, { nonce: options && options.nonce } ); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // Support: Android <=4.0 only + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = toType( obj ); + + if ( isFunction( obj ) || isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.4 + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://js.foundation/ + * + * Date: 2019-04-08 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + nonnativeSelectorCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + rdescend = new RegExp( whitespace + "|>" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rhtml = /HTML$/i, + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox<24 + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + inDisabledFieldset = addCombinator( + function( elem ) { + return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + + // ID selector + if ( (m = match[1]) ) { + + // Document context + if ( nodeType === 9 ) { + if ( (elem = context.getElementById( m )) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && (elem = newContext.getElementById( m )) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( (m = match[3]) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !nonnativeSelectorCache[ selector + " " ] && + (!rbuggyQSA || !rbuggyQSA.test( selector )) && + + // Support: IE 8 only + // Exclude object elements + (nodeType !== 1 || context.nodeName.toLowerCase() !== "object") ) { + + newSelector = selector; + newContext = context; + + // qSA considers elements outside a scoping root when evaluating child or + // descendant combinators, which is not what we want. + // In such cases, we work around the behavior by prefixing every selector in the + // list with an ID selector referencing the scope context. + // Thanks to Andrew Dupont for this technique. + if ( nodeType === 1 && rdescend.test( selector ) ) { + + // Capture the context ID, setting it first if necessary + if ( (nid = context.getAttribute( "id" )) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", (nid = expando) ); + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[i] = "#" + nid + " " + toSelector( groups[i] ); + } + newSelector = groups.join( "," ); + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + } + + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + nonnativeSelectorCache( selector, true ); + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key + " " ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement("fieldset"); + + try { + return !!fn( el ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + /* jshint -W018 */ + elem.isDisabled !== !disabled && + inDisabledFieldset( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + var namespace = elem.namespaceURI, + docElem = (elem.ownerDocument || elem).documentElement; + + // Support: IE <=8 + // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes + // https://bugs.jquery.com/ticket/4833 + return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" ); +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9-11, Edge + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + if ( preferredDoc !== document && + (subWindow = document.defaultView) && subWindow.top !== subWindow ) { + + // Support: IE 11, Edge + if ( subWindow.addEventListener ) { + subWindow.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( subWindow.attachEvent ) { + subWindow.attachEvent( "onunload", unloadHandler ); + } + } + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert(function( el ) { + el.className = "i"; + return !el.getAttribute("className"); + }); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert(function( el ) { + el.appendChild( document.createComment("") ); + return !el.getElementsByTagName("*").length; + }); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert(function( el ) { + docElem.appendChild( el ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + }); + + // ID filter and find + if ( support.getById ) { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var elem = context.getElementById( id ); + return elem ? [ elem ] : []; + } + }; + } else { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + + // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( (elem = elems[i++]) ) { + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See https://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( document.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( el ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // https://bugs.jquery.com/ticket/12359 + docElem.appendChild( el ).innerHTML = "" + + ""; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( el.querySelectorAll("[msallowcapture^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !el.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push("~="); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !el.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push(".#.+[+~]"); + } + }); + + assert(function( el ) { + el.innerHTML = "" + + ""; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement("input"); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( el.querySelectorAll("[name=d]").length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( el.querySelectorAll(":enabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + docElem.appendChild( el ).disabled = true; + if ( el.querySelectorAll(":disabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( el ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( el, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + return -1; + } + if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + return a === document ? -1 : + b === document ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + if ( support.matchesSelector && documentIsHTML && + !nonnativeSelectorCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch (e) { + nonnativeSelectorCache( expr, true ); + } + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return (sel + "").replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + while ( (node = elem[i++]) ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[6] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] ) { + match[2] = match[4] || match[5] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + // Use previously-cached element index if available + if ( useCache ) { + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + // Don't keep the element (issue #299) + input[0] = null; + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "disabled": createDisabledPseudo( true ), + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? + argument + length : + argument > length ? + length : + argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( (tokens = []) ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + }); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + return false; + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); + + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } else if ( (oldCache = uniqueCache[ key ]) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return (newCache[ 2 ] = oldCache[ 2 ]); + } else { + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ key ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { + return true; + } + } + } + } + } + return false; + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), + len = elems.length; + + if ( outermost ) { + outermostContext = context === document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id + for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + if ( !context && elem.ownerDocument !== document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context || document, xml) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( (selector = compiled.selector || selector) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert(function( el ) { + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition( document.createElement("fieldset") ) & 1; +}); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert(function( el ) { + el.innerHTML = ""; + return el.firstChild.getAttribute("href") === "#" ; +}) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + }); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert(function( el ) { + el.innerHTML = ""; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; +}) ) { + addHandle( "value", function( elem, name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + }); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert(function( el ) { + return el.getAttribute("disabled") == null; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + null; + } + }); +} + +return Sizzle; + +})( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + + + +function nodeName( elem, name ) { + + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + +}; +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + } + + // Single element + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + } + + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + // Filtered directly for both simple and complex selectors + return jQuery.filter( qualifier, elements, not ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + if ( typeof elem.contentDocument !== "undefined" ) { + return elem.contentDocument; + } + + // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only + // Treat the template element as a regular one in browsers that + // don't support it. + if ( nodeName( elem, "template" ) ) { + elem = elem.content || elem; + } + + return jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = locked || options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && toType( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject, noValue ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: + // * false: [ value ].slice( 0 ) => resolve( value ) + // * true: [ value ].slice( 1 ) => resolve() + resolve.apply( undefined, [ value ].slice( noValue ) ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.apply( undefined, [ value ] ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // rejected_handlers.disable + // fulfilled_handlers.disable + tuples[ 3 - i ][ 3 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock, + + // progress_handlers.lock + tuples[ 0 ][ 3 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the master Deferred + master = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + master.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject, + !remaining ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( master.state() === "pending" || + isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return master.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), master.reject ); + } + + return master.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( toType( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; +}; + + +// Matches dashed string for camelizing +var rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g; + +// Used by camelCase as callback to replace() +function fcamelCase( all, letter ) { + return letter.toUpperCase(); +} + +// Convert dashed to camelCase; used by the css and data modules +// Support: IE <=9 - 11, Edge 12 - 15 +// Microsoft forgot to hump their vendor prefix (#9572) +function camelCase( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); +} +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( Array.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( camelCase ); + } else { + key = camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = getData( data ); + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || Array.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var documentElement = document.documentElement; + + + + var isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ); + }, + composed = { composed: true }; + + // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only + // Check attachment across shadow DOM boundaries when possible (gh-3504) + // Support: iOS 10.0-10.2 only + // Early iOS 10 versions support `attachShadow` but not `getRootNode`, + // leading to errors. We need to check for `getRootNode`. + if ( documentElement.getRootNode ) { + isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ) || + elem.getRootNode( composed ) === elem.ownerDocument; + }; + } +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + isAttached( elem ) && + + jQuery.css( elem, "display" ) === "none"; + }; + +var swap = function( elem, options, callback, args ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.apply( elem, args || [] ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, scale, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = elem.nodeType && + ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Support: Firefox <=54 + // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) + initial = initial / 2; + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + while ( maxIterations-- ) { + + // Evaluate and update our best guess (doubling guesses that zero out). + // Finish if the scale equals or crosses 1 (making the old*new product non-positive). + jQuery.style( elem, prop, initialInUnit + unit ); + if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { + maxIterations = 0; + } + initialInUnit = initialInUnit / scale; + + } + + initialInUnit = initialInUnit * 2; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); + +var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); + + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // Support: IE <=9 only + option: [ 1, "" ], + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting or other required elements. + thead: [ 1, "", "
" ], + col: [ 2, "", "
" ], + tr: [ 2, "", "
" ], + td: [ 3, "", "
" ], + + _default: [ 0, "", "" ] +}; + +// Support: IE <=9 only +wrapMap.optgroup = wrapMap.option; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, attached, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( toType( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + attached = isAttached( elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( attached ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; +} )(); + + +var + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE <=9 - 11+ +// focus() and blur() are asynchronous, except when they are no-op. +// So expect focus to be synchronous when the element is already active, +// and blur to be synchronous when the element is not already active. +// (focus and blur are always synchronous in other supported browsers, +// this just defines when we can count on it). +function expectSync( elem, type ) { + return ( elem === safeActiveElement() ) === ( type === "focus" ); +} + +// Support: IE <=9 only +// Accessing document.activeElement can throw unexpectedly +// https://bugs.jquery.com/ticket/13393 +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = {}; + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( nativeEvent ) { + + // Make a writable jQuery.Event from the native event object + var event = jQuery.event.fix( nativeEvent ); + + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), + handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // If the event is namespaced, then each handler is only invoked if it is + // specially universal or its namespaces are a superset of the event's. + if ( !event.rnamespace || handleObj.namespace === false || + event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); + } + } + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + cur = this; + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + click: { + + // Utilize native event to ensure correct state for checkable inputs + setup: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Claim the first handler + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + // dataPriv.set( el, "click", ... ) + leverageNative( el, "click", returnTrue ); + } + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Force setup before triggering a click + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + leverageNative( el, "click" ); + } + + // Return non-false to allow normal event-path propagation + return true; + }, + + // For cross-browser consistency, suppress native .click() on links + // Also prevent it if we're currently inside a leveraged native-event stack + _default: function( event ) { + var target = event.target; + return rcheckableType.test( target.type ) && + target.click && nodeName( target, "input" ) && + dataPriv.get( target, "click" ) || + nodeName( target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +// Ensure the presence of an event listener that handles manually-triggered +// synthetic events by interrupting progress until reinvoked in response to +// *native* events that it fires directly, ensuring that state changes have +// already occurred before other listeners are invoked. +function leverageNative( el, type, expectSync ) { + + // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add + if ( !expectSync ) { + if ( dataPriv.get( el, type ) === undefined ) { + jQuery.event.add( el, type, returnTrue ); + } + return; + } + + // Register the controller as a special universal handler for all event namespaces + dataPriv.set( el, type, false ); + jQuery.event.add( el, type, { + namespace: false, + handler: function( event ) { + var notAsync, result, + saved = dataPriv.get( this, type ); + + if ( ( event.isTrigger & 1 ) && this[ type ] ) { + + // Interrupt processing of the outer synthetic .trigger()ed event + // Saved data should be false in such cases, but might be a leftover capture object + // from an async native handler (gh-4350) + if ( !saved.length ) { + + // Store arguments for use when handling the inner native event + // There will always be at least one argument (an event object), so this array + // will not be confused with a leftover capture object. + saved = slice.call( arguments ); + dataPriv.set( this, type, saved ); + + // Trigger the native event and capture its result + // Support: IE <=9 - 11+ + // focus() and blur() are asynchronous + notAsync = expectSync( this, type ); + this[ type ](); + result = dataPriv.get( this, type ); + if ( saved !== result || notAsync ) { + dataPriv.set( this, type, false ); + } else { + result = {}; + } + if ( saved !== result ) { + + // Cancel the outer synthetic event + event.stopImmediatePropagation(); + event.preventDefault(); + return result.value; + } + + // If this is an inner synthetic event for an event with a bubbling surrogate + // (focus or blur), assume that the surrogate already propagated from triggering the + // native event and prevent that from happening again here. + // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the + // bubbling surrogate propagates *after* the non-bubbling base), but that seems + // less bad than duplication. + } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { + event.stopPropagation(); + } + + // If this is a native event triggered above, everything is now in order + // Fire an inner synthetic event with the original arguments + } else if ( saved.length ) { + + // ...and capture the result + dataPriv.set( this, type, { + value: jQuery.event.trigger( + + // Support: IE <=9 - 11+ + // Extend with the prototype to reset the above stopImmediatePropagation() + jQuery.extend( saved[ 0 ], jQuery.Event.prototype ), + saved.slice( 1 ), + this + ) + } ); + + // Abort handling of the native event + event.stopImmediatePropagation(); + } + } + } ); +} + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || Date.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + code: true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + + which: function( event ) { + var button = event.button; + + // Add which for key events + if ( event.which == null && rkeyEvent.test( event.type ) ) { + return event.charCode != null ? event.charCode : event.keyCode; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) { + if ( button & 1 ) { + return 1; + } + + if ( button & 2 ) { + return 3; + } + + if ( button & 4 ) { + return 2; + } + + return 0; + } + + return event.which; + } +}, jQuery.event.addProp ); + +jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { + jQuery.event.special[ type ] = { + + // Utilize native event if possible so blur/focus sequence is correct + setup: function() { + + // Claim the first handler + // dataPriv.set( this, "focus", ... ) + // dataPriv.set( this, "blur", ... ) + leverageNative( this, type, expectSync ); + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function() { + + // Force setup before trigger + leverageNative( this, type ); + + // Return non-false to allow normal event-path propagation + return true; + }, + + delegateType: delegateType + }; +} ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + + /* eslint-disable max-len */ + + // See https://github.com/eslint/eslint/issues/3229 + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi, + + /* eslint-enable */ + + // Support: IE <=10 - 11, Edge 12 - 13 only + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /\s*$/g; + +// Prefer a tbody over its parent table for containing new rows +function manipulationTarget( elem, content ) { + if ( nodeName( elem, "table" ) && + nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return jQuery( elem ).children( "tbody" )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { + elem.type = elem.type.slice( 5 ); + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.access( src ); + pdataCur = dataPriv.set( dest, pdataOld ); + events = pdataOld.events; + + if ( events ) { + delete pdataCur.handle; + pdataCur.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = concat.apply( [], args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + valueIsFunction = isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( valueIsFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( valueIsFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl && !node.noModule ) { + jQuery._evalUrl( node.src, { + nonce: node.nonce || node.getAttribute( "nonce" ) + } ); + } + } else { + DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && isAttached( node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html.replace( rxhtmlTag, "<$1>" ); + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = isAttached( elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + +var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + container.style.cssText = "position:absolute;left:-11111px;width:60px;" + + "margin-top:1px;padding:0;border:0"; + div.style.cssText = + "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + + "margin:auto;border:1px;padding:1px;" + + "width:60%;top:1%"; + documentElement.appendChild( container ).appendChild( div ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; + + // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 + // Some styles come back with percentage values, even though they shouldn't + div.style.right = "60%"; + pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; + + // Support: IE 9 - 11 only + // Detect misreporting of content dimensions for box-sizing:border-box elements + boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; + + // Support: IE 9 only + // Detect overflow:scroll screwiness (gh-3699) + // Support: Chrome <=64 + // Don't get tricked when zoom affects offsetWidth (gh-4029) + div.style.position = "absolute"; + scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + function roundPixelMeasures( measure ) { + return Math.round( parseFloat( measure ) ); + } + + var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, + reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + jQuery.extend( support, { + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelBoxStyles: function() { + computeStyleTests(); + return pixelBoxStylesVal; + }, + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + }, + scrollboxSize: function() { + computeStyleTests(); + return scrollboxSizeVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + + // Support: Firefox 51+ + // Retrieving style before computed somehow + // fixes an issue with getting wrong values + // on detached elements + style = elem.style; + + computed = computed || getStyles( elem ); + + // getPropertyValue is needed for: + // .css('filter') (IE 9 only, #12537) + // .css('--customProperty) (#3144) + if ( computed ) { + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( ret === "" && !isAttached( elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style, + vendorProps = {}; + +// Return a vendor-prefixed property or undefined +function vendorPropName( name ) { + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +// Return a potentially-mapped jQuery.cssProps or vendor prefixed property +function finalPropName( name ) { + var final = jQuery.cssProps[ name ] || vendorProps[ name ]; + + if ( final ) { + return final; + } + if ( name in emptyStyle ) { + return name; + } + return vendorProps[ name ] = vendorPropName( name ) || name; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rcustomProp = /^--/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }; + +function setPositiveNumber( elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { + var i = dimension === "width" ? 1 : 0, + extra = 0, + delta = 0; + + // Adjustment may not be necessary + if ( box === ( isBorderBox ? "border" : "content" ) ) { + return 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin + if ( box === "margin" ) { + delta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); + } + + // If we get here with a content-box, we're seeking "padding" or "border" or "margin" + if ( !isBorderBox ) { + + // Add padding + delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // For "border" or "margin", add border + if ( box !== "padding" ) { + delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + + // But still keep track of it otherwise + } else { + extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + + // If we get here with a border-box (content + padding + border), we're seeking "content" or + // "padding" or "margin" + } else { + + // For "content", subtract padding + if ( box === "content" ) { + delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // For "content" or "padding", subtract border + if ( box !== "margin" ) { + delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + // Account for positive content-box scroll gutter when requested by providing computedVal + if ( !isBorderBox && computedVal >= 0 ) { + + // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border + // Assuming integer scroll gutter, subtract the rest and round down + delta += Math.max( 0, Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + computedVal - + delta - + extra - + 0.5 + + // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter + // Use an explicit zero to avoid NaN (gh-3964) + ) ) || 0; + } + + return delta; +} + +function getWidthOrHeight( elem, dimension, extra ) { + + // Start with computed style + var styles = getStyles( elem ), + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). + // Fake content-box until we know it's needed to know the true value. + boxSizingNeeded = !support.boxSizingReliable() || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + valueIsBorderBox = isBorderBox, + + val = curCSS( elem, dimension, styles ), + offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); + + // Support: Firefox <=54 + // Return a confounding non-pixel value or feign ignorance, as appropriate. + if ( rnumnonpx.test( val ) ) { + if ( !extra ) { + return val; + } + val = "auto"; + } + + + // Fall back to offsetWidth/offsetHeight when value is "auto" + // This happens for inline elements with no explicit setting (gh-3571) + // Support: Android <=4.1 - 4.3 only + // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) + // Support: IE 9-11 only + // Also use offsetWidth/offsetHeight for when box sizing is unreliable + // We use getClientRects() to check for hidden/disconnected. + // In those cases, the computed value can be trusted to be border-box + if ( ( !support.boxSizingReliable() && isBorderBox || + val === "auto" || + !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && + elem.getClientRects().length ) { + + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // Where available, offsetWidth/offsetHeight approximate border box dimensions. + // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the + // retrieved value as a content box dimension. + valueIsBorderBox = offsetProp in elem; + if ( valueIsBorderBox ) { + val = elem[ offsetProp ]; + } + } + + // Normalize "" and auto + val = parseFloat( val ) || 0; + + // Adjust for the element's box model + return ( val + + boxModelAdjustment( + elem, + dimension, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles, + + // Provide the current computed size to request scroll gutter calculation (gh-3589) + val + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "gridArea": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnStart": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowStart": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: {}, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ), + style = elem.style; + + // Make sure that we're working with the right name. We don't + // want to query the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (#7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append + // "px" to a few hardcoded values. + if ( type === "number" && !isCustomProp ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + if ( isCustomProp ) { + style.setProperty( name, value ); + } else { + style[ name ] = value; + } + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ); + + // Make sure that we're working with the right name. We don't + // want to modify the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( i, dimension ) { + jQuery.cssHooks[ dimension ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, dimension, extra ); + } ) : + getWidthOrHeight( elem, dimension, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = getStyles( elem ), + + // Only read styles.position if the test has a chance to fail + // to avoid forcing a reflow. + scrollboxSizeBuggy = !support.scrollboxSize() && + styles.position === "absolute", + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) + boxSizingNeeded = scrollboxSizeBuggy || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + subtract = extra ? + boxModelAdjustment( + elem, + dimension, + extra, + isBorderBox, + styles + ) : + 0; + + // Account for unreliable border-box dimensions by comparing offset* to computed and + // faking a content-box to get border and padding (gh-3699) + if ( isBorderBox && scrollboxSizeBuggy ) { + subtract -= Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + parseFloat( styles[ dimension ] ) - + boxModelAdjustment( elem, dimension, "border", false, styles ) - + 0.5 + ); + } + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ dimension ] = value; + value = jQuery.css( elem, dimension ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( prefix !== "margin" ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( Array.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && ( + jQuery.cssHooks[ tween.prop ] || + tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 only +// Panic based approach to setting things on disconnected nodes +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, inProgress, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +function schedule() { + if ( inProgress ) { + if ( document.hidden === false && window.requestAnimationFrame ) { + window.requestAnimationFrame( schedule ); + } else { + window.setTimeout( schedule, jQuery.fx.interval ); + } + + jQuery.fx.tick(); + } +} + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = Date.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + i = 0, + attrs = { height: type }; + + // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // We're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree( elem ), + dataShow = dataPriv.get( elem, "fxshow" ); + + // Queue-skipping animations hijack the fx hooks + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // Ensure the complete handler is called before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // Detect show/hide animations + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.test( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + + // Ignore all other no-op show/hide data + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + } + } + + // Bail out if this is a no-op like .hide().hide() + propTween = !jQuery.isEmptyObject( props ); + if ( !propTween && jQuery.isEmptyObject( orig ) ) { + return; + } + + // Restrict "overflow" and "display" styles during box animations + if ( isBox && elem.nodeType === 1 ) { + + // Support: IE <=9 - 11, Edge 12 - 15 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY and Edge just mirrors + // the overflowX value there. + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Identify a display type, preferring old show/hide data over the CSS cascade + restoreDisplay = dataShow && dataShow.display; + if ( restoreDisplay == null ) { + restoreDisplay = dataPriv.get( elem, "display" ); + } + display = jQuery.css( elem, "display" ); + if ( display === "none" ) { + if ( restoreDisplay ) { + display = restoreDisplay; + } else { + + // Get nonempty value(s) by temporarily forcing visibility + showHide( [ elem ], true ); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css( elem, "display" ); + showHide( [ elem ] ); + } + } + + // Animate inline elements as inline-block + if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { + if ( jQuery.css( elem, "float" ) === "none" ) { + + // Restore the original display value at the end of pure show/hide animations + if ( !propTween ) { + anim.done( function() { + style.display = restoreDisplay; + } ); + if ( restoreDisplay == null ) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + + // Implement show/hide animations + propTween = false; + for ( prop in orig ) { + + // General show/hide setup for this element animation + if ( !propTween ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); + } + + // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + if ( toggle ) { + dataShow.hidden = !hidden; + } + + // Show elements before animating them + if ( hidden ) { + showHide( [ elem ], true ); + } + + /* eslint-disable no-loop-func */ + + anim.done( function() { + + /* eslint-enable no-loop-func */ + + // The final step of a "hide" animation is actually hiding the element + if ( !hidden ) { + showHide( [ elem ] ); + } + dataPriv.remove( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + } + + // Per-property setup + propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = propTween.start; + if ( hidden ) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( Array.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // Don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + // If there's more to do, yield + if ( percent < 1 && length ) { + return remaining; + } + + // If this was an empty animation, synthesize a final progress notification + if ( !length ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + } + + // Resolve the animation and report its conclusion + deferred.resolveWith( elem, [ animation ] ); + return false; + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // Resolve when we played the last frame; otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + result.stop.bind( result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + // Attach callbacks from options + animation + .progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + return animation; +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnothtmlwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !isFunction( easing ) && easing + }; + + // Go to the end state if fx are off + if ( jQuery.fx.off ) { + opt.duration = 0; + + } else { + if ( typeof opt.duration !== "number" ) { + if ( opt.duration in jQuery.fx.speeds ) { + opt.duration = jQuery.fx.speeds[ opt.duration ]; + + } else { + opt.duration = jQuery.fx.speeds._default; + } + } + } + + // Normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // Show any hidden elements after setting opacity to 0 + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() + + // Animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || dataPriv.get( this, "finish" ) ) { + anim.stop( true ); + } + }; + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue && type !== false ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = dataPriv.get( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // Enable finishing flag on private data + data.finish = true; + + // Empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // Look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // Look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // Turn off finishing flag + delete data.finish; + } ); + } +} ); + +jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + i = 0, + timers = jQuery.timers; + + fxNow = Date.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Run the timer and safely remove it when done (allowing for external removal) + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + jQuery.fx.start(); +}; + +jQuery.fx.interval = 13; +jQuery.fx.start = function() { + if ( inProgress ) { + return; + } + + inProgress = true; + schedule(); +}; + +jQuery.fx.stop = function() { + inProgress = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match( rnothtmlwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +// eslint rule "no-unused-expressions" is disabled for this code +// since it considers such accessions noop +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + + // Strip and collapse whitespace according to HTML spec + // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace + function stripAndCollapse( value ) { + var tokens = value.match( rnothtmlwhite ) || []; + return tokens.join( " " ); + } + + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +function classesToArray( value ) { + if ( Array.isArray( value ) ) { + return value; + } + if ( typeof value === "string" ) { + return value.match( rnothtmlwhite ) || []; + } + return []; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isValidValue = type === "string" || Array.isArray( value ); + + if ( typeof stateVal === "boolean" && isValidValue ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( isValidValue ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = classesToArray( value ); + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, valueIsFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } + + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; + } + + return; + } + + valueIsFunction = isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( valueIsFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( Array.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( Array.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion + + +support.focusin = "onfocusin" in window; + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + stopPropagationCallback = function( e ) { + e.stopPropagation(); + }; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = lastElement = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + lastElement = cur; + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + + if ( event.isPropagationStopped() ) { + lastElement.addEventListener( type, stopPropagationCallback ); + } + + elem[ type ](); + + if ( event.isPropagationStopped() ) { + lastElement.removeEventListener( type, stopPropagationCallback ); + } + + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +// Support: Firefox <=44 +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + dataPriv.remove( doc, fix ); + + } else { + dataPriv.access( doc, fix, attaches ); + } + } + }; + } ); +} +var location = window.location; + +var nonce = Date.now(); + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) { + xml = undefined; + } + + if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; +}; + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( Array.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && toType( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + if ( a == null ) { + return ""; + } + + // If an array was passed in, assume that it is an array of form elements. + if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ) + .filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ) + .map( function( i, elem ) { + var val = jQuery( this ).val(); + + if ( val == null ) { + return null; + } + + if ( Array.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +var + r20 = /%20/g, + rhash = /#.*$/, + rantiCache = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Anchor tag for parsing the document origin + originAnchor = document.createElement( "a" ); + originAnchor.href = location.href; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; + + if ( isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType[ 0 ] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s.throws ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test( location.protocol ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": JSON.parse, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var transport, + + // URL without anti-cache param + cacheURL, + + // Response headers + responseHeadersString, + responseHeaders, + + // timeout handle + timeoutTimer, + + // Url cleanup var + urlAnchor, + + // Request state (becomes false upon send and true upon completion) + completed, + + // To know if global events are to be dispatched + fireGlobals, + + // Loop variable + i, + + // uncached part of the url + uncached, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( completed ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() + " " ] = + ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] ) + .concat( match[ 2 ] ); + } + } + match = responseHeaders[ key.toLowerCase() + " " ]; + } + return match == null ? null : match.join( ", " ); + }, + + // Raw string + getAllResponseHeaders: function() { + return completed ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( completed == null ) { + name = requestHeadersNames[ name.toLowerCase() ] = + requestHeadersNames[ name.toLowerCase() ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( completed == null ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( completed ) { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } else { + + // Lazy-add the new callbacks in a way that preserves old ones + for ( code in map ) { + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ); + + // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || location.href ) + "" ) + .replace( rprotocol, location.protocol + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; + + // A cross-domain request is in order when the origin doesn't match the current origin. + if ( s.crossDomain == null ) { + urlAnchor = document.createElement( "a" ); + + // Support: IE <=8 - 11, Edge 12 - 15 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + try { + urlAnchor.href = s.url; + + // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== + urlAnchor.protocol + "//" + urlAnchor.host; + } catch ( e ) { + + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( completed ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + cacheURL = s.url.replace( rhash, "" ); + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // Remember the hash so we can put it back + uncached = s.url.slice( cacheURL.length ); + + // If data is available and should be processed, append data to url + if ( s.data && ( s.processData || typeof s.data === "string" ) ) { + cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; + + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add or update anti-cache param if needed + if ( s.cache === false ) { + cacheURL = cacheURL.replace( rantiCache, "$1" ); + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached; + } + + // Put hash and anti-cache on the URL that will be requested (gh-1732) + s.url = cacheURL + uncached; + + // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if ( s.data && s.processData && + ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { + s.data = s.data.replace( r20, "+" ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // Aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + completeDeferred.add( s.complete ); + jqXHR.done( s.success ); + jqXHR.fail( s.error ); + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( completed ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + completed = false; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Rethrow post-completion exceptions + if ( completed ) { + throw e; + } + + // Propagate others as results + done( -1, e ); + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Ignore repeat invocations + if ( completed ) { + return; + } + + completed = true; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // Extract error from statusText and normalize for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // Shift arguments if data argument was omitted + if ( isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + + +jQuery._evalUrl = function( url, options ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (#11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + + // Only evaluate the response if it is successful (gh-4126) + // dataFilter is not invoked for failure responses, so using it instead + // of the default converter is kludgy but it works. + converters: { + "text script": function() {} + }, + dataFilter: function( response ) { + jQuery.globalEval( response, options ); + } + } ); +}; + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var htmlIsFunction = isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +jQuery.ajaxSettings.xhr = function() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +}; + +var xhrSuccessStatus = { + + // File protocol always yields status code 0, assume 200 + 0: 200, + + // Support: IE <=9 only + // #1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +support.ajax = xhrSupported = !!xhrSupported; + +jQuery.ajaxTransport( function( options ) { + var callback, errorCallback; + + // Cross domain only allowed if supported through XMLHttpRequest + if ( support.cors || xhrSupported && !options.crossDomain ) { + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(); + + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + + // Callback + callback = function( type ) { + return function() { + if ( callback ) { + callback = errorCallback = xhr.onload = + xhr.onerror = xhr.onabort = xhr.ontimeout = + xhr.onreadystatechange = null; + + if ( type === "abort" ) { + xhr.abort(); + } else if ( type === "error" ) { + + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if ( typeof xhr.status !== "number" ) { + complete( 0, "error" ); + } else { + complete( + + // File: protocol always yields status 0; see #8605, #14207 + xhr.status, + xhr.statusText + ); + } + } else { + complete( + xhrSuccessStatus[ xhr.status ] || xhr.status, + xhr.statusText, + + // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + ( xhr.responseType || "text" ) !== "text" || + typeof xhr.responseText !== "string" ? + { binary: xhr.response } : + { text: xhr.responseText }, + xhr.getAllResponseHeaders() + ); + } + } + }; + }; + + // Listen to events + xhr.onload = callback(); + errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); + + // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + if ( xhr.onabort !== undefined ) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + + // Check readyState before timeout as it changes + if ( xhr.readyState === 4 ) { + + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout( function() { + if ( callback ) { + errorCallback(); + } + } ); + } + }; + } + + // Create the abort callback + callback = callback( "abort" ); + + try { + + // Do send the request (this may raise an exception) + xhr.send( options.hasContent && options.data || null ); + } catch ( e ) { + + // #14683: Only rethrow if this hasn't been notified as an error yet + if ( callback ) { + throw e; + } + } + }, + + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) +jQuery.ajaxPrefilter( function( s ) { + if ( s.crossDomain ) { + s.contents.script = false; + } +} ); + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and crossDomain +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain or forced-by-attrs requests + if ( s.crossDomain || s.scriptAttrs ) { + var script, callback; + return { + send: function( _, complete ) { + script = jQuery( " + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + +

Índice

+ +
+ +
+ + +
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/handouts-html/es/html/index.html b/handouts-html/es/html/index.html new file mode 100644 index 0000000..d60ba5b --- /dev/null +++ b/handouts-html/es/html/index.html @@ -0,0 +1,113 @@ + + + + + + + Las hojas informativas de Code in Place 2020 — documentación de Code in Place Section Handouts (2020) - 0.0.1 + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ +
+

Las hojas informativas de Code in Place 2020

+
+

Las hojas informativas:

+ +
+
+ + +
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/handouts-html/es/html/objects.inv b/handouts-html/es/html/objects.inv new file mode 100644 index 0000000000000000000000000000000000000000..d846de7260344b2ba4cf2c7933a46e037320c13f GIT binary patch literal 330 zcmY#Z2rkIT%&Sny%qvUHE6FdaR47X=D$dN$Q!wIERtPA{&q_@$u~Kl(Pe}!;Q3%LM zOion@28w}{cqHbfEdD`*%Q7#U~+HH1MlTPXn9AsML(MX9-onRzLxMGE<83MCnt z#R_SeIY5(&6_WFF3yM;Ui&Ik+N{ch|(iN(5GL!VUDsD}ku$T9cfk11ue<3%6r)r@fmDPA{y= ze}3z_*dgAff?c&OlU($@O`_j9Ts91AX3xrccUF}z=-{j*Lyo0Sog62MO0M?&S5fsU z?Q!C#?dCUI+jDd+r*-^WzVOW+wG_XPZZ9_}r`F={_{l(CVUB#()BMqZgU0zmJW#z literal 0 HcmV?d00001 diff --git a/handouts-html/es/html/search.html b/handouts-html/es/html/search.html new file mode 100644 index 0000000..b4037fa --- /dev/null +++ b/handouts-html/es/html/search.html @@ -0,0 +1,114 @@ + + + + + + + Búsqueda — documentación de Code in Place Section Handouts (2020) - 0.0.1 + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ +

Búsqueda

+
+ +

+ Por favor, active JavaScript para habilitar la funcionalidad + de búsqueda. +

+
+

+ La búsqueda de varias palabras solo muestra coincidencias que contienen + todas las palabras. +

+
+ + + +
+ +
+ +
+ +
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/handouts-html/es/html/searchindex.js b/handouts-html/es/html/searchindex.js new file mode 100644 index 0000000..c1f696a --- /dev/null +++ b/handouts-html/es/html/searchindex.js @@ -0,0 +1 @@ +Search.setIndex({docnames:["index","section1/section1"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":2,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":1,sphinx:56},filenames:["index.rst","section1/section1.rst"],objects:{},objnames:{},objtypes:{},terms:{"da\u00f1":1,"final":1,"monta\u00f1":1,Esas:1,Los:1,ademas:1,andar:1,anterior:1,aquell:1,are:1,asi:1,aven:1,bip:1,biper:1,bols:1,bord:1,cad:1,call:1,car:1,cas:1,casit:1,centr:1,choc:1,ciert:1,com:1,comienz:1,condicion:1,conjunt:1,constru:1,construccion:1,cre:1,cualqui:1,cuent:1,cumpl:1,deb:1,diagram:1,durant:1,ejecu:1,empiez:1,envi:1,escombr:1,escrib:1,espaci:1,esquin:1,establec:1,estaran:1,evit:1,exact:1,extiend:1,extrem:1,figur:1,frent:1,funcion:1,hab:1,hast:1,hech:1,imag:1,implement:1,indic:1,infinit:1,infraestructur:1,inicial:1,intencion:1,inund:1,izquierd:1,larg:1,levant:1,lugar:1,marc:1,mostr:1,mund:1,nuev:1,numer:1,oest:1,onu:1,par:1,pared:1,pilot:1,podr:1,posicion:1,primer:1,program:1,proxim:1,proyect:1,punt:1,qued:1,reconstru:1,recuerd:1,repar:1,represent:1,rest:1,robot:1,robots:1,ser:1,signif:1,siguient:1,sobr:1,superpon:1,surest:1,tendr:1,teng:1,termin:1,tien:1,trabaj:1,utiliz:1,vean:1,vers:1,viviend:1},titles:["Las hojas informativas de Code in Place 2020","Hoja informativa 1"],titleterms:{Las:0,cod:0,hoj:[0,1],inform:[0,1],karel:1,nacion:1,plac:0,unid:1}}) \ No newline at end of file diff --git a/handouts-html/es/html/section1/section1.html b/handouts-html/es/html/section1/section1.html new file mode 100644 index 0000000..56a2e59 --- /dev/null +++ b/handouts-html/es/html/section1/section1.html @@ -0,0 +1,125 @@ + + + + + + + Hoja informativa 1 — documentación de Code in Place Section Handouts (2020) - 0.0.1 + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ +
+

Hoja informativa 1

+
+

Karel de las Naciones Unidas

+

Para reconstruir la infraestructura del mundo, las Naciones Unidas - es cierto, la ONU utiliza Karel - estableció un nuevo programa con la intención de enviar robots de construcción de viviendas para reparar áreas dañadas por las inundaciones.

+

Su trabajo es programar esos robots.

+

Cada robot empieza en el extremo oeste de una calle que podría verse así:

+Initial World Layout for United Nations Karel +

Cada bíper en la figura representa una montaña de escombros. Karel tendrá que andar por la calle y construir una casita nueva en los lugares marcados por cada bíper. Esas casas, además, tienen que ser levantadas sobre pilotes para evitar dañarse durante la próxima inundación. Cada casa, de hecho, debe verse exactamente como la siguiente imagen:

+A House made out of Beepers +

La nueva casa debe estar centrada en el punto en el que quedaron los restos, lo que significa que la primera casa en el diagrama anterior se construirá con su borde izquierdo a lo largo de la 2a avenida. Al final de la ejecución, Karel debería estar en el extremo este de la calle, habiendo creado un conjunto de casas que se vean así para las condiciones iniciales mostradas:

+Final world layout for United Nations Karel +

Tenga en cuenta la siguiente información sobre el mundo:

+
    +
  • Karel comienza frente al este en la posición (1, 1) con un número infinito de bíperes en su bolsa.

  • +
  • Los bíperes que indican las posiciones en las que se deben construir las casas estarán espaciados para que haya espacio para construir las casas sin superponerse o chocar con las paredes.

  • +
  • Karel debe terminar de cara al este en la esquina sureste del mundo. Además, Karel no debería chocarse con una pared si construye una casa que se extienda hasta aquella esquina final.

  • +
+

Escriba un programa para implementar el proyecto Karel de las Naciones Unidas. Recuerde que su programa debería funcionar para cualquier mundo que cumpla con las condiciones anteriores.

+
+
+ + +
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/handouts-html/fr/html/.buildinfo b/handouts-html/fr/html/.buildinfo new file mode 100644 index 0000000..114d7d8 --- /dev/null +++ b/handouts-html/fr/html/.buildinfo @@ -0,0 +1,4 @@ +# Sphinx build info version 1 +# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. +config: 4cdfa95abad64eb1e135875f04610933 +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/handouts-html/fr/html/_images/final.png b/handouts-html/fr/html/_images/final.png new file mode 100644 index 0000000000000000000000000000000000000000..4439ac7383f5337570fad016473200b78b80f18e GIT binary patch literal 186472 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

UXh-5|X7JCV;lYHD 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�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�B; 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 literal 0 HcmV?d00001 diff --git a/handouts-html/fr/html/_images/house.png b/handouts-html/fr/html/_images/house.png new file mode 100644 index 0000000000000000000000000000000000000000..0fec0f53bf832c802caf288184120f510669670f GIT binary patch literal 45096 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

lpcO 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≪?Y-UP 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

^& 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 literal 0 HcmV?d00001 diff --git a/handouts-html/fr/html/_sources/index.rst.txt b/handouts-html/fr/html/_sources/index.rst.txt new file mode 100644 index 0000000..68f0a9d --- /dev/null +++ b/handouts-html/fr/html/_sources/index.rst.txt @@ -0,0 +1,16 @@ +.. Code in Place Section Handouts (2020) documentation master file, created by + sphinx-quickstart on Sat Apr 11 19:14:41 2020. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +======================================= +Section Handouts for Code in Place 2020 +======================================= + +.. toctree:: + :maxdepth: 2 + :caption: Handouts: + :titlesonly: + :glob: + + section*/section* diff --git a/handouts-html/fr/html/_sources/section1/section1.rst.txt b/handouts-html/fr/html/_sources/section1/section1.rst.txt new file mode 100644 index 0000000..d3576ef --- /dev/null +++ b/handouts-html/fr/html/_sources/section1/section1.rst.txt @@ -0,0 +1,42 @@ +.. section1: + +================= +Section Handout 1 +================= + +******************** +United Nations Karel +******************** + +As part of its plans to help reconstruct infrastructure worldwide, the United Nations - that's right, the UN is using Karel - established a new program with the mission of dispatching house-building robots to repair flood-damaged areas. + +Your job is to program those robots. + +Each robot begins at the west end of a street that might look like this: + +.. image:: img/initial.png + :alt: Initial World Layout for United Nations Karel + :align: center + :width: 100% + +Each beeper in the figure represents a pile of debris. Karel's job is to walk along the street and build a new house in the places marked by each beeper. Those houses, moreover, need to be raised on stilts to avoid damage from the next flood. Each house, in fact, should look exactly like the picture below: + +.. image:: img/house.png + :alt: A House made out of Beepers + :align: center + :width: 20% + +The new house should be centered at the point at which the bit of debris was left, which means that the first house in the diagram above will be constructed with its left edge along 2nd Avenue. At the end of the run, Karel should be at the east end of the street having created a set of houses that look like this for the initial conditions shown: + +.. image:: img/final.png + :alt: Final world layout for United Nations Karel + :align: center + :width: 100% + +Keep in mind the following information about the world: + +* Karel starts facing east at (1, 1) with an infinite number of beepers in its beeper bag. +* The beepers indicating the positions at which houses should be built will be spaced so that there is room to build the houses without overlapping or hitting walls. +* Karel must end up facing east at the southeast corner of the world. Moreover, Karel should not run into a wall if it builds a house that extends into that final corner. + +Write a program to implement the United Nations Karel project. Remember that your program should work for any world that meets the above conditions. diff --git a/handouts-html/fr/html/_static/_stemmer.js b/handouts-html/fr/html/_static/_stemmer.js new file mode 100644 index 0000000..3b3c060 --- /dev/null +++ b/handouts-html/fr/html/_static/_stemmer.js @@ -0,0 +1,3667 @@ +// generatedy by JSX compiler 0.9.89 (2014-05-20 06:01:03 +0900; 8e8c6105f36f3dfe440ea026a3c93a3444977102) +var JSX = {}; +(function (JSX) { +/** + * extends the class + */ +function $__jsx_extend(derivations, base) { + var ctor = function () {}; + ctor.prototype = base.prototype; + var proto = new ctor(); + for (var i in derivations) { + derivations[i].prototype = proto; + } +} + +/** + * copies the implementations from source interface to target + */ +function $__jsx_merge_interface(target, source) { + for (var k in source.prototype) + if (source.prototype.hasOwnProperty(k)) + target.prototype[k] = source.prototype[k]; +} + +/** + * defers the initialization of the property + */ +function $__jsx_lazy_init(obj, prop, func) { + function reset(obj, prop, value) { + delete obj[prop]; + obj[prop] = value; + return value; + } + + Object.defineProperty(obj, prop, { + get: function () { + return reset(obj, prop, func()); + }, + set: function (v) { + reset(obj, prop, v); + }, + enumerable: true, + configurable: true + }); +} + +var $__jsx_imul = Math.imul; +if (typeof $__jsx_imul === "undefined") { + $__jsx_imul = function (a, b) { + var ah = (a >>> 16) & 0xffff; + var al = a & 0xffff; + var bh = (b >>> 16) & 0xffff; + var bl = b & 0xffff; + return ((al * bl) + (((ah * bl + al * bh) << 16) >>> 0)|0); + }; +} + +/** + * fused int-ops with side-effects + */ +function $__jsx_ipadd(o, p, r) { + return o[p] = (o[p] + r) | 0; +} +function $__jsx_ipsub(o, p, r) { + return o[p] = (o[p] - r) | 0; +} +function $__jsx_ipmul(o, p, r) { + return o[p] = $__jsx_imul(o[p], r); +} +function $__jsx_ipdiv(o, p, r) { + return o[p] = (o[p] / r) | 0; +} +function $__jsx_ipmod(o, p, r) { + return o[p] = (o[p] % r) | 0; +} +function $__jsx_ippostinc(o, p) { + var v = o[p]; + o[p] = (v + 1) | 0; + return v; +} +function $__jsx_ippostdec(o, p) { + var v = o[p]; + o[p] = (v - 1) | 0; + return v; +} + +/** + * non-inlined version of Array#each + */ +function $__jsx_forEach(o, f) { + var l = o.length; + for (var i = 0; i < l; ++i) + f(o[i]); +} + +/* + * global functions, renamed to avoid conflict with local variable names + */ +var $__jsx_parseInt = parseInt; +var $__jsx_parseFloat = parseFloat; +function $__jsx_isNaN(n) { return n !== n; } +var $__jsx_isFinite = isFinite; + +var $__jsx_encodeURIComponent = encodeURIComponent; +var $__jsx_decodeURIComponent = decodeURIComponent; +var $__jsx_encodeURI = encodeURI; +var $__jsx_decodeURI = decodeURI; + +var $__jsx_ObjectToString = Object.prototype.toString; +var $__jsx_ObjectHasOwnProperty = Object.prototype.hasOwnProperty; + +/* + * profiler object, initialized afterwards + */ +function $__jsx_profiler() { +} + +/* + * public interface to JSX code + */ +JSX.require = function (path) { + var m = $__jsx_classMap[path]; + return m !== undefined ? m : null; +}; + +JSX.profilerIsRunning = function () { + return $__jsx_profiler.getResults != null; +}; + +JSX.getProfileResults = function () { + return ($__jsx_profiler.getResults || function () { return {}; })(); +}; + +JSX.postProfileResults = function (url, cb) { + if ($__jsx_profiler.postResults == null) + throw new Error("profiler has not been turned on"); + return $__jsx_profiler.postResults(url, cb); +}; + +JSX.resetProfileResults = function () { + if ($__jsx_profiler.resetResults == null) + throw new Error("profiler has not been turned on"); + return $__jsx_profiler.resetResults(); +}; +JSX.DEBUG = false; +var GeneratorFunction$0 = +(function () { + try { + return Function('import {GeneratorFunction} from "std:iteration"; return GeneratorFunction')(); + } catch (e) { + return function GeneratorFunction () {}; + } +})(); +var __jsx_generator_object$0 = +(function () { + function __jsx_generator_object() { + this.__next = 0; + this.__loop = null; + this.__seed = null; + this.__value = undefined; + this.__status = 0; // SUSPENDED: 0, ACTIVE: 1, DEAD: 2 + } + + __jsx_generator_object.prototype.next = function (seed) { + switch (this.__status) { + case 0: + this.__status = 1; + this.__seed = seed; + + // go next! + this.__loop(this.__next); + + var done = false; + if (this.__next != -1) { + this.__status = 0; + } else { + this.__status = 2; + done = true; + } + return { value: this.__value, done: done }; + case 1: + throw new Error("Generator is already running"); + case 2: + throw new Error("Generator is already finished"); + default: + throw new Error("Unexpected generator internal state"); + } + }; + + return __jsx_generator_object; +}()); +function Among(s, substring_i, result) { + this.s_size = s.length; + this.s = s; + this.substring_i = substring_i; + this.result = result; + this.method = null; + this.instance = null; +}; + +function Among$0(s, substring_i, result, method, instance) { + this.s_size = s.length; + this.s = s; + this.substring_i = substring_i; + this.result = result; + this.method = method; + this.instance = instance; +}; + +$__jsx_extend([Among, Among$0], Object); +function Stemmer() { +}; + +$__jsx_extend([Stemmer], Object); +function BaseStemmer() { + var current$0; + var cursor$0; + var limit$0; + this.cache = ({ }); + current$0 = this.current = ""; + cursor$0 = this.cursor = 0; + limit$0 = this.limit = current$0.length; + this.limit_backward = 0; + this.bra = cursor$0; + this.ket = limit$0; +}; + +$__jsx_extend([BaseStemmer], Stemmer); +BaseStemmer.prototype.setCurrent$S = function (value) { + var current$0; + var cursor$0; + var limit$0; + current$0 = this.current = value; + cursor$0 = this.cursor = 0; + limit$0 = this.limit = current$0.length; + this.limit_backward = 0; + this.bra = cursor$0; + this.ket = limit$0; +}; + + +function BaseStemmer$setCurrent$LBaseStemmer$S($this, value) { + var current$0; + var cursor$0; + var limit$0; + current$0 = $this.current = value; + cursor$0 = $this.cursor = 0; + limit$0 = $this.limit = current$0.length; + $this.limit_backward = 0; + $this.bra = cursor$0; + $this.ket = limit$0; +}; + +BaseStemmer.setCurrent$LBaseStemmer$S = BaseStemmer$setCurrent$LBaseStemmer$S; + +BaseStemmer.prototype.getCurrent$ = function () { + return this.current; +}; + + +function BaseStemmer$getCurrent$LBaseStemmer$($this) { + return $this.current; +}; + +BaseStemmer.getCurrent$LBaseStemmer$ = BaseStemmer$getCurrent$LBaseStemmer$; + +BaseStemmer.prototype.copy_from$LBaseStemmer$ = function (other) { + this.current = other.current; + this.cursor = other.cursor; + this.limit = other.limit; + this.limit_backward = other.limit_backward; + this.bra = other.bra; + this.ket = other.ket; +}; + + +function BaseStemmer$copy_from$LBaseStemmer$LBaseStemmer$($this, other) { + $this.current = other.current; + $this.cursor = other.cursor; + $this.limit = other.limit; + $this.limit_backward = other.limit_backward; + $this.bra = other.bra; + $this.ket = other.ket; +}; + +BaseStemmer.copy_from$LBaseStemmer$LBaseStemmer$ = BaseStemmer$copy_from$LBaseStemmer$LBaseStemmer$; + +BaseStemmer.prototype.in_grouping$AIII = function (s, min, max) { + var ch; + var $__jsx_postinc_t; + if (this.cursor >= this.limit) { + return false; + } + ch = this.current.charCodeAt(this.cursor); + if (ch > max || ch < min) { + return false; + } + ch -= min; + if ((s[ch >>> 3] & 0x1 << (ch & 0x7)) === 0) { + return false; + } + ($__jsx_postinc_t = this.cursor, this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + return true; +}; + + +function BaseStemmer$in_grouping$LBaseStemmer$AIII($this, s, min, max) { + var ch; + var $__jsx_postinc_t; + if ($this.cursor >= $this.limit) { + return false; + } + ch = $this.current.charCodeAt($this.cursor); + if (ch > max || ch < min) { + return false; + } + ch -= min; + if ((s[ch >>> 3] & 0x1 << (ch & 0x7)) === 0) { + return false; + } + ($__jsx_postinc_t = $this.cursor, $this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + return true; +}; + +BaseStemmer.in_grouping$LBaseStemmer$AIII = BaseStemmer$in_grouping$LBaseStemmer$AIII; + +BaseStemmer.prototype.in_grouping_b$AIII = function (s, min, max) { + var ch; + var $__jsx_postinc_t; + if (this.cursor <= this.limit_backward) { + return false; + } + ch = this.current.charCodeAt(this.cursor - 1); + if (ch > max || ch < min) { + return false; + } + ch -= min; + if ((s[ch >>> 3] & 0x1 << (ch & 0x7)) === 0) { + return false; + } + ($__jsx_postinc_t = this.cursor, this.cursor = ($__jsx_postinc_t - 1) | 0, $__jsx_postinc_t); + return true; +}; + + +function BaseStemmer$in_grouping_b$LBaseStemmer$AIII($this, s, min, max) { + var ch; + var $__jsx_postinc_t; + if ($this.cursor <= $this.limit_backward) { + return false; + } + ch = $this.current.charCodeAt($this.cursor - 1); + if (ch > max || ch < min) { + return false; + } + ch -= min; + if ((s[ch >>> 3] & 0x1 << (ch & 0x7)) === 0) { + return false; + } + ($__jsx_postinc_t = $this.cursor, $this.cursor = ($__jsx_postinc_t - 1) | 0, $__jsx_postinc_t); + return true; +}; + +BaseStemmer.in_grouping_b$LBaseStemmer$AIII = BaseStemmer$in_grouping_b$LBaseStemmer$AIII; + +BaseStemmer.prototype.out_grouping$AIII = function (s, min, max) { + var ch; + var $__jsx_postinc_t; + if (this.cursor >= this.limit) { + return false; + } + ch = this.current.charCodeAt(this.cursor); + if (ch > max || ch < min) { + ($__jsx_postinc_t = this.cursor, this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + return true; + } + ch -= min; + if ((s[ch >>> 3] & 0X1 << (ch & 0x7)) === 0) { + ($__jsx_postinc_t = this.cursor, this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + return true; + } + return false; +}; + + +function BaseStemmer$out_grouping$LBaseStemmer$AIII($this, s, min, max) { + var ch; + var $__jsx_postinc_t; + if ($this.cursor >= $this.limit) { + return false; + } + ch = $this.current.charCodeAt($this.cursor); + if (ch > max || ch < min) { + ($__jsx_postinc_t = $this.cursor, $this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + return true; + } + ch -= min; + if ((s[ch >>> 3] & 0X1 << (ch & 0x7)) === 0) { + ($__jsx_postinc_t = $this.cursor, $this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + return true; + } + return false; +}; + +BaseStemmer.out_grouping$LBaseStemmer$AIII = BaseStemmer$out_grouping$LBaseStemmer$AIII; + +BaseStemmer.prototype.out_grouping_b$AIII = function (s, min, max) { + var ch; + var $__jsx_postinc_t; + if (this.cursor <= this.limit_backward) { + return false; + } + ch = this.current.charCodeAt(this.cursor - 1); + if (ch > max || ch < min) { + ($__jsx_postinc_t = this.cursor, this.cursor = ($__jsx_postinc_t - 1) | 0, $__jsx_postinc_t); + return true; + } + ch -= min; + if ((s[ch >>> 3] & 0x1 << (ch & 0x7)) === 0) { + ($__jsx_postinc_t = this.cursor, this.cursor = ($__jsx_postinc_t - 1) | 0, $__jsx_postinc_t); + return true; + } + return false; +}; + + +function BaseStemmer$out_grouping_b$LBaseStemmer$AIII($this, s, min, max) { + var ch; + var $__jsx_postinc_t; + if ($this.cursor <= $this.limit_backward) { + return false; + } + ch = $this.current.charCodeAt($this.cursor - 1); + if (ch > max || ch < min) { + ($__jsx_postinc_t = $this.cursor, $this.cursor = ($__jsx_postinc_t - 1) | 0, $__jsx_postinc_t); + return true; + } + ch -= min; + if ((s[ch >>> 3] & 0x1 << (ch & 0x7)) === 0) { + ($__jsx_postinc_t = $this.cursor, $this.cursor = ($__jsx_postinc_t - 1) | 0, $__jsx_postinc_t); + return true; + } + return false; +}; + +BaseStemmer.out_grouping_b$LBaseStemmer$AIII = BaseStemmer$out_grouping_b$LBaseStemmer$AIII; + +BaseStemmer.prototype.in_range$II = function (min, max) { + var ch; + var $__jsx_postinc_t; + if (this.cursor >= this.limit) { + return false; + } + ch = this.current.charCodeAt(this.cursor); + if (ch > max || ch < min) { + return false; + } + ($__jsx_postinc_t = this.cursor, this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + return true; +}; + + +function BaseStemmer$in_range$LBaseStemmer$II($this, min, max) { + var ch; + var $__jsx_postinc_t; + if ($this.cursor >= $this.limit) { + return false; + } + ch = $this.current.charCodeAt($this.cursor); + if (ch > max || ch < min) { + return false; + } + ($__jsx_postinc_t = $this.cursor, $this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + return true; +}; + +BaseStemmer.in_range$LBaseStemmer$II = BaseStemmer$in_range$LBaseStemmer$II; + +BaseStemmer.prototype.in_range_b$II = function (min, max) { + var ch; + var $__jsx_postinc_t; + if (this.cursor <= this.limit_backward) { + return false; + } + ch = this.current.charCodeAt(this.cursor - 1); + if (ch > max || ch < min) { + return false; + } + ($__jsx_postinc_t = this.cursor, this.cursor = ($__jsx_postinc_t - 1) | 0, $__jsx_postinc_t); + return true; +}; + + +function BaseStemmer$in_range_b$LBaseStemmer$II($this, min, max) { + var ch; + var $__jsx_postinc_t; + if ($this.cursor <= $this.limit_backward) { + return false; + } + ch = $this.current.charCodeAt($this.cursor - 1); + if (ch > max || ch < min) { + return false; + } + ($__jsx_postinc_t = $this.cursor, $this.cursor = ($__jsx_postinc_t - 1) | 0, $__jsx_postinc_t); + return true; +}; + +BaseStemmer.in_range_b$LBaseStemmer$II = BaseStemmer$in_range_b$LBaseStemmer$II; + +BaseStemmer.prototype.out_range$II = function (min, max) { + var ch; + var $__jsx_postinc_t; + if (this.cursor >= this.limit) { + return false; + } + ch = this.current.charCodeAt(this.cursor); + if (! (ch > max || ch < min)) { + return false; + } + ($__jsx_postinc_t = this.cursor, this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + return true; +}; + + +function BaseStemmer$out_range$LBaseStemmer$II($this, min, max) { + var ch; + var $__jsx_postinc_t; + if ($this.cursor >= $this.limit) { + return false; + } + ch = $this.current.charCodeAt($this.cursor); + if (! (ch > max || ch < min)) { + return false; + } + ($__jsx_postinc_t = $this.cursor, $this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + return true; +}; + +BaseStemmer.out_range$LBaseStemmer$II = BaseStemmer$out_range$LBaseStemmer$II; + +BaseStemmer.prototype.out_range_b$II = function (min, max) { + var ch; + var $__jsx_postinc_t; + if (this.cursor <= this.limit_backward) { + return false; + } + ch = this.current.charCodeAt(this.cursor - 1); + if (! (ch > max || ch < min)) { + return false; + } + ($__jsx_postinc_t = this.cursor, this.cursor = ($__jsx_postinc_t - 1) | 0, $__jsx_postinc_t); + return true; +}; + + +function BaseStemmer$out_range_b$LBaseStemmer$II($this, min, max) { + var ch; + var $__jsx_postinc_t; + if ($this.cursor <= $this.limit_backward) { + return false; + } + ch = $this.current.charCodeAt($this.cursor - 1); + if (! (ch > max || ch < min)) { + return false; + } + ($__jsx_postinc_t = $this.cursor, $this.cursor = ($__jsx_postinc_t - 1) | 0, $__jsx_postinc_t); + return true; +}; + +BaseStemmer.out_range_b$LBaseStemmer$II = BaseStemmer$out_range_b$LBaseStemmer$II; + +BaseStemmer.prototype.eq_s$IS = function (s_size, s) { + var cursor$0; + if (((this.limit - this.cursor) | 0) < s_size) { + return false; + } + if (this.current.slice(cursor$0 = this.cursor, ((cursor$0 + s_size) | 0)) !== s) { + return false; + } + this.cursor = (this.cursor + s_size) | 0; + return true; +}; + + +function BaseStemmer$eq_s$LBaseStemmer$IS($this, s_size, s) { + var cursor$0; + if ((($this.limit - $this.cursor) | 0) < s_size) { + return false; + } + if ($this.current.slice(cursor$0 = $this.cursor, ((cursor$0 + s_size) | 0)) !== s) { + return false; + } + $this.cursor = ($this.cursor + s_size) | 0; + return true; +}; + +BaseStemmer.eq_s$LBaseStemmer$IS = BaseStemmer$eq_s$LBaseStemmer$IS; + +BaseStemmer.prototype.eq_s_b$IS = function (s_size, s) { + var cursor$0; + if (((this.cursor - this.limit_backward) | 0) < s_size) { + return false; + } + if (this.current.slice((((cursor$0 = this.cursor) - s_size) | 0), cursor$0) !== s) { + return false; + } + this.cursor = (this.cursor - s_size) | 0; + return true; +}; + + +function BaseStemmer$eq_s_b$LBaseStemmer$IS($this, s_size, s) { + var cursor$0; + if ((($this.cursor - $this.limit_backward) | 0) < s_size) { + return false; + } + if ($this.current.slice((((cursor$0 = $this.cursor) - s_size) | 0), cursor$0) !== s) { + return false; + } + $this.cursor = ($this.cursor - s_size) | 0; + return true; +}; + +BaseStemmer.eq_s_b$LBaseStemmer$IS = BaseStemmer$eq_s_b$LBaseStemmer$IS; + +BaseStemmer.prototype.eq_v$S = function (s) { + return BaseStemmer$eq_s$LBaseStemmer$IS(this, s.length, s); +}; + + +function BaseStemmer$eq_v$LBaseStemmer$S($this, s) { + return BaseStemmer$eq_s$LBaseStemmer$IS($this, s.length, s); +}; + +BaseStemmer.eq_v$LBaseStemmer$S = BaseStemmer$eq_v$LBaseStemmer$S; + +BaseStemmer.prototype.eq_v_b$S = function (s) { + return BaseStemmer$eq_s_b$LBaseStemmer$IS(this, s.length, s); +}; + + +function BaseStemmer$eq_v_b$LBaseStemmer$S($this, s) { + return BaseStemmer$eq_s_b$LBaseStemmer$IS($this, s.length, s); +}; + +BaseStemmer.eq_v_b$LBaseStemmer$S = BaseStemmer$eq_v_b$LBaseStemmer$S; + +BaseStemmer.prototype.find_among$ALAmong$I = function (v, v_size) { + var i; + var j; + var c; + var l; + var common_i; + var common_j; + var first_key_inspected; + var k; + var diff; + var common; + var w; + var i2; + var res; + i = 0; + j = v_size; + c = this.cursor; + l = this.limit; + common_i = 0; + common_j = 0; + first_key_inspected = false; + while (true) { + k = i + (j - i >>> 1); + diff = 0; + common = (common_i < common_j ? common_i : common_j); + w = v[k]; + for (i2 = common; i2 < w.s_size; i2++) { + if (c + common === l) { + diff = -1; + break; + } + diff = this.current.charCodeAt(c + common) - w.s.charCodeAt(i2); + if (diff !== 0) { + break; + } + common++; + } + if (diff < 0) { + j = k; + common_j = common; + } else { + i = k; + common_i = common; + } + if (j - i <= 1) { + if (i > 0) { + break; + } + if (j === i) { + break; + } + if (first_key_inspected) { + break; + } + first_key_inspected = true; + } + } + while (true) { + w = v[i]; + if (common_i >= w.s_size) { + this.cursor = (c + w.s_size | 0); + if (w.method == null) { + return w.result; + } + res = w.method(w.instance); + this.cursor = (c + w.s_size | 0); + if (res) { + return w.result; + } + } + i = w.substring_i; + if (i < 0) { + return 0; + } + } + return -1; +}; + + +function BaseStemmer$find_among$LBaseStemmer$ALAmong$I($this, v, v_size) { + var i; + var j; + var c; + var l; + var common_i; + var common_j; + var first_key_inspected; + var k; + var diff; + var common; + var w; + var i2; + var res; + i = 0; + j = v_size; + c = $this.cursor; + l = $this.limit; + common_i = 0; + common_j = 0; + first_key_inspected = false; + while (true) { + k = i + (j - i >>> 1); + diff = 0; + common = (common_i < common_j ? common_i : common_j); + w = v[k]; + for (i2 = common; i2 < w.s_size; i2++) { + if (c + common === l) { + diff = -1; + break; + } + diff = $this.current.charCodeAt(c + common) - w.s.charCodeAt(i2); + if (diff !== 0) { + break; + } + common++; + } + if (diff < 0) { + j = k; + common_j = common; + } else { + i = k; + common_i = common; + } + if (j - i <= 1) { + if (i > 0) { + break; + } + if (j === i) { + break; + } + if (first_key_inspected) { + break; + } + first_key_inspected = true; + } + } + while (true) { + w = v[i]; + if (common_i >= w.s_size) { + $this.cursor = (c + w.s_size | 0); + if (w.method == null) { + return w.result; + } + res = w.method(w.instance); + $this.cursor = (c + w.s_size | 0); + if (res) { + return w.result; + } + } + i = w.substring_i; + if (i < 0) { + return 0; + } + } + return -1; +}; + +BaseStemmer.find_among$LBaseStemmer$ALAmong$I = BaseStemmer$find_among$LBaseStemmer$ALAmong$I; + +BaseStemmer.prototype.find_among_b$ALAmong$I = function (v, v_size) { + var i; + var j; + var c; + var lb; + var common_i; + var common_j; + var first_key_inspected; + var k; + var diff; + var common; + var w; + var i2; + var res; + i = 0; + j = v_size; + c = this.cursor; + lb = this.limit_backward; + common_i = 0; + common_j = 0; + first_key_inspected = false; + while (true) { + k = i + (j - i >> 1); + diff = 0; + common = (common_i < common_j ? common_i : common_j); + w = v[k]; + for (i2 = w.s_size - 1 - common; i2 >= 0; i2--) { + if (c - common === lb) { + diff = -1; + break; + } + diff = this.current.charCodeAt(c - 1 - common) - w.s.charCodeAt(i2); + if (diff !== 0) { + break; + } + common++; + } + if (diff < 0) { + j = k; + common_j = common; + } else { + i = k; + common_i = common; + } + if (j - i <= 1) { + if (i > 0) { + break; + } + if (j === i) { + break; + } + if (first_key_inspected) { + break; + } + first_key_inspected = true; + } + } + while (true) { + w = v[i]; + if (common_i >= w.s_size) { + this.cursor = (c - w.s_size | 0); + if (w.method == null) { + return w.result; + } + res = w.method(this); + this.cursor = (c - w.s_size | 0); + if (res) { + return w.result; + } + } + i = w.substring_i; + if (i < 0) { + return 0; + } + } + return -1; +}; + + +function BaseStemmer$find_among_b$LBaseStemmer$ALAmong$I($this, v, v_size) { + var i; + var j; + var c; + var lb; + var common_i; + var common_j; + var first_key_inspected; + var k; + var diff; + var common; + var w; + var i2; + var res; + i = 0; + j = v_size; + c = $this.cursor; + lb = $this.limit_backward; + common_i = 0; + common_j = 0; + first_key_inspected = false; + while (true) { + k = i + (j - i >> 1); + diff = 0; + common = (common_i < common_j ? common_i : common_j); + w = v[k]; + for (i2 = w.s_size - 1 - common; i2 >= 0; i2--) { + if (c - common === lb) { + diff = -1; + break; + } + diff = $this.current.charCodeAt(c - 1 - common) - w.s.charCodeAt(i2); + if (diff !== 0) { + break; + } + common++; + } + if (diff < 0) { + j = k; + common_j = common; + } else { + i = k; + common_i = common; + } + if (j - i <= 1) { + if (i > 0) { + break; + } + if (j === i) { + break; + } + if (first_key_inspected) { + break; + } + first_key_inspected = true; + } + } + while (true) { + w = v[i]; + if (common_i >= w.s_size) { + $this.cursor = (c - w.s_size | 0); + if (w.method == null) { + return w.result; + } + res = w.method($this); + $this.cursor = (c - w.s_size | 0); + if (res) { + return w.result; + } + } + i = w.substring_i; + if (i < 0) { + return 0; + } + } + return -1; +}; + +BaseStemmer.find_among_b$LBaseStemmer$ALAmong$I = BaseStemmer$find_among_b$LBaseStemmer$ALAmong$I; + +BaseStemmer.prototype.replace_s$IIS = function (c_bra, c_ket, s) { + var adjustment; + adjustment = ((s.length - (((c_ket - c_bra) | 0))) | 0); + this.current = this.current.slice(0, c_bra) + s + this.current.slice(c_ket); + this.limit = (this.limit + adjustment) | 0; + if (this.cursor >= c_ket) { + this.cursor = (this.cursor + adjustment) | 0; + } else if (this.cursor > c_bra) { + this.cursor = c_bra; + } + return (adjustment | 0); +}; + + +function BaseStemmer$replace_s$LBaseStemmer$IIS($this, c_bra, c_ket, s) { + var adjustment; + adjustment = ((s.length - (((c_ket - c_bra) | 0))) | 0); + $this.current = $this.current.slice(0, c_bra) + s + $this.current.slice(c_ket); + $this.limit = ($this.limit + adjustment) | 0; + if ($this.cursor >= c_ket) { + $this.cursor = ($this.cursor + adjustment) | 0; + } else if ($this.cursor > c_bra) { + $this.cursor = c_bra; + } + return (adjustment | 0); +}; + +BaseStemmer.replace_s$LBaseStemmer$IIS = BaseStemmer$replace_s$LBaseStemmer$IIS; + +BaseStemmer.prototype.slice_check$ = function () { + var bra$0; + var ket$0; + var limit$0; + return ((bra$0 = this.bra) < 0 || bra$0 > (ket$0 = this.ket) || ket$0 > (limit$0 = this.limit) || limit$0 > this.current.length ? false : true); +}; + + +function BaseStemmer$slice_check$LBaseStemmer$($this) { + var bra$0; + var ket$0; + var limit$0; + return ((bra$0 = $this.bra) < 0 || bra$0 > (ket$0 = $this.ket) || ket$0 > (limit$0 = $this.limit) || limit$0 > $this.current.length ? false : true); +}; + +BaseStemmer.slice_check$LBaseStemmer$ = BaseStemmer$slice_check$LBaseStemmer$; + +BaseStemmer.prototype.slice_from$S = function (s) { + var result; + var bra$0; + var ket$0; + var limit$0; + result = false; + if ((bra$0 = this.bra) < 0 || bra$0 > (ket$0 = this.ket) || ket$0 > (limit$0 = this.limit) || limit$0 > this.current.length ? false : true) { + BaseStemmer$replace_s$LBaseStemmer$IIS(this, this.bra, this.ket, s); + result = true; + } + return result; +}; + + +function BaseStemmer$slice_from$LBaseStemmer$S($this, s) { + var result; + var bra$0; + var ket$0; + var limit$0; + result = false; + if ((bra$0 = $this.bra) < 0 || bra$0 > (ket$0 = $this.ket) || ket$0 > (limit$0 = $this.limit) || limit$0 > $this.current.length ? false : true) { + BaseStemmer$replace_s$LBaseStemmer$IIS($this, $this.bra, $this.ket, s); + result = true; + } + return result; +}; + +BaseStemmer.slice_from$LBaseStemmer$S = BaseStemmer$slice_from$LBaseStemmer$S; + +BaseStemmer.prototype.slice_del$ = function () { + return BaseStemmer$slice_from$LBaseStemmer$S(this, ""); +}; + + +function BaseStemmer$slice_del$LBaseStemmer$($this) { + return BaseStemmer$slice_from$LBaseStemmer$S($this, ""); +}; + +BaseStemmer.slice_del$LBaseStemmer$ = BaseStemmer$slice_del$LBaseStemmer$; + +BaseStemmer.prototype.insert$IIS = function (c_bra, c_ket, s) { + var adjustment; + adjustment = BaseStemmer$replace_s$LBaseStemmer$IIS(this, c_bra, c_ket, s); + if (c_bra <= this.bra) { + this.bra = (this.bra + adjustment) | 0; + } + if (c_bra <= this.ket) { + this.ket = (this.ket + adjustment) | 0; + } +}; + + +function BaseStemmer$insert$LBaseStemmer$IIS($this, c_bra, c_ket, s) { + var adjustment; + adjustment = BaseStemmer$replace_s$LBaseStemmer$IIS($this, c_bra, c_ket, s); + if (c_bra <= $this.bra) { + $this.bra = ($this.bra + adjustment) | 0; + } + if (c_bra <= $this.ket) { + $this.ket = ($this.ket + adjustment) | 0; + } +}; + +BaseStemmer.insert$LBaseStemmer$IIS = BaseStemmer$insert$LBaseStemmer$IIS; + +BaseStemmer.prototype.slice_to$S = function (s) { + var result; + var bra$0; + var ket$0; + var limit$0; + result = ''; + if ((bra$0 = this.bra) < 0 || bra$0 > (ket$0 = this.ket) || ket$0 > (limit$0 = this.limit) || limit$0 > this.current.length ? false : true) { + result = this.current.slice(this.bra, this.ket); + } + return result; +}; + + +function BaseStemmer$slice_to$LBaseStemmer$S($this, s) { + var result; + var bra$0; + var ket$0; + var limit$0; + result = ''; + if ((bra$0 = $this.bra) < 0 || bra$0 > (ket$0 = $this.ket) || ket$0 > (limit$0 = $this.limit) || limit$0 > $this.current.length ? false : true) { + result = $this.current.slice($this.bra, $this.ket); + } + return result; +}; + +BaseStemmer.slice_to$LBaseStemmer$S = BaseStemmer$slice_to$LBaseStemmer$S; + +BaseStemmer.prototype.assign_to$S = function (s) { + return this.current.slice(0, this.limit); +}; + + +function BaseStemmer$assign_to$LBaseStemmer$S($this, s) { + return $this.current.slice(0, $this.limit); +}; + +BaseStemmer.assign_to$LBaseStemmer$S = BaseStemmer$assign_to$LBaseStemmer$S; + +BaseStemmer.prototype.stem$ = function () { + return false; +}; + + +BaseStemmer.prototype.stemWord$S = function (word) { + var result; + var current$0; + var cursor$0; + var limit$0; + result = this.cache['.' + word]; + if (result == null) { + current$0 = this.current = word; + cursor$0 = this.cursor = 0; + limit$0 = this.limit = current$0.length; + this.limit_backward = 0; + this.bra = cursor$0; + this.ket = limit$0; + this.stem$(); + result = this.current; + this.cache['.' + word] = result; + } + return result; +}; + +BaseStemmer.prototype.stemWord = BaseStemmer.prototype.stemWord$S; + +BaseStemmer.prototype.stemWords$AS = function (words) { + var results; + var i; + var word; + var result; + var current$0; + var cursor$0; + var limit$0; + results = [ ]; + for (i = 0; i < words.length; i++) { + word = words[i]; + result = this.cache['.' + word]; + if (result == null) { + current$0 = this.current = word; + cursor$0 = this.cursor = 0; + limit$0 = this.limit = current$0.length; + this.limit_backward = 0; + this.bra = cursor$0; + this.ket = limit$0; + this.stem$(); + result = this.current; + this.cache['.' + word] = result; + } + results.push(result); + } + return results; +}; + +BaseStemmer.prototype.stemWords = BaseStemmer.prototype.stemWords$AS; + +function FrenchStemmer() { + BaseStemmer.call(this); + this.I_p2 = 0; + this.I_p1 = 0; + this.I_pV = 0; +}; + +$__jsx_extend([FrenchStemmer], BaseStemmer); +FrenchStemmer.prototype.copy_from$LFrenchStemmer$ = function (other) { + this.I_p2 = other.I_p2; + this.I_p1 = other.I_p1; + this.I_pV = other.I_pV; + BaseStemmer$copy_from$LBaseStemmer$LBaseStemmer$(this, other); +}; + +FrenchStemmer.prototype.copy_from = FrenchStemmer.prototype.copy_from$LFrenchStemmer$; + +FrenchStemmer.prototype.r_prelude$ = function () { + var v_1; + var v_2; + var v_3; + var v_4; + var lab1; + var lab3; + var lab4; + var lab5; + var lab6; + var lab7; + var lab8; + var lab9; + var cursor$0; + var $__jsx_postinc_t; +replab0: + while (true) { + v_1 = this.cursor; + lab1 = true; + lab1: + while (lab1 === true) { + lab1 = false; + golab2: + while (true) { + v_2 = this.cursor; + lab3 = true; + lab3: + while (lab3 === true) { + lab3 = false; + lab4 = true; + lab4: + while (lab4 === true) { + lab4 = false; + v_3 = this.cursor; + lab5 = true; + lab5: + while (lab5 === true) { + lab5 = false; + if (! BaseStemmer$in_grouping$LBaseStemmer$AIII(this, FrenchStemmer.g_v, 97, 251)) { + break lab5; + } + this.bra = this.cursor; + lab6 = true; + lab6: + while (lab6 === true) { + lab6 = false; + v_4 = this.cursor; + lab7 = true; + lab7: + while (lab7 === true) { + lab7 = false; + if (! BaseStemmer$eq_s$LBaseStemmer$IS(this, 1, "u")) { + break lab7; + } + this.ket = this.cursor; + if (! BaseStemmer$in_grouping$LBaseStemmer$AIII(this, FrenchStemmer.g_v, 97, 251)) { + break lab7; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "U")) { + return false; + } + break lab6; + } + this.cursor = v_4; + lab8 = true; + lab8: + while (lab8 === true) { + lab8 = false; + if (! BaseStemmer$eq_s$LBaseStemmer$IS(this, 1, "i")) { + break lab8; + } + this.ket = this.cursor; + if (! BaseStemmer$in_grouping$LBaseStemmer$AIII(this, FrenchStemmer.g_v, 97, 251)) { + break lab8; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "I")) { + return false; + } + break lab6; + } + this.cursor = v_4; + if (! BaseStemmer$eq_s$LBaseStemmer$IS(this, 1, "y")) { + break lab5; + } + this.ket = this.cursor; + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "Y")) { + return false; + } + } + break lab4; + } + this.cursor = v_3; + lab9 = true; + lab9: + while (lab9 === true) { + lab9 = false; + this.bra = this.cursor; + if (! BaseStemmer$eq_s$LBaseStemmer$IS(this, 1, "y")) { + break lab9; + } + this.ket = this.cursor; + if (! BaseStemmer$in_grouping$LBaseStemmer$AIII(this, FrenchStemmer.g_v, 97, 251)) { + break lab9; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "Y")) { + return false; + } + break lab4; + } + this.cursor = v_3; + if (! BaseStemmer$eq_s$LBaseStemmer$IS(this, 1, "q")) { + break lab3; + } + this.bra = this.cursor; + if (! BaseStemmer$eq_s$LBaseStemmer$IS(this, 1, "u")) { + break lab3; + } + this.ket = this.cursor; + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "U")) { + return false; + } + } + this.cursor = v_2; + break golab2; + } + cursor$0 = this.cursor = v_2; + if (cursor$0 >= this.limit) { + break lab1; + } + ($__jsx_postinc_t = this.cursor, this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + } + continue replab0; + } + this.cursor = v_1; + break replab0; + } + return true; +}; + +FrenchStemmer.prototype.r_prelude = FrenchStemmer.prototype.r_prelude$; + +function FrenchStemmer$r_prelude$LFrenchStemmer$($this) { + var v_1; + var v_2; + var v_3; + var v_4; + var lab1; + var lab3; + var lab4; + var lab5; + var lab6; + var lab7; + var lab8; + var lab9; + var cursor$0; + var $__jsx_postinc_t; +replab0: + while (true) { + v_1 = $this.cursor; + lab1 = true; + lab1: + while (lab1 === true) { + lab1 = false; + golab2: + while (true) { + v_2 = $this.cursor; + lab3 = true; + lab3: + while (lab3 === true) { + lab3 = false; + lab4 = true; + lab4: + while (lab4 === true) { + lab4 = false; + v_3 = $this.cursor; + lab5 = true; + lab5: + while (lab5 === true) { + lab5 = false; + if (! BaseStemmer$in_grouping$LBaseStemmer$AIII($this, FrenchStemmer.g_v, 97, 251)) { + break lab5; + } + $this.bra = $this.cursor; + lab6 = true; + lab6: + while (lab6 === true) { + lab6 = false; + v_4 = $this.cursor; + lab7 = true; + lab7: + while (lab7 === true) { + lab7 = false; + if (! BaseStemmer$eq_s$LBaseStemmer$IS($this, 1, "u")) { + break lab7; + } + $this.ket = $this.cursor; + if (! BaseStemmer$in_grouping$LBaseStemmer$AIII($this, FrenchStemmer.g_v, 97, 251)) { + break lab7; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "U")) { + return false; + } + break lab6; + } + $this.cursor = v_4; + lab8 = true; + lab8: + while (lab8 === true) { + lab8 = false; + if (! BaseStemmer$eq_s$LBaseStemmer$IS($this, 1, "i")) { + break lab8; + } + $this.ket = $this.cursor; + if (! BaseStemmer$in_grouping$LBaseStemmer$AIII($this, FrenchStemmer.g_v, 97, 251)) { + break lab8; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "I")) { + return false; + } + break lab6; + } + $this.cursor = v_4; + if (! BaseStemmer$eq_s$LBaseStemmer$IS($this, 1, "y")) { + break lab5; + } + $this.ket = $this.cursor; + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "Y")) { + return false; + } + } + break lab4; + } + $this.cursor = v_3; + lab9 = true; + lab9: + while (lab9 === true) { + lab9 = false; + $this.bra = $this.cursor; + if (! BaseStemmer$eq_s$LBaseStemmer$IS($this, 1, "y")) { + break lab9; + } + $this.ket = $this.cursor; + if (! BaseStemmer$in_grouping$LBaseStemmer$AIII($this, FrenchStemmer.g_v, 97, 251)) { + break lab9; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "Y")) { + return false; + } + break lab4; + } + $this.cursor = v_3; + if (! BaseStemmer$eq_s$LBaseStemmer$IS($this, 1, "q")) { + break lab3; + } + $this.bra = $this.cursor; + if (! BaseStemmer$eq_s$LBaseStemmer$IS($this, 1, "u")) { + break lab3; + } + $this.ket = $this.cursor; + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "U")) { + return false; + } + } + $this.cursor = v_2; + break golab2; + } + cursor$0 = $this.cursor = v_2; + if (cursor$0 >= $this.limit) { + break lab1; + } + ($__jsx_postinc_t = $this.cursor, $this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + } + continue replab0; + } + $this.cursor = v_1; + break replab0; + } + return true; +}; + +FrenchStemmer.r_prelude$LFrenchStemmer$ = FrenchStemmer$r_prelude$LFrenchStemmer$; + +FrenchStemmer.prototype.r_mark_regions$ = function () { + var v_1; + var v_2; + var v_4; + var lab0; + var lab1; + var lab2; + var lab3; + var lab5; + var lab6; + var lab8; + var lab10; + var lab12; + var lab14; + var cursor$0; + var limit$0; + var cursor$1; + var $__jsx_postinc_t; + this.I_pV = limit$0 = this.limit; + this.I_p1 = limit$0; + this.I_p2 = limit$0; + v_1 = this.cursor; + lab0 = true; +lab0: + while (lab0 === true) { + lab0 = false; + lab1 = true; + lab1: + while (lab1 === true) { + lab1 = false; + v_2 = this.cursor; + lab2 = true; + lab2: + while (lab2 === true) { + lab2 = false; + if (! BaseStemmer$in_grouping$LBaseStemmer$AIII(this, FrenchStemmer.g_v, 97, 251)) { + break lab2; + } + if (! BaseStemmer$in_grouping$LBaseStemmer$AIII(this, FrenchStemmer.g_v, 97, 251)) { + break lab2; + } + if (this.cursor >= this.limit) { + break lab2; + } + ($__jsx_postinc_t = this.cursor, this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + break lab1; + } + this.cursor = v_2; + lab3 = true; + lab3: + while (lab3 === true) { + lab3 = false; + if (BaseStemmer$find_among$LBaseStemmer$ALAmong$I(this, FrenchStemmer.a_0, 3) === 0) { + break lab3; + } + break lab1; + } + cursor$0 = this.cursor = v_2; + if (cursor$0 >= this.limit) { + break lab0; + } + ($__jsx_postinc_t = this.cursor, this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + golab4: + while (true) { + lab5 = true; + lab5: + while (lab5 === true) { + lab5 = false; + if (! BaseStemmer$in_grouping$LBaseStemmer$AIII(this, FrenchStemmer.g_v, 97, 251)) { + break lab5; + } + break golab4; + } + if (this.cursor >= this.limit) { + break lab0; + } + ($__jsx_postinc_t = this.cursor, this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + } + } + this.I_pV = this.cursor; + } + cursor$1 = this.cursor = v_1; + v_4 = cursor$1; + lab6 = true; +lab6: + while (lab6 === true) { + lab6 = false; + golab7: + while (true) { + lab8 = true; + lab8: + while (lab8 === true) { + lab8 = false; + if (! BaseStemmer$in_grouping$LBaseStemmer$AIII(this, FrenchStemmer.g_v, 97, 251)) { + break lab8; + } + break golab7; + } + if (this.cursor >= this.limit) { + break lab6; + } + ($__jsx_postinc_t = this.cursor, this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + } + golab9: + while (true) { + lab10 = true; + lab10: + while (lab10 === true) { + lab10 = false; + if (! BaseStemmer$out_grouping$LBaseStemmer$AIII(this, FrenchStemmer.g_v, 97, 251)) { + break lab10; + } + break golab9; + } + if (this.cursor >= this.limit) { + break lab6; + } + ($__jsx_postinc_t = this.cursor, this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + } + this.I_p1 = this.cursor; + golab11: + while (true) { + lab12 = true; + lab12: + while (lab12 === true) { + lab12 = false; + if (! BaseStemmer$in_grouping$LBaseStemmer$AIII(this, FrenchStemmer.g_v, 97, 251)) { + break lab12; + } + break golab11; + } + if (this.cursor >= this.limit) { + break lab6; + } + ($__jsx_postinc_t = this.cursor, this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + } + golab13: + while (true) { + lab14 = true; + lab14: + while (lab14 === true) { + lab14 = false; + if (! BaseStemmer$out_grouping$LBaseStemmer$AIII(this, FrenchStemmer.g_v, 97, 251)) { + break lab14; + } + break golab13; + } + if (this.cursor >= this.limit) { + break lab6; + } + ($__jsx_postinc_t = this.cursor, this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + } + this.I_p2 = this.cursor; + } + this.cursor = v_4; + return true; +}; + +FrenchStemmer.prototype.r_mark_regions = FrenchStemmer.prototype.r_mark_regions$; + +function FrenchStemmer$r_mark_regions$LFrenchStemmer$($this) { + var v_1; + var v_2; + var v_4; + var lab0; + var lab1; + var lab2; + var lab3; + var lab5; + var lab6; + var lab8; + var lab10; + var lab12; + var lab14; + var cursor$0; + var limit$0; + var cursor$1; + var $__jsx_postinc_t; + $this.I_pV = limit$0 = $this.limit; + $this.I_p1 = limit$0; + $this.I_p2 = limit$0; + v_1 = $this.cursor; + lab0 = true; +lab0: + while (lab0 === true) { + lab0 = false; + lab1 = true; + lab1: + while (lab1 === true) { + lab1 = false; + v_2 = $this.cursor; + lab2 = true; + lab2: + while (lab2 === true) { + lab2 = false; + if (! BaseStemmer$in_grouping$LBaseStemmer$AIII($this, FrenchStemmer.g_v, 97, 251)) { + break lab2; + } + if (! BaseStemmer$in_grouping$LBaseStemmer$AIII($this, FrenchStemmer.g_v, 97, 251)) { + break lab2; + } + if ($this.cursor >= $this.limit) { + break lab2; + } + ($__jsx_postinc_t = $this.cursor, $this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + break lab1; + } + $this.cursor = v_2; + lab3 = true; + lab3: + while (lab3 === true) { + lab3 = false; + if (BaseStemmer$find_among$LBaseStemmer$ALAmong$I($this, FrenchStemmer.a_0, 3) === 0) { + break lab3; + } + break lab1; + } + cursor$0 = $this.cursor = v_2; + if (cursor$0 >= $this.limit) { + break lab0; + } + ($__jsx_postinc_t = $this.cursor, $this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + golab4: + while (true) { + lab5 = true; + lab5: + while (lab5 === true) { + lab5 = false; + if (! BaseStemmer$in_grouping$LBaseStemmer$AIII($this, FrenchStemmer.g_v, 97, 251)) { + break lab5; + } + break golab4; + } + if ($this.cursor >= $this.limit) { + break lab0; + } + ($__jsx_postinc_t = $this.cursor, $this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + } + } + $this.I_pV = $this.cursor; + } + cursor$1 = $this.cursor = v_1; + v_4 = cursor$1; + lab6 = true; +lab6: + while (lab6 === true) { + lab6 = false; + golab7: + while (true) { + lab8 = true; + lab8: + while (lab8 === true) { + lab8 = false; + if (! BaseStemmer$in_grouping$LBaseStemmer$AIII($this, FrenchStemmer.g_v, 97, 251)) { + break lab8; + } + break golab7; + } + if ($this.cursor >= $this.limit) { + break lab6; + } + ($__jsx_postinc_t = $this.cursor, $this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + } + golab9: + while (true) { + lab10 = true; + lab10: + while (lab10 === true) { + lab10 = false; + if (! BaseStemmer$out_grouping$LBaseStemmer$AIII($this, FrenchStemmer.g_v, 97, 251)) { + break lab10; + } + break golab9; + } + if ($this.cursor >= $this.limit) { + break lab6; + } + ($__jsx_postinc_t = $this.cursor, $this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + } + $this.I_p1 = $this.cursor; + golab11: + while (true) { + lab12 = true; + lab12: + while (lab12 === true) { + lab12 = false; + if (! BaseStemmer$in_grouping$LBaseStemmer$AIII($this, FrenchStemmer.g_v, 97, 251)) { + break lab12; + } + break golab11; + } + if ($this.cursor >= $this.limit) { + break lab6; + } + ($__jsx_postinc_t = $this.cursor, $this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + } + golab13: + while (true) { + lab14 = true; + lab14: + while (lab14 === true) { + lab14 = false; + if (! BaseStemmer$out_grouping$LBaseStemmer$AIII($this, FrenchStemmer.g_v, 97, 251)) { + break lab14; + } + break golab13; + } + if ($this.cursor >= $this.limit) { + break lab6; + } + ($__jsx_postinc_t = $this.cursor, $this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + } + $this.I_p2 = $this.cursor; + } + $this.cursor = v_4; + return true; +}; + +FrenchStemmer.r_mark_regions$LFrenchStemmer$ = FrenchStemmer$r_mark_regions$LFrenchStemmer$; + +FrenchStemmer.prototype.r_postlude$ = function () { + var among_var; + var v_1; + var lab1; + var $__jsx_postinc_t; +replab0: + while (true) { + v_1 = this.cursor; + lab1 = true; + lab1: + while (lab1 === true) { + lab1 = false; + this.bra = this.cursor; + among_var = BaseStemmer$find_among$LBaseStemmer$ALAmong$I(this, FrenchStemmer.a_1, 4); + if (among_var === 0) { + break lab1; + } + this.ket = this.cursor; + switch (among_var) { + case 0: + break lab1; + case 1: + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "i")) { + return false; + } + break; + case 2: + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "u")) { + return false; + } + break; + case 3: + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "y")) { + return false; + } + break; + case 4: + if (this.cursor >= this.limit) { + break lab1; + } + ($__jsx_postinc_t = this.cursor, this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + break; + } + continue replab0; + } + this.cursor = v_1; + break replab0; + } + return true; +}; + +FrenchStemmer.prototype.r_postlude = FrenchStemmer.prototype.r_postlude$; + +function FrenchStemmer$r_postlude$LFrenchStemmer$($this) { + var among_var; + var v_1; + var lab1; + var $__jsx_postinc_t; +replab0: + while (true) { + v_1 = $this.cursor; + lab1 = true; + lab1: + while (lab1 === true) { + lab1 = false; + $this.bra = $this.cursor; + among_var = BaseStemmer$find_among$LBaseStemmer$ALAmong$I($this, FrenchStemmer.a_1, 4); + if (among_var === 0) { + break lab1; + } + $this.ket = $this.cursor; + switch (among_var) { + case 0: + break lab1; + case 1: + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "i")) { + return false; + } + break; + case 2: + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "u")) { + return false; + } + break; + case 3: + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "y")) { + return false; + } + break; + case 4: + if ($this.cursor >= $this.limit) { + break lab1; + } + ($__jsx_postinc_t = $this.cursor, $this.cursor = ($__jsx_postinc_t + 1) | 0, $__jsx_postinc_t); + break; + } + continue replab0; + } + $this.cursor = v_1; + break replab0; + } + return true; +}; + +FrenchStemmer.r_postlude$LFrenchStemmer$ = FrenchStemmer$r_postlude$LFrenchStemmer$; + +FrenchStemmer.prototype.r_RV$ = function () { + return (! (this.I_pV <= this.cursor) ? false : true); +}; + +FrenchStemmer.prototype.r_RV = FrenchStemmer.prototype.r_RV$; + +function FrenchStemmer$r_RV$LFrenchStemmer$($this) { + return (! ($this.I_pV <= $this.cursor) ? false : true); +}; + +FrenchStemmer.r_RV$LFrenchStemmer$ = FrenchStemmer$r_RV$LFrenchStemmer$; + +FrenchStemmer.prototype.r_R1$ = function () { + return (! (this.I_p1 <= this.cursor) ? false : true); +}; + +FrenchStemmer.prototype.r_R1 = FrenchStemmer.prototype.r_R1$; + +function FrenchStemmer$r_R1$LFrenchStemmer$($this) { + return (! ($this.I_p1 <= $this.cursor) ? false : true); +}; + +FrenchStemmer.r_R1$LFrenchStemmer$ = FrenchStemmer$r_R1$LFrenchStemmer$; + +FrenchStemmer.prototype.r_R2$ = function () { + return (! (this.I_p2 <= this.cursor) ? false : true); +}; + +FrenchStemmer.prototype.r_R2 = FrenchStemmer.prototype.r_R2$; + +function FrenchStemmer$r_R2$LFrenchStemmer$($this) { + return (! ($this.I_p2 <= $this.cursor) ? false : true); +}; + +FrenchStemmer.r_R2$LFrenchStemmer$ = FrenchStemmer$r_R2$LFrenchStemmer$; + +FrenchStemmer.prototype.r_standard_suffix$ = function () { + var among_var; + var v_1; + var v_2; + var v_3; + var v_4; + var v_5; + var v_6; + var v_7; + var v_8; + var v_9; + var v_10; + var v_11; + var lab0; + var lab1; + var lab2; + var lab3; + var lab4; + var lab5; + var lab6; + var lab7; + var lab8; + var lab9; + var lab10; + var lab11; + var lab12; + var lab13; + var lab14; + var lab15; + var cursor$0; + var cursor$1; + var cursor$2; + var cursor$3; + this.ket = this.cursor; + among_var = BaseStemmer$find_among_b$LBaseStemmer$ALAmong$I(this, FrenchStemmer.a_4, 43); + if (among_var === 0) { + return false; + } + this.bra = this.cursor; + switch (among_var) { + case 0: + return false; + case 1: + if (! (! (this.I_p2 <= this.cursor) ? false : true)) { + return false; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "")) { + return false; + } + break; + case 2: + if (! (! (this.I_p2 <= this.cursor) ? false : true)) { + return false; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "")) { + return false; + } + v_1 = ((this.limit - this.cursor) | 0); + lab0 = true; + lab0: + while (lab0 === true) { + lab0 = false; + this.ket = this.cursor; + if (! BaseStemmer$eq_s_b$LBaseStemmer$IS(this, 2, "ic")) { + this.cursor = ((this.limit - v_1) | 0); + break lab0; + } + this.bra = this.cursor; + lab1 = true; + lab1: + while (lab1 === true) { + lab1 = false; + v_2 = ((this.limit - this.cursor) | 0); + lab2 = true; + lab2: + while (lab2 === true) { + lab2 = false; + if (! (! (this.I_p2 <= this.cursor) ? false : true)) { + break lab2; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "")) { + return false; + } + break lab1; + } + this.cursor = ((this.limit - v_2) | 0); + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "iqU")) { + return false; + } + } + } + break; + case 3: + if (! (! (this.I_p2 <= this.cursor) ? false : true)) { + return false; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "log")) { + return false; + } + break; + case 4: + if (! (! (this.I_p2 <= this.cursor) ? false : true)) { + return false; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "u")) { + return false; + } + break; + case 5: + if (! (! (this.I_p2 <= this.cursor) ? false : true)) { + return false; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "ent")) { + return false; + } + break; + case 6: + if (! (! (this.I_pV <= this.cursor) ? false : true)) { + return false; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "")) { + return false; + } + v_3 = ((this.limit - this.cursor) | 0); + lab3 = true; + lab3: + while (lab3 === true) { + lab3 = false; + this.ket = this.cursor; + among_var = BaseStemmer$find_among_b$LBaseStemmer$ALAmong$I(this, FrenchStemmer.a_2, 6); + if (among_var === 0) { + this.cursor = ((this.limit - v_3) | 0); + break lab3; + } + this.bra = this.cursor; + switch (among_var) { + case 0: + this.cursor = ((this.limit - v_3) | 0); + break lab3; + case 1: + if (! (! (this.I_p2 <= this.cursor) ? false : true)) { + this.cursor = ((this.limit - v_3) | 0); + break lab3; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "")) { + return false; + } + this.ket = this.cursor; + if (! BaseStemmer$eq_s_b$LBaseStemmer$IS(this, 2, "at")) { + this.cursor = ((this.limit - v_3) | 0); + break lab3; + } + this.bra = cursor$0 = this.cursor; + if (! (! (this.I_p2 <= cursor$0) ? false : true)) { + this.cursor = ((this.limit - v_3) | 0); + break lab3; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "")) { + return false; + } + break; + case 2: + lab4 = true; + lab4: + while (lab4 === true) { + lab4 = false; + v_4 = ((this.limit - this.cursor) | 0); + lab5 = true; + lab5: + while (lab5 === true) { + lab5 = false; + if (! (! (this.I_p2 <= this.cursor) ? false : true)) { + break lab5; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "")) { + return false; + } + break lab4; + } + cursor$1 = this.cursor = ((this.limit - v_4) | 0); + if (! (! (this.I_p1 <= cursor$1) ? false : true)) { + this.cursor = ((this.limit - v_3) | 0); + break lab3; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "eux")) { + return false; + } + } + break; + case 3: + if (! (! (this.I_p2 <= this.cursor) ? false : true)) { + this.cursor = ((this.limit - v_3) | 0); + break lab3; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "")) { + return false; + } + break; + case 4: + if (! (! (this.I_pV <= this.cursor) ? false : true)) { + this.cursor = ((this.limit - v_3) | 0); + break lab3; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "i")) { + return false; + } + break; + } + } + break; + case 7: + if (! (! (this.I_p2 <= this.cursor) ? false : true)) { + return false; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "")) { + return false; + } + v_5 = ((this.limit - this.cursor) | 0); + lab6 = true; + lab6: + while (lab6 === true) { + lab6 = false; + this.ket = this.cursor; + among_var = BaseStemmer$find_among_b$LBaseStemmer$ALAmong$I(this, FrenchStemmer.a_3, 3); + if (among_var === 0) { + this.cursor = ((this.limit - v_5) | 0); + break lab6; + } + this.bra = this.cursor; + switch (among_var) { + case 0: + this.cursor = ((this.limit - v_5) | 0); + break lab6; + case 1: + lab7 = true; + lab7: + while (lab7 === true) { + lab7 = false; + v_6 = ((this.limit - this.cursor) | 0); + lab8 = true; + lab8: + while (lab8 === true) { + lab8 = false; + if (! (! (this.I_p2 <= this.cursor) ? false : true)) { + break lab8; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "")) { + return false; + } + break lab7; + } + this.cursor = ((this.limit - v_6) | 0); + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "abl")) { + return false; + } + } + break; + case 2: + lab9 = true; + lab9: + while (lab9 === true) { + lab9 = false; + v_7 = ((this.limit - this.cursor) | 0); + lab10 = true; + lab10: + while (lab10 === true) { + lab10 = false; + if (! (! (this.I_p2 <= this.cursor) ? false : true)) { + break lab10; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "")) { + return false; + } + break lab9; + } + this.cursor = ((this.limit - v_7) | 0); + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "iqU")) { + return false; + } + } + break; + case 3: + if (! (! (this.I_p2 <= this.cursor) ? false : true)) { + this.cursor = ((this.limit - v_5) | 0); + break lab6; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "")) { + return false; + } + break; + } + } + break; + case 8: + if (! (! (this.I_p2 <= this.cursor) ? false : true)) { + return false; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "")) { + return false; + } + v_8 = ((this.limit - this.cursor) | 0); + lab11 = true; + lab11: + while (lab11 === true) { + lab11 = false; + this.ket = this.cursor; + if (! BaseStemmer$eq_s_b$LBaseStemmer$IS(this, 2, "at")) { + this.cursor = ((this.limit - v_8) | 0); + break lab11; + } + this.bra = cursor$2 = this.cursor; + if (! (! (this.I_p2 <= cursor$2) ? false : true)) { + this.cursor = ((this.limit - v_8) | 0); + break lab11; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "")) { + return false; + } + this.ket = this.cursor; + if (! BaseStemmer$eq_s_b$LBaseStemmer$IS(this, 2, "ic")) { + this.cursor = ((this.limit - v_8) | 0); + break lab11; + } + this.bra = this.cursor; + lab12 = true; + lab12: + while (lab12 === true) { + lab12 = false; + v_9 = ((this.limit - this.cursor) | 0); + lab13 = true; + lab13: + while (lab13 === true) { + lab13 = false; + if (! (! (this.I_p2 <= this.cursor) ? false : true)) { + break lab13; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "")) { + return false; + } + break lab12; + } + this.cursor = ((this.limit - v_9) | 0); + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "iqU")) { + return false; + } + } + } + break; + case 9: + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "eau")) { + return false; + } + break; + case 10: + if (! (! (this.I_p1 <= this.cursor) ? false : true)) { + return false; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "al")) { + return false; + } + break; + case 11: + lab14 = true; + lab14: + while (lab14 === true) { + lab14 = false; + v_10 = ((this.limit - this.cursor) | 0); + lab15 = true; + lab15: + while (lab15 === true) { + lab15 = false; + if (! (! (this.I_p2 <= this.cursor) ? false : true)) { + break lab15; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "")) { + return false; + } + break lab14; + } + cursor$3 = this.cursor = ((this.limit - v_10) | 0); + if (! (! (this.I_p1 <= cursor$3) ? false : true)) { + return false; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "eux")) { + return false; + } + } + break; + case 12: + if (! (! (this.I_p1 <= this.cursor) ? false : true)) { + return false; + } + if (! BaseStemmer$out_grouping_b$LBaseStemmer$AIII(this, FrenchStemmer.g_v, 97, 251)) { + return false; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "")) { + return false; + } + break; + case 13: + if (! (! (this.I_pV <= this.cursor) ? false : true)) { + return false; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "ant")) { + return false; + } + return false; + case 14: + if (! (! (this.I_pV <= this.cursor) ? false : true)) { + return false; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "ent")) { + return false; + } + return false; + case 15: + v_11 = ((this.limit - this.cursor) | 0); + if (! BaseStemmer$in_grouping_b$LBaseStemmer$AIII(this, FrenchStemmer.g_v, 97, 251)) { + return false; + } + if (! (! (this.I_pV <= this.cursor) ? false : true)) { + return false; + } + this.cursor = ((this.limit - v_11) | 0); + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "")) { + return false; + } + return false; + } + return true; +}; + +FrenchStemmer.prototype.r_standard_suffix = FrenchStemmer.prototype.r_standard_suffix$; + +function FrenchStemmer$r_standard_suffix$LFrenchStemmer$($this) { + var among_var; + var v_1; + var v_2; + var v_3; + var v_4; + var v_5; + var v_6; + var v_7; + var v_8; + var v_9; + var v_10; + var v_11; + var lab0; + var lab1; + var lab2; + var lab3; + var lab4; + var lab5; + var lab6; + var lab7; + var lab8; + var lab9; + var lab10; + var lab11; + var lab12; + var lab13; + var lab14; + var lab15; + var cursor$0; + var cursor$1; + var cursor$2; + var cursor$3; + $this.ket = $this.cursor; + among_var = BaseStemmer$find_among_b$LBaseStemmer$ALAmong$I($this, FrenchStemmer.a_4, 43); + if (among_var === 0) { + return false; + } + $this.bra = $this.cursor; + switch (among_var) { + case 0: + return false; + case 1: + if (! (! ($this.I_p2 <= $this.cursor) ? false : true)) { + return false; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "")) { + return false; + } + break; + case 2: + if (! (! ($this.I_p2 <= $this.cursor) ? false : true)) { + return false; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "")) { + return false; + } + v_1 = (($this.limit - $this.cursor) | 0); + lab0 = true; + lab0: + while (lab0 === true) { + lab0 = false; + $this.ket = $this.cursor; + if (! BaseStemmer$eq_s_b$LBaseStemmer$IS($this, 2, "ic")) { + $this.cursor = (($this.limit - v_1) | 0); + break lab0; + } + $this.bra = $this.cursor; + lab1 = true; + lab1: + while (lab1 === true) { + lab1 = false; + v_2 = (($this.limit - $this.cursor) | 0); + lab2 = true; + lab2: + while (lab2 === true) { + lab2 = false; + if (! (! ($this.I_p2 <= $this.cursor) ? false : true)) { + break lab2; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "")) { + return false; + } + break lab1; + } + $this.cursor = (($this.limit - v_2) | 0); + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "iqU")) { + return false; + } + } + } + break; + case 3: + if (! (! ($this.I_p2 <= $this.cursor) ? false : true)) { + return false; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "log")) { + return false; + } + break; + case 4: + if (! (! ($this.I_p2 <= $this.cursor) ? false : true)) { + return false; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "u")) { + return false; + } + break; + case 5: + if (! (! ($this.I_p2 <= $this.cursor) ? false : true)) { + return false; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "ent")) { + return false; + } + break; + case 6: + if (! (! ($this.I_pV <= $this.cursor) ? false : true)) { + return false; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "")) { + return false; + } + v_3 = (($this.limit - $this.cursor) | 0); + lab3 = true; + lab3: + while (lab3 === true) { + lab3 = false; + $this.ket = $this.cursor; + among_var = BaseStemmer$find_among_b$LBaseStemmer$ALAmong$I($this, FrenchStemmer.a_2, 6); + if (among_var === 0) { + $this.cursor = (($this.limit - v_3) | 0); + break lab3; + } + $this.bra = $this.cursor; + switch (among_var) { + case 0: + $this.cursor = (($this.limit - v_3) | 0); + break lab3; + case 1: + if (! (! ($this.I_p2 <= $this.cursor) ? false : true)) { + $this.cursor = (($this.limit - v_3) | 0); + break lab3; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "")) { + return false; + } + $this.ket = $this.cursor; + if (! BaseStemmer$eq_s_b$LBaseStemmer$IS($this, 2, "at")) { + $this.cursor = (($this.limit - v_3) | 0); + break lab3; + } + $this.bra = cursor$0 = $this.cursor; + if (! (! ($this.I_p2 <= cursor$0) ? false : true)) { + $this.cursor = (($this.limit - v_3) | 0); + break lab3; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "")) { + return false; + } + break; + case 2: + lab4 = true; + lab4: + while (lab4 === true) { + lab4 = false; + v_4 = (($this.limit - $this.cursor) | 0); + lab5 = true; + lab5: + while (lab5 === true) { + lab5 = false; + if (! (! ($this.I_p2 <= $this.cursor) ? false : true)) { + break lab5; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "")) { + return false; + } + break lab4; + } + cursor$1 = $this.cursor = (($this.limit - v_4) | 0); + if (! (! ($this.I_p1 <= cursor$1) ? false : true)) { + $this.cursor = (($this.limit - v_3) | 0); + break lab3; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "eux")) { + return false; + } + } + break; + case 3: + if (! (! ($this.I_p2 <= $this.cursor) ? false : true)) { + $this.cursor = (($this.limit - v_3) | 0); + break lab3; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "")) { + return false; + } + break; + case 4: + if (! (! ($this.I_pV <= $this.cursor) ? false : true)) { + $this.cursor = (($this.limit - v_3) | 0); + break lab3; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "i")) { + return false; + } + break; + } + } + break; + case 7: + if (! (! ($this.I_p2 <= $this.cursor) ? false : true)) { + return false; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "")) { + return false; + } + v_5 = (($this.limit - $this.cursor) | 0); + lab6 = true; + lab6: + while (lab6 === true) { + lab6 = false; + $this.ket = $this.cursor; + among_var = BaseStemmer$find_among_b$LBaseStemmer$ALAmong$I($this, FrenchStemmer.a_3, 3); + if (among_var === 0) { + $this.cursor = (($this.limit - v_5) | 0); + break lab6; + } + $this.bra = $this.cursor; + switch (among_var) { + case 0: + $this.cursor = (($this.limit - v_5) | 0); + break lab6; + case 1: + lab7 = true; + lab7: + while (lab7 === true) { + lab7 = false; + v_6 = (($this.limit - $this.cursor) | 0); + lab8 = true; + lab8: + while (lab8 === true) { + lab8 = false; + if (! (! ($this.I_p2 <= $this.cursor) ? false : true)) { + break lab8; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "")) { + return false; + } + break lab7; + } + $this.cursor = (($this.limit - v_6) | 0); + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "abl")) { + return false; + } + } + break; + case 2: + lab9 = true; + lab9: + while (lab9 === true) { + lab9 = false; + v_7 = (($this.limit - $this.cursor) | 0); + lab10 = true; + lab10: + while (lab10 === true) { + lab10 = false; + if (! (! ($this.I_p2 <= $this.cursor) ? false : true)) { + break lab10; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "")) { + return false; + } + break lab9; + } + $this.cursor = (($this.limit - v_7) | 0); + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "iqU")) { + return false; + } + } + break; + case 3: + if (! (! ($this.I_p2 <= $this.cursor) ? false : true)) { + $this.cursor = (($this.limit - v_5) | 0); + break lab6; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "")) { + return false; + } + break; + } + } + break; + case 8: + if (! (! ($this.I_p2 <= $this.cursor) ? false : true)) { + return false; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "")) { + return false; + } + v_8 = (($this.limit - $this.cursor) | 0); + lab11 = true; + lab11: + while (lab11 === true) { + lab11 = false; + $this.ket = $this.cursor; + if (! BaseStemmer$eq_s_b$LBaseStemmer$IS($this, 2, "at")) { + $this.cursor = (($this.limit - v_8) | 0); + break lab11; + } + $this.bra = cursor$2 = $this.cursor; + if (! (! ($this.I_p2 <= cursor$2) ? false : true)) { + $this.cursor = (($this.limit - v_8) | 0); + break lab11; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "")) { + return false; + } + $this.ket = $this.cursor; + if (! BaseStemmer$eq_s_b$LBaseStemmer$IS($this, 2, "ic")) { + $this.cursor = (($this.limit - v_8) | 0); + break lab11; + } + $this.bra = $this.cursor; + lab12 = true; + lab12: + while (lab12 === true) { + lab12 = false; + v_9 = (($this.limit - $this.cursor) | 0); + lab13 = true; + lab13: + while (lab13 === true) { + lab13 = false; + if (! (! ($this.I_p2 <= $this.cursor) ? false : true)) { + break lab13; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "")) { + return false; + } + break lab12; + } + $this.cursor = (($this.limit - v_9) | 0); + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "iqU")) { + return false; + } + } + } + break; + case 9: + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "eau")) { + return false; + } + break; + case 10: + if (! (! ($this.I_p1 <= $this.cursor) ? false : true)) { + return false; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "al")) { + return false; + } + break; + case 11: + lab14 = true; + lab14: + while (lab14 === true) { + lab14 = false; + v_10 = (($this.limit - $this.cursor) | 0); + lab15 = true; + lab15: + while (lab15 === true) { + lab15 = false; + if (! (! ($this.I_p2 <= $this.cursor) ? false : true)) { + break lab15; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "")) { + return false; + } + break lab14; + } + cursor$3 = $this.cursor = (($this.limit - v_10) | 0); + if (! (! ($this.I_p1 <= cursor$3) ? false : true)) { + return false; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "eux")) { + return false; + } + } + break; + case 12: + if (! (! ($this.I_p1 <= $this.cursor) ? false : true)) { + return false; + } + if (! BaseStemmer$out_grouping_b$LBaseStemmer$AIII($this, FrenchStemmer.g_v, 97, 251)) { + return false; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "")) { + return false; + } + break; + case 13: + if (! (! ($this.I_pV <= $this.cursor) ? false : true)) { + return false; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "ant")) { + return false; + } + return false; + case 14: + if (! (! ($this.I_pV <= $this.cursor) ? false : true)) { + return false; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "ent")) { + return false; + } + return false; + case 15: + v_11 = (($this.limit - $this.cursor) | 0); + if (! BaseStemmer$in_grouping_b$LBaseStemmer$AIII($this, FrenchStemmer.g_v, 97, 251)) { + return false; + } + if (! (! ($this.I_pV <= $this.cursor) ? false : true)) { + return false; + } + $this.cursor = (($this.limit - v_11) | 0); + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "")) { + return false; + } + return false; + } + return true; +}; + +FrenchStemmer.r_standard_suffix$LFrenchStemmer$ = FrenchStemmer$r_standard_suffix$LFrenchStemmer$; + +FrenchStemmer.prototype.r_i_verb_suffix$ = function () { + var among_var; + var v_1; + var v_2; + var cursor$0; + var cursor$1; + var cursor$2; + v_1 = ((this.limit - (cursor$0 = this.cursor)) | 0); + if (cursor$0 < this.I_pV) { + return false; + } + cursor$1 = this.cursor = this.I_pV; + v_2 = this.limit_backward; + this.limit_backward = cursor$1; + cursor$2 = this.cursor = ((this.limit - v_1) | 0); + this.ket = cursor$2; + among_var = BaseStemmer$find_among_b$LBaseStemmer$ALAmong$I(this, FrenchStemmer.a_5, 35); + if (among_var === 0) { + this.limit_backward = v_2; + return false; + } + this.bra = this.cursor; + switch (among_var) { + case 0: + this.limit_backward = v_2; + return false; + case 1: + if (! BaseStemmer$out_grouping_b$LBaseStemmer$AIII(this, FrenchStemmer.g_v, 97, 251)) { + this.limit_backward = v_2; + return false; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "")) { + return false; + } + break; + } + this.limit_backward = v_2; + return true; +}; + +FrenchStemmer.prototype.r_i_verb_suffix = FrenchStemmer.prototype.r_i_verb_suffix$; + +function FrenchStemmer$r_i_verb_suffix$LFrenchStemmer$($this) { + var among_var; + var v_1; + var v_2; + var cursor$0; + var cursor$1; + var cursor$2; + v_1 = (($this.limit - (cursor$0 = $this.cursor)) | 0); + if (cursor$0 < $this.I_pV) { + return false; + } + cursor$1 = $this.cursor = $this.I_pV; + v_2 = $this.limit_backward; + $this.limit_backward = cursor$1; + cursor$2 = $this.cursor = (($this.limit - v_1) | 0); + $this.ket = cursor$2; + among_var = BaseStemmer$find_among_b$LBaseStemmer$ALAmong$I($this, FrenchStemmer.a_5, 35); + if (among_var === 0) { + $this.limit_backward = v_2; + return false; + } + $this.bra = $this.cursor; + switch (among_var) { + case 0: + $this.limit_backward = v_2; + return false; + case 1: + if (! BaseStemmer$out_grouping_b$LBaseStemmer$AIII($this, FrenchStemmer.g_v, 97, 251)) { + $this.limit_backward = v_2; + return false; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "")) { + return false; + } + break; + } + $this.limit_backward = v_2; + return true; +}; + +FrenchStemmer.r_i_verb_suffix$LFrenchStemmer$ = FrenchStemmer$r_i_verb_suffix$LFrenchStemmer$; + +FrenchStemmer.prototype.r_verb_suffix$ = function () { + var among_var; + var v_1; + var v_2; + var v_3; + var lab0; + var cursor$0; + var cursor$1; + var cursor$2; + v_1 = ((this.limit - (cursor$0 = this.cursor)) | 0); + if (cursor$0 < this.I_pV) { + return false; + } + cursor$1 = this.cursor = this.I_pV; + v_2 = this.limit_backward; + this.limit_backward = cursor$1; + cursor$2 = this.cursor = ((this.limit - v_1) | 0); + this.ket = cursor$2; + among_var = BaseStemmer$find_among_b$LBaseStemmer$ALAmong$I(this, FrenchStemmer.a_6, 38); + if (among_var === 0) { + this.limit_backward = v_2; + return false; + } + this.bra = this.cursor; + switch (among_var) { + case 0: + this.limit_backward = v_2; + return false; + case 1: + if (! (! (this.I_p2 <= this.cursor) ? false : true)) { + this.limit_backward = v_2; + return false; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "")) { + return false; + } + break; + case 2: + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "")) { + return false; + } + break; + case 3: + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "")) { + return false; + } + v_3 = ((this.limit - this.cursor) | 0); + lab0 = true; + lab0: + while (lab0 === true) { + lab0 = false; + this.ket = this.cursor; + if (! BaseStemmer$eq_s_b$LBaseStemmer$IS(this, 1, "e")) { + this.cursor = ((this.limit - v_3) | 0); + break lab0; + } + this.bra = this.cursor; + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "")) { + return false; + } + } + break; + } + this.limit_backward = v_2; + return true; +}; + +FrenchStemmer.prototype.r_verb_suffix = FrenchStemmer.prototype.r_verb_suffix$; + +function FrenchStemmer$r_verb_suffix$LFrenchStemmer$($this) { + var among_var; + var v_1; + var v_2; + var v_3; + var lab0; + var cursor$0; + var cursor$1; + var cursor$2; + v_1 = (($this.limit - (cursor$0 = $this.cursor)) | 0); + if (cursor$0 < $this.I_pV) { + return false; + } + cursor$1 = $this.cursor = $this.I_pV; + v_2 = $this.limit_backward; + $this.limit_backward = cursor$1; + cursor$2 = $this.cursor = (($this.limit - v_1) | 0); + $this.ket = cursor$2; + among_var = BaseStemmer$find_among_b$LBaseStemmer$ALAmong$I($this, FrenchStemmer.a_6, 38); + if (among_var === 0) { + $this.limit_backward = v_2; + return false; + } + $this.bra = $this.cursor; + switch (among_var) { + case 0: + $this.limit_backward = v_2; + return false; + case 1: + if (! (! ($this.I_p2 <= $this.cursor) ? false : true)) { + $this.limit_backward = v_2; + return false; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "")) { + return false; + } + break; + case 2: + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "")) { + return false; + } + break; + case 3: + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "")) { + return false; + } + v_3 = (($this.limit - $this.cursor) | 0); + lab0 = true; + lab0: + while (lab0 === true) { + lab0 = false; + $this.ket = $this.cursor; + if (! BaseStemmer$eq_s_b$LBaseStemmer$IS($this, 1, "e")) { + $this.cursor = (($this.limit - v_3) | 0); + break lab0; + } + $this.bra = $this.cursor; + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "")) { + return false; + } + } + break; + } + $this.limit_backward = v_2; + return true; +}; + +FrenchStemmer.r_verb_suffix$LFrenchStemmer$ = FrenchStemmer$r_verb_suffix$LFrenchStemmer$; + +FrenchStemmer.prototype.r_residual_suffix$ = function () { + var among_var; + var v_1; + var v_2; + var v_3; + var v_4; + var v_5; + var lab0; + var lab1; + var lab2; + var cursor$0; + var cursor$1; + var cursor$2; + var cursor$3; + v_1 = ((this.limit - this.cursor) | 0); + lab0 = true; +lab0: + while (lab0 === true) { + lab0 = false; + this.ket = this.cursor; + if (! BaseStemmer$eq_s_b$LBaseStemmer$IS(this, 1, "s")) { + this.cursor = ((this.limit - v_1) | 0); + break lab0; + } + this.bra = cursor$0 = this.cursor; + v_2 = ((this.limit - cursor$0) | 0); + if (! BaseStemmer$out_grouping_b$LBaseStemmer$AIII(this, FrenchStemmer.g_keep_with_s, 97, 232)) { + this.cursor = ((this.limit - v_1) | 0); + break lab0; + } + this.cursor = ((this.limit - v_2) | 0); + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "")) { + return false; + } + } + v_3 = ((this.limit - (cursor$1 = this.cursor)) | 0); + if (cursor$1 < this.I_pV) { + return false; + } + cursor$2 = this.cursor = this.I_pV; + v_4 = this.limit_backward; + this.limit_backward = cursor$2; + cursor$3 = this.cursor = ((this.limit - v_3) | 0); + this.ket = cursor$3; + among_var = BaseStemmer$find_among_b$LBaseStemmer$ALAmong$I(this, FrenchStemmer.a_7, 7); + if (among_var === 0) { + this.limit_backward = v_4; + return false; + } + this.bra = this.cursor; + switch (among_var) { + case 0: + this.limit_backward = v_4; + return false; + case 1: + if (! (! (this.I_p2 <= this.cursor) ? false : true)) { + this.limit_backward = v_4; + return false; + } + lab1 = true; + lab1: + while (lab1 === true) { + lab1 = false; + v_5 = ((this.limit - this.cursor) | 0); + lab2 = true; + lab2: + while (lab2 === true) { + lab2 = false; + if (! BaseStemmer$eq_s_b$LBaseStemmer$IS(this, 1, "s")) { + break lab2; + } + break lab1; + } + this.cursor = ((this.limit - v_5) | 0); + if (! BaseStemmer$eq_s_b$LBaseStemmer$IS(this, 1, "t")) { + this.limit_backward = v_4; + return false; + } + } + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "")) { + return false; + } + break; + case 2: + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "i")) { + return false; + } + break; + case 3: + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "")) { + return false; + } + break; + case 4: + if (! BaseStemmer$eq_s_b$LBaseStemmer$IS(this, 2, "gu")) { + this.limit_backward = v_4; + return false; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "")) { + return false; + } + break; + } + this.limit_backward = v_4; + return true; +}; + +FrenchStemmer.prototype.r_residual_suffix = FrenchStemmer.prototype.r_residual_suffix$; + +function FrenchStemmer$r_residual_suffix$LFrenchStemmer$($this) { + var among_var; + var v_1; + var v_2; + var v_3; + var v_4; + var v_5; + var lab0; + var lab1; + var lab2; + var cursor$0; + var cursor$1; + var cursor$2; + var cursor$3; + v_1 = (($this.limit - $this.cursor) | 0); + lab0 = true; +lab0: + while (lab0 === true) { + lab0 = false; + $this.ket = $this.cursor; + if (! BaseStemmer$eq_s_b$LBaseStemmer$IS($this, 1, "s")) { + $this.cursor = (($this.limit - v_1) | 0); + break lab0; + } + $this.bra = cursor$0 = $this.cursor; + v_2 = (($this.limit - cursor$0) | 0); + if (! BaseStemmer$out_grouping_b$LBaseStemmer$AIII($this, FrenchStemmer.g_keep_with_s, 97, 232)) { + $this.cursor = (($this.limit - v_1) | 0); + break lab0; + } + $this.cursor = (($this.limit - v_2) | 0); + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "")) { + return false; + } + } + v_3 = (($this.limit - (cursor$1 = $this.cursor)) | 0); + if (cursor$1 < $this.I_pV) { + return false; + } + cursor$2 = $this.cursor = $this.I_pV; + v_4 = $this.limit_backward; + $this.limit_backward = cursor$2; + cursor$3 = $this.cursor = (($this.limit - v_3) | 0); + $this.ket = cursor$3; + among_var = BaseStemmer$find_among_b$LBaseStemmer$ALAmong$I($this, FrenchStemmer.a_7, 7); + if (among_var === 0) { + $this.limit_backward = v_4; + return false; + } + $this.bra = $this.cursor; + switch (among_var) { + case 0: + $this.limit_backward = v_4; + return false; + case 1: + if (! (! ($this.I_p2 <= $this.cursor) ? false : true)) { + $this.limit_backward = v_4; + return false; + } + lab1 = true; + lab1: + while (lab1 === true) { + lab1 = false; + v_5 = (($this.limit - $this.cursor) | 0); + lab2 = true; + lab2: + while (lab2 === true) { + lab2 = false; + if (! BaseStemmer$eq_s_b$LBaseStemmer$IS($this, 1, "s")) { + break lab2; + } + break lab1; + } + $this.cursor = (($this.limit - v_5) | 0); + if (! BaseStemmer$eq_s_b$LBaseStemmer$IS($this, 1, "t")) { + $this.limit_backward = v_4; + return false; + } + } + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "")) { + return false; + } + break; + case 2: + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "i")) { + return false; + } + break; + case 3: + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "")) { + return false; + } + break; + case 4: + if (! BaseStemmer$eq_s_b$LBaseStemmer$IS($this, 2, "gu")) { + $this.limit_backward = v_4; + return false; + } + if (! BaseStemmer$slice_from$LBaseStemmer$S($this, "")) { + return false; + } + break; + } + $this.limit_backward = v_4; + return true; +}; + +FrenchStemmer.r_residual_suffix$LFrenchStemmer$ = FrenchStemmer$r_residual_suffix$LFrenchStemmer$; + +FrenchStemmer.prototype.r_un_double$ = function () { + var v_1; + var cursor$0; + var $__jsx_postinc_t; + v_1 = ((this.limit - this.cursor) | 0); + if (BaseStemmer$find_among_b$LBaseStemmer$ALAmong$I(this, FrenchStemmer.a_8, 5) === 0) { + return false; + } + cursor$0 = this.cursor = ((this.limit - v_1) | 0); + this.ket = cursor$0; + if (cursor$0 <= this.limit_backward) { + return false; + } + ($__jsx_postinc_t = this.cursor, this.cursor = ($__jsx_postinc_t - 1) | 0, $__jsx_postinc_t); + this.bra = this.cursor; + return (! BaseStemmer$slice_from$LBaseStemmer$S(this, "") ? false : true); +}; + +FrenchStemmer.prototype.r_un_double = FrenchStemmer.prototype.r_un_double$; + +function FrenchStemmer$r_un_double$LFrenchStemmer$($this) { + var v_1; + var cursor$0; + var $__jsx_postinc_t; + v_1 = (($this.limit - $this.cursor) | 0); + if (BaseStemmer$find_among_b$LBaseStemmer$ALAmong$I($this, FrenchStemmer.a_8, 5) === 0) { + return false; + } + cursor$0 = $this.cursor = (($this.limit - v_1) | 0); + $this.ket = cursor$0; + if (cursor$0 <= $this.limit_backward) { + return false; + } + ($__jsx_postinc_t = $this.cursor, $this.cursor = ($__jsx_postinc_t - 1) | 0, $__jsx_postinc_t); + $this.bra = $this.cursor; + return (! BaseStemmer$slice_from$LBaseStemmer$S($this, "") ? false : true); +}; + +FrenchStemmer.r_un_double$LFrenchStemmer$ = FrenchStemmer$r_un_double$LFrenchStemmer$; + +FrenchStemmer.prototype.r_un_accent$ = function () { + var v_3; + var v_1; + var lab1; + var lab2; + var lab3; + v_1 = 1; +replab0: + while (true) { + lab1 = true; + lab1: + while (lab1 === true) { + lab1 = false; + if (! BaseStemmer$out_grouping_b$LBaseStemmer$AIII(this, FrenchStemmer.g_v, 97, 251)) { + break lab1; + } + v_1--; + continue replab0; + } + break replab0; + } + if (v_1 > 0) { + return false; + } + this.ket = this.cursor; + lab2 = true; +lab2: + while (lab2 === true) { + lab2 = false; + v_3 = ((this.limit - this.cursor) | 0); + lab3 = true; + lab3: + while (lab3 === true) { + lab3 = false; + if (! BaseStemmer$eq_s_b$LBaseStemmer$IS(this, 1, "\u00E9")) { + break lab3; + } + break lab2; + } + this.cursor = ((this.limit - v_3) | 0); + if (! BaseStemmer$eq_s_b$LBaseStemmer$IS(this, 1, "\u00E8")) { + return false; + } + } + this.bra = this.cursor; + return (! BaseStemmer$slice_from$LBaseStemmer$S(this, "e") ? false : true); +}; + +FrenchStemmer.prototype.r_un_accent = FrenchStemmer.prototype.r_un_accent$; + +function FrenchStemmer$r_un_accent$LFrenchStemmer$($this) { + var v_3; + var v_1; + var lab1; + var lab2; + var lab3; + v_1 = 1; +replab0: + while (true) { + lab1 = true; + lab1: + while (lab1 === true) { + lab1 = false; + if (! BaseStemmer$out_grouping_b$LBaseStemmer$AIII($this, FrenchStemmer.g_v, 97, 251)) { + break lab1; + } + v_1--; + continue replab0; + } + break replab0; + } + if (v_1 > 0) { + return false; + } + $this.ket = $this.cursor; + lab2 = true; +lab2: + while (lab2 === true) { + lab2 = false; + v_3 = (($this.limit - $this.cursor) | 0); + lab3 = true; + lab3: + while (lab3 === true) { + lab3 = false; + if (! BaseStemmer$eq_s_b$LBaseStemmer$IS($this, 1, "\u00E9")) { + break lab3; + } + break lab2; + } + $this.cursor = (($this.limit - v_3) | 0); + if (! BaseStemmer$eq_s_b$LBaseStemmer$IS($this, 1, "\u00E8")) { + return false; + } + } + $this.bra = $this.cursor; + return (! BaseStemmer$slice_from$LBaseStemmer$S($this, "e") ? false : true); +}; + +FrenchStemmer.r_un_accent$LFrenchStemmer$ = FrenchStemmer$r_un_accent$LFrenchStemmer$; + +FrenchStemmer.prototype.stem$ = function () { + var v_1; + var v_2; + var v_3; + var v_4; + var v_5; + var v_6; + var v_7; + var v_8; + var v_9; + var v_11; + var lab0; + var lab1; + var lab2; + var lab3; + var lab4; + var lab5; + var lab6; + var lab7; + var lab8; + var lab9; + var lab10; + var lab11; + var lab12; + var lab13; + var cursor$0; + var limit$0; + var cursor$1; + var cursor$2; + var limit$1; + var cursor$3; + var limit$2; + var cursor$4; + var cursor$5; + v_1 = this.cursor; + lab0 = true; +lab0: + while (lab0 === true) { + lab0 = false; + if (! FrenchStemmer$r_prelude$LFrenchStemmer$(this)) { + break lab0; + } + } + cursor$0 = this.cursor = v_1; + v_2 = cursor$0; + lab1 = true; +lab1: + while (lab1 === true) { + lab1 = false; + if (! FrenchStemmer$r_mark_regions$LFrenchStemmer$(this)) { + break lab1; + } + } + cursor$2 = this.cursor = v_2; + this.limit_backward = cursor$2; + cursor$3 = this.cursor = limit$1 = this.limit; + v_3 = ((limit$1 - cursor$3) | 0); + lab2 = true; +lab2: + while (lab2 === true) { + lab2 = false; + lab3 = true; + lab3: + while (lab3 === true) { + lab3 = false; + v_4 = ((this.limit - this.cursor) | 0); + lab4 = true; + lab4: + while (lab4 === true) { + lab4 = false; + v_5 = ((this.limit - this.cursor) | 0); + lab5 = true; + lab5: + while (lab5 === true) { + lab5 = false; + v_6 = ((this.limit - this.cursor) | 0); + lab6 = true; + lab6: + while (lab6 === true) { + lab6 = false; + if (! FrenchStemmer$r_standard_suffix$LFrenchStemmer$(this)) { + break lab6; + } + break lab5; + } + this.cursor = ((this.limit - v_6) | 0); + lab7 = true; + lab7: + while (lab7 === true) { + lab7 = false; + if (! FrenchStemmer$r_i_verb_suffix$LFrenchStemmer$(this)) { + break lab7; + } + break lab5; + } + this.cursor = ((this.limit - v_6) | 0); + if (! FrenchStemmer$r_verb_suffix$LFrenchStemmer$(this)) { + break lab4; + } + } + cursor$1 = this.cursor = (((limit$0 = this.limit) - v_5) | 0); + v_7 = ((limit$0 - cursor$1) | 0); + lab8 = true; + lab8: + while (lab8 === true) { + lab8 = false; + this.ket = this.cursor; + lab9 = true; + lab9: + while (lab9 === true) { + lab9 = false; + v_8 = ((this.limit - this.cursor) | 0); + lab10 = true; + lab10: + while (lab10 === true) { + lab10 = false; + if (! BaseStemmer$eq_s_b$LBaseStemmer$IS(this, 1, "Y")) { + break lab10; + } + this.bra = this.cursor; + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "i")) { + return false; + } + break lab9; + } + this.cursor = ((this.limit - v_8) | 0); + if (! BaseStemmer$eq_s_b$LBaseStemmer$IS(this, 1, "\u00E7")) { + this.cursor = ((this.limit - v_7) | 0); + break lab8; + } + this.bra = this.cursor; + if (! BaseStemmer$slice_from$LBaseStemmer$S(this, "c")) { + return false; + } + } + } + break lab3; + } + this.cursor = ((this.limit - v_4) | 0); + if (! FrenchStemmer$r_residual_suffix$LFrenchStemmer$(this)) { + break lab2; + } + } + } + cursor$4 = this.cursor = (((limit$2 = this.limit) - v_3) | 0); + v_9 = ((limit$2 - cursor$4) | 0); + lab11 = true; +lab11: + while (lab11 === true) { + lab11 = false; + if (! FrenchStemmer$r_un_double$LFrenchStemmer$(this)) { + break lab11; + } + } + this.cursor = ((this.limit - v_9) | 0); + lab12 = true; +lab12: + while (lab12 === true) { + lab12 = false; + if (! FrenchStemmer$r_un_accent$LFrenchStemmer$(this)) { + break lab12; + } + } + cursor$5 = this.cursor = this.limit_backward; + v_11 = cursor$5; + lab13 = true; +lab13: + while (lab13 === true) { + lab13 = false; + if (! FrenchStemmer$r_postlude$LFrenchStemmer$(this)) { + break lab13; + } + } + this.cursor = v_11; + return true; +}; + +FrenchStemmer.prototype.stem = FrenchStemmer.prototype.stem$; + +FrenchStemmer.prototype.equals$X = function (o) { + return o instanceof FrenchStemmer; +}; + +FrenchStemmer.prototype.equals = FrenchStemmer.prototype.equals$X; + +function FrenchStemmer$equals$LFrenchStemmer$X($this, o) { + return o instanceof FrenchStemmer; +}; + +FrenchStemmer.equals$LFrenchStemmer$X = FrenchStemmer$equals$LFrenchStemmer$X; + +FrenchStemmer.prototype.hashCode$ = function () { + var classname; + var hash; + var i; + var char; + classname = "FrenchStemmer"; + hash = 0; + for (i = 0; i < classname.length; i++) { + char = classname.charCodeAt(i); + hash = (hash << 5) - hash + char; + hash = hash & hash; + } + return (hash | 0); +}; + +FrenchStemmer.prototype.hashCode = FrenchStemmer.prototype.hashCode$; + +function FrenchStemmer$hashCode$LFrenchStemmer$($this) { + var classname; + var hash; + var i; + var char; + classname = "FrenchStemmer"; + hash = 0; + for (i = 0; i < classname.length; i++) { + char = classname.charCodeAt(i); + hash = (hash << 5) - hash + char; + hash = hash & hash; + } + return (hash | 0); +}; + +FrenchStemmer.hashCode$LFrenchStemmer$ = FrenchStemmer$hashCode$LFrenchStemmer$; + +FrenchStemmer.serialVersionUID = 1; +$__jsx_lazy_init(FrenchStemmer, "methodObject", function () { + return new FrenchStemmer(); +}); +$__jsx_lazy_init(FrenchStemmer, "a_0", function () { + return [ new Among("col", -1, -1), new Among("par", -1, -1), new Among("tap", -1, -1) ]; +}); +$__jsx_lazy_init(FrenchStemmer, "a_1", function () { + return [ new Among("", -1, 4), new Among("I", 0, 1), new Among("U", 0, 2), new Among("Y", 0, 3) ]; +}); +$__jsx_lazy_init(FrenchStemmer, "a_2", function () { + return [ new Among("iqU", -1, 3), new Among("abl", -1, 3), new Among("I\u00E8r", -1, 4), new Among("i\u00E8r", -1, 4), new Among("eus", -1, 2), new Among("iv", -1, 1) ]; +}); +$__jsx_lazy_init(FrenchStemmer, "a_3", function () { + return [ new Among("ic", -1, 2), new Among("abil", -1, 1), new Among("iv", -1, 3) ]; +}); +$__jsx_lazy_init(FrenchStemmer, "a_4", function () { + return [ new Among("iqUe", -1, 1), new Among("atrice", -1, 2), new Among("ance", -1, 1), new Among("ence", -1, 5), new Among("logie", -1, 3), new Among("able", -1, 1), new Among("isme", -1, 1), new Among("euse", -1, 11), new Among("iste", -1, 1), new Among("ive", -1, 8), new Among("if", -1, 8), new Among("usion", -1, 4), new Among("ation", -1, 2), new Among("ution", -1, 4), new Among("ateur", -1, 2), new Among("iqUes", -1, 1), new Among("atrices", -1, 2), new Among("ances", -1, 1), new Among("ences", -1, 5), new Among("logies", -1, 3), new Among("ables", -1, 1), new Among("ismes", -1, 1), new Among("euses", -1, 11), new Among("istes", -1, 1), new Among("ives", -1, 8), new Among("ifs", -1, 8), new Among("usions", -1, 4), new Among("ations", -1, 2), new Among("utions", -1, 4), new Among("ateurs", -1, 2), new Among("ments", -1, 15), new Among("ements", 30, 6), new Among("issements", 31, 12), new Among("it\u00E9s", -1, 7), new Among("ment", -1, 15), new Among("ement", 34, 6), new Among("issement", 35, 12), new Among("amment", 34, 13), new Among("emment", 34, 14), new Among("aux", -1, 10), new Among("eaux", 39, 9), new Among("eux", -1, 1), new Among("it\u00E9", -1, 7) ]; +}); +$__jsx_lazy_init(FrenchStemmer, "a_5", function () { + return [ new Among("ira", -1, 1), new Among("ie", -1, 1), new Among("isse", -1, 1), new Among("issante", -1, 1), new Among("i", -1, 1), new Among("irai", 4, 1), new Among("ir", -1, 1), new Among("iras", -1, 1), new Among("ies", -1, 1), new Among("\u00EEmes", -1, 1), new Among("isses", -1, 1), new Among("issantes", -1, 1), new Among("\u00EEtes", -1, 1), new Among("is", -1, 1), new Among("irais", 13, 1), new Among("issais", 13, 1), new Among("irions", -1, 1), new Among("issions", -1, 1), new Among("irons", -1, 1), new Among("issons", -1, 1), new Among("issants", -1, 1), new Among("it", -1, 1), new Among("irait", 21, 1), new Among("issait", 21, 1), new Among("issant", -1, 1), new Among("iraIent", -1, 1), new Among("issaIent", -1, 1), new Among("irent", -1, 1), new Among("issent", -1, 1), new Among("iront", -1, 1), new Among("\u00EEt", -1, 1), new Among("iriez", -1, 1), new Among("issiez", -1, 1), new Among("irez", -1, 1), new Among("issez", -1, 1) ]; +}); +$__jsx_lazy_init(FrenchStemmer, "a_6", function () { + return [ new Among("a", -1, 3), new Among("era", 0, 2), new Among("asse", -1, 3), new Among("ante", -1, 3), new Among("\u00E9e", -1, 2), new Among("ai", -1, 3), new Among("erai", 5, 2), new Among("er", -1, 2), new Among("as", -1, 3), new Among("eras", 8, 2), new Among("\u00E2mes", -1, 3), new Among("asses", -1, 3), new Among("antes", -1, 3), new Among("\u00E2tes", -1, 3), new Among("\u00E9es", -1, 2), new Among("ais", -1, 3), new Among("erais", 15, 2), new Among("ions", -1, 1), new Among("erions", 17, 2), new Among("assions", 17, 3), new Among("erons", -1, 2), new Among("ants", -1, 3), new Among("\u00E9s", -1, 2), new Among("ait", -1, 3), new Among("erait", 23, 2), new Among("ant", -1, 3), new Among("aIent", -1, 3), new Among("eraIent", 26, 2), new Among("\u00E8rent", -1, 2), new Among("assent", -1, 3), new Among("eront", -1, 2), new Among("\u00E2t", -1, 3), new Among("ez", -1, 2), new Among("iez", 32, 2), new Among("eriez", 33, 2), new Among("assiez", 33, 3), new Among("erez", 32, 2), new Among("\u00E9", -1, 2) ]; +}); +$__jsx_lazy_init(FrenchStemmer, "a_7", function () { + return [ new Among("e", -1, 3), new Among("I\u00E8re", 0, 2), new Among("i\u00E8re", 0, 2), new Among("ion", -1, 1), new Among("Ier", -1, 2), new Among("ier", -1, 2), new Among("\u00EB", -1, 4) ]; +}); +$__jsx_lazy_init(FrenchStemmer, "a_8", function () { + return [ new Among("ell", -1, -1), new Among("eill", -1, -1), new Among("enn", -1, -1), new Among("onn", -1, -1), new Among("ett", -1, -1) ]; +}); +FrenchStemmer.g_v = [ 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 130, 103, 8, 5 ]; +FrenchStemmer.g_keep_with_s = [ 1, 65, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 ]; + +var $__jsx_classMap = { + "src/among.jsx": { + Among: Among, + Among$SII: Among, + Among$SIIF$LBaseStemmer$B$LBaseStemmer$: Among$0 + }, + "src/stemmer.jsx": { + Stemmer: Stemmer, + Stemmer$: Stemmer + }, + "src/base-stemmer.jsx": { + BaseStemmer: BaseStemmer, + BaseStemmer$: BaseStemmer + }, + "src/french-stemmer.jsx": { + FrenchStemmer: FrenchStemmer, + FrenchStemmer$: FrenchStemmer + } +}; + + +})(JSX); + +var Among = JSX.require("src/among.jsx").Among; +var Among$SII = JSX.require("src/among.jsx").Among$SII; +var Stemmer = JSX.require("src/stemmer.jsx").Stemmer; +var BaseStemmer = JSX.require("src/base-stemmer.jsx").BaseStemmer; +var FrenchStemmer = JSX.require("src/french-stemmer.jsx").FrenchStemmer; diff --git a/handouts-html/fr/html/_static/alabaster.css b/handouts-html/fr/html/_static/alabaster.css new file mode 100644 index 0000000..0eddaeb --- /dev/null +++ b/handouts-html/fr/html/_static/alabaster.css @@ -0,0 +1,701 @@ +@import url("basic.css"); + +/* -- page layout ----------------------------------------------------------- */ + +body { + font-family: Georgia, serif; + font-size: 17px; + background-color: #fff; + color: #000; + margin: 0; + padding: 0; +} + + +div.document { + width: 940px; + margin: 30px auto 0 auto; +} + +div.documentwrapper { + float: left; + width: 100%; +} + +div.bodywrapper { + margin: 0 0 0 220px; +} + +div.sphinxsidebar { + width: 220px; + font-size: 14px; + line-height: 1.5; +} + +hr { + border: 1px solid #B1B4B6; +} + +div.body { + background-color: #fff; + color: #3E4349; + padding: 0 30px 0 30px; +} + +div.body > .section { + text-align: left; +} + +div.footer { + width: 940px; + margin: 20px auto 30px auto; + font-size: 14px; + color: #888; + text-align: right; +} + +div.footer a { + color: #888; +} + +p.caption { + font-family: inherit; + font-size: inherit; +} + + +div.relations { + display: none; +} + + +div.sphinxsidebar a { + color: #444; + text-decoration: none; + border-bottom: 1px dotted #999; +} + +div.sphinxsidebar a:hover { + border-bottom: 1px solid #999; +} + +div.sphinxsidebarwrapper { + padding: 18px 10px; +} + +div.sphinxsidebarwrapper p.logo { + padding: 0; + margin: -10px 0 0 0px; + text-align: center; +} + +div.sphinxsidebarwrapper h1.logo { + margin-top: -10px; + text-align: center; + margin-bottom: 5px; + text-align: left; +} + +div.sphinxsidebarwrapper h1.logo-name { + margin-top: 0px; +} + +div.sphinxsidebarwrapper p.blurb { + margin-top: 0; + font-style: normal; +} + +div.sphinxsidebar h3, +div.sphinxsidebar h4 { + font-family: Georgia, serif; + color: #444; + font-size: 24px; + font-weight: normal; + margin: 0 0 5px 0; + padding: 0; +} + +div.sphinxsidebar h4 { + font-size: 20px; +} + +div.sphinxsidebar h3 a { + color: #444; +} + +div.sphinxsidebar p.logo a, +div.sphinxsidebar h3 a, +div.sphinxsidebar p.logo a:hover, +div.sphinxsidebar h3 a:hover { + border: none; +} + +div.sphinxsidebar p { + color: #555; + margin: 10px 0; +} + +div.sphinxsidebar ul { + margin: 10px 0; + padding: 0; + color: #000; +} + +div.sphinxsidebar ul li.toctree-l1 > a { + font-size: 120%; +} + +div.sphinxsidebar ul li.toctree-l2 > a { + font-size: 110%; +} + +div.sphinxsidebar input { + border: 1px solid #CCC; + font-family: Georgia, serif; + font-size: 1em; +} + +div.sphinxsidebar hr { + border: none; + height: 1px; + color: #AAA; + background: #AAA; + + text-align: left; + margin-left: 0; + width: 50%; +} + +div.sphinxsidebar .badge { + border-bottom: none; +} + +div.sphinxsidebar .badge:hover { + border-bottom: none; +} + +/* To address an issue with donation coming after search */ +div.sphinxsidebar h3.donation { + margin-top: 10px; +} + +/* -- body styles ----------------------------------------------------------- */ + +a { + color: #004B6B; + text-decoration: underline; +} + +a:hover { + color: #6D4100; + text-decoration: underline; +} + +div.body h1, +div.body h2, +div.body h3, +div.body h4, +div.body h5, +div.body h6 { + font-family: Georgia, serif; + font-weight: normal; + margin: 30px 0px 10px 0px; + padding: 0; +} + +div.body h1 { margin-top: 0; padding-top: 0; font-size: 240%; } +div.body h2 { font-size: 180%; } +div.body h3 { font-size: 150%; } +div.body h4 { font-size: 130%; } +div.body h5 { font-size: 100%; } +div.body h6 { font-size: 100%; } + +a.headerlink { + color: #DDD; + padding: 0 4px; + text-decoration: none; +} + +a.headerlink:hover { + color: #444; + background: #EAEAEA; +} + +div.body p, div.body dd, div.body li { + line-height: 1.4em; +} + +div.admonition { + margin: 20px 0px; + padding: 10px 30px; + background-color: #EEE; + border: 1px solid #CCC; +} + +div.admonition tt.xref, div.admonition code.xref, div.admonition a tt { + background-color: #FBFBFB; + border-bottom: 1px solid #fafafa; +} + +div.admonition p.admonition-title { + font-family: Georgia, serif; + font-weight: normal; + font-size: 24px; + margin: 0 0 10px 0; + padding: 0; + line-height: 1; +} + +div.admonition p.last { + margin-bottom: 0; +} + +div.highlight { + background-color: #fff; +} + +dt:target, .highlight { + background: #FAF3E8; +} + +div.warning { + background-color: #FCC; + border: 1px solid #FAA; +} + +div.danger { + background-color: #FCC; + border: 1px solid #FAA; + -moz-box-shadow: 2px 2px 4px #D52C2C; + -webkit-box-shadow: 2px 2px 4px #D52C2C; + box-shadow: 2px 2px 4px #D52C2C; +} + +div.error { + background-color: #FCC; + border: 1px solid #FAA; + -moz-box-shadow: 2px 2px 4px #D52C2C; + -webkit-box-shadow: 2px 2px 4px #D52C2C; + box-shadow: 2px 2px 4px #D52C2C; +} + +div.caution { + background-color: #FCC; + border: 1px solid #FAA; +} + +div.attention { + background-color: #FCC; + border: 1px solid #FAA; +} + +div.important { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.note { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.tip { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.hint { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.seealso { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.topic { + background-color: #EEE; +} + +p.admonition-title { + display: inline; +} + +p.admonition-title:after { + content: ":"; +} + +pre, tt, code { + font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; + font-size: 0.9em; +} + +.hll { + background-color: #FFC; + margin: 0 -12px; + padding: 0 12px; + display: block; +} + +img.screenshot { +} + +tt.descname, tt.descclassname, code.descname, code.descclassname { + font-size: 0.95em; +} + +tt.descname, code.descname { + padding-right: 0.08em; +} + +img.screenshot { + -moz-box-shadow: 2px 2px 4px #EEE; + -webkit-box-shadow: 2px 2px 4px #EEE; + box-shadow: 2px 2px 4px #EEE; +} + +table.docutils { + border: 1px solid #888; + -moz-box-shadow: 2px 2px 4px #EEE; + -webkit-box-shadow: 2px 2px 4px #EEE; + box-shadow: 2px 2px 4px #EEE; +} + +table.docutils td, table.docutils th { + border: 1px solid #888; + padding: 0.25em 0.7em; +} + +table.field-list, table.footnote { + border: none; + -moz-box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; +} + +table.footnote { + margin: 15px 0; + width: 100%; + border: 1px solid #EEE; + background: #FDFDFD; + font-size: 0.9em; +} + +table.footnote + table.footnote { + margin-top: -15px; + border-top: none; +} + +table.field-list th { + padding: 0 0.8em 0 0; +} + +table.field-list td { + padding: 0; +} + +table.field-list p { + margin-bottom: 0.8em; +} + +/* Cloned from + * https://github.com/sphinx-doc/sphinx/commit/ef60dbfce09286b20b7385333d63a60321784e68 + */ +.field-name { + -moz-hyphens: manual; + -ms-hyphens: manual; + -webkit-hyphens: manual; + hyphens: manual; +} + +table.footnote td.label { + width: .1px; + padding: 0.3em 0 0.3em 0.5em; +} + +table.footnote td { + padding: 0.3em 0.5em; +} + +dl { + margin: 0; + padding: 0; +} + +dl dd { + margin-left: 30px; +} + +blockquote { + margin: 0 0 0 30px; + padding: 0; +} + +ul, ol { + /* Matches the 30px from the narrow-screen "li > ul" selector below */ + margin: 10px 0 10px 30px; + padding: 0; +} + +pre { + background: #EEE; + padding: 7px 30px; + margin: 15px 0px; + line-height: 1.3em; +} + +div.viewcode-block:target { + background: #ffd; +} + +dl pre, blockquote pre, li pre { + margin-left: 0; + padding-left: 30px; +} + +tt, code { + background-color: #ecf0f3; + color: #222; + /* padding: 1px 2px; */ +} + +tt.xref, code.xref, a tt { + background-color: #FBFBFB; + border-bottom: 1px solid #fff; +} + +a.reference { + text-decoration: none; + border-bottom: 1px dotted #004B6B; +} + +/* Don't put an underline on images */ +a.image-reference, a.image-reference:hover { + border-bottom: none; +} + +a.reference:hover { + border-bottom: 1px solid #6D4100; +} + +a.footnote-reference { + text-decoration: none; + font-size: 0.7em; + vertical-align: top; + border-bottom: 1px dotted #004B6B; +} + +a.footnote-reference:hover { + border-bottom: 1px solid #6D4100; +} + +a:hover tt, a:hover code { + background: #EEE; +} + + +@media screen and (max-width: 870px) { + + div.sphinxsidebar { + display: none; + } + + div.document { + width: 100%; + + } + + div.documentwrapper { + margin-left: 0; + margin-top: 0; + margin-right: 0; + margin-bottom: 0; + } + + div.bodywrapper { + margin-top: 0; + margin-right: 0; + margin-bottom: 0; + margin-left: 0; + } + + ul { + margin-left: 0; + } + + li > ul { + /* Matches the 30px from the "ul, ol" selector above */ + margin-left: 30px; + } + + .document { + width: auto; + } + + .footer { + width: auto; + } + + .bodywrapper { + margin: 0; + } + + .footer { + width: auto; + } + + .github { + display: none; + } + + + +} + + + +@media screen and (max-width: 875px) { + + body { + margin: 0; + padding: 20px 30px; + } + + div.documentwrapper { + float: none; + background: #fff; + } + + div.sphinxsidebar { + display: block; + float: none; + width: 102.5%; + margin: 50px -30px -20px -30px; + padding: 10px 20px; + background: #333; + color: #FFF; + } + + div.sphinxsidebar h3, div.sphinxsidebar h4, div.sphinxsidebar p, + div.sphinxsidebar h3 a { + color: #fff; + } + + div.sphinxsidebar a { + color: #AAA; + } + + div.sphinxsidebar p.logo { + display: none; + } + + div.document { + width: 100%; + margin: 0; + } + + div.footer { + display: none; + } + + div.bodywrapper { + margin: 0; + } + + div.body { + min-height: 0; + padding: 0; + } + + .rtd_doc_footer { + display: none; + } + + .document { + width: auto; + } + + .footer { + width: auto; + } + + .footer { + width: auto; + } + + .github { + display: none; + } +} + + +/* misc. */ + +.revsys-inline { + display: none!important; +} + +/* Make nested-list/multi-paragraph items look better in Releases changelog + * pages. Without this, docutils' magical list fuckery causes inconsistent + * formatting between different release sub-lists. + */ +div#changelog > div.section > ul > li > p:only-child { + margin-bottom: 0; +} + +/* Hide fugly table cell borders in ..bibliography:: directive output */ +table.docutils.citation, table.docutils.citation td, table.docutils.citation th { + border: none; + /* Below needed in some edge cases; if not applied, bottom shadows appear */ + -moz-box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; +} + + +/* relbar */ + +.related { + line-height: 30px; + width: 100%; + font-size: 0.9rem; +} + +.related.top { + border-bottom: 1px solid #EEE; + margin-bottom: 20px; +} + +.related.bottom { + border-top: 1px solid #EEE; +} + +.related ul { + padding: 0; + margin: 0; + list-style: none; +} + +.related li { + display: inline; +} + +nav#rellinks { + float: right; +} + +nav#rellinks li+li:before { + content: "|"; +} + +nav#breadcrumbs li+li:before { + content: "\00BB"; +} + +/* Hide certain items when printing */ +@media print { + div.related { + display: none; + } +} \ No newline at end of file diff --git a/handouts-html/fr/html/_static/basic.css b/handouts-html/fr/html/_static/basic.css new file mode 100644 index 0000000..0119285 --- /dev/null +++ b/handouts-html/fr/html/_static/basic.css @@ -0,0 +1,768 @@ +/* + * basic.css + * ~~~~~~~~~ + * + * Sphinx stylesheet -- basic theme. + * + * :copyright: Copyright 2007-2020 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/* -- main layout ----------------------------------------------------------- */ + +div.clearer { + clear: both; +} + +/* -- relbar ---------------------------------------------------------------- */ + +div.related { + width: 100%; + font-size: 90%; +} + +div.related h3 { + display: none; +} + +div.related ul { + margin: 0; + padding: 0 0 0 10px; + list-style: none; +} + +div.related li { + display: inline; +} + +div.related li.right { + float: right; + margin-right: 5px; +} + +/* -- sidebar --------------------------------------------------------------- */ + +div.sphinxsidebarwrapper { + padding: 10px 5px 0 10px; +} + +div.sphinxsidebar { + float: left; + width: 230px; + margin-left: -100%; + font-size: 90%; + word-wrap: break-word; + overflow-wrap : break-word; +} + +div.sphinxsidebar ul { + list-style: none; +} + +div.sphinxsidebar ul ul, +div.sphinxsidebar ul.want-points { + margin-left: 20px; + list-style: square; +} + +div.sphinxsidebar ul ul { + margin-top: 0; + margin-bottom: 0; +} + +div.sphinxsidebar form { + margin-top: 10px; +} + +div.sphinxsidebar input { + border: 1px solid #98dbcc; + font-family: sans-serif; + font-size: 1em; +} + +div.sphinxsidebar #searchbox form.search { + overflow: hidden; +} + +div.sphinxsidebar #searchbox input[type="text"] { + float: left; + width: 80%; + padding: 0.25em; + box-sizing: border-box; +} + +div.sphinxsidebar #searchbox input[type="submit"] { + float: left; + width: 20%; + border-left: none; + padding: 0.25em; + box-sizing: border-box; +} + + +img { + border: 0; + max-width: 100%; +} + +/* -- search page ----------------------------------------------------------- */ + +ul.search { + margin: 10px 0 0 20px; + padding: 0; +} + +ul.search li { + padding: 5px 0 5px 20px; + background-image: url(file.png); + background-repeat: no-repeat; + background-position: 0 7px; +} + +ul.search li a { + font-weight: bold; +} + +ul.search li div.context { + color: #888; + margin: 2px 0 0 30px; + text-align: left; +} + +ul.keywordmatches li.goodmatch a { + font-weight: bold; +} + +/* -- index page ------------------------------------------------------------ */ + +table.contentstable { + width: 90%; + margin-left: auto; + margin-right: auto; +} + +table.contentstable p.biglink { + line-height: 150%; +} + +a.biglink { + font-size: 1.3em; +} + +span.linkdescr { + font-style: italic; + padding-top: 5px; + font-size: 90%; +} + +/* -- general index --------------------------------------------------------- */ + +table.indextable { + width: 100%; +} + +table.indextable td { + text-align: left; + vertical-align: top; +} + +table.indextable ul { + margin-top: 0; + margin-bottom: 0; + list-style-type: none; +} + +table.indextable > tbody > tr > td > ul { + padding-left: 0em; +} + +table.indextable tr.pcap { + height: 10px; +} + +table.indextable tr.cap { + margin-top: 10px; + background-color: #f2f2f2; +} + +img.toggler { + margin-right: 3px; + margin-top: 3px; + cursor: pointer; +} + +div.modindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +div.genindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +/* -- domain module index --------------------------------------------------- */ + +table.modindextable td { + padding: 2px; + border-collapse: collapse; +} + +/* -- general body styles --------------------------------------------------- */ + +div.body { + min-width: 450px; + max-width: 800px; +} + +div.body p, div.body dd, div.body li, div.body blockquote { + -moz-hyphens: auto; + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} + +a.headerlink { + visibility: hidden; +} + +a.brackets:before, +span.brackets > a:before{ + content: "["; +} + +a.brackets:after, +span.brackets > a:after { + content: "]"; +} + +h1:hover > a.headerlink, +h2:hover > a.headerlink, +h3:hover > a.headerlink, +h4:hover > a.headerlink, +h5:hover > a.headerlink, +h6:hover > a.headerlink, +dt:hover > a.headerlink, +caption:hover > a.headerlink, +p.caption:hover > a.headerlink, +div.code-block-caption:hover > a.headerlink { + visibility: visible; +} + +div.body p.caption { + text-align: inherit; +} + +div.body td { + text-align: left; +} + +.first { + margin-top: 0 !important; +} + +p.rubric { + margin-top: 30px; + font-weight: bold; +} + +img.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +img.align-default, .figure.align-default { + display: block; + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-default { + text-align: center; +} + +.align-right { + text-align: right; +} + +/* -- sidebars -------------------------------------------------------------- */ + +div.sidebar { + margin: 0 0 0.5em 1em; + border: 1px solid #ddb; + padding: 7px 7px 0 7px; + background-color: #ffe; + width: 40%; + float: right; +} + +p.sidebar-title { + font-weight: bold; +} + +/* -- topics ---------------------------------------------------------------- */ + +div.topic { + border: 1px solid #ccc; + padding: 7px 7px 0 7px; + margin: 10px 0 10px 0; +} + +p.topic-title { + font-size: 1.1em; + font-weight: bold; + margin-top: 10px; +} + +/* -- admonitions ----------------------------------------------------------- */ + +div.admonition { + margin-top: 10px; + margin-bottom: 10px; + padding: 7px; +} + +div.admonition dt { + font-weight: bold; +} + +div.admonition dl { + margin-bottom: 0; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +div.body p.centered { + text-align: center; + margin-top: 25px; +} + +/* -- tables ---------------------------------------------------------------- */ + +table.docutils { + border: 0; + border-collapse: collapse; +} + +table.align-center { + margin-left: auto; + margin-right: auto; +} + +table.align-default { + margin-left: auto; + margin-right: auto; +} + +table caption span.caption-number { + font-style: italic; +} + +table caption span.caption-text { +} + +table.docutils td, table.docutils th { + padding: 1px 8px 1px 5px; + border-top: 0; + border-left: 0; + border-right: 0; + border-bottom: 1px solid #aaa; +} + +table.footnote td, table.footnote th { + border: 0 !important; +} + +th { + text-align: left; + padding-right: 5px; +} + +table.citation { + border-left: solid 1px gray; + margin-left: 1px; +} + +table.citation td { + border-bottom: none; +} + +th > p:first-child, +td > p:first-child { + margin-top: 0px; +} + +th > p:last-child, +td > p:last-child { + margin-bottom: 0px; +} + +/* -- figures --------------------------------------------------------------- */ + +div.figure { + margin: 0.5em; + padding: 0.5em; +} + +div.figure p.caption { + padding: 0.3em; +} + +div.figure p.caption span.caption-number { + font-style: italic; +} + +div.figure p.caption span.caption-text { +} + +/* -- field list styles ----------------------------------------------------- */ + +table.field-list td, table.field-list th { + border: 0 !important; +} + +.field-list ul { + margin: 0; + padding-left: 1em; +} + +.field-list p { + margin: 0; +} + +.field-name { + -moz-hyphens: manual; + -ms-hyphens: manual; + -webkit-hyphens: manual; + hyphens: manual; +} + +/* -- hlist styles ---------------------------------------------------------- */ + +table.hlist td { + vertical-align: top; +} + + +/* -- other body styles ----------------------------------------------------- */ + +ol.arabic { + list-style: decimal; +} + +ol.loweralpha { + list-style: lower-alpha; +} + +ol.upperalpha { + list-style: upper-alpha; +} + +ol.lowerroman { + list-style: lower-roman; +} + +ol.upperroman { + list-style: upper-roman; +} + +li > p:first-child { + margin-top: 0px; +} + +li > p:last-child { + margin-bottom: 0px; +} + +dl.footnote > dt, +dl.citation > dt { + float: left; +} + +dl.footnote > dd, +dl.citation > dd { + margin-bottom: 0em; +} + +dl.footnote > dd:after, +dl.citation > dd:after { + content: ""; + clear: both; +} + +dl.field-list { + display: grid; + grid-template-columns: fit-content(30%) auto; +} + +dl.field-list > dt { + font-weight: bold; + word-break: break-word; + padding-left: 0.5em; + padding-right: 5px; +} + +dl.field-list > dt:after { + content: ":"; +} + +dl.field-list > dd { + padding-left: 0.5em; + margin-top: 0em; + margin-left: 0em; + margin-bottom: 0em; +} + +dl { + margin-bottom: 15px; +} + +dd > p:first-child { + margin-top: 0px; +} + +dd ul, dd table { + margin-bottom: 10px; +} + +dd { + margin-top: 3px; + margin-bottom: 10px; + margin-left: 30px; +} + +dt:target, span.highlighted { + background-color: #fbe54e; +} + +rect.highlighted { + fill: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.versionmodified { + font-style: italic; +} + +.system-message { + background-color: #fda; + padding: 5px; + border: 3px solid red; +} + +.footnote:target { + background-color: #ffa; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +.guilabel, .menuselection { + font-family: sans-serif; +} + +.accelerator { + text-decoration: underline; +} + +.classifier { + font-style: oblique; +} + +.classifier:before { + font-style: normal; + margin: 0.5em; + content: ":"; +} + +abbr, acronym { + border-bottom: dotted 1px; + cursor: help; +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +span.pre { + -moz-hyphens: none; + -ms-hyphens: none; + -webkit-hyphens: none; + hyphens: none; +} + +td.linenos pre { + padding: 5px 0px; + border: 0; + background-color: transparent; + color: #aaa; +} + +table.highlighttable { + margin-left: 0.5em; +} + +table.highlighttable td { + padding: 0 0.5em 0 0.5em; +} + +div.code-block-caption { + padding: 2px 5px; + font-size: small; +} + +div.code-block-caption code { + background-color: transparent; +} + +div.code-block-caption + div > div.highlight > pre { + margin-top: 0; +} + +div.doctest > div.highlight span.gp { /* gp: Generic.Prompt */ + user-select: none; +} + +div.code-block-caption span.caption-number { + padding: 0.1em 0.3em; + font-style: italic; +} + +div.code-block-caption span.caption-text { +} + +div.literal-block-wrapper { + padding: 1em 1em 0; +} + +div.literal-block-wrapper div.highlight { + margin: 0; +} + +code.descname { + background-color: transparent; + font-weight: bold; + font-size: 1.2em; +} + +code.descclassname { + background-color: transparent; +} + +code.xref, a code { + background-color: transparent; + font-weight: bold; +} + +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + background-color: transparent; +} + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family: sans-serif; +} + +div.viewcode-block:target { + margin: -1px -10px; + padding: 0 10px; +} + +/* -- math display ---------------------------------------------------------- */ + +img.math { + vertical-align: middle; +} + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} + +span.eqno a.headerlink { + position: relative; + left: 0px; + z-index: 1; +} + +div.math:hover a.headerlink { + visibility: visible; +} + +/* -- printout stylesheet --------------------------------------------------- */ + +@media print { + div.document, + div.documentwrapper, + div.bodywrapper { + margin: 0 !important; + width: 100%; + } + + div.sphinxsidebar, + div.related, + div.footer, + #top-link { + display: none; + } +} \ No newline at end of file diff --git a/handouts-html/fr/html/_static/custom.css b/handouts-html/fr/html/_static/custom.css new file mode 100644 index 0000000..2a924f1 --- /dev/null +++ b/handouts-html/fr/html/_static/custom.css @@ -0,0 +1 @@ +/* This file intentionally left blank. */ diff --git a/handouts-html/fr/html/_static/doctools.js b/handouts-html/fr/html/_static/doctools.js new file mode 100644 index 0000000..daccd20 --- /dev/null +++ b/handouts-html/fr/html/_static/doctools.js @@ -0,0 +1,315 @@ +/* + * doctools.js + * ~~~~~~~~~~~ + * + * Sphinx JavaScript utilities for all documentation. + * + * :copyright: Copyright 2007-2020 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/** + * select a different prefix for underscore + */ +$u = _.noConflict(); + +/** + * make the code below compatible with browsers without + * an installed firebug like debugger +if (!window.console || !console.firebug) { + var names = ["log", "debug", "info", "warn", "error", "assert", "dir", + "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", + "profile", "profileEnd"]; + window.console = {}; + for (var i = 0; i < names.length; ++i) + window.console[names[i]] = function() {}; +} + */ + +/** + * small helper function to urldecode strings + */ +jQuery.urldecode = function(x) { + return decodeURIComponent(x).replace(/\+/g, ' '); +}; + +/** + * small helper function to urlencode strings + */ +jQuery.urlencode = encodeURIComponent; + +/** + * This function returns the parsed url parameters of the + * current request. Multiple values per key are supported, + * it will always return arrays of strings for the value parts. + */ +jQuery.getQueryParameters = function(s) { + if (typeof s === 'undefined') + s = document.location.search; + var parts = s.substr(s.indexOf('?') + 1).split('&'); + var result = {}; + for (var i = 0; i < parts.length; i++) { + var tmp = parts[i].split('=', 2); + var key = jQuery.urldecode(tmp[0]); + var value = jQuery.urldecode(tmp[1]); + if (key in result) + result[key].push(value); + else + result[key] = [value]; + } + return result; +}; + +/** + * highlight a given string on a jquery object by wrapping it in + * span elements with the given class name. + */ +jQuery.fn.highlightText = function(text, className) { + function highlight(node, addItems) { + if (node.nodeType === 3) { + var val = node.nodeValue; + var pos = val.toLowerCase().indexOf(text); + if (pos >= 0 && + !jQuery(node.parentNode).hasClass(className) && + !jQuery(node.parentNode).hasClass("nohighlight")) { + var span; + var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg"); + if (isInSVG) { + span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); + } else { + span = document.createElement("span"); + span.className = className; + } + span.appendChild(document.createTextNode(val.substr(pos, text.length))); + node.parentNode.insertBefore(span, node.parentNode.insertBefore( + document.createTextNode(val.substr(pos + text.length)), + node.nextSibling)); + node.nodeValue = val.substr(0, pos); + if (isInSVG) { + var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect"); + var bbox = node.parentElement.getBBox(); + rect.x.baseVal.value = bbox.x; + rect.y.baseVal.value = bbox.y; + rect.width.baseVal.value = bbox.width; + rect.height.baseVal.value = bbox.height; + rect.setAttribute('class', className); + addItems.push({ + "parent": node.parentNode, + "target": rect}); + } + } + } + else if (!jQuery(node).is("button, select, textarea")) { + jQuery.each(node.childNodes, function() { + highlight(this, addItems); + }); + } + } + var addItems = []; + var result = this.each(function() { + highlight(this, addItems); + }); + for (var i = 0; i < addItems.length; ++i) { + jQuery(addItems[i].parent).before(addItems[i].target); + } + return result; +}; + +/* + * backward compatibility for jQuery.browser + * This will be supported until firefox bug is fixed. + */ +if (!jQuery.browser) { + jQuery.uaMatch = function(ua) { + ua = ua.toLowerCase(); + + var match = /(chrome)[ \/]([\w.]+)/.exec(ua) || + /(webkit)[ \/]([\w.]+)/.exec(ua) || + /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) || + /(msie) ([\w.]+)/.exec(ua) || + ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) || + []; + + return { + browser: match[ 1 ] || "", + version: match[ 2 ] || "0" + }; + }; + jQuery.browser = {}; + jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true; +} + +/** + * Small JavaScript module for the documentation. + */ +var Documentation = { + + init : function() { + this.fixFirefoxAnchorBug(); + this.highlightSearchWords(); + this.initIndexTable(); + if (DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) { + this.initOnKeyListeners(); + } + }, + + /** + * i18n support + */ + TRANSLATIONS : {}, + PLURAL_EXPR : function(n) { return n === 1 ? 0 : 1; }, + LOCALE : 'unknown', + + // gettext and ngettext don't access this so that the functions + // can safely bound to a different name (_ = Documentation.gettext) + gettext : function(string) { + var translated = Documentation.TRANSLATIONS[string]; + if (typeof translated === 'undefined') + return string; + return (typeof translated === 'string') ? translated : translated[0]; + }, + + ngettext : function(singular, plural, n) { + var translated = Documentation.TRANSLATIONS[singular]; + if (typeof translated === 'undefined') + return (n == 1) ? singular : plural; + return translated[Documentation.PLURALEXPR(n)]; + }, + + addTranslations : function(catalog) { + for (var key in catalog.messages) + this.TRANSLATIONS[key] = catalog.messages[key]; + this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')'); + this.LOCALE = catalog.locale; + }, + + /** + * add context elements like header anchor links + */ + addContextElements : function() { + $('div[id] > :header:first').each(function() { + $('\u00B6'). + attr('href', '#' + this.id). + attr('title', _('Permalink to this headline')). + appendTo(this); + }); + $('dt[id]').each(function() { + $('\u00B6'). + attr('href', '#' + this.id). + attr('title', _('Permalink to this definition')). + appendTo(this); + }); + }, + + /** + * workaround a firefox stupidity + * see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075 + */ + fixFirefoxAnchorBug : function() { + if (document.location.hash && $.browser.mozilla) + window.setTimeout(function() { + document.location.href += ''; + }, 10); + }, + + /** + * highlight the search words provided in the url in the text + */ + highlightSearchWords : function() { + var params = $.getQueryParameters(); + var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : []; + if (terms.length) { + var body = $('div.body'); + if (!body.length) { + body = $('body'); + } + window.setTimeout(function() { + $.each(terms, function() { + body.highlightText(this.toLowerCase(), 'highlighted'); + }); + }, 10); + $('') + .appendTo($('#searchbox')); + } + }, + + /** + * init the domain index toggle buttons + */ + initIndexTable : function() { + var togglers = $('img.toggler').click(function() { + var src = $(this).attr('src'); + var idnum = $(this).attr('id').substr(7); + $('tr.cg-' + idnum).toggle(); + if (src.substr(-9) === 'minus.png') + $(this).attr('src', src.substr(0, src.length-9) + 'plus.png'); + else + $(this).attr('src', src.substr(0, src.length-8) + 'minus.png'); + }).css('display', ''); + if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) { + togglers.click(); + } + }, + + /** + * helper function to hide the search marks again + */ + hideSearchWords : function() { + $('#searchbox .highlight-link').fadeOut(300); + $('span.highlighted').removeClass('highlighted'); + }, + + /** + * make the url absolute + */ + makeURL : function(relativeURL) { + return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL; + }, + + /** + * get the current relative url + */ + getCurrentURL : function() { + var path = document.location.pathname; + var parts = path.split(/\//); + $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() { + if (this === '..') + parts.pop(); + }); + var url = parts.join('/'); + return path.substring(url.lastIndexOf('/') + 1, path.length - 1); + }, + + initOnKeyListeners: function() { + $(document).keydown(function(event) { + var activeElementType = document.activeElement.tagName; + // don't navigate when in search box or textarea + if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT' + && !event.altKey && !event.ctrlKey && !event.metaKey && !event.shiftKey) { + switch (event.keyCode) { + case 37: // left + var prevHref = $('link[rel="prev"]').prop('href'); + if (prevHref) { + window.location.href = prevHref; + return false; + } + case 39: // right + var nextHref = $('link[rel="next"]').prop('href'); + if (nextHref) { + window.location.href = nextHref; + return false; + } + } + } + }); + } +}; + +// quick alias for translations +_ = Documentation.gettext; + +$(document).ready(function() { + Documentation.init(); +}); diff --git a/handouts-html/fr/html/_static/documentation_options.js b/handouts-html/fr/html/_static/documentation_options.js new file mode 100644 index 0000000..86fd823 --- /dev/null +++ b/handouts-html/fr/html/_static/documentation_options.js @@ -0,0 +1,12 @@ +var DOCUMENTATION_OPTIONS = { + URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), + VERSION: '0.0.1', + LANGUAGE: 'fr', + COLLAPSE_INDEX: false, + BUILDER: 'html', + FILE_SUFFIX: '.html', + LINK_SUFFIX: '.html', + HAS_SOURCE: true, + SOURCELINK_SUFFIX: '.txt', + NAVIGATION_WITH_KEYS: false +}; \ No newline at end of file diff --git a/handouts-html/fr/html/_static/file.png b/handouts-html/fr/html/_static/file.png new file mode 100644 index 0000000000000000000000000000000000000000..a858a410e4faa62ce324d814e4b816fff83a6fb3 GIT binary patch literal 286 zcmV+(0pb3MP)s`hMrGg#P~ix$^RISR_I47Y|r1 z_CyJOe}D1){SET-^Amu_i71Lt6eYfZjRyw@I6OQAIXXHDfiX^GbOlHe=Ae4>0m)d(f|Me07*qoM6N<$f}vM^LjV8( literal 0 HcmV?d00001 diff --git a/handouts-html/fr/html/_static/jquery-3.4.1.js b/handouts-html/fr/html/_static/jquery-3.4.1.js new file mode 100644 index 0000000..773ad95 --- /dev/null +++ b/handouts-html/fr/html/_static/jquery-3.4.1.js @@ -0,0 +1,10598 @@ +/*! + * jQuery JavaScript Library v3.4.1 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2019-05-01T21:04Z + */ +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var document = window.document; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var concat = arr.concat; + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + +var isFunction = function isFunction( obj ) { + + // Support: Chrome <=57, Firefox <=52 + // In some browsers, typeof returns "function" for HTML elements + // (i.e., `typeof document.createElement( "object" ) === "function"`). + // We don't want to classify *any* DOM node as a function. + return typeof obj === "function" && typeof obj.nodeType !== "number"; + }; + + +var isWindow = function isWindow( obj ) { + return obj != null && obj === obj.window; + }; + + + + + var preservedScriptAttributes = { + type: true, + src: true, + nonce: true, + noModule: true + }; + + function DOMEval( code, node, doc ) { + doc = doc || document; + + var i, val, + script = doc.createElement( "script" ); + + script.text = code; + if ( node ) { + for ( i in preservedScriptAttributes ) { + + // Support: Firefox 64+, Edge 18+ + // Some browsers don't support the "nonce" property on scripts. + // On the other hand, just using `getAttribute` is not enough as + // the `nonce` attribute is reset to an empty string whenever it + // becomes browsing-context connected. + // See https://github.com/whatwg/html/issues/2369 + // See https://html.spec.whatwg.org/#nonce-attributes + // The `node.getAttribute` check was added for the sake of + // `jQuery.globalEval` so that it can fake a nonce-containing node + // via an object. + val = node[ i ] || node.getAttribute && node.getAttribute( i ); + if ( val ) { + script.setAttribute( i, val ); + } + } + } + doc.head.appendChild( script ).parentNode.removeChild( script ); + } + + +function toType( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; +} +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var + version = "3.4.1", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }, + + // Support: Android <=4.0 only + // Make sure we trim BOM and NBSP + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + copy = options[ name ]; + + // Prevent Object.prototype pollution + // Prevent never-ending loop + if ( name === "__proto__" || target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = Array.isArray( copy ) ) ) ) { + src = target[ name ]; + + // Ensure proper type for the source value + if ( copyIsArray && !Array.isArray( src ) ) { + clone = []; + } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { + clone = {}; + } else { + clone = src; + } + copyIsArray = false; + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + // Evaluates a script in a global context + globalEval: function( code, options ) { + DOMEval( code, { nonce: options && options.nonce } ); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // Support: Android <=4.0 only + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = toType( obj ); + + if ( isFunction( obj ) || isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.4 + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://js.foundation/ + * + * Date: 2019-04-08 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + nonnativeSelectorCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + rdescend = new RegExp( whitespace + "|>" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rhtml = /HTML$/i, + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox<24 + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + inDisabledFieldset = addCombinator( + function( elem ) { + return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + + // ID selector + if ( (m = match[1]) ) { + + // Document context + if ( nodeType === 9 ) { + if ( (elem = context.getElementById( m )) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && (elem = newContext.getElementById( m )) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( (m = match[3]) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !nonnativeSelectorCache[ selector + " " ] && + (!rbuggyQSA || !rbuggyQSA.test( selector )) && + + // Support: IE 8 only + // Exclude object elements + (nodeType !== 1 || context.nodeName.toLowerCase() !== "object") ) { + + newSelector = selector; + newContext = context; + + // qSA considers elements outside a scoping root when evaluating child or + // descendant combinators, which is not what we want. + // In such cases, we work around the behavior by prefixing every selector in the + // list with an ID selector referencing the scope context. + // Thanks to Andrew Dupont for this technique. + if ( nodeType === 1 && rdescend.test( selector ) ) { + + // Capture the context ID, setting it first if necessary + if ( (nid = context.getAttribute( "id" )) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", (nid = expando) ); + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[i] = "#" + nid + " " + toSelector( groups[i] ); + } + newSelector = groups.join( "," ); + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + } + + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + nonnativeSelectorCache( selector, true ); + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key + " " ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement("fieldset"); + + try { + return !!fn( el ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + /* jshint -W018 */ + elem.isDisabled !== !disabled && + inDisabledFieldset( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + var namespace = elem.namespaceURI, + docElem = (elem.ownerDocument || elem).documentElement; + + // Support: IE <=8 + // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes + // https://bugs.jquery.com/ticket/4833 + return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" ); +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9-11, Edge + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + if ( preferredDoc !== document && + (subWindow = document.defaultView) && subWindow.top !== subWindow ) { + + // Support: IE 11, Edge + if ( subWindow.addEventListener ) { + subWindow.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( subWindow.attachEvent ) { + subWindow.attachEvent( "onunload", unloadHandler ); + } + } + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert(function( el ) { + el.className = "i"; + return !el.getAttribute("className"); + }); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert(function( el ) { + el.appendChild( document.createComment("") ); + return !el.getElementsByTagName("*").length; + }); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert(function( el ) { + docElem.appendChild( el ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + }); + + // ID filter and find + if ( support.getById ) { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var elem = context.getElementById( id ); + return elem ? [ elem ] : []; + } + }; + } else { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + + // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( (elem = elems[i++]) ) { + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See https://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( document.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( el ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // https://bugs.jquery.com/ticket/12359 + docElem.appendChild( el ).innerHTML = "" + + ""; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( el.querySelectorAll("[msallowcapture^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !el.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push("~="); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !el.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push(".#.+[+~]"); + } + }); + + assert(function( el ) { + el.innerHTML = "" + + ""; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement("input"); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( el.querySelectorAll("[name=d]").length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( el.querySelectorAll(":enabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + docElem.appendChild( el ).disabled = true; + if ( el.querySelectorAll(":disabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( el ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( el, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + return -1; + } + if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + return a === document ? -1 : + b === document ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + if ( support.matchesSelector && documentIsHTML && + !nonnativeSelectorCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch (e) { + nonnativeSelectorCache( expr, true ); + } + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return (sel + "").replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + while ( (node = elem[i++]) ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[6] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] ) { + match[2] = match[4] || match[5] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + // Use previously-cached element index if available + if ( useCache ) { + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + // Don't keep the element (issue #299) + input[0] = null; + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "disabled": createDisabledPseudo( true ), + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? + argument + length : + argument > length ? + length : + argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( (tokens = []) ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + }); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + return false; + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); + + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } else if ( (oldCache = uniqueCache[ key ]) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return (newCache[ 2 ] = oldCache[ 2 ]); + } else { + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ key ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { + return true; + } + } + } + } + } + return false; + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), + len = elems.length; + + if ( outermost ) { + outermostContext = context === document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id + for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + if ( !context && elem.ownerDocument !== document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context || document, xml) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( (selector = compiled.selector || selector) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert(function( el ) { + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition( document.createElement("fieldset") ) & 1; +}); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert(function( el ) { + el.innerHTML = ""; + return el.firstChild.getAttribute("href") === "#" ; +}) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + }); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert(function( el ) { + el.innerHTML = ""; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; +}) ) { + addHandle( "value", function( elem, name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + }); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert(function( el ) { + return el.getAttribute("disabled") == null; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + null; + } + }); +} + +return Sizzle; + +})( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + + + +function nodeName( elem, name ) { + + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + +}; +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + } + + // Single element + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + } + + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + // Filtered directly for both simple and complex selectors + return jQuery.filter( qualifier, elements, not ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + if ( typeof elem.contentDocument !== "undefined" ) { + return elem.contentDocument; + } + + // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only + // Treat the template element as a regular one in browsers that + // don't support it. + if ( nodeName( elem, "template" ) ) { + elem = elem.content || elem; + } + + return jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = locked || options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && toType( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject, noValue ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: + // * false: [ value ].slice( 0 ) => resolve( value ) + // * true: [ value ].slice( 1 ) => resolve() + resolve.apply( undefined, [ value ].slice( noValue ) ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.apply( undefined, [ value ] ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // rejected_handlers.disable + // fulfilled_handlers.disable + tuples[ 3 - i ][ 3 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock, + + // progress_handlers.lock + tuples[ 0 ][ 3 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the master Deferred + master = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + master.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject, + !remaining ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( master.state() === "pending" || + isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return master.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), master.reject ); + } + + return master.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( toType( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; +}; + + +// Matches dashed string for camelizing +var rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g; + +// Used by camelCase as callback to replace() +function fcamelCase( all, letter ) { + return letter.toUpperCase(); +} + +// Convert dashed to camelCase; used by the css and data modules +// Support: IE <=9 - 11, Edge 12 - 15 +// Microsoft forgot to hump their vendor prefix (#9572) +function camelCase( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); +} +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( Array.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( camelCase ); + } else { + key = camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = getData( data ); + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || Array.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var documentElement = document.documentElement; + + + + var isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ); + }, + composed = { composed: true }; + + // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only + // Check attachment across shadow DOM boundaries when possible (gh-3504) + // Support: iOS 10.0-10.2 only + // Early iOS 10 versions support `attachShadow` but not `getRootNode`, + // leading to errors. We need to check for `getRootNode`. + if ( documentElement.getRootNode ) { + isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ) || + elem.getRootNode( composed ) === elem.ownerDocument; + }; + } +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + isAttached( elem ) && + + jQuery.css( elem, "display" ) === "none"; + }; + +var swap = function( elem, options, callback, args ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.apply( elem, args || [] ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, scale, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = elem.nodeType && + ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Support: Firefox <=54 + // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) + initial = initial / 2; + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + while ( maxIterations-- ) { + + // Evaluate and update our best guess (doubling guesses that zero out). + // Finish if the scale equals or crosses 1 (making the old*new product non-positive). + jQuery.style( elem, prop, initialInUnit + unit ); + if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { + maxIterations = 0; + } + initialInUnit = initialInUnit / scale; + + } + + initialInUnit = initialInUnit * 2; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); + +var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); + + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // Support: IE <=9 only + option: [ 1, "" ], + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting or other required elements. + thead: [ 1, "", "
" ], + col: [ 2, "", "
" ], + tr: [ 2, "", "
" ], + td: [ 3, "", "
" ], + + _default: [ 0, "", "" ] +}; + +// Support: IE <=9 only +wrapMap.optgroup = wrapMap.option; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, attached, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( toType( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + attached = isAttached( elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( attached ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; +} )(); + + +var + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE <=9 - 11+ +// focus() and blur() are asynchronous, except when they are no-op. +// So expect focus to be synchronous when the element is already active, +// and blur to be synchronous when the element is not already active. +// (focus and blur are always synchronous in other supported browsers, +// this just defines when we can count on it). +function expectSync( elem, type ) { + return ( elem === safeActiveElement() ) === ( type === "focus" ); +} + +// Support: IE <=9 only +// Accessing document.activeElement can throw unexpectedly +// https://bugs.jquery.com/ticket/13393 +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = {}; + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( nativeEvent ) { + + // Make a writable jQuery.Event from the native event object + var event = jQuery.event.fix( nativeEvent ); + + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), + handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // If the event is namespaced, then each handler is only invoked if it is + // specially universal or its namespaces are a superset of the event's. + if ( !event.rnamespace || handleObj.namespace === false || + event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); + } + } + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + cur = this; + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + click: { + + // Utilize native event to ensure correct state for checkable inputs + setup: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Claim the first handler + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + // dataPriv.set( el, "click", ... ) + leverageNative( el, "click", returnTrue ); + } + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Force setup before triggering a click + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + leverageNative( el, "click" ); + } + + // Return non-false to allow normal event-path propagation + return true; + }, + + // For cross-browser consistency, suppress native .click() on links + // Also prevent it if we're currently inside a leveraged native-event stack + _default: function( event ) { + var target = event.target; + return rcheckableType.test( target.type ) && + target.click && nodeName( target, "input" ) && + dataPriv.get( target, "click" ) || + nodeName( target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +// Ensure the presence of an event listener that handles manually-triggered +// synthetic events by interrupting progress until reinvoked in response to +// *native* events that it fires directly, ensuring that state changes have +// already occurred before other listeners are invoked. +function leverageNative( el, type, expectSync ) { + + // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add + if ( !expectSync ) { + if ( dataPriv.get( el, type ) === undefined ) { + jQuery.event.add( el, type, returnTrue ); + } + return; + } + + // Register the controller as a special universal handler for all event namespaces + dataPriv.set( el, type, false ); + jQuery.event.add( el, type, { + namespace: false, + handler: function( event ) { + var notAsync, result, + saved = dataPriv.get( this, type ); + + if ( ( event.isTrigger & 1 ) && this[ type ] ) { + + // Interrupt processing of the outer synthetic .trigger()ed event + // Saved data should be false in such cases, but might be a leftover capture object + // from an async native handler (gh-4350) + if ( !saved.length ) { + + // Store arguments for use when handling the inner native event + // There will always be at least one argument (an event object), so this array + // will not be confused with a leftover capture object. + saved = slice.call( arguments ); + dataPriv.set( this, type, saved ); + + // Trigger the native event and capture its result + // Support: IE <=9 - 11+ + // focus() and blur() are asynchronous + notAsync = expectSync( this, type ); + this[ type ](); + result = dataPriv.get( this, type ); + if ( saved !== result || notAsync ) { + dataPriv.set( this, type, false ); + } else { + result = {}; + } + if ( saved !== result ) { + + // Cancel the outer synthetic event + event.stopImmediatePropagation(); + event.preventDefault(); + return result.value; + } + + // If this is an inner synthetic event for an event with a bubbling surrogate + // (focus or blur), assume that the surrogate already propagated from triggering the + // native event and prevent that from happening again here. + // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the + // bubbling surrogate propagates *after* the non-bubbling base), but that seems + // less bad than duplication. + } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { + event.stopPropagation(); + } + + // If this is a native event triggered above, everything is now in order + // Fire an inner synthetic event with the original arguments + } else if ( saved.length ) { + + // ...and capture the result + dataPriv.set( this, type, { + value: jQuery.event.trigger( + + // Support: IE <=9 - 11+ + // Extend with the prototype to reset the above stopImmediatePropagation() + jQuery.extend( saved[ 0 ], jQuery.Event.prototype ), + saved.slice( 1 ), + this + ) + } ); + + // Abort handling of the native event + event.stopImmediatePropagation(); + } + } + } ); +} + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || Date.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + code: true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + + which: function( event ) { + var button = event.button; + + // Add which for key events + if ( event.which == null && rkeyEvent.test( event.type ) ) { + return event.charCode != null ? event.charCode : event.keyCode; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) { + if ( button & 1 ) { + return 1; + } + + if ( button & 2 ) { + return 3; + } + + if ( button & 4 ) { + return 2; + } + + return 0; + } + + return event.which; + } +}, jQuery.event.addProp ); + +jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { + jQuery.event.special[ type ] = { + + // Utilize native event if possible so blur/focus sequence is correct + setup: function() { + + // Claim the first handler + // dataPriv.set( this, "focus", ... ) + // dataPriv.set( this, "blur", ... ) + leverageNative( this, type, expectSync ); + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function() { + + // Force setup before trigger + leverageNative( this, type ); + + // Return non-false to allow normal event-path propagation + return true; + }, + + delegateType: delegateType + }; +} ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + + /* eslint-disable max-len */ + + // See https://github.com/eslint/eslint/issues/3229 + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi, + + /* eslint-enable */ + + // Support: IE <=10 - 11, Edge 12 - 13 only + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /\s*$/g; + +// Prefer a tbody over its parent table for containing new rows +function manipulationTarget( elem, content ) { + if ( nodeName( elem, "table" ) && + nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return jQuery( elem ).children( "tbody" )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { + elem.type = elem.type.slice( 5 ); + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.access( src ); + pdataCur = dataPriv.set( dest, pdataOld ); + events = pdataOld.events; + + if ( events ) { + delete pdataCur.handle; + pdataCur.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = concat.apply( [], args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + valueIsFunction = isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( valueIsFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( valueIsFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl && !node.noModule ) { + jQuery._evalUrl( node.src, { + nonce: node.nonce || node.getAttribute( "nonce" ) + } ); + } + } else { + DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && isAttached( node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html.replace( rxhtmlTag, "<$1>" ); + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = isAttached( elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + +var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + container.style.cssText = "position:absolute;left:-11111px;width:60px;" + + "margin-top:1px;padding:0;border:0"; + div.style.cssText = + "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + + "margin:auto;border:1px;padding:1px;" + + "width:60%;top:1%"; + documentElement.appendChild( container ).appendChild( div ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; + + // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 + // Some styles come back with percentage values, even though they shouldn't + div.style.right = "60%"; + pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; + + // Support: IE 9 - 11 only + // Detect misreporting of content dimensions for box-sizing:border-box elements + boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; + + // Support: IE 9 only + // Detect overflow:scroll screwiness (gh-3699) + // Support: Chrome <=64 + // Don't get tricked when zoom affects offsetWidth (gh-4029) + div.style.position = "absolute"; + scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + function roundPixelMeasures( measure ) { + return Math.round( parseFloat( measure ) ); + } + + var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, + reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + jQuery.extend( support, { + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelBoxStyles: function() { + computeStyleTests(); + return pixelBoxStylesVal; + }, + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + }, + scrollboxSize: function() { + computeStyleTests(); + return scrollboxSizeVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + + // Support: Firefox 51+ + // Retrieving style before computed somehow + // fixes an issue with getting wrong values + // on detached elements + style = elem.style; + + computed = computed || getStyles( elem ); + + // getPropertyValue is needed for: + // .css('filter') (IE 9 only, #12537) + // .css('--customProperty) (#3144) + if ( computed ) { + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( ret === "" && !isAttached( elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style, + vendorProps = {}; + +// Return a vendor-prefixed property or undefined +function vendorPropName( name ) { + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +// Return a potentially-mapped jQuery.cssProps or vendor prefixed property +function finalPropName( name ) { + var final = jQuery.cssProps[ name ] || vendorProps[ name ]; + + if ( final ) { + return final; + } + if ( name in emptyStyle ) { + return name; + } + return vendorProps[ name ] = vendorPropName( name ) || name; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rcustomProp = /^--/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }; + +function setPositiveNumber( elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { + var i = dimension === "width" ? 1 : 0, + extra = 0, + delta = 0; + + // Adjustment may not be necessary + if ( box === ( isBorderBox ? "border" : "content" ) ) { + return 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin + if ( box === "margin" ) { + delta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); + } + + // If we get here with a content-box, we're seeking "padding" or "border" or "margin" + if ( !isBorderBox ) { + + // Add padding + delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // For "border" or "margin", add border + if ( box !== "padding" ) { + delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + + // But still keep track of it otherwise + } else { + extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + + // If we get here with a border-box (content + padding + border), we're seeking "content" or + // "padding" or "margin" + } else { + + // For "content", subtract padding + if ( box === "content" ) { + delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // For "content" or "padding", subtract border + if ( box !== "margin" ) { + delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + // Account for positive content-box scroll gutter when requested by providing computedVal + if ( !isBorderBox && computedVal >= 0 ) { + + // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border + // Assuming integer scroll gutter, subtract the rest and round down + delta += Math.max( 0, Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + computedVal - + delta - + extra - + 0.5 + + // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter + // Use an explicit zero to avoid NaN (gh-3964) + ) ) || 0; + } + + return delta; +} + +function getWidthOrHeight( elem, dimension, extra ) { + + // Start with computed style + var styles = getStyles( elem ), + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). + // Fake content-box until we know it's needed to know the true value. + boxSizingNeeded = !support.boxSizingReliable() || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + valueIsBorderBox = isBorderBox, + + val = curCSS( elem, dimension, styles ), + offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); + + // Support: Firefox <=54 + // Return a confounding non-pixel value or feign ignorance, as appropriate. + if ( rnumnonpx.test( val ) ) { + if ( !extra ) { + return val; + } + val = "auto"; + } + + + // Fall back to offsetWidth/offsetHeight when value is "auto" + // This happens for inline elements with no explicit setting (gh-3571) + // Support: Android <=4.1 - 4.3 only + // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) + // Support: IE 9-11 only + // Also use offsetWidth/offsetHeight for when box sizing is unreliable + // We use getClientRects() to check for hidden/disconnected. + // In those cases, the computed value can be trusted to be border-box + if ( ( !support.boxSizingReliable() && isBorderBox || + val === "auto" || + !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && + elem.getClientRects().length ) { + + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // Where available, offsetWidth/offsetHeight approximate border box dimensions. + // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the + // retrieved value as a content box dimension. + valueIsBorderBox = offsetProp in elem; + if ( valueIsBorderBox ) { + val = elem[ offsetProp ]; + } + } + + // Normalize "" and auto + val = parseFloat( val ) || 0; + + // Adjust for the element's box model + return ( val + + boxModelAdjustment( + elem, + dimension, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles, + + // Provide the current computed size to request scroll gutter calculation (gh-3589) + val + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "gridArea": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnStart": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowStart": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: {}, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ), + style = elem.style; + + // Make sure that we're working with the right name. We don't + // want to query the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (#7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append + // "px" to a few hardcoded values. + if ( type === "number" && !isCustomProp ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + if ( isCustomProp ) { + style.setProperty( name, value ); + } else { + style[ name ] = value; + } + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ); + + // Make sure that we're working with the right name. We don't + // want to modify the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( i, dimension ) { + jQuery.cssHooks[ dimension ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, dimension, extra ); + } ) : + getWidthOrHeight( elem, dimension, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = getStyles( elem ), + + // Only read styles.position if the test has a chance to fail + // to avoid forcing a reflow. + scrollboxSizeBuggy = !support.scrollboxSize() && + styles.position === "absolute", + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) + boxSizingNeeded = scrollboxSizeBuggy || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + subtract = extra ? + boxModelAdjustment( + elem, + dimension, + extra, + isBorderBox, + styles + ) : + 0; + + // Account for unreliable border-box dimensions by comparing offset* to computed and + // faking a content-box to get border and padding (gh-3699) + if ( isBorderBox && scrollboxSizeBuggy ) { + subtract -= Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + parseFloat( styles[ dimension ] ) - + boxModelAdjustment( elem, dimension, "border", false, styles ) - + 0.5 + ); + } + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ dimension ] = value; + value = jQuery.css( elem, dimension ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( prefix !== "margin" ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( Array.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && ( + jQuery.cssHooks[ tween.prop ] || + tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 only +// Panic based approach to setting things on disconnected nodes +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, inProgress, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +function schedule() { + if ( inProgress ) { + if ( document.hidden === false && window.requestAnimationFrame ) { + window.requestAnimationFrame( schedule ); + } else { + window.setTimeout( schedule, jQuery.fx.interval ); + } + + jQuery.fx.tick(); + } +} + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = Date.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + i = 0, + attrs = { height: type }; + + // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // We're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree( elem ), + dataShow = dataPriv.get( elem, "fxshow" ); + + // Queue-skipping animations hijack the fx hooks + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // Ensure the complete handler is called before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // Detect show/hide animations + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.test( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + + // Ignore all other no-op show/hide data + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + } + } + + // Bail out if this is a no-op like .hide().hide() + propTween = !jQuery.isEmptyObject( props ); + if ( !propTween && jQuery.isEmptyObject( orig ) ) { + return; + } + + // Restrict "overflow" and "display" styles during box animations + if ( isBox && elem.nodeType === 1 ) { + + // Support: IE <=9 - 11, Edge 12 - 15 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY and Edge just mirrors + // the overflowX value there. + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Identify a display type, preferring old show/hide data over the CSS cascade + restoreDisplay = dataShow && dataShow.display; + if ( restoreDisplay == null ) { + restoreDisplay = dataPriv.get( elem, "display" ); + } + display = jQuery.css( elem, "display" ); + if ( display === "none" ) { + if ( restoreDisplay ) { + display = restoreDisplay; + } else { + + // Get nonempty value(s) by temporarily forcing visibility + showHide( [ elem ], true ); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css( elem, "display" ); + showHide( [ elem ] ); + } + } + + // Animate inline elements as inline-block + if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { + if ( jQuery.css( elem, "float" ) === "none" ) { + + // Restore the original display value at the end of pure show/hide animations + if ( !propTween ) { + anim.done( function() { + style.display = restoreDisplay; + } ); + if ( restoreDisplay == null ) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + + // Implement show/hide animations + propTween = false; + for ( prop in orig ) { + + // General show/hide setup for this element animation + if ( !propTween ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); + } + + // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + if ( toggle ) { + dataShow.hidden = !hidden; + } + + // Show elements before animating them + if ( hidden ) { + showHide( [ elem ], true ); + } + + /* eslint-disable no-loop-func */ + + anim.done( function() { + + /* eslint-enable no-loop-func */ + + // The final step of a "hide" animation is actually hiding the element + if ( !hidden ) { + showHide( [ elem ] ); + } + dataPriv.remove( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + } + + // Per-property setup + propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = propTween.start; + if ( hidden ) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( Array.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // Don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + // If there's more to do, yield + if ( percent < 1 && length ) { + return remaining; + } + + // If this was an empty animation, synthesize a final progress notification + if ( !length ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + } + + // Resolve the animation and report its conclusion + deferred.resolveWith( elem, [ animation ] ); + return false; + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // Resolve when we played the last frame; otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + result.stop.bind( result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + // Attach callbacks from options + animation + .progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + return animation; +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnothtmlwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !isFunction( easing ) && easing + }; + + // Go to the end state if fx are off + if ( jQuery.fx.off ) { + opt.duration = 0; + + } else { + if ( typeof opt.duration !== "number" ) { + if ( opt.duration in jQuery.fx.speeds ) { + opt.duration = jQuery.fx.speeds[ opt.duration ]; + + } else { + opt.duration = jQuery.fx.speeds._default; + } + } + } + + // Normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // Show any hidden elements after setting opacity to 0 + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() + + // Animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || dataPriv.get( this, "finish" ) ) { + anim.stop( true ); + } + }; + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue && type !== false ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = dataPriv.get( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // Enable finishing flag on private data + data.finish = true; + + // Empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // Look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // Look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // Turn off finishing flag + delete data.finish; + } ); + } +} ); + +jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + i = 0, + timers = jQuery.timers; + + fxNow = Date.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Run the timer and safely remove it when done (allowing for external removal) + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + jQuery.fx.start(); +}; + +jQuery.fx.interval = 13; +jQuery.fx.start = function() { + if ( inProgress ) { + return; + } + + inProgress = true; + schedule(); +}; + +jQuery.fx.stop = function() { + inProgress = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match( rnothtmlwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +// eslint rule "no-unused-expressions" is disabled for this code +// since it considers such accessions noop +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + + // Strip and collapse whitespace according to HTML spec + // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace + function stripAndCollapse( value ) { + var tokens = value.match( rnothtmlwhite ) || []; + return tokens.join( " " ); + } + + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +function classesToArray( value ) { + if ( Array.isArray( value ) ) { + return value; + } + if ( typeof value === "string" ) { + return value.match( rnothtmlwhite ) || []; + } + return []; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isValidValue = type === "string" || Array.isArray( value ); + + if ( typeof stateVal === "boolean" && isValidValue ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( isValidValue ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = classesToArray( value ); + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, valueIsFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } + + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; + } + + return; + } + + valueIsFunction = isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( valueIsFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( Array.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( Array.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion + + +support.focusin = "onfocusin" in window; + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + stopPropagationCallback = function( e ) { + e.stopPropagation(); + }; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = lastElement = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + lastElement = cur; + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + + if ( event.isPropagationStopped() ) { + lastElement.addEventListener( type, stopPropagationCallback ); + } + + elem[ type ](); + + if ( event.isPropagationStopped() ) { + lastElement.removeEventListener( type, stopPropagationCallback ); + } + + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +// Support: Firefox <=44 +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + dataPriv.remove( doc, fix ); + + } else { + dataPriv.access( doc, fix, attaches ); + } + } + }; + } ); +} +var location = window.location; + +var nonce = Date.now(); + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) { + xml = undefined; + } + + if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; +}; + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( Array.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && toType( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + if ( a == null ) { + return ""; + } + + // If an array was passed in, assume that it is an array of form elements. + if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ) + .filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ) + .map( function( i, elem ) { + var val = jQuery( this ).val(); + + if ( val == null ) { + return null; + } + + if ( Array.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +var + r20 = /%20/g, + rhash = /#.*$/, + rantiCache = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Anchor tag for parsing the document origin + originAnchor = document.createElement( "a" ); + originAnchor.href = location.href; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; + + if ( isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType[ 0 ] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s.throws ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test( location.protocol ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": JSON.parse, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var transport, + + // URL without anti-cache param + cacheURL, + + // Response headers + responseHeadersString, + responseHeaders, + + // timeout handle + timeoutTimer, + + // Url cleanup var + urlAnchor, + + // Request state (becomes false upon send and true upon completion) + completed, + + // To know if global events are to be dispatched + fireGlobals, + + // Loop variable + i, + + // uncached part of the url + uncached, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( completed ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() + " " ] = + ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] ) + .concat( match[ 2 ] ); + } + } + match = responseHeaders[ key.toLowerCase() + " " ]; + } + return match == null ? null : match.join( ", " ); + }, + + // Raw string + getAllResponseHeaders: function() { + return completed ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( completed == null ) { + name = requestHeadersNames[ name.toLowerCase() ] = + requestHeadersNames[ name.toLowerCase() ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( completed == null ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( completed ) { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } else { + + // Lazy-add the new callbacks in a way that preserves old ones + for ( code in map ) { + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ); + + // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || location.href ) + "" ) + .replace( rprotocol, location.protocol + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; + + // A cross-domain request is in order when the origin doesn't match the current origin. + if ( s.crossDomain == null ) { + urlAnchor = document.createElement( "a" ); + + // Support: IE <=8 - 11, Edge 12 - 15 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + try { + urlAnchor.href = s.url; + + // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== + urlAnchor.protocol + "//" + urlAnchor.host; + } catch ( e ) { + + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( completed ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + cacheURL = s.url.replace( rhash, "" ); + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // Remember the hash so we can put it back + uncached = s.url.slice( cacheURL.length ); + + // If data is available and should be processed, append data to url + if ( s.data && ( s.processData || typeof s.data === "string" ) ) { + cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; + + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add or update anti-cache param if needed + if ( s.cache === false ) { + cacheURL = cacheURL.replace( rantiCache, "$1" ); + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached; + } + + // Put hash and anti-cache on the URL that will be requested (gh-1732) + s.url = cacheURL + uncached; + + // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if ( s.data && s.processData && + ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { + s.data = s.data.replace( r20, "+" ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // Aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + completeDeferred.add( s.complete ); + jqXHR.done( s.success ); + jqXHR.fail( s.error ); + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( completed ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + completed = false; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Rethrow post-completion exceptions + if ( completed ) { + throw e; + } + + // Propagate others as results + done( -1, e ); + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Ignore repeat invocations + if ( completed ) { + return; + } + + completed = true; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // Extract error from statusText and normalize for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // Shift arguments if data argument was omitted + if ( isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + + +jQuery._evalUrl = function( url, options ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (#11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + + // Only evaluate the response if it is successful (gh-4126) + // dataFilter is not invoked for failure responses, so using it instead + // of the default converter is kludgy but it works. + converters: { + "text script": function() {} + }, + dataFilter: function( response ) { + jQuery.globalEval( response, options ); + } + } ); +}; + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var htmlIsFunction = isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +jQuery.ajaxSettings.xhr = function() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +}; + +var xhrSuccessStatus = { + + // File protocol always yields status code 0, assume 200 + 0: 200, + + // Support: IE <=9 only + // #1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +support.ajax = xhrSupported = !!xhrSupported; + +jQuery.ajaxTransport( function( options ) { + var callback, errorCallback; + + // Cross domain only allowed if supported through XMLHttpRequest + if ( support.cors || xhrSupported && !options.crossDomain ) { + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(); + + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + + // Callback + callback = function( type ) { + return function() { + if ( callback ) { + callback = errorCallback = xhr.onload = + xhr.onerror = xhr.onabort = xhr.ontimeout = + xhr.onreadystatechange = null; + + if ( type === "abort" ) { + xhr.abort(); + } else if ( type === "error" ) { + + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if ( typeof xhr.status !== "number" ) { + complete( 0, "error" ); + } else { + complete( + + // File: protocol always yields status 0; see #8605, #14207 + xhr.status, + xhr.statusText + ); + } + } else { + complete( + xhrSuccessStatus[ xhr.status ] || xhr.status, + xhr.statusText, + + // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + ( xhr.responseType || "text" ) !== "text" || + typeof xhr.responseText !== "string" ? + { binary: xhr.response } : + { text: xhr.responseText }, + xhr.getAllResponseHeaders() + ); + } + } + }; + }; + + // Listen to events + xhr.onload = callback(); + errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); + + // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + if ( xhr.onabort !== undefined ) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + + // Check readyState before timeout as it changes + if ( xhr.readyState === 4 ) { + + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout( function() { + if ( callback ) { + errorCallback(); + } + } ); + } + }; + } + + // Create the abort callback + callback = callback( "abort" ); + + try { + + // Do send the request (this may raise an exception) + xhr.send( options.hasContent && options.data || null ); + } catch ( e ) { + + // #14683: Only rethrow if this hasn't been notified as an error yet + if ( callback ) { + throw e; + } + } + }, + + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) +jQuery.ajaxPrefilter( function( s ) { + if ( s.crossDomain ) { + s.contents.script = false; + } +} ); + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and crossDomain +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain or forced-by-attrs requests + if ( s.crossDomain || s.scriptAttrs ) { + var script, callback; + return { + send: function( _, complete ) { + script = jQuery( " + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + +

Index

+ +
+ +
+ + +
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/handouts-html/fr/html/index.html b/handouts-html/fr/html/index.html new file mode 100644 index 0000000..0a450a4 --- /dev/null +++ b/handouts-html/fr/html/index.html @@ -0,0 +1,113 @@ + + + + + + + Documents de Section pour le Code en Place 2020 — Documentation Code in Place Section Handouts (2020) 0.0.1 + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ +
+

Documents de Section pour le Code en Place 2020

+
+

Documents:

+ +
+
+ + +
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/handouts-html/fr/html/objects.inv b/handouts-html/fr/html/objects.inv new file mode 100644 index 0000000..3f4834a --- /dev/null +++ b/handouts-html/fr/html/objects.inv @@ -0,0 +1,6 @@ +# Sphinx inventory version 2 +# Project: Code in Place Section Handouts (2020) +# Version: +# The remainder of this file is compressed using zlib. +xڍ0D8zՋ7JR@,у͛vpxl5u+=0XQ|lU6+8Ot +=;9NdANZ+J \&IGJ8Z_~zj` 9)O/l C.1A$xשOPK#oZ 7 \ No newline at end of file diff --git a/handouts-html/fr/html/search.html b/handouts-html/fr/html/search.html new file mode 100644 index 0000000..38a41c4 --- /dev/null +++ b/handouts-html/fr/html/search.html @@ -0,0 +1,113 @@ + + + + + + + Recherche — Documentation Code in Place Section Handouts (2020) 0.0.1 + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ +

Recherche

+
+ +

+ Veuillez activer le JavaScript pour que la recherche fonctionne. +

+
+

+ Searching for multiple words only shows matches that contain + all words. +

+
+ + + +
+ +
+ +
+ +
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/handouts-html/fr/html/searchindex.js b/handouts-html/fr/html/searchindex.js new file mode 100644 index 0000000..3886940 --- /dev/null +++ b/handouts-html/fr/html/searchindex.js @@ -0,0 +1 @@ +Search.setIndex({docnames:["index","section1/section1"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":2,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":1,sphinx:56},filenames:["index.rst","section1/section1.rst"],objects:{},objnames:{},objtypes:{},terms:{"\u00e9tabl":1,"\u00e9vit":1,"\u00eatre":1,"\u0153uvr":1,"cr\u00e9":1,"long":1,"r\u00e9dig":1,"r\u00e9par":1,"repr\u00e9sent":1,"sur\u00e9lev":1,Les:1,aid:1,angle:1,apres:1,avenu:1,avertisseur:1,avoir:1,beep:1,bip:1,bord:1,cadr:1,caus:1,cec:1,centr:1,chaqu:1,chevauch:1,coin:1,commenc:1,condit:1,consist:1,construct:1,construir:1,construit:1,cours:1,dan:1,debr:1,derni:1,dessous:1,dessus:1,devr:1,diagramm:1,doit:1,doivent:1,dommag:1,emplac:1,endommag:1,endroit:1,ensembl:1,envoi:1,espac:1,esprit:1,exact:1,extrem:1,fac:1,fait:1,figur:1,fin:1,fonction:1,gard:1,gauch:1,heurt:1,imag:1,indiqu:1,infin:1,inform:1,infrastructur:1,initial:1,inond:1,laiss:1,maison:1,mani:1,march:1,marqu:1,mettr:1,mission:1,mond:1,morceau:1,mur:1,nombr:1,nouveau:1,nouvel:1,onu:1,oubl:1,ouest:1,pilot:1,plac:1,plan:1,plus:1,point:1,pourr:1,premi:1,prochain:1,programm:1,projet:1,prolong:1,reconstruir:1,rempl:1,ressembl:1,ressemblent:1,robot:1,rue:1,sac:1,san:1,ser:1,signif:1,sonor:1,sud:1,suiv:1,tas:1,tout:1,travail:1,utilis:1,votr:1,vrai:1,zon:1},titles:["Documents de Section pour le Code en Place 2020","Document de section 1"],titleterms:{cod:0,docu:[0,1],karel:1,nation:1,plac:0,section:[0,1],uni:1}}) \ No newline at end of file diff --git a/handouts-html/fr/html/section1/section1.html b/handouts-html/fr/html/section1/section1.html new file mode 100644 index 0000000..c37f0f3 --- /dev/null +++ b/handouts-html/fr/html/section1/section1.html @@ -0,0 +1,125 @@ + + + + + + + Document de section 1 — Documentation Code in Place Section Handouts (2020) 0.0.1 + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ +
+

Document de section 1

+
+

Nations Unies Karel

+

Dans le cadre de ses plans pour aider à reconstruire les infrastructures dans le monde, les Nations Unies - c’est vrai, l’ONU utilise Karel - ont établi un nouveau programme avec pour mission d’envoyer des robots de construction de maisons pour réparer les zones endommagées par les inondations.

+

Votre travail consiste à programmer ces robots.

+

Chaque robot commence à l’extrémité ouest d’une rue qui pourrait ressembler à ceci:

+Initial World Layout for United Nations Karel +

Chaque bip de la figure représente un tas de débris. Le travail de Karel est de marcher le long de la rue et de construire une nouvelle maison aux endroits marqués par chaque bip. De plus, ces maisons doivent être surélevées sur pilotis pour éviter les dommages causés par la prochaine inondation. En fait, chaque maison devrait ressembler exactement à l’image ci-dessous:

+A House made out of Beepers +

La nouvelle maison doit être centrée au point où le morceau de débris a été laissé, ce qui signifie que la première maison dans le diagramme ci-dessus sera construite avec son bord gauche le long de la 2e Avenue. À la fin de la course, Karel devrait être à l’extrémité est de la rue après avoir créé un ensemble de maisons qui ressemblent à ceci pour les conditions initiales indiquées:

+Final world layout for United Nations Karel +

Gardez à l’esprit les informations suivantes sur le monde:

+
    +
  • Karel commence face à l’est à (1, 1) avec un nombre infini de bips dans son sac de beeper.

  • +
  • Les avertisseurs sonores indiquant les emplacements où les maisons doivent être construites seront espacés de manière à ce qu’il y ait de la place pour construire les maisons sans se chevaucher ou heurter les murs.

  • +
  • Karel doit finir face à l’est à l’angle sud-est du monde. De plus, Karel ne devrait pas se heurter à un mur s’il construit une maison qui se prolonge dans ce dernier coin.

  • +
+

Rédiger un programme pour mettre en œuvre le projet Karel des Nations Unies. N’oubliez pas que votre programme devrait fonctionner pour tout monde qui remplit les conditions ci-dessus.

+
+
+ + +
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/handouts-pdf/de/Section1.pdf b/handouts-pdf/de/Section1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..dd2707f348e1822f2ea9c5280bb8f81ee6a2954e GIT binary patch literal 301174 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�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�!CtbGy(#={%c4JN@nLLquzJ{vKZhQAntq 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

9=9h-m_uHir%UbTDT$Zk>ToCU=O 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 literal 0 HcmV?d00001 diff --git a/handouts-pdf/en/Section1.pdf b/handouts-pdf/en/Section1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..853d98a1a1913534cee8400de297edc8f4411ae9 GIT binary patch literal 299755 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

)y>$SXL*B6`+aa}c}hj}ykl<;zdU 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

+Y=8S!xd)ldcd>Hjj;i>qhGsin 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

K9xetiCU*a4^#mQe!nzct_P5&?^-rUTys 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

{( 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

MqJZVTJslcs_N>|(0|9I3Ah`6rr&v% zcsytHiJ{b*ydBk09}xEtcz*l%A}*EoBQPH^g2vQ-{XPyDY`tUah3mD2_9gXCy@b*U zKzc%@_cX{C?k>;@`&$1sTkNcNp3w$Cc`FZ@OMEiyVQc50lZCjDQoM7n&)3QKjM#YV zRF0Ul9+1T3KR`XL9(gOyi)Fa<_0)1~5=KcszqDDF03HeWe(vv11X~?)>_R6-_Eunb z&E6g-oDFn}(9RsLx3KHW_?nw_5Or5!kqxMe6og#~`8Ut#+m!dw;=^QKvmFI-Ob$y^ zAoc?V2U6^K+hVG!;@a!>h~KG82#;pxf+IJ5%*U*Q&#FDfDybmmAsFf+&@Gt|SDGM( zqZF_}y$CcRDegvdA?4uSzHAAK^@Q%Bk&fx{6bKK34**&!fHY6U5g^dxc}=u`g3(0{ zPh#=xI!k*IMvHXWV)K)2hp$OsRRB1LxaWsJ9Gu_t_=5a%j`HNEw|{e2u}{2nUrIV7 zkSa9lr=qS7huwxA2b@B@Ekt1ccY9Obfs+hGphBf01? z=gx2g5BBHc@V=kT-zFb2}sz#;SO&vuVqXMu-TUSonbL4K3)J@N@v}$ zmRxnNDdn<7sUE9*0yGNxGf$qbGB}9w$ zo6H@1p$<9VYKw+AdBV5>DF06r-#M(Q^oH1A5?}hHpyk^S5kmDvzB^@`ATo+scJL`S z!m6rtXMTP@VG@D>Xo>0GEQxC2Y3PXZ){2U_ph_(LL6XjweGG3i;iyyROjpnMh6QWD ztdNlNuqt2``^|mtg6BYfU*7}576s-iaEHKa{Xx&ImLMIpR{VXB8CMg>8HPHP`9tMG z7-xPo`;jMj?ol$^c@XIct&#P!$Naw-oI)J?oZCeff}P^o>8Y7L7O}W|Dr-hbU$LT) zBV%MQjT*3%>@cUGO6zCilatK@CHv=s=YUVGJOHw8f3^4Ou3EF-c5P1+uCljhc1dHN z`{y}I@9*zw!wm%PIqtJj%&5i6C`d#*AU%8l&2@~X$adxCFM#K>|In2X&?>&03!50k z0~`MPn{Q{^0HDp-*jQRC_K5t@I3n?ksH3v3)F^N*4XiIGT-DsWI^zh6*q_akLdFe1 zkU?X2Tzu-azz}h*HQGuZz1-i(Gw|%|4g&U&Cb3jQ^zNpk1mxc zchA?`qlwKDXA(*2KcxFGwDiMFIBctok%@%ikQ^~lWC@kThzHha1|xN% z?xTeh(gYI3%VhfT+Vs~kTlhf)-ZNxdmGqz`MgdRCHNl>smgCk3w9B zAesW1uRP5Z`jd14YaGAN1m5u_>B&Ol4DVE6k~jZ=y9_ePs9V1p-^|rr7kMyQD>ImV zng1Ha{INX3M)Gjr@pF#`!0&3NNL9`fxuE`Qcm1c_tRl@5%P21paah!e^aA?bhUh;R z9&)Nd$AJ=YB)3VPoH73P1f$GH79sJ7r-X9cJ#en z%q~7!(#fY%{|#B9Bj^tpK+( zIwE2~OZ%nv&G#<;aD=$;j~wyN_74%B^_GxbzrIBh>1KbbbOqYNM3~ibtFymO<$Ks_ zrskj{px8YC(EjN~Oi&~Yhp%Y2r9bS3o)Ic1h*9nSe6TSH* zQ6~fXOuyLoq1Hh?Lc@1Xi9h?a^PN*yA7_c-`_cPi7(UOLBA5u*2uv3YbqH30#WOE7 z{|b=ge=UB>r7m9Tr*lSnM^N0^6VqWNy|~lPYDf9unLiYA6 zd~W6al$~tOeR)ovu7|nb;RYIy*o+sF>rDICg}xt^CP%Nu@DTf~$vmEDZA=7~I?u@- zI@EPCq%&96Gr_n;`$b?v+ua=RfB;M)L&L+Bk#J(Gy!5r+2H5u0=wk*@{BvQlc_&lU z0h?C~9SH^u<(zr2`gYm#_s60b<}!HozFw^Snv9^j9?wcp3FrvdV>CU>W2vQyCWAj1 z3_w=|POt|MSUP5v8c%a?0w4zvhSkhGX&IS|(q%a*-yc}g+Q%3S$3tFuAY<&^I{>kJ z^dA8#vuK+9)}YGi?bmUlujw}wF|LhSDa;uiUH~#~z)1DnUVVhVjNc%1>wKvqP9zX3ZmBp)&4}WBfif zb+g$ks_CCgNVn^Eov!Y{P?-iz-#O5`)|YEz#!mTvF~MMqtjCgk<6Fru-nG7<L}C&m(tbvAtX$fQGj&`Co(qvfcN8JrX)>ZnOXC(VlQ&hS|RK2|?L0#hW=_$tb#Cenm7?Z8!xN(q2W1zh!rHZzcAkn2T>e$TWp@_F{ z-lP+k#46NEQ^~vSMixS(7>;4a?ED z;a0PZw09a_c!@@{fUy210kLt9LqkAH*N)pQ+M_B6#29zlp?M(;!3I{?BH}Y?#r$>O zc3SdfNN0hAiVF7;Fe6f`=oFGxuigfWH%)XsK{*)MX=!WMH8%480*VFJ&@u)$yJ-ka z%+z-W_a|-gKprm#@M4@@;lF;_Xdng!25(gF_uZA@2Kw#jDmgFu~SBx&Co22 zQkr%RiXVDEjq#89$_|5=`0nMAe8q6c!4SQ_9xIDPa{rdvLH2HTfHoJ+37b*<{{Q?L z+ak`X>R>O%z+t==>19aw9P}mQRS#;M;9d+Ak!=BtG?VM!`$YBF9E$3Nn*^bd;pody zupKCO{q5Ak8Pz04%PLy_9{(1HeP{}G3duv2O zbrF(yrFm+)R|E|mlYy^??Z zO$b;hC4V+bs@r(W7~YEr{TLJ;??b2>P{xEHT(6&X?acoP#J+LZ&U|#X3;xR)DE#N30Src~P>5j) zP(gsE67!Qz3P#h9M_0Wja6^7;c!Mob@<2!(mEk^H% z%ssuRbo`d}W@N+f3sej<^?9qb&nK>2m)dd2H_|#QUY!jZc z%LgXk&y!4@geKjmA((t=Cv_vkI^Pb+7QtzLys(7m(J@O1SA#si_EIujk17&UtBt?r zsA4FcR=kSA1iG&^Y+}y1iHMyEyl1^F!A&a|%(^Ir(jQPUN8Ne;1Ft?%r@0G0`fIOf z!0Apl>J5C4g(JxXxDZ~y9{;TE&7m?H_9w{CbO*|lGIMmb9Q9OMe4NgloQR#)yJvgZ zup9g}qj3={=-&)NJK8*Bo0=G%AyZwL-YCttc!|R!=A~9Q-;JMz9eL7}s zTBROqH2#5S*KQRyEUD;gAUR;AqY?XbU>2n0?orHoDNHNrg|wrS z({!leK>!rM;&2v>S%R(?&p2!zo;&laq28qJNVIG1A}vs-2(bcVfk5ZucI6g9XtXO? zm-Z@7fT?>T?2Om@hly+vd2`!TETq{~9u`LFbF$prGf+E1X2Y(pN~Xbj=3b$bCvQ`C z8YUm)x7xtCFMeVJZ6N_6Ls|#)Q=Z_&P7TOBjq&el&R9;fddpjzYr6YCCnAW$^;ndm zg^!>=PJW}dzOR#a$8mdEg)o3V!i1CF7BSEIYw_DpiW^p z^(3eZ(7I$BT&WoE58e5OEcM%lpo3rloO`e!$Nd}% zek2e~RZum?Cge-r$Ta1eVY!I`007t=Ctu)$5q^MKH2&d$!cT>7cbdhpk42UJ`lLEL zsf2~1Q+9VbDed6g?t9GGh$$m;GT+*3eN#Eg-yEdg#L}kar-$Ptn{*j8<+-kBa5rjd z6u%(;Fe~|b8pp@)^TCfoAHMY`&=zg}kVCkKKQOC=8?6;@P+zGbm*F-BomuOzD>v?t zOb=2_x;Ls?IzRVAu9b@aC~(juV^&8)gF~Ajg=IW=K1zFP!0fsiQSrem*JHUJx_m3K z37zyI6=}r!pdy!FoVI2Qr7fBF0oq@{Lkt$AW?LL^h;TYvrbPDWduSNl&${uD0HGI) z^oWPYke#rP{F`D49khW_TP6pyarLldUd+71%a zp%2Bk9%vN2DkdQ&&gb2HvY)S3sEirCSizZThvq+D1S}4ImES3SS|F^D>?$t84C&|& z4RqUydwg_r)I1$1dKrbgmL4!r$8kJkSe1v5^+mOcnVFfJ7lKJ2w-An@>UtPYa+Y6< z#w)-st3848$G8h?ul~K{yPD0oEdPgDq3-1|iqJK!I^Wrjn^0{BQk}kwVhRYjbUOs@ zuy>qIF+PiCPp2Jn>#q12y0&82Ig4UZA>amk@2r7CG(e9 zhP3GXxi;RxwNj>nV(y{gxY7K>P1$yaOsG>2 z2d=3n8b=(;K1-`4N_8!vGQ?ol=S!-Wu90w8XQl<@I@$|Zn-=qa9yF(KuA^zLUZeF( zpl0V(Ssg9Pzpioe6+2I3yyP8nf?>)3Z>4(v``!NEd9~9Adv-{?hJ8HA9X-$c`uRB8 zc@X~2%ifLrgeZpy2jOqz<;jIjg1j9$gw6Er-5fCq7B=>`_xsO3(e$u$b|e=*>w4bL zg+o+E^aQ!EhNG*qiyw!yq%^s(lB=JufuoPImxs5Pr=utSDY>w+m%EpbvA3NAexQou zC07SWbsxJRa$y}uPiOoPu@mB=P*28R|8{RBCL{U3S}O@Lv|0aqt(B3w61p{A zJKqZ&Cr+TBGx|UKEO99bssGJB>)Y*LXK$IOZ|@{6XPaLz>hH<6790L(JbL(X*MlCi zP7RQ8bA1g`QhW~?D5_KqcY)stH3e9PVy5B(vR3h#_%6Ac9`b`3)oSS5??ONho;864aV(5pCwO$Bh#A%2EGgP z^UgaIAjp9o4AW37q}7HLmJk!Qs8G?8--9GA^bfd2En_ZbW?|7akCiLn=72m;`_Ad8tM4n+ zR>F7mQ!sef2z7EyAmJKIphwC=$QT>_zahlFz0ugLXuMSl>vxR1Vgy7)Y9Qne(Zq@h zZ5@33fza;od`!c!G3xC_YzEp0tExSOA~&)KYC&N{sYvZ%;a3=opd;CJ@v(7!zQ1`QpV@toeVm4j0Bc(yg#@c}jw8_ofIKQIJBB4DS-T4#)TBa7hv5 zb<^TFln@>E<=Z!yeNBTExV<%hn&8&4xyhL>62MKWwa4WiJetH@;C}^!?8@*Wi1;

v`Sd->wGVV)b-XbToK! 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

YY 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

9tnaNe;E+cqFWV{(NGc9eZTJrM%miuMy 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

MO&gD>G)1aHb4=gpcw6qlN+4JY;$MS`M6|s;q zm~sTvLUtb6<+IrhrZxCqB5XS67HAKa+S=Oo_V&C~kYS*~oH&=@>$#;$k~bZGb{s_hfoksq4ND&`3?KD7`j3M5Lg z(o+aU#{)P&fcBu!#!5S9WoJ9v*-cJQGvnl_*`>sPWI;Dr{K{whIUvifk?pf*21%rf z3M{-7UNiv9JKJA+;=~D%c$Qeay}d7NHU29!Wf3;0>lN1n%aqAXDVB!l3 z2!9FJ%(MTV^sj2o)OeL}6{V##NYa3F2Y_e&ww(_7r7Oz}z^^b5aqXut!&1;)^TTyWlA zbq1X*c)M22_pPB~cyll?D^NV4VwArpnf@cHcZ4CRE>KP^LEQtv?-PBsmx-6L(^h=6 zHj8zrjq51fDr#dCN}2>TlTaeyR!v(5#s2wZJ5ZH9z^nt1OaUZzF~14*g!S*|7-PjJ85hz^lZJNxsrY4l%@Z+79&Q1(mr_d(tpXy|K6uFeF9xW>;2jvxD-7?f4#re;> zp>Q-a(OEUtl1Z-kvjegm{%DjBpVHFN5n1hZ!(tdTZAkmZK4xVPZ}Ted=ujLG;`^Yi zDR()(1=h;m*?De!JSWHAcrrp-L?SQ?wgF1X#_POxRjD@6uiaO{OXRC)5N^B{A`t?- zck&{+X2*0etUPm}TD@M|#R&GrnLc*G+TAS|QaCB=EKuI$Z_+)+miQ zH``{k--9MB)UPJ~21EG=KR*Kz7>{FYz$XHBv4m=uUA}6p6(Be_VWCRQM@H%UCGV%f zUF$xLHus*W!U`@zY=GxnIe?h?x8s`0p$bc7SbA3F5A;X7eP<-5V8NvEv^BJ+_V8_ zfZG8HT8CaxGd|bi;m|XO2&3+lP-FI9KsmWeY>&9@pk|BPl0X`S&W94Yw@xRKekmNI zHPyqXJFmfyFYpK>$Jx6YTQD_}DG>RPSJ}S)a0d7wIKq^Nq1HR}Pu6ojfStA_#nk0QbJ9S_rh^&`%e99#vV;2+z%y{e;V=0BSOn8T0|xEb z<-}EsE`RsV667eshbf_pyIh%S@Et5$DN_&z@hJjfcxzx>7RV@An=K)WjXJ90S}_w* z0_mYudIxd^?0jAlVuHfg8og*f1Lx49#^EBkRRH~;p2{q%*Jw9Qv`Z~C!Y6v$>`8Z< z@zzTjyynja?tw-E5~01-a3I|*KtE0=n&9TC!q-m3~I2Wm_h0yXb5^o&Csor+G){eTHZXU_E%GolIB118)S|C|6xo z@jaah>>vkun^iniWt;**WfQ2chXAkJGxPHidm40>N0P9iD+%#E9Uc0jX))nuQ8rQc zKtX<$aP-aG4KK5D^+j+D2TfO)1S;1uNy)8llgK11gOLAb3;*Gg-< zCVt9VpdRTBaR7?=dBd``uVdKTSx2J7Fz)V2&eL$znE=|h;e2*iopRLR1)koov!%jh z;r{lZCbS~^UtODk8ZsQ6i5B>HQ@QELHj{4f^HBi zY2V3oVSH#fr|Xz)Gzo$Yh_oYcHn658?r5zkJiYFn?JctmFW};g!Uacw0eF7!#A;-= zFNMj4fDE#VTghg0{PI@Pv$t1BG|z2O_UWaB?Ja1?yMR8#sZzSA79L2qjVrh)Bi>f< zjuk@wEAFa`6q+lYs{m)DCj=`T40V;pV+L&P-snMI@Y zd-Be(luL9($ToHkWd)1xNO}XAPSBwz-`sbh()}IqI83f+r8%#;AY`8rqi4-FtSY|e ztNIot-U4QJTV_dbSGR{-jXkP)p8T;$qOUJwk_YWTA_D>K&Erto5Ev*l0~UQS?L z!p^AcY;QSLa8MSf>pH4!!@|u{`h+JUWGQ|iX+worU}k+k52$az%$*f4L|$JjZ%4Bs zi8ix!gicJa;u>3W)nfQ<;RZ)UR-LS2;F|)rN%U01|p%k6Ys1NRn-1|u1%H8l{G%h zmXqomI*N5)ZfD#XRrnac2{)*19CZ@+~2ok#C%xA#lQm z%u%=AFvAG8Ju;#sIk~bPxe3;vLrMV6YnSq0>&`IU&5MlV(OrcB=Bo$?YeEIrL156C z^aWW0%0{t)+hDJ%@d8-jqL`sX8~Nli;`+W8?f3QRKAYA0cV`D*{1r(B$R*0ur1ehJ z%M`?D$Q#R%FD!gzK+7>!0q9@j+x$^Fu##o5y<&j_8fybI;ccdbi>W$7`r5xEy97wP zQ`+5&Y|lP^(6Go}t}`03FK<;}`mI?xNZ0t8wUJt!>>Jai2R;kh-i+BdM2WU&DvZQ<>TlMVIYF-~<|8eexR%HOTg;2f=LLDApO*^V9;&=r5Kb3_csR4qzDe{Xo z{On*3g2S-102Jn;iTRawvE&N*V4I!MygFn4+{uW2C`;6r)NqHviheM>#Ir>v9H?;N z5~PiAkk%_v34Voe_I!p##`dk!dTcU(CwL z5R&dw3(z`Id(3DPbHQRj{u8i82S&3l{;0k!5O>PI0ve{#(XgP<#{!9}Y!*<$>wbIF z1N#ie9^7I+#QL}w^(GmBHeXJhLMjD8@6unoC4qs2*`w?+UEw(mbU(MugOmH^{9_~n z!7i6#W--9WKlrBxzu?1-p|@H(J(N;nidA&9TN${j&|PZ-K66j^9d0c^{61Ei1E>}N zww_5Ety|6Y0}`x5Akcs*26Py0`GxPy)TKcNW=-8tFxpb1O_bxp?Z4DjLkm9-$j4~1 zQ5C=P>xbj-{KZ2?3*z~$Z^kV(rR!&i^RdO}cLNowz9S4-{O;W;gn40^1QpU3>L6~; zXRvgo(?n@CH@JL?!>Mec$|2~4ltYad^(JoBJJMX5pZ)A$#q>>3kjOuT_D?g14MI*` z%j;f@5OYpwIN35VAbN6=))c90;*Cy^`6ArWblew}?HkfOO(tgaDSngFr-}N%ID$B% zX$c*0Eb`Qe&ct9vS+IUAKNemWrpfb_#}|{>Jn_!?N%a}RXTjr#=-1U&h}{+Q8298x5HAba4oJC=(?{rM18*QtyG#+1NrAyFX8Ox7;P6lNB4P6=p-Y z)(5s4*F4&45s6tF9bzV^phacHwpjR=g5ARQq~II|w@}HEebK>3>AmXN0si1wCk(ybp5w$TX(q70u!+7*EW zL%!KxtraHK+SgYGc$r`?{z@ZGRx;L#wF0b4AD3JwURPBqcQuatK*)PRYJ@nEw3n-Y z2)PE?GTO!L7$A(gc54)I%4=6$!Sa0$lOip=nzbnzAle%mINJt;h17Q(vQ6ONdf*gH z$>f7y8!$&)r7x37-n?Kq;kTn+y|8ZPZr#D1CdS5#)4(CS^V${9-r9)rvRmtN;U6&& ze7Ksj+)?dqqZvOJIk@R1Mx3NAirSaL859~wAMe9VH?2Y|>Gns6omih$< zmZ&rbC`?G*)aWSMo&W`!eY2*tmKvCz!uN*JrFD(ixL{w9rqsUZ!SwkkZiX07X`guF zR)IGpGiI-m9KR=F@aBny3*WJ!;!!6eBG3X%Nq7#oO`~`S+XT3yO0eJwQiEWM;df*6 z1g=C~U9dwGB^#Gy5#jSNIi1o`2!5cLL7_-7D-2%wNVf8N^Zg(Zzo=nn*jsWA;~z|Fh?c^{$}fwq_xxYB^@FW$@&LC_A=BpUhp7CT3>Od^kYep!pq-oQcg~DfGDgK1hr&A`@F_@CN zqjWlSDO;pSe`yfJz^(>NKuP@N%r5JcylS81&|kuP5V^biO{37vGNk=gY%N*MUz=Sp zoBu+#t&3R&*|7qB61WniikMN}=+7@tdfK_i?WEr%`&&!ZEHg=Zy#cfSzqEHi4&Z|U z?fq}Bbd=ljPcNQ&qW9aTmc%|E7f`5y@&e;D6Y+ruL2w;tci7&G&Qus88GQ*tJR|jf8g*uq zSLy9^V$X`UO~qzDwxnf<$6Uw2K6D zeS~L$O+(W$FBo@NtIC`xJ{yjKZW3B;*7$3hUM-*M+VA6lV7ja&fy@N+;Q5Xy#M<0F z(XKWbzfE_p6=~8&eWjdgrZssXNbY*VmZ}k2FoB zxnV^NpM)a1?y0FfFW2S@{^L78tWKEU zRM^39RNSHW0Y(?559%eR(3}CTeR@^F>#8{$4ATCw)gA6(HD57Zq@B02wv4j!Cx0`u zr?6&ZnaEw#nS`xt`SDq`w2(PGb4ONf?6SSjjD>G7kK3> zzzhxwb%_{mqaJ1%w<8xy&u)^wNcHg@-A*X;o=!Wr{ zqx6ISs8v~kgbko{;dMOFTrf50trBQ_fe?fD`B%+k5Q`}HM0lIfH1=JKb1TrN|fV}5-`n>>R?0yoGj4D0yRANFfm;IjeHVdv_L2-z>Nk2 zXoQvq#z8$GT?lO&|8rq`y_yKwk^V(c1i`eGc_;V%yLUryrGWXpjx&eKATL3ipdBYm z1Tz(UPB16Jw(k?uHQIb`$;5E^e`>KCFdhZkEl_1#Acsa*EGILs9sK&9)vr18?^V8n zlmes=4U!+2rRx)8z%>hKg$VN_;D!VC&tlT!hK2e+eEZL4d@A^|fT(0z+5VaB0Z-_C zNGx!%WFWeMlVe(^U^EimO9NcO31}D`f`2~CKJ$-sdXd_oprEkf3eb#M7m6xYGXEBq zH^5c6`GjwaX>D(oUuppO5+!C)0bC3CrxI0yVZ?4MSAYNGf7tf}i-Zj@%=8vHTa>sn zt&)p@&b}jH!QGrG8f46WV+U$ls|4Ub(7)lWsQs`w}$>v8Hd;gVKeL$}mY-?)+YYZ@dK&KF3oC4DDQ3mh-c#bcK zu;AB~&jDZwj`5S*QDAms#RdQ4%*l{OiFVa7tzM9M;=xtI1T`B(XfYDf=8J0oHnS9a zyN$`e1{Mc~>RjQA25|H)96iXhYy>1!bMPSognCArF|NZ4StN0F7&zvn>z{zX^i1OZ z`CI4{m)qFl%`vb!0e%MR4eIIK7L4JOwmO~Zojjg>xlk1?76`~nzz-Q|G+420q9h45hADF82(3a{7bbHM#z zjlwQTVJZ3jYFk@U;u=44I3Gs)aQN zu+Ur>^)5EY)Fs7*TlMhmp%G`hIdAAtVXqxRpSZ1-!s0hPH2Ms^AGAmh*N6O-7G7$X zt(DJ3A~-hoI!;Ai;C#gLmK^JY?CB`c1W`}58yasA1w^LFwMbFKofMe#*owL4A8s~t z_9;QE^@GJsB=QvX{?Z*yAJws3DB?-vG~ctF9a$^CCM{Q{x==d|m{YM(#FA?c9y|z? zx+-%j)1Da{rqaCBS+@Rz$ zDTDwAm`dha{AGUyY_8}l6OKvwLu~TH1mlgH_ax!5KE@MbX5bvN1hD5U z5Q@N=fWSb5hCGB&T=OmVqUBc@PlUePwE11<%rXpRC{5aEeL%;#ePU`mPcH(2%Tzd3 zZ$)u2`?wxp8=0Jv*y#5m)OliWQ|o0{-zM`yz()|x5g+h156ySe)olY={;YO9VdOc}M-8@yUT|&w<)eJMr&%;;7atv#2}z^c8rs@Mp6aI?Z10aga0DM8*#JbV>wf^6I}At{cI zU9+a)YNcSB01Duj*7=@|sdc_-^VX8s@PN-lYJnm=2h;fZ`)nINWMnWs#K)NGA?$|_ zFqMNa2uq4Vx*6ydKc8&Iz5|2mcE}~Gsw6i2;lvE*B3FcflG<_ie66J(`_USK&{)jca8(^L} zSzKJau&@vocIZs^@bEpygR7R@CL7lUPwww+vNkt0)f*U}m?-vMu`@P~iMc-`M*b<2 z(G&POll%RE5mEq&G-@$WNXhht-ZWZGmAq5XdoEMCpp1xwsdx3zF6Zd-W%r!I-KB+* zY6bBfiq(~s@XZCrf|VSOig{e;4f>4=z!9geu8x3T;^KfTXEW*l(Yw5=lKe+N;UebB zl`B`TUNthpo1xUJ*rtEG>>F9QdY$t7O0e-z-2mq64o_ z@R^lw;^Pb17Y=%Zj|LFDGeCGy+c1v_>3c+OWI3|cu(s!CKe7+k`9QRV1_bjEJU+%B zh}RtpwF~IZQw2HIRaHmq%4Z`IS@-YfKYjZB`}feK9Cf5mG&HEI~;kd+0(`1^DVM{{yZ0Zx#N zF+eoNB}^FaY#&IyV0a2TZGASu3m0TPXHCI#q*HXPFn(7u$I405QVQ-2np!ew5_sQa z>*o`8P#)83ri#3e6-;MN+;yap$|6H%cK>mct4=^)U!U1|xQ~Yz%gZg+X!)gb?WmR{5=1 zLc*SSUz029Y+^MC1WlgznXyTdKEL(!4qJykx_<8+LxI(h_g&9%#vSn+EGkqZGd!nQ zQ;y|q#z5W%t?130H#s>ut*ts|9M2pJC@fUf8d*qaeGyd@Hw$0F;NdX^kv(Y-y-?2z^GUL&NJuxtdGFHvRoKSw&gu)rr6M9OHdpw&oJ<>2b zYE5B{W&8;rDUAw3(u#UUJ43_CCJ81kT%+)BlLA6ilxZNFO>n z%KWy2fpQb{^%eugBK4Oaly~Kob+q+d`SPmJI|PP1diQy}DuZCmRMNlFR64+jKAldV zUboMn-?Osnh^wrw&e&Bz*5)+vD>%e9#9HI7>KJgWFiaVeJ*b@>leV_D7kuo~rf7d} zJHBUCMgJtE_m!F8_r%P|Y|^*bCyZzuYod+AiX?^38IR?#1Ts zqzA8VZEYm3o@DEfA8#eHD2_H#9WN4+U+CnPKYs6O{21f} zUS6k!6$81nb$iR+J~4Nl!SpwXDXN|HN8nt9g&P1eG&dVQT;Wkj0?(KdOp7KEk@>t& zsz+L`>R8^=)lGb4?Q`bbIheIa1IcUbfkvaf%cCPBS5{ZkFC^|*CGF@8xRD%v%u-7$ z=zZq@V(-nPsoej+;p$Y1(nw`Uq>`~nC8113C1l7P$xNZh+$2*)MIu9{u-RmuiB!lC z*@i7cnaUU$GVJYnU7g?Wcg}sU=Xw6R*Lv2o*7vOS{r+)IvG;X-hWGn5y<4XPOP)M= zk}b$$MKRO3vfLQU;E;%j$nM>}i*vtf5^#7dVdtgk7sRegzj9USgvd%|QJH|1IqWqF zx=lE)YPgk2%D?%m5zp{yK*du2MQCO;=gX6oi`5;<%)58*R!~sDxwdxg+JgrVqAH_; zC;}xtl`}6%dpxsy%%#sOiITei34dYsEg_$zM%5K_-{S(ex(L|_-MsRou<+Ooo{0Ie z4U(VFzUVEX_~yPtfs*2+-Y3+oEb64d6B)Tg@f|ugZAVhH8A;xCwIg>FeLZp93_ZoY zaihg)(eS3yFZ_qIqQ zXr#N$sIHYzTn#nvr+AXGS*%!iO>LIqq{PJHtl~2>)ir%qq)4er$kXDq@-y?EL`?JBL#Le^YQ&AgrL>?u~Nv`0?oDLyfu1H9=G?PEsCS5g;KAH?{?Fr@mB zSyD7T$>9!dwgf0>w2y!hpIUI26?Agd7=3mTmd4Bhm z%>w(@gkPTd!GFciE#)yb8H7G$FrdQ1DrJ<4Qcqf86my!wy3<_bd#Sflw&$wu+q+kn ziyRy~&ezO;daD(?&c=f>p?LjnDysxn!IlN@kL0nAPJp+B}*QZ-5+YNf1)YXX^)WQ z0&hL^mcmA*sirB0aamaxEKOZqsp?!z9Sy~{gJKt9=DKVN%yIH6^4!y3+zy=MaS*78EHY{M6eCXRnRkVw6d~#pe-kN zm-BLpgZHnnzbF%^qb`oZ@euj^`Su+4G|s*x(yXA1a&E|Uw^89 zo%4WvsN#Cn(gS=0yyCZ_=RDONb?U}9jJY7~{X0Tu#|fs3w410!E0Rp!GVfG#P<SVq z$9k!qXA*l2b#G7$nym@IGBe2}VVOgn`3b`wtDxy`ITjs_zC|S?ZA#v{4c?vZ5j^GR zYs45|$y&|wC6mdTt9||b{U1Hj;-Or4DMN9LDN|g|kt9tWD~>zHEh(uNc34d80?2}| zFBRqXhe~8E1!s@aPKrC%uv4jc*QgW{U2E;`k!3O;oJ*pmf7q(D$M%KpMP{|>6pM}* zubl?9KJvzIlG)!J9FcO?$)HFENNY9 zy;XjlgM9n;eW+i?dzqn_EyJ7qhMAce;E7h9r;AHLX5O>H(gsfR6(Mq|Y#Gj%N6)1I zO`e}Q)xnc9$#PAa^{b4xu3yD`IPhNF_NX5gRGPIdfb+9QG~dSFQj?Rw^49988({Y?U`Da$S0SOO2!1 z@Rl6AkcT)nwknMR%{kPqOA~Ae8#lP&>~-!dig2I{@rLrd-kD$=PrW)p2{tLtm#iMV3WY zXV{=Q|W4Q-t(^OpkLg1_cG#|4nH-=ag^{6m5JnC-Pv zw-v0ctknI!>%t675{F@uNSfEoHa9cNH~C^)!%O9W$Ukk~-y%O;=~ZH)&;9$^GVkBL zd-&+l<}I^)3eGofKwI4Y7&UBVC8e0G&WlYXzSi0L#tVNbqJP9*`XX~^%{wP|_u~tf zHwp?0o>fsHHO+YNL|t(HlA;JXE3Ad+Oj)jJ?$$rvJ4ClQQiRG-D=&>zbmfb1;`>+1 z8GJ>*GZL>l?dRy|I1^@qDm>F`$y4e#%#Jc$`Sx);jbRDqY`5A?TUgYwHmkRB=H6yV zE%%!_Co&_b-99KkGL?vegf%xs@(ycO%>m6TKnks53(kI|=JuazU-Eibb}~}P!17cV4%_Pvc<*4 z_xCu>K3(uiBEI8bD&q$-!#=80Dr=0>3&VQ;_hu!&xhZF;(w`Ecb{MDqT(d$&M|aiF zh)}Jgp^u6pG{;Uk22e~yTMfr1U?d5+f-{q9mHA%8)Dfd>+BXm4c} z--0t^hb9V1Wr2S;cAr~X%(jJlqW2_XF7eOCvoXibcjCgdwkGt1gjUjPY1V70w6$!> z+4T}M);-bmAJO!3uElbr#dk*Th(v8Ug1ozFU*9#f^V74lVt=!L_*vTCBN1~@-f(hp zjSmeqH4r9Hgi{*M8ARcLC4wMtGwl4dduh0gK1>*SeGsZBIbQ4tqLf4;-M+p2e?C(INb;#gX!rF?K(-m){7U56 z;@ze$J;w83SYmek+ibjS*)_AAhA;>TfN(iFIMlrz zQH>@71Mtl3>~P-4j~|)ood0~iTB~TW?h-d=7Z(?FnfM946W{ad@4u=2n|@ff>`fR& z+MIdoKYwGLquKxC=dTT0|IdfKFOg;ZH|2>hT7SU&@IOCu$3X4aepoa;3 z_z(!)k8}z476064=D=@pM!MMBXJln%<>tgsO{{ zgI{v&_w4_ACzJwv#I674%?UyT=IVO(Y%Kt)VtgFJeF3YAZkZ>I3E7nh1%Y}+Ok7-Z zNdz=AvuBNNxR{7rMy}rs+eeMbXhZqkYjj$DEb<30i0Dyf#1C@&q?XVgdvj)=br`JY zjO9d~Q`b0oc)5KMn_2{?*F_cq6AAekGh>F^vUT+B*|bK{wblsrAddyc>=^wNEhey5 zL{PAqLSfmu6?*U{FzmfgJruBJ3!ory{t8KkB-nUGe*%sC9 zjn0)BvVP+9Y39Qx{WflC^OkvB_5gl__U~6hb)cdGPNlZ0s;Z`@5X_RYat$jd3bmb55ieIQDQbwt82+=_)NuReIe&4tBA+RLtmn_Yin!4%AlCZdTl`7 znEm|2hYuk)ric6bc=v?4Wk-`50q^c)V^c4RN#9?sU&qbAFS`|G*fD7nCV@__7vbS( zE`0B&Sa+yA8%Bc$#Afu=*)LCwTN6DMM{mXcWN zZ{(iz&2182xO`1{Q{acV>tvxxkd*wzIvryfb{?jt@*%l3n-%NQ#sY^vvzQOJ$Ysqi z^-E-V)Sk4?DJqf#%f-zdla{6usAYXIu-xo7Sew&l&bUD(3P)vw6oM*|Tj&HzLcK;= zuS#6ZyhT)CGV|E&(3q59S;vy8RgKrg&+QKwQqTqd%==PM{_K~O582N{9FQtOu>&;s zsl6btJh=?Cl%1WOR(gz`u8|nUS==XSX9{8~fTHyk91}hYa$WI#W#vlzw5Lh@TA^yt zwCU=SSOcG9PNzcSh z_zQy5z=NDpRLsBsg<>Ti;^gI3W^nnX6|ZS}mH|8EH1ceL{dj7gi~Z9*ZHyKh{tC?^ zAUmt^l%yopu$TkFA|ea*o@!Uq-W6lnig->05X%{Aw8v3VV?F8#coY4-nVy5Ei_R*J}K$6_}bQ?qEP^+sNaUTC_|zFOtKk~&z`-fZ(kV@ z5P(C0e-Q_mtDD=L>AjSNxEqiL8fm}Le3;a<_i27>E6TlRAtB<24khVnGgU{pB-rMU zv&DO+cT0y;m~Tr!z1U43?UtVFBLbs}U8hNR849o+TyG*a3s40+C#R;8BG>59e6!tj z#vKL*jO7 zD#49ZSBHg%^Wa&GYJ++rjn7XHla?jZ^mB@fQ#l+a`;^Gn%7@lL7a*+qL5Q&F4q?~ z^<9em-PYFj{d(?)t-K}E7#^1fX?CexFC|NpI zoM{+gglgkZf=Z*<`SK;i%{Et>A z3JcoXbxIbA)8se+3H1MQxOL*<+}zxzxAHZ+3gc?tRH=f@;%4f$E7 zI2H70oa1_{NC#B?RkMYNglf`M$@L%VSFR*jWr4t@J??C|ZLtuY!2)0o#GKZZ=MJZB zY;5%PBY4ui$%#E(XJsoFQ(LyacT3r18$jhi5W1nZwt06Wfz5S(Ua|RF(dE!s@??Ho zoZLxi2rxjNfo2r~z@BQd@9A$YTTLpkc1;C6DFf_$S=kD>h;6N6WEH%Wlm1fo=VK9| zGA480@t7Xc)bs#`RMQ1bx9JGrrrg&o7d5Fh+*UI=6(J>LHtx#|hcAN@vrA&^L)gUZ zSRlxVQ0o(X4{~2qTE7(DNC6cc;v_F$iA~C68>-vEYMYk3eoewAp{p-ilbh&$PtOxf z7Xg4=zI5qCW6NZ&cOB~wbGD4Lu|n$Bdbc(6(&%b`pgC`iMe-t3WCQ))Z;xeO{gJ#K zJ!8(VRxAV)dVDU|?=i?MI>V%wLM>M|yy0k8l$SqgiqDOcM^RBRJoMOixKE2`sMe6< zsvgRo!KRqrn&P=DbiQn>t#G{m5r|vG#i!AT%1kzW)bHLeEUe{XHkdj|kBlB6>3VAz zC}Mw_n)V@Y3-Z!J+m6GwhPpp>XIzD+T0IvoGhh5spP(iCB6zc}ESUq)4xLEkg;E#% zfbwpDXxIotk|Q(a^0m>$1ZUMHv2WiX9J@8_SoRB8q1grZe0+w7gM+uy9!JKMvuvY( zlGQAT6)MWf(Oh^b;=^~Fj|wnaw++9w1Lz??d%k*ogYet>j)FY4M*8oelyo}MGgKWD zyN7hDK7NFpt-HH{y_>GRTe(X4BS~?q9+?PIhw;205gDp%jm}%GG)EZ4TlcIsb!nwg zl6R?Phs09siHc#jh=SoBe?}HsGNVHm*HqS4wTCgW_4PHXd)2zM_D{k#hIBnusc2)Ms;;Y}(31$T z9;{p%^?XXFS$)mnn5^Tn?f{?;EX`;Jl%_;dP80cVXzn#5u$8Af8mc06rrVmEgCpZf zCc8eLk!*bhE(^*DdD8SN!#LnQd3it@gO{tF7+T3y9R)-U!X5j`gE-*uE?HPd*CEBWw+J*kRvUhy;w6O%h&+;(Gk*jR%kI@F*t~#EMUNwtJ`4p9dEdV*irixn2KL8!JezAA^obdkdLS zH7A-Bj1W{&rxTEYC{U_E9)q;BtG3v17+H9=6dfS{ssTyKva>+uDZmuL&{y!`v#oP+bU9 z3Rbj35QeZiaid~Cs#$LVEt?u^cFJ0>zow~aGnjrRJ&LbvXIooR4*5!|G?vNCsT;%o zxtdg0o?u(q#L@K=62F!{wIIcrcs?Q$?aaQ z+{685+k#SbKkZFWKe=NXE`Jsl7XLC?awwV3)|-DT{sLv0Zc|MXW4e<-2xCo(RcweN zf+KQ9a(;&_>a=+d*zRE%y->pqCZ>iR^@XvqF=CH3_PokGInl}muTlFdA)Go?#g7z~ z+D|KTIdJ4cDQUk-zr^syjU3iu`e_%%k1rMs=8b6JU-+Mw5{m?cHd1_FxmwY*nDmqs z&oe~NLcJ4(GB@xGbTmdrSF-|eX_7*;l+{4Sk47x>{ony@B)TsFRIa*oISR?imJ?RaV(_G^>g4B%K zi{j(uSH;BI&aS+ESiGX75y#LZs*%t1r0Iy@;Op~Kmeb0- zcOUjsKN;(q4AS@3(In3(0I6A+h^p&!75!d_eP%Ib9?@Az{yS&tHH2#pr;0 z(}&9w`5McIIXI)0GT8=ev0!%QbOoz~2)Pwc=|Xkcih@rw3jFL}Elc5%zbm8qmnJ_y zi{F;czkHQeV~g~(qlkb96DAG2XU!nYzW7QFF6hk{v$X$=eb=qRLsp zk|eFGBp0Bw-oV}6-NfV@f&`~IB{z1Y1;m~HDRxyrqHWGkNo|cW{BYh z5U0>KjccwV?fl%8NIJni-5*p{by}e#%~)&VGS^IFH}}Keaxq#A#^$RQNSmge0eN>9 zyJUHMI@_)NBn)b`fSfhq(H}eVa&sQ!MB#1Z$c%O5o!_s}sFjrCHt7<5Lg=a{)#_=^ z{g6CLon=5V%AE*UfMK7H`;VX|Y!unhblsiX##VD-<57Ed$&Qm8%| za$m>>B=X;SjiD2JScx~Cdnei3mKMh!gpm>*bPLH>rRk9M#FYX#hz`lENRl_!{w99p zNQa~rRF(pQf*MU)CXM0R*@J_FE+1;VtgN6B%FfM^c@`XOdgaQy%1XW-Lc2$4wXoG| zdX+v=maZn2cBgVa9OpMMeUje!GiNT0CdS+LM`xb<`z31~{uI>)h*eXQg`K?!tOXHg zkEt2yJKaVya0UF3)crbiU7Bgo?90MBYK539cL&9OUPj&a=R$qX{iQ}N8)zDs-7G0{ zQ7dA%zIoIuQ_@`eBf-}B>=_jmWIm4;>{7n{Fn4pRLlqVXs9X&p4K1x9N%@WhJ8D<9 zy3(`9k7G<~RZjBy!2O=%{{Y#r;kUIDFbq7TD*omE-sEg3*%ebs8mwCt@R5f z&o^*}(xu;gI26^0585xGD|FpL3D))nqN99ii2bumFCD8;#c@rPI9byDOoL<^8AIVo_6 z*oMa1ez@!7Qde91yYzhU3U=FfI+2kc%Z5-rLG9#ZFWu<0n_BZz*&bC9c8&;uk9J#D zKPRxQ%5TQjCfN#zh@>My^x8F5$!+#dyDz8A=eVuFQXwtV>a&e+pgN_qsRe0jp`>}8 zmp6Na?t5|70je?^L9iV}i-f8^MBO(lr4c#j>3<|&f+#=w{Bl!V^b&mMEhJZ8^Yo0e zDB5N_>X)3H41wt%&1oB$GU&=IIk#+iOaJbaO_All3jQ;x7N~|+0y)0!>@%-lk1~_|oy(}iaiAN5$CvWq!NKwJHG_LP4TE&e>*+jZWuJA<|-7(PH1QV zGJ#eH=vxV%2F~W+V5EpF0>b+Y;Q&(P_^1N&p+L9VdnbZjb-3z2ev)!JlP)VlGSco% z)hBgg+DX;@Xh9oo_Vq%eB~|>H9J1$%c_mDNAPSDWB-?gLtySsnlQa*p zSZVB){nx%^#XGk+Huu>@(hgRI-LuG&Nu$_F9crB!3Kv^)GAPN;J|ra-85~TcjU!ZR z3hB?8oRN*q&DpVDwnBCP%{}dUt~DOf-j-cJCXZtC5>qd`F(IUQekcX!7Pw)7dFTI? zJ+lF`0YBM+KRH zfBoifjsy607sFPCB%cCXJX#T z`wx+~7nJ?{Nx)7}fkL6}Ih34;V6k*5C#yfBvs(lmC}}mYOE<3rV`qLPG}! z2F!}VYC;NUZf*|rXZjTVf!Du?&6F$ki^;9uzI_9X0kIrzH9%4D*H86K6WAOy@Hic5 z;tWgD|2j#h25ZqKCGYG*u@5(lfkEU>IiTn8NZq{o8_pG=@S9j!pG8FIYiYH#x4S@? zBPGiqkgv~$VXh%E&W{oUiw9_I+TXzrv5tUocFZS(|0qb$o z)05uQ(}PdSsZXi>*R4X6_=OMJ+^hkw0|+cY;KWev=N#*LK6RfYK>`DRune1&>rSj|Q&7x;bjEg=<%Y2)-336d7 z#bJM=Q($IxE=fUz{8QW|uv7ITHMNLK0in!%=n3YD6?Mb4Z~a0@bWKQZESdILNn_*8sdw##)BjD7 zYHS`GA4k~xH{>D^iYG*qOe4>VimVK1-gB>Z(~)BAL5wu3(Jr0b=QX(x`6|v+v^#fJ z*aqwN3Cy2_JT28cu~on{^owq+MfX&!$~DOi7rhUlUJwXQko->8U)?4r~r zyL_qi?Oa@3?ChTzTU&!o?FNI;9xHS-uru^Z&wc1qP{OfRe|M=b;lvSd~#Zf#^uzAkm> zP+w8lHe-9gPNlkeHmE6^zYfulii;;4)yvx%o?`^*7Rw117C`kNbfHRR+^``qAmEIW zQuW7=xaMmb8XD^Bi9Baq=FyO)$t+~aETBD_LpsGSX!RlP;$NXXmDK`*yF@W8bmyS5 z&*;VdAq?*fo7dVU?w@AkzZJsB#?G$Omez8)hP$SatTzc6hodFaBggpqUq{YdOV3hVJwd^`S2swgfFsi<-*3LmsJ?#%Dd3x&*l z`lJe=cZDZ55ZN(y)X*qSnufUG7P0^}W^R|9Q+?_RIRyndIXN{oHGoBb>uv8Od%ByM zDTcYYyB8z)>Btdh1Uzjx{__ojJ1AcBiC&PpYh%wcK4GDyqD_d3jy`|-biVssrr{6w zn%dFpq<0&K6NDbz%HL+*A5mU@GKat!YgV6~?!4^tG>Lp6Q}aX2vD?Er`sa4>yHc$6 zi=56W+;KXT*6NTRq00ONo#u`>X=>Lz=CFk1zWe_DJAf#0PWiVKQNv*uQ&V0Mk#Ur% z%DXEoN9$F{K9f!^E)o|!w3BBp?2jd-<0-elpf+g!Q7qd5qk5Y1;jXI9pOtevvW!$A zA}Lvf(ZEVChRwfpaFJofr4?_~ zaJIK^l;%wmS-pDo)-C|&$1z0AYka!PZ5+S8p)@u+2Sn=72>xL6m;I_!jcJ*0bLw5a z2Z~Nx@2$uB@F%99VX1>=V2Xa7uRYK20{|lVG(47CN9tJQ$81Xvo1^$_+1c9BfhaCz zse!IySqV(0m-D!8Z2T29wa3fAs{B(QC3$$h!A?y|huk0xUJO?Y3qD{VFwa=td!El` zi|&&L)$bW)Wv%&krPM=LQ?^zU7>wp}^@Rch`hK4zuV%)@19}1G&5$c#Znh zl;ddTHQLM(lO&Iy05b8bL`tTbh~O83awl3#IDP+n$+Wy>+OR=};A=Xr`Yh!aQ(l}W73$*oSe#OAL2HnnocuNW{On<)7tAotLWiH6#m>PI zpXEp_8uT(yfM{p4xD3?Vea=m)vq#KfNlA(PTPbBWv;n{epz6me7oZ*D(qgln-Ujps zdUW@JPFoU9`OF#3X@fG)l7fOTtQ>%sN=iy-Cv?B+|JrfSWC2Dx2of$ink5XwmnZDVVYCg>d zit+P|u8t0d!jLUeUKr}?nlKLS6Ve{_0BFLP{0E8*mgCvIn`Lx<-c`tk@>W@ddZM88 z-BO*}^6byG?i5&M4}T!+JZ^uReW$M{{n%}}z;$hpDOpcJ^J9KY%*j#3ix=CFMjWiT zbrgpL3-2FFAXW-o{u4P^5FqF+hNB@nRManhrk9*@E0~9WC|FTrVgFOUtNUPLfZ=<& z_6$TsAeM{S)Dp#A4l{m5{f2&{R$}wxmeYDUQ6=ct?lufu!VQwFD1@LBz)L*oG<#y0Qi10f=9$Qpk*{!_%0-N0%`qPI7)bd|2cqfYD@ZnPD=LCdY_;kS0`t9Slnx^q z>Bn!#q(d&JkVqP5KH2>a%k%N^!C9a&HrAeX%B_aTcEHqe3$Hnh_IZ`gvV?F6pfZ-} zY8Bij^n0#A|4K^@Zv=?uu1L8*23M!n3KuA_2y1BnwJV!7EkLV~Zm$jRRX-P_6^UXq zG&r~~MKN1QnvUOle9|{FPu2rD4hVw>LVwM`$%*^%zrm?a_(zrQKi~|iIA49TgfL@ZmA0WI2Dyq;Gw+q6 zw=&Ri#?4Y9^0f_rn8#=#n?36l^nOs`I664J6_i1e2|P5WJcEJ2VE7)?RAXX;=B1D$ zsJYTa7cf!kGu0EjIpqDcARiS;bykNhxoLvAA&UG00x-gpOBILb>W*|TLZTi|Q=|B{ z6vUFl<@^0Rw|o0am^rJ?zZ3BU-VxK6`lb|01&nRa^n}j-X)KwNcAtiD4H#8ovKsGA zMzqgwQ_#$yaSgB!*=4_ub{Pmu_nb}{+B1EW5}*FvocvxQt3p&%R2||SJQ#L%w|bBz zBYQ-yv=UJmo~k^kL?CbK?etnQ>fz6uGVu!tDEcq@W^}N4O5ytT>qrlH7TehnkX#y# zZXx?M#g6Z_)i;e>$-SyP9vHHb9co!Vd>$3fR4Wv6e47`)tOD5$8%W5B;6vGR$-HpW z4#POsY%Q;-i2QuDJ@v`W5-uHzn$W9=c!P%Dlq$g2^maJ^VUTK-!;ih@k zXR(_H%m=9(MDgg|Qs-2SWo3wnrH;@|dN*}QP* zUM%^n$<q)9=Cu8qKqn2wwIS!j_yGd+q|0p;E^y7ZAR%C8w&wWu6?M zafw0}sGpw(=y@DQJ*^`C(fD}YD=$9j?Btd-FZH7Cp&Tb>K4Q>v(q>=IU!}2L#vxG+ zHm6!^M7(TmY|bw2X1wFiV5_McG@~ZnwS9f_z#hir4`*z>MM?8T=mtC-+dp=3acj}j zZC8EP%9+_KDKm)v4M*S1at6J*mHetUnjMipf`{;-fjj1ix3Pb6F7Z`A!J1pwKk|!2 za`+5R`ND~8o<16oqma{II!E~WF;k#r0qQTl{qq2Qcy6$d`8MCxH0^!r9gyw@0e<1 zF7^CvXj;`y#YL6G##Y!}Ht#q3&N~V#Ms8N|);`dTB^XA69q;hB-c?zqH|yEhUpL`@ ze*OBu*k9Z4x!yE08@Mbo_Sbi-h-o%$x((VyW#y)T$Oio)pM_79s>bbbU%6JyBQdAXj$v^MPS zT?xmaI861hcrM1U#c|*g{$w^QA_xyG5Px>W8WmXhv8f(N?4Vi20ZLo^)i4eQx>1YS z{@S(j@G!B4x;ixY$*roUQ$uF;BSVZ(4@>pGQ?f_dx#xDcMMx>iNY{rV!or(bL)#(> z0AoOy8EN3*A(d!ZkT*vPxv=AvtDuaG5qm}{et@CWD~?#JlL_gud4TafB00 z&CU`%T{YA|9>TvN5yM)jtdvr291?}(HNf9LpWWcoyak09&$QVyO+6!#O^-++C}e*n z2k|Q!RTI?WxEtZ=)}-#=zaLz^GBwq9mb6KexF^u6`k^Md5M27cgqA@f@r#I@FC+aC zdP=e|x9NiZ3qW zG+pmH9fFPj;}g-5^r3i%X74*TgC>7cXOD;1Eb9zNrWwIe6RTJT28L;I?Y2UB?=*+g z;5Rp)h7ytIs`-yCJG5UwO2M1cG$f9O>dv$ALP z>pIZj|K8tI)79*07wT2RJ;aq$k@Gr?xqx#tB7$S)!!9r#;bCFP_;UOA@7TWmd1T}j zTl5{Irm-JC8tF-;X0EQf!x6*-Q2W!b&kG|#eo-7vCR zBCB(o-qg{8jg6xU`T6<3{kF}TIEmNK6!d)k`W4wguU_qC&2<~0N$x2GUmLkjoY0E&s}lC z@sBX$8kv?{H}LACh=POT@Hd`)r_JN4d=#GM8WF(PM%TlSb({aVh7BKyx*pOKV%W&j zr*Uf*E*PZa%ij1L%hxE+z)js^XsVX?W6$`+%|AX#g*z1~T{JI zK{cZ_cmH{Hj5!XzPu9l#14t=1*R(lZVpEa?9yOVZ#FgC|)HL;!w4)vL?cq7yq!(fx zA?)bKKs-Y$iW48b26WnxmCp=r(IiZs6PxD0_sDmc$=^G+#v|K5V~K`2kb^;L|T3lQV z#11UFjP@jsj-{d2r#yxp^6bl&&74}cY{v_WzfN2OOqyjdPXTU-$_Zjzc6L2=b=)23 zl6nWril6-t>9g@HU{age6+~d{$Ve>^FclTTuV`Vhor7cX;ajH>cQwg}gLH<9e@t>= z6jAe*4V1tZIa~0|KtS+UgoH*%Mj{YSbXjP$ci((>Mw#WP8f$e|V85Y;O_wL;T=1m)%mDygqyW3_LJA zJbbA8yjKi5;3df|Tei%4iT>Ltd5<390v$alRSS!xB`>j~N0Z9HROjU9-^5m7q5a=@ zQ<3f)JzI`cwMM@k|MFE55P8qP$n5_gS}+%vGMoq0)S{fby}B)$^Q89eJ^xwI*68WL zq0Y?g#L-{8=L`4#_-r>0*f%}3KWU3!%a`9@C>|I0P;ICP=BBS>D_I%(MBMSe*DMxm z6^C)8&dY#fzaagDFy-^#$=X`OT%gFxb#Ohf_pjRXuSG4mJyne9x|;d>6A+3(wVD3< z_0Q<}Q-Dj)oMBSoXbon%{qGlUjUDhkwmwxWeVbmpKmSu7VbIKcnY40 zH{vBuqimsn{c9_kV$%qIQiyax?r2BH0;XOsPyj<*p!GsVf5YD1@8Lsah_6!_0)nQ` z{I3rer1R!j)`@L5h%8PW>@XKbL*JbLkqCjCLV~&rM%STWdKSL+U%xZ! z)(tb_IY9tLn``i*;|@BtpmlQ)14yq{m-LkGz|;G78tJo-Au6FZG>C|aLDjK^p;le2 zQ4S#Dt40eDpA#ao8)t74KelScnN8Q`Ca=_KpAfqcL_Crn5D}*z9~iO9nGe8SF!@m= zjAxq|o+j(ddcm5H+rKh!x&H)|=Xt%noQoE?^gD3ebG8T|^0s~Xh+teL98DVLd*sO7j*iupn#ArUYX#DNS7Z?3HU=^eUDFh z&VP=UURwOMG`;jIx^R$ib>b$)Xmfs!xBe^w&jfXN!c(}QVkKI%($Z4?5K>$m2#`Ao zX0aQ5-^ZZE09ZZxrN9y5T4FdCu2>QM`~%X`_0l}VS`@s+c6-w2%KgP#9>RQle1d{s za;&!<`t|eYfqRS;;@c>E#ANbf7u@YoPF-pPK0&yzh%|=>4}9O7F*owu!|O{MuD$sd z$y49z0DEZgvnWn3E}hrbZYACrcnA_Zcm<4j_~~rVX&+A9>x5Rzrd^by4JoupmZyWa zEdyGC#S8%*$Uu}CU*zt7>G*UA&#|+UfZPGrmC;78di{RO)sm`n89JiqXs@3=C!b3$ zE|Ym8M_dM+%O5URI)3aJVjWkH+nAV4;#HT;4ZJ}8uFW5UT)aD~UrQbFCRn+#AiWji zBrvuDy%9_e1qBk51n3XtD+qLFEY#9c>G;!y(+X>bYgZVwh7n`v;*=sUS3{TuU^fwd-E94GY~V&@%ngs6N~wM|NAf`+G~uoEkZ=am7ZTz1Sv6( z*1C1;c3HgkJvFAOUorKT7jU?Sy807+;ib>f^eJKj7v{Uahdbq4Z?E%6+wHmIfJ|S+ z6Z@@k)u%T>JFunkkf6#_gMA5mk#NmoZKPiYM#T*(5*w_-bYPPuk3wj(xaUi`S zmA&Ha+l;1(MAXG7i*|+N7}UWFEmN;{U0eq8G8mAf;nxL#hfX|ylW@VlDCRBc7(XW? z!}W`GEmLm&yLazE)}ZAF@&#vBX@q@j@bcpbBpu+O*AneUZ*x zaBu@xy1VN(Te-kB2JlqBmph4X!IwGiD-{OP1-=0^fW{4AV1e!v=yHL+-Q~+!C__OY zBY+Sj0>U%^137$RWx-Y-bBP30aEy;{4T++41QN{sA&}&LLAi$rX;g(EVH+uno#UR{ zeD)pw^c!{ht0tWLj1ta4!kwsQ#LB^u(Nx| zp08ZJ+C-=P3%;%~+irKi7x57Z#2X9SR%tMfQ?Kd)dXS_2AY6*EBvFNa;%4+-AY|JZpZ`@+cHRE#co_f#{ST2 ztfFK)5uV!>AH9B-Gk}u;AoAJb5XT#Z6~nc6 z+zicCl$7Q$`S2IGiY1ZGTbFMl>~x~leiQdy?x=%yTh3)};E$o}1Bn!$gsG|JnOZ zK!A6x!NXY`b1uWJ`r+pwijUv#hy?*Qp`+MEOxOePqmdEU?A3k8GH*~-%=&f@tJM4OJTWty z7&q-WsDklTm>z}0S2>{xPE$40(t|SJ%1-+tp$`wUDiDGD#4CFTRS!~`oy6Ita2!sN z>WeYA23NN9MCBH^!uD$I(aLD;>_uB`ZcYqM|LTD;JFeD|bMx9o!{ClMWIT@_IPj^W z;u}=W@1t1_>QLIfx%%}vF^&7yty}1tySfa8cZil<+H8`rt9REpwzqEmu47>td_hr& zbFz;ke|{D|L57wLpoiebMgO?C-6MuquJohY$W!FSTB$OS_zt%Po(M1t-~gvBl1zTD zKxjl8zVh|rn<;Equ4PN~1uXoa_TTS-xWHbCRPBlog;SRsQBa?xN~&>+dfOYXC|p;^vC_P(b1e zKn>Xeo!uFc65eA^%W~`8Jzjl+$+{EoT~ANoX*F^Hy(XVVTNH&)jN?*)fM#Z_Ghnvw z3HPtI_g0{t zLNxh7S8sd@D#v-jz|4UF_PmUY+u!jFl@mk(v$6Zv>YjW8P*puyUR%slo9D5-fNV2 z9h3)00Ns7EIFx#reb3+fgos4P1p6UkWNB?Jkw~sfE_Dcn8F$AAmzfbA%$_P+>=(&T z?N&8^U-*8<$xG3a&dfYId!Nz}e&&HHeynWCb97BH8X6@$^v+6zJ36 zvtLa$D(mX*=89SExqj|@?^QW>Q%pT_C(i#;O*3uXIv+O~Jg=0Fj({Ue4y&1SCj10i!qSIz zB3-bcF<;6Ri6s!`^YimpiY<&Wa>VG8-#6-Byx8MWT2L>z(Vz}*5xh1+dwvUX92l;Z z-*(C0WcAGSw6QvOFXl}c!-$G&^`Z$*zvnaEU#i`$wZ)nu__RQV>edC}98Z=8q}FKh zyZ}pJqeBYYrpQ{v_}qK;Iy?K`5Qg5a()1Nd7`IG^6cXyqZC1>uAjKzm6h>G(3-GuarqdV zYiAuSM<2UkAO)R2!bIobaTLsf#Fm!uW7xY@}sA)0x_iqT9dd`v8QvZwp?{^n8a>>u5!^n_9@oJj({@> z>c$lT42yL#-{rRZlu&#{_ z4*JNi)@>X_s8Wd?eLS+YIDngptDK=+i|K}^ARs{k} z4C{!=<8m80*b-KK{LWfnv&dOlnd04lKij+7uPRQJ5Bc=t?p}!=cuuW@0^@QY z`UmISyu4GB4+8_QT3SkY(T^8}KU|Ib2$wVYlTAiWu!_9NA>~%&4Tt8n*+>WFknzh1PjrGCU_-$4>Y%Zk2LfzvQ z%j~EWia2gxVC+r{dY-o0V(Rhg$r^lHPnTkH9ngUaFOa9uT?!i(S3NW94buDbMdnhv zP4I12oD~xEK{0~EBPoe5Sz{iQfE_hkX{7qN^Lc0M0e^&4u33Xken?F0tx=`G^Aeo= ziaY)wkYA4~cA&y(uZl%qCk>D2cKOAzMgAR`y7PG9p@JBq3SZWy?sCkP&5N zmFjmrJKyi;d%nN_e*gZ??RL)Xyw53KujljexR2|8UDv((Ulb5NWQ^|Td1>ic2M0*8 z>i-<#iBV3S$~$o+xGaS4u&!>cV!fKi@@V0qZ@lte_O7n6fkemHEn8pE?S#r(6;3*s z4n%1#;lRJFsE8^ks&Ku%SSoA3n1Rv>gFtv9WqceMU}Y}>DY2#|v(k}`1UbOevARP+ zs+%@D8GDXNwrgb>qSzC>S?hf`w+AtH@MS=o*-(MQdNbZmaPStC!TBzDFp{kC*HUBt zHQ={&o|;Gsl01qF3spyaR!x+LDsI_bHmJ zsQ1kr|9mYob=pN>u5JuWn2rNqJzWF(M;+i?lY zmQYzhen01Y&+wvtEnfRRI|m1`#1=r|Jt{74?$7tLqKSOr zG3CIC4QZ;uu)Frf; z7$+mbEtlVa_jCe_G#nhp=26;Q^!LX{T>tfpb>~j>?C=~|YOUC|zv|!VSw2=qRybN6?dW{mKfD|OsYOK|-rmW2xqx02o{E1mK95vMM@@}dwUGob zNJvQN67mPiW>*?1!~gSw3Nz@63F2Z(t?mwwlPQ5{#aqnqWKdDO{2(!I;&`nwT$Rc| z_-Ev$%a`eSl>7mr08#q~;_z#`dOuHZ1LKZ4(;czE>%xWj$jIQO0Sn>frxxv~yK$bn z1`R=z7L#Lp<%N~^{rx79t7eZb6aABz2-e_y1r8c|AU+|1o{H*cGYwu2)PXNQh>g1h z*5gMqF)^Wv(L7aRym$YeJ?k(fLIg+>C~U7i;$T|xKj{KFFM#AK>AqY0zX7s)n!9VpinKdw@?jX*~uMzN=TSrnE--+7?cNiSVDV(ewt;y_Rr^UT#RJW!1$M z0CuC6plDj3W1YOUc66;;>n)4EG+on&51c=Ppo+(Z>iYJ|5*Lgm0u5gsB|^n1m=eIQ z1tUiU;$xGDCyRq239KxG%fLGUN&)PKAsSB1W!w~`HXw3#?kRPsQiA`b@#KIdpOj)# z5o9<#dJHA;B7nFe$YL(6dxme-{ark)~$YwDY88 zJMmSTiVTh(tt-NY-q%_Cn5l||y>)eUalQ-I?5hcuCh9>vG{6?Wz+A7ogM96QA%k`L zhQe%{y-KZ5<1qe^sjaQRpJmvCFCg>*e6XqGS^Vq*j?%Csn4WJPBJi&=p zQ>#NzoSq|6f}m74aN-3ypb^c~(^|?X^uBgyZvUoj#BrJZwz$D>6 z`9KCfaG^H5JUj)DA7522gTNH7!oI#*(XURWx5+-x||TDXrjFsbwBY1f2q>J^uRm&sD?IgLX<7i91(GLf#@+@1kaUaf;hxUH&&1eIG`XbbP zCMG5VCF7%>RBZ{{_?!Ma2FXy;r7R;rEqIFiz{iqwG6<3crH@s(`}W@vD6@?B+Ds?D zunhX`J8@t_vb-B=1Gy8BOaXehcl7xM1BVK8I(8b8x%qiK!)kGZ-<5e)cRYVy-Wi88O-! zMG0!UFJE@@@+P#Q9SVXu(0BjGf7vdk2UOd${mW^)OUP|VmcJ2U$HG(xhaFE3OJiQtRpNPP%i4isJWL&EL!IcVuwwi^RuDYJWb^Zm4o^Nk9OBdpqDM(=%s; zg@wW0MspruhAiFou_Oqk9lQ#}=Wu@jIf6(8h{&sgOP;dYl%BS7kT_Bja&o3VGC)dS z*Ob9Zdv$fpCq-a|T_ayAhQ}dJTS`LWY9rVs6uS;Kui5{*(i7k7r0XTYnmN>=J_tK4 zyopBJt52bD>B&1bS@_Ml=?V4-_;`36%DAbQYwC%WFY_}qb);7gTFZgt{^iW-^5Ei?uzy_%oa+wKF}4{965G2!8%GxLS<&l3Vu^Pa$<$2hMKj2PXd z>|}P4p2kM&{9*Kf8H4do*=3 zhGHYVz1ReqisfQB&GH@S9tul3^uJ%ZWAhqc{dIL+v%H)f;W&o~o1&^q@iVo^?W?nP zhWf>w28RYg>#nI$Wx;3o2-IkxfcRix)112R4L^dT3DYL6V?k&jP)beB&T=v_WxHpR zSAVRU2c(bc9xVju{19|tFo7Wai1GUuEh5=Pa0l2!JqeZ_#wNf6&;-KV)T=@X*i#VC znFU%ArqxZ1(=?-*E!yz{b-%Z)%ZYr?$SPygOE>!=4)o0Gm49(n)o<{8(46hPNtH)7 zoBR0jx%f)Q|5RIEvXRFo0U*Mm$L_V9qN3e}I`)lUzwAWn#Abrh&EzW4#i0~HZHsH@mF%rjzs?Ah>eVD6l6ykv*a`$0jDQ?gs`EIi~_8gS=09 z0}(}uv~?#Pk8nsKu*;sIA*$uZe<;5nwO2Ff`>1OYc$7I0_z4q}2wv-SGu%DRht^NvU}V$Br_3*jI-b~EZW>FR`XlbD=|5>L+T~oil-gz> zz)N}!ni%%^{HIaZ%P)ZfoH1dmg25)t#sL`KULr3In%jUH=eX zyPwOTjRSmi2-06tQZbwb@jzx~9vkifXUKX`_28bwUZgJ63Rt!WuhQrpD6@%0-4G_y zR`S^H@pZ^gnwdG*mW=?mrvR|7u<%2op+q6>jp0wF-+|dSS*@M@sjOS_!#f?i@~+u^ z<=9Hn_6@HQXjg@K{K?ROvo0<`Db=bdwMa)PtYQxg|yj*<9*^qwY4K@T-oyXO*1X@k_syr^ZU zWnOo8m8xt1n8pxnX2#68Pq$5?O{|UJy80WeliGV=G=ztb@H*{We_Rj^QrZzryz}z* zy^Dky?&c|62!gn9!RXs`csZ>I=`4i|>2jlFNWm9gTgtTigHOVpH3#m~R<>`Ji=QL4 z+3}h_0&byHRtGXFo_@1e@tPotjOm9M;l#wohE4VT{U%xcLY8J#35jrbGAgF`A3g{k ziAHXUVm*1P#AzcmoY~DnwKVh3K&tz&#Qm}|R*8y7k0|r%hle*G!^8-v7PJj70IBz< zx^qb5**@@CY^90O5gyH#C}wN}jU7DBBC-Ag3u@Vk`FZ*?!YY@Si%Go3E!$0Z%ZWTT zjy{D6Y0(ze&dXaDN$j^OXb$1^X@+X~(x3fIM)_O~APqzsfV=a4D%@1aw(K4rj_q!0 z>D8I#$kC!qLEQ>=V|>Ih!R@bhZri{nFNWo=M=?{wNl!<+BR?bxz%({wcSX84|FY?I zb(%V74mP$!(K#I5rGvQ4XRny2NRxb`$_2G`k6u#DMEuQZ`z8@UJ&=|Ubp&g&GcY8k zrf#qQQ*4u6#R==#^B7QJ%!oL~!-KdQpWOK7w2%lBKZgo;{IJ_g0adWR8T|E7LyKYP(Ez-B48y9W* z8~^DZBn7w%@hJE>B^mGc=r?^Q=VFhAZP{RAqEdiU7^)0%3JRtH%g;GgxvmGbgQ!$;E^NiE3Unw}T;WyF3XzB_9<%yWeQ-@At zLvPB4CrR*Qb^wnHd5<5@eEVi0lo`vQ<&dLmT7hqe#aO5@0|S3yxPqp!{u|W}z8a_y z5M-rJ;-Uoh+n1fTw#lr8zXnMW#RpV6#KpaA6`JkKSG)^uw2# z3l{C=_r#yHn9Hfzi}{<1)&rJkH1yO8(}`4sTpxsoC3OUlwXk;<$2GRh%+4zMOdH}s zIXVgpNTsKL=aOa;XkgR-0TrS6Qp#Zd*IDKqE&FK9Za^^jci5LCHC+!M-p=G16!h0t z&ZRhr^*V~3r5`^o%|0zdO_WraR7v~t#O#A+p3iegBY;yiPkG}Yz~cp%sbNr{V(~JX zMA);w8yF~i@j~o+e0(5zEdPY^k4u4pirKQNZy(H3MtC5UY{8}<0S9%5`u23?K$e-F z>8Tfkq>yRjWNmBe#}Eq`U|-)#)!K;0F~F1(!*`2hb9LEPflS#4Ap%eaV?qv5CXR}{ z2|4X9)z?q4jI5}j;5)8sQF6Xi=NCDxHB!2JIGV3s4Ws@iwu@k}+N7}jw5TIrP}8p} zB~BosxkDUs#V@DWW~1z)Y*MXPY;yUKj_%g4x7bUz2n{NPe&>GqI8PokLNT$9`g#Ir z!QdSgnfTMlWC3sX*`*5u*E-LOwZN=03o0JTP8I;g7VJh%g-6584llD zgGCcWHb4^NEaM{2djPZM|MSJG0x0A4QjjxDO;cJ1wtal;d*YPTyGZq{L|q|<1pu^q zxlEEYQT36PcS?7##TNox&&k;;wgP5@$H`d!mz?M0v`-)nq@=)n4ioFWyV-Qk=xi`j zX(}xyZx}tiPiy79IMxWMX^X4oI~X=Gn;d)2&Nka@>{zs`N z-+0LH#?PS<@tb-#6B9>aaxpr(g_iH8-e*gLbcM4G7VWY>Im&(I?%-x)d|s#i`dy@C z_#b^&jmJ_hbz6v8kq)MCe=+hb?zmKWxJ98vthU@{yR~bd^9rhe8jA*+vCpIo=hh31 zZV7lEm-~WWfipnpdth>fcY^JIkqb>mHq|Sw!8kIM7Xe#=zq9R@>ekP|-2m9cE+yX; zu(hTe-%dY4iDFZ1(hLbps|wQBH*rkL2l z+=X4JIYp8ZHZ9moz=AVFo`dpu@ z{V}}>ou`F$(h+B{ERuEj;?bkDVhRqGiJ&4Ccm8i+v zI(6z=K)A0l+5s!8gvI8vuw&MC%fmXH+0@i58qrr_hc%7az{$NQp-Xu5)$aB988l-l zBb%`cT*-pl7+Q^mB&ro0EinnMH#t*AIJBTl|Hl zp*z64J!pB2ug;J&lY{Y>A8ZfBF)C?lnuK*%B>>DURsOMKtIiRUpTJ>gs4y41W}~)s zhe5o!q)3Qv$ZX8}7~K$WVh`GpBcZ$HeWn?Pc_$AFu3qAQ*Mc_z08*RNmOf^WoLu>< zS6tnkOyq?z(OiP7uQXkARP|kR)b;IRFW_1qRHc$Dn{s(B@s3TOrgTvJ8-ilud(^hs z?{|hU?BG%5`<}zrTM=`uLiXT6Q0V;=YKFbyQxy*Q&?*(I85--6a(jhCW_M5j%duBKU%YX%ye5sO-HiZ(KtJGH+550Kp z)zs6JUr&C$E%EMMYId6Q+v>LLyh>@UUq`!xOr3d_ZdvCC9S|3OD?vwgmn1W#vs-S< zh>FtK)b;mYK$Jyy1yuz)HW|s*xLN9_#qu2)VNs}btpo@w)3r%orqeT@yV0?TG8K08yJ8`<{sb99Vt$lB_MDx zvsP~HE3d$XGiN^FY)f2|cwst#WGSE;9UC=}rCs!>G4$);fCTHtwE$|>_|3>H?cqZq z!95rJ{B)Qb2Pj1;53qe(p6cW@n`gMS_qxhvcu@g7!?oY&!Vl)n8%dLTu?w%lM#Ihl zIq;YTU{T%>>8iV<$^LZX(J=fTRD67L<6OvQo^Rw(8hALVn){`23JcA?$HsfZ)vulmJrY}j>xy-?nhfIA3Q}#{ zl9CQGlFUoS`ua3pCO$sWbK4r&!Xzdnj+whsYcML_4vV3Y6c-P!jo%WI8gXtLZ``?U z;agI-o{V*m+I_~&SaMB4s>ci!%x>{Z(qlW9L`@`^xYWz`1foQp#?{h2?_7E(^x*Ah z!rK@+3NW0~IITd|lU-UWqe-dF^LPKgec0C!rvClgx3lR1-<`LTu-mdZYw9xkJA#1& z5Kic?ja#xztMdeOvNh~Sh?C!zNW2KQj;^GX8CzL+4?D>`2NJf%$8$%k%n(k?X zxRJoE7%}Rg-zgQ&d^IY<7mdl2f&%S^V7{ox$U|N6adA7#^6ow7uV*WsI{Uo%#?N2B zP{%TAix;&-fp)Wm+2PJ^PBl(OPH&o!Fvh^|jFkw%!1MrNrwmedFTA517}})t*nUr2 zeAJW_6_wE+8@4QM@nVUh>?icO-)3j;-ntc0$WQ6HQ+z1pulB0ZQPGn^mmiU)>Q7>^ z4~_*^%mGALak*4!?tH=?^C{5Po-2zLgXF8EC?+Am*%Ky_YLXV?-`_UV`;alsGk#%4 zZWbdEb6Xq!tXi9?tRz!MhxCmLz7E};XjKkqm*j3|tPl5Y36~93fvH>#5 zLfu4|Tjk~Dd2eg6cu%vgeu;*{E~dyqpL;i{K3m%qz{W?HCq(sKcv)k$DnAa!g4WbWuoTy9K-3JmrsFNPgnY<-E9g8!e>1wa@`iVRAZ-s1<-d zDTC!(BR^oomNJt6wNpYqdg`=*`bY|IRa+bn^mA)(6d74tE{;_-Qp0$jL5-9@L ztyQpQ^-x1ZcsP6;nM+Pzy2O;!u>OuxeNV?M{A?oANJvNw1wDG@7ExHNI|=?WFB;5b zcjVyViSOHb_&}1b<`mQMgCTd5cAZV5QlPq6zcMhj*f!r85M!3W8S=di-|(anpyQFc|?-y6%B5grlY^5_^$7B zsAbhP^>`0_MY}?^#NW#d%~Ce|Egq9-w*E@reXG4hnM9mK=I3-!w^0i+XgAy!Kw6{24hyDT*?a zr?}COY)>KprSn&qMUE?N52v?GV=WVVZ79eCjXm^PZAqf}=+{NroXx#e9= z9@<4r5LpL@h8kQuv$n7h?EM#uC6El`T8mW(?zeDTK^9P9pig=L5@ObX1wC@_eoNaUy8__QmMSRO8y zK9w27Ghc$`FKEE`1)Qt9p}`Q7O7dRs*GtCCO8>8ho}LosFgS}@f3^3uqIs~Vz1ZU8 zGonq%RpkS4R|W%W%pQl2Q9xTqC$79}?^iEz?(#Q=wxIJZa4^*RH%?EjDzl$wJjCGs z`5ynyhKDEKH)r4PZmL!PiV{~a$p#qR0;~E#54TwXRni>7m|!L>Sbn)_If5?+EaSe*#P)~%3pUknJSdx)x$qrEr&o_1Jh#IIo1;Na!~bo{z3 zc*@%5u|3DEO?UdUm@1XO>wRbtV^A)2ecI_c|0;vVXgH28W7T7AAB7=9K7diOUvxUY z1@Jnqa~O?W>(RE91GT35VD*PW*{hBFRGxUOFW3lauA5;l0UAwx{HfTOL4~PiY!owbSmr0UCoKf{e3Z!0|<^^mJ zBP=gqxv&(0na4+E=sto7!Z+)p%8^^5kXy0t<4)%H-ex}A=<%jYD}^7o0h-pxDGZtc zIIRnah-?o<)#x&v>mX#67CCLNJrv?gOHY45M5OKsJ2$rlO=mh|=d$`8RBG!{JA^T` z-H=xJxa$+jCJ22*_vni+&Z(|C%^Z{Gdz+~o2oqqSOZ@``hlW zb3$sC-vO0)jBYu;47)=D_6Xc2`EH~t5VZ|(09+aU-PCk+CXbCVve5AB!u4V}C9a6- z6n!s_8oJ=bv95*kv6!qz<|`+Zb`;?)AvrMJn6-FV`WPT^TQQV2vE1X-d@pd|Qh8ao zl%7^TcyM=y-v;zMg8m%9Winz40DBDMGvo+3m&;Fx_FQ}yHr;MFWgYiW=(G+ z#_)>8ekS08c6D{xt{ZOYU>soGfhE|Crzu&E(;K8h0%X~jN-h_XDi(XP0iK zbL^pKgw|3lji(D+D)mbzL`eqS>^w8E+d7(>)^wb1lT7Jty2tVBP`UxwUjFf;Aqa^S zLx#pDRx~F?_>X~C!NAm5K>CB@<(Z=#aSkA-EwdNp$If{Q{oL)_aODMB8^f$i*J0i$95VzvC2t65Q5D)~exErGUu*vJkixh&bf=Qu4=4vw8 z)b&yeu){h#^bWjWq3-UBEs8h^WGgH@l+PUmwJ!{;thcd;&-5I%PE6mmv>1k|iHYZU zUH%Gb%ptM<@jYYAwWrIQSPzlK{E;3~u%HktPW_hsa{nXxjieocbrXvMmx7r)SkG~^ z{)F-#6hr|5(xpCtW|ERjBfShqpHJIIjGIE!hIyi=K;oXEDoK_PD?3Y0yDGNIbg

IfK+P~B26n$*SeL82=sJwGOlS*{a4@_ec+vtq9wmc4 z4RIKhOrb9dQ7k0(SF5+fOpHP`mKEwgeYbkd#xh~R5AlGQ*|Q0#C*Y~t^t$=v`hB#T-XK_Y7D*h+^9o1Gu_dW7EQo z(NpoVu|;adJ&wPb0b@NYs{?MA4h%(e?aQQQ*N_{cmdXoQ3)@J#f8IW_z#;MjfH+LX z9x)>CgsYS6b2jbV%FO#z&%l5l6e!zkQMFNzjGthr3EH6Ob#9{+UgC#@-B(WNS;H(% zR+7^E{Nck<{`MKyu2Coz`tQEC@H(Pr=e9s>#9;#?LB1Zk(8OD}fEvmuDZTPnNTqFg zTGAm}4v7`anlP7lb)CbZScVnpDB%Q`@L{1#gMPnN^(8`9a?SlI;b4z~hvi{^J|`B+ zS5^|@%X=ny?tVHrhF+)kG49yD%(7!!9iV&!1fnIFq!iiGdgQOvZ8=!oz60uv85-&W z{8b3(Ff?F$YyQjL+tLL?M$OEREDig&Znt+vd!s*%lqbZr{rSr*C3#XESdEa83*3I2 zrH!d6ib;%?0Ohhe3WExs7@+1Ov$nQ|3V&j966^oEQKaoo4!?E{J6AY0ADg+}=2u9C zM-;ZI_-peDmp!1m4$k@J+lg*@fFQtL+vNg2lvW3tHX?eA-G^ccFQ9v%!2>yQ2WhDE5kX2S}v8sgYWV>T9$wfbRKPhI7-Jq5V!|O^oG|}ATwvxZeDnJC z5G6MprqR)0O<3NEg4YG6ctkkkyHsS6)8^)`TYViaN2=oEzYk~ZLj6F<*FxXpl7+}z zPf2;?ZqYubi)pLPEc$?=N5x+;z}-njULA;akEN%p26^Um!FOPb;{%&#@BaNK9~+BP zBHo~@V37e=;nQk%L(&9J*u(@eYau7!SYJOB2O=!`b=ZQ8;vLV~gK{jHpl@J6tYN!( z69Zfj<3QD|qZZz^>#V&!WqrXZVm>C+06u7rE?@y`rqmid6#W92MwF zV9C|lIgjBBpbvtm-zMRWouemDodO8FNs>std9|re6TBAukEqfQuvc{E?S19+`x!sHA`q;|hW* zD_f+*xQbE7Nkc;hE-qIao2xnZ4EGd0`|&W3UFSN?Dpxoe7)IyjVnZ7kU-yHN20BR6 zf4*RZ+j*#2`3Eo&x}B6{hb)q0o9LDqz<5-+n9qLew z4J5%1oyF_cWR18CB@_xlksdI-z*s}+0J9m4;B$}9Xq+l}kt`2FqMRHXJC{ym;o?(( zdx(i0#WgoXQ`n>;6_()`D8tcSTe~IxMR~a?SYfHD%21>cVrHu=8(+|#!QK!#C0egr z^hx`FSn+KX;7*u6L`wu@8PsTyn71K4j%E1C#EfKtsRG&)&W8TE2@}ohfHI@H>PGm9 z;6Zul;5F`G4$y>KTUvsTg8mA|ddNleW0g}0EWQ0*fwj*kYA z(~^=sk;?1)3YnCXxW4KmP0AAZBdmh5^?SCkhG*wa(3obB5J9wy)An|sZ3D~aOtCHb zm9voB;AdDpv)>M?toxgOM~lk)2#zs5x^D_uSCi)zhy$;5Lz<`z4~$#uiG#3OflXt3QJw(`Kq;yW}3BEd1k*{hvC?j zn8#i1aLUw}@+`si}!<@mf)_yH%8lg(f{J z>M)LdzoNi)C2qQ#@&w&pLT?{P`~$xkwF)(*7z^_QU{lF2L9RHSXx>Fm5Jy}dHzu!L{!#G7Sh{ra&%*mIdq=g zdiw>gZ!Mz;8FTgrZ&N>?zmz0c5P(Xl>hGkIa(_kyO zh_0we1##vFYl2j1=oC{y02F0wk@Khn@5iG7+(n3T@X|kgP(* z)YyuUCy@scuZK835lZq%etlC!)ksf8?(WARjUjY{fI=%{3zV0Mi8P={T(-K=VjiNA zO<#1VD3Xho=jm`el z#*S~0P5|b+@4cml?sMGDJZ=Rjk2XU*u0{=EPWppCqk8J|=PbiL@MA9J)iw=QPF;Km z0pulUrQ~nPdpW`73nIFSDH&8L>aim_Rxf?F|0KMo2@I?o17*onQAAOdizF|WLq@wV zNTM%;l8z*ZyRcT2hMvBDe3=6g%FG`^$R0z8ATWNhNwvU+;q>&XSFaMqYzBSP1xnF< z&7j{FpF>=OCB%CF|I$$HbhyW6l5XbL=AQn(zWzQY399)q3f^F&-NJH0fd=PMuHcs{ z7k@aNI(1tcXcIf}?Ht4wlTPN}Sz7WEl|bbVP%S?MkPS-mkGcE1Tl0 z+WixR2;S5KS4ssIJ8*IEFmMP3pnH|1FBJjcUUcKJk`I%?>FE~uqllZQpZ04*4&3_c z;eNzoFcFB6(qR$iXh^JWcWxyo=g*3ysGcoIW;ddKYa)=8a_0^@T+HQdPg0#}K0??X zi0*wW1^nd0he}NE2*u&6ZF@#QTSYbj9lp(d;Fh5vcnd6K&zeU@czEhC*3W>YA-HYP z29c2Z!?>jY?uEAyK48JdThxivfVaPY|4|*@O-2z(Tv@O{q@|5-P~w3tmi;fWm2xVr zg%3)CkN3V3Pt*UyDXYsX&<1YSc#k@&{xZYTJDAe0ub2Bf_NPY0htPyXq@0GTme@fH z`Ie=r8$`7T_#^2SfWqJls?MUs4UAK)IS33tJS*#2Q=&doXL-m6CM3{6P|BESjk8xs zn^;u*uJBUtQK6zM`jLrguGlZnCFhxbX2ZO!~L_yWP10#b*3en46DbxR&XrJ%&)+4JdyJe8J(0$& zb3MTX)u}bGsJ>JIOy|WBplsTxnA;9rQm(ORUx?B@MFE zQT_M#d~-ts3=p4n=(C7=TfFjT+(*n0P2Hg3+IS0<=dw5+b-YFU&^JjW9;A3=k%dW* zc>Gi%+26*TQH$tK!XSGNaB`xg(}iUPp_z04RLy;i0)__(%C8GG;viZXO|Pn|`pk!3 z1a8U*VR1E-eadUiw~1V(AUOwk2yOx}{@0Bx`r48JI0B6{zPEr@M|Tkx2JmZ*(KeD% zoRwtX4AjsdJ1#U|&p}HVxWJTVVBi$S=KMdw)%iWGqk0iORy9Fngwr2dnCMJw%Ckox z1s3~AYMd6HPIbZ={;yHV9LcY!27SDH*aM2utEzF%?4vFD3 za+G{1b)ZUW_yP4(>GS8zfii;U+rOwOWw)dyCx_~WyPn0XL4oZX?e6(6vxE&#-?wo< z>NbVr&^H@9JF<2L{0nPwFrK@8TlTg>38rN2iM<{ym}5tX*6qX7L;@O4hVCXZBh+}; zs`Ki?!eI5~NzS z=Mj!Lp`^r>$JTpB?6zPK|1b`y~UF($82uqA{ z?s0%3*V;+AHo=xcwJ*aFXW|7#087&_|8?tb{uvNdFk=VD1Hz}a!#Vr?pPMP=vz$9J z*P8#$zG)WdwCP#Vf4$^{iA=Uh9)23iG_su}tk#Z>6#R@#Op=ua4$$!1knuz8yjSHj zW#bhnR1h&!oW7^1p=aSM_xkb%X+%S#9?D+C3zTHITcC6$jw5$|hw+4u- zZSzlt7uRsm-`|A9|8qDi0ytnJ@j3K3e)|*`J1{{;)c@#BMv<@s8DOY`3W-wvj$+#; zh*IOt33fAey*4Wqm6eEFV>NyweZUw%n8pDp$`@jadXdcTj@f^>e`6Yi4Pl9eD{5VR zi4ACe0dDTz-Go-NwRL*|#cA~$cjh${BhQRvlQ*J}hZRU~?~XV27$4yFp&%j z_|3ou2k#X;$jJ=<$zSO{GA@d#8vop0GzBE2q;{mYQM&kh|4VrM6LydvZ>AixSc+MV@-j1RM|^p zK8Y4MmL%+(Leyfsh;qvc#*f^B6YjS7l)22{549j z<=)|8E(h$_HDpemnIT?)*Axe&PcSDxAS=sy98=NVe0*qPnVly%F9Cc9$Q|PUqNpgC zFG(+V{U%yJT-wV{g2dyQ44HNYE8!8Cl2lYsx3YYY!QH!3FGZqNk4#~LBZM6e!!I$T z7)&-Zcw?pM_aEOy_UpdZ)}!FU;B%QKz%w?mmZi>paH&$%H52WG)VTEYWq00Z ztqM{V!XU3e{=<&zM0{fnFu?cTgj34gNEPRZv%P)TKhQ{m zu3iiY^Vct|i2z3!{V&*=&v?=TVJR>$5*==Xly!U$GZa!dGQbFUt~;PJ0D!8P8pne| z=H(+PtIUcODS3G_3yZk$h{lz>pEf5cu<_)w)zz}gFkKqC^6PwlHE?_A#2_PZ`Oe+j z+e=9-+mcLm#g;2r0`CDHVk60#9gXM*<@X>@VL4Gbjt>;a#XmeT*muH5jNt&?7RtjUoL(Im89*5MDx=Dn# zYH2WNHE3!{yiGNFSbu}Gu8qwcg_bC{Hk`d>;eXj z#m2nx{5cat&jMgE{zBeD4$ zw`UWZg&!TyeS=)z*(<7%!3e8WRhLm+aLPFUz#`nE-VR1K>FM%$aL#%Q zbq184Hu7Dc-VY7I83(9lyZN)z3;L5J0ivg$x4_a2PhL<^BT$kWw;?+=y&EqRReoot zD$I_wV~gYBj>2J@<$&ef*RL8=6;3T^7az@`S zytzNtw2HeVg@vc?x>rXYP-i{Lj0qxkU63{bT zG79_2P^2CZ;!gFy`t6?+MG2>j< zJvD3;SwExww}6IQ!KXHu1j4+6lX?9Z!{*ADJhGOz&As${WdLmw=)n&>Il=#z&r9v- zXl{1IYrL`lV%7T+M}()TSGD!^f_!|VsP%`${y9{#T)i@dZv`_OV46*?KHr9XVP=VD z_D8o$K#C$GD(W@NtT8?3bYE3qRDUm^r)a*O?#CU@MIPm_z5&9^c7->hAorStToKW3D zK#qNP7SElM-gA4te|A>d2T-M-hX>mo3i22)tc7eF>uVnl$F;K&X|ue68A#5NC4A?X z3G7l4me#=7@T~zuJlDFf9XFPW3_WH*1(=rmIq_8wO3x8mVHn6juz*Gro`Tj_jx(TK zD~8=7&k1Q@<4V{cpsHGfiV(hg7BhAyojP3i49I(5d1PjeN)s*Si3j?4n;)Vh-&WpNL5}Si>b{;r;bhU@V3-;8PZRemX8AA z#88*m4FMn--1Hr*OzB>mz*Pwg6JkFk@5LPA0s}?9HDLVscw@+vJcN@9U>E=;IHGO5 zC7=1L5vDXqL8zC&ZgA;!{q{QaTIWpRg8o(u5bZo=OeN##am*TFH6pL5 z2s24<*Z`O&B?;>E7>-Xkwxuw#v0+(c5LP&!mlFwNc>P3g0u?W=2;k*P+s5eDWZ@I+ z=lYuCICU=P1i@c`7FtH=FmbIOF`YY)xAG`hzU1okZ(zG{s^3mYnIh|Mi9-9s^K-p9 zLhtfU&EwjMlm~dJ@xY=M!LA?Q+vvXbt8!SQ9TlxZKE&6%2v6Vr>_$oL+&5!xj!jPX zK;3X^V=;?_em3?8 zAcg1lnp!4e7t1i%fM3~u%U3Dna_%Ea-YZAd)k7+724@pic#%tFpW;8s1^u}MKTMd{ ziw~AFg3kiGyT*ow;a366=;*qR5@?|*=j1{AfkLYqEPKMXP^c3tt?NQ?pWHrGW6ciC z^iv}&6dg>3??`d(b?q?kdUj>GT^7|9+d$6s(fN6V&t480XC)uIsi}-WEdFkVXbI5; zuj=qKh6bIz{8w17z69SMb1)B&1swRpe;|5uPVKN~!4=UAUnCYNRbN(wjf}XsI3J%i z{sCy(`i}D>5Olx3lSS84gsKpq+mQF%V8EqsLozaR{jtQ8%#gYpNcxNi7@jwP?Yq19 z1q8CSVps_GTaBqU!YCO2z-V<$Cvh9(HmEW00i>i1o20+J2;P7TZcZPN(Qx>dC%Bi* zdB@F|$#^$0SYINK%E+wXqbeku5w+aT_c{dc4=}@eBCLczKayBj-;w_B)!zv~Y9$Z> zH0YKUUg1A=>oZhUj(g;@AYATLaug$eDOWtml}bJxo7jp_k6BoKeQ4;;6T!&H4}o|* ze7HRC*gBiHi>UpGUq}2$Zdcm-g=<(!u@>~#4`BlWn+N)-l2uza$I+`}g^!DNJL=Q_ z{m1clY(%6T4{q8_wh@-PPfVV^$;yXITNSCa^E)T>ga9v)b?|MU6&=XcdKA*=Oaoi7f) z7X#3=2l6HV?;qZk_TL|qU+>yv+qU*pBDDYSADHb!e1>*;Z}|G++@yk#l%D<@s`Skt zzdR96;9yAX`^)hrQaU~7K~YTWP)Xo5sbUoIe}2%ea=&@33!XwniUP!piB* z4H0~vCnp|u5bHExY3uTz-{6cA0`(L=GHM4$QQLs$vPOIX3||(l@=*MN zFoc8AS7@cm`Cp$utY|CQHkxUqJqYXZ$5!FT{ddTO#ze(2;_sVrREhp@p=$5^6oY!8 z^RE@p--lsJw@^Ene+eoVfb&i#xS}(jbRf`@1I(42XL-{)SSvQ`Gx~=1-%mw>wo_?8+nzDi5)sR z&3M~?jHcQUH9x_qGK8F(SSk{P1dwBMP4u`7O*HdZu{ec_g53d{NG=~h;Fzh=r1NB#L@lr-0(JwKi-X99pBc#@a7q`%T(t z?SMV4e>bUwHW2IG597LMb>k(hagA2g#pRaWM#>Yj z47JH}-QxXytJ$3EUr~U!@nor_Q`qPfA9fgyoQc_)*K=0#dx(9t=lHhAE+J;w_d`=W ze7Z7`#f1Klp1nbZ?$#nb&Cuz%jSpGWJvye1sCB``HjzfMh zI&8pGyXW|sb0J-6pcz0Yab=0^{bwop_&e0UH{V`LF*RDEq&7R+(!nRX=pCL`! zXCyQ_ZiO(Z2@-___s@fj=Z~r^-#>58o2C8y$dkbYmOYo`zP1}3y4S@*u2kdLaK(^! zyJEr-4i=TG^_l~RZ)zG)`KG_q(-T(R*k`!6(Ok)=@5I>Q8nk8I2YMH?Zh4v9BCijA z&an^n2RzKo@Nuj}WroJ^qt0&zG2Lwj&3vKk=gT6c2khmd zVc~p0SATA7WbMZg&|dD(6XrihL#e~=To4oyiHhCjKF+&+yTRnR!&}Ku3=ih{=6-NL z@_}R?1SXZR%y-Qtj-9r;h6zk7Lt_Iu_0tilQ@pBIhQl~o9KCpC)qgpNMH-gt-EQ5w zfQlhZ7L^p(#VN-GgQ|V-y5dQxNdlt&kkipBB)lu4@{dzL|B9lUZ}-OiZBlun7Rq1l zGq9^r)u~0U?|CUizA^Q8lc!7H%ZYyGO^myEn{W|}zu;~_fhj62&CS;`m9zs4{Y~QJ zr~2RAPyc(Ff`tDa8nKD18zGN1GiyoILlW1p%hm1uv&N4f2`B=y%6qS_PdrbX3^O>Y zu4|XA=D_q7$LYqNcQx>9wrIL@W4hduvoXDu;uTmOVu&h1LwT z@Sst<&x4@`aE!MHTD|Q$`nE=eu(y15i0gIZg6#t^=J91pDk=fTmVMzZ$4|yu+uAM` zfQeXAT6!L3Et0!R%YCHLZ$qVbCC|P=b!u9pKwUi7t!-pfgLwpM7i>RGy@7TGPwXT5 zO#Mfd*qI8iZP-T`MHn6n9~z@$AJ-eW0HYyH-$C5E=`>#cX#LJ%lc)w#p9GrJisoV*lceE1^6oC^S}^Bn3`;PasW#fd_znW-9-G5lxs zgS(8#Uae*|>qVZe-T*S7GG0e6SKZjzf}L_9DCS*gMPeU zha@P{+@-@rKfy+us^Q?SUEvF2P-B!_m4qoq@`pyQ=59A|{t{O~=7fvYga+Ij;(3&v z=@_yb7KfglrB*Q5cfRyQ*Ji4C^&J)vFYPgPN2?*UUwIs`#t~`3H-!%gfmLLrX_*^0 zMSMo2)3TAz{T@e6vc7guT1p%fZr>h2kGP$YRQ;G2<&|E$l-BF)RGz^O9cl8`wOf9+ zgHLq@_IaqkrqsZxKrf-|hK?ln;lsP!FI$2NtogA46oTB5RWU!tx15&tKc#2|6fv@yMfdodfx1Qt0Gj zrRfdlj_a$$@Q|A{qaFdu2QVlTy2;gr&-I%YCV>}{E25)c?ApKoJPvk4YD7|7!_3aV zd4rpSmgOFwQN??s?-an7SCuq+So>Ov< zElCQ6Wz!M30vYf>i>$T1SbS1W+BGyTjyCrpehg}-iz|Jnh_a5@hXVU5oZj(MY(wBS z+`FZ)Tq4@7eL6{#;~Ef&)tTOFnasZdKghcD#}@6_w5gA1$JWM}o7nVdcxG65oPGLF zJePb(O|Fp9M-R8jOFMVolMJy1t*VETo?S8rAik6CO;Wzy*zkRBu!!Fl;W5X3c|Vhf z0^_qaf@LlfPd#4ieu#?2&3gFDi#aPh)9 zwy&<{6)olD_n9VZ>iqBlx9C0apzSm?IjkxHOG2uro}Nb0mJg`mSf)z4S87H^L5X7Y zrwvumVp5r3MI)yh4h0?8^$iNEIhoTl(}X zwOZAEI-9PXluC0~$__GhEorBd3Vz>X^}y5ljAm!o&+1N}bl^M0fb>xoEZ+bS5KFXi zxR3Du#Om!Q`yPg?`J%r)a=PQLY$1*waMOo+*@Ka-?s~j2$ETn}SxL`jT*_aV@))LoEJ{F!21E&)9^cXMg2}PsAJ=7 z?_L&tn{DLqAleXAV=m$MI4<~nSn_WAZRY1@^I>;=a)lzqB(GlxIA{BI1eK5(EGBS| z)m|I5k+USgR*TAm=?~7y6SF9xT%62zR&=`#^ro3j6zVy@2d3m{Ce(zV+BJykmMG%m zWJlmx^8c{+mQh)*Yt*PBC}j}RB`6`FARQ{*9ZE<`N=XPPf^;JS(n?ArARuBPC@~*TuCdk<-}ia$`-*wZYffxIwYTx<+20fy z%t}jBNvge=dSr|sBz4yYbrpm7pKoX_p`-N}zzt5F{I!L@{=zPmBIX)YZnBCndrY?q zf-H?@IJP~sm~Bt|;J6n+O)vif*!FO-HnWBSA`&A-4)4q{Nn!w-7@Hu_JrXFVez?D} zQp$To_(@CB+ZplGVv%$MYz8;LtQr#N!<`t4`}uabAfA=|%>JKe!1EXYpRnHE?m+0Wmo$TSj1IDO^XnIF&PU zjNDl9)$WBC{$LXJ8v+tK!^_*@+M#v(=q$SOBTp{|;c(reH(+fTNT3W7sX2OF7>Yk_ z@ALP9hxpQg;7e2g7!n9v<;_x#;=erF__6olh?dpJAT{cBVBQGDFSsC03;QBTg-if^ z69Z4)v2tlXZ_t6?p&+)5gGmjLUBUtl6=D5lsxPxAe8edT^@oWGgM}kzH=Ff)_cM7O z>JfkV?!uv%qvY}9;9%N_tS}e(02G}+)adq6W$)TYRdc5U#N@$fR0)%d=Fg~|P(z&w zF#zHFwWBz$Et*)^A5j_mf=o0!s8dm1GOOjFpuK4~Nt1~WhM4yi%Lxnbs+biLp3*w@ zYPC~810w+Rn=?ExN?E+&cHgGuaUPp!HvW)r{rO=S$n7sPMwwV0`3SWs?r4%8QN$CD zU*lK52^w4mZUA1%J@=REeHUkWYg~AXLGvUiC?fRggz5fkXq6Iqn?SA39E9=usg&dI zkdk4OlzTiTV}(-PeCxQwLwgln-c-a~79r~w;99IR_u;G$#v0H{RzlBnHgT^P-_)E{ zuaxK$R}Ax~!c7-3;|#c`aT|C7bcr7a?*#Q^3Q{|s6IG6K4~-4G4TBn<(NrPY&!`J0o&x5U@w$4B=VP4=-Ak7xO=J&CX?4XbP^%XWj#1cwkQqILFpxMi zsEw5plb5;_(&Vx9g6beq0B&~X#5myR=%s4?_}Sh&ni~AW_LL_xwPbEwFK7~f(js6| zW39j2iP7mFP@VAB)DF$)sK*W9di?(FPn(@seV)z#xDT_9yn*PP0L4+B1L5y5mPoM7 z7`CXjRhE;(H{W+?Wrc`E*54CcoFa)qJV*~0-laWJD#8NF-r8TOPiI-xJ?X_QqPT0* zCNGcMy1PVTVXR4n)lax@kvd{VT0$aySUCask8*m{gq-x+veqkI7ke|a(IWMf=(>c2 z9w5hv>e|`GpKh?Tn!J17lr7%V1rQgVx>c1~113kegltRVL>#$urKFLA6-@xr_m>&+ zbV~(`&e>*GJZ(mJMXzyj4#DipJf=(e%I~gZldZd1qe=2j+S!IX&1F_N8Es=mqW+lr zbb(Q~RGn0F?-;oV=sGr&G`~v$`v9f(KtYowf|1jNRumXG;85s)Mnb2`h4GdLE*_$L zZ|0^TdGPjD0O~o@I)^I!4Ya-!U z4e?uphpAn#3V}KY=JEhK&$IUiy zFeC*`0RlJ&b#W1A(wUC{k1oG`{ThYeE_)t}YIi69xkxk_^)hHlQ|WV0A7 zIDPGOEXOW(n6uP?n+8t|D>b!3LO?6!aL-D*Dc+|8Ze_2s#G3b!cNf1<$6pzsM7-tz@c+1l2m7Kk_C zQJHGz^ypkyN_L$y$yj$KOp{nh5-HpS2F@u@4ZKaTzKf;{>@T?gP%mPxTnFwm1rkNYmX{09 zz7*2f=sXnpHeYJJkA&OHVf`ye28fV}j3TqBTTaa8j9dt5i;a$tSDHcPa~R9CtHtru zSJpcvRmgcCE6uFVLB81q2Lq*}*Y`20ipLZ3+wMZM%oSMA__;jMjIuGc&9*nQr%}I1 zc=y@cQ6pV(H^uhQv4J&iW3{lq zg@t3Zd7_YK3w)m$Oq*o&hS81nG%HEsnf{}=3Hjt`BtdeYAoo%mXd{t#nd3FpBg6xjUi`e#0L3BWqHL8%rK)1T zatoFTc0CwL>D|Wj#s1X%)m#H8w6LFj?%2ncb%06OaCg~l605M}jQ0$>p&~Ok-v#_C zcwnSRJcD|*{@J`r*xvo)SdDvC)Gx;E5Dl%OOCBD5lcndY+0@xsS+$po8P1qVQ_hIU zs~mF51>g8BE(4NnH*)~}iOX-xjR8lMHE9qgb22hdtlx*ROpb$%esvCc)2cg13N*{N zqu;N3o;@f+bSw%dCnDfPTh7Q>Zg02T%GZm}L5M^c)SkW6n-lD(`QZJ9jl`kC@yz=* z8Qu;BF8B4o05AE1b+NfU39}h}Je@saN=4TJksmiMR}%c3vXEWr((77a^ZmKJhZm9_ zK;n)0foaqQd;>X~xLhcwIg1WHi#xW8HN*^Q-{Vz>a<$A~t<|70=qH_dXc;f{e+KEr;O;m)kNZj#$+Hw@djb?<8Z0d~A|d;s^rMxLGa(4iVg zzM|GRz%tO@Sm)Axz3=TnobB;l*K;yO&?K&-u*G=DAnuc^Klt)WR3%e23KX}!EbTTl zU$sCq_EFHkKl3**jcD4XIuxJm@LUCl0h2 z?Q^@;kuq5%eV_-r*{CGzyU|@0Hv^1%G}}!_m4bE#>J;SH#F1hkTmeE)_FbafNdETA ze292A4s~Ms;5Pm=GfRzV=*xiN`UgtJ)R$?oBB5HPm#dV1<~Kf_6N{F5O%$iudeZd4 zMN~|{5NBnS+G>jWnJ{(M`>p37ZH1)tAnOdLRc4QbfRQ?218U_P{+6(qShi~{R z$rm-rT>m4g@DCU#49A~rL5NrI>YT=1vV#W+UI)^K=y^vkLX5*T#@2+TW(e+Y1fVAF ztfRQ)7bw|aaaoDEE8(z`Ir6CbS|}HXW#sP~6R^5e;u%_~7T;I1_vZYxoxT5#YnVHO zSJ8B~o8)ZIV&b=@rBBH1L={rrEx$7=PNFh?j%ES95iPvfH|&+~t9xW=q^S%n?^|zf zJhn-&^V7I}{LAviOM6w{(Ybl|DGB_*Aivb_*c}lrrbqOYor-?$%^t z(dgcJ)bZ!8=|qqGx%t2!a-T+x2siebB3!M+?7HqcGX$z`Zf-6t*Abxzj<}cZiqLoK z62-L;auEg=W`j~9%RRllDpwYlmUy(Y!jI%gcwjsEHTv<*BupC%KNKHHmZEKzYLPqI zle78rz191ikq3qOgs2ag7gmf>a@S85-4oCay=lz#Tk@jPt_g%fvvakx-Sccd$=sP!)bXL3`^2+r z>5HE*bp~fh%Ls8?8WeB^G75Eb*6jSI0Og?}A zt~2exMD9%_)nR*^gwy%No5-lhTRc6M!eBlkx*?>qkZhM`H>Mpp4(D1yP6l?I&HN(RoS_2Ty2vE$KBByVc~yZQ|6$BYeK3i`N#qA$0> z(L@hNAaJW}8o}BIou2H=C*)Tq91^M6*uH=M zEO+EH$J*vOnOlFQJd^?;Q8J}+KkX{w&*$h3lvkpTK~8V^f97OLaK6W+90TP?Ed_p| z+-pzw8s|!Quzmdjng$v^M+&1tsiT^ke7x^`XHi2 zCKG&1?AK4?HwNAgUbwX%1DW>4-IE^xXVA72ra!Cq(k%ybq|R#K=Lvku$xNd;Tu}J> z*Z~HiJcM(_NJ`;s5s%UO7zMeN&J_h;!|14oZ?iSL7&eHIm(|e-CeO{Rfaz5F(&J(Jpf+6jivz2a?Fu}u z1q5(ZHgZoa3ZAr+igY6cm5^e^djrcDM|$g@0Wepd%XLVnHWRnhYx4R69$^QVBiPdw z7JxW4jz`7iX<7~Mk}lBcel1T-{Ksu)JkY~r<)!nWR5Z>j0Hk~=m+_}k$}k>1Dk1Tn zeECX|ly}7Kw!xmvp6|p(5;md|Ggs&7%~@1sDIY+d@;z#X$-zyoKOT3C8-~4Sx5A8n zT-@V5b;4}`z&=jwyK1XtR8vb!+WIvQE&RxBZb{XR&=Rpn>r0sLv+Hu6i+P9ufNEXT z@dWSay$lg%$6jU#S&{PHCFW6V?&QhPzH46ZGyvooKM>Gs{O3Y8haHu&#@`KM2zZ-q z@6hb-r8@YpJ>~OsHB24fWMOs99wcvGt;g$$_Ssag#JRZk2!m82awimv)YjG3t%%?W<@i95vzAN9SUng8+lt-c!#gaP;eW z%K#F^wmvlZ9IXCin6v_*#|d~z-gu+VsB~2m+(CaM1v88{VV08Ij^!Yfu+e+>cRZB! zmseBkz_-w{y|iY^wj@5N{e+%|MsZmPxT_Dd?ltg_Vy=`8eY{{D!EumPnzk7TQ5C8s zNb&=^=f(I#5A^yW+VxPlDPmLW*0}Vwr?hEY1cLeTufS37=f1}DH5gP1s4FYnnz=o! zVMJnFZB$0>GSqPCJZCinok%YNe7492m8XCo;Cn!(ku_-jY|Q#sLRDWc*0e++3Kg8i z0KjeR(JFc;A|fJ8{wr%*U3xFrL{$5DJFF)N*7h_rf2#IXL{CmZC%~~Y5PWXGG1Tph zy=M(T)3{1YdW!QU)x~E323w%)3s{8KP&RPjbWRm{97te#5s7Sti54SG-i|QpwK%vp zQc^efjD`1XXo1C7DUl=hG6w%rGKrQVgqQw+W%ULM-KTJOgBi^nFy<>PX96WH&ITmb z4nJ#Z<1*6so?R26yeVl_VLc%MJ`vLNn+rg}(S{M!D8$S+K4(9Xz3AXD_(R{P#$}iT zr5cd(A%VOCyyDXx4zH_FKRji89Ac%7QY*8jMhJb<;fsrm;~YTi5x5AR38K!)z?;ui z;n9d*cktM^cp2|_>)*eIZ#rf2!qFo8S*vy*L4kPQc~#9$`V5>gC~sF+F9U7>r%yf` zQvI@^>JPF7H2Ho@>)ovP-{W+};I!xG7pS%(53p*KL@tBeXzZy`bu=1LfiCkY5Fk21 zv;J=brbFKaAy5G@;Rh`y3=q)e+Hv0NybGzUaOkHdxdGhZzhJdC>j@Mp2;2|^xnd63 zoYG6rMV$x21_{Qb=fANib`3i+{&AR^+M0ArrrY+$w<5lh?VkHt{dDaOfD7kfPXXn* z?x&I`P9!RaI2SbsL7*C`8gqQ1C1t;(HIcU>X1fm;4&KWapzqR9Y`bP%l`2@l# zI(>-M>8wEt$fQK7@pFz;aI02VOu5~80LlaxjL)A@t?!ja7uqH1*gN6P(45dabZB64 z#o6Z$m@>aT&93!iQs55Eb^D(cm6DZ()ig=48uySdVXzZO8&oVGwl~lW(N=gaqZ5+? z%M0^a97om~Z~`WTf6tz|;ly<{PTipg8;f>4KKm6$?Bd#!KNpqh9im> zEb2G#j6}L}l587Z%r@)KU11<=J)Jc|((oen{F@WSpUD4m^PGVUg!=}+lFGAo`L=~X69^6@o;1u9UaX}dd)q1U3(9!-bx}6{k#^1<`9cmL>#)2 zQNW0Fp6wo$D2(@Zpw5W@qUagv?~#~lO8+AxON8EH`5wq{o9d9HKoO)Yj<*ZeB3dY1 zt`>eEp7B{~N969Hi&3n{QVrWx39Tcdj@ztD#N|-KyaJS-&#)N!QU>vmGa)Rb{rIDy zA1h4qcHgqbDZ9bQgY4r-%6Kw`_2~TDj}AHIp1$^OY)5VKxJCHo5+#Bss8Qh7o=z>d zRuPc7E?4CRPM{PdW{G)`t^dyX4_J6=4kB(UFBb0LKaD$ zegw0n_?Uv93^G>)m>|SA01z61gAL{};O^a$^y_$uMZPIWWp~WKZEoIray8sSk9G{+#tMHR*~)o z1iUX3un8Pm7fg%+AZoRv1)s@AU>YbXBxD1e}-^qhVB2RcGZxgCQ<1l zhQYYcqwz+vt<;x#x1K1m`6`oP+lYIH3X3c>G+{J)-si7GFTp*9_nX=j=Fz22gx>G= zHIV!XJhWb!W$eaL2i$pJoJNW%oxxRc_c68WuNktvZl?F=G+prBLwbsC3S^`V{+Uti zegjkkcwP<&?n>y{f}>wYHAW|H;a6r>+o~1lnGc)r1A=9HZHlP_> z050e*3jL~XS8&Hw@RH_ABQkV>d?A<0%fmJlk?9Af{^t)_tn2HT1gqSGV0r}h+6Z7q z3`DTW%qeg)<2^!#jMhe0+|VtmSK%y(1?DLKf{3!s)Td{sr^Bw=={Su=QZhcc^!@}% zjby5AuhxK4CkQd8-Nz)&mI)FI!3r<1WyyZpG3aYq3DhO-A%v}4etSx*<2_5he&maU zqsm*{BF~c`*c?q+xB*C{_g2H`WC_V!_oK^cib_hvf^*0`yp{8V;M$p^S_EWV3l3jK zCa#a!I*BO|C$5gCr%-n6@%j8B1d=1t{aeqNN~>_04=)+?Wl|J3Hoa$vy7_y$dm*_$ z0a3!vgJ2?URBNINpTXc}~-cbAsWmot-giQ+Iy9y%}I#|Ddj}GvH_hWi{|NTr_pBtDea@^t{Pw zU$;H05T+PKosu9bq8j3Ol*3-v%T}|Ks}H7zA>Z=$lQWLdQ_Knq1niQ3#nmV?xCg+p`|j!N z!LnU+L({kM-Zf~v>wXQO1`-eay#lt#_H52(b?`s_Pe0IKN#!~8x<+tOAZ)7?2m%F6 zq+;yr>1oU4(g1w{y@qlej=kfTC*@|I6O?qMWU#Gt*I`>?-~sN(#C-@j)GG5cR8DWW$psOX-6&bu*uYwWMi6` z9PzqOgQf?)xD`qDcAEcLM!9+~BS|H9+) zfk(C?j_pnu*hg^;`K>d(&0D*XG5y3zF zlaElf_tP0Th)lc?!rDCAZ{pMWx3QFrJrg4J`)X;d;e?xul?xV`E3SC;&LiCtrmnv9>mN!qPs+8uGN|ST*snnOFb! z=Vw`lWD-Vu@KHd-BtTDpKA?@npmr0AO;}{Uclj?O&EaQLdS9=LbX-Yp#+2Tn7oKxF z^VgA1GgiAr`c|f}c~ECr?-4oM{l%?D@Qfq3U8i|BrRx5X)%Eq4_q=HvxVxj`R~`I7qwTw_GV?-R}J645uf{_+|Gy(b%n<$NFRdZyGm zW&mq`l<#ty7QJT+D5CmWR19bcRmh{uc4@kvobuy9ESC zcd&hG#rf19|FUX&c(h3Lv>Gf%P#|xo4c;t_PE6F%)HHlZKOs-0zUU4%kB;wTYXlNU zVHOq^rgxv1xeQ}*Vq*S}U<*UYY>Ib&J6fdb0&X{Y<&#UjAEwv6NOcW(!=rKjkm3qE1#a|W)*gNrtg)!g;W3Mem`dd zWUY*#o|CC15_)%DCytKH6&ViGt-+<)S#fL?A!H4a4*eNu7`V}m%Z2c>IX3~!e{Y-@ zrmhN`Cu14iyd(JTd7?}K>RP~>joJ?~FyObN*l7ZUgO{tFArzuF{S28PmTaQYgPp`^ zfWNqme<5cRfR{o6_6Ml~ik_gDSNjJDr002=^70=4saIrMo4^4uB)@>T{*L0=AZ|~k zUK~PY$C_h{R9%dCd*sF9A}sUi={igC5j)5^_6(f3i2+4(&ZkuPB6%G7Z1fftYTgQv z2~9OMxrWNRJ;#3np?w+vjWj&xi~H)d>%1|II4~4p1sRNdW>#U_SLmhWrWY`7B|zjH z8bVnf;=c8*J&A9ed%IU{L;8PWl6DnLY}yF?TI&h51aO>{>y*7`WBsTY_G0^bbU%dG z-Vq!xeOr9neq3jm#!3TLXSF+d4YaZNd2QX)weFw5tfr2iFtJdhv)Y!Xo0>E)1 zUID@(&)H#q;c~uIHeXgf&&=8CqWv>%fOR2W+l-Ei`pM$HDU5c82^+qcz!Gq9)W<&L z5322#%V2z4>PN$^#c=9k2Vq>`u}&hvsPjv{9G~J&P(G%S4$o^bZUO?i&TsF#a4Pcy zC!d)J8a_6Yd5t7-sVv}Lz&xmm;Upva%pkXlMfv5RmFK{tJiwE)RDJS+Ymwg6Ck)q&A@ z1}OGj@=ISFPtBcNU&|1gV^%h}Q~nq`NZ7r}(+}K6ny-47nSQm`)m>$JZVqUW5aOd( z#>E5wbZbrky=i%7RBlA3o(WhL!mInAH#ux#%o#yDuA%fKXSTcjBl=(iDj{(}vwDs- zAg2W^U8Qja8l|WPnWnd%lnkhHWn)j1!LFdH!PI6ufzAUT4I@Z>Fi|e|;{S$nntprP zJby)CtbgMJw;WV;H@q*p?7gj(H(c~B-P-1c|<~Ay7d9xQl#liu@FPAR}9sKYf z<0MFgX8ryaI6Jtor`;LySQo|qS)kbJ{7@jnM1|jydJ$9)@REv`#Y=Qo-ay*vPKA|9 zO|>Z2sH%$%Kg$6)1kk1LN7bNaO`sBW7Iu9bZTN-~Sm+39Br*EUf==)(!7G`;Rqgx= z9GtK@9Y-hFidJZX_Jx63Y|~R((-&*Xs;W`Yf5)T=xEp?^&qbCvJZJQYA=K(T9o0}D z5Ow2!e&@sjE|umZFds33#?*fOJ`Nacy<_T6)@usxOYEC`38fQ&^n^<9X@ED}U7!{A zt^Qk<$a&9PgAIW47H(2kc%|4w*DgRO3vnU2Xy-z&w}baNkaK!9D^M3H2)h!p@1D`ODej}ihsg-GehcE543?%q><0=Cq}cwB*<@8k z@ay*Q-ziH7k0uuaBR0KEM=S%+t31XksQ~6780sR>Eg2D48X<j;YaP2oHh}09q=5Gn zP9feFA~4^Fy~!WINd_Wv3FrvoAih&vGWM0ek*7Y8ajTOOUvQgsWw?n4`*UGv-_N|{ z8wnlFP683MX!_&iK8IuBRwxxV$SV)YElQ=FmC)ru%!tyd_{(NXWTaCYA@Ev%&~vH8O9reJecxlk*~D>?~ z`>f>CYq2s4644Gw4`ZOYj?ffZuiW|t@O6#0 zNo~a*kq;V2B%WbaRMwSh`OYQ&^<{*snsZNU6hRUDvzZdexPAySXzWgiPQKza1mt6BXivE5$rq{&V6&#IPEw~0tPHhlq`OH(*o7o5qED}k4n6JFej4IDL@C6jaaUqsb)D@S>;l7ywZ8-Qi*c*e7o~Dp;_!)0xA8c zl#vVeFS`Kb-A+mI1}|OAkM5-R4?jFxs1r#&BTT$kcEN#ew5(F8En-I2?>o!Ju9u#? zH#>-|_iBaXzteL5_MvwA#_l~pC!N&OY)PX?Y^os-KGiq%qo z8T~c64_!ZSoT8IpK83)$@}EWiyY3vT$(b2Zkng(PK=yOm<2>b4{rHr^NeBkhv9f+b znT=Bq8J!{4OWW2|LcUl>M%SU8CF=aHl5sy#X#79^i=^t)07+oeww{HMi4C{>4HkO7 zhsxxon>s6m5&R3>%%%SPmpr+F3U`MJ4@=Wc4WQq3rKH>pMCwG{M++yUaU_VBN%W(& zX|JQV@Pi1vXUO`32DiG7mxv+NyG><)cZa#D=rTptHM|ZVgSZYsGzBtWx$4REr|JCG zIDVh=zw1rXor%U7-l@POZ~Xyx8Dx^TE`2Jz)7N)h=Eh{LRBz^G-fI-|$8!lA$wU4p zEcE1ej~6jD9pIoriY@19-l^A0d8khczC~t=1a|6ADw*R z2yx#RIpTx$A0j;KEkT<;U9&{e&At@L3bcg@FstQKWq+N*`>@qS#ZHS~zN;Ug{nN{s zpor-YUDIq!d)Ng%BUDZhquTxDV7^=u#Z^i#W=Aj33Gt#Hy1aeU+ncBm)A21^KF<1k zBLnU#3yUoBJj8m(9$`S8v`%dL-uQNOfw#jO_U+99ZwC=mg=cUDq}l`|c9TIkRJkRE z_TAQbXj#~D{oC4Vp9zU-5rwKxrh@eyijd*cfxm?WwICwDz1bH`odoDJ?Q-u}t(|JP zn)j>%U)EX2yJxOH&J@A-qxZ%zeC|lHKmuGNFkR5sB3K0$O}|k8%TJQ`t>`JIs%VLi z);Y-?0Z~VHOox&5V$V9N9OKO+C1Ll%fM(IE#q!k7S2Do+Z+JtSaYYMwGE5JmkV8Nc z^>(B8q_;!e!~uCO zpC5~)5$dC%%TvO+irMNK)h4x}9fkUpM4v>=WJL?t=DPnE6nIHbFUf&6ZH-bu*PF*r z$pb_M^c|z1Z`=)eykox`m^E->s*o45rQ2C%sl2_fVkLou?Cq2L(#rEWE6J4W>Z~kX zH*=reO*9@c=`Y0Bnf9*>em^Ejj$Vu5A@*65xZTm(81XN4UXVU?=*{V%&Kzm?c*7RW z7yj{W_p&|x{4j|O2@6w1!ilN!(A9YFXWd<+iy1)C&-sbwoeW_+Y+lWG#OpDX9m$2& zx6_`#KNdtVm%*#|_F&~xX9U&tL}t8_Uq_e@qw#rea}9Mg8GM0Y06HUZf<1u1(lMjZ zc$RAu06Bm#tY+p)N=aRoEX_{-{=l5pHd=2e4)V(V=_4OL0EpeA`v_2(S<}Q~gYpqi zpN><#O~0Xt5jA(9P!3qt-byg7n;y~cJS?<#C z{`u`+Ihi+)KRW+ZjDqAG8(zF* zl0jbRq@kVBa?HyFPKsi6)Fi?arb$r}?ql#nxL0-mTosc$Vg3n+Z|=iYD-;}EDj&vj z;@-Z|z|?{%GR-Wq-qxLdmhDF+mWwd5LE&zn{yL?%`lm~hd=svY*^Tp?s#}KFhX1yXbdIajA zXTOH0K+#cq;+q;tFy(Tl!vRqEmX3I-q$wdlbS0EJCL?Ju{QbLkX~e}bayi;za_-s7 zuNIg*xlliTM0|2}t?bq3o92C)vlT`rb!Cy^aV@H31gU{M)H|uqmn*8DpPFms>u5`L z@*dr_puvjOmtCx)Jzc2G2|^ryY!wp70>YhE%#9*yQpP1=Ir=`#Vuq3SZo>-?;V2dm z*5Ab=Htw-&@JoKP<8qt!m=Xdp#+^23UI;_5{uQ?HxC~kmU+wpu=Dg{Wnc$$J!hHnH zh?FWSnWWXDr@`!96J2*eHU@SYnwoWujXb}AVu3ZZjKR%r8UhnD<-@`KiJRPz$Bj#i zQVw~zvVoIKC~3Mggi#{q=BVbU(VUNAnY>c^^xZ?8$afi*%%%@(Ymb~mPXKnl*wT^q z=>aRxY^Pi(10r3BqSxpZJs)b_UKD5aLB)ZQfBg1@5ejoO=L%I!kkxEZkJ=a+K$rpTXhWRlGwXzcfch2$HV(VX8GwlXrr0R z30-d)V~%~z>%4f;6EG?P?-TsYSSpFWqrTHW682rk&lspTL$feaVahomZt&w2#y_Sj zI}9SCyO)RaQ+FUjzY)19@{_|yQ3%{VOg}oR(yU|*t zmqG0d(3gx;KB#tzYr$Vgx&<)ObdGP&6XoNxD5~dg5rjg9qOL;0w!h5zw?oU3$R-h5 zR^hUb__sLhgF9FP`}_;qD4Oo*(h?lI{Tjd`D7w0Kwc=Utdjk@x%aFt)pK|>!ujOuM zltfDzGjc-Ckv5e#q31@&k5;f1{ITUqSTdo!g7;c;r8pqqmF(+9L13Yjd|4=|?%*wB zcrPUQV?cC(g({F>K!@-pWde%Fu<5t4fWdBl-e?B+$ay^Y1%fLV!=TufKr%Q_j;z(4A3N>nVtV%Y&DX&#PbJF2ke^Ma_9(#m!w{x;gkV1(wl2k&>a9 z=+Xdz&kE$S(!a!+xs`t$cF5lD&yC-ja=k^wl77EX;1*-MP+l&Ad#2=NPMe~j)m=PV zG2m_YugV^nlm97yT;GgSz((L;h3oyNuoU3f+nsY#e#GER`hlm6zBwlfkzuzt93J!Fus%}&XhFULCK=4JIKXeuT$iR6D zD;+9>&@)!@Yu7bX@Uav=d96+9CD~sr9bmqi=yYfU7>q`NAj2fcXLmP1r<9SkX(d)5 zknO;l@M7qSav$Otvhtsif1j3|%z2v6xBeEDNFG-Lwm>7!(Of|ZaMT{^Gn12(vg-cE zjG8V&q?Mb`Pr}Nzt1IpS;-{hj`(t?{%y<3K<*O>a^_h~Ca}`$}>g;p|2ur~G$jJ+s zZ4VdSyJy2R5C{^c#x9q>3Ht~cFb!>NL%I9!20}Fz%UJBFn(*d?-kKcn`72SKdrDa1 zm*Ngq%F6PQ-cX-%l^4&d zvIts|p%r;q(je~`?FMoQibF!E9vqgq#;`m$a8HwdbO#W!+1tB9vrjK8+_`=GFch;H z7zk}IG4V|TJCl3@{9Ls~)iJKlZXF1anNlHNT_TW(&s+z^HvTEQtbfw|T=A3%XwrQi zgvpm?Viz*3;~l>&A)MyN^Gk>x9W#V*HNgFAFD1i`$U;Gt+PGkQC4I@%qE!qg(0#38 z6LZ={NaUPw*MIe?Y|?br<;#yc(lUbrpE@*H&Kdh%4D!PvCnj9EnE2 zh4A`y_-3qc4VKcdKS6$`J5ZLGk*%#^ucOrB<#6uwc+8Yex%E~3F7Ve3MujY(e>W?B zXZGE$bAP{hG1ANM-yy~B_5(Jk0o51`t!JzXMQ>q(=X^ir>4>Fqm1>N^=ot5|-AZg& zQqfgIa==PQBlhXQEJ)7TBcJ(FsIXwvIPb!1AL31nV;+ftD0{UYgGa+*+I0iD`1j-l*+plymI@El{U$k$gjbf5#IxWo7|rv@2Pc_R5cgse3B)oX5w9 z32foHv)fcGq*+vMW(H}q(p+5AP&-0q!>+GVhTeL{Ucu9+?@)K@CmrOo*uc0iZhQl6 zAps#nS_kw~7Vp4L4ahu|@$YK(NOrSo%X_O}?fqX85X9knEKJeDOVA%Dzgb(~+sU(I zzrCzP7(gFo!bxun@9*e8UNBgnKv1zxOneUEB@g#4gzdZ*Lu-PG&gsV^l8ds+mr#117*O zFRukm$6H0|&gyy5I%Vlys~GJI*;z!E`fWwfLC^!vJ&>R6dI1GL5(uU$s2XG9^Tcmv z7;{du+`<3=0Bp8{H}Ju5AHXbX|8PLzr^35C)ojSitjczMLY19V%uL=PtE-HZc3^gQ zIWsn5O355dxAt1zQjGL91*tcoq-pu-;aKq|Z3cB&&Kv1mjp}MeFNnux#9vS0`1pJ| z_(^bVu`iysaPx-@!ae+fS;bsvEqDTYOY}MQw=w9ngl55$l8UoIbId z>MfMkWS$3Te*q8Co0phrvBM$4>1>%4+N0~HW^h0A=0gI6UL@2l8Wv4<$~NL}vMKT4 zZA%924`}s|*8)ESZ@53*W|to2Sfv#Gtr-b!ZTW{rOewV;B*uedMYkWQ<-aN-Atuh_ z*?h8}w^p!}8NFEkxhcEmKVSLH4t|r}DS4WIQZC6^REQbU(H&~&wiEVvX=kgr+fno| zo_w?PfPp%e;~B%MEPSjlt5i%+Pv5!}Ncy;ia152#L%EYOeOlCB0d`sK_Ln`*RZx5V z?-lRWEXHNoKg@Dmi`GxRvaPh2HW8XH zU5|&3QaD+u9;>WoP{d zerB)t-MV_oU8={J5>=~8ZHyqFYQ1)8Pmgx@#s!DT^sC?H*HSuOixHA=34f=VbT5iJne9$ zAa}0zHb1w0e96c{^u_1ds_tyEcD-A-&ZYZt(>T)XC|oT#WSX?aza78(TzJ=$b4-rO zR{X&oFO@7OOm4FlG84aZYKW=Ioa23H-)A|bm(4L}x23XL*ZBE)3(48z!G+ewFI0cT zv|pn=o12g_X(14xzIKGYvIn0vS>-Oi8!b?PDiHPr;e@IzVWX%&R2 zg5xWL^mcu@qI@NogsVCu)i1~1mfzC2i08|IDSdMtO>^}ctxr5P`w^wpw}p8()K0%* z=WdJ>ze`RqEcySfRL_6E+y6VScIsgF4vEK*mpi$=`$cabFMAs|!ryt=x{#j|<`Ci_ z{Ee(E`AMSyPkWA&Cc3sR_Lu~pH1xIg`OiO5ce8P{CqH@K`J#^#hp?3JDe{wQ_Rfw@ zJ{*$blH?~9oPE6Y?7b8{+&n$p?cMQD$xkYJxO#XQdfM3G2P)ZLakjHp^|A>dKdEK! z?uZ{Ea!OPf>dE+v{G^JrtB<`G$4M1e8y|ZmdpnPd_T*Sj`k$ZEe{`wk$nIUcb`f#x zEe>WAa5^ak?MRV>KQ(t-t!EeVsn|?jWWxwDV7y9ed+@j;z zzLB}p%M&{%4v`WQg~)OIf9DtLwW+!HNs{oZ}7!2y$Qt!!#5N zX|+KG#l%D{N>sGuFxI2L0r0&E#n#oSi2hW3(qlrG z;fV$AhBoXlL9l}x2dF1-7y?}d+6pc%$5}{B?-doL!i!E!EM}R8lvsLCffIZo?%)3o zQ9q0*VAKP3YuNCC{sFhBWz5A)%*@`*VdVVG_j&WQw!g|Kcp)x57TgL z%({V9Iyp&2OIwc(?&fFhvsNpZvresnEGl#z1B4_K_?>2~O-EG0pmAMqep~9)UHE$sF z2?~5d7`(0PKr;~$iAzXO=H?^$d5PuTyJ9%lVeBn*onRmWR~}_>C!7hZP>LFU!uF*4A>Z{D(+Y z!tk@;>WFP|H>hVyNc`$KG43EJ^mHidba*jV&B2g}$WqYgJpNdYqP&;sNQsx@;3;z^XzNja{t>XW@XSbl zCZ4#v;c^^L5STIq{j56PpWRwfw6I_e)*Qwu^FK+se}6+`<1+N+p@5%p%03o`mCex2 zf8sy7E9fKUL7Z=3Ac8*`+w3613@+fDjZT9tauwbRm@nBBLE!*2Ron>9Akj;Dg_FFz zm<~RNVR%HbXCk=g8rs^%cb|XdmMjYy==(}3uj}ILp2j5eDJrj{7!XK5Tpbdw< zp1Y?%0(?GcRC4pIpdvy`(0B($f)hs!GkPQ%B%b8s>-_YIH4z`-xS*i&z$ff#IXS6a z@h2xvVLZFD1&+NRB8#!{ZP3Lq;SrkgdN`cVIXBee=c>qM|;K{wRF}Y5-XdQ74y*r%%_)^b8~Vo z7#a=@4i=F-bhsa%^vjDdqToHsJ5KN&gbSO3P@Nl#aJM{^i$Y$pqxx1&; z_2bV8L#V=s4Gj$i+1t$26fsDYlT$&$LUu{!I^;Xw1YwPoj*bp?nd&9F92rM1>494c zRsrJFZ;ZEbzu>=pH#M~=8^@mKXeA7+;4%n}X-w!qV8iuD)5(>ye)W4(?D3N)kP5Oi zGP>yO9HVg=Vl_Bb*XeaNi>F#~(4d_OJsQ2M7ascjAtstWrw4OS(DJ7dpb-9%HQ>;R zo8mjsHss|-?i|%+7!_PlRy4$Oh(Q?Un=rC|Uu7P3h4UL0rl9D-v3ur?!|6x^!$W1+ z+1Z#VVqgt77aW>nJV!~1{}UQY&*u`h-o?axu|(jMjCY3zarvr=KV{38BkNF=hxVQ5 zo#)`UAoM6oUndH={244>B#De-Y_!1|z9K3DAzm`%Z{C^D0gSXzGc1M@1m^98?_g&Z z=Hlu~P&y6_+yZqNF0hE;FhgI_yE;ht78<^PU_pu71Q$x28pwSOkB%NM@gpaWB-QFi zwt$}GhvDIRXb#QnqdQ1KWN2(;RI2QC+AqK(>p6r=3FbP{a!6+|vjO+{!Glvy<&BN! zEk`&GF^n;#O4ocxyo6^0gfngw2VTF9_0{&3jtMe-Lr~jYJb1Ej-j{G!$7UgjAAzK) zxO-%DeB9E?ieN3)XO)zi8Xn5jtSIJNSY`Rk7#WngFXpY*)}dfo#P3y%IB`%>^> zL?tA!7=yD`CP6_E1;joh`^J>c_3@+{d~erEs2ilD7-Fr@3T8;1rt?H0XZTC=^YgKq zi>=qGFzlGK6;Azv80TQZssY7uAk=Q zB+|DTV`;0p4$BpLdwY=25D~{@#y7Atg)$_qij*ki`9dkE$1n$gy%9v~C1YK+Vd-4y zXnE#F9u}3YjEusaUVTJ`1)<>jhYwrz3kZMKOM+(xICoIy04pb-7yGS|_0f<66A%zR z!`H@o9o#0Uyvm6Hp+;Df}+I5jx>&E*U+mwy6gg|DxeWnXu9 z{1(XJcsjxd#M&&jepUxtKxn)OWU8-|lOYud%mU;th^}e*#6)3-j0mfZpc)VslmDaq z0a7u-Ft+NQqIGGS%kp4@bgs&bM7~9b6qZLyq~s*Wh>sm&csFWV`cO^PG>n>*Qd0wFBf8-BSCy5?%Y*-lSAA;~zZNxx z+}FN5;+JNvd6Z^(-pxn8_&hys%iHG(7oesv$nI#}0)Tsy?# z#0A9eJ@&`RL8JwTkzg_xhaGr$fZk?SQX-QlBi^fFNLr4%5anQDUh#iOC?&(g1fEUw zoF{zFtXHi^VYvn!NjTVP(Ccyt`IORxK>`Fj9*NNp9zIlw#hU=7>>bB=(=Pej>FM5I zoOnoKXH1}eAVQWZNyRI32r*%=EU&hfD&5h>CjaiGuD-ta!D9CUI8O=)P`dp5`4fKd zi}UkIcV>t}ZcTzh2yR7_=Ooe7)TE>v3lyZJ;FEFw`?)?t*U+=87D7Q`XMb*NU_Ge< ztQ)$EJWX=em6r_5htjjN~s7R>9-0Y3((b|@rlr$7@d4wk0_*es_M>j zD8x{vZkO`CZBvwoHJ;03f7P38&v2oGgU>c{O!FRMXw3Th{kuxi3(fMOsD-$jH{a(v z{&_@6`0oX;@7Jck8JBL4H!z;^t!<_G&pB8Gf|_ixWbG5l?S-UG^Ghe$t%AO@gN0aY0hq*Vtc0P2pwXGjsN*XrWG zPOb9vyQ26)U7)V6uJ;ZFgMYYa@Rh>x-k(6{`;SLvjIOmZsm8lJ zw8-NAP_{>hV`1?LuNF*~3haJZzea3H&0?~rKUff!4$3IXIFQF6@$0!fetLVXulh&} zJt}R~ zPgU#zQeI8U&6_u+tI|Chtg=Jz{GJ>eyAW;&OPi}6czA6%bdU<0F_lFhq%nc=s>HJQ zJC+69-1hfzMAa|kb+wG=f--3!sm6v2-f(RzUhazh{{8zw_PUGs1kQBK za$I6!kYCBcP>?wl(e`5LxBemS4~V*5<`(Dy{7cJF@m=xrYpkzFSUbwY1BEZh*?}TQ zclhwL&G}mC6qfwkSy^9~mv44W?~Fo?1i=n5!H0(hhq!%@kTFUb94=%7Sd6v4d`a*W zcPP>IT}83WcIeP&RLgU7eqg?%y^*3M^rVe>t!1B{U28-%Kp_wJ;cdq81?KU#mtROo zNDkA{+5WM92fLkOCzTyQSrl1HgymsoXjP!seasgz}Q0|0f)%YJeucOn84K-;Q8T;zu|KJGj z*r9!fJZWtF78E{^56g{c0vnJcf9~B!Yjo)n|5D^WfM+3GhZ%8f6&h z?3O151*;xD+(7!;$`DY*jUl^Ojvqyn~_qm>8Q$Xbs^iS^q|%hr{;!7q-^*=yEkZ+xNUm6Ft%kd5PtPg(LXAqGCZq*(=mD ziHQen$C2(QCiS_p18Y-euVxB+iF)R(=zIuFz%yz=@9emC{n@*4p!MuRzrnW}k+7dVpCD(bA?SCqD@KclAt>bjO%D zEeYXLq8N0=kAXalh-KKA6xMbO4QX04^wZ=L4o7d`^+qqD*TunHhiHeXi3wz|u`OQH z&~W%0kEzJRfp*pl5cdEeP&2f%y}U#14Nm}w#K#he9y?~Tv-)Gfa8U&X0RlKyQn1d~ z(2gGRXG(+AmicK!aWe3_#N+FMGrnq@t!KsR8aw0AJAV@RBQ;$F`d6 zzBfEJwuLoWISu4X95>XdD1RY-fO>h)5Ze%sX7$wrivj4#EG_RMJ@Cga?m~C^v2Bqf`A?#B^Q#mQ%QGs zHzFGXqDqSJ7w-$QF0oT5o|O#ja`pjt8ihf@{*y>Fum+WcpN<{`N|Kd$O-l;uRfBw8+zZ*NuTjS#|=y<^y3b3ry5`MIp?yMu^KDtDf7 z5Q?m9(7rFxGt)hcyz*k?mOVjAp0mHd-{a2QobQE*%i?4>Y^?i?e0e7At*ka)FCbO@ z+QH|N*sN=g_P1NMQB}qt@oX5xk>+dF-D`}d3h2rmmVgB*BhESOX{(64d6RGB(R^*i zdjO@6^j_vRGak`F-+`+fFW$%dFQPR5H!LWI(K*vEqrdp~IAV7gZ-l<%!wkWCmW1DQ zk&1rkRmcpNjhf{nyN|G(DdE&JQN_xFSWWSxF|J|N8R@&~syP5kk%QrRbF}cH z%S&ydjAG1*`utXGv72WScQUcD#lE4Ll@Vi9&G6yygt6x32NHQ$`h~eSOKl=nIdTe6 zn~^k`v+qPUy{M=tY|B{yDurF-a=oPJJjU><0Q18$YRV$RAt1nX%*u3BEB?+9?#Qyq zh*lJ%(Wj{?A_<_qwCa@bKX{7%qXaNFBH|D?6bXfiHALc}zU#r~o)+vgtD}}H8Uj1# z35mRn7FM~6Zgud8JjZYO1LFpjTyuCYCH`3z*hU9g`fReWa`d2KSr?1dfvwx{VTQiL z{OtnW#!U2utigtX^T1_{qk~vJ<`yN0>YHEs@4xb}USpZ*g*8FxXXwQ4kcx=^mO2ln zew{eGd1|*v^vPU2?`T;}e(Qu(7yccXUIQKB?qY7vT08do@;{~Z);VeEy?S?hbe){U z4O)Jy5S(Gds{V3%e_Nc%?6+@4&yv4R;Idr5aif{fs34!HV($$^%a;P6WBFv@imR7r zeWd5Pb8P_}UZw|hjTfge3)MtW7siipIFd*t)Ic(t+}GXBU&pr+jD-swPM>~#UcXvV zNt_%X&xkR$Sj(u?Li8H10DMttTrO1S0O+&F*5Y{q>>WU zWW}!Rxw52^rbxk8R%6%`KVByui(e7OD*+oW+Sc{eyC(NY3|qF)ELI3i#IdRUIx{g* zI6xd7Ztqj{%e?rBPuGSl6Hd!MzVqjqtBW`6@3mxdyzCVjDeWre8|HiOH~WyUPlA!z zJ~}=5UNn4ZW69GoQ(loYo%7z_q;5y$n(q^5D@h!0lO?a21+FaZM*M6>Xv+P%I=-MQ zFP8dl|64%zy(9VN-V?DpB5qI9T`55x%qnO%Ro%LIsGB|uZ#~#$!1F2yy<4;!0NS|( zbw4-d0+G?_UzmzRSwA1Rv?JH6;cPnOP`RAtOA?ik>n4?%ll-Hb6a9i4ug51=<%lM%yUFQj9xD#a2I{5!Uu7 zxPEix;8S5dGa=8kr`Y9Max6qApD#$Ip*WCUiSvXA?54-ZKYm{Yzxk0_Kco(S-O^y zp`d~*he)q0wG^el87V|K*SpL#@UkGwuo)g7(>ZL{M&H`0I_&v`wYNiNE>29(-by{p zWs`j&KvKYkOCIRJv0$RRw^u=1I~>!Ai%O(mjMNF*OXBllL zQ=ovj!m`(Rt!=8hw|>K&59tH)~;KE-;J+lX2{M@t7P?WV=YExXAWduTak z+1+!cF!A5FM~P$jFBTN6Ao)bz2d z??27%7GLl*%dD&E3T%swyEl*|t1>wl;7ss-NeRnXr^$ zZ-jV(%+JC2*HaP1H{~c>NPhc-Wo2*5v1j+qVzB*VPDeA7yy$2;c;Y%ju=@&wI#6uf zXTws51{o=?UexmaJ?Ak)oUK6bHO4*TCqd>sX9LvGDSr7|k1qqJxMQmCAM;5Q$zdK5 zLJ@QDVPb1^=N;birW|J>7&AF-cd)5OA8ZPmJyqSY)WO;Q7NhFW(DTOzYBZLqwKeim zc_WuPqng2%B!CJAS{E)}G_=|wCB@}M{fn+Uy+4SNS!eX!yM$BLNki0QytN9J`}1GPr~t_m{oA_V%hS)XLO$ z9%`!fM*<+SWt5bZ^s22n2?Uq-?f+GBRlGaD`Izv*@W%kU>*{VMi2uhmDtjB%_S?5_ zv~6e`i@V3F#H4>3EMAw|;YMjw%sfydR4tSfSy3h4(L1fDL%Vvw_Q7|4W@??YxP9TB znl~l0pwe9YHqhgA%Mr;KM|4#B+f_xL;Nj>!lCQ0sVl%g}Fm(<2vVO3qy}LT+e%*;q zVcL_GSyk*@WK`7rG8{gyMxi8q;-WQi?MPm1CT~LTe7Y?j2r!|(}`6=zy0Ue4GVyV6S z43`Ds09Dl^Ag=b_o|e3XCK-o&J`Bf&g^B6x`SahYRK@xVD+kTbw8aB&#?fs8w9VAy zonhKRKK*SWJuLIC|Cd(<4sLppf;zTt$Sg!Y1&x7#9Z48(yQq)`2k%I_qWp$iA$YS1_vApWYG{AnJl$i^YQ+-+*P7%iOLTXZ+8bqG`xIvr1A}3m145_@f_=Ogs)dIdgx5jc!UG~Boc3V z99{9do}x>ZqSw+c_>Z^J_fPlzTDiwVK~uvCZnK%TD2i7ne?uj{Frs?s4bK6K34Z+& zpI|;8ytODnP&~Zhp|i8MC+~_~F;BIQ>*Mlze9&McX&5aAYPZyxk~Gd|cTNLLZfwjk z+pnNdpdT9@ZFZi|@^3$vd5PsrE}}+!TwErB#w=VCx*pl;f!xHK(|m%0Ww-o$e|hXy z0b~>1j+0w9gdoR-i(ZN4A?NtgMnu=9Pc$CO1-E7QUrEA&V_>K=sP>vaY!|PyiE8%* zkE=;5fWwN<=)JwASgEtKA4#!frI}@pU*Ug$d##1Ki|Uy_m5GOI(jKbR&BR?VySl_FRCBuL*FJxCKl$)f zFD*j+uB-*XD&?Fy+o)X+MyK{M zY}8|ox!|>=VQOz+5EHIiT5DzF>6IwvvXV85VH0qP;p6aEcMFK*X+R2D3rPL;ePJsQ zWkc{el9!puLlIm20RFYU-u@DY?L6JUAKZ_FmwrYI7<3c1{+m4bZ*%d@?Ch@0_vfEG zmica_(%aKAm;o%`zmI#)n8lQ=%94=x?fZ94#68^Hk92Ib^v?Hw{rt)DoUlF|OSgDD z8(?Rft^T8;BE7RmU7Th6+d;%3s(-`7=WpL$3oz8fI?jPNOrF2?rCqg=%g&&2TY}S3 z_10&8lIvu@X^(k+)Rt=l?WWHL8pqOd@O2nLbl^W-b5LBR1|NXI4=v$wZ!7^7^B+)) z4(^mX$Cgc-Qs>65p%G+#HL*4f!t{i&;&(v&ZsM=fzk;yn(6K3dM&=Xudjc}Sv~V&l zz~3>|yP81-zouf_`!O-}r$IP2*4EnnY1*|Q>u#gctPm9Jsivf@-ApEXJmB2ez$GM9 zp&quHbfqC=vFyhn$(C;xwGLMHA_*c9Ykr=OSeTouWEx!X65LkS*EwS7LM(+n-2YQI zZ(=J%K*^4AyHYpP8<@w%83oLUfD!d z>!FlN!V~57Rfx896J^yhS2ZOhE^?xoz;YP z->~%P<-2_)ua^J(`E#aQK-~zO+7IO3{l(7QY=d~|S_ZdF8Ku0^IWb%e`@PS4K*USK;F*5acF?H`sa;7SXdLA$k0)9&!zQW zuMftN5VIr@P-IJxr0}TlRT{0?ec=Gt+xO-G72o+z8IC9Qlan5c-=pXM9nkic$F`*p z&-YIHE_2vyh)b?ZMNhAe#ln4tO)}R7_lM6)P;Psa`!@h{oH^C@`t>Y^j^NRG)j^QY z=e)hauGK&qcmKZC>_vqi4KMG?2p5Z}OHlybAkyM$fj>{eW|h(sgL)ZRa8(UfH?|iO zjRjWs2r{G=)++^OcYsZvd};MO77-pc?@%>O1a`K|{3z3MsyJmSyzAP{n_HAJROmDn z6y^b-^538TEKOy*{1u|VvV*O+rJQ71Jn!~Pm+a?_@ZjU&@qIw2DJ#o79lWw|R_}}S zdA5gZD4|oSgXbLG(~~;(r*c%P+YNzIc>jL8d#n)Fky5x<)a{jyzGg!x;~I8z>2J4+ z5c{*Rpl@#VF~!Whw3c&mWtV261+V(<`N zS>}ad(0dtQm_8RB6O;bJ@L?@Z>FR1|ZB+cpQ?;JFt$LOse+Adn%1RvXoouMSydLhJ z3CJR-n;@8y6M4R0FcV>yEXg5Ghp^6=;lQ_W_Fb3LpOvBlhA#OcJh``Hp(W2az-2-@ z(0NB}&ZDiYtac@}n*aSi|5$4=ciV}4hUAOI-|>+QQYa8EZBlVl-hMvoJ?Qpb!)E8* z)q;YM*o6`Xoe6)Zh{a0+#7+RTtv$fFfzaLrTc&D$G({f192H!gGm!RiO$>IJt z=C|GdNL{n@x&w4t=TX^~9f2p=0ygw$-1~wS82P6=-6-W&04viKrtsCpDX|?P{&iIt>}glJBqq(AH_R1^EvZG9 zXGIqCd953kiUX+GBJmnfp&ZI=FK6_>Xbf(tY#|J^PWKG78`-D!Llq<1nz9!FknSL7rkD{D-} z#UCRH?R{?0p@}ISKXD@a0zb!M;(m$Oi%RUQhjn!B; z3%~QXQe;l5_Kx0niEC(BMxTjctaR&2C5e&&*!$ULUh^h}Rn#JW&$f`XDgJvmlvPy~ zzk%Mx5$_7BHhkTm>Avd#b9YONj!HB5Rso%`@X75@xpB#^Chek7d5GwBw1PqbSy7A2 z^>cGx^+W_NUV6eBIF4Kg&_(yFseXS9e!?&%7_~yNol$5>(zzZ*GR-Vr$ zC{8hLjeV3!rv}J?IxsyLbDuh4)rn%-?=OeLZ=j z5tG?w?sqO^v|aKXK!tv7X>a{?o7kN8XKFxJFkaV(lm0-!xA5ChqSoiMm+nBoe0?wv z2FkUtYTdqR$#4Ct4%Gj^Mh#yjzIJ#F!E|V2$i9S)DULoq`{WXInT$#Y_%oCCQ0mUC zWKNH@f(*CiOH)RoPbUEn;`Z+9y@3VjA)1>-ipma*rOVuj+sU6wQ-fAsNT)6)W!y>n z)10p@5k-_RmEXYGce_>w5|u8)>k%aMEK!@jfBU9X!BwOlhF;ca_iKcuKG~3C-N{bXn;`QZH0NWV zu{wFOqA@r&OOX=uKM|SW=Z66NNqt+CzP2rV7QA}VmhRrmcki+<9IAmNp`SUns&DSX zuc*?L}N%FBvEYKlZELiNY;DS_2NbDQ;XZjja?<2_CwF!CCIgmE`ujPl3&N{ zG^Az^cz*1pcnqRRV+sf@lL-AgQwMP=#P%n-9(o{`(zUMO;K@q$Fyj_H_$Tb`&Cp9_ zl}}QnJiSZ}9zh}87P&)SNl9{cDMS&oyns=n#)>Owk>|TSB34A8c0oGsU(#J_h+Y~c zfI@$SQP}SI@kaDKwd~!DI7y_miB!t2=la`oOf4)(a$o-~Sk!i+eqFJ)_-V~4{Vg;c z6vx`76Dw!|itjcx31e?#x*YHd$bG)r2X2V}!OL^DeIzz#ZV$qIJRZ{uXCI5J0Cj&{ zbx~1N0~Na9RSoxJot~zBMS2eQPM#Ptc~L9l z?(XKcb1^^ENhrG!5+HrMEqbNO^2I4n;-?w0bccy)+!VF2^hHqJG>hpYRb}O|GK_%I z%$ZBjNnoYUhdor;%W-+My~LH*R6Gu7Ba`ikpHRW?&%+eJy5g?Mybrck(+mtfJ(QFj z>wSIWmA{N+9#IwKcqm}y8|3c?&#Gj4yn?XVxmG@`=R{yg37dsq@17lHc7lwFvi>yr zN%tWfBSpv+cGp~)wE3X??4W_p7Mj=x>%$?C##4uAG1v&2N=iDP^FY{q8vhkyruuV0 zT|cY#4w(OEEX;qx+B&k25-?x2H)G0a{62lfD}CBb<)8I4aW*MFUhEE%Oa)5{D35iL zpKu8a-?b>8Yy&Rwu(nnpsALi&8Mzb__0F?mXS`3}y^&m(DJv~aB$k)F;Pe4--NFoZ zsRuuuvD1jDqf5f^YULZeQ}jAxzYD(k6+&-D*68t)t;Cz9%3Wt|W21LKequ#q)Dz;| zn=7eXYt3{B_UtHY=(apM?CVb>ha_>goxf zagFfRd7~i{QHzgnTSj7mm^Av*7AOH*P_P?%{hGa7u!O6E>SJYG(bK)|1sVaGtTYsVU6Vv>Sbv6`>N zRqAA#%aY=1cYN0Wi-&q`Z7rif;wy22Y;hU^r5V|UdJ`No3ZYy_`r4y5^uMoNS_5rp zcz%DlzgHRb@tX^$7gA=Ji~%4ISo(9g z(mdtsg2H{K-mj;-qE~i4#s~ro(AK|N3VVlk(1d_H{4PCl-$tWnrWXoG#LV7unOX+= zNrk%cLoc0@K}6`ac3J#X*tefuRQqw@w{1>;aOvje#DXXbA}`fYy2qV`liuCFuGD!qyO)_J{@7Nj~eb2lWv=c4JaE&KH5|KnGy?T9H*?H;TNn;S7S|A3hqERJ-K z<-s)``oka04j=xzL8X|7hu#hIAaGdwMICsjEvkW90^9aP#YhN7Lz^<96-u zZ-0+~tS+_E#^5JiR%2Lglj&HPlb?V0l%4=4^coq`@wb_zq?-t&;^fphR zx91MwsP?$$N@3a=p{-#bF<*~uQ!ar<&W7i7#izIBA#rRqq@R(EhYrN%>sM0wshTDf zo_S~ox>JUS)>CU`+}?Kag;P5&F}-DJ3}gHDi7I5~$caeC$6KF! zf}6=AA!lfLs^jh#f|2@uOl*wtsz)}d7)Oy9CZpdTR$rYQ+%l9!bBs|n6%XHIy7G`hu=#{{$ zv1LmfbibTu3ZRL^>>8XLT2Kv`RYh5u97eEqt2t^@{~d36W21VYDzKWvrL#UW3t{L% zfP=%0NX=)XWvXp^&SWra$HT~Hli9donTCnr`a}y4i&{lqkDNI3fA*HD@vkR%GQZk2 zDbCVXP9$8JbV;7$;a86}S=N4;JIt{mGdx@h`(xvzbKhxK$Z;r-C}ivAC6t8dbj*4D zYR6}~boDr~F<7k`K*jdX<>E#b6@zgc@8?H#6V+SY9@W>2mB&8}`M`g>{1;K4QCb@9 zes~4cm;uC#Ns(`Ns~B{_mi6>gi&gwit}P8O>R5^;q{|MdVEK7`ufBoO!o;k$+E^7_ z2QN_KnII2qz&b{Cra64_1;jREESRP0Xga@26K}fnO)F>m?x|0kf1%@gY73?cDl2M? zSXq)0*=biX5fw?k>(9)$UC(ncDgnBRW%|<+tYZY7@N#8(PLAooRijWe_1oS_D~4<@ z)MTv9^~g|p!*go$zg?&2dPB=cdk)LayZpSBZlx=Hvk@CnKKmXzw4vvAR+hcBb?b=K zSXnKrpA5Zo7S%P@&=f2Z=1Zsj$_@M#f!jlnb^6{78pqVlq zm(Z7DGKJoK$rXGZM<&Yzf0@kU&jE~1iS@W5m}QEKcWx9NZO_QjK0=r&!17oqlXVEt zY8?mpx0BzGUI!Q>dz9Gg2?5ABq@83LO|LKFvVKRjD0}~DM$hx$$QE!3(WSqmP%=lr zd; z1CAmEIxc}IJs4=QF^vtMHoOG*_KBH-M^i&E+Tjw=_*Mg0PZ>U%+IOTCNpIADgk}_N zMQJHh&NZ&{_RBxP>A#(t8*hWY9*sE)ENxk{dK%I+qT`f zb?cP1^;>Lg8yt+|PWMP_h;;Ubu0m|rt}_rB;RMr#BCQo(X}Xi7Ivoz4Hppi#rxTJV&%$hi^Cx0Z+b8-?V>+<^Fk4kNj9N9dlf;6{fHa6RI@5><_tClW4 z1_ih#A%ca^0@bmlMO;SaEWBA1YH3Q6TsiWVE27 zB=b-$AtX=Thzk%?iBGfhx#F{GRTU|I*oda5L2l6$>saGW)3oH(R{w{o3WOtUZc8v- zgQHnrns@2SQSiG2lr(k~qHdW-&l)N!l6?{$mXz$ORZ~`md+NvlX<-{aBhWz7J29S{ zCSzQF^5kH<8$>VY=OOhA{R-zLH#hu*t!jV{y9wb{1yZLoBLSgqMK&;z`#mJ}x-XyL z^3&aBFW3{iLB$~K%jNVpVOf#7)qsv5$ALvcDFwV9Q8M!J**+;|MBOvo+bBaH#5o5k zLE+v&9d?~=VxX1j`s(X-=$@L-zf8G8S|KUZ<0F4Zr(8S+`~(2p3YL3`8O^d=+P z$wk;Sk$9>&6?yu;P;_K&@Qjce4%L}UuS5Z${6R{x1DsWO8n_zSe^HE&Fv`M>T&m&H z!4l1_9fI?PG3kz6g#T{IY$l~_e^Dxs<%Vb-Bdr>!Sqg^+eboeqMQz zRh@P%>1T-^GNA?rO9c%pIg#gl)amN_IFjDYRI6 zPD!5k*U7%=j0UZ7A%g+=J=Z(4bBsoOxN4behE94WhmyzoeBFB1UxX8rBM7UcjjRn+7K)e0&i71Xzj-aQ%@G!L7k z#Zwn&XE>ouvg>XDJD%U{DH@-hEwJ$m;19w6|E@i|6!+rW>}&}|!lvo*>QUNo;D$KfQZAtUNNZ zgXSk6iMW0H_VFlPskNL)LAI>DyLTV%n=TT{;3@0d)pz3N6(T=dV*8V|_fM?$@iQ`- z-o5HGuxZsEtj_QyHMj0eIQT^lT%fa)%5UD^^2|N9NLA(y&jJDhO65i&(JptZxt?R4 zuN}P`2jbQ3gCBc)#m9wd<|&t#j*GBe`uqO^jV7rB$ZqeKhtvh}LU3^Fv+Ms}!&U?3 zr;gqh`h3}<=?N=m{!OriLCzV#*{-W{y++8Wwk|p`is1xa`=5^OiM(&8w{y-xCx@Gc zWpq3tR{zn1%B)FNJ@^>5EI2B|6HrI=7|ey$1CWVp1j_>#^~w6%b`5|G5O(`+K?}Kh zm-} zGgYGv*K@&g9sewzUf-GD%-I~3xFO@vK8)$7UcPwIr+s?#`vMXz#=3D3dtGdA08+!> zvNq23n$Zc&{eiBoQ_zuV!##-$A8#%R(hT zCrRUJrjxStS3KDV);${-7SB0u!a29`#?CP%Gf^eFO}2NhcA43Drst`_4aaK(NsHM5 zQnh3_+y^zsc$ZcBjQqaTiFYi;1b2XlaeANd+x3V|w;1_>B*EO+9L;Ru%O1EWCbt}= z>ld-!$^TZ*oO2z3|H05Djut6pmCsKvL;AE5CmJ4~lmrp5YOxbQ*x)TQgTzts7j~7 z-0f`Rnq~ithkYfD!TJp8CT3#N&BT+%2|hzr<98pu(l#^4l1M_N z0Bs{B;zS@%T3lFo9zLv4p$OO_%8=ZE(v}V(-9U2ac*cD}eLL?gUQg*S*jY=QNQ2wS z{Go-YOy9eA4Uh^mcH_k#7}#cHSW`Mpqj0y8mSS8b^b(vfT4U*N46onK4B26vB3J82 z^DL!}Tf%ZmDk{EzfX&{_ zJUutw={)0)SZWn!hbg-DFvT5gN{JrjD$+YXp~`X`05#t86r4T#srmnmm`=fdY_ajR z1ygJhu?6EFg#ul+zIhlwZWX#^j&>}T{P*SZzg_Tdf`q2>w?+ONsFnH5a{1dqn#2RL z^1?(|k~9T=KS@{Npdp#rJqVPEBxB!@E!0Zp!m}qnb_xH}4+v0peSSK+R$klwze#ZN zQIheh1yJA~xHFHK{I<7nWE2JU&AQ8WYk4xyte`h5$bb##T z_i+XuK4b#-<7%L(DRa9+;7ao19==53UhlJKb#$!!(TQA52kcV6x&IpfpohzSrVF;V z6s(8s7mtRA{~FY_V)Gg=l;JNJM?T2v?`{r@lEk5oYGd z)~}^!<~uapl+W3~r<0|WhPVk@zcJknO zY~%XyyqaPARvj#^6hC-S^y9`|2%u@@H$E~GbS+K$9Gv1Y?|_)>JX6XR3bOehjrIk^ z`sHR}m(v)$j`q6wCZ`C5Dzst3nNj1Oi47?<{g`5Tb+t80`=4sn7Y}h=BsIt-G-%cK zHAVQB%88kNp3A~c$u(Js{l`umgmR?Hs^(G5RR)^_+1hx57Lt|sA5ufD?k8-0U zRyLVqc<735mp-SFbGAwf`sPj7iB(pJB_G9D4w^9><3YKcNXM~15F+|f6eW4Tu)}xq zWc9@pUlYuo3STX5TNAR_R(To?0_Q1m=EC3l>we$D3I(YP0{1z$Z6k>+sE+*FVaHbq zPQ=i8n|ZdP8(OkZt$Y7d=oskh6G{Jm-h2XKAK!zg&#vxV*v~}8CbqBKksU)$>TpYK z1ws0mP&v<_Z1B_Cule7~IS=N~&xEYFS?~9iSR9RY>@7!&FDD}dRhyxN`hf#Z^Urgb z%mi2oHfZ19@OXB=e(i%o!c&Pa6Py?Z=tqkjKodv4;vsn~;W1ld@Nwa9kOWYjFixZ`cQ?CHv zpY!yD0GQRoi&?mJ#M{$T_dlBtaPJvku0Q%GY3d1+oQc;%@h#%krt$_GXJpTmrYqts z5j`XnyZA^FDq&cyvtrX{w5OoxwUrGfRkF~vgj7mB@n1W$K^y4S_eZum42k^fPsN@*F?Z{2-lZj(<2miipka6{}N_Dh^4YN zWy%W0Xh#q!+OAr8Ly4+(OdZa&?UWe*r%1<{@}k*akmW`prIr3jllN(3m8z*LHqvQ3 z%=Gl0NVWD%TuGhY%EYvcjEQx;Bys1kJ;U_OnUe5ZSMCgSVZ;5Ur8y_L|KRO(Wlc!a z7ifDR*|Jo0GE7Iz3jQy@0``dV#5%{UuFpNjzY!@ktg^C`si)inOrzF zJ>8Wz{t>+*RG|XcD%02QQblN;s>MU}V{#Ax@_Iti^g{Z-DQ#O{IPE-iLqhvv=s#>?w+tT4^+8|LH_$^mbRI3ceirY{ri3wF1*EG?Dxhv7rPQ4P#Ms@3y)4K zk*Dai$C%*oxTC|6hllUi|AA6P z#rK05>M$Z~=b{YrcqS%ZS<`X&KHBsMZ4$U$H8auU6F@I)1-w-e+(t7G|63?IDAVT@ zpE@b*c-;CUGEM${T>pF7!^QS~szw+{lhdw0ZI2!;FWF9eCr+RKh%heS{0E_e@T~4&g$|et!bL37etsGw94g3W2bk=JGZR&Jtj>3eD%~X5WNEK`+(u@7 zeiKcpe{Qny&JG$gohrGgg=*CDI^dK0@(R$evc8h2#J1=HAt6k7_oracdt&1w-t+qP z{!R3Yq;{#{cs;Jpj~_8+rpvx=8tm_%CiRt!v_P;942heI3p_1KR}d{>wvcLn-NE$bgh2fJ1(CCC#oJvmw+^P$4LH0Z0?D7gW1DP7*w zrw|smw2vO@VL-R=o(#Q5)bR()w8Il1e_QU5Jv`^YxWK7Ipc| zXxWF@$tGSZwDGvuH4h&A&$A%d9TBqcR{A9>j6+lzB@gDqNk`(OZT&=jWEL^r!T>L} z7YccuHQ|43`7b-RE*K(#2Z;W^+}F$tRxza|$U5yk23+2t<>*9HFS4e;>tPA^9pxait&(D%mXgGzdy1J8H9ACJn- zX)kBz$Y437AT{$Q?|-ic37s#`BHyDr*DfwnUV*=@i;LuPYmW|#9xZ3G!{MCmWleGM zjgb@g&?H}kfh?-n;PI)WNBMf$n3!5@iaI`wj2x-3cM9EYC29LDmUTPP8A6)c;p`hX z@YPzv->I%<;FAb_8PmU2yHWZ#Ntn0iv=W?v;O(Y+3AQ!W^?3AVoe-cBn%-uPR)*S5sLbC8H zZvFhUhU^^Zjz}sbW&CwHlxFYAMBbo_Ff1dv#z&9*bIB7Ry7FfZ#4*YIFh(kz1!7nH zSb2i<_q^3*w~QBTij3sIa0N#$nVuSRrAOJ?@XVHkLpJDg^mDU&o^>p7_)eB@%^7r> z`uv&8^GBut+8wibyGrN%k!x1amZSf2VlFKj#}50f;~lOm&{C)Kt694P#N-)3iW!)q z4^R4{3pebRc&=jf1QC}fXND9=Ij?4X(=h6IR~C%c760Y_EW?Zokm-1hZ_Ax+Glxx0 zS;FF$eaV|oP`*hu7(Lz_M4R!;1``E3z5N%z^CwO~f@>?l6<44yM}2+&SJ7)eMrPS7 z;dVP?!W%xKKz{4^)Kp4B^cFrA>93~lSJjrpCaZ?b_(zoQOd-0;-frfwCSM@okJ0^7 zuRL}UO|fBYkGCtKBNW6psI$C$^Cz3z>!-4YMy?0)DELpjGS6-#$=FRl#Vmu=SP=X^CIc4WD#xcC!BX2Z(?@_)#uegg6JJbSjQsr+cI z-~gdaMS4-!6OaW2JQ7C%O_nOI_&ZmrM{u+2?j^G2WM^9mEAMV(;Pdr-2i3Sj&{w-m z@tjcfk}JP%=rQCsUg_*SJ((;dEX?#MBqF}07lKg_3baby8+$*~Qqh$1|7kOAVA`*& zj3wJpJMbIHrcxIKOv8?r^c8LB|L=aoR>s6c69I!?-+*2akjts`$hQbSUBfO|s7}hN z-8N*v9-eY;XMk=(X|AiVOw|8s3`#Rjn;Xk=y3 zs_57-47Ru3FKZjZML8fZPmE*#AXyB3f>A9qT#$|~hfAGfFWkudT)P$iY_r`*PdPZ4 z&*$4#?uDxv0X^;mr8oZqbSszST+lo%ope%(l2{g(k4c6+Ju&?y*R;M0u137u&I^vV zR7tyAE5_tSO+UyB(FVd1Vnvv{5^i|nfOeVu@bzi~G9F3ei*lzR`|LKyF!(cJ`tJ0E z4k2VwkyAKmh0z!gA)bLRFLUdh+nM!A+JA2G8@UU*rE^Y2f{F*Df(2d*5dc$>4;p`D z*EuX~_BG?7hr{dk19yFx(`olqV(X&ju$j+dxYmx{!|3R_bc$c+YrkCa1b-45s@eCx zyF2lMrob!t!RkIxpX~(ae2!n#vte37rYi9syW|w*<*y1I?bMU$EBF#c9<>>Pi*)J) z?B-EXn}Z?*bl$qGED#=*$%*V_QFn8``aN?AO{JUq!jpN{q_WKQ^!PE-Bi;tiRmvmunRN6wsr|WS zHD*FPKEgD3MaoGQJvIkt`Ne{7{Y*?~zjUrG&j%0OmPZ$P##8Vc5} zq(R&(E5kjYXsde@`su@lTnH%6Omm?rxHR`tJc@**pu~CMcc&hd2wzOs-1vyo1?OT5 z<2PGUCrtT`R(r8$&_sykFFZA5MTX&NLVhyaJpUl3~UPijR1sYEfC7f1p8KZ*e|1~eeZ4jXw z)%Kg93(=O9^@Q3Y>kpAA#{8A;#`ga9-TU^HWGc0guV7H|C_~S$@Qvk9|68+z9#lB& zvYHXdu|A09g;2)bvfp0#D!POe_k=+y;)TYADaM9v=C+>>&s?ul6J3Q-KkN`|B#?x?zsQzhH+5dy>Tx-7v`1AJlxVKci|p z+wm!c90rRvqJmsG1awGwoVEh}(|^%DqN}6qR_V8(Fj4Mt@bGT*tgfmeT5v9d*e^J` z_&BM=%>e;1-X0zVOA8Q(w8+}0+{Gj$NSGlJRgi~n5#kt{`iC?^KC@qbmTYb&Dx#kq z^zwaoz!R33Mx@XE{`pgPP$3?7$en}rs7}+nqdU)GA?;}^tAdB~`uh3=zJQNM?U)F_?FpW~(9bbMfb#NAiGZ&j**B(E?5`U+@? zjk)LKfA+z7rlH4<2`s|S3@G;<+6eVprT>h6!SaiZ2iO6EA{4zx)6S&Uarb`Tk(QKXlct2F<%A`qEF>x^HWSLZ zxrX1ruk(7}@z^ex-{gi6(b~1n8vl}_Lknn~q!_W&sL0=RJ1coMt#oQM*peRc? z$on^2Zv=!@8l}ZV<>l@1l1O&!C?Nkjj2y#zzh}1oddvp`CRSc5>rG};lh%2NiznCq zDb_L|g7FNb($}4YtR@*gwD(;rMI;Mk{%(bLFV2rQ1oTbYe7Si|5!5d^2@DV9Io!e;8>@jRZ7tKZqt$fy$!LV-vBwBFF2J9o$v+9GDf1F%z66Qycs zIJC-F^wGi8qm@q2dSkbRgoHq@;9C!tT;2|lE+{ zTlMyxBZz8d;stz+*ulr>|H{rNb-L6Q80x?w?+EB@etw>;W_HzYH<@#>2_Bh@cDjz! z?6V6gMguIf6Qwgh_(Lb{#Ro5h=-EJFK+b_;*Z#4gyZh&0c)UlopJ>8DJ)L3%Ngvr- z)iad~K_s>(C^TJ_4Bb-meJ#stI7hx-8-efD&kdL1OKgFl8w~SOxhp2RS7LOd`?I(U8{- zoxKp7WAb-ly)Nj7&w(@NR@eQ1`(U+Wk0Za!c0v6wnQXGc*8_-O^In-0|FV*K_nWVG zBR7}HffSq49aFZP2T0C6ql13}j}885SaEiLJAdick3Z}Vyo(DJe^1T+T|4z>rDE~- z48&?kRzWdLue7}s_;Xd?51mZUO(aZjlY$naed49`#g)7Y=|{G7HM?E3@8@e9YT$p^ zv&T$^45=nsx9JIUHQSO(K*9treG+@9f%jx}XAueII491h*z?g(T5wG58hI`QR22}H)HK$29G3^AbvUY z;d!U8-MH~^UecDY5~NOkpj3sTKrQLX6Va_CksG~vue5IcqWxH%JI(ytx4Z0Ol1SCN zMgJyX#aA?0HE?6gW;cbj4$X68(hFI~9UxQ^de@#io~n1(oJN~}XzXuk*{D)1mniu9 zH+yYp%f5nt$L;M21Iug@i6h%C@4r;*?(181_b#hSEr_Z>^}5E&JnCv~fotKsjhTQu z^Ar8Rc{DL7-fPtU-BztQ$Ys}#_l(J#dK^ubpHz*lmD%(xbG%brIx(s7HD6>1U=p(< z1j)m5c#0ts%YrBQ=0+p`)RsMSk`TW^C||ZcmEqOv*GC;R*Md!Tb9b>7+?hCJ6P;d&8X8LRYA6z&0UkoytkMo$ zdDPP?rPGLzeC~BDHYZ1|Y&W0491sHfEn6y&J#a@~JI8xHMER3pz9~)6w~0{VD@s>` zB&@BK0lgwO&BHLlfUT9}j$2{7pH|&hBJ%Rpix!ugC!SFkera%1nj<2@^0kpA4{+ye;LL`6Z;BhwNp-7))?(6iJWSbkzqG!lcSXFvJT%ZE2 zUOMP2cq_-J@M!x-^L^T(OIPBt6+=^LC*+z5W7tQqef!~t^{HsOV#qLznf{9pZ7nGx zE&0F|TjXwHF8Z<};#8Iz&M|^uyhU4fdEOk}WuS9c$LSlA$O)Uw1eVG`eeu2CaeK73 z6e*sh@jl;sU8O0g&TjOe}w6m#NL9tCQVyQf)$mSs++d%}BQtA>3E_i3ycp!(s9j2%VT-#H+uU7Cd|de~y)<2F zI5%HNUeBuCeI5F*ZS)57K#hgpO}mhdF3vyqQapY8)xQ2*wX)9r@lrieBgOTY@75q3{grVWXzB#Q=!Nd5#D28*L~ghv(`JT=l$b-e{22L zV_kn-6&v6E{hpumJkDc4=OGA%Fg?BHhtGYKiH8KNYFAhHGrz_W4)}#DXEG92iDE7E z3@V~01J-3cKUcH4?nubdl4x-GQOSMf9MW6L($cOdAJceg$Rqoz%<-f2we9OyOC66^ zHK3Wx=alIofa6tF)z&vG-q3yw9`X;_Wvc>TyNbXiGkW_q9b`P$G?+8A8(z3(t1Jw= zKzSjFZ>O7Cf#n7$w8yz2+ekQ4J53@FfUI@;Mqi6o2Y?NO1QVFnMUN{{f0cuSh&eB(%6>*4NA z;(=G1-}Kemt(S9DmAun@r};yr(1VEH=&=9wX*_Iy<|?k3Np26v3G=(e=9^z!-zG>68pTwc1Q{bWGJzXn@B+&Plv^n1K(GNC0nU*jLGH_x zn8#KkKrGPZFke(G{rVX6XMlr7PX$8(?RbvzIRH~VD7L}+jGq&_U;n`Sk-4Y22ah-(k$rr*MXG#@}(8z&n!t`A3$sQ^r`d(ZA6O{ z-xUQ@7<>H+=RU=-0-VStw}Z_p1CNa8QVGGh5xd&k>24lky+$eA>e7hYjHYFWe=d9| zphae63`d#77+7DgQxz5qJ-ycP3jrr5-LM&hOJ`RXS2|)P zfc+%GITZ-z)~%L+P)0_4u^xnLs@tg#sC53qMx$^N z#{vQ)z@RyPgM0sexDYbG5jc;im%=^NaBuKHaC{rF2CGQXtzQpFe;Gizp?Mm>KrD`M z(eZ4$?W1|G-z^f%i++iF9X1+UncJ=%(OAD-YH)kV@QS}0+8!gLZA0s&)T_B-q2C5< z3trDQjVm952Z=QAbrqBp9HcBP>(qyMuS^CEO6yeL10I?sCwlVnYs9qR_|=QiOS!9d zM}VdieDvrLkWnL*n=sH(S;DT-=q!Coe-5_SoR6M5_caE&czMx0s6czamJnSec;&-_ zJVZQ?Z5a2chi;&w14-?uL0ew{hq50YSazwn_;}5!3^Ih!f=!@hd>C3`~wK{wQa=$_S&huFUZf)V&RNA7JLs4JenJLSp%-;66kr!+RFaq zGOv!Fo|mgDbW9cHC~pWl3L%sCz2%2VNfeSgXzs?r!Qcq~TG~r*gFGr`i$Bb$R;m`W zb93)11h3o`5TJ*gkac1hoF>Ftojtn^#z;FwmZhHq3kSU$cczBdLcFL7fl$7F7EE~t zH6%2+_MoZJj!zZ1H&?6-cL@tj09ZlID;K%~{sZ?BrQe!lDE5PaL94I3o1qwLOPJuM z{ccuA3z5MkaP(#MBzPN`4}5%mCwcW~;*)|i&!c;i*>XhAAhW{D>uGVZjLO@F2Bxao zhK9X1X@+@QSy+|Sea+yegdSG#h|e(u2i2s$v#d9zhj{dm4 zVtq)k9LyMTcs~3J6J2mA)K*w_?us`SX znIIq-bwWaoWw++gUJ3btiWvr7*xT2_b`4KD=;kFQyG>XU61L`;Cy1>8uh^Ood3JAa zFP`(a9fn?$$JXx9aL5>)q50p3+)AjbJdVrcJD(Z8;Yz9(mYD_y1ELk&@&T~ig1oq} zxcDn?yhc3p{on_1Q9`U248c#HIn&5F(8MeY10;*~YW9HYG&g14U0OOR5FU|R`9E!a z$&+V!q11;ay+6dlQetjk@YDFfV1`BOW%5HVB7A>7;$6ilV&Zn`KJ)8rRKwz;BCMJ- z90AU*)jjlfUfllWx^1z+awBUJU?uaYu&~Wz;qCtWh z&BRni=g4tAy$Gzub!879HkfHP1>yHA8;jy|klb2@$Pr*+z$-O=_nsRAmYGsis_ z?ij00gM=d>w=v5y-9*fQmPx~1_SUhz8ZWuOm{}nv>Z8zeN)<+k@~tD!fvB(BF+GNE z7q5IZc>j&Rvm|Joxag@qQb-1_mnbsOjw7)%ta0WcRLJoiHB0%;BHN1tvYz()G3KS{5Qq=I`C3r9|v!NK@?k zE-79NkGYbDz8ARzi}4p>hyX)P0q%J%)-5r5dtjE$$jHd=#pN2Cq!@f7bqbPJ5Z!iU zkZDy%`sf;fPB4rTx_{Zl=zTwKB@t0k=e{--$EQ|i0lgzJF?K86{S?*b$Gj%nq*twL z=gCuEa?IXxb@z@PHdak}Le!$zp)=_=OyI11Dl?{&eT^P`q4Y$%v8P|mb zL+T!XC)=D)O_%FysvtN>5)z2(D@1b#hQT}A#3&FyEtH%zdXQys9Kq zWuyDqg-x3_-4K)o5)>82JueYl)o^-s z^}(^RcRj_xMcv)G!++Uv#5;BBUtkD+Tv%wm2B2(tcJ_I`;_IOKLd50b|fpHY8X5c_Q6+ zK8_ySW|UxeL%2F-DhWtSW9M}n`u*!d^shfBP3^Km3kVtCpSH|#9*)Wp)m&Jcz&D8I zq`IJ~1Mcv_^HcQ4hNY$8b(2?7(M#iF)rC3WO;o<7-=#Qs$oc6NO>ByO3iW>hGKbxA z{1tNtNwJ+9b)yp!!u-Xhr0`aTJRlc`%lH{9JZ_zXIlsYy-;dMM&?}#4Yui*aQMu9! zHCZs8C)Kc{1`x;BIXVst6pfo186nv0hTFrZPi>uGU1M)Q9BWBWn!5z_i6#kJM;EdJ zwdX5IyN_&beO?O>FTsLRwVpc?7EzjdLJ{??q;gF~F)Dr z{Rf231*_{e+}BGP?cb~D|12km-o8aZp#6ILP0qlUk>i@0mu*=Oo&YVLso@NSL2&{d zHye*~rq%uc4=gQLYdzmH2#lV3P9FPxlq2Y&oSraXpyp=7BpFYzwUz>B=BGuHOS#Mh zbL{#A#E11PaLh&fVAenl#P!3V1E^13cWHv#dbshvl)zv7c+5CoaGQVr4ELA!{M}vE zi_|Pr&+wf_KM|Vb*E6zsmUYXkaC$?w6W3YVzJA&|?}e%k5C@af?BwK?qBfGk<5%vX ztGtnMc)SU-D0ZOG(&k_h0u9@b@BOy}M=)PW^6}Z?s$ko+b>gjFN^;z1QLjlv7(99| zw-@|+PTt-Q>_WcKOy;N7=TfPF7Yzx11*wn=V8yA@1p43AoX}JOXjgn&XYY@^&euho ztER3#`Qgq^Y+FDE>W#Iu{f2=9wSZje^DxGii6QL6vPiGMJEn=vR<}C1V{tQvQZTO} zeS$kl@wur180B{M_SpPADJrtrIjx0Ax?kRt$0DQtB9@{4+KvO&#}hQ8s(VN^MJXr{ zcS7gk!-r3JPIBg;v)^l`xu-$=9IAY+Ru~Sedj{~w+#~0qDHq_k$yUIq1n4VWh-m73 ze<(x?Z`YZR^xsZvEk@kQ>-E3BU=g?Q$djZ+TTbrMqJxFB;*lffUrT*5Bm-jgSQHr; zC@Wa_`uX}A>IW_UkokUDA(;}ia{|W?j*2Y|3}%?sMs$5qg$&N;eIqzUVj=saDeWwt z^4RqyFgMK@O9SV@Ho58rQn--3WCLnosiaj(@>v|FTOZ>n19cgcfG^g2Qe0w}S1`a85Go#_D!jO08cLix$HYp;UN02Ed6LnSb34J0 zOl$IRqm2p*tK6Krw=ZSc%F;3w1pFJKW`#F4ZDC?kKljab(m0qQ?uLnntLw|{ldiZY zASo%`SBDo0MA%!O|MYDHa+m~|=`AJsS>3YgE3}INEdq%<`XgK^FdY<~HcPqO%w0@+ zg0DrsmSC`~gan~dRy!|c;41o~w#lj{*ucc$M}+&pHD?eYuokNsjTl6yzY86r5@Bh`4d%Fq&K( zvK~ibUo)FW#l%d%6RrF_kJBSf(323EOc9)o;LJg?2IK@-=FcegAr~<8fyT&Cg6!0@ zCr`HjM*kR^f0SqtH0#`OTGasU@aW*q!*y@pUI3F6s!ud5xDasp#MyxsKSKbbIXp+8 z!oUP`#@0&v(RSQr+m!L{vJlb8>+0U_t`(Fpi?kcX=U^p36Pz>e;^0WZo$07})yCn{ zme^nvMA{-bg=R*M_iW+OjWiK|-{n6g_NS2;842Qt25&lf#&*M+iD1rX((6W~wg9aD zmV+*PyPBcF0#mU3;lrA=NYc-=mEO}u^=Q(lZIQdH_4e0-jPG+Vm$XNN_Q`VktwW;>~qDp(Zr zfUJgiUj){Rx`A$2IyGxfY zQN+dF&vWW}dU?Tl9Rkz1g)!LpORpQv8BvwZIkgLql3)c&6kKJkmZLu|e98|*dKet<&#>O;z{&!M={`9R`Ud@VLl3T!vbI4iESz?cRF8o}yRzG_5 za_Jw0Jsb0b?OK2A8}UaOUopGq zX#`v|`+XJYLCdF4!i%Zv*b@9egvI6-0!3`nuxvSPZVsJgVM%MYi5ZP;*m%?E`t0rR z{S7ZR@M7Ht{Y|j1?6Q7^wH8ts#2f009f`_JAWot+(nym|*c?i)II&ff8cW_f67eI%7O;ruj z_KXdfWScJ4zeM#oyOT2qL*l!EpVU@UjA>g*2?;clC)6?`$DWj@JJ>uKH>rgQ4;3IP zk284c;lt0OZEb+WEi5ds7W42ZgmFUmDfe3sO|rZ}I4Eb?x;1rNl|rRLKbNx6yxcIs zyWa;1ao}}&kU<(h(@9$r!u?tDM>COaSCv{f*Du7M$vAdjvw}UZHPB@NftMHRtDtX* z+#~zg>ec!dcBzm>?&9_*mfa6E^@eO{Tc5L68m(Qq0@<5yL8$tn@MV^wIfUyRA)cA`zWuO2+ zgm0;*uDo=z#23gcpx&F@b*-2Kp%-ZVIHD?=cB!(nI>u*Xh4gdd>@C?xcfg%94wt=7 z2=mpbzH*1hWZUWhO?eDw0)?>kmF8NJieCiOrfLtYRSscit*r#lh15CVx0LTQf=u<{ zMiWh6F?(mWqKp{&JzmedYdZK1f080lQJuSTBrl;{F@l!oG=n@^YTGX0_c$GpvG>@m*ku(gVj@lTwE{F z?)CKSc_mfN&jQ>802H#cnz0M%?XAG1{^SYa&nHug;M@DkAVR5FTk|Nq7t25SWPO5B z@c}()dCGPvL3euD*Df%eVW0xn!@!fCx^6)9CC|1J^HZmg9t$?A4%sloP&}rA2r4<_ zp*Za5l3yPLuMvpb@uj_M32Efbd*#&PPCmA-MS2m;{=j{{Uw)X%X*6)>rP9hDiGswa zsF&VgTUaw`i(Rp|2aXK{sVT&d{Qkv@Ri*K5dMV^^R(5tqUPMt`!huAc4+~~vZ}X)w zC2(=}b zqqZ_rj?t)3{C+Bm!y7ET8jZG|k;W}57G)uHbXRu$!ECHt~U;%(}sNwtv2DkUmD~`+< zuDQW?h&Oh7QJCW6a1B|;EnD=pwL$9y5IxYIRY%XKugippT=;2$^qpA@7c_V(XdMP; z!Ht~`i1(4l;oeYLAt0MlxqVk1ur&;8dqjtS{Gcr{1{P6RjtTJB4JjJ{sS^;uNS;$b zCfg#@y;Dof#`X#iSW$xTkG%+Mf5~8D>0vMHfv`EKi(>hpx2fR=O7!T4xLoYm3?NKErw4|15CH zk7^AP6&%kFNBR>>%rQbGCu3?>c2Xtq_yQz_+C@!Scl|?iAfE`IvaUz8GZfv`8oJre zo6?BNYPTHwD)z?EoE&%#Rp(Y#rgTI*t`DZHD_z3Ff|CeVgBvB%w7 zXJ{m8Odl{U*t~DGw+rMxU%prgR>TxbSN{Z}YDy%gn#17amJ1W+Z>zQnO2Jv7{WtVQ zg@jZr2~Tfuc0WKAD`cE3QWWuE3Jm6nXvU5mdxP@=IlxT{If6ybqq+VmemnIYRYE6G zFOl8_L>B40anQ!~Yg-rcpVGDJg{qBCDlG&00w#jhDq1!@wRM9s{QOmDd8L2WkFqKq zV9*x3%{l490165?U)C_K?g~M-JZc}h>?iha0Q)Xt?zt1Af9_;GfE|U6a zlcJ)S)6^Q?)YJ_0X|xs^8=*zUbwK8j<+e4?lw?uA3L~I&bBjIQB&r6q3Hk<5o~^@{vdG$WS?zxQgN5bTi@WMeDNR;{>hMAsksAPf^%DT z*T;`&^geHgU)!JlYQ`4T^(Lvj7YXP}i7nWOj23`?=i=gGXE$=;138`0kf$ZE7r_iQmyTz77qktE&qGc7_=V;s*UK@|0^W843+_l||8s8NLr*0wM=T zpWu*+XQ|3Gqc5Q0MUNiYUATaL>hgHzydL*1|8?yEe^F7aSUQt3miNSC)&v;Z?H3tPbbr7 z`R&B6-^laaZzY5wEWsuOp}b8SrLy)t<|N@1uXSu6AtX9#Ix~n2VU9&-1!N!MYTwrM4Q9lQcrU~;`WJ}6u9 zzN_mb5aSj2=?y{CMcr7n>)67tkIpO5aijVtmR{vqp6#$ex693-otj~=Dohq{9ZC9o^_czMwSe+4q;wn#m? z1=;MtIxb;m4+>hrDicqi8jGxGWa&4P66GB*S1|bTaUH+j{TFNNRML+s?Uc04L^Bp9 zsuLoQo9#}|2Sc*o^okfPhSu(HV*fmnO3Q&g%Op_q__Yu+d=aDizkW~tfA>TD?3k}) zQO_i(eZa-{vA^I3ZaadA#DPTKz{C@_c;eO+ugMNjCTwYNFv!5~WTJnQk- z-)K2nows2SHMO($xWFkPE6pIPX=8W(f(NIRggAq!ik*kMfsLE0v!jc%lZ}%H=V1m> zRc8lhH-d}RIlP{ljhEdy8x1!rUj|Vf8>jPl4M_9`@KWO5eKKqv-Oi<`$LP5@hpesY-PQOm#RGq=07{@$Onh>Q{?1a1Qj&cD|pps&aUL_ z>U?dY+@6%ga+|-;p^`&Uujr^<^7rXI)piNrRSh&$>ayC_T8Cul6CZszNwMiTWOyl2 z|09crWY1mSO&5omSr0$=@?f~v7UgkVj3;_0bMD?6dT)lVBSJg1U0%o2k2`T?YxFMG zv&+RD^Yhdli<3Negzz!_Mzqb{&U;pK6XO0}HjQ7oa<5!$xHTpE`81XDjryzi>p#1i zZs8a33}95hD!2KJ(Y`0*=9)u>8YRDcz8Z2L>HTnC%%`3~{MnkJRkxb1iu=mFfCb;)R%4ku*c+gU=Bw*>kzi>8xC0$JEED)L~W2l+({I zGpIg1Yvjt7y|7^T@IZMIr~_j zN;O;W;w=B{OSWNo{pop^;K-QthxfiqZAn_cWiNY=|Eh-apHbE&z8ia_zX|-l$`rvW zw8>h+i+QUBd5E#9kMnHO{PhEN`%Wq5yRkFOGMpa}uIx1D$`%uO)GcWmetu)-rvjt4 z50B_~lsUhUS&@{I%aq2*_O(GbUa_I>z(-2uGNuTJJUlR zDRGiI)aCeoXT088)P>a=&f0^QRC+CfZ-Cp zTZxjBlNGglU(Ahd8Qys4SjCx+*&_;b0ZPu5O#d5|(f{9nl^55?gzqu`>)UcjNjx}r z;WsT)hYdc2qobv+1IK7QsK5XHa-<&qfJ}8b9R3|AwA(U*ZO{3Z_CeLZ0s*`E z`oBN>XS1M)NPceaMP$=WOnj}Ymv>RaqBrga1O@b^ge>EEcNR7vxKGBt%Mzst$tZ>r+J z@)#HyQ{WHD@#ph~pq06x71zJNViiY{KC%+wbvJ`S1|Qg3=<<;=V(I~EFBNs1NtE*( zovWC8uJ7N!ePzSnU-UxbE6rkpW_s~8>)sheEiS+2iP7Tw`(MQr57k;nZ~XfYw}N!U zN!Dxr{=)!AjLyZF`jxS%N09;FSN`=w@8S*`sp4^ez()$2WDT0E)eoGaCA`X1Ox~{f z*QeYHK?YHo1w3PDj%KsxI2L!s)E^>QFArHP4`nOPQZ{h-|75M4ulD%+8?8EL1xe5YPe!hE1TA&IfoU2;mgm~PUwjuMLcZ{hU=1~YJ!pOdAL*QUEzKZdtRUdWMdT6= zLKfxp&o9Rai!}_7H2aITY{lxoeov?ce~Jc9GSb~X@vl!i*MD24*JlpNUOR9krYpSS3<7$0e;SnayMziiJNp4K)0^UeN0zKjD;!xJmx|LZ$IgTQw0 z9s!*noKe@3v7oAdzsH>chifG>-eEiiUbbWaz=g(k{PwNMG~hqa+2&8CG4+7_#x%bD z_~D4aAZR=hZK91aAzLG@t=2iJVk35P$)+K*=cyd#l^KSN9ha02v|_y7DjyHdtuw1xrsBcU4x4cH~BsH)P|Ar4)SfioaMiXUQbEL3r$ z!$-XGR@uA1@4Cyb-vZ;Udn*D?DcNGZK=Yl-$N&Hd{^xf;gG| zht1CnIB(bLb*wk_%&gX$RWz~t2Io(r!p7?OgN;_K(u=#iR0o8ZbQiS9vRkoI2i+F9 z8Mud&@QMn#b`Ac{&zBd*z!@ReiK_=ER(`#fY)uW(@pk>H=;!~l7bTu%1%xLb(mMXk zq$h@p&>cw2%a=iQafSElN5SSDFW{#u+=z`(M8swZ4nFa_tmokkfo&_o9QuJ@9oKQ- zOFeiG3x}sAz^wv?XzXq<;Lp9b`Z`FQ$p@QY=9^&_mzi7QOX6mGCnu2u2MD}9ZEcyi z_1PY8N5-(T&~`urf;bJ3>>b~kmM*~0uR(Vnz8228T@H`hHFA%(NOydx{o|-35DkX~ zY}l?<4L|C_f~%=1)ki2^P6c;J$@p9G9h%+Wwa2=@7d-#fJ+Gx26BtdAvxqXa8~yrK z#&fhygCoEL5>UMPfC|I}>#HVY)A&gXmvlUu8Kud4yQ_iGHHpJIIX$HCm5zAaMcC;C zBJYpRWF++AiN;S1shf}F)q~MMol6TTEIC|M29Jz3C81<$$c>u~x9*Ro|9L0P5wi`5 z^*2yKfo}>O*Hrb=(^D@1q=Vx$GxM4jxxrFs10|%bjz}URbUiL#dH}?4icT#2NU`I6 z6%*g7qY9mn{aOgqU+%T{g1!V~4x}Scj<$TE_^X)}>qp(XeS2u5r?g-i@I>?WvTda* zRPNX@IR`J*zb^n#&w*_Agx4`TgnRZ(i0L|LUOJQ5_h*=PM0`!YBqAgPSp+SQ&L*zt z%OBhoxTnXxzVz=;EDQ&x3KCwfs*&&goh{hChHcYTQK`aXu;WA)d)3+BJ%q&8o}LG4 z8D`HZ6fF%I;mo9JN^3=Wy2?^Ue^+y}GVP8qHE&aCndthGJ)4LqF;;s?{FWO*%vp`EAwYPG21(J+Z=G-JL#L#}x(sA&rfJYwjCFRZO zg07Lff;V#$O|E1*=AUbAh-|3dKwGA0YQpqgG3_BKl=vJhKRX+tOl&JWRK48psANaL zO7|C}rda=RD1B<;Nwyx<&!wIj3eeH1hg?f(uH^j^3>5Lp>uG5jW=|{=4)qljCke#p zxDWh!D-X~9;<9fcH&<~#yY#6sy@~Qr2f@4b_2nKT(Po;)BMW@2ZYM76+ffRqecJxN z9lCtu5jn^DexBsH*9zN@t#*Kl`d!TZ`wx0++U`mYe|Y*ENz%T@=MX?rx0f2yIqcPP zCwc;6S=6&O75k3F>ziUi4}SMht+qy;0oYEYkr(k-*<9`yUjXz4qZ}2_Ia%J`gm1FE zqnh%K^gDDXEfb|t-+c><-CHv@BL&<_SomY{?DegQ>$z>>M=e#9<(^{a6b8LKqvz81 zinhMLWPYC^!QOKRsrxgoj?$%H52l*goy)CS>%{M2cNZt(mj+KK$s7T6 zrh`%6$BD`eu{+}$RcCKu#cyAWvJ6{GIB~?)0X4=d7>o9ix=$O)q}+}VAME$;WM#eR zoDW6viz{pGYa710kc!`x+O z^4d{mqy_SFT;LT_6?0)3+4F}-o=%=BuSdIteJ#o*O?7`4VxAC{CfZu=y|g`(I| zOYy<7LDamIXfbQ1Y$E2FBNTu7!eAg9eA7GnC1vO?xKinra6VdDeF5TJUvqJrfK2Nh z6Ec;PPWNkO!X%n(u)ARoJ5sd&fdoN#lik}S_`#%CQ*1Rpp4_dG>xvx()~y{v&wVD- zD{x+B#MM3;8LlI~%CXgO1&IzMX>q#f2;ChifJFBRAHJELSVR7hyx=i?SR*Uh)FPn$ z-Mi!X>27L;w|b~%a(U1Nzz*J%&&|ERlR;Kuuf%+4e03T0%mh9mg-C^rZ`q6IplWF z6sNM-Mld$}NnihQ#5_fo3k^QE2c7Z(gP?9kk?xLnr)O09hysOuo(j}t{(&A(jROYS zGIh-i=2&W8xNzYFqP28%z#l@=np^2|UWt9U%O|P$VG=t`f`kHN&$7J1RYXFHJl!Q*n_bT zXd8RbD`;KDh7AX9UYr>DOj{ILC zGa}}U6`7EODb*B9H%98Bon~ITiua%SNh}d3Iv=U>XE(lwuS85}?99ek+`{Z9jqe1L zlLD~}YA1myYDmcF2y+2#DH^pQ>72XAv$VS!X|49BK_37sqfi^fybQGh6=K#U9Jn1^ z&j`zn#tsqw%h^DsA9CJf?}EA zbVG7*^Xv%pzjY&K*KtTg7GXwWAV=uB&xLh;Usu;4X+18`AxHG3L>SqbCz^lC8VQ{# zh|N~)jucOcMZJBLJF1`eWw(UwH;qM_Pc+SK{{E3mPfPOO{1JX|=DD1hm_f+h z7p%&B)pTOD$R)duDJ3u*pB*@F-lpV-LR~>=IAd&Vqv#y5eJWqx?235GRYZo##vMgw ztl9DA=4Nq9<(4;5i#PY-k1!f$q^6gV4&1 zG#o0p<16%KSo2XG`}_NKOtE33!&;}x0#ulsXnvD1v{+iKzyFT zn(_4ML0i={$xOxO^3|C;jlv21Uy-4JDp_>8ooVC(ufcfn9ih(}U)Af>Mo+gDjQk{C zGrmFHV-r2n2(zgCYP)}Em%f%d9`Mbecaq_0V|MGOo%CJnOEP}Xq{0XZ}N$G>Hax!8# z@WhOU=vlgxZYR#ZSeIaJ527d8&R=b}|IP3-0!*Z`Rq@uPqzYrn1TC^kb}ZcKKF~_% zePW26n@o(33~7^M>-I2@FVagz)EMLc6m&}j`(}pZA zVLgzGkm)cT8p1H!ESZ_qSfgDU^P#ABMxnL6bVAO#>rzVcef0By1OO_ULOfS z?v~)vA^TRsBasVhsc-A`9tMAcQGr_nk}knR;zFXUBR`G`EWQ ztv)Wljt$|tqX!!J1xSqaveGC4!$&ydwlbLGY=wXlM-Ynb(~`Rf?7p2Dpd=|KGsYg-+Lb}uk^E}eZYDda@$RDIblD~&AU4K^ z*4GWX-~MEA-|SLYruH1fmIO}JECCJ-5$O8%?zGFkXk(w9SQt1pSc_ig0267CWH(b( zXpfGn_`=f!-?ipkU|wXhKfW7U-=vx*@g9A+4$+&!)|<(-6dd`~gI2Dm{WX(v-G}Ra zXPPyXe%Ij%(?d^nkTw?=_I24k1JcAs2bp*Xr(a#)hS z?&Fff4b~@&OaGoUz8i#sGfU&2*Q-|THt){VZaICQ#*Tx!u4SZCRyOXn@&3?j*K)M2 z^PR4zXYV1Jn>#9IAN$JRkkL>Lk{#}Z+(245EiU!z*S25T@ldj|cJ%brdpdau+=Me* zEQX52u}+#8Lv(dNuS=s|Q8cKW> znKJD^r7PYb|6SW?;Z@LdVqaUNG-_7JbFk=bR&-gX4Y?s?rIj_Hp*KYXMvm(rnQfyr z{jQ&iSmT>wbe4|rm42hU)EWWnWOT=v!ZAlpuTwdD_V({pCyTydjx}gG)WO2M^WDg? z)x@yoIwC9OYJNdMWRK%{S1PY5qc7M))r69(n5*04M_XX)C0(qaxb!&OPb-c$lPmFh zHud%Vyib7Cy^Gtnzl(Bkb~f!ex9_N#si_8|odg_;lBg2xk>_n}CSR8QYHb2-222s6 z;E0s`C%v+~{RDOd0$Us@DmirfVP~c$@^~WN@2*;Rw$~t+LNQb^)od^?R;YTbC)3v5 zO)bp79|)tS$yO%aIxX@7_ug#W%Zmt1nY-=mKOm9vyFOh#y#8FjQ>AK6fzgRGXL=!t z4gB>a<;c$$Ya@^R>V(JfnM*&4%JQc-9;qdM(DSCv?G4W}o=n23OS@lts7=KyLSyzY z!#Pk#5lh;!wcCO;oF9hSEXhqFuxYqoGUZ(U-P4mqTP{AY3sT8mBVg($e$1{y1X>oi?r` zh$z)w0`g)0M;|kFk1QmE7!wkv-0}|3+z1$ z|4Z8wuN|YMN!hRCeT?Y33PPNo{fupXq^*jh-p9ku?NmwtLxvwmb&Nr0!K;Rv2RX;Y zBi*elKc~Ni|;{^VVeU5#PXlejt8b%H(YoL2TU6N3>-@O~tP+DllHBV)w@tuT)Cl=yR zDga!<70ws0QMo)@0N&#=xZ5#{<8FT=)t37cP$ZXRL053DvT5lbAS67Dt`p=)~_d(58sk0W zMkoq6*qJh3Rwrj-oDk8k4@D71Jb&5 z0*2YVWeYwtNhwHCQqlwP(0e4XkaZK$vVx%xIyW{|kX+D4E$iB7yn7h6V8a17hMw7h zz+T&buMV8H>5DgT9|Dzc=6YmU7(8oElzP}5J^BJFVpy>GA&VZnE{Jykngqcd9#m=s z_OS2X?fTXGKd<7@qAw197+@2qK0rO4jX@!UX@nS{Oj+5JqMP>|PIbns6+(oSm-nM_ z%i4ui|5;e*V(aa?_{(wWQCV3T*!);dxx>R6gk&Qlcp-SfH~~T=JU^Jj!3`|)RUZEM z@2{=_csu+t-)b25ArNr<-oQ|yEAjRHjl&swPBwOSU>x}AG>#qXSsD4yLZu8qc?M1! zC?LTwqb>bhAN^eX&$7hJLRY-6;#|C)NLAsl?T7yTCVExsir1|BpHUc4>Z*zzG`-h$X>%tF+?UOqAF36nrn`nY%2-LzoJ^ll4n3lx717-emaQ$l) zhcpi?GMYb6Ey$0Kjm;M2=a17gm=%diod2mo*wpy`RY7Tmocnc6%_2TAe1lKc*f$)1IE58#m~YHjJfL!%|=Q^XK?P)Lz;@{XX*VrT*r` z8Nf^yztLaAl}!oEV2+YM^Lv$+M)Xtsr)uFB2O9x6mALEvn;$@{%}q@P;5}fRy?3vJ zmgu;$G_mp%S%l5OOfN z-vj-Bhpnl?;=;m>n|sY}tBZv3+|CTZLUY)ClcyU3Yp+ULXRF~;O5y>#w6(ovkCncP zEnse`<^ckKwh5oz+rTFu@WR+Bo;jn(_BbU}`*fkUUC8$)vPqO31JB;XIt}8)FTrTQ z`P#>>RoSwMx0mgw=wx!oN?Jc*Z?QEs<8c1egoezX3F{p6Tn&h@kdrgBIT{e~TyJCC zQipj$V&d$@w#BmFcj}Az=XnT96jJ{v9ee9AZJ}u*OmpCBX{nM|#4PYbFk})wMaUcD z`?PiEyOL9@iTTa_aN);}+Q6~)?OVOH-VYzhv4%uqrVn+Ji%)uc)9!l^t(omxB*s&! z1Vu&Rw`6Fn%J$gZO~?-`VQ?ziP5DUDS1EfkX}@&b!$y5a|CT!qcgu0fu~5KmE2nVt z=3b#Nq9c;BAkeY1dE6>Y*hbT)Ndh(-Qw8Bo{3Lk;v7&mCq!UTs5t z^*i?IKhProZa&tV_Po4CU9`TTd`9sDZB~v#y13ihO%icUH?xa$sZ2SJIZJLoKfizajabg`a!v>KbwgfM020_yOLyA@-h)jY%9^ zt8;{*J8pM`9F0FiYhquorRo)-oA(C$T%ha_O=0vJm8u~p`PfTAp{YriUF!B+Ix)#H zuprS~nUI&izm-K3t6Bp^KP)0-rG@t-djA^1WrsmSYe(}$6Vu7#s?=VzQgKa1hdmuC zCf~5*4$kDdSVJyNLuUsg!J!$~b|zZmcJd8oXat=mfYM$NIC}tU4jU2UHBhpYyA6ev z2zG8t9Ut*dK7rD)Y4dZ{r2#M2=S@me4|Xw55?`~(<#GHN!muFBzhiVb`9kuJb5=1z z9vHRiq`(}I4O%Xb&{)dY$XBwM>{fh|RM&yd4k@@g+S*1fBcr1&vIRaZvppBbO~m5n zVS(!rkA*W0jIe*-@TgY0GP~Mt+iew^=m4Arh-mR&Lr<3m+vBb8tyn|!va{fo9fb#p z+NsNS_O%rklbv9~fg)+g?%0@^j1Go^ih?*Tw$cvCOiQXJ*6yu!ZM7#)pMG#QQPMik zPiE2qRSiQg?r2TTCJa!IEhU*eJvUGmb9k*WWQ!- zDH%jFQ$15}*}&2?Err@PHe_1adU(u$V-$|%{0yVTe3j~!BQtNgBmaEUP)ZQD3A=tB z5UM;}3)-i~zCX{7WFuiY`{Y-B^$WAWb`c;&XU5W57sz+h&A5{Hei?RAy&^uRBj|zm zk0{K-&Yl<@o$hA7fou{2cv^0=mUpmS{#FxSiVfw-A;>6kWsxZ-bnsxC62!$9N8Ad+ z7Hg6=yGtFW3KfaJPm<5BhS33KlhgQup+em2-#_VOShK0FQt}M8s7xj%cefQA-R!5F zv$)h(&S)z#%zv8Ww2_cGRtd#VpW3?$dEm3q^;;A>nJX(_dFl&H0(hxt{C zfS}2!6H7e|v84vE^M#vjuHq@rV7Tab|s_hnq*Vsv=~S97%Aef%B|9x zAf0xK3oqHND`+RlG)d1b(^{&h?&u!VRMeGm8omPeVq-It&X|~xyN$9}%P-~Ex5vxv zf|ifkkZ1Z7QR{(>9!tcNSX`pxSP3Q(zQ$x#U_Q*;%(5Yv9x?^$TGuwN-`gc&G^7M3Fj8X9T(2X8oZIP#$>sstI4IdTS$ey{XCST8RGUU(DBqG4N&Cd#>E-apkg%=y8Kq?JyY&6h z^?iQd4p{uIyI1*Vh(Fn$Iy#qEKIUm_#1|l{&k-ib5q7#D;3M(==S@e>~uuQLJ~+xc{)k=X?!UCWJxC@6Dre4a6r#M~&E8lkL%FF_??&kY>UB`F)v4WAk5|$vX+*&04mg3Q3pk%#JWQI|MvDMu$!}Z4p?A z-M9R9GS-Y;hfn}ADl032)EXJJ0PvsPJ8dG0-<~mZPEWk30c_Al@NjwW!EPx}r@FOp z6f0}YKzoy{h2n8rV2PM=QP8ArM7ux8EBfS#6K~n=$FsR?c1sOlD{>}5YZx2rc5|#? zwNyb~E+4cxrf=2)&Xydpq52JVwTB{%sroTteetfCPWp=j-t|6^9B5G!lIYl`=Br2c zz4dT(&yw(1PWedsT8Yl;p3>Z)EQ_Q0u0e)On>NLt$^q8qA!aXnpd-ga=H#)DB+|pg z@KzmJP=FdX8}Gt62Ih*fg+)P-V2tNd4`FUo)7IV-G3cywR|lO|PMW=kg*)2E9H zo4^3PTw~pg=I$j;E?{;fRTZXMN-!Az@Ho0iQIJ47iyeX)%EQzK&y*6+AnV+ z-sy(^d}+3%^)P98baOS~C89B@zQroxF>7jKnT6GT9u)vHDYIc82S?C(nVIH@ z4g8Zl)9;r(<8vk9F^M_`#P$~r0(MVX>?y8X`T@DH@oA_0A2(;ah9=Uvn-xrsi*{yu z<;)vS$7B4c{Dy+iTU$h`fn&LcwEd}(7lU2#UYq6ebaup;k!Z`TxO~;*2UuMtyn6`a ztUMnt509#rm>d769}^{%;*6&wEfke2;VF++_4-^N>6sWEp)}6hDCEhcp@Wy*EWyFt?@~*x{ z#O(c4)D$_xSh1sx1pX z#tQWJ;!h~b?l@932p`UcI-XWrvAC;n3eJ!7Mdru!9^sZdNj^}V6G(3r)?eAuTcq{; z3>;7y8uRl-l3zPr*PesqHeQ1XB*R4hIOd&+EVVHHpshC}b(2WLM(gMZ8Uh>#?4Gb2 zX;9FxA)QzZ&HJK#v|ap$nUU|tJHv0>n12He#1H47#mJyP=U_>b`06=rKi4bh{pI$? zL=PUSyMvR{@Cfg(;!M4_pb<+A$nozuVYV;v06~M)qN}QU)t52)cW9E?+n%26hI}8R ztdIIf<3#)`-pB7^W3%@%)Oz(~Pfg||++xCf>jYjFs>*8epFe&)Tu-m)4tALJj>G8K zFq`%io>gLMe|90Rg`sPYQ#t0o?$4NRg)b3M2)xugq;p zYl-CU?__p1CA)8m_pKAWduKZg(b&hv&cvkr8N_m9`Tt<=%ipQ)*S0AYC1WxtLnIW- zOqny3p+Tlfrj{{f$WSDOD6^7ftVjbwRAh?GmLZ~4$Pg(r6*9c%s-FEk$NLYwKfKTW zVIRl7?~S#--_Pe7&g(qS>u+1Q`rA6zG31*DyQ6CCFtzZo6f;eAOZ=8#$n9VIZIdak z1*guC=3EYNP7=+gffuyxySeIW3NtD!VWn~N*1`4SH6 zbX>^9YrRZs6)G8dd2ggJ)IocolS$ic{!~jfU3qmJ)4@a`!zY|s{`;;wyk`_PCz9Dk z+^mw~E}Nxo-<&TlqP|ygub$?ZXFHQwa<#`>f8~Z!Y;6S7{nDkCf>ssf(~UQ=?zKn6 z`?mDJD+N`4x^7Uym+; zVgE!merl4d~kFut3*= zV*%EYKY#XY^Z^Q5bl(@2f4svm8}&98F2-)=mV;K^yrQ?6FZw^?hde#S2AN;C@T0-k zu5F;95yxCjKwtojVwhZEl!(KH5fSB!qn?E^$W|5>_s_2a5yRzGiHiFEakUMQ-VEtq0Q)PZvWdddVLJm}|<&$$eul3eZ_d`R`d(Qgs{|#Scsm0l(m9 zmKR{;gCua^zyTmwxhG42{m8-NZ|`20{{K0b!*uU#$=BAs1cEz0H0&7sdEI=QYG(eg zX=3>ePM64rvo-%cVqBJP;6ZiqznY@|I)VQy&H8^YIt!HY{>>Y-hU&6jbX&tH6;(Tv z3jJRpT(~0d9+ahv2imErtTaUClw&%msrZg@32?=+{Z-M~mfQvS^YOz6495WgL79LF z3CVs9m1O=-w=DA_xVdAcm8K?e_lp-x++VWntE8s#dk-|=rkg&)HZ2XDMkB7on*s0i36uETR{B`+fH6PN_Y_4BVR3Qt z>(_#?^1xCA$gnV>c=6(PNjnu4$0}LShO$t5qqzhI8yRRmVBrEN=+?lkuf+sbs;U0N z4EPL37#|fwWBA@92xc~h6^t}&*@Kk;gZ*Qgp395pmkG0aYC#P6 zRJA7}AaKeQp8ks@oho#AlkH7TQ8sPBR;}=ZHdIu6>pf(NCr|c3g8Bf3H&QCT=L$-& zL8xT+VRQJic<)SpSEdA+zpBhUk~0P;@bO0BPI-D(m1}qjO2PNi(}8|Gz3}53+DFjn zT|Yi=K0)g4>B-5^{EByT7Fs&|W4sOfRPTLY#KNsh>{iwpWHWp4ERcSHwJyQy2WFRd zfMKVnUlo(4rn1%OuHMUiRB z_oKmRm^~4uQTxh;+rR-t>u7FHeS6hn}@cTtA`%V>|vxa{b&O1Pr z3)iu{>D~saJX;(+U|N7JK+hAUxL~8H#ktLFkG5!nH`!^}4pr>GvGvh2;|oVpu{{z7 zfJe9n)(3_~{?)HK7i0I=p<>O8Iz7$sDINRr<(XCG6)X_}%m3^418~ERit0o6j5-1K z{?9x|k1T(LlMrqdh?0S|l(QJ$Md7KynCSi(9+5b#bdZ}%yvC30f)Qs$`^(spBc&{5 zEH9z3xm1axhE-w+2|ia@sH}8w`E+!y`O0M$b9G>l3FZ-qk&!oUe4M<;laZa#-18NmS~?Af#D{yZq;utj{h>+|LVRF~HcJCU&f1S(BbV2Ea|xD4RRP)d>KXKqA9 z$SUfhHe+XHEr3Ddj_uFl@#%p&`ry3*M~`w%{aUb2nDpzqp0E}FI}H7t-?`v+!4J;K zck3QY9vlrew);!5Qxy@GBzU$vEgt~;=DZrzPJ6_~jo-air=fbKlhlR&4UBG(g&y~w zTbvuEpl+*0&hK_VV@qEi-1%h=_$R*MclPh5yB>T`8gA5AdCN$3&PY2gf&|z6ty|^L z+9&(bv`6~zu*2Kp=J!_HPLLiYtH4RtikfOdl2H!cTSd@& zVqsZ(Bi1}nDD$sgy}}t(&aEvydg4TKF@aL=?UnNYF?0A0;(((1-xKm#n3wCro<>>d zXmIxkra!X2AAS;c{rZK96CU=1={NDPhXw~{=Q@nUe(W6Fd1myNT>>4|T@l{-HWGLpOGfZxMokjYtV(t2TN%{ox@E0!In(@3>mC!`UrCCEfOmOwEM?+ z;`CqfV(14!G6sWAzBgruThl5K=fK}j6qA4Z!%vO!q!GkMx^j-MU9$%EcmS#IukMnN zFgO|2vRg$QrF-3?&ix)(JK~fM4cVO@!QPgHCabrGm!^)#rQfdpdK)KebbLG~(tWOj zj1x>pp!&R=kR=7$)^%*)NQ+Rktqq5T-0~oj)6LQ0s@fP zz?<;q)gpq24LVGSyI(awd2s*!e%=Gnl2iq6g6U^&u9GzuqV-O$FZ{(I-8r9-rEt>| zoU%-#G*J4EoK6N0`3vE+%m6*rt7`^|re$h?5fD!+wJ|KXfgTgCu!w1(h9-{h?KBQJAMkF*xTP<9gei~kKwX% zD3+nJC@7f4JAgMG;!2XVeIz*Wi*>(#XSmDv-7z*aU3+h1CB8+)-RnU(F}NLBH--=! zUw!m0z2$|IUfH_{JEb4%7{x@5YHVQc}Ubt}6 zb6$*!%1S@nGJ*u=X+i?ZLYp5K0KOflgqfh{Y)Chlpj|?rjQnf9kncX|f6m z4+Y_bFQlye5hEc~H@MA5wDSUFhg0-)IPHN-;5&nTZ1&uRbZG=R@7eR`yE@!XgI8qR zsS#-zfo&jPMn@I#_7IMcH7Z*=6DG?D(h3Ui5q?i3V@XQF?c1h@4_8V{Q-8jcnL2?W z1*`#zay(E9@wf{c79G$M|5^+kW-KSn-ZHf$$)8QNXresUg(oOF9zVX`8qYiOx2E!8 z_xKWEV9<=W29w@+tbC|HjUex-B-(EZ_Px4WWNUwB_GrT=|#bEo2CpFuR1_ELbE7_0 z5##6()RFKExCq-2&{UnC)EZMtL7q77W%yu`!QDEYhJqMo#D_K$k>5dmg^)#8b8ze5 z)@QO&7Do%D3QYR}zMeom1YIO(UijbTsL`axyeD{w+B!O*VN;muDL-x$L z>vrQ$Wf-XZ;;NyKhis;ML|R%JYBx~Hu>Y6rQCPe8-BP!hG{`Iug}-C@A7cHx{Mw_5 z)Kqz}NYs)IfQ|t}7<^qyq7&j~V#>o_xBER(0p9L1Iax7pS2coz9)}_p`l4RNbFV;p z2cGJ#w2zkR6QgTic@7Unc~Q!QI>jHx`yH7%X8AVw5~#hT0_4xkHR{ij$;Yxx%H{`d zP^!a(-$C&Cpd&e;mI8n6vQrUpO#e5|-dq3&i>vr$}3&-NbJNXHlX zMojwFySJ0rV)8BE@mPFf;)mYeC$rZ**HT>$-ug5rM*{FP7N%3WANy8Iyg^*;U*jKt z@kdDM3ZfhE_>+uw1=Q{zRa>3s zKgmD)#Gbf*-MU9Otd52_LIL~=Kd~DD+^}Q$X2PSVgLLAPS}G; zdzkjh?Z9?ExKJ!|oRK`+sMN4llqO6IF0c*`4@b#wiKjJat$!`q$rJtjmQYrxSjrD4 zrI2(jQC%VB`;vLCH6;Pv1aCZ!{>)C}hQi$)M|T_zMKH$I#*xMr5oS#k4^zC~+aeZ- zQWQ;@1J5PwA*GwG@!k!DQ&~ByBOr)LBlMVsu6`xvz$nb8+_1KiV$S*rw3FtXhNzRZ zg`UJ%4HUrIkh=s2L(Oe1(#awi#N?H$o_pRFz1C?2D6_rUUpDL=7)il?2>vS&RcA`G zVjalYzH%%b-@*Ce(8E~Ab&u^fIyNJr0O24F;T3UgMl*wM3qU5oLXAcxPuEftvXy6gs7qc!S0M)bDK$nc6uuW9wWoU`tq5e456}S>Hw+XhvQY>gZ4xv6C&yR<$zO}Uv^HhY`n7dFIAeZJ=tS9vtA|X?-VO%(5$FE-< z>>grckGngIvnb~W+J7H=!w5nuO%NLR&Uf!@r9!8Wl@X$~d<5nDa+E_`pan%Xg)|U- z-^AD$`C}1wu>*O9r|gh6Eq{;?>m2hYMS1ya!F$oM`}!8cbYXY9%Yo;qc=ujJxMd`C zkP&943-AlNq@Lp4+f%qPXcPH(dHt8>-S8mb&Vdh)9rN1nTU%RI;kV+Qwr0ik^ywW+ zU!j5=A8$6b%SVnbDY=N%@F^s2>SKf)wOjiA_3_shRORHlzz#%;V`lCj9Arg^fw~>) zOAY&^p*#Wm3d)p2JUoXW-9i0B>!~EJM)~l~ssr^vnjwq_Ud)G88=m*ZfR==g zE_zoj*&U>(3qd%+$%RujhVMw$V5I2o_l!D1%RlzY6w|S66qvBW(DFfN2I{Tf2?%Oq z?i$@w&$Vd6Mu@j{Jw23#VA>(*fI3OV%;$y<3^V3VS*{+!r_U?JvqT98$O~yjfH3yq zSrh2OGBSllMf2&~92YGgwA@ud>4oO1yVyfy^6`@=u7EPEt<~LeOf^a$k7jarj75wN z4HZI*k8_Umc3$E6*;`R0(0G7*EIzq>1EZ@6@L$;ao4>Pe(V$IwQp-esa|bURxD%i+ ze^3w=ig47x%QX6N=v5LU?Nsk4RI#5vAwz+;j9mqYY`@^{+|c%*hFXj?teA){3LWAb zHW)3>VEv`>Fe5~!D8Rl|dP+F5C>F5Zb+M?(-ro1B;k80yU&YML!^>|kneyog9272?1}MP|(4 zL6hwhj{^=8OS{i`;zs@;_!@sX*b(6iYXQ`ZFt7%T7Ufd-#|PuJezVlnz2TyTGr|%n zq|#X|^*T?yq`{LH+i(n!mkk`9FlYtvbHV{FOWE~rxX&A^$08Q+MNrZX3S*LhfD_Fv zu&{o#)-UG;7C{-uOTP&35`YHu79hP| zxbU)Aw%E-tDTnZ_Ct&RMJ;lSi@k?&Z%)S_~Ce+ zhoxrYK0DmfKav6-5BSD-q77$)vGFS&Jft~Xf;3yTe}E6MO|_p{HLFh=B<0KS3{J@{G

`S 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

  • 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 G{(k{iCxA%+ literal 0 HcmV?d00001
  • HcF|)c0NT0eb*f=LdDwu58jK z=kM0t(Ftlcwsne_$)mAT7w5ATe9s>-eui>rSi{cJ=YTfTXGRSL8M1Bc54AH5BegYG zXlyG2<5w@Wov%Ny$+X8*?k#xoP<@0k$F45Zj2(+!Y!Oczh3PTg@2FU&HlNQ~Ni*0{ z!(pmRZu;)3GvJ@46+&vQTpxh84D=KKi+M@=cbykv4B2Y*Dld;FbjuW0s|KHFjENmw zdaNCM&`D#?<~iD+C>?8529e4MjGUBzBfC(M9X@)rZ&HV3YIXCKuT3ALEJhR!Q9dQQBB3Xwo9z9Acrr=PK2r5!h$NvUKKGoXR_CY6E=UTf58~vnZWhvT& z4=m^*#&mWvNZ(zY*_y^Iv_~oL(IWyC!-^!|L51cnC}9NmNxEDuK7lDuem;gf+7IEu z7p_@5giVyuZdQ$G*N`%! zQ>U&4g!>w!9k8-WSZpc{J7#USG_1p!MNQ435q%YQSkssdoZNd7x`fAH?cR)^K{J*z zvKhO;l`Oc8p~dLM^jd4M8XYC&!s23Wb4(`7;*OrX-htn}IZ4=;STv||{IEB**Kq~Y2^@y{a&xh3HfmdU z7{rT9iiGHf%*MQr(GBq?_Mja(61rR7XPRM{ck-a%>Lvc(X1oaiklLKK^f7znNqIO__x6U1Ao5arbB%v`g%zPZs+Yxu!UPw%;@ z7oH*cJV)r~660aMmyBsiyab0xhpe>9Z{9NPx#18j0~S>Bq>9^H6^d=HQeR~}^zw~Y zV|Qa-9r^Xv#JhK?*=f#itKG8mDy6l4E$t36b>>;RC7oqDATIn?f{yGiNoGoCx7?Ny z6{WGM?eD*UD2wh2stR;$GLkKEv((SXKg63sSQz{+y4Yk7v&SNA?bxD`YSL6LbFkBX z4Zr--Tfa=52WsT%vNARjA!TI?)GX;XYPClJ1rv0gOwN7ZT^>l6dq3Gy-i^U%cXvpn zg{dhe1ve`zTEUpEi1C{G#;~Sgl`ETaN-}jN%Fk(W0@3 zOW?wc;0f8Ju1TJg;H-UBi_SPxi~)s41egWe9clf7MtA(ceky8GuLT9N*3zDNdRxAaF3F zMsDpZufT;fXFlL;OI(w9X*z&pDWDo18#R!rUHG^m^y}b&1nb7N0BY6v&B#pc;X@(8 z-531)beJ0kC`Bm`uzg#a>fkh+XSlWZy2@sFVLm*=wcqN(59aM#Ns~IU3$MdQ!_EOY z@R$W)QC1)6s=K4n{&d69F#H}=e0*}_T*zjgZ{<)LcsQw=`=xLU2555jr?5e6OgskV@{i{(D zl9C~ZK97$VgNPBONh-w&m}+CYqvMU#BR&jIjQ57CUp*OmB(@mW73*p>8N{m;q*}Qp zB^_iWnSU7T>(h9d`1nZAZL4PslbDb=X6{O@!KipUEQUr>Ts*iYeoIJd#JO#}ap$&$ zZ%N&HGS)q6_Zc^1$u$M3ZZlLcyTva_kL~;+Y9hhJrCz!x5GCp~u9oh3=aM_22X8+Y z-p0_LkKvTYX$7+GtdbHLO-gN^zx(&?!@hSS2uPZD~;?C7iU;Jq4c47&#%-5GLod*7}7x2bYC09 zjRbDRh*1aq4ykbFt5FfYXiT2w=WEvo^F>8Q9_oybi`!Y6d;bN09b3`V*%w7Oe*XG} zI+jseys$Y6w3{E89q#PnRO4ji^ri_3V+{PxSb-1>Ob-xt${=OeLNDdO&?cqF_WRo6 zqo$;&sEq#Duw`nC7fBRmJ*Ch2HamOw)~$#FeoD`s;zKEawO5Ufik=j@{FpRVe-ev* za4fK54j{sc%cTl)=M(mrPl2xXLRqW`Bwr;(F$n?A?l6f|le8HB{??hEM~rEn@e4C@ zvlxk(+uHDF*4RvCCYd@qq;FjCb?E9qt8zfYRDcO{kw3r0t{T^Q3OukW{|%au4UkC| z>PEucDmORRdt0-`dzy9iOEeUAF@+BL+`CEj*;=OnHa@;QA*$~xr>J?5QfT~F_Sd*y zQW_L6F=v;j7N$Euf7JHUFNer)_Y!Y1NHAE~ELuy5lge4;{e1cIp#C}(YiV*h^TXFT z7D39VdIG@~nI|D6$CQLY7llNYTd=#$Gyd3xASL>rzvsjAG_b?S;Lqpks@&2 zS_NxX57kG6hr_p#x%l*@OH4`i>%Elfd)jB=XA_x5LPBCF=+Ps$h{9ssN${6>;a~>4 zBL@#peBai?2auegGx`gfX!3JtiPQfh_+l~@DGE-c%=K{9Ys<~z- zhzqRhYtRtPx0HmM5c$S`wF9+@zN=6@hCZV9=dWzFbsKjSFMaZ2YR}*L5yh0j1(`@r zIHNOM!I0(}J+GUSQ*h5!!&)b>eL3C>Q)r1WnULnn9XQZov+W;eisV7k-McO~)@-n$ z)5G&Gh+L!gnN+X9Z;xUOf-rJybwHTaP$>(>oo6Y2~^<)q3B=8wv1Xfm` zLPA2`zSUbaR2siKSXPCAmeOrIAh&2%3^P%U$D=#-{p*#Bba?ybxfm0^zi|?z6Ld>M zp9l8s8!GI&)at~YZz!#=o004FPU}m_9}9@Vq;6511IYiF*$3Suk51xHP!273EoEJ4 zSfX}oO#ldH#4MQb*Y+`x{Zdt*!dzE}HH}k#_a>bYuin&L(*9JO6?cwD`TmpOGV!q9`+Y ziW&^b_9OyOI)8;(5&zo+tvco+g;yfd~Hbw9y0|r8?u`<*!lamUcCI zXcsa;WE~tDYH;n$+QLGx_g^fQKr)PLDU3Phkc}?18Px_zt7+$sA7_#dF4J+aU$d!B zQ)@--tUnH0mp5HC#jsqcJ?4D#KjdAMBq zR7Mcbd@+{4paI_(aIW@-2186L$$PzDuNX5b{J$D{dP-Z%zmEn5QF>Y z`}{lWADwvLl=Yyiu}1wXN?gGt8(?$`tm+3n+-3z-NwW!KE?6P}hKeu#u6<^BSC|6k zp}GbJ*J{ma9$-C6crnIcwIUQ-w?fW+F(9D!5voRxwx0O=+F_v)zk*qVgPR7>@$0hS zDQla@b|14g-RaL_s#Mn7^T;5^piJuew9^azRR)dGa2#F6$|u@B3PXl`0Hb8T=(K+e z;B{Q*FdDhmt!*g>YE9L_st*OSR~z=JJoQ*#uo2Q+H^W>4G@82jQ?ZjRcoG$Vu_OH-5D~70hdt>kl_ZBaqw=W~NWC;o3)mn= zSYE(#;YS2!9v_vV`v@Wk->i!&M{bEiZpFHfJDJ~moB3>m$J3%rJ^cX@k=m#1+}sv49qEi6OX_z}sjWxt5XR7U zLt5eEu1_eNAoLO4qc6TVr@HDib4;G^U50WXOn`wlb)H|=9={j*BGThdS{lgh@47nA z38`6r2UOxQy5;y1><$UoBXFB!??`1JY8&7HxH9^?sp;rUo)}|fq2bqw>&0+NToKhN z`d%D0bis*ZoeO1SF_{g_S57GHD8ySra$veKYw@V$2|(c1A}DQQxyPybUgE%|^0ICz zIjwx~;O={V8_@3v`f~u68`x{9FP(dHNBM> z!z&i~nScx0+1Y8kZn&kLae#FPmS8iUrerxzZ;%QJkY!&gxm-k!lxPOoT3fK6UAmdh zu}7W}T0dfGJYCpQsb4uEN;2qX<(i4z*3s0orsH&*WJ+(q!!djr2~T~ zZcfgaA&dE88V$G7dRFJi!=__Mt!|z)7Z+&lhz2yhJ1Q!TR#Ebc{HKeY~s*EFtSNWy)CkVP5RecEUh8+~{|| zg7?LXKZ$j};}m}q+}20ds^C?nfXM)|5V#eHIOKWci|gASRLfoz9P9T$jzqYzt-v${ z3Mc*Dq4XhAFjSPSrz)Pd$B6R~l{Ob}n@InZB@lf&g<_`6K8%SdMY^LAUH40pKKk*@ zilUs{9v+>L0yD>ci<49wG!e&Kts;^f)6E9>uJg%*yT@y&LuUEp;Qky+Y_} z&#>N8mX~M0H^2~B_oAaQE;?Ergdk#>4+MJB{pc$E z;^=u*FmES5H|+V{F?+2eEY>0Oa)Ji$(`m;>Qn-}+S%L)j$fr)KL&*+2h~$=dURCf@ z*GnwG4(n*wJMfZ)x~ng?FybVTt+4P=K6en*zA&(|-o_q2({t21F@4w4Vi=|-CSKrm z`75L`hs65FcaJgGoGxo*Jwz7sM|w!Xf0vnfV%k1p+!UHN%o9BY688*MO0s-d*;#zrRk1~;oz2#M zC}AVXJCKAXecCx6Tif2fOV$+vYK9Rpu>19b+8o_Q*I}$>LR*N0gW(0ilNR9dC?4#t zkHes33Vl(CVga$gTD=WsVic;etWfvqyVYSfmH`8PhzG>Xo=-qM0Z-M&H%%wkAGp=* z#Gn-GN)!TqOaPiiJyg-iYSVy=%d}&r<|-NbZpD&w%BFD7I}efUBz|HZ9y3 zJryq-TclRpllYtWV610lb-?Y?fuU%weHqm38gfI_Qn>+ZVH-&g&f7=kJ4Ai}5QoXw zV@BkiaCMS>&ZZq(nR%b-85q!m0%dzGswV2O@ly;nK^qjk&TW*!OZZAiKYTdK-~QgUYZOWa{=4rlyou=Exh)VIaoE5}kgtO-H1XCgpoTI^O0WGDQfZr? z6}O9)L1G27Cd}nsUFUEpmS9CXN;ttKd|2qzpxj61e3vFzAZ3n(7}foKUPDMhxl9QiACTMkyYy+EBYLqlDF zzX|~zh6Zf!%zxQ?Te@J#sG0GRrGEd`?e@-SZ}g{;@`RYSzj&3YBu}aXs}VACf!psg zwJ|kCF^SO+f$8N+vi4P~rAC-j~GKf{H|E>=EeY!mMtg56v z_G%@pY~in!;ufqA=RIbv$qyg9?9x+*Z$8_R!24zn-f5u;q4MfOUVeVi>VYwW8hQu) zSXbRd&NqAQmpfm!L!}6kIGPOqqRhXY<xNDc=zWqZlz@>&KLqb9a9!K7@XPzuLn-MamX&Jc!Afs5_`wazfa4Edf2-7}{ z`+#|&3;GoF_cE|1<|iF~cHuTnYP*GmU@wsS|)Nb+UYi! z<@ce^xCdP%c`-NsITs8#4-bY%b;tgF!$Qq= z1L?8u?4dZ2Pez;hjaa_jBb*O>KEH>T9$wfbRKVHyFvdJA#Dqh-IAQ*KIN!`w_~!NN zAxdsIOrxX0ny|bR1+NQC@rZE7-c)3f)8^)`TYViaN2=oEzYk~ZMEyX>*FxXpl7+}z zPf2;~ZqYWTi)pLPEc$@L$3#V&!WnKO$Vm>BR4?bwNE?@%JSC5haNt5O#8GCr~u&NF^*Lu z`GO5racM(RF_qT#IlE@M8FNtmstd9|re6TBAukEqfQuvc{E-(k9+`x!s5qYy;|hW* zD_f|%v7z;hZ~DPV105vk zKVLAy?L5@1`~#Q>-A+ofad)TZjmxGNBqQOwv|M>o5JVzWohZl?hcP|GI2I>XhdLBv z14*z$XYsl(+#v5Kh#^7;%G&SMC}dO}R-KNc1iAPYuiit4G!ZJY9^EWQ0*fwj*kYA z(~^=smCEh=3YnCXxW4LRP0C{UBdmh5^?SCUnrG)u(3obB5J9wy)An|sZ3WBcOpz`5 zm9voB;AdDpx8Dw`toxgOM~lk)2#zs5x^C_uSCi)!nZ=;5Lz<`z5a3(uiG#3OcCBN3QJw(`O39>O*Ct-bIpFa4#Tl4 zF_GcCu#_dfcL$2A!JQ6=*l-h3duC;kW-%V&!z>=9%Mt^1c1g(!s<^e+83D+X)$0uh zEHBRNDmt}6I1r&bM=<`4DAbT#zNMAhL=Wpe5$RdzZV}f=Q&SV!;*FwWSBoeU3r%`d z)L|U^eno-pO5AielEX+Cj)sDS76gkI+X02ezF))CD|(9pbw3}53M zasRcnKI^uF%%Vnmt>Itvr4BCR4E(dX@#Du2P??Cnl;#m!6ODc`#>ddX1EPsp)opFT>@z-|Zjr4Z@QkD7E1wznpkE&b zECXp(xp;W~07X)P9}!+P5~JweLKbSRJHFL#LPu0-z{cvz$jQct0NX;4VUxgO~o{gCYtvDJgIMiaT1ukn0|U z;Xl^rK(zZjd)gkpZnbL9_qC3S=S^)HGq5W6It#(pGZWx$mT5$i_9uV0^;6|k2Z{Mh z*Z0sek#nChGYi1!MmN5>3`5X%zp6R~DKpnpYU=>!iaTc|Q#A$DCh^SPoIaD%x=SIo zL1QaIo&M=_*#~C_5V{8o2+I(>SHqRF4Coh1-0j8Yl@fd>p~J%28R+Z74LFabt5d3fH#YlI z8`{4?IsusPf%leby3cVpbGa3uJlYKLxEeKtIq5S0y{f6tpEC{jz>m3vSKBmLId$<7 z1dx}Ym6E?D@8txSFNo+Sresj1sK<`zSiSPu{*&;UCNQur43s5PMG-|+E|R=l3K{LX zAc?*VN;;At?t&Uo8hZM=@g)vKC^LTuA-fGBg24F2Ce;EPhSSq4U%yTivl;YF7brpZ zHG_Uzd=7C9mJsXx|4T!))8RgwNxGR|t9$zUy1ECLB&g=aD0qX7b_>f11?rtgxq@G* zTwHcKb?UY@&?a``+c}6WCY{W?^W%q?s01o^fNFUmfNW5bf6Uq6)skntx5&82U-tY^ zm>Fn*J{VT!@fB6j9bf=w@VS2;B;n04m_#zUPfP5SZf(WG$)xr18$UC=5^?65ON6%- z+&EurW8DPC=wQ>qNu&PXEnQR6B2)@s&!0LqKV04eQSwK>Pb+I{^#8V{^_@#Mn{$U6 z((a!iMDV5_xKb*x*nx|Khk-*V0Ntx3eW?fl_oEw*6@QovPEWVMA4S|e{j6Uba^RNN zkM<)LgNZdrDc~m`K2%_OM<@Mt`ay@M(3`g)naV}EK?dg-r3YLpM`W2Qyh9_hmL+{_;ym6y7#~M1Tbt1*W!?^;A@%g)Ca!-)cp(oOq zb*>|rpgJ`M7FCzZf$6+F0+dY~6?5yMOUl(2Z3|JlXZ#&S2l3L!=sz3qowBtBjkc$U zVD!eAC)Vg_Y^jsEo05XOX9P4$TN~`ujUQbg^5b&Bkz)5xSeRUmYKNTAb8KsdvnEm} zeL2jQB#n`PFJG=i28476*ApTY@LG^0r}n8v|0)D(I&@S9njj$lNz(Yi)`J23v0MJr zbu@NIB2aoLFL!FJf1V%SVp)3;&Fa!3rP zk)z~8sRLC~{W8=~B`;nu2g(SZZ~LOAl+~P;oE)kf?s^ul1_icnw7ciO%n~*{{lLZn zsoNBeL*H!d?8w>}@Gq>z!FcZWZQ0uj#h8+{CH8o*V2&LjTDuQV6A5TI8M>Rud!fd= zR-IQD76z*>R{){~Vg>ou@d+-F?~V3C#{=FvZVBq?-MhCPfPNZU(1qQ3U9j33ZJ%w$ z86gz;)j`#d9zDV{N7K_siyd^kgoK!xnSK2H?1~VcoM&6t*9dbf09oo98vHKkAHi%A zJ@>IFH4wqmeLlL zkYJQ#s$;r92I2-@E|hOIPr2CG#HFNq`cqHknJz-#Uj-%?!YsI;sP5~=(zQ-Wjj+TR z=Ntzpa;=SoYZGiKRQoa>Fo+PMe+;{ntxQn8;+AY(gJyg*5Yy9G*D;y7~WcNkCjNIuHRX=rTJ z%Q+6P2C?*#1y(Ylm_x}uOaE)fZ&-8@m?z3aq)?y5F|AF2WCm;dty2%_Tf)acb$htT z*H-^zcySE}{rycy{6B}YB7g%n5}!klMFoCV9 z+i%Dx@!6(2G6*!t%}wkF#}Cx`J1yG$N=^ac23yCU0=``5g_p3?RGNdXbFPZ`pQc^q8TPa=qz5gXV{)xMN2exVi1yxTw zN05);mQOn)DZHxV{IoCxhB|}z0$gm`A?Zlm1w#YiyokI*++Xo{7|6!3^bkJNPa(S9 zw{OQkZ3m7hc(HVA&Mc)a?jMu!;syWyNLJBCdq`^0n<`;qdf8Ox0NhTW!m%dbJgW2+ zGM_{<9Lo~m5Vi~R?YuJRY7j=8WDCkl_3rvQJWqt>IXE0&;WdEBAS+wSS#igGYF<-V z>bfyX|1UIh^p`mliHExvCh zlpK<&H0sOP0fOh&eNFrgS`F*OauB8&!l|gJpwU18!Kt3`Du0=~;Uaar&=-e}D*O#f zu%({iVJ-*k*EM8LotYtCfY%fUq)#v>KOig1dK^>H-F$p#Vws&MI4=Qw2gn`b|FWGvPsMfU5y*4Cro!r*h6Ccu3c?(4#MUX~@!eQ>E#)HM_BfYi9;^ksM6 z=Pe3S<-)~u{9hXLClM2I^(P8Ye?xn8=13cA5ex~jsMB^^-hoY9un+-@_cO-)vq>%A zN2tg4(du+!<>>Jz$O5jQDs-|z)@&8{j#GV?f&#~@1~9<)-h@-i+(;$oh_k(Y*gw!n zg04;s3G>%4tcd_e82vBUna_FB0%0jIFcKYZgOqiA4>J@}I5NNpc&S1} zLgv+DDXWa~6)AanGYgBj@Q8+$yPq~EDX{V6venhn%P?IUx$^6LUKMbA=)@o+aQV*N z)6+vqEZdSyb;Xt|SOV_>9%3WOniY-c2j%;DJg)Gtu;HJ~Jb*)WopsNrq@txmgAPin z={-}oVX;sk1N_B1gq%yD9`FaM;n8F$I5{~vU;XzAWJ!MllM`Ul18L>of=XHX+~?-M z{(Q3Pa2xn8znWk9&ebvXmV^9UURw9tBGIO_ZZ6Mzo+fF+9$P7l4G%FJ8+sg4OX?yK z+N!0&pjEG_CDE(?-0PQ8Wk%?1WGJlz4fVyKXY*6^@n3A8<=k5fxZE)xkpHX7&9W01 zG!`2Z69c#>pdmx|{VEswzDQN3-V&rih;DVXv>@zrSs1NFh%GHHK2v?=awhG=9|x2l z9-bm6c!(%_5DC%nBU%HWEfHSgMISbR@NsZ9?xD;jSNOut*pF^>Vi|oc^Qjvk9s>8*`%k-=fXMb z9n=|6dfLc$etJJN1ZNzenr-IKPcP_Ck_3pJe$fm|Gdy`gL5)C3YTSmb*z_*EOjP+D z8LBWl(vB^Pi#rO3X_f<)b6>x{I{S`gTzmTdxeSR_$b4r%R>)qKjyn!>u!EE6#>*Ie zJMrfJSko%*k`xx6y6avQ6&*bU7QnNgSevazp1tc6gm?1?`~w1zdV1PV2n4iYuS!7o zaPcVYCy&>;?Q+xep3Hc6zTMSY=F8;d!|ZHuHG{_LqW~2Y;L8&$ZVAuDO|AOPRL6Vg zI`6AtqsaOh?Z5dn+zLK5!6Xpo<)6&$#~3z8zWA}Vylu{<-zx)XlRyuC=*bEGzkF_L zdwWxpBVOZ;{TD0W7ds+6O}(zEs}tno8%3=@B=*mtlI7}^DSRuK*#OgQboKc*bM%GK&D1XCh|9I4)S@~QC#0dU~`eEFP1;Z(n!k}^fs-4ccNhZpC1 zvW0qcPtD`niIfF+sqw&~7QwC`-`nVc_UkfOqa78kMLxvWy9iI;{p?0bZQM6wZjMb( z_T%#5V604c)j_a}K>yDgIJx1m_ch{c8C`J;8v(aS7@J~nF|ncwrEliBuOpR;>0P*x zNJ`beSI>NF5ye*;f@LKMZ6Kg~d~G;0$~blMy;?zNUPM174-py846~ukoJr(lYXsF@ zsU=I&=4cQEhtPb%j1p`xmYZP`c8$GxX2rNb;eV30{aFNej7P?~7f?5x+E~mYp`VRi z2Bh%9UQ^3N>|!Yf8}KXJZ}~cfT+V$&$$RCfx_U_Y&EPD;3NP{p*{AqVazTGC!4DJW z_2PqNjNr4t?yjM}e)x635<0rhqXb%L$~k$^exSgr8q1!rEfng+3hUYs+$XnBRamnF zGyT*E3q=Q0;X6{CdtKYjJD*=!YLi8E#Ws+AeRO^v;j@QB##zb7ZffdYAQpeOK(vJD zf>(9;IYYh9Uj8erS6_i|k2#o!#{v%g;Xe?)Ij6SUv*3zohA$Eel&UT(!bV11T%3>3 z8vg(^ZGFf25eT~9+{vWtE<{y`&uz$iZZP1|w;>ssx&BzCM4{=jH;Oeb+0uN>#|j@8?Kae> z|ND>Q@7Rb)J09G$nQSF2b)T9%dz+aDm$ph$Y3E)i^n?H}l|0Alu@|c3ZrcC(Jq&M- z;lp z!&i@8vWp2 zjjjhud$_FH!Gs(8c@DRw#PBKhg};S&_Y(_^o!ZTP+VxF2q@6l( zff0Q1>fF0k@=)7==dwn80SsRjt#VQP zfiQ%F(N|!l%K2ZPKdf*o**2PKq&*1h@yAx-$NhK6gvLb0G2-vraa4)^aG`4J_!NVB zpyRI<&)-L3O1CK7g9H+U|F6%fu7u(3zZ8YTs1qwD<4DAa|9MbGET|y7MRL#gxs`C<5Px5hBKJdI%!PVb)@ZwGL$fYhAIHTi}EaRt2-59@#bHXC`BjfovP zI!$=ne~hMD5j8)-s4|3{npi3lgaylRk-13wfBy{ym zvfqSs5#>I3V1&~qdUp(+(U}GVp z$JVs8+u1jI%LICboS`oF^4uup`z&(*)0JQQGfmuX7g?=idUDu79Wh;x4r21?pONy! zEJJOwOt)x%-)a`;`d1X-tvs13=@d3PMTZ@RBWGfE=60Wz{2pRogp%1eQIQgfrqZtOGM+hDHb(|2O*a5dVpt^+-bnYX-5Zjsjo zzu?#h`vV?kX81T(pfW>j;DM~adAuaHt6N}ypq^m1@rCQD(ZzvlZtCA=X37JWCeew5 zuoO=!6KVL)_NJ9Zoe8oUA<_R&#Z`3wcA;0S$%$c;T$)b`1yEx^TU{IA0UROLRHAz6!A96Zcg@oQhD*rh3^RFqo_;znR*d~=LYN7n) z0Ry`VRjpd&`kq%p_bDMW`=6ez2QHr zAKYa`_G&e$SugTz^#+gumGL@qx$4HwX6%H6kss;{zEaQPpT}PMZ0Kj%O6dX@G!SH# zKI>1fKq+|%-w|y8eW&uX)ga`PDW+^F_esnel%JEnx(jTUc+C~mPg`$g;Ml|d8}#G- zIwV1n<}U3f`Uy7LRP_gU?FwHIgBqjwsw7M?l0P(XHFddx^Ov{^GACTDCN$vQ5YMCR zOvjK_zc}>#EVY8czVjs~IyY0rtM0IXcxjKRJ6a8){mSEjHI7INzAbn}2&^I_O-tRl zDdO)%IxQLbJm_}RBeQC{h>OKG{zPURWw(4Ho5U9;t9 z8~9XLV4sKjYf25A3iJ}XZs$?zp~63=g?U6Y3G5d;o(opqpG>_*}PXVG?*DxjZ`h<*xnv&*Na%r$!{T*3azx zn>)BUXj$g*8C9(DAPfazG4KtMU2M=7cFexRWu7m^z4$^0P&r4Z<6xu#)j{6gN6LI2#?wBOZ%BT z6d0ecA=gP?_7RXXJspKcxcg_!BxoZL;e*=&ZFztij%BE%d!^pHmtU+H z{b|Ei*f0SE@aN2ru+Te!QBWHYKvGLX+UY_D0Ia~%K&b%&B(IR79s8=BFH*$`)|Ni~ zN-b8kpU$Q$C#BNdm9m3OT}#^Oq=Mh~SUvD`KBL*$^|PwOCmr|>F(7@M3ClMC1jG_; z9PT5$Ke2lI>ApwdYQE@ikDPA5D_el02i)|LUe;h_i@RP?>Vd`WIDMy!9gYHfxg+b2 z4x-@1nJ3x3hOuKrfAa_kfcjS6{m+N?U;iPTVO+y5>9!492YRo149>)cr4@=%nzs>yIY&z_&Pp(jinB?^f0q1Prj-X;PgT(~y zv6^e6Hgc8(*lJO6F#X{%Hi#IWO_1uobL*CNVv+p~{$avM>YfeiDz<|^XVF^1N9z@U8=N||z?onE z63%&2XY?4)D`{Za<87-eu%$T?2DOJir>)pBUrqoMt6B}P?cRq+IrWYsBC%7a?U~pm zw-vx9#wG}KWui}+UecE4$$P(-sHjcsn>eT}6T#BOb37Q#svgk}+=-r;mA>ArSZ-bw z+7%V>JVpp8*Ix4SBHAe6ReJvJA75#O$=HaMnBV<>*n7*UEY~$^R1p*qgYH&BKtVcG zx;vDRmXwkZPz32l1f-ReMnF)+LQs%y15}WZP>~cx5zc(~_l@uTIDfu#{+u(;*lUcv zU1O~!zVGwg_Z9P+*PPwPfMN#X$f$Yrw}E^2OaqR;ckFsu~GPzI9|4T{-8|3&A*CH|Y&o9}Ff^1dG-lIVJ+dpSE`e zd%;6|=}7RUX?P3?1n!DvX(x$ao^1ly`*1?bYHXMm{W>UrbpJ27AWe(-AxVW!0DKb% zPu{6&aXx>@QNXbIXFo=Yz!LA!t+ylZ)ohsGU$loenhw z;rq3d1gRfH!ZDCLP;P=Uu_o#fYE#_NWPPH@Cmg@V zuY40Syae0;ypp>fFW34n%<|Q`@|A$*Nl;Kk=+zC^`}d$#TJ%jKl?HP##_K0jkG(}o zhD}o5vDnOI3Jr^`V~!6URQ34M5OZ0CZC-$DvBunwvpy7ONF!ARJ*)bNg_3DbN=?Fe!M z&+3V1>xQ?EnecfDT399M={uc^b2joQTaq%Bqm|a~PEe%MC?5K_-yVd_m>GnDq?sWd ztdy9()Y~sZ9!D>v0TKn^W*07u1AdNOtT9NK?Ypg|DKO$daUx4w_WHHLCW$94f~K`L z2D_aZo&N#ViD*sh(29wE`~X~!-@gNBa*}G!u>~CSWwuo?6q^&=e}wm7#9NFd60I^v zEbHu4`f!W(-?42| zP{3{7T`IZou}PHGU!?y#Rpg9}q-4g3N+R$dm5k^Kd70HE?N@rP4(8@##TuzG^@)kS zK#mdBb#h8RU1w)CefzvAN20eIATBy}>uU1{m>k^{wkwSnb>hjBmO&0yG6hIKP;SKA zBOM|(XO~s^v>D+Qy~c$(1hX&mm@XBlyuF-5w&rewCdn^(XB+M`mssIsw2c{w#$&2e zg~mP7_0r9KAIU{Q*Rh?X{#^#x2Pm~C3Yu(DjGQL4qrt!dhr-}95;|objJG^-@etkn zvNnatL$!#tqmnTMh%A(_ZhjS)D?)lSmoZ981{~aXsfii@M)d4^Ur# zA*o;r5WqR8i;KFLlqP@4>(utVlbfr3RW~0o=pCLTc!acVY|`FGqVolP9ElkZDM^!3 zP`qL{bkDo`L%J|Av93>A^rRM5Vb7}w!Wh#6HcZKse^weNf@J~cD$j`;xx0*$&0?_N z{I%1m0=wAZF4BYUn!K^BR8)$I18jc_2gWYAU0lCvSe&m**O(JYwAci2^r*BPLw=&J{Z6=-7~2BHn;U zWu}wct9wm3#cj?sbIpw~O=2NQ+V3tncvfX<@J*u49W-4i$B478DCZ(Koq=i@uGdhM zjUC3#ofchxu(>ra+u>8?eT5D9E!SMl`6h2**Ps0A5(-o$=idpxaQvliegl-6M@>zG zQXJe}GxzNu?@6JXV5XxZl=m2*$Jt-Lys=2M%oJBb&<1rtset%6{WCi#{osA3Ywghk zn^R&v2VIDt>N8?(aSRlZraPY=QGRNCM)PJF2e#~W3?(;!!BbVN-nX-|%)Fx9?&-C7 zroNAOjBXMmNI_z6tKC7qOw?B1DPb|AAg6;h`_tJ9*m?a#t|+r)M?t~al$|}R!uB(Y zK7B|b`X-WY?*~wPoWAx)p9DM+7kAmJ?BUgNf93FsnP?C;!rFc%@)lOD+6bcD-D{3wCj*hsImI8E1=+f2~7*h_SDv%TO^2Zj8Z)b4R&mLtT@Oq7y2aR54j@ zWY}9TUF*T*F{)2(!gMN34g=8yfvJR}2M-?PnJuoPdC8?9an5*f|6!Bj9Mwl+qD!cMN)AqBA$%2L39% zZ>&T-gL<{$*}Q7_-UH)UjeAu*AkO0$1FfQqo}T@aW#?+xG}u^Kb(TsPPMgb6%!n$e z9(K+H-}ntK1CnhIb0GckOK&Pn07sQKX%Z%Lva(NX-i5PFj)RSUWe$1Mx+hl}G|M+* zKdyM4IV4JSG#V!-GVpj??&!z7z8?AIuNR(!5Q#9TGkdWwH^g7-{=4%VNyA0sS@&u) zeH;s2@9Bd9Uit;=Vsm>EXEXbGJA1{Ii?0D9KW0*)Ec7{bA*af<&#ln*$8!ZwZzMf{ z#2fR2)2Ivh2Xi-Zxlm4X6(4#Qe{=rBk(v`)_$$*>7mQ zYJq6%qu_sk=C5NK(X>l#I3dOH{;26L+Aj(P-I57<2g%4&6tC5K!tDM9 zR7}7SXJwV!YKsS$Fm=}dt?wvfjihux`!ttzRu?AoTicW$W1_Oio3-&*>*8`Ll zikoDw{Sj0A2aFSj<4?9A#4B`VPV)}gp+f|(0~sUqyki$2#^DxgXUbAL4EHwzP!oT~ zNy6$2lx(oLtjye1h3$A03U*>=GwkS8#BYKKXC4Y}*5ZO_|(SZtZ=Ma-v zOy4}}__J4aV@ChnxE}zyPvb^}8;2}W?p9)UJrCU(0#!FJFAtXMh)@Ja+>3Wa>3j5u z;#&y02m=fAA!*U2-o8H7%ik9ld3CZQICCXEv7P)H{rF}wrj14KOE^=cX_}>5I3G56=SsgwG+j61@*#im~j7=x}dyk0-@0SY~5_nUD8K&HHZEc z_MShYvhNv?B~GQN0V$hZarL+I_;jDBRR9qgxfkZi?<3_&wRfka8ARC+h&iCM zI!HjDh+nt5(JMs_J3ye)kPBPM!1=Ua+?qRjEXJASO)X$o-{Aw8v7t*rA2(S1*hQ>ypUuOR+>j@dwYCFT_D{6^qsZk8n1J50(kP=3@>=pV+j z`gE^Jo}?$+*LBb|(8$SgaP0EC-&du2xa*`7kMr!`@rM2So` zjy6U)LU?WCeT2tlQ!Sn=M#G6rW~!!rQpDsy>`8C2#HR{BleU%(^m0CNO;x*~!Q zr^fN9yfjUt=~LPbI^D0OiHZNX?TiO`nl8U|8Iq2{c?Ez}AniK-R9Xebqemnq-;pm} zE|&I*ywx_;o7MY+xLDFwOmgPRJiP^rnjFP_$Wy*U%`iE%$^FOkw#kDLpV_T&ll2RG ze5Q`O4+7Z7iG5pRy@YCNaZ$&h_MxRex$RBq`cWDp_80?6i+%RpE_1OD5dcuFi#Z+V z8@rn+%Iws~3?VC0{yW6HO3j_TnL2kY8k`4#JmUufdQJFT#OAo8THg5kfj9!*X4_jd zyL%}Q{cBJCJY54*$F6Lwt~r3@&8Pi%Ey*E=@|6TP_Z|_DNy67+w7?wFMfe=-rT7o1$ zpnE=yKlDMbAEsFggPS5YwQi2fTzyKD&P^bgANvX%^`Bbvq} zCN;+8RIbAhE}rA6VW1Q3Lx9f_-JtXm^ap$o$TX@Jt)H#=z;c+{>+iKK(TGBYXD|S8 z|M+MHy%P};5hnjtwXLpw=WQcve0?0(5{2q|o0&h=_$i?$-%lsVu`?KQ_J9f0?M!@T z4MEemLPL6z>m}udX8;CUpzI4+gvLlNXz)~SHF-QpVEU0sY(+_yqfI_eFzU5Dv^Pph zFYmOa&umzsb)7Iw-ZWYHNkjC(&N`&N$8iv>t(r;F%!ik^;Q>Y&9N@ z*fmGbecvzP9dG^n_u!juxq?WH=mFO1-JB>8&$+Cq+smAWGX}-2nwllR4dC=CxqAS%#hJp}?pCuBbG zZP0A^hY$oR04A){V8Q?aUG5#1y)L_u%8G`6YLOel4gL#OYqOs~p@P5-L69rqfXykr z%v|(2AZ(CeOn&|wi(*%?BNGshsi~c5k5qT-B-&5Bi5w(jl$d-LVz+=Kv@ZTrfU=Mzy|I23=^klvCe?4?}Ze-|*qV@5?T} zx51S8?PY$oH)}ucz+6wj88K-&Iap1TgsAfj`w<2^K{UZ73gLT$%n@xx<}y1mDX=;} zpUuI!`T!?jLge@C>FdtiSK>7sd$F--&+B_YanwG(J>`ROP%+g@)d;9|4*>Q5Uf0~* zjH0pb70BR^PC}E;Z5cQ?zpZhQ-1XU>bn%z#4(Nsz1wb!E8Gy;B)(&>~R13K?An3)_-8 zl}M$cl_n_6S&nhUg$j(r-Fmm$v!cR6XEMKg!HnHp8oJav!haE!0Wc^NiZdKhykOC1 zkbwFG+8b6Odp&0EGH{X2{P`c1{Z~|D=%fgQN|}>mR!nt@YZ|Q=fAl!d_8=^m*m=CK zRS*$8h=`hFp+ap-0b(T5m9tda$oCxcfxKk~ver}Cqa+Vrq@C+JUh;|jFL!U2K#y^T zN8kCLaP@5{rs*3RTxDj?!4wZi#>vUaqO{M#tIw^ER_$gof#~P`U3d<$h(*+~2N?y7 zNSE23G0CC?A4jUpgfB{7Q30MwX=e26nc1TBmP>a*hTGJDBn65f6$!juuolrm;c~SI z0P#%7R_BzzjV?y10ZTP(S0uGL#hkWT7l|vNhItt%J-<;2^rZ|FAZJ2YNL&A-X%Htu z@@C(X=1KdZs6*`INXmFJMGffu+m8%8=bgIx_T!HF1(_hkHwX|KfrAa^G2rgql=AO*iABQ<75g&LGeRFO4(lIw#lp!GIp>K0 z)w#qBOO2jSv_Kx{1Wo0emmzk+!HS0eZugHjl^N*iF%d9u+f2Tn=~^*~)4~@9@V?BX zG96=p^l;+73{sy?+6_;PQdlB!I0o+n7gqU;^1jySvGf{nxZ01HFU(ouK&-8;fw_6i zm(F=RH;Wt%$vR=$gy5McY#SCIuZ5C>*2<(n+DGN>bMI`?)UA1{%eRAlFg`-5ioz1r zSi@Ll1hiNre59@VcNfBejJ&l0RPi*uO3NpganC`_4z+)k4(#IV>Fb2|$|~CPKv66c zGbn{Toeipxq@vj#6_qC=zjli`Nv_ykDNIP9@SO&2J%AwsnqddNsb4YLUz?=-0mES2 z=dlE1xmK!+eOphI+5A+nce8 z1Rh$S>=Jh4r~+@_H%TYOl+N&qgvUqqYp)q{yl-R-{8i1kY05t(h4Gfzau(T3gVJEddww z6o-A)urIvrCUjA2xe*z5qBl8_XhOG8RcKq;7%2yFAhy@lX|AL8f%r&NGr>DcO*y}ofjG|z?fAQUMl3J-W zyFTqf|8$P8>fV=Al0Wu{#;?9bX?(%AHlA^OJe>7Ip@fkZ?J zdryLiv~lIx#66lh{S{C&PH~|*baOBe|n$Wjx71}z%X zigCON^>bWim1l(_T01*q)u(R%esd$xrr~~leP`g2NQxTZZMbL}-dDU*a_RX}(!Xwd zRU=F>ia94kR75S*=?I5|p0}M=CwD(g4MV@>?<){Yd3j_Fvm-50#cpB3YifeB!Ak7TjZ8OIU2I9kt}{!*+tO*eNOqo>$q6bRTQ|B9}fWzU^cIYZ^U z=!U0n;k|28`_%s$L=7Yn^m`d>k?q;s&6<#Z0-x5=UrFaX_PIrJ??>2HEffL@m_*6g z-`m@k#jOeY0(uRVcpQ7DFHb7Wy(TE=NXcMZ>7mQEwz6V|dK$SH0v+}<&j?BN^f=Ye z+OY*qq+XtA&+(@kgRid6EoHWdUZ@#eokws7F{CgvTUs=bjh(%J!a3rT%&7zwpbypD zo?^d-?v8SHmPg@Ug4rd#f8SMV0HlqB~C{7{mVTBL(-2};bD_$D9gn*F+E`QfE8?8xdH2He(!ob| zqE7A37}!U14EwJ!y~$s_o;m%*S@rANYAxA>K#S)=n}`%Ni&RG?5*ap-j}5B+dY922NwYZZ(SL02 zL~%OzhHmO$2^XQY_+Dk@HxMf4>8-kpFycVQ*;rj2I&S5VYXf=O3apy=+RkhI`}4Cr zQz{vwJ@_afViKUIKkv~-VoXOiq8*o0nlYt!?1Sgr&ipl` z)6A6~(f;KrY#!8GHF!qN_Iz=#6*}$2W8Z1fL!owHbY*Sr zbrSpq@c1j%A+{;kt4kZCQLL1W7tt8uH^=?cke%kNxTWtQm>ev=wTIcerDjEvV~Ls=iUHUB4n+M zp`MeaEgE)bUN@eO%ncb1)2*S!*;xr}6(M8|lMeqGd@y*u2bT-sXLD`>nE&2*Z%kbk zH&4Vdy8A@(-}OS70@SsTH3zjHWMIH=N3qic2nR1$CsR07fBG3RK^)mcqbECw@t{CS zxxhm1CIBzRLhKJx1{Oa-F|Ym)5J>Oya+Re$0aLHYwl;wSU`T!*asBQ7XG6F>Rr>J= zl^v^2Ezhce&>h~P`3551(AT-kOoG|UXllAm6{xRn5rb7%@@ zdrJ5z90o z8OSu5A67$GVMea zh~o{mtjrIiqXo>y$HCf^`v8)?4!ZC1vWJ~t25>A5+eLBfcS-kBE; z{?n^H4)mtwnQ?_NnMM|1RS2&hc;4i=i7{s+&A6uWlib;!_7CWT4Jm~sgv=W_R)L%r zvUHcl7iyNF8f2Q@dQv*5#+`#bO$PhI>IY`F+lh3Z_-GhG8i0v%sSp1*oZIx<+xGb@ z0%IM#ayNH(7fI*Q@B3e{yZpim$YJVS69h_3uEpKQ#H?=g0jO9wX!PaMdErCv-(j2t ziO}rd--2d`7WTBeKpyLY_&-Y&Tb=IH%I-$&y5=-f|bDoo-iJtJcp#&D@M2#d)zggG`o+WrCGq|dqUx9-Y zHmBq1gj&%GP0+kBRF7+VN@Mn7RYgrL8v5^;Gy!+R&-A^(5|8JMJ~5O^gSVpw>H}i# z0?%(BU%;i(dIaVpM$nkruie7|gROUL!-)nhp?yjHlP{rk0+60i={*hffx8Q|!oD?p z%N9N7m1npCP~OsA`ZAw1d)VrE=wu--q!jO*@AGl=IV(EWI+-Ktqzfc5`43P}%ST=c zbD|l}eLZy?n}ku)&#!G3C4fi#f1Llj6Tw!G96R5Mk-a6@T{E}G2xkMGBD6Dy8_aF{ zGQQXCf&(dbxNSaJT^aJa zJ>qxjBEqBT`Jl*6Z?jRWpmVB^u}Uh4c?gEO2y~0a#8t+K;V1>nQ7-~bNQ%4BTu3pv zw=Y|K|5`%#&`8JBSPFy(!3O{>6+oH?;s_AvvAialKSAiCh9|IicAcfY2%|;1Y|*)i zHrfzztO@|<5cBvLfP?dU4quRe)Zi`801yY6H_$sTZ!D077k3CKy z-WDP-|NFfu@4-n1B61Pv2;v~VQ+x{cmA;Xu-IsN*mzG#?pLJunfd~6@VR+xq{FIbM z-;XTZ4_w+BeF#X{zu^uqPtPSx3b5Ih`h#I1DL!5RTT16#v6ftYzA5F3d8sa|Tmm!- z`ZG_Rsn$P*0G&zhTrMqog2w=o@c`=qkpYBlx2x;>)W$wIm^P6+`a%tIz%}L%;^YY9 z2B7>ujeTaZrqUa1jY)jzlY*A->%xTUi+p#=HbG<*v+SVLY=l)+sm}cTe8MCI0nh@| zy%`df!ZXkj<*gGDc1D$0x=xbLmwgOxGvTOX=X6)kj|cNsfLS3S=WbcRD*Btd;-beu zeqY~x!WISQDsYFuYh9=3R!xu!TrK{w$CRsy<19lx%KV{nA&fIWnXcyvo`00gb^$~> zLThC8>@oi@2FGBBKBso!`5?!5c6usi_XR92pU#?A)KjP|jShI9UV<; z#U7C_8b>6a5j9lSRq6#Ur2!4)gsYl+S9=UW5&N@QlE}FJ2r_8wj*Csc78oL~vqD?R zqnrC1c?O8aXDv9Th*{DdCaN7b#LnYE3S zbuoUCD}D4RN%?Dy`(6lkUJGZxIcc79nk4}P7A8uT>)*6NwLIiD{co7x$+-;j`|KXA5;A>1TwA_wp_{(2bQ>DYr$=$ocf^2F5lkQO<&)=2MA^0Ht1821jp~aI)11zH#vEr^4y7_lPh!b`NDD98ZTqM zru3uh2aZ#G0?emScvt?jEO^_KYdtwLBL?zak2}bI&U;*@d}|(`R6GH}U^-UTPbjl- z>LH^u%zAO#hEmuM>&WOjbh5=<-c~UlAPP(PCvbsOV;Ud{Y}(ec5i+siR!WY$k?QZy-n^mN7atY-HA`Xihk*k$2y!o!ZW=r~X!j^sAUku%2M z9%q#P1OuWKzdne`uz42E2o1DRbZjm~Mne z_9+(M;2yc~2;51(5Pb9bBYI!=KT2uOs?do`c>!!vb4Sn1+0-uK5`r<|U9&sEO!kwG zh6d-D@u~59n#NqaTQVTV^7k8og|Xk9hi!T|M)>h5v=!iXMn^;pXllLGy7|G`4~`J` z{E#Ew+x#KIv)&T2?bkC;BHipym8wKrmC-1*P;mz#i4LTuS)I--dU44B?im@Hvauniiel#-R zuClPmAZiYfGQ>|)>E9Q1J%HB)>BS3t^5Kw>u-M8Z^BQfc09 zor9Kz9rwSjt@fGF=oT@k`eZ5E+}Kr zwIe9zzj(W3Y3nu4JU5=BjFR$kte-fj!0o&K zoitKoENp2?Bu^gy*v(xk6a24D^jVp^tYQb_25pPD~m4LauB(+dPf0?^T=>kdVFo@?TncKW8VKabKC0qw8Vr zx4(hLBR1oO#2V9qHK89zrO451F+9XRYch`qS{q}5#m@6GhYxq13hvC6@klUg(RvY( z&~`V+%ikZ9$k6a`B_y2KYEM1Qcm6g#wR)HV6#tx`Xx_;bvB&1sd`E&lLpf(2tiGN1 z{9RuV#asrj-p7-bUxN`;*W+0U%KjbUx{N00cq}wE&}8rjfdS}(zzOyM0!zn?V&fU^ zO#tKo!myf|CnYU?NvbR-<;Q&s8oL<%;dsa^4`htKe-9vbkKQ9dW#&y2-yf)Odii#o z>}&cBMU0S9%e+0IWToc;pFc!th}4VK#1`+ley)JscL`Q#7_PH|_!kcX&y5P#2k)NW z`jwk?oMpT*hw{_O>D&+|mRWO%SE!6TWEp=9cVDhr^hipqbz$u}kqNWpXi1Nc@I$y;eeY~FlLuk`35RbU+Un)~9Nnt#Kjy~2 z>C(j1f+;H9JgULYgP<<)<;*1GTH+i^1dPd+b6h#dBeS3HI-|NvSX6xqx!uemiq)^5Sy$E!l+B5|cb1EMZr~qcYA~bpg>Y&$v zrk7yx5eMQMn#nNba-qWkQ2dsGc&V%);vEs*UI0~mgej; zwrfF?6{|11SjBp~QJE8jIR4lvCXxk4I4@fmN7kl}OTlvVUAW~8Bh8%$FFZw}SwL8S zn}FE3$NqtTO4p9-Et;ds2*en7+M;Ytf3_gZgx`>n3$>W4;@I_ z=)>g=oMb{t(~~KJ5-~4VtstHHTrA7v<+7)5AL2y5&9q`RdstV;c@{kZ*!kj%obA(t z)?PWzc~AyKx)4LJ(I<8;%)YI>ltKMuu50)H+8?IM#d~){&?1-CiZQK*6Qek>&)~;E zPNEzPdsaIPI(u}u*s9;RDF7t8$1N+%d{ki{_O(NM4Ec~sk6S<2UIbXD*SsP7+{6_MKezIdnT-j0QMChseLMXH$QbOY zmyJ;P>pnGrUl`u+a-F}6jVSJB2^jK2L?9n#B? z&Uxrd#;Y7sKgqoiAS}}Y7->4!ulI?{u~`(=^EU}XA;ZyEpkO;t?(*BQg)^#2l!jHL z`~&_i4*Sp!mcTy$f;Nhl2fDOGrylMus2So zp@#+TT8y<@!@Bae9l^~q7kAgvdQPlco{-Ng4 zikXRh!ynx;8mvKSM{50w$Y~*l08Ic$ibucqk^38pqrb=-IVy^B3II0gDlJgX^0(iqbE0`KC9bMMl-f zha85hBmScwSPyU!g=FB)zh9ke=mvaWxUKveFcv#T!^EWdb#)vd;dGBvZ}tNW&*6diRZh2t#KBWuu;f0WP+ z`zBwA{_$gji;-_W%1Ok`-^p7o+e$_5KfFCQ5)@TUX-El*1}LL9#oq33N<4pct`4XZ zHZ8pW0`5;eM;}RdT0_0JFcvNk-oC!Ceo45FkUl7G&JQnX?grD%(T^#poc@Wl?EZ;v zO%V93K`tx%OPrNg^~Z6C?9G9^gsmyJn?x)b_lg8>GPVon=OMUfNnPTyEe>AU#j70) z-uA$X+`&18p9;qe%((<@1rJra-Fpg40gk;rxhE7x4Nqqre9GvTd%Otg47kqxo62_s z1xiQ=>Vv!;Vq*cH_Ut=|H8SFT`=$j3++#1}K)0&tMVDfz^%4aHe~iULH<1qvTqm*8 zp*jRTV`cw#J#$50E0Ggd+mv6D{l(G&=Br80hc|%1Xch`FOoDuNX9ILfSvlKQVnqVk z4y*}phVE#OVUA(zfEk5%=_x5(r}+IEZc>Wob0=a8H1aIAB9gz9 zcCb=bUV!w5`jk6w13b+>%o46s2ikX6uMzVW^(%9Ti{E+yK;t49K!l<;kuy#~BD>l$ zcu|%{^kwM-1*aHykV{Y;5<>ORh~!ml;;4{=a7kV-3F!C(U2*D5wK zr(K0b&jwUjZHsf$2nMk(NTT!yRLoI-f&bvEk5p-Hf{*^%Dd=;$k-hN(zQ@9mWDHyg zuV0sc#^&Zw88!P8N%m=8AC47AANu_hO%pTA5U<#Tt%%Sl|P9WD5q|MMkp2xvE$T8quKX-Eo+_r8#FaCDpsH8=!-0$3c*f)PvL z_2Oy!P1@PBzaBIgw;hRgsav1{>J%YbU?dRWblkSwJP?g`73<<&g>f)-PllcK{O~Z5 zEh2Aro05ezo6_CfFnv~rn|m5+N62j0^;OQ)U(4Jpbn4V?s!oICL;RK-8281GZ=fwC zAY@4EfPTso9NDP=nWr)SUC9~EX;y1_XC0z*;7cNcI9!iK_P6j6^vB6>)HU>V^6ofn zFDVlS&_|eX(%T{iItGpv4mBhaRIHPdo3au9}MeQz4)Z2ha1WBs8!-;t$$TN88;^nr5^7UZ~{N5PK-f~g9s#@K{>i5r98mbF@a;}BANDq{wp*J}V<#0iS8&YkE+?fKoZVf) zjE$HwGDowmy;e7sqWsK2>P;+dT6#(wC()$CpdrU~J%hVZL%sL~@y8j7*Hbt?zF!V~ z68iYPKY^xbb6pnU9{#|r;;uB7yn%hC23!W)7<6W>y{_80LozkEf5NR%#lq>iFLJG9 z{3n4!#u+o(>gpU?1Su?|!3$AZlLMyLO^J#RUA-R5_0aiyiFN3NH>q$V)&~{1eB-n< zS}1JDybjX*0v@72FFDgsGvc9J zRt!4t(dr+o1AYeH@IZ#`E`5rRRnqh~XC!%a6doEgrPg(jm<)X^zI9){;8igRF>yZc z=92?_bwXv#=*0@oPT4pA`6^(3=$qV5>C=J}^2sh@!pxA4?oda!ow&zaCr8!8et$3H ziLS-_3{-I(&lpzZ;A4GBwQ_oT`sT$T(#I`?W2mwg#*>`o+oJvou**tMfZQ?e!n$jJ zFZ--yGcL*fVV19dd2D~^s%E{Awgah7-?e`d2)I-`1n#hRoV|ad%8PT^nrEa~ zKrytYWP=jMDV|J>+Tu5Na5xdxJi!gjF}K~Ake?*uUsX)zFR=)2(f-L_zLoycHd5=Q z+p)0Ge4;5yb(ITQX*_kYhlWB==UnZ|WcH@jaZBKe)#RbJs^_hhHf(-_TK06Y=zV>jPFp3! zlc%#Sz~himI=T>Z;dzdl2b-LI-`35u8U8%fPSiV!R|*fCC2t9AC+t2O(f#BslT(Vd zKuE_+WvdC(TdYOQ#BZG+#8zj`@jZ0tw;I;Z;h3}EQeCNU{QSIy zS82}VC8kbV3Pvanrhnf$Z{ulFFWsY5WXWQ3qJfX?lVA2?SM{)GrcU*Kl@D@8xw;=` z>YFxt(+un>d!yCAb}QAz+q+arSMHyEXfS3t_i$6DogowI)WZR*YKcY>hqKSoD2h;q zBvb|K@A`6C<#GrKcTHxRf3Aa_fR#xx@0UR{`sRA-=9*O+-vlalPUV$1Mfum&PrYL2 zX^fY+LryR(`Twm{&wsz$|2waC>QK)PiRZAl2f2gC1s`8;2U~Z--+9`(lAjde5auBK zjhr0$3FAO72aXe_dUmc3m;|3N^0V{(&p**{w{>zLKXK0Gg0C}&h_uK_@)PO~E>6zA z98wZegsO|1uY)(o2~{^+Uk7Ced(R6F)8F~u-}m1q@ZTr!-zV_jC-C1V zfG2R>XAgtWzV!cVZzb}7ySEaRmiS+-mAEL{tpB~%%1})a-I|WA&qa=tC(+Lt{-1r8 zn54Mm|7M@{{r0bOx6IPFcaoN}%`O`D_heg%4u3LwL;JYveh*ovI>@-WKKdysK8N)c zl&c5a`Rqe8>oaLdb}Ja{rle7(X)&y9&ii8KN55a_+cB@EU-$Fa&wIs({rWWb-RVsK z=-jELiJjwzNr{O<u)ZDvdDSWI`uQ06vK@0LqfBya@n8&St(Ta_g=NMoo z`3VN;C+s3)_>UPo%yWVSY$-{JuN3A(Q{(-|kKm>;QB$YpPK%QrOX0_GS_7!R=;ye1v>%VV=Iyokg zaE&FZ+z5ORlTVr8Y4HopBpXm@x%rs3F_ zbqA|-a*~pUrU4t=&Cl9rt(P%pomvH1RQMVO2+5}KJNx|kGhWe=D56lCTpDAH39!0+ z>Cy_;{6ATRpTIiOt*|jU3W99+rZ5;$kV26N?-ITa$M@%ONfG3A)#Nyw5FPgQ`*)aq zO@S4-y)}1+;MTFZ$(b(f&rPbi$GHL?O`^{5zk)$_RYheb%zvAz^7a#liKOY(c0uS9 z6!^q&cw5(lW+EyYpO~n^!%y<_BFo*kC2+9A*jxA-!9WDAJSHY4*RK787VDQl#!z`- z9u|^3tiDf!T?k3l!!&N;*TUU}eVf~LJuCRPYrwZyITIBf4W3-llP6bgY~))74wI^e z<7dIu5!>SKP|uW<{MCDW+)+sQ>2UO^h!U)tgCP-_t*F^~?6Ew@ZySn(2MKcd7-xdU ziq`^42_By3<&}oel3_Tb&wu;IjEV0877rQ4_%6|r5--KWQ|5H=)}w*~PO!A_%t(GF z9lx{TdJInxm@)+YtUKPF*;-bzv}6s@8o?>$DnE#RDuO@l3R1>OpnFWDAD;Q%yM+z75lspul%kIGimfkR*K zol_qGKA$iyy>UiJ385wU0Oq0di;I!@FiV76T)LoH7`>LZ_DGdNBCVQ&{{T%h)@ecM z9)PoZ4S3PzGS{a5;<{OgNJ(L3_R8lMyBmgavkH>%#OfSMDP3K`D}?O>I1+dy5Eg~i zxH`WyrvlE?ih){TYAbcIq5Q$PRFClF26inB z4Gz|Y>}+G*4x4Kq-no3~u>)hwh`F%y<`Ry(TzOw!;$>)E?d}IOh>7}K-+}!g< zM#Cc`M`Yzl!a8He$Hzgcxo6!x4!gdEsV`q>85zwC3_>@@kKv@1OjV?xuufV^ zrKTbd>)d;xb70^wxhr%Q;MRjHf-nSvDU^i{rzO#j#OSh99mkpcOz))us)@UYM|%AL z{+w`xDty?murQFl&CSdZgT%PF6eTU?7G|Lr?zX~j7>_Pj@`U|@(RMGubMGhL3Sq701=m*?c< zV4{eDHQZcqXpZt8AtnA#Xec|EN7#B77x%*wfpZGp9UjD`E2aSyEnhg-pehgTJF(l( z!EZt6QIfev6ng11SiDFQnI+h0gEf3*bR&n-aOpZ z&5fXR92B$#>M&ej5y4@GzN~*`i0~~m{rz5J%DTh zJ<0bYBMs0Tn%PHph=j<<#Mrn@#ru?hpl9}T2$vGfbz@%`&OzB=5Pp-xHcB_KAL29ZI*7~erhSX^`PZWAupsb*v0IRv! zdYuZ#zKX}ii_9!6xwmeK2Ro(ceIKJaeu)2WpZoQ6W+o<_I){lg`TV?#`nVfUg8#|H z5!NV3B45B?WCEMk!Kc5TJbTdyg$AApoTBI3At^8D{y#1&>VkYv7C(%mG5E#hfJ9z7 zG~$pSaI>O5v<+M7z#!Sw%q%N2v&?=4AsP22qKKI2n&_2BPcc81l9koVItkJBQ(Rm` z2DTqr+N!U?a>c>H0pv48#E-J$8`zmb8IoR2N)-Bhp$ybxm;=Dx2%_~;ac(-Wbgpu; zI(A>yN4nj8Zb@M-9g&0LZI)Xgm69%f_=X7P+iR|oQjk}OA}@zdf@g~mzOIjfd7hDeRB-I7B_|7 z)44S2dY}tlafq~s;h@WT!W4z9PBjd^*Drm%c#R40fHTmq?r2;AF9UTO@LDNmSenWm%^=#44*H~ zyri%*CQv^RA@w?PJ%)RZbg&VB+=8f!OW-|0`3{|baGKv#ptCqjEtOv*KVqR_gj>f6tu z5JQo+UB>^WO-TXPc&?8F)NZgn!-WnBIn&57&3BlgG5hO}AF9bOv?_+97vgW+c$eq& z=Me?rzZbf8K!^TDe1-$wzvcccdoLcwX^ zTImv`!mG>5Oq;y#Mn~^ke4aFDg0u2of{kJF}Klh*%=o}y=4x7AAhh=&*6B7sgYkPaJE>hFe_qrrdtMO-K zfL#Vtj_K(=YAc-WMwea4iNhL^Gw7wN&`&`42hkneofbBbBJkMl|K7K6)7=_F35z%? zW`WzRqC)bYE5CsY5$6BWbV_5sQJiGTJ=PQ1{%(|moR zrte4wCtBU5y_zM})r(lKge#pZ{o^Z4N6(xIS$EasFN5QK0D;c;ACJsfJsTBL&A0hz zktG74Y>y7d(()5tEtoEq*!{41jo6Zw&E!CTs4zSOlu?v%Adf-f*K29~)b_{z8qOAa zRN7LfbxM)uPMki?rm3KVK+SpYv>UDE?R}99-5nhuv3#bV`l+vv$|q=bhAc$46-DMa zJ+eOGCEvT(z5@BA!yYX~Ah0g%kmXf%)o$>`hXg!@+6x_z8^VEdYXYiJ6xZq zEb#;>uQv6@jT+8x0d0L9E7wV11iZbHf#HxULm1ciG{&F8lj8HZ<9pUAL!WZQ1K#`-P zrG2(JUni5wQgACf`|Hxujqd54F{qIs*dZqP^0MF%x9<@)K`Dd7g=_$evDTL_37+DP zrFwoVD0bNnAO4JLd2Y@h%y+am(iDWAv@yT6{L{0mjfe&)LR; z9`Oa-B5C*)F90zGMS#)OlW$~Y2DOk2AcKZ-Cp^10;P5$J-9Bun$;iq&)Rg=ONASQ7 z?K9*_6O%Wf@PT|-VN4zL06FsK-hDL27cUB&;b9ghAqxG$%04s?jy;qBuV<%IgoDm* zbwWs}`r*S3q_3?^K_%Q6vI`X`OHk{e#3hgqB_t%!nd0i=8QoIx4wcV8Bo=Av>gq~< z;J_QcGVBHrLL2cFqDKU1;`#G!RM5#LNbquVT!%^5$>BGETmV^i4=e}j>D|cHzzJR- zz$u!FMacSp6Jip+LRf>t2MpR^!i|E(ZANB-|BG1BK{h5PuCX8i5yp4U)H8VX;*BAH z7I11+c7etZp}1EmrtaP*}&_KSwydkgSiIL4l`3z$Y5hzy!OEZ z+HbsOq7Mh#S~S?f_8_GT-hS7)pYmW zk&hp@uqG?7iF}FUhB_7HFT@W}FYg&<8|KxjxpMG(AbK(@t2;;!{M6WUrK3~*^ZU=A z6j@~5k^GH~%VwEO)cV7Nl_7sWOc2D;37>jndHKaz?n3okv`?JYScp?=KxjL1)}Dx> z6)SvH)YM?wlZaPiD{WzMg$Z>w_ATN0)nU%x@+T_K+8&19xEVkY(8HtTLeh3F?dj=3 zWJ5qyO%?g#b6(ChZtD26(!pIWzTi%yFep550*MCJpi=PD(T6}uiZY+6E3q|pi3whg zBmM?PMOov*hv;_2(^FES8Q0@9eI68e>5|B>th96>)|(L5A2k!Gz4TtxLkq(%6@uV! z+DCN!PtDFB0!J~z2)?4&Z1~&w&a~d~0QdZlA4!aGR{n~b%UhI*BN44#18ywX)C7;c zILKqL9A50LS^4BYf$GSR1}%UjZ%7SgE zB5S?}z*$ZSkZ0L^Ga(;k-#D8vF)>)3pI3>m>W>es6A~EXAIG9Hp^YxP=-Kg#rQbD3X9PgcXYSyTRyyOvIfa&GYzgq5C?kqFYRC;Wi-v}E$U2@Iu6mmaz|&nJ zzH5s5E71=3?hIjFDK!YFe?{j75H5KL$`goM1^ljmBqxGiF1v4&1nD#ttlR9W3kAx+ z$;pYr?8186`m>s_#{nyLCML8ZxuQ-72iu*|jkv5a%j?_}N14s}xuPbH;jsAKQ%Itr zEa|AV;iey4)}|8F2q86-sWD zy~(J|I>>QQk;o_tA<~dzB*|(xB@~6o_i^5zKjM2`_Ye1VUvA2Iy`Hb<^Rb?{pK%b1 zt!&V~FVQp8J&e5aV&tYhK}w#pzrWw}_S~G``H0KnWH@ZB`;7c}Che`PHeM?vRsGt* z=bG58YmWA}TeeYECIInl7{rn0Yt`LrjHU|c%59dw1t}xWIqYe>6L;eV-^QZ_+KTr8 zN+0RH%xz{oqJzEzS2<&%SUz}VL4sOsb`{!l?Ab!04_@=u4-dk!>TjVchyyM0F)vJ!}I58;YF91 z+C&+}m=pE+t=M8W&m`_-Vq=SaLo+KQ#;BU%!{G^I&C3rY^0D*_b8oiVM67b;6reUE zX)8Mux?IGNeWs?!D zC`O}CQ&U6|KznJ`DdB(c6#YjDWNt*nA#NxV3KMIH#6x}8g3mrJ+-Futtxz-scFq$L zc^NINauwa`;1PL_-|`2>4Jx_j@Lo#%vnsTWzG&&Y$->IXlZItoC{YKtZo`Ke`Zn{o z^K=`t&=;}>8wSk-mobjM$nr6-I6+k3{L+8_RfP2#%S@053 z@>_-A0vlHK7svf=aVE3hz7;=9{yKrna_#!{WQ zUT4p?1#)WeB9Tx7$!Kz4cQ=0>-%2nRE^=^me0@&8T2V=y z93Rh!F}6g@sLVn%gI55)s5CCuDheCNeAuK`{K2&aZe?1&I{GJAA22x0+DC({en9T#b+5!b;=`zkS9z8DdwVyUo8+(m zJIu$vTmwz^;lqb{@Z04J(g~U$-A`%L2)ms?J%-kso-J!ebaGb_Kr}Hj^!TLGQq*L{ zuAI5@q|&BH!B8`NrN8u{t8|Pt)Bf7d@F(&~B=_ck@s;eHPw&u*-nw)kXAf(e40f=MvQY z-IWVPMyG#aDh_4+eBjcKJnxQ^I##Cv$k%zi6nsl3Rrrj<>$7T*^FkE4gVP{|7)gBG z)Ks=uHE?@op-hF0@GL8O#`wE;_e$6R^;9KF5Iz=apXV5DqY%q5?jRLg{eVVT+oRz6 z&6R^sh4IXUJky?Hmutzj5S@I!AeDyVKzb$46C$vi9v_oG%$MY8aAdVrRoDgM#*stK zHF7XydPyh`v%!dnHyHI79c4juMs}hfdh{KANDkLT2SL>}G-TKooW<-FJ?*-bk(sHW zf-8qeuPe0_rN5aeL^#*G%rx+_Aj_~B9v{;=Y}ZEL+NnD1^@O#zLuM{cOwZm*JSvy8YYsV?#8T&YD&tT|^GZ71Zx zM*wfd7{>m?^l>qrWDij)kmpkLv|jzd;GhkU8{dlO6!&r3s&KSCZ9K>f;TR=$-zJe1 ziLNEY(c5Jx-9Nu9onR?Bo`>EycSoeDjP!()k5B4Wy-I5~!&!hmB<1%9{UmTu-%h*w zNV>iPP6g|B4Qu;gTifQ2BYEl_lEbUVYZN}kdREwoT0KWg2P*A`#m6nX$ryWRIc7QC zb7e7Gtr^~Hi%62+*|(}qj36+Q-zYorb-#}H$u!Q2GSnYUxP(w8tCU+4JTukwv8(St z&F&UI@HFHgeo&47gd{Dj2>Wg*OsxDJYuPNt`-6ykKzNZz`~7_swFk{bNoiGn4%2XgYY}Izq7f3WGXOY}{wV zGKU5kDXw1B^8G#MFhiWVgWhY5d&Xaa%z4%ZsG)QG^0yv82263sRNp`5lO~eGJR^i6 z=HSD`*67aLycJEkEszXE19~-FASf z3rWdQWm%DtMB}T#KAx<8+PAc)zr9aE=L~^BxZ;6EMM22m5_a5Q_V(V}tGZAtQ`>o{ zsWt!!fXJ3nQc}{Zw&o-dT;I3PTd20*zI~%@ zL)%!=Jys!;UY_6T2zRvLXdj zaj#*eTRgO}zp%RcCuU&%_lNqks1vmhA1bETtMFtcBrtsv)6xoC#rxJjEjdh<2~yj8 z%he6d1!HAmu3)qAJszI>g1zm1aamR*cCXe2g?Mz~zzTC)WBFa4(q0|Vp(r7i+RM*y zSs)HjRXqaYYVWOS$xCRGak%Hha9miJn9iI#_nk^rtiNOBp!u1$c;L-Ax=nz#S(>~v zOgqSq-xkutvhD_ac~$7(t`{k&W9yF0LgZ7>7zo&rgz>hE8hOe}N=hQD`dQ(`AwXqz zZYj<)m-Te;j-)HfZ@3wPH=A%z4%DiK_UFyhJqE2-JTY*sNv^U~^p#FeDC8u_s|$65 zKI_+9CbRd7^iE4|NmvFzmGDqAWcAPBi7ow{UKkW^cq@JXblOPwxF<9v485nys-W3JhL z1%*QW*yw1pb9|P6`?<_ZEobr&HR9{)Itesp;gZm`$W~9}Cf=Cl6BI1J8PNO7bGHg0 zo9K3&-0~p=IWAoAPOJzy%a=AHx;A~H@mL6TDWrTCBXb6PAXzPb zH-!Sd#NysDd`f`MvF?qYUf8gNgdNnJ-fPOjzVtT|cfIWD5~onj>7HkN{_Jt`;i+C) zZe8{Uqg0`HNM0K>seykDhCTl~E0%<|(*2po3O+@)U{H`6_A+->3|t|)xXDM=yT90m z>}X_f<2FrAxn(8jB#*^gI9gj<>+45%3o3p^Vg^}etxQE9v^b+>%0Yv;PW2B&zQ0q_DwL^Z7dWAR&cu(gdw5t~L4niq?)q+i z-+Pa&+p}eDl|4ZfgOh2(1iF7kFERTto+J)MSL{mN<8x9*nz6ge+T&N1UTm2f%T5-e zNZ5qo!W8Q!*#N0=mzUjG3xQS2Id`^EyB>^A?PJ)e z#~O3qdr8C8-oPLxT(zv$%Erq(QOtEEdlbVa;1a{f;jiu%63Nqm6tWkP`tA3^Rv^lT z;Cm!LD~pFBw)g@3Ykj@_B@Wwpx`98q9|te}j21BHCT#sTdGO!nk{dZWU0LtXJ$EYi z+e)Rkr)4k$SiXNB_na}CDOr^zA^+R=@0y5vxUnDU*l6ip?*01tljS*KeK?kG@pulv z&Nf^9N5#c@XO6nM$o98`h(lEWhKJAJzRd_U)WbT?fj3NEzxJhFwUNuoq;Xq<(^2)- zr+<>`WWQ;Td41HDYXj}3&juRD(sJ;17(sO4KV5TBTxA9yfWZ$f;c;&)1r_rjP>T-k zlsc!DO`B5Z#xl?dvc8&F8wO!|LRj%TAbxl8SLt6tSaj&vls_Z$iTghRnP6HpnHCt} zlpn_jhiS7NE7gu*3T&7jj>2Xva}m;2(apSi(I(+0)!qo z{<*n1)M_jiSjXnD*jH986ZoYy7)AY{%^#rbv&q!jKyn$_Jt8S^a_N8X{He2NzoAja zYe?eTwoTCdK=6Y;{EOi-6a_IPHX$|QgU9>;04FCUCMH)4J#HXx=ioRrKwJIu#vm-LiA`kasJYkD`mfgq z<4A~E5(q4|B}h_uRQM{5*6hA;fa~phbAXEPe7hXSllsY7kH!Dd^ZyQL`^aP4(ue1J zC;gT=Y&OIt*QKJTSI1)EKEo!NYl8d3XC)}NJSzekfH}^bYJ2^97DGqy=)CG6$mg>@ zK48~sAdS0!-)i=P!jFcRcV&c2MAW4yfNl_JakVgjCtz&)>~4}GA&+r`=v|w^G0~`@$mRPpwpCUH%au5h99dz=67=XVd*Ttvp>4;bc z?}egm-;q%Y$j$hO-WM`T*2hN|E1^&W`uVJ|S(2QH*hyL0WJ7bA=AG_j=%EyVl9dx@ z-#sXO@E|ky-iy64K+TOFwI0seJY-$_o1%2LBTF%O2uOQC9`))aM&@Q~nc@d2G1P4H zqA=*ajL%P>jgE;)e_{Br7N>M|HMBM={^Y4zFWy!?OOd~VYii}CPWMhWR9{{X_s9Zd zaj}~qn35ZLu3s<p#p|3`5`>Hw_~9t-#E~9LORH0 zM{Mq+t*oqerL~&>{XX|tYcX%zi2{b?3nkz2kqlBO5H4*}aaZ1cF8e*`_Fcnf=RDLd zUPNLSN*Ht|{GB2eF9{Gk0noPg1mg<+OlICpX>y3#aW2{y0rt{gNB9yR0NZ2=O=Aiw ztgK|WYOzD;7dgPOkRa(7T27KIB2QC4U88GfcE=$gG{f)f2wUW> zoJ-3;-67x9jIdNvxcvOsXRcnU7?~eevE9TChkIP{8g+t~m)E%@-EzqO2co0(xWm7z zZe}$fuT}`7#OyqL-6_86R;G9g%;bx%S-n@Bph>JRxzV)LMi%ul3L@EZYq^Gr00D_eNt zS|M^TIU&Kyazu$~{vtOf#PE+i+wz`uy?P}zT)*S3=D~v>uQUeVe#~Vx)Q{rpqQ3CE zU@JxDq-yWzeb=~#hGq1b7{ zT^#YQi`9m&`?EZD9boQmY0*(>2Hz^66Ba(X{V6vt+0~?76e>LJolg{y-Z(ggyr&WD<-~qFC`_VuL1DFo0^^Py9tU@ zOj~0gWzwmEGN2Aj560Z5PFQuKnDz(A;qV*iXn}-UPqX;M%%t`!#S@r1RA01^G+D%C zwwe2%4H<2hJPS~vUt8Kof88cFxBZzKkQI#A_2HyH5b!Phc9N*|b@bL92%N7E=D|R@ z7FMm>H!b2Z4B9$urbBS*LR;>f-aL$*#Li5(jH3P>6NVM zu~v}bwtQ*INc8C>;6dEpUA;G`5Isb5vq*9Ifw6R%+i^SjQ)z0@%Jb>e#iY#JNq?FP zv?Zd55~lJSIQwqZ%0QyhWq2)ugq|g8)Aw)Rl!aCrT}~a?KAsO<7r40pOcCZf-Yg z=OaJs$rZYVg-FMnb#K>Sl40Qdm?Z;e@!v; zPu^(^j?Gr2#QaZ0CiwXw0Dn^77NxIk3!eqAUa+OR_wwDlob!ijAW7(Fj;-pOJO68{ zi+iz0ThjB)8Iz5lk`e%M+Ub)O)zxz);-`q!#eeWR83){Zcc>zn)OV3ek)dwV++Z&A zqkoG`%+p_?tVIP`S&#til(RedDEPQsAv+7pShY$)GddbHUy?7J%bE5t=eBuM^hgBH z(9p-nqjIA$qz{rPHXg~s^b{oPJ?nb$BJZiit>eaS63+XfXYUf^T1J<_6DY~AW9A5{ z*#n**J1L%nXwsMhL(3&X|IXAwTne%MNv?;U$fb0vD?E6zQa#ML1rPoSdwVnVQrQ)g z6e%xnQ-eoP2)9MJAS+oJx?urHzQ6GDQzN^vg^72_FPj73zFQ|e+w41ov2?|tSx?8b4q^;4F|=s zcIm_lT7Z(fO-;hs+n6o~yaIBcul7M3;(ze+oM|74&7IqWFdxsyw8GiP;wC`dA6H#m z9MwRDE_hYL<5;JcY2Q%^8$Y4dttVUzQf3X_l6mrNQJqEfy^RlgB9Z z%&!D{_P24#1D`Gt8Wpypl|n@WKxyWz zCFmruQs=`Ss_f;seA-^($_y3H1KP-Bd*Uxt`1|uP1+cETTQcv1t<^LGLr)JSCD(di z-+1LOBbi531vwrHSosF|`@yp+S)Q*TY<8)Y59>J*6jI7&;orMwN4cFKW1?&TO@7jS z2**efa)sSBS0-&fC_g)BptFT0_QCpa2&D1UAzBPJf~L~a&gVQ3Hap_KLd;Zu7O3lI z)!qT~|BQwCPgq+=_E7@otM+D2Igj6`zw=6;Hd6&;|4f`sijNn&jU-dS(n88(o#ZE6 z!oqhgDkj^2OFXQt6}VVBiII$4hKYLT8L`toj(4vo*Ja5{OB0C|r7t*r0bI8*gI(&u zPiO2jV(RFUaJpLg2JaNT&e-q5Z~jHln~^noyk#r#W~p-5S=-p?9gv?`(HQlDIQPa% z>Q;FWtq&g_dHp>tlLo#>OP4ozSRf{iezXNjz!ntjhF-sB?-nfOxOfI^_k8u-=yJnQR1DC`wnwnUx~m zkt=ue%?taD_u$H~DbOBj>+8$BLsRv)24zi>k45S3eHu~4Ett(xUS8fhA@H&6=WwNY z%GU*j`%JxG9lN4ec0R@k0u0bLpjrxhhj!3}fIIvzJ@ME^qi3cU3Q5GQ-U^vo2Kq^b zy75CVos&UC=(ToP{8ZStpIub@anQGI&VO*}=H|pMQWivBs-bj~>4P*mpFAilOORFS zG9vU%qXE}C9F3S(L6wqRQ!2;t{&vZoc6`2EvSd!VJWuSI<)j|5RHkEKNNw)xTxaXG z;>>=}Bl!7(iAfg@Bo42CBt}_3CT)qt!i8VIAe3}Ou;G^cn0r8~yO^ydHLSF7!aDOBwqtO=VNF*N^xnHnsPbdTl1 zH6HrIAIuIP{<}e?golUT9rGY?So=jJE1K|G?kCKSYav}+@6c2sU!tPKLo(U;g~hF5 zlhjFqgJz&gNU|kp$J2Cam8lI|tO~SUP7nx(eyFLdOSoX=24rya>qSS?>7L_u?eA}Y zkASQ$wX(+GCtX%!SZ$N#RFqp#aQBp+04DSr8Pf5$S)`;J2&CfV)HznTglXvy?hR!5 zYl@Pt8;#OcSm+Y;Bs?GF7_myQahed>e&zK1@7iVxEx^|!*g6Eu3->&JY_0LD`d^vJ8a0O35nYMb%fWDNzq#nI$7N;H-~;`#fcb#l z0d;(H0z~kovjd(ySs{z;Li9HM6bhyX{`m*Nt}0F9bC8~K$aTy8ye0s_W4wBZkpbZ> z;nJl`)N5Wn-pwF}L>3K-v?4x%Vg54K5|!)#RsS))WoZm!`}T<{WaY|A$rq@q$r9g88~qb014b0txav zra>GKICT^TsT|iZtyYBDNRsM8W_Yg4W7WwOo6F1hF)$=N)F#Vx(|s0ZZ}#k!z^k!k zOB{5+oTm$+iNx$0oE%zM4VYC$S(zM0uy(IGYE%CmZ+T;*dXOrxn!{zYzB3D9=s|#k z!;MHSV54QKZF|mSFl)!d$Y+z)xM7)wiQxJ~3lEE0MP7@XIQ@V2ma6fuCwQ{H+BGT8 z(pF9+T$yxDp5x(Hk2P7=ewjDSu^}rwTnhVRx4J*7uNSL`e;D$C|5n8>qCBItG}`^} zJ5XZ=5-%i0zTK^2&;?u8(@!l{@jJP;G`y%|DUpyaKcIr;=kdMz21*MPv)XE7Rd5}= zK#6C9Jgfoh7}c5P@W~ev+l;Ybma3!a@+wWd>Gn6R-08cgK5hPmj_au{m@25Os4-&Y zNk(MnT_r?RB>ApCGv9VS&&8+&=qi@!PfM_l5p=@KmFc;;rUO@vLebQ3dnc_Jvb{)? zu{O^$Q{@fMsm=d(InMQlR*d!>mYsL~c{ANgSNKLFHllp?J9KD6&#mlidu!{~5vj5A zT2_AGhf+6K?o3kx0v zCrDw8C6Y)CdRmv*>I8gMN=Ekp8~U>Z@!HRQj(P-Yf^Ybt0ph}w5oq%9m*Ak8GM$#t zmtr!7-hIgpd>uy?%LIS9%;L`hj82L5xFVQkN=kNa6di5P%+)?Zm?^~aSSXWq2+(RB z2l=;?-=AIw7$bX>*y{-a$T*~(Wf@JcE#k6%N35qqN3y1- z23S74MTv=!1_aJ`bj^!jp9@4(WUCa};3rCxDc@@jqs+u#3w-3xrk(B``-ZcYAgk2X zS`vJ#Bs_bi&G_my=K3X#|L=BV{)k(b|1G21?zOVp=ingMx zj43yR>zw`aPjLEgr{>1npsz<`j)IHN5AYs3B$g7}di* zk56t*XsfA7%P7TOA;$lv1!qo9;$&T3|NBv?4U!|9=Twm9w#>$6o9=x%q+`|6#mArk z*Ca%+@L8ZbwzP=L$ee*Ui-K)076P3L&ZRgmp6hrZK$+|7APN|K#am!TStb@1P`oSx zl!wSRrmRE1vh^TzJJPh;3dtElQX&45JM}m_`w<$j^tyBJTG1w$)GP`F|ALGbRFq^s zswITvsT*+tVk+@zc0N~pR;{Wc#Sa_N^fbsVnqnPmylI-2{MzdOFjawYgw1UUrfYCC z>r3;lUAYSWmw=MSu0qr;^XOT_ojb|C2@gw4ch#yXE5ki?WPr4=4WAKcAnBbL&rOpt zEWt5{Y_YQq;55!Bgk=Jkx)tjuSb-Oe0-))iWyP&4EHw5&|l=7gOs3X zZ;%eVPB$^g%5;78^*VG<&F9`JcF+vHf8U?IbD}QQKe`$6S?8rgqQjE^wN!i`*};o89x z&8;1R^Mx_&e~QwY*TYr0TH*KR`H=1<#G9go$`wrQ= zJDuGC!QZ$DN#}++w{&&^?LPS=ydY7ssq|0z^z%YIOQ3X_=wqTf+{JRppQY{d3ldeG zcP;5>iyktk>3YX1EN<1Go6%tv=I4i19D<00c8Bh2v>41Cq+5h-z12!~I5a7=M0!q1 zp7+gdR7+pueja^ zoq@AewS%z=oW5z;`b*ErSt^+%s-|QtCpOYi7@eAM&!T$d;o?VK2@ojdtlpMQyN=U=C$oqsCT-1-Lbty9SxoT_0sd>jV#^raDCarY zZmrxEvwU|#rqb8Gm5uF)gJ$hS=|I=zy%euCq5I|23oS?GxBnzIH5EAS9uKRCjO?KK z$wwk?-MV!=N>^$vH&T!-d++Yuhx?|Bg)(`{`*!u6xN(KZ&z9K!WbOSEt9|^8jHY+5 z`VMSbwFj#+d`Zo{I|~kekpt)H?4$~s_qROrh%Hu?dBd}SfPgZ&QAo5a+-t7oS{GVVZf$^`+AyY?lE6zd)l&>HxCa`{f~ZLA(eY-1_YLzt^zUK>4Yo zw}rkyws?BN%7uRuEMbsy26DFRs$8oPGODeMPK;tWf!F@0Q+p!s+v)9`bI{4*rePT! zPl(lj^q?|pl2s2rhAj(@%J2l#5j_TTVf8>{;u^v7z(sws{1hXff7}gV^h8dmWG({+6|I zZW%@=F!u+!xlKVwrVaNbE_}SfjKY#U#(|i)IPRIWga7zdg792oMN@`xk(Px@L2i=9 z(=2CY>92UQ53GANFf5*R+Jtj%kHotH)P0 zxHo_NGnsY}N&%m@7gl(5FkhisvYKKa%4bA@%lya++N9EbCDY$?aA9HL>C;1Z8gaLC zjBAzyG9UJpHU{f6q??$DNjDQuHa|LD-t+>`or*FNJU+qv0T(NTxs#bPwB!#{$VqU)HCm~>GX?B{6Ku%C?68_!>LY$9<@ zefd!m#L0yr%1kN-L1S&e*3EP=HdD~MSP}e!0JFUvd`j>gsv5uh=#{paIhI5cA_Zt0 zDG?_EdD7y-!t?N9g*%FXEusv`4Jd8t5Yi1KhmL377u2`&$>#Nv{(_yg#ECSxoy;Fv zh|2W6d)EM|Fk?4f{DFaOMus(I(=-Zq8)+%VO+qih8KX6p{>Je7-^i35#wl{Mel#z$ zrCg6SCE1RAt=({g%_ZRdRyK~8*Hp>^v37N&gk08pRKTzb`i7ZCH!0T&Y$XR%3oE`x zY!unk^saf?LH#g9Fua3I9x!6>c;=Lh65}#l9#GXpDG&&5DcBO0TYBft_Ybhyo0+HQ z#XFy4{1Hp7!t5|b*B++0gH0*XvqD9B$0t--jsu{^d!B-`XFoOnpApk3*pDqXzP4bB zEhe^L{G(8y%hop!iHU-c69uRQ|Tee*?8LpII({J4lmwKvrIq z2uqTt!0#vNDjYN52Y6z=sob4EwUDgd3x)pWov^_%-M_y;{*?=zjZwWVM^ zY`=IkJp36@zaHvq4+sjvl;Gp!BsLtoAg~LuCKjUY1tSsl^&(uI(x3X~B<`5bKv4 zMP1Hg@H*P-7MPqO5US9I31>x(dnGoc(DY-971h<&DD8i$RbM>Bb&=E{m(rkB+t(D~ zUn(bN`gtx3J15stahr=fQPd1 z_N}#WFcmUJnZCFSC7S7v5#oPnT3{voxX0Fpv|H*h-H)I)e`;uKOf}-OeBoJPbi~Rg zYYY!v@vXAwG;+>XNkQMd=^C-h3bEv)7|TI3hGRUakQ3=R_6I^le~O|c?-zFXPM)m3 zc;aV*xl`e*#Vu<>Hrpysqe0L-Mb2FKTYuf}n^>VBbza~;=eBJmkpOy$XOk3sjVPL zKNBkF8I%ovTKhNuTRH2={P~%X6*ueszEX>$u}-}eXz}G_WT0v@lu$o#z9(G6K~!U1dMxDr|(%2^wXlAoC|e$ZrR-DB!uJ*-6^`upupp3KkAM&`me)ZG$Z2wTz0ff*)I&2!e)} zHauV2dyP;^rpG=gOiU8~#sOxcGQJ!Mn{Vh6$Wr}j#F`e{+%MIODaG|7q>W{9?dW3) z<-{Bn!ZI8BI)$Q${Q8WV&`(9KAa15`9_tLfD^p*atqQL^Th_qLfhVo_+_h`j^(aI5@Z!~^XSIaFT zS{%}Sl(7U9r$f(q1^dei52pG03G~dM!KCv7DFw%k5{^RV3y~-I1^Vi3+L>H5Ha*>y zKmHNDB2=LQ*ecW4?pj4?ovOt{^kZ@m0P=c5@$^FazbS27KRE3?bwme9wly-B$!ygO z%L-vDfl}L>^$I+k4$1sVwQ%(Ht<=unRdzr_S1T!wvG)tjQ-#udKtduial^X_|5VX~ zJ_`^W_u#w$y_loYRWItGbH+F++1iFjrB)Ts zYH0A%+<0f2s3paeC_(=FXO^~^ad)?J)&2Ya=g+^zU+nkBI9Iz;Ur-s)y$g>{E0IpG zKogNbCmaTGFKrP1ly>`wud1?V~!4vBQj0?eO&*0+0)hbeyT;RM9a8{z~j@9{2QKcIMn{4g1kK4$s&u^e9 z4aiFt-q}H8rc)&swNQ;(UI%{iSY848Ro+(`mDm0V9IwaK`SByh%yik;O@saY)1Cy5J zv6D@_RA}RIv1=YY_@8G%usb4T-_7((R2YY-GD@Dzhm(%PN!$91`pPU~yoCW?Y%dh@ zI%~rJ*a}{DY+W!!0uK=Vf5(OUID=TX{^H62N-}d4SRQigY z?!+W)Lj0Osj6@XYGiR2+99$Rpt2e;I%R9XsW#Fo7!$IF0TL3EQc`iKP1^zrLH>SN^ zTq1+zkb>0Ao4o(M9wc;rJd1pf>fE}xNcn{Uwyv&{%dI^+EPAw@$qt9JwwE=<#WzMy z+(VOm0S2NbpH@EAEh)&KoyNV+X_4V?dcp5t>jTdHe@uTthL*k0UZ}WV3 zIQO_-zf$-4;xm*Cm63fbqLCA$IUO8XY)Ab2MZ*6{jCigIG9E4R{;Kh2l+&-sykD=j zyx-!7urr(<#Zl&r)UF$7G+ZjMt~Zf<$bnqK;<{6sD*Q?}6m@7TX)`q9IBpk9qm!qGT)AOujiNkNQVr%Z8^VH|h zTwXu21kmo7&D&MF?2lZtg0>v}mosx&@i=zaXCLoyTY;83onOt`10W{P08-4r6n%Ko z7hSYrx5RT5qbG>CJUKI@K+1hJ{5e4#F$ET(;5~8>8u}FV4^|-3GBsN(!WX3hc)?v2!D+3mwD&2 zi)e}sV|%<^DIK9OzCoSk<(oe_+}=NxH8k=(kw?LQ;-$F*fYF9E=&M{q>g}5}WKm%4f**bnIB>QwHh)wiac++dfTRCec1 zU{H|3d9f1dPVU8(;rp`9`uv=)X2gyxSCy1}!pLlRIZ*x&`P5G!zFud}bTw5RtrZ*~ zl&eTD>UsgPfPhEhD4@wQ#gzb;D)k6%cHO;1w%nW?D`Dl`jSPH#Uhkk9SGf4qE=xQ& z6usoiuj_gY1&voaI~^yJg@lEf9)(22xAa0V>PdlCse5DZXId(nQo%oMrVUK{m6fq% z8)^rBBiU5yf`Dn*(bB%+4gLS!Z`jJ1m}nwk@ar4U3j%UEl^*#O!>4Q51q;^z_0~M{0Zgvlg)qD^`i4dADv=swR@#RuF_&@%MkO?XB1#b`cs`8MG=o zHVlL9ZTHLDhHz01$jcMs*gr^?K%Zb#%M2H!lk4F!m)P^yvp&~ug+JSD_t8@h4(9U( zwv~I~YDPeh$3WSQzX07TBsmu}9i@{_Dp3;4;|egzkf$f6zvP+LSHabYciUyb$(AZ< zcXP#<`@QlCQRR*p3otL zEGlveUtD1{21JNw;LFRrI+u24eUkQ{oBT!|g6`>@Q<0$J!Kh$?mqG-TVgobMNz3=W$ zJg+J6N`A1q57cKn!KHxX7xhe-mXN7Ryyq@CMS1zFLPtCGWcmufM3F~rM&KfyIsvmy@1er!2sHU2dtQ52AMchC)(>h3Gn$f@~^e3+8D;62Cq~e{dn?b>mH;* z+$%4~J)mf-`w;r+!-iZ5D9%iCp((gD_fkBIg`}XwdEtM%9+U`QOxN7_i1T@u5)0!u zTT&-X`Hfb4v1iakh~+OlHDpDG;b}raGXTkeeb04&B<7|71=0U&UXI%!LN}`I zKS39wEi3B7HvcYxp4^Skn%Zg1^TD|qI*PFN7=2?Z$V+A+~eTk-RMAxL6^(iZ>I;CT1Of)5WTI8$Ik#~zx?|4Ov?u&( zKg3=^cO0%oN;uMJOLB%M_vMV?r6UHE0hxT9QCV8}6d(=Z03O~#h&uP~^~MZ>8HlHB zc=)&^M}@lFJZ-T2V&e&RfS?FP@6oi=sde1F-*==XCE27YVQD#G2`LMSN{Y>d3U039 z_wVbx-*-H=%OknCy5>Bk8oZq>*!S#u?oA}TA!nW5w6b9G;qQV*MeX^Nyf#ea9^ZQjEQ$m-Kq#v(W1TK9Nd#HiWWOZjT3FYKFdN*qREwt4nmOE;$dmlDtOryZm zJ0xyu!($woi!^Bw%UP3vxK!!{0B49-a+cAD8=DW_RJva3zGydN?P>;(B$Ocjx%A=r zjv3dlKb)7e<*Nj#QxGI|M^T`b^yG=?R+7l|-uzcuH-FK7tj_Ib{_WdccQHw%>fNM& z6S(3hnyebMv1PNnLRyFB*)i#b?Bfm)Dha)7&l^wGyK7FP%|A5ux3p|jDUnMQeEplf zHne45;lJbd_Jo0DHi^WMZI}07s`c>mtGauaRize0RgijJV`V;dwYJc$Xx_$5z=QdT ze$YIc7!>a{YX5GlRvhH=jN?6H@}{0gljSE>V{2tLJY=yTc4%tMfomWDG zc0Xt(i-pup2El=tqJ{4sZ3tIJB(&Ij@okA3UWxvHhihf*`f{X@%LWZbqT_i$5KSW` z2P{;AFfs;7R)Jdd5SN#qJG;-&)T>e?WwbxOl{CqbKqu zsq;oFE^gA&;8Q|h-JvB))jzgWOB@MbT~eUui`6k5?+pzNrFb_Ki_QQKA#GM^hps&8 zX_b;AA|#)CAB)Y+RV&}kCol(ufPTxC%3}{a(AUoKUJFtFWLRKI6ZCB&l=_L%)gTFL zYh_@s$PM!_j4)tpCAs5P*zTuQ_mzsgeD&f5vMx?kIc;Q46u1bg^xR(-&5p}i)8GY1 zK7M3Jj)pW5uYudN^kF}YONNG6P#q2TV)-K2I#iUYhgE$w(Oj2P+z-8(7(^(tWsu>? zwRVSHi3L|%5Nu56aMuiF>OpxqbFEnM3ZGZvF`CEayZj{l5AAOXb@Ai-t-Ef$6gJ#$ za^VnfmSaa z^b@?9>sxfR{iFFl?a-ww@z{!?sk9Sv&4e-RBiO$EaKrjkG+hZ~7{*Nh#fP?*7L%5I z;fgKxFfkW>c_-pjwi?bcf?#|^TXuQf7~W-|b63at8kc^B2s@vIt$g=xuIHgXMLq3HyXMXwWPBuq<9xx%%N z`p9DfSAd&lcmlOZ5!^G1Gw8p@)lz9^Q?-I(n_kRPk6zp>u|=pswWOh>6>|OaSFc`0 z`!h)O{7ng_iU3eDM`10?noReC_rO*S`x5TcSTR8L!dm`evn~cnvsiMz9IQnorP56AzamVSjEg)fwyA#{o-AaAk_$<9OU28Zu zpHE)TuHAhN`mb&D2J=9Th2KrPl8r9RKlfI2y!C2df1X--=l*!9o~V(MdQ9^6i#Owm zio!UDp+>^0MaaL^NHH?UcYdYopyuiAeb?el@v{oKQRpFz+fT2EHR|i69Bjgd^Q1%8 zyCbrWKfdx=CINYKJUk`GmNhU-cuVKdqw|n~Lzt1#X<+PQ*=&^!sM?L~6P(ZRgadvN zC(oxLDpCF|BeU+lV_|f~O|G46-C8k+8Zw~eM%`~KGYt;f3lxGFZj`};jV=XspR;DQ|SS{kqYx92@J;SP%C ze|xHF^TBbbsNZCwYm1NH<9TDv`^Z+*O(q)2FZzj&M%nKm6xpF2nwK=R9ahST9+Mt4 zqYY~Q>^mV}Ue5#fc7TLj+;{nN>h%fOV4=9aB#3+O83nBn5b~ik>q>1OgEcKcc+sJj z^KV2W!jHpGcKKO|%gE(3439yfT3JL)4n7VZtXWpl7yqS^Q=fczwC5H8D`-taserA| zQ3L&$Y|@?|R6|b8V=$mVyXk0W7bTo5tjnq_HNyZNPPH!KmC;Qp_Vdk@hW5j~Tf_pd zw7&jSZ?{3#QAOfT>z&s3Re}$0_eY2SuTSG)UYe^~U0$C11ThKB1Uo^l#9dunRJ3Iq zwzWT%HmIkL`9SOjQ8WmdSW7GUdBarEzrO*b+?Ow{Ab(~|0{Z}3%coDJE@&ZIq~xv$ zn8MiWS2}-E2rtBmTzV_mqAKtRMJJaKj2p41vyETRAtOT&1 zL^!7c!Q8(63?LK=#TV;AxTdk;kZh!B`=e*K6uE8>bl-$ZbSHLZPqk${q4`7=UfSfCZrkCH#|E2!i3wKEspPh^ndneh&OsPLV}Pc(TG zOimOnrfgB)i~9O?=$H0>#TCG|j`J$A3Pdm1i+|XYYEX+P4UMy`?3wD(7?xl(sL>I7 z#y*v8&>pQvVPW<>KyoaXeu8zs_4n^u;r?$;!G2~Nve&31ZwSQys*;j9m^{`#TlMcFhY3W`Q#)O3JIhF~ctH3L^7eJof-`|ht z{7sjE*W|HvyVM;rMrWx0_aQeEs;iFUGWpJDMr^#2>V;*dzW$&{C6`jgt_^HZmqIR;x8WMF`Fy0exgpf=4-NoS9yb_#??q;|fK+h20$ zpSe)xLzUhiVq`3})Yt!Md|)W!bo*t}Lrx?3{(Qi@ic`eI?b3aQnru|VlHy{lnll^$ z&aTrr^k!bn{^j}|vB9#GwF$72c~n%?;j!>$|9#RmL(wm^TJ5!5pY#ty`@_|VC+zja zRAo2ixUTMPti^R?4jrA?ds6I85hO7LIV`nX1a(@Yfd`#2_!RO>^j1U#uDbInZuirI2hHe+H zd^LFg^*>n>R8Cy>0h+Af!y|aVja>r+6?WBickgNcN}=rCv!@$o=Bq0K_!dk0CobTu za)WHYv)0|qYhMn7 zO5ib9+Vtr~-r!>VMHnK$P?Mi)UXy8Cj4mt8vgzpP_`En>W0MquucuBy(h8#6t_%{j z>PQ`33(yIMQG)j`yBNM3z^x=KBI5k1L)r1El|?{5B__shwReE5^8A?BWQWw6^_|@L zO3RMf+pg~2wadoJ>Po6|GdzkvA4QhY=?HW;R|l}%rxru;_{2oQ3aN7b_Q^y+0fCns zP~1lM<6g;a@A~vfq;&cG`jA_}^)QFRByh*jr{K|%t)iSs3XPYLW{1_2rl3|obSPt^ zqez^Z7pw?cWs3kjf9)jay@wmLlsG$Z9`aR0NNXijpCN$-p{|~HBE~42YEy(}iAi#{ z7U`1U;kc|dwncbByv>`xXe51;ZW{<|GaOddtX1l20taqoC=!Q3!MyiNep6B0s;~QC zPT}q1a#Z2v=IzROn-3nE-S8zw7zc+dS^zk>qgTnj?4YiLv;jl6#TX7TURd{>f3}~C z3!^e7CNM3t)iwkjip|_9LF2vx;tif3@V2mZRNM9Tl~{09lcRkP1~dkP?Nn37^&!EK zy2sziw&YdS;ryB^01lG4IO6(>(A;r85om<83_i-YN*KDa};g z?0$A(%a$$I1!RB(MTK+Ciw9Q^82B@MVUcn;s)RXve|527iR48BEQdyYS#NHU@I`S@T=o}&_qw>3p1IwKX37aY}x z#>U?El>irYcjt=uWyc=x)U9`cHu!N-k@Z@DvK86c=Xp!QK=Xx&%f-jfPnPFc(p-eX zmBOOz27lq3o#FvYFGrIVJg-PjsNLO5!?k%7XBqbPC!RW7xfdI(1qn7JR|EONy>~v0 z9@}AqGRyo)f3`SfK@kjBlwUbDW#KilUMSYZLeeQJqv5 zG_=7TK6rj=)3FgLNqF7lS622@`B)9%4tNuluIcqC3>|WQdPM`9qMw2TUx3VEw;X@P z(m_IW_hy~wgoJQ^F-b|hl_3vEB@xno#`2Hb=U~pSf8h7yv^4a}W*r?{>L#jI`=KTa z#`B~SepDag_y$ME5&q(F3qwN$n_YK%`1Gl*6Rd0O?MGtIY$DEG0{TRi1g)nDS%up3 zm4w{~=8jKZ3lA^Bf>NcCD-sq_8oGkF8{3H$8VaJKF8FKkcXB8(*wHY3iaHKq`Swlk z5jq#Frqgs^H)V8SpMw9hoSaSeZT$S5VVyTP0^2CZH8d{UG95GnEuOyV6of%>{9QMi zk8-5d{{RmxEl+a;?=uLDo_bCm`+bx>=%K8x5MZFzR)ZvIPq4L?183%^g_FxTEd+Ax zKJkl<=$^(g7wv;t12quW4}%V%J~f@?2`=lA=KGTTfAixp<9xww{`oW9U*7Tc_S7!s zW|?|M>^A&~&?LV;%Hmn3ZLcCW88DlLF?M|YxP9IWRUIG>Ca2lS$t%SjMES?B+(XxR zBjfOR3uaO5K%u40!6F12wjbXIZUs^>UrF%t+TyBU+q8Y+jc!VE+-DK5NkkYtdM>*U z{CW zSCYbWQ++VX?d6OnYkyeE%EM*U4JL;bZK2da-JXhucnkV=YTP$2Gv z?!$)kAff3y(aBn$+dw9!(lpNGlvUV)?bqCqp72R+mwMmX^GV zg|DBluYq3B;t%QXm*tbmLAxh#{NSkAMoVjfS&gFOiz=jlKK~oRDH03WCoO4b@s!7I zD22Ic##kCS54OqGFOb58Is;Gy)|7&!fioZQOMe4_DWhJ11RnPe4*q z#@2ur3Pjl3C;#bN2;?vcu+Uvj^0T^W^{L1%2DAty?&wiCQ(!tMGHsD^xs|Jg_yk{z zd@X@s8F6t!m5f$?%HUP>M;(*ZEwF)!!;c8}fosknKwvFaH^#%qH?}~Es-oX74-W4Z zDqZ}_Tp(QMHfeb!kJ+eiOHe+JHXYpwlv=q$!+zfxfTkb^$)xa9lgI7r*AJt~#Ubl) zB({dZGAbr!`mIRS=XsnSX#$>v$Yip>>}`%5Bx^uUfMx!S;wR(+hCWcI3@6A;J$v$G z=Wq0np#?{c^n+%dn@+0eqa7X{+I_g;&6^8gl0x-~h6NV_E}u9%(BfzCLo|oy2viuD zV9wZDX+7GByKILN-d#o`H1aw+w|eUZ#4RH2M)5gV2~Y*+413twQ*dWGDqOX3xU?-c z7zL5KNKT=ek>fpEcyv8Y*xz?$snq@?5+fr){7~mfC(YPyTsslW5lyUVMrsSd>Tfyd zvUjQ)=r7O*%N;(fL5(C0O`!Ht&F-3|>ql1snGmvJ>w*Txp9i(=Iim%yDYNrYm$2@uZ z^sf2MYhLc|Cx9m0t%8wgwrQ*6#&^*lG*l0=t=vX~9&~!O_hQw6zTJ+;5}eF%uQ0#Q*9Y_o1z(sB#W`YbO8q%_CGK&E`B6UW`9OP9!E zV(#ZTbUeMh;JgljY23mXZ2YCxkLFNRWO7dI!J{Nli4p}@S*w-k4+|eNLrGAz0GqEr zfs!s@FGyv_X1Mbe<+L9L$NMv^H@dL00Ak7}>#?axZ~gFtt3*u#z(GJMN(%VlQ)Lm? z45-s%>}GkCWd$4wpjny}{+xrY$EONkcNZ7^iNQBR%aBxq(C%AR6UDFxQtTUihjz(< z#D~cSC^1|IfK3ndMDCM&y|{yhhe})W|NYqS_B#l$o0@dqI-i*L{~g=_j6AQ*#~(Bq z>g(3Q>`aaO~ zVj~aMZP4GO3nCe6)482G3VgRM-WrVFIY0CX_q(K0=7sR!9sbe%IppMIHcyA%T;n`k z(Kowk@4t6r3^LQy+-!5t?z%0i<1hwfmyP1SzXxz_H)-5oys?vS?Yeb`CUEcL}Qher{N6M9d$-+XA2^SZspBf-++67AQZ`#w7$kTP z_#hz;yiN}iNaLrvsY^n*KTG^*HDcaVt=h}^3-M>tj=k5cV9#p}beW(3<%Py-=vyLL zWgc6-+R(-#8M4S#()r{}??VmUVH@h!=d1=*tES&r2mH4_?R-iO8S^+hTq_Xz0~ifF zdu1KWhkA<(r6VQ-9UVr9_QNaI)z&h+2YbY_Dw(O(3;LaI`%ibV} z`D#>8smo)sISgm~MX>di;#`%CUj)>qVh^lU7GY=Y?F7$-)H&d{A^oFTp%ff~M!>NyW7SafykSU<(eqiWZY| zY;}CN`}gigDCnJ(tNb|%gdR#p!_U!8d_y~Vcp)bNbVz?teJ|!qQcku0UsD2{oG;Pt z_4Tp7lC0%p1a1NV3RzmM*oE}>S7K6s@`SMT(UdIk=Dre$P|DWU-16^43(TKvNH8op zperRu-YF^IzDcIW1%@-Uxxn=>@T8}%9~61Xy`$9f#0jLwf{m(8G6*pci)k_fm7MNS z9CmccH3z|K1mbpldEYuh8foi3S=Bi6$JX^oFM`=0xX<@14(Dm>3oH z(i?0GYkDowEB5xlv4J49g!qx(y?C*vEWSfGg%rWW!a~P`D2huskaFk4gPB=6e5p(c zTpYF@s*L2Nug+^hSz6k)jm^zlX=#-=5I*v|X#gkWH@Ixu*fx8iqAik&z!is7s8&MHH4}{Co|=O8P+R`1vuC=M<7i zw#anv))cj|y}}Ka6d)qgq{_|yhN0#vI_C%Ci9~8-(g2-OJ#$A5wbJDbp!qT}HLa_u z*|T@=O9La;j;(2|@5C}JxIYzNG)1vAGmD3=wD@Ma7ZzHl3=V6F+VDKXc|GtfaM>@{ z8YC(>o*j<#H!8Kn2$h_SsaeTMg~06#kQ8bcRVAGb4=sUwB7Dla5z)?2bl0luWIJz3 zGg4B$>G-K~UkugBf%{NxUR6~}SG41XVDkF1Wjri6IpLI~s)gLk9ocJM-Eu5Y=3#XK<@M9i$OPavwMMn#dwdHyMWyY(EELnl!$ zk=_MF7U{cj(8djDSr_r0(6Q==s*Of6Ed%-jdV3v`z;9Z1OK@J^7=F(a78cgO&mzno?CQNP5_)Kp zqM{hmRGVJc)eU}9Z!a=7CV||CH6+@Zw{IgXu1a0JaA7+QPfIAxEuh*yc5tcKBuJIA zGCz=P*l|-@Rf+S3h67AQu=$x3}#l^+Wj&k8WDV_mO)e`)POA8Ap za7sIUEUWd88jzc{r(H!XiSIzo=G>d8Hn8bWNnw|mWlE}yq76?a*vv;k?@ZnC?7vE5 zQ7jdbS(i%Y@^|$YEa|+}AM{kJR?%v6ds|zd;@V*NM~0?C^Sl2oQ#(!37!E-|=1{)M z+5?32Z+!D6H5Sms@967ahlkbF)Pw*#!;A!RgZ`)UmFmyX7U}CKiJ%iRco)13L=KKV z!6B8;QkAGiUqHi)A3d_WZ~^_)pKDdqN1X;KEtMrBm~qfRhEn3BiLRJ zHoV7z%y+9_030+};nvA>eeDk;LJQ-5lyF53ju$mG*D{TzLF8h7lIpq8V8cdyG$_KCH&_Rno{_`vZvyJV^xsTi>62d!LDA1qv({ zrATF#OKVQte-tyFXf$BX%=PA9TF}fI=zp`u{)!5`;OGF@YL3UFp9!IGTgj!$QXr zSsJOSYra@xPYdH{JG&bnxxQivdyrPkR8&G@2L5)aJBUyMyMmX82R-mtAY*QexktAl zn;lrkCCuzWL91A0;^|Xmlo5$6`({$Avi;>PwWk#m;}GSb{*Syot%#AYiw%c}nci7@n{yttA_UK~9)JIh zrlZw)8(I-lJ8O>%9O5!kv?3ZdcIPj6a7c=a(TXVBdARG_xT!chx;Q)8IC*d!rWH|f zc5rqhxLBRT>#5p!*`2ddceC=P716eFI*-?o5Eq9P0ri7cjsdLk^1}X|L@!YamL4;J4ClvP89w;6s0kG*!lMLu++7ii*|+Gy_z`d zv_+Hk{eE{P^POFSi@Ody|btO(q+wWc9F3&_0I?$ zzX8B1t>(96sNLF?X!dZ8nDsi*53*KAF69~Mw53LRJ+;5HE#JW+`>8!~J)54@+4mpo z!;bD1V?OwJ`kqbK4|-CR^jZ;}hV0K*mBg6oc{a3Z&HCj0I;2awU|4Hzu#Q9Xme`>?~NcLNwWyM1z#Q{aH=l?+Wg3@I58%*fm*@nEZ45@9x!BPdkR0h#v=AuI<~R zf48;Xawqe;aUB^g(-ZbDP8>b`jwNg3heN3!*go_YoZA^@pcV1?dD~e!rTEqt5?&V0 z)A!}8Qn%3#ezS22XFbTyTdcFa|BH?93X9wh88bW8;Q3H-#b1Fl*XpOgZt=vByck7Nb-!R+VRn!+VYhJ!Le<#bnnw(Cx>3$)H>j^ZE+2vXztX}`vJ<%7> zpeVDvZtlrCx^3z1^Trb5Yf`eze{SykeB#VLSC8L0yO+b(n`}6$zO||}wwdz`h73v#~nnd{&&Dyiwuzh92j#UBum4!goX*+6^G+-7EF^`CB%Mg|`w`m0c*TWvGse8n2}Bs~Nl!nke*Qwct>g3#e5X2diCpE*eOk8V)9(~=f(HXA+ZbZ2zE;IVL|g7d5P!5>ZxuAV}$`fE+S-b2pT7+ ze||YS_@!YIqDF`6c7Mfa|M{mER@!1hXa2eLhi__3b^?o zfV!5B1y%q1J?;)TTrZLF7PBV6uVsCpCsgXZrvB~64@ac` zK(L9N5=~7=6JZxfO(g_q4)zizHOnCO|GdNFDVig|H8ID}PQ%bGE;bgn^)~3yin!uM9Y$Xp3C|)kG>I185@1oZo?Ws;jDUb8|B?F;S~0_`<(_-M)GA z*|fOsH%(G{>(_ym^TmV9`(=g(M%J);e>B0?Wx?-5$Yrx%cOy(j5QK4RyLMtD-%Fy; z4(-J{+bX&!)(;XA^70Q}#a!;TPEIW-ymnUmwvJj`hsO80M_OZoF}%asg|hw*Tc7E3 z+^W~@+F zh(JnCt{f7ID?C>}2(<2c0driTW~_H^-`*kHe!*^}M5PQe9u_mmIbEqhXhTb=kG* zkw-n)R<*RG`Uu9$D&r0*9e*RXOQZL@)>!ZN!soww=QUMg0;9>Yr=v{mM!$ZQ_8jd{ zXAkgzo)d3A=6+Fu#_9=~G(O_OC2fyZIw{h=-dX@|En@INP7f)1r7aeB5#Bg~2=AjY zp@cp(YyL=^y7fqYBj^dab7>((rH6~lVR+G@D43iZa{Wfr&HJP2OK+vvV|D<3{svwr zz)Hd68Y*78x@v{MXK}Fd`ZuK|QWOY7i`LvUV)YMX|7b6%*gB ztpd@H{W_@3U+%N_f>;F13`8A}kG6dw`>R@%=tbSUb!&LDr<6b%z(LE-@*QQ$xm>Yh zvJPGWNsa_ESpLEv@}9JBEBYH5*8GM#(^3xXA@WaWeIl$ z?&)!_F9Z7%iy{D!f>D>JV(5E+cN-R|;X8Dcm8>@v$@sXqI=kC52j*Y`j*!{Rxa ztf?+7l$lgZZm&#FS6Sjbk0}k#AX%C5^M$bXnv$GM*#OlFA#mnuEa`tWb;{Jke z6uUfj#g8rA$=0KKdAX;C1GKdpp}kU^D}A>NH$?pMx|*5>*%K>-L!SyulK5k^-3OQ6 z$iaZWr2JdRjWt})E`4lHZy`U_Mv87@V}%DL+CsyavcSvaW_E#XR~c;csmuIMi0q9i zvW|@d+{tq_@;i_H`!{z4h$ho8$rm<$6&d5Ga0AcNIm*o4&dbOWu~=d9_cr4jh5vBs96j#hr@wHelc)?Q;R7Q1DX2v%|H;o+U;Q0=!ZD z0e2QNLI?mL9(hRxIDfz>I(6wZ-{t1NvOI;alwaIzt)M&%9@I#i$*@i*3*>SD*tMc8 zhzq2ZxWFsKYKEe6lIIVPeC>P{9*<6O`+Ag1s)YWyAU!duAUr8)-1bR^3t6G7p6r9o zfrw?9(dk(WB@1^6bL(BT`|iFKs+$qOFSht;!^O-~1OzI}Tf zKiv(@h;|Q^Oiu3{y&y~saqY!hu~&&pNXU&NpTX|W8JyF71;nc5;1r^-^O;AXsjrD10XaZ*QPA@l@R!*_6PO{7HoheCW zw7pH&>L(TUl;5N4R{Hj2|Jg!0|^gF!n6tYg|Rdoyg(+m6kSr z+0iEHo$y5LqfEUq9Yvc!GFcN>UMz;KdnOZ#GNdZu*$qCtM5kuyURW9>B*Y$!eL!8m zgDXMpGB$2JaO2{{*!mXTiLtSB+2!rZg0B*!4>HPTox!>Rc3s$B{_xA!4rm`b%l3NQ z)}o7?Gyb7ZG^>e?f#DI{9?)N~%KNn3zn?4Q$^5YWV-Lk5MRt#I`q+@s4%q8|g=WYo zXRO$S6iluqpK+thU9{84PgnL{nxDi*aH9K>3SV~fJD5bogvQQnj>Rp^Vs3mVn3NQV z%}yr~v`+&BLpVA*A;7AhNMUBZFe#rcfz zJkN?+wfc|)5B-GpmCSR5fGo|i(IC%)=+HiSDNn&%JyQ$m{Ia$?;0#rc7FUwbBsg7{ z7}`2Zfta^}ViATz8X5-+A}#5*j{97A&-e8WO%m4Q{9Up}zU146c9w~jAG0W-Glj9) z3cZnHDY2-xkMc(K^1tjAxBaHRNHu+?TF2i%a_MPl!RsZV2dAFPii+xo++8_kwBv$R zxv#2rtR|^+&oRXW+T*i>=Pf%F{ZObY$xWw>jcpX1Z||Hckh8cVmU0#OUovq=5ddp( zytTCz#*c5Bo8L$4XJzW>SW$F^tZ6-GBS#D@KuG*GHy3&HrbKbpf`|L^hLnSpW?N|? zYc#2CMNhr3FWvnWgRjRk8*A$egLxwoDaX}B@qP(b8_SLi50i(HeRl>sSQnR{s0^qb zxzC-2xg_2llB>?oxCG`ePd zJ(txcn$isCr-E9$0w?2d9aLtI8$7-(vMh+b6bquDdQ-pw)$aud2zHiDx3%VAoW;Y- zYk&2kO>U`)LIWbv+$3qT2kIaBnraD$$1Ql|tF-5ag@s-6@!?OlJ@`OavsEgxmMhsi ztKsA$L)|V}Z4HfXeQ>oQ`cu|$FkIvbQ;PzG5XIXxYw^lz6JXuIo>Xw%@pki{va z3#JeP8m2=-XlGj`GLxF?w8~=M7q=IS=_q&E?Hy0I=MxszeQPY2q)A#dE+bm!TD0S| z7{?>Os}K)eDci9K!t!CE%tZPSUlpB13mFZe$OZMJ`xfwDAr{@4O9(9zGo~T$Zj&K* zWC$AyVTG1zp`q4YbVpn4BUwtFkBF-*o5d+!uZ`B{iZw6Mf{1@PNwkf&>mNPhHgsKT z9(5WcMTaRmwBCyIFS*-wY@?xCDJUwa#fxfG{;Z~xm7neHd-#sKJs=|n$6XQ;-L=*? zTJUvqrOJQ%s5;TRR2>tOPEUAuKu=p+-sSUUqO~B;EfPvQd)uKr+STEEr;!9#w>sjy zG7_cE<~v^cl}e~|&fTEz&AxNz;KW4XlYvKdY>U8K2H>ykS-{+wv`r_O{~bDq?eEtT z$nDEpg-V6cI0SW64IKJDXT)F^0+j|ZEn^yrLx&w%oDiXIer)ybwjob<*93tuN&p%M zPYtm7a%tN}K=L4nHd$Y-ZfjD}dt@luM36LMB%TO_%H%BDxpbeY8iP4Iri&tZ)kfbM z;|dy>k%T*Xpox#4NViEw3MF9V2uIv@T1%X*P($JfLa}{XdiQ|cw^M`UB!z?)PmAQk zuGKd~I^`3Hi6$b6%ct7!1f$_kPA>2>!^!%ob@Q42hiA+@^z1ZlStHebcjoSFU0un+ z-g!)JnQ50S?q}F(Od5%hWv9WV2hpT`tW`qw%8)IkpjM`r-cEA7xA-_swh09+#n{ls zh9UP`A5Y)6xD=kLH3#J+fde&*pB+O4y1sq8?XoZ0*k>me1x^jsqt`h=Ph^$orH=~j z(^e5%c$(n5&XN-}icFTrcS9RnRMN!Xp%2$K@+LF)XL2qFM?UqSmg{MMjifyHkw)K{ zR&~YS^?C}EH9H}|g2e#z(b8Scc~jd!n8C1)vpo*h_48d-E5(tKk-JOfoPD()yb}&$ zN(zq>_It@&tWrD-_BN&wqf_?k1ijwIK{O)o%`@-T$+N^@?2^;^B->CVhHjP=o}{Pq zxb$$7wV83*pGo7pekcgAR5E#^O7&jL-b}5wllQ4qH%R5$DBUtLaW%&KL$6)S(XuXZ z3QNysHL|pHRLDN|m9HtIsTPbm+zEMs)TCKl>Y5tcuPk^dnV7oz`Wii*y!daxW-S&& zMdDbu(QI>eTlc-h#B!jj0X&RS?RRpiSJ(Z~MI=ihORC=EquW-)Z;i9m2XHjh=v8FO zwEvWjSd-j$EyIOZLDPw!IwGY|vqGMO5^uAr!!&Kc1yw4wtN{(ZAre42u6Ja%gWB}F zek^8+Z;8=fKEhk}jpkDOZTKLgJH`}_Icj>n^4YVuey=ev{(?DHzwJ;LBg5{ulw*Gx zg|{{sF_Etp6c$GIIi7dTcSVKW$v(dQ<22rso+?CgHoKHJ~-zq3m^AefBWz zIq*P{G1|4g_cU>&ARMzQSPl?vOH?n(=c}BsR((pq%bzDcP zP^!H+w7`6iK4j_~Sx5%UB_v$0Keb3NN*;BzatAG1>SiiXZ5f4FIO&qbR(f;NlwqQ! zouv#FyJk_8{-rx`QEb+Id1bCDXedfuVX@~OXb}~;xueZ2>zYCygQ@{$OajKZb=%~B z&K3q80V2i2GhFbalZxpaa`yfrC9xPK@lNzmI0^*@7geWFom~M~iyHgcUGj9(wKcf_po?g-I&eT+}^2on_?H&x&f6-)4Kf0g(O0A~6y3T;!62zmho4{km$L90-3V`mr_wH5A3G~2_2=yCG z9RHs$H=-_mK^VsJU}nlcIQ7ov%=^|r_kg-2p=!T4kxGI(B^+y`Bg$qEt#pN69JP2 zx|@ozV`toTM$m+>P;;%SRu`)P0*Hx=Pb`?Z{Rac(9p-ModEjkB0|w}&rRjG;HpPeC8T#W94wICBy2{>;e{$J=6=U;AvH#kf_4wovHv;O&M;;&O* z0jE6D9DcvTTMK`RQ-$zZm{~5d^iD;5DA=r+oP7QKMwy_|Kyur+x{9%h#(zLsmu|o? zTeoe)XC^5IDM(0o03LdWI2DpkB3f3^?ZM5)rV9EA>ZoO1AB}epqZT|hV6D(MI~dq+ z`|s6((+)kcCay!^<;{dehKIv|#;nZ4?MkOad|%@4uy*mXgP1JEQ0PVeAFBYlTu z?_Srh-v41+%N85|%)0cFa_n2T&>J)G){S1W>|DnI{6^R{&h zYyPva&>7Gqxi0>4Tz*tuUJhzLmQ(I9qz1d#&=AH3UT{HxstC^y=5P@G%6*kaKK%Qu z>j2)4d?>IQ!F>n>9KSa(RER`;eShO{hB%X%g#{P~emeDI$NE+&|5>P%11QhHX#+VU z=wj5RpX;Nai~m`cc%9Y}`&4-@-cGo>=-19e|9%s_s&vHa*8k5c=6{w<|Ff(6pDpD7 z!+v$V1lzZ{LjwaN&i{4c2gLSC156a8Px?)?!2bi%-@ZQo!PoT5V%~w$|2eq+wTeSD z2NoHvpQje&M#sixiwg?Ise;PNL`9DO)F5nXeE+VX)I!cxQ&+c$4;&)>FYD@%Vsr*F zNUTIq=Ej$j|6Mx6KJvvhf;8IK*LVH;CPW8g>D9FSsp9!_d?IQu^`Cwp`S((PYvK%G zrqjRCU&CTe5j0=+(xv%*ipvze6#uDun7_dj0JbCUI{)SeP-}Bbi#~V{7-#R@>!QXp zt}aik{zR}~t6bnzOp5&Pp%|>(bu={v`1zlCj@^~3`l^~@-S1{K`C;zvTSumJE5&$J z=$&&`6@yLJ>0BSab8s2ZT+952=_8+P#v3gJ?4O}@nZS9D^LXyn`Fqrf%dM5pD{CLl zX!MI6=3|8{^F)c5=Q!RtV-piEZ*NFG4Xk?2@8f%* z|L?Ljm0w&~xPD`w#Vs}AaPC`~0a$2`xNq@vL;CDh3F~ZCd`f9NV3&@L8kSh8tJnhO zm1!Ix@MW9u+Pw*U@*XdYo#Lrey3CJLLbXm7Y1xH*Zy}jP+0k1{CoFBYrWWkZA6w9n+0$d4gPyAic@(m;7B)u%0-oz`j$7`s zOh`{`*d23Ew<7L6J-x7^PupAE7QZO@yd+T5WCBatfFQeh7q2!gL7XVZ0x= z?|xf);xD6u)&W@RV@Iv;SpVjYZd(8Q_oP?@Bcn{8+(}Meshur*??HiP!M11=Pp%da z5rKJ9~i@dXD~Wcbe{2;F4pZfZJA9{>F`c zg5gGvh`oZ^#?Iz(yAWXqRcI>p>}lz3onfwA??uLXcq~ELsBATj;j$mAObx-Elua-N zwT`ySHpWfo?Bw*`mfiI4y;TC;bFj$4c}H9?Nt^f>L#U*F?s^!af&SvT%L2%&ZK$ta z7n|M#P15hyWBqB*E9%rl8k;I+6y8&3>W9@lasyI3ceKF2X<+3n}&mk^cY zKK(v6CjK%r$wSd5@#2c7EXBG!aJejZ2JkhHtLG8g!j)Z7Mceg^6>v-C2E$r9-zQi2 zY~lwQsW^AoF$@k2G_qW`D5z-E=a&%OSyI#LLLUnwD&`(3{-`i_~IUJP5S zbA;hLZg&J7jXy&;V&AB#;&odm|26ixK-r;y!ss9xt97D<-u$>qZa-S7xR&C>o(`3h zuUT*hXL4SwBbBA0vx6((@QiCGJ+*N&e~lR$sig_vrxym!9)L8%M%Z{QWGNMH!{Ma@ z-CI(}Dc;FuC>>k2K37>D^kRD6qB!+n58b3u4Wn#6`;TD^3qpLmMn{q_B=0(B6(i_@ zQL8}`%mJC8m5STy%Nd(_OBa*fO3aB3UFhr(X{)WJW!Od;9c_~-^l6*zyEtwl8aEF= zTaS1woT*@h{kx_|^-@*YwRSshDN_{$;4DB9i~pMXdeoU8Z+~aS6r!7*1>@@|JV?3S zI?QKltT^fI1QHGuOF8z&#>8ZF(H2$~#%VH_bxCBN$<@Hxy}hBM-u&dr2WJx{tn>Y( zCmm4LF!bV%*3f9d0QLBc1ihz+2a@t~K2ui!S2BOPIarw854Q$e1KvDR^N-Hec{t=2 zLaff4Jm=?-z|wxK-47ZXef>L?39PEp)_SOj(o11UN+md><5x|?pnnY{1Ih>OYQIDI_#(xvFnqBt zX{)>B;atIDv3E&w*|l&jAa8LRUoeo5tNHztMw%%**Hu!E))tk?#N_Ud62lt<5u_*gv~Grrx4qM<0d)aXdmej` zr&W6y4$w0QONZ^UAmT>meR3dLq-tpja@-kez$&AnJfwfc^So&h%c>-pSiz8e2=ajf_VfI@m`ZzeVgniZkFSf$(H1Z_H#@I=a3^CN)lzj-pFP7JF4;mDU0s zv{PI}>0TWHI|=&9OUOjUeQo#g+u9wwv1&7zLhg(8MHTbI#WmWG82)2#fEoo?-<&R4sm@TKUw1%C=|~4aYhX-6~Q|m%7Qmgq)yTpLi@H=Z#V;#2Oi#9!q;5gb+>iAbG?(o zaceXvk&Gj6-#+#5%$2q~r^XWDb!t&Y%Nt`Q9j4g(rhy_DMjecQepZ^+cn*)jX;wDR zq}-plckMLHkI_{89-?t~?oIl5XC-c`Lp?E+cUh9CW%ehE9A+2dwv9fcp|PE2N?+zV`F?5_h}JoINueDI+}Mb*YsuU>Ydlh`33I zTD0qUSw=D4jA`MypXd&91(Dc|2Q59*9daSZQQQVRT*KZAuHN>XYMPG>Zxra{Hk|y> zg4{h6BdsH}BwFr#EUa{s>&BaHCw}}e-dAuk2IPkP{APm)!q;TMMufWIi8LKqr?iPA zCuezpaLL@}9i&NM0RXr`g)V{=5BlpL0q(9*zHE$N7Cy(38`D)Epi9zmTl0|c0 zN#6J|^kNwclT4@m4MNKPzE6y~$YZWm3Kg(t`~6U6`gZ9;5=cq;+DZ4Rd?>wS2|Eq- z1CQL?UF~ghFPpY7mZ3X=P#bBioE#iS3q7gDLsxp+F20lAIw}_T(L91VL2GGY(F-!L z5lTqzQNzu-yp}Z4Ua~RT-n5z6Vgg>T6@u-D8i_U&7#N;Dcprd`6raaXefd)s)IFMfGvftzWflQhcMJTy@~uop zETzkd)}xIELYeuFyhKb*vI~vega|?_DVMr1T%2j*CX}BjZn-dC=^kC5^?khP4qjg3 z-l>XxQJm@4DZT?n_K_hOx{U|Xw|d@RY(iVY* z*nKPLBw@|ia|i_>qpGS3NUfn^8vy^=ebXi)`0eR3=XAx2o4^Kb1`n6#9=wzCwQJjp zMzONS474xFS}-2B1(t{@7X?fjC|UzSUeV@eW^Y*R$Fn(Y_DT+7D{?A9a|9dfPD`v{ zHB~@ft{Ad8rf1Ox&X%lEQ|;^AzdRJ+GBtn+>x*~gbkg4(@Sb;pq`=d4A&HJ1s=m4; z-%_Zj`^xfyvQ8f@a1An`-?AnCL=Lbv4^exO16?^D(&ooL5Qz^H zBiglPKmlsnYP<*I7?>-@r%x9KNxUrjdFAAsqa)c}^X2!^QL&Wb{5bM!_0A~6r==u~ zR$hH4!v~E*g0xAxQ}9VDmJiQf(E1UOw8no;`l8%N?z2L=ghvNfF=^(CNpI`sr2lwP z-c#^4uSeYeI!hz#TwV&sjQdU5o!j#+X{peX(!HmKG&^67de8WIxF)Xutf4 zc&F=n^JUo*)+5A`(XF+Fm&m!y^(|43h*?{|oa7YBW)a@-d6XZ_q|7EZcJ`q2(lf2M zH}Xw#PrqC7jL(yRVI=Ap5Zhl=2-rPkv9F|R`3JPW#wVQ$e%zSt8JKh6|e|<5r4))_7QuZe(FNS*Jy|&8cYwwD&AX1lEaRn;L53ssQc>548 zSouC)9v<6w${DHT?lfI7K2o2k@Qa)&Gm#GK` zt)S)x1Ofdtbu0w~OGHS>SlLt*m_*~odpq}Dl+j2Nk7RCcY?Mb}+dL%{^kfo6bK`~$ zSRxw#%&Y8uXmu4{O;mnAb=?78Pk&^`(pc9hzkErmru%sldlD z>x16WIAQL;MBP~u^rE;j*f_MK*3II*Q$B5*rpF1ut*t^vH0$tI4QC1jp4b!F%#L7@eVhQuUNAQEd7@SThIC3 z+55@N^%aT7n3-dm0&%lW#)OW)(j-|atdWqG_Qny0K1c*QnG|93$Eu1Ma;rbE9ZcZX zE!dkEa3uUf_cmU0+eRin*E5MRm(5Z*=pP;AQ<9gF*HroL(YD>}evNxafLwhAA{fDR z4-EW2*n9JLs{8(HSfx-hCUY_;6kFypXDCC1OiAWBWynw@g($O_1V>-^p6i0)Zra=O~E&7|WFPeP!d~LKmt4CV^+$Az6pk6fgsYg@j%$9e?t_aX$3v zBj4W^VhjRYs_$1jO+Yq`Az;M;f84qGdGJ>NzFnAGdia0*2nNhc-}_)T1G+XkEYNje zKY-ohFP=Xi%SJ(q?)%c}uMZezqu$2$#JKI8G7z4dR`#{<#Qcx=p+HBz@xa0z{AkFH z8&s5(VwkJ(@eP7e496;r5^=aNA|iir)U$B;*vZ7?@%2p*Vz{hw$qF+5zX9CUAt6Lg zc%FiXhT3HfBX9VcK2Dbu5*oqpf=@~-SeUG~LIMJ|_V!pe@FUxEj+b~|>VJkdvgnUM z>c(YFk+i9MS@A26Y}HJr3qS&oih&EHFlJ_ER#u1m* zv$_OV9wdPyM~(o&%0E*E>_-NMeFqP^4*Z{UIZXG?mwj(LNFaFNL&IAkfZN@#xpwyd zHBGFz#qJu_c)s?3j~G{_8o5wi{9jGc|2l#HSDN+zz341R(&rC%@J5QOIx+2yV-yq} z3`(^Bgm4k^-1||ME+6UGKw+sSJg*qrxq*V`6bBziJj*{7olV(&fIpuj+`)Ot2+mOL?J)#K-i;KN4~|V5RmPw&09?w!@e2Jaa9Ke6 zXzynx1t`A0{awd-9>ytfhDC6!9E?j(2dB}1Bk6YF2VKGxKDVVV_BCM45A;1%-cv|S zjP&*`KYTf`;Q%r$OekKyyj#{mLBY08;+|K?e)1lfB)GWX;mAB|#_ zLLdkeUY`!G&UXSkz_K|dSgOH+jGc<&>I}S`D$C0L;QtBFASgkufclWFOPu}Ozh)#K zP<3rHsLUD0_On|ADJ)5+o594wZmMthkl&ORzIc*DaJ+%i<9sCJ)31GJ0EU53cqcTh zD-(Q4s1>iKYVbo4dqftpB?NlZVnt?Y7&iHVCHn#9Mh;*lz%Bojy4ULR#Z|(bj!G~c zK2@E0Bm_=bLNou6q_f42?{a-esfxypSdkTR)S7~VXN#w_{h2epkf3Ix@J33-_gq5> zHUyRIA*=y^p5T+k>&B3H;GZh9farq32~4?BxRalrWz|M*fkm?IURP zZl7PYm=k+?d-F2YzvJDUhn5ci7;nQN&F2spv9R6}y_0he*~|ev3#1=ltt&9@fpg_O zVAvTM*F~i^P}r#T)EwkIDZd981$=-&7CFwbm6jH2DdxwWa5EjbwZ8&tz*OwZf##y8 zM~5zn^1siS;HdlbIO|C>vrAwo;xUtHrWO_!(AXe-!pagj5U5bI3k$|W5UA{6X3iMV z{;W3^?qHAG&_^g^@;Y-SwUomXmNGwfk{7E0S3st#udBm8_roF<{bx%qSiuYn=N+KR zrJLBq^ni+@zy?PTm=<6Q(DOvdmey!$ac;9ZV$7OhG-d}6p~}Ozc0PV?c-!u2kWuVJ{d$g70-E3QH|qJ}s>qell659Gw_sf_VgDWYn!&pQj#hW#(pfdw_bk zzkEKfR25tGX3>Lx*)4JZpV-!NqWJjJ+>NRJOn0R<9v3>}< zy_2F-PX5WT&0NncER4O3#Jbo(jGiDrTi~Ab+zOc~lMr`4t)r!*Gy43<@M$pc-QlM@ z@-?PLM{&Ri`}gmExCjb4JPsf2{kr`K#nsIt&LnK}fJze;7@}DlE(5qSA<%~+Y4i{N%BxchkmK0Q!JU%WTq=+SOz--|X25f^Ui2wC!ez|ha-gDY+q%-x** zcJ8;}!qH%1dAJfcT^VUXgaNzr>JhMSE~-H7v|mij@WWeGN{TmH$=&GRz~}~9=tb73u@?qa|mWTYmf8rbdWc_KpH~VMuNRzJ8dwPls2Ab)SL|EYO+$n=5 zPvm44s7`Jl3kF(Wc0_F22S}~yn6o&}PZ_S+#f*cm{2u%hKz~g`<%AGQ%#kD?O{^%C zCSbuSS*c-m{FR?^v&~b|fi{w%Q3qq@*-CW!tD`?I0l3hSg=$`4b?AFnBH1e|%Shjt zwbZ@^gRI2FMBsFlKA>&iqotuSEwru$c6e9J^uc<&Iq`9d5^P~DH&9GU(96I`s|0#a zY#-}r!p;UVW&X{ZH#mce`E{>PnwzJT63F%5K^adFGe_Pb4#=ziJ0V|%xH&%UZ<2n-)SKFYtPW0b7Kp(i8K^f=cEyrDoZ&| z(gb`ec7pLOh9R=_f`6{2xIHDk-;eDosZCcAcYY`z^qs!vXVP%QT}&<}!S3yfwzV6@5|+ef%lGJXCFWKt;UMmzkBtq_>7ci__4!@GQZe303| zXz=#+5`w2SI!uVW-?TingTm_IEa6YCPBp3{l@JYt(^*`)Cx#8Zr0DQ5` z>5HsuZ^B~}j#n(Sdke;-DJTM8h3 zH}+kbX4|%t^_k3LwXA3H4iCa@vO^C-hz0bB)AxTzH<1-YpjV~f9Sliwh2+T^zmcdjWB$Lt^dA)QpvY>rtbh( z!Mqhm8~XOKu~Mi_1(UEjx9^v{+0?>s;@VrJ6@(8EDdB&1`Yb@P_kX@Sp6K8m$7N-c zFGpojR5XWo0HZm?m1HT0C~)AH>lglHddT+QGt@WU^k8chzD4Ezo546SxE(pSh7lXz zeD-;L#~YQw;^HE%CltGrM2ED}4>^+kpUoyQrj$ zDPrd{D1fouNK*26KziI%1iKW{6$=;FYasB=^1ZKBOY!(22i|W|@CGi__>_=8qPoF# zds0lJM4=)NDc*NHZ(JzcUoi2FI2Xr@+RVy0=E~FUcQG(Xpp0O(@KtrvE_cRBJ$aJZ z$x+Sn@8SQt>d}H~29+#!6(C7zrAIm~Ig=JDu4m01F~zHtMjh}Y;C3t0Mlt*4OP6kY zEs9c5Sn5VtL=wR~O-w{tX#MLFz_%k+a0c|6>q&I8AU?KG@49wn4tu(uk|-%&PrQ2k z#XR!yz7rF}_I_0LXH*Mlhhh;A_q;J=mOA!4((N4s48-+Jy%y0o0! zBYxQ03n(gn#z+X&4Q}%Z&4NJbkyITmb_bvm_|9M-o4jx(UKvHsd;a3Z-cENr@QQ4@ z)S@gRvD)L?*qA)t9>Ni_MpbK9;#4_7N>1)0!moJ>Hl8Hjy=#2@c$JjYhObw$(k2n4 zfHgo-jt5F69(QA1q9a=3h2^jj`U=9_9b*fk?D;gaX7XcQdWxds$&;IH3EZRqYARn= z&u@WxdM$WsaNJG6{)PrSBw1vxLh`4MCqV*Wmx7Vpo(zP`#|t#n)Dp(_KU7Y3Sdqgx z_uqSobE4$+o!k*X_lKk1;f7j$>0^bY?$71zUGh(SkEwlFcY%NmNWy**5nQORO}Z2% z^kc(NN5V7UGHgRYQ+0k?XGksux#Brj`~Hwf;BMKaqacQ}@UiXo$nT)OLdc@6KD6^+ z>oe6PjiUup1*ZJ~U(HbuK^F;{7yfqzYBb4lpGhuzO)V|Zu*uB*5yqA#M~v+eN06=8 zPEb%3XgU?+GnbYwK|h1?(U}s06kcc>v92pt24F!;LUL?^(>z)*lCZ4Y}T1AROW@U;+(HUs{z{}WNPr!FUED!tH5<*r@ciJBtu#DQ z??k2Ue0V>Fl_Wm`pNuCYC4K7adpdX1YZJxQke$!+^27m8WBWO|`*CQqz#GKXUYPj2 zz#A#4l}~!V&PO10z;YVJ8|J%BQzK0zTyqrWYu*%=9i#V9D2Pzu@h2PX4Xisnrn0`s zdxm%Jse}EN&6^*mgGOHA=j90x5%hHF_DXdBYL@92KPQW-s#FD&pqqit@A0o`4{-kr z*WEo9yzH_#cz&58O5gyU`k`ZBPzilBf$pvDO5pFl`J5&(y}32nzUW_%jX#)mt==!| z{$YM5=T(mJhts_*jKt%_Sf|VZlGyIKg9e1~hJ)AlJd7O(-t^#s9PgfR%N*(kHq!Oo z)ycaPHQ)a^J$}cbhvUBQvEdZYRiy%b2I|oshp9iW^8b{kmxnN@gb=OoTIDKu^pp$yl6rK_XkqcPHZdpk91tA!O?S$lu~6_gc97P2GB zsYGoHR98s(ek86N&B;JF!5fdKJ-5fOv3OtSNx_q02*$YDIMP@N!l;hoVVe7Ad*qV6 zBw17D$aMuvMQP@0ef9z2R8-9A3=C#a3p-_|ty_gTFbeZ&ckG}fJFR{J?W85IG5Snh zv6p?E8VX=d$X!B0pysv`?qcE(X7J8e&A(`aUds*v%H&|~H>!h!qp4W-zMSW{ z?Dja{Ux5wcg6yA;J&JSM{KR&vQwtIb5DwxnUJ=`NG&AV70AvCzRBKZ3a(it=((qdB z#4$n#h+Bb%5LGlF*ga7j?=q-S&+LT2V{~LhS2hcjAyn23ogg**a=Pw!)WKdwg+g8v z;#{ccF@XO2A%9Z^1>lMK`*YDWw6*nPo{A6~dmjn|_DVAM#h1mA!dXasN11F zzBpO8(s)P;$`i1!piDW&#dQqQ9n?S6UJ7C=N=^MvC@fujmuhyyI_-F&)cAfe9-N4PSI-px*kMLr@!g z-{662zF9NYJG`&&?Imyb(hNlh)I}_1yfA!Zgg$@TV*MCCeZgxyOO$YcypUG-2;-lg zH-j#G;6QOn$zsMXr)7)m*86fOz0h3slzIwJJ$d@n4N!)am8u7hsoLu&V_BS?W!)Too6)-jOY-NOq9?gZ#7 z02D;I5*#(~G7Wwmdy`C0J>B;ORqU59$WY)dWAOkY+XAeb8{4yMH;58P zXtI41aKJ%g>F~X1zm+!_CdJ>5c1HTaS^za8+^E5#MY$C5IeVhce{REuz6g=xSt0RM z;_EqV=(=csMUATzFAyN*p?VMWHG3H+|%6L42ums?dHZt0Gd5$Zh^8)yKxTR zzxqKz3br49Hd#`DMX11_PH*H4M&b1JzfV+3k*2WN@06Vk!u%G zB$%PvN_CB)3LXexia`0x2RCqxHh|i(Ix5(o+tl=Gj3l;a&quhi*tO|0Edp{xqKn8p zaE6-KHH0ilBOBe3H|hAcwX|T#On>=h*(>7v_PMDa+A;kpjriRL)-YI_b9RCRemGv| zaml&(ua0+gPo#p!1HLhyXydsMtnW$y4{07(d2e8No-rZNTs8h|Zrr~_fE9;ey95UZ z`(D00#DC#X&78r-oo{}mZ`Q`VTvt~hY%?Y0bSh%9zOL>gsgu++F$_`i$}N3~;Fe=h zzh}=LkY=k75Aq6GIodrThvIEE~i}3N# z=kLbrP*5P-1){ZfYzK@bWA-zW0hJv1ce#D=46}SXg z543)FefI3y0MA;`jwqTjxjVW_HKi=YU%HjzFjLay9AVkeW3fsXTZ%gC`EzMu;TtN9 zY;0lSDn1vOIjwj`eEO6WVby>v;_rV@&1sAzK+UjqeDS2z=?%=qG)A8)?IxA2`uvU^V`!CCR$j-=wNKx3dG&pa$5T3XzKh34+it|&Ur^vvT^ZIU zh{x`-7qaTS$?sL0ED@&}Ixcs9;0I`$@9rTEvSP01<6}!54dP_QhBC>(*#n-PL{tl7 zqoWSC7=&t>-{wBwyJ8&@DWpz!s!>2oFfb=SA5KNI)YOYU>y!Pf+3WM^5K1(J0n6aZ zjBEUoY_2+6{<~%t&E&9}*!Ih(xH==DhrR^AE5pzW+@Qm;u$(e8d!_o@%HrW*CSHbs zKw_(Ig(n2Xo^#dvzJ(GSsp^OQm*++H8xqWH9#mjS-4D(PVVfLD(+mo|ynCJsO7DG@ zP6wI0{gRJZEUk^|!?=N%6;PIvE_9E58}aU4t&IRlS$KG&HQa{XNFU6sfgd9%HRxP3 z3X6;^cOR<5e#`L^DP|GbUy(#2dt>{jZ6cbX#bv!z;lg;^n%CKMPZ5;0?dlq00zQvo z{|m^3)r+8|q@<*@-%Cm1>g2UyCKzI`4=1h}?hJM}?C%D~JAh~A{raNRt$`R|&n6Jo{OpZk(v2#)PRcxDsa8;}_d>_fZW+GsQ+r z%gQ2xI8{A89*XHrS9`mq)0^%@6DpTTfq2R>tUwRebB*1#-9#~B7^eUd&he=Z(n$ei z7IGN8ig|lkX(>4ky+M4{yAc6i{am7-hsQHqt>|caeR*(u5%pQD9Atl%?wq}W>m3mt zJroK$jBFIAN6e8dk!C#2v!xy(DUrqXU0uJF*GJb^VCuOLWz;y#to&l*{!CVvAX_Fa z6{GO)3<(pBYDrX@CbJ0SIKK7cmVOYu`yM}W;#rmAdVdFzh~Z02%vHCfP7)wC>e}DJ zvLxM&98z<*gJJNfyLLp=1A2bnJbl(h!Z^JcN(j*d7yU4}BZysJMk zXY7uT!_##<3yL}<{NOr|=f*j`k}Q1%3;yEh++D21loZ!bmaY#u=cM(hnBt($kI3wi zk`fn>Tt6T#`6#W|)=sy!u~BE1gkA*`n9#3}H}R22_|pAT)e2(L&YySGC>akUr5@{<%Vw7-(TN zwm*jMTi%;(Yn`tBdk1{?YgyKLf}#hjIpjDJrI$Z2EkC~=t{2unJ){u%(O`ka1(F)d z8P5}?;@&oE!~9OU3lLhMY=4l6e7bwXTh@=Sz9gRMHEAa4dfr+A@Qdq&{LZ_~INCD& ze)-HQK{j=TmYb##6*v%M20B_o|9i;|Q;PE9gy8o~I@ojH7=~&bd1@c~GwXxm*OVkB zRVn!kLFd`2`q|CaF_pC}JVhV~dIVgM(VTA#f+rb@#*)~WL$~qT@KWs)6I)sSneQ|4 zsn#xT%jfTTjmCDp=bp=` zp(-4R$scBDdf34nFGl_^D-j#`t)c`pNxRA)RCr&nv9E_1J}kM8UJJcVVV$j`zpYHbBcAwpB8rA40o#Yn z5-5rgDbTF?wQOcGG##^@^7gm>bK^;=m1Se>g>zyK{OSOAayMrkL1!wuipep4Rj?6D zzmZLlsc9m2T_l@YoX)ixl7Mg0^=z6nFsn#?;QV|`nF`jfH5uq+H|UnWl^XlynccRt zetJjRhHZ<(2cSTGp_phd%(bt6@d(sgvpbFWVO6uoZbQ|I$r-?_NFw z{_&6VZ?y#IAJN9fH#SN?`$*3v_r|*Z%wTBZQ$W&w^WWd0MiP!l@jlyl;KqKKzYLF# zdOpmgB=?t&(?G~73Wknk6~_2Z!1mCH*>iuuW}_Zs(P=&@DP}z~g483bSvNYdv%~dV z%SzQ=g4d!}ybOe_A)%pJ4>=q zypC}xRe&rHXKeRKdu5%^c@HGy{nq`R&AHX$F#~}S@5qQ|H3K7K?Csk%UWdKVtlU2J z^n^5ycYSUH!lsUn=XutnLbH2AFKqi3&>PWf8u*Tm5@0hBhs) z_+JYM3p2~G8+7p6Qa|sQ8_9|Ng;#`%Q|-XDsGgqkYo#LbNl8sdpnoO26hB~n{>GB# z743aD_+t17oY?fI-M8r6di-!_V=NY4xproY+#k!#1uR=8Gt)tuWXdjt^7z|7LO&_mQD+>I zlyo2K5L}TXXhhYRz3Btc6uTR3_uYg9zU5$}L)_E)qKb3dWzha7T=|!ys~Q@pZQ%YYQs;?1auK`ump};NSI_dS0ErNZ6b%h}#}}gNIKKj2 z2x2Q;`Bx5aVdLg*>FSB6<%aD8rvLo>L$ac~)q%i&q)b*i86j(+q;o}Ip=Q)hK>_V; zjM-2q8t$ntrRu-eXpCQR8xvZF62d;9eg&|n9wvw5g+YJAG`Y&Eh;zC`O$-Jl7`AVu z;yM6&-4l&XMij(aSU^&&^;B=UgnUL)C9c3~()FQ70A3ffRy=PjNo z^3j9l(cTZWKO}B!WXN~*lFgHSd4N~+O)=AH(d#+px`KPyjgKcr`BZ1MY6BdCE5 zxk-)T?4zCs4ARj44UQMr89VvIf0AYv!&Z<84_;aE#Y)yvc3ToZ<5fA8kA{WcQ)eje zwhUIkJLtd2z>Z~E`(X=3ghDB>YE0`lG0)Lyfnxw9qJCB+bG27&+6ECq3bB=t@{(%cn`k zh&R`(vE8{^NNNN9t)_yMNLs76HrCeDp#s{pLf0d{7wNu#SI8k6toLSIA}&l$M@W<| z`WVjRt~1zL9Cv|`7I)vrnr>D?DfMw!F24$HWrT1(V-_9}z&z|cO0JMr&m80+@&-GS zyRe3FGb2+|r=PXDMee51_nkPwv@`+y4JvHY9dHHW`}2G(ng72aqjRazdi0X%c*)VB zP{>60?YmOl;M9Ldx356NEUsXpzcT&(`*G0_dJt<;0??wPp`NmG+uD0e`p0v9S3Ms2Mx>|Pvn z(!UM!7DBSEbCp@%&~OZ9A;SU@*->UDmpk+;j4dqO^jBhAO!-SVJC0gQ)6n!pIdiy> z*Z>Xy?=F23eXEIQ$%~qrsHXz%l##_MvcipxA_5JJ!~X|?f2UozrC)N zjx_;i#3pbg4}s9b+q@@Q?-HeCWb8X-MU>>j77@*G_O)ZElfTF6ub3(#ngTl+$~koA zw%?N(AcOWrS^ev43qY7*(70#cz8Ala2oa8$VIAsskVgQ(=Gp4z?R50&ti<=Ud++jkCdIEo2d7qNIiG1%r6_c3OZoQEKDms0WHHlsL3fP|fc z!(=%1x7QJ&LLaQ@%+9{?_04S6ZU7;>bHk!0(mb0!?-LQJs>h23s|{4-K@-zjT+^DZ zmzNh4iNQ+t;9PM}o^rUGzxlx`c7?~egSS=ZX>YG-^Q`XnTi0oA{TzqJ57_PaWr77U zS*ylK{hb+~a0WE#*9r%7R#VTk8uA*G6?>3tL`LExeG?tYdHwo}rgX1Yb)ve>yLli= z;QT)gF$_ejnYPR2o0^13iMCP&fYwM)$J|J@6JDT3L4YV>;N`t!ChK<-C;e4c@Wwr#zH>{|7+ql)*CD4*qS|Hzj*-+c&PVqA2KC?nkp)Cx)+yb z1d?M?pEq8qtE-rfQk2}@y*Ir=GHcgb^NSBUze8LF=y5H3=eXH!5x!Lzmr2$EUq%;4 zBZ3$W&>~oGKCCO-%9J1R7vRzEvlE1jy8B*UUU0114a^4&WS**>i{>b)D6tnJ-9x<$7x!+o9I2{##7en7yX zDsM6k&n?Q}KD>so-hKT~;QACcSOf~C4$XpPq9^Go-Pe>QN~Dc)8aSp*;;?!Fm~S4Y z^ifft=EFUd!+U6MJnHK0J@;FZ4#$g*4$wmzKx4a}rZuyXWAdGm01d;x!6K`!tdNr7 zWZ9R!=|r7-HXcfs<{QRYvK;h3JYy(`u{U56qNUTed8WC+*)%9(qaeU9M%SS?ZzyO; zIQa4rVoMyJ7f+O-x51RnQ~k@@zL=EC^72(ARe*TlC83ZI=m@1d`!xVM{xCxUaq$)} z8(1{Q$KSj3yV#iI!o%g<2iqwvnKSIx;=g2FEnQqhjgBX$kF8YUP|3QqI6biL6N0ih zwt+|$ycA(HcP~iKm|$w2A^NDK(0j8(b)sJ4#4o?Coy11nxk>KKxeBn@n z8wuqcEK)J7K+Q*Hy($Oxbw_XV-3B*-uN@JCi6;$jKgt)JvZgiN95FgSU;OIyhkYtT zq7re=yH}2BGNF4jv_GpzI|TMdz!aZb_gBd8V2Fj~e}$G|{7g=1FA8W(>nDJZ4)W+| zU#Rl_61n6&6Pc5YvzL?D&2q}h z{asz4NwBc9FO~JLx`BiC;`v1>4lfvG0WK?&%o?i$cy134ak<&iTbyd47w&Rug^oXq z!yJN)=VL-)MCB=_ppYbxx40i_g}4{)$JgCM)_?b}eLf%f=X3?mFeZCkR{~_6k}$nK8uVR%YhSo=uq#h_NOf$I98&1IHl0q z2?}oRm2?nfj+~Ib9#Fb5zO%Tz=bKI3Pnx4wrCWUo4u<}x%P3m%?>Q}Ph#cKtmS zNXy?78=zchP4}w|BP>uWVrCK7F~pdEC!`>yCo43jkeEEdq>Q{{7AE4UVFH$j*OBBFRjzu(IqX!z?_4q2tb zr%?1+SVZ|0g}Y(Jr8eSkpK^!O-O~pu$3iVL8e`5F5x@+B5=-Cu_shUPFV|Nq*B8hx zXXqgoXZNqnDX-71ucWWfk=0`BMb&3lyUwn*^sj7JE&|^Y!z3L4icY$ZUKrgj)DE{{ zp{1oMW~@LVu>O;+w(6Mc@J_l;prS+_f2rQY6^C=@CWePIfBUjxijtW4mX$0@%*k<& z5?BJL&RHqd>EXdMcIa^!h$T1<>gsQilS!Ra%eEm5)keABIamlg55i@wAMFIm&_`ZgRvHpwesrwyx*@?y5N-8WIxA4-1Ql)YXfa5NUZH61$0MA4MXHwfU!2x-8Ib5r6kCUE9RD7yvN@rP`VTSIwtD9!_6GG65GibG9!6jr8A(V< z@drK`+0A4#RtJWC{SRwibTH^W&;Vt~u<-^L94@c{WNT7{HMOS|q%auRHpyWF^a`>K znk|lc$c@0oK(aP5VXG1c{CTV$v~Pw^BM-dQVE0(GU$D&vyrQ-zwz<8%9lW6V^4wfk z{^FWM4k4N?O0p0dA?U+BeKI`vlHUL2N}<|E4Q-)lH={pmJO***Mkh8oSC7A0Lk@4~(oOcq~>f z4sHY81xXd>v+Mj?E=Ga2y<}Tixbz`e$6A5eyN52Q{4Y=AN4#iM&rJ;RWs%=p_o@1W z)yrqEC#}mH%rJP0bpJRQ6M%=Ya&#K?AP^M%E!;C1H3uP`&5t+JXriHN4841oHS{6w zkpQLMT|W$(Pmf|(hZM*AzCJ8sP!H}0?t|AQqmST|oRFG2F)$FM^s1x;D_&L+MFIgq zbww^U7XCRhlB}z*4^I{#WWUM527188V#FwkJET*)%ChiPOh`H*xvV>nA33shgb$NE z*da+tL1&(5d2MP@;DL>TEY6xC*4}dhjiyJ%7#2n*)xmKj=d(rIT?823+-@&V!%46s z!0W;jeMe>?_i>)jee{T$9X+Cn-L{lP zUj&`G32fp}zOqu1l{I2qxqQd3_@I;&To*lX#O_q8-qGcK2d5j`(6i;2qy+?m-?V-J zjT=Do#!X#|wBrnfkaZ(tYYy{e zKr)?PAXw+95X$(OZP%{J(a{?@=dc&;`*)SjiziAkfR5k7_z}GV>bCY&q#Oh}Y_|vF z48lR+2lFQ{+6)R7CSZ_^Ftx|V-`^ioQwN7^TgU5Puinx1+|`a`<^5FUn&F8PAXv?z zC_c5e1$Sx(nO=f3jp&b_05dT=ZelA5-(xOu>Cz>hHFK1i?(UNMR7*$!V39!@-U@2T zqK!_Tync^A1BA|!>%XQ*#a=cK#?WZ(ey-Ba=+j5D<_@YE{XBjo zbp{-O1CHpVz(oUT0NEL9lte^mZoO<>crVtQhzac@`tx-kKCr$#ZD=^ZI5PyEXk+`9 zD)1W23C+QxO%_3>mw?$+lrEo}H*DOo5!;@ts__;lK}iqi1>;683LinkZP62%3%3hB z9~y2H3(!D=7em4zvb8>S@ zEiKQzY-a7DEW(H$^r5cEQuhmQj*MVpjydA_^XD&KlkQ?tlf_B-9rqJJ*5#W zEh6$5fBeh6m5;x4J&(9z5)DB4{BAsHY3b*{q|j93mA^jJ_zEXWRC#T22pI<`bU3qc zLBa@wLXpD=dgc!UX-R&2C>k&4aWdO{e)mq2K)AN$v5x%^`9u}zmLz;*X}Hz5K$njT zXJTSzrsjpw4tWQ=v7(eaAJ4A?o*B|81knkAaD`U@))MqjxCZ220(+tb58x%#{IPFn zSjNKu*9zn$`8*bP^nmO2O7Ell{m}}35d}Ama*Q(2xHl1H$1#q1NDnZ#K&Q#FV+XGN ze=IQEAe=>>Ka%7<^Me+8+dFMS;6B2y{)y9b(_rEqlJtWkSqwXM9fU*&@se=#Ckm~gS58cbg`6Pii_yU92jds%)3hv(CQ4tYv<68DTEt^b7#OxV~ z8R-J4ADpj}k`kmxZ0FuiPoIMiiqFXMC{Cotg*=H66NC1xzr=l0rTR3S_cW;sczIrj z3_W+##lOtm*$1-GB&v4|!EPFopX8^=Oz>7XLk9T3d%UrDh1L{AEk`^Uw2_XEdn))P zC1-#lAqoBcQdIBn{iD0iFD!u8R##g~W*YH4mtx+ofJA~(HlyM{lFrAECaH!MRmTN8 zx8lMLN{3C49GJtaM4vUJdhPmkh#NpblT_s~a-Tj%cDq9N8y#K$3u~AVq2T(9af;8C zD;8~cwjpS^)TG#70dEh11PL1jCvQoE8-gkz`>ZMT##iz$+Hhx#VIJfzh}UF)l5o)m z?4eE9l24;-04nkKl;(SrXW{;DxJkMcVT@hAS1K$;^HxJuDV%U2M6Zo49_u4>5P=e{RdI#K8QlRO4OOF zUDH_sXZ85tpEDe(zE0(hLF?I|DNk80uhwb$VQm$ zJ!%6@=*9VdHwFBN%}5rfl!!>L5rya( zF$1|%LSkC|qWz#xdlE1WSSOJ5QCvGa|G-}XD+@&?!0LHMa$eyHCNE|~e8LyS(IrQN zRH8qu*WP^3E0^m0k|YM{iH;8MDV5F^#=^wznHl%LkJh#UZv?g>HPtBZT3WVWF9i>O zW%tty82jZ9rz3xU8yVp{hd_$_g3tpC7RswTY-I>fY|VlY0$y)E*=8GA{QNlr zrt9Yy+i!r>S5&v@>f#M*BLEdMO+7vGmzgm z_QK1!e@GlAM;(OLV{TtPtCse4YHDg=fRTr%A2F)469l$gaskSqd42j0vInjLFnqEM z%6npP^HYZNj?ZcDt0L@RNC9;kyeG9jO+P95@b2C5#u&YO|2^l^i!=2+;Vk&Nfa>s; zaQv!7(P}1HXR+Kw&8y)C3FCzmC>MVH`jz_(+|yyrxBC!i{b}{^OhJ^#)zS2CNh6kM zcM_K>lJA&CP4Ek9>*;Mr{0K7YmJGV}E~opvBp<>*yfI?}VD+AS`~gVB(*~2o58ph)vhlFq*#Ho2pT@ zB#ex>*p7n^<|`r*p3jdk6Ff`hY*lP+OV7^A0&koLvn$Pqd zR2GQhD^EZ-#Kea`hglbh{M2aXnn1gWL&{XHDBu6P_T#F+L=i&DgCVES!x>3@HZR@YJq)%UxUL zz{bKG#=U~YLM7F$CRsEm=?DEDxao4L{r9L(J$wCH_q*e{bLEg^fFla2F|ZflmScmy z4h}*d*ZT`o45Qi&jf}`UC%}}!@RP#=&(6B{O@B*U8~Qk4F}p_D*x0_0jD)J>KNB1Q zZK^H^Fv^zpc|0?4^}rAU-Nu}=7B9(n8&;ogIwE=S;FrEW3qbsM#fQE?B#jaiz8Kh{ zTKUxeJPG3+_)UG)Ss3pDc^f<+^eyfE{guVVnRM)*|L4#wVFqs@}skNb)5iYx_M zDs?-0Gx6R;YDirT~F6B{4eME>ENqvp9?J zG+)2=#~aDqKz&J9m$n}nVE}A`W|jl5@pFCESllXs1|Hg5xWxk30Z|7b@PW{tW(3N9 zkK3iOyjQZo4c)h|6}POdZNGp3gk1dSzmif?3}v%g?*DfcFBgJK3$@pOyzz4zH*N%( z9uNTO$uXp_(Kq5qSDhKrl zxJzg}Kcj-H7yYU*lPo}if=PP?{1&|Rck|E^I~tNn@moB1z6IN3>j@m|#KiC8<6tp# zgQ5#UQ2I~O0s76ESy@R&x^VpkTeVqz!;iY+!{EAaMA7WqFL+&Zw`^__I&hpd7>$sV zNA1ifekVY5NbqP>#6Yv5Umr%9`#)8Ll6Xl2N(^9d5WG|NwzObmyjAwNnc2-#{&Q@m zb1LK(40#Xj4yH?sMD*6tk&#a4$!*@$<|mR!3Gj+Xdw1;E*MWfX6*?VJQ zN@*LzE8*z^p`B^aD@i04M#m8FaA*{l{A~XE za=zRV|A*M>bnDhO<#rf)mP?-F{zo6@%{?vm{V*DF>^}jW4$lRIu&b7{aI?~0{*pP&!tU)YODSQM-GXUaT(Db8TWr7Cp9-VZpRN0Qi&j9Bm9voVMxUA zpXTN{Xq4e1IX(RmFAZB)pm4Oex6f4lJyV(!w^TtcfY50F=z==;$hZXVeah|M_1jnBLkSetYEAaHmdv!wOn4 z`u&(IfvN);%SUWg9ikw&Uy*J2qzDr>HbY1aIH$25s7Oit&nAb4Ji+-`Tf3rhmfXPb zDuq5jkWEa7v$nD_&sa~fQ|EbOm1zHffLLB!R`&lct3Ly^NNyHFIb3TXnGY5MG>+&g z_7v?g%DU!Ra=9ln!1vB8Vi+EeVEw^opl4SRHl&`Dz+dUEGOqAn>Uicr-X8`gCqxjS zQVFPghwmjCp$KB&i2)r4lbck05I(*K2*GG~zy|%77J|ld=liQfJn1{{TjHY z5}^pM{;Terw>OyCXAx5{Uu)M!xnb+Ls?~9osZlXEmB&b8=rQCN<@Qrzo+lQ76jeB5 zcs!%pEGkiOGsVSriAAQ>@=2UiZwHEb(`AH+@vX=SVNnrnW+%Mr;;m8=6Mey7+|*ohLcEF=X0A~*NpP{Y8}`~rs^moY<7Wvc0hW~natVWfz90IE+gFq}9*Repr0kDEG0lwmo!Ge9NW)>DgI*_CZ7-)uG z_=cWzSet|ECl^&(A@r$Eeu(6-xfvHQjprgVcwc|~I`%1?e8?agI+x*T&CmmKMpw7o zAJe86DhHh&1Z)p=7h+0-Y+VYmQJawVS|yZ?6uDa+A@i>Bqqwnxg006A0HvTi-3(#X zpFjBG;5jF2(&fc2Y>&nSkc>?MGd{ce!x$wpKC_Uqu|pOMTi#>HM@2ucS~)`nUTMKIbepaioI(LSSQ=5v#D-LF^q)cv6{n!jZJ; zWW)Bs6X*_@m}Y;TUB~=MmY+Z4#fzP##MIQTB9@$VB2NCBy-EPW(ZNbfv*f9kfoo+D zT!~3EKDu_iKtE2w6WZ7>D1l-VhAyFczcQEHzxd}5colFy@UyhMx-Q6W7T^|b_!lGLxkLf^aV|Z4)1vp~>>@5XgEm1HGW|GRJ`-LaP z+pIcw@6%`{!+*bjGYS7oBY{iJXPKig)hnRa?h9R?IHpJi@N9<;xf`;kDf( zDvDjsH_wwHczWtwB`s?ScF7$#8cQ(<&97K?Mg_B&dj77!Zx;?JI|7;G~5^_QM+I`5x96G@Z&SPqZckn zsAHwCfB=`0f1+The{#8;;kCHP?AWDpjAVYpdmg% z7Plst(*?lP_0i+U;O?wqRs{a4Pr=31h z)iF~AWd*`;5HKjP?l+5%1ns4VbfSU-!9Z8UR!p=bL*cpcyRAr#%3w~y@}dLNv8YVz zEQS}!<;f0@F-iutHz*M9RAS!qVPBW9I1^nLm%In|ok#L?p1ar8&^|wZz&;!6fYH~% zs0#{zIj=1{w=a|T>0-1vmy-0t?TRq15X}h?LNL4`Mp7?BN2e1B@P_RKz?$3C+uG>; zKW)9gm)LDriF3+9d8in!Mr83;3Fk@jv{5*H{%jCSDmwmPkhK|a9lmT|At;kH7l1>7 zohsn4?Ao!zR?HT=g8^#}NJ8}u+9k>&;Yh7J^O;MEEsG$JFh^Ixw$Vz45E>>I1d@4O zO-;-;Vx*p~z};)xc)83&+vibVVWh{x%F6!@mNRPgh4Iue=tE-fLzuzz3v&n0tkTd) zVcvl%GA%EjP3kJGkUrHf&^qkdBpE;I6pz7pL!d5!ic&ybd9E=(7z0v!Tib#<@%;Vf zB`R^~^mMB8Yu7v_5)qBT`~&8MV^X8zui!>~h|hyO6ZWb6!+j|@YbdlJ;nTe#aSmHL z6=al0`T6SzQSkPtb=3%E>xy9^Np0-E@@E1TORz9d9ylb87$M4ykm-0U>5iHaTD_wL z9ZMWb!Cjb9@R;+8irzBpJaG-WUg_*s5$%e`!9hOFEX+R8t6-vX_R5mrObjc&EsTPo zmu@7HG}-~}0G~XTf&vXKA9uyHr&N3_Z@K*C-&oxz(%AvoWR)!~F(G1ChV!m`l`6?N zApZ9Bl&3z0Fwiw)#awK>zyzkJ0&gIut&(8ci#ZBHv6;DfL=;{Mzq+cbDnd5ObG{^f zj@|6bI_#IwolQ?m+(hp(^5e%5H!fCIEek_9>wCVoS*q zRc!2aqZogXNC?PG0wY!sIzmB>5web=o@A$CI1C?jWge361dEjESg_u+1&A0y!n(?` z+GTv!N+Na_CAF;Kv12M7tv**kVu0rtpDs9=1VZM9l}28>3lQ}J`;t%vS~~LE)XIw2 zD*h|vC|vC9I%2EXsuVRx@RCW&IqOwHI|0!RojT@j!5?(i5kh-g?e9>JA~#%x0^uUcG)Sz1Il zo0(?Zb16wlt6h7AnUGl4CVeW^;q)Pemj!G4^+ukpzQ2^zsHF(fy`=hmJb^a zzC5~9YgzA+Mhk=;A@#h50OohAQy=P=t(EP#XiI%(3N^s?7}|0X^@wm_tM%Z?xH0C0 z)kwKT2oJWdt4)Hs9IlU68sbPYlYk4#(r*`x)VEZqBu_=JmHg$=BH3vua4l{0nT2$%%gQ zII#pj3+k(x-+`#*=0^C>mQ}vlt9dDm*oT>WS{k}1+#$+SJ8twmpmvfF!CLPR*uNB- z+VkQZ=i87A8T&PkKJ(Iy+ugV=?l)vAJD~bb{jNb0c<{qw*o7gUoxB)ofLT%zXARd9 zaFN4aLTE%LyMd7K(=T2=C7@&1{|4uVU3cOYfAEDp=%2J-Orf3r@%}NQwHjZKFM=o} zR4xQt1*zknMe(#Z^Ai$fJq0{Z$SZA(Cxc=T+G75rE1OWyr;d{A!nZ{&&E$hyb*eqU z_k2Wft$H5}#vm~TIh4PxCVYsQolI8S(r%kfD`InWYZHAU)hf_DxWK9rDu@8;rxUpv%24Lc##w028be_t2T! zLd>NZx@e#YDi}k0>-gblr90#z7|sw1tyE;G2%;;LtDw9VJUDdlAjVoWcWmP{4j&cl z{E}(;uqefJzd(XXCS1??GSh}vUmB-ng1`?}HJ6TDls)EIK(!V%>RPBH?If0h07Zu~ zHZuc|s|V*@?iSsW(Sx-o-WcOqU%>nwq|f8=F#P($7xkxWrr0nP2^plAMfSD*1GlOS zk47+5->(+Znfj;SLUcOLV@@B$sHGmW@^))}Bf|y=&0#}uJ98EIVzBwf{4~k+mz7>G z35h5c*e=X-1oRZzP=#*Pt5>T~NVF`yA1b9*gyDUAU!U7=()(ds1tK>+nQS{Zq8F!Y zF7ON)wZ`(n*v@STC^t z%~@c8yc;YfU@HjDm!SIk@4Kn<)1lxA@_(LLSg1EfaN}1O(9SnIYB8NYtWCQJo(Y@5 z6|#?ULp#)SQvQb=vQR#-l%P)g^G(;63-<8g@~=kBpo=!$FFcsvyNNF)E{9)TL;nD@=}A2Ng4l27GhE>0Tumz^&!o>_ zS2YFqxR4p%iN}u~`F1IreNB!4>03yif>84{<18CbhZEKLa4QL-e#Bd(0Fc+kDtv8un^ZN_*F6J=fF@1?y>5z^5x6v;9>&DkJdjz*EX-+N~`?jIB zw@Q^bMwk33nM2XY&dX~DV-HSZJbA)7_13ZieS>Uw(*!3ASrRX*MA3&a1z(wRq7-LLQeNiu~D zWuC`GWu6j3#*K&sg_UH3?zwi6HU)ObOUDy4&x{A8U$+0{G4CUGBUc!^ZNM<7A(!sKd=sU7%ofI>) zVR8cF-|1T5nI>t@lGW8^EEcm28Yjz#oSU8V_`@}# zYwDrA1LQLm`Iv7~TBb7Rj-t*1US8h#oVR=h)HadS459rULTX@b3JdM-YXRE%WD- zly4W7py950@!}vvT{$^cd*!jrqE%bPzi)a8@`NW_q$1-Fe!7%5|L&?m9Md)r<&;&N z%5$h%DTzPymw_fh@OHlU@?Zeed^jpALNaQfJW)8>R3l7?$RDecJ8tfJO3M@jU% z_bkQAEUDO2V_$*3U(s&JEaD*3yf=KB3~&F#md*yWEs@)c6Z{#8tCF8zF$!L|gElzS$-3agMEgn6^hLhh=`xcpW zto`^Q5ip6D#^Au;_VpmeIn*VP;L$iH&@lU>>tvkmJL_CuHN|nJ^*{JvoL14P`5$xb zBN&|5zT8<`S4TdsqNJ1}`W4yFuK?gqt365)Mi2gGL#S-S+N2)GB=!ZQ)4%-RBRYG{ zFr9Gz4No1tjkvT5sKRJ3=IK5A_URw`5O88r^0{iqVN6BW#iuihc5JDtuI7AoZe!)1 zXsBRm3SIEeZ}tR+X7}Eo!XpyOsiBVxSAINPKK+Na7{f>cVspy!vD)W_9Eco5>Ac!L zTB-Kn&n<6Rtzl5CTA9;DT7{{NUlteLT=#Tr7yj~KB}QLJ7m%6zGWvJQYgwWgu$VjA zySz8c%nIoRTSV?dn`}(`cNXrXc8_?u^UkTF_^cSa@f-DQ#AyBeK4N>)Nd`MU-tt5- zaw6~ftLmCcpcjI-1k)IF6W=ubCtp^Op6eKDsbdpp@C=IYvf7}KMFs5X@BSq=(00j$kF>S zx`G~%8*FZNR>F5QPj0bfyXb!tUl3H5@k{>>UTQr=r1R`tg8?tAdA%%yi*gj6?_^0s zmChJ>orY8|+H%V>!olp_($W1uJpp43?rTf{rjT+R0dr}sh8exaj0iK3H>^D|=(RNa z6_Xc{>9#Ldu6eOa)4lw&%RpAsu5iYZr->&eiaNVdkvFpr7lWj^g%jf|o+l;=Q$enn z=J6pfeHAN0{XnVs5X@hl?;(SoOYxPEd>Kmw84|L1yZPJfo~W{68UDl?N)D@wcvjMy z?odz0{zrsY4(Y-PJA`jGTw}zamLiFO;sb^zjOy3aA)-LA0AP_e@KF$NByivqXZ_g= zE*%3T51*o$>FL*R-XOc3e^xaPll6XaY!LW029%F6zL&;>YE` zntLvZq6E{^8N3>AE?ij7cw#(pW0qgAyYbX4S?Hqh2RA=I7W*etZ}i?JP($m6q?=x} z{>b6))oueR7CW)^3(ixIT2JdNV5&XKW%K(YN5hw9@-#@+XV0H2q_BL;Js=XCuE74P z(NI2fx2nIUwDbaAbgo=Mt0UH+C@UHBwqp!eFh_jtaAEB@*b&q&oBnGES)=JYA;{wA z?|&!;^kHq~i>~C_bp3%V>V98ceF=o|_vU*XW|)i>`S)H+ND!Nnf3LZkf+bULf96Z; z4=slns?kewuql|`HEi;5E!p2S4}77a2^l<5-{ ziIlW{x2L@F)e*P{$OoT7Kv~(2X*3j=ulS#@-Vw|)`*CIcn_VM<_JL2c+FWBiZ3&;$ z3|R>Grp~${&;Rwm9+w1nOJ^;;?eA}(61!1e+PT%J%rx{*?@4mwDWC?$E>FfK;-%S} zy?lHxZSUfXNX(>wp|DrlX_hZzDU3pPs?7=ZizUk+amng@gAD*Vy79@u8^lVFNH~$4 z0#d6peF(DcTk017j;ie9YwRMEA*-nTj5Deh&zEhX9i-eBL`=t~#vK7BynSn#kOAPLXWdXLy%93CV`4IHJk(pU~nP zYFJSUx!7Oy<-H>Zq%WZ9eS^r=h+jw%-#~sl^vOe!#m|4Q&JOkbIav{c>H-4lIqimh zzP8rkVQ{KB$7L(qU&3n==#~2>GG4*uKagVhCiePtc#V18RN0MC2+p)si~!Pt!j@@ekGhXsjd?*!HZ}i7EVB zc>J=h=+w)LWA%vzEKNy(=#k-J191gK;hB1u?hI&BBH6oke66>S!JM5UDykFXEb|Hr zU7eh$wpH?qZoF%gKnsJ762q9+AP;N#x*$=*)C3DR8>gL}#5UM7g(~7OtUqvGJ}W+g zTXG`&&$?U|uYf>Ow`k(IHT=O{>Z|=;oA9g{>+r%N<1mr^e`L~YtG7DE*B|Rec6^{H zF=N0sFr#N*X8Lqx&@TUR_}XorA-3l{tgMHue=IKxXJDsmUvIC-l^>R5F+bM&Bh(gk zz#5zkUwua$-J8Y4jox0u#a++z8(Pl%{Zak0^$caD&5IYe?s%(IN07I05X?#+VcOz= zRL+Fi)HYZPZT`NV?mO!W99J%rOa@m}j|Rh~mtmufQpD{cF>fAa%ZCjBmfH;2Hmo|Y zir&=svF=@bdUNVP;Mt+GSdRs-t%J=N25in8BVZIczP5GQV*x;AIDWO<3qQCssAF|P z?VkJD3K3ZY{ExSs3OK8&S|9&LL}w-9U3+L&6%(7V49vquNX2{4Kqi#l>f9KMjofi9 zTnIF(!{&@b$5S&{w_$3v;2sk7(4l*uDjd$2LRmmmqv0gMA&5`r=PyDm>_b-np zcd!WWBq7zO*>A-3Z;wXa^{UiTp&FD?2do+n*p?q&eIF>Mc?TrJCiOX`srXKjc8UCk z)b~BpL?^$)xWFI~3io}ti?~)&Tx{pewAypfuzX@xEQpWK`8;NI5|WV*O3I?GW4~NL zU@(%x?-?93B~zki;(Z@!*!+H>u7F}0;4XdkZdRW;m zevIZF$V{(6&0yLGiH`eyVWGr8{Ek!HR^k@v1cNG#*@6`Sbtj(7*<6^7c(9|UXzwi& zl)qw65TP8ZJO+NV2W9iU)OE5XyOysLyCJ+pwScCRFQ{Rw`@nPH&81R#a(h&@P9y!1 zKf;?==gAlgKRH`F@fTs7z|4R$rjpx{ohTs@@M3zeU_r^8>6Ej;vcmmgoa~e*&(iMr z*(gvr%2Yc`9WEBAJ|b?A&NkErw5=7|$rrr185kM$Vvw=vtFGW}A7hy8=ZCp(!YRA} zfa&nA$)?s-h53@J1?#mxP-?GBD1SsvCnKlwy%1Ox`HMF)p0iCA&p&nxvB@!GIRx;H z6<={#7KiAuZJIUEx}Kak29WUIwV)78p?w7GS)I22GH#m1hy<-G)C}vX1HoT}^4pe6 z{^qTKz-y6UA<<{U_1wWiF-gA|qYR&dE?v@!>{JSffaDoGRI7@!o{A0kb2xxEFnMKz$$ zvkCM(P?SkTr@xxK8M`ZMI5_?^BkCOPW11}pg5AN$h`h4*K`w9kB-@XplTXWaOf&ry zb1roldD@p>)$hMIAO5%LX z-msPvQa-5GQ%Gc-h24jnGW@Wcrd@0ceORM%pb>3kGaj9B0GA z)EAyTc>=fZYmQy*e8t*PlDgI%{8Wv8JAwteyPO*-rs5TFwS^>6s%)vf~<#HIPWwQpd!7!nxhT)xWB z7RsA0JopOR$43SSBX1HJ?IA7O+rJWO3;yb6U5qyCA%os-|Z%bQ_U20uVzk{y-+&)~N7prWwiwn`z&`5|zYm%0hDJi9S zN(Az9)~)gNbuRPoNsHD$$Tt>PA#m!AdA+iOA;QKcK1*}~r#2|jf_}m914$~)g=(@{ z9Y$3I^+Tr`Rbpdeyq1q>ISVhpwC(_hdF%$NWuzcPKKlJ{&{ zu6}+l?%CYuXMlX;u6`*hx>}0$y@WyG<3t+LG1tShMlQEmw^;O4K6*Y7ap;J)s|$hU z>bV#vE4@SVZxr)izIth1cGqkvP{?SSulKxlU$j4)Y47jSki|8PzKg@Bc(;34nW@wU z%$NrAoIOFT9GPzx8aG3$89VGZqHz0rMQ?kYTs^}Ef?L7@T8h< zS^uu}ciucel}9C-w~68Fy5?NSt1v9R!Ay+Ae!`@!KKScNY%a|yB-S_v^w1UHGW7Q> zd-z>BA^{GBz1q3~S+zNc-Q6Jg&%AMADe)V>?B&CEVR9J9LQuB$xF907J+#%khhW=QfV+soXnL(*31F zSS^5g2QLQ)rL>b3<`=EMX1RN3RU!g0HerlGhY0_t;Rv8#aHVk7TfgD^%BPYi%%(KY zV;}KTIPe4Nv#P2gZAGy}C-hP=f}iR!H@Up%7Z@11UACiebAscJ@cf?`eFg_w&dbsU z0oM}}xaPQQman72D7&9?G)`M5SNnmxnAEPShL1N=xm5Y{y0^(Hg=WD>i9Wn4NG49F z{2G?XG@W!hSP+p3U<=47%HN(>bRlW=Jptj8YV4vhkspm)m|y_p7WZagVkPjETRudN z?)h`)ZXGPq;@e`X9UgYOGt^V@ARKy6X(=;1hQVieFl!8a1r^1n!o;3Hp=0r0YY1AI@Ejkz04`t_WHYBOtK_;nVu4ME28tPvE-y{!=6ik94gJ{5ftgxt zEQUAqsH0!x=Zl6%ovN^wRoUk{SqHrWWj7`e1@i1>6bK^0NqFKr@~mVEzWkcj2U-s{ zt!H@JJFSawJ3q&DUphpHTXRfbNe_BbUM;<=NDZ zdzhT-&)0~*$;2~Moy72*O(Fy)3*pBSdr8WsvHi=0oTW4#P5t zmiAa;CxkPs%O(dUw9clJ{GR<(N2wTk2Y-NJ($7($JJO_QskH`iG53`Z9JuyS21#=J z^Y*}2muUg4rJA5Lo1M^Hm(fM2xN7Mt&pqR3lzLq$joE|t-`k;~U@XSASp1dvCNm@9 zQ(G6o!>X;7<=Ey!Ebskg;>48$q9G?YcicLW8^4@r#u-BQ4l^4vQCr?ZHkDdIO|3RB zZ_9w3(+=urozrQR%uEv@s8y$*ZZD19!SSdqeBppnsu0%0dmXlzaHUy^bP|9%l=IL=@q@zrMm?D2VfbeXJh&rar^M8jlWwvI`0b?0vFFYS zNRSEM4_zsFWdf=lATB4dr}7qgZ)v7A=Ae$JrbC~E)@~K|r_b&Q{&rhw1s8{1nl}}h z6)?aC;D6!w*Xp5M<>i-{%pAKFfIbsr7L8k#?p5KkGu!SxkWV8UNyM@PAAm?wJkInY zbeZZIcFPE8CSAL!oQ|p1Kx|^3lablYE;6QjE5urX2juCAjP!KmMT=-v*^?gp?}2a% zN#0re`BNbuZwSS z1S8`X=AQvos*6~qf-A?$M0e#3+dt_Sax?$gjH)-bocwmx{N|d<1M-dAq<*I(M~=Wl zZpH8E(W5BlD|tX&9d#i#NOYy=8-f4pe1R3QF4gXIW}n{U^7@S^R2cRHjrxy3Dqfko zG@K_*%GMhE_w!$S)y+$1#Rs*M&ydkSLA@sy;5V#MnVnrYyks97tX#m(#bp@NV&Hci zh+(Lrw3nC2wkYJcLCD^H8v2TuTtXU#Y3-|Doiw8T;{;qYK3xmB9MUm?3U$baBz2(@ zqdmZqF0q>N{9lD>k6Ysb^)%8?$(lO)36xu2)fs2(#bt8J!AolARr`WGI2+(OIL5BH zlZ}n4*2JP>?BqFxh;DFa$M+7s3dWgwq ztz0LifOsv>7v!Vzv6&S)aIdhiX`Vwhc!E}1f!-ApJBcxv+4dX;HPV@5wa(LFIreL9 z*g;ea2Ufpfl%;!IdAanA{^R4WP1nhsHg@8fH6Lqh)k@FtDpnd;$-Agsll%>o@6*D^ zt^YblN7}+r74Xmv@CM>S0?~NG%tvgy+*8xm&kkSrOs|o?{F-PYUgEPfi~;dl-Zbn+ z&caKN7~hpP7_%vWRrj{+-vujztskLrXYwO618r5>-uSXzDEur;u~HP`)=Z1Y@Yydu z++^G80<2Af_+ zkWih=zpknC!g(h6=hr?@UTSDuvYeE7f}lAT#h|b6l%&6qI$QmWD2_}yPRu5Wp@tU9 zLqHSBLV#6nMZ9_Z|ht=sfB|S`?AOFl|`-1BOl+hCiqC-o)MNikkW()D&trTQb zHAl8Rba)o@;3XxeCV*FwxGGJmNPb#YrX7dgSS&2}(x#dPDxRwR{3(d6l+W+zwT5S@ z9(1ytnXD{K*9A-kP|xG5Vh}Mm-pcM-rolVD4i{5HB$4;EFYell7d2<8N-Nn)Hj&DO z?+mvf=56xVVF_A>NHC=yQq4GP-x_s{ZR*pf5ZH__CVh3OFcElf&vvsUoH{Tp?Bqka z&T_l^md;?v&vA}x)t|k0E2r~Dio*6K7gWCk;%(aP9eZ{%yti)FE6b~gz1%Q+o!@T9 zIf0kX8=5C=^RQ1-Of0s)9~dQ4yW!V4!?d`2<~R>$BzgVJ--4CI7jh+uF$M4GdE(nm z#aIKD4p3n)%cyZyI%zWgBa%xli~GCTNxJ5|{YH6-9FE)_EpU@qp57`Ef}uN{>%$7W zu9_CAG3#7?3;Ez9KeT8>mjg3-{rj8Mj(X3?25d%63cERT2uvNK!?bl_iz1rgV}BqZ z=8fQVotyp1^92FLu}^JGq)^jM4x*Pj_if06B;}cj^9DB=h-(A*$$mV`2I_so0MW!gmAw2B>Cn%Ubf5JG?gMe*eV=#O(1u z`aI`P)_5!pZQo%SPxO@+TgLFz>6d~xqO!-wOkKhcoQrq-v9>nhZ)of;Tx0uCF64#T zdWldNHT%%!beegbBpaoCRCDXG5825Oomks}dV!j^i-`$3!zN-+tWTNVbuLMZQTAa; z9wbi$>CKnsmW#YFh51X?$xfJO9&vPVVbO^#6bLJ_z1v!SMv9-C>rgw_=jq+3_g~;~^m~{b>3es%8l5}TS=7(O$y18_3I9*6j-!iRY2)f+#J5t zNL#al0#kn${KFkz`_4-4m(7E2>Ie&(MlP?uzKG0B%RZStT)QRHyZUT@QaOs0?Yg^n zdFM2_v9S@$M;9}y#4-zZ=5X#o3RI3^syFOq_k7E~%s$cirkviQJ)X?GtXH1)9(5M0 z@Y{*8hvXZDL@^e*DZSL>rjMvao`1OE6*wg-{WU;f5_$)Wqu?+zox*66b@F6Ym=3~J zd20y${wyP6DQ@2FlS>s7UyzDCmlji_EY^-BspL5wU4Wu+Fh&pF^PVm3XBn4%lWBKK zUq8mu8BF=dZN(3HR!vQMXHEyui<*li#L${uAAkU$kweS~%OGZ%JlS5sV$m7)kaql} zWbr9WZdx`nS>d@7v<$xBFUurL-{g**Hqe$9qBC zf?1>DbXy81JNkV1H}G!Y+1)$?|FDKy>a4V9G?!p%fu-vT+@UhulvMC)GliSCb`p}| z2wb78m%yD7H)BK~RK9bmPE3e=;&`QbtRRSw#mN~*JwAtOW2fm0`ywrBc!jBVfGV;v z@+Fs8x;k}o(=1V)usw02{j2rH{L+DY&QE_?(s!IODD=K=PD7@6jNB-`&!e^Y0Py{?HuNnk|fCiOjF}cnxGV zaTyp=j89O+W7QCr?DZPa2s_2v%m`P9pe$K%={1`!VbE7Wq%51nT+3 z_-gTqjxJuls1l*fiWS!x#VGUZu#GY^Qy4^YlKe<(`so0rMpROsUS7aM+fOvjgDdGz zep7#Q)S5(DafdyH&@YNCI20~f(kk$t>ZHt${EHCn0tGBV&IX|z02I&l15=}`8sEfF z2Z3yxU&l9l-n`j0dCJaibUTuY{(M*WI(9Gap_m#xO-8$9mW2f8;z8h*jMqAf(4atx@z?&J9T6I3&dhVQRJ+y!j>>k z@-S*U?bqa=>7T<%Fcn*7K9*=CTXMT=^PIaQL)z+)LXxpIWcJbj9(+#89IEE72{ z{q!x)6ZGzBLRx*L&Bo8(k7#S;7CXDRY*TYfqp^7?chrYy#ukb-GM%wxsjmx6db$H+ zbb+{f{4ptTr*j}%Jek%@Hr;}HCW_f3;#cbdL#09`UxrXm7guZROlk#T;R(plMVhK( zPU)m$`O(^`W8rZkZ&{wVtn1Y+=UUlf7XLA7kehKp!NSelfza-bS{XS?`+9 zy-Vgc*Gz@tg_A!Dt#|xzA5$EBwHK!;C5wM~Sq=OwrT^?E%IUqEW`G47_pW~+A=n2$ zp#IRfOl^~>WID*&fP)35587G^U5G?&!jQx3<&!QFnzyuAB~el0>s{Y=O>LWvBaYg| z`S}QcN8NoiCqHeZ4q$BV8<%1vJL4WY;?dhGYDh>YX{pM4hl;1YU;O+T@U8AqMMXtK zt{MhYsQxa7`>2&-u|_E^_s=xoOWfqsMSDNo$vYuWa`?MYW@NIDRs+x6LP_G}iKMhA z7rULWSh}Jr;c1)h!|N5L{;fH6FnNFKt(_Rpgz5)~TEu7=J!Jjo{+D~ek`0Dic%uk= z4){+}Gsi6%_Yq8H6>S0$EYYCEqAOLvSt@5ND}Fm5>m0@@E27B$Z#;79l-a4LF{KA) zGq;U$?qGhduB3E0?C9#sZH8b!e!XKSUj<^`D7&Y`M#>z8cv3lU)C5eT7_^2f zqqmyqGONEmK4Qk$QJ2-LqUQ9@r&1-($>N4C7A~%ca*G_~Nh+6RXG$#Idbq?_ay-y9 z)Z5#1XtlbY_q88i%Z0{6MIkFhL~IPI!>j=+I#EYAAjNJkA4P0eJCdb0RgXV5V< zBMAVrIl8hFdd11#d6Za~jQR-j_aPB1i)A7R0MZP{qqLMWWSH4O1nP^{v+3M4-7*B} zpM&$@KFA;G>Dyw%u;FQs0y=Nfg>2ii*>;^b_Jrgp-5kSifz@42sUj@%T;m@;fP;>@ z`uh{IaIsx#bw6^Eel!_NIB$Maulm6GdiRc7?FLkEbJY1y#T3cU&&JN2zGCg&muMRN z*Ka0Z8eMm0F()WTj45Rw_hgC9sH&x6q@rcl?4qqQy#+^}CU5tOp==&+4D~5d4UHVF zqe3W|@x({-Ya>0begbC;(h}4~&3|O(sk9<=qqc5SLp|KIy!(`z8G8YQBf~*{Pn%mc zir3>sNO+=Sy=H%5>Eo8~d9yPI>5DG%qlO=J%KS;IU}hBqw4u86G-IWi$yMYoBX~t* zq6IQDEp3`w%JTr0`{nL*Zo;;Qg@SI-E5bPwk-C%9!^iBVs0V6R+&FZ%UcS`I!9LxF zHSHv;^LDMz{jdc&R1&s&B7df;PaYVwL}Emk?;v*^iy)_kwKW~Dygb4yFr27WmL5N` z>1xEN9wqH&ZS2pQN?)R5oYHe&`N!316fbZQzC=6bqaIpJ=jd9lG|aYI&K% z_Y>IlOrRN9h(aiu?hKdwmps5k+t``rtmO3PlzoK@24%^!XU}R3wp*KI`kXzx zhCstrxXxfU5ZRV^tW-3cs$PC)jpJ)NISqVGG#dyBKuvAk4W%O{(S|dYo76u_sj}+O zai(zK-{Di|q#Wj435Rtn=C-8Cvt_yr(7k|KTv-|9@1G*~gr0KM7b@mYv39SldtUW{ z&uGY%=I;XHTCm{J@47G2eUNCM$Q0()~1)?YT8#s7ibX zgJY&TQXB9`bazW5!1lA;5Y=z}spc25LYV5O)wY@AyqcL)v|ZVj`qfA#?gc_{W@cQJ z_AeS~ll21REqsTshgEJ7TFM%VU_Yes{@B5UFVb!~qtDK6=SgL{;Kw5MT05KSgG@ZA zG@(G9EeLi6JwuMhKahBol^#PUK^6aJ^!@wo^i8v5f z@V3S|gz41XyElXQ2v>Wvl%KN+WN4-E+MRwLcVBhCXnmFOf~usW7>8kb)dg$OFZBTc~-1FfE+O)$}63k()@}g0@4rKV&(;*PswUb zl~Rt*?{4sTsqRMV*m?Z-5mcGX{mHds$(8P|4YHQgFA5&0NW?V7d0247F3(#FuV^(! zjclAl5JgwlRhvE?@x9ISXul9BLCtbj?1BXMy|#P8K z_O_7JjrX1|I>)Y=Ohy;F1TyV$2a$5^jPnI~m)6^~2D{^$SJb(Fa6|jh(pxdgmY5m} z$g~vSF$3>1c@AY2Kwi1c!GQsmXZm(B^1EL8|6RGOAtS@sNH)jhaO>34N3vz>Az5xV z%Iw{*KI@OnC(l(iX=xLg>xZJBS-PUlXE$;^$bF~2UZ7;(*9+tV*L#gg4|o({1zC<4 zRM|Hi{xq+a!-DWF&Jp?@kUB>%FY+93>|r0Hka|2WWA95xkFtgwR9ElXK@$2?Qu2dE zq5Xh_h=ih8k`NZz8S3;;d$Ti*oSL~#n%wyOMw&fO)V^!@=!p{sZ5an=ck|_QwsmOE zp-{s%&!X6Z#FJ?Q&yhjPvzw)jkgl|t!O(QUqm$Re8{7=ouX$JBo_j?7o$ZJ_(Ps%Ku0AtpX5 zETo}n=|ihBl=@hCABHu>;%V28Hkv}i6#bJ-KyOZYe;yON!q&25cpi%I5UitOy_Cd_ z*QEwlhQ?oUIf0Usr8oi`Ae=<@v%QrlLYhKVBQ^gK1Er%@?ez z>Hm|^8|+ZqlL+!WGdjl>y86H)CDFyluKPRnnhJf;&C--jFn9MA$zADiWuU&Kym zbS7ffy3*E}Nw(UFfK8@?5UPqK;O6yD51v+6rzz)IZf3~k$L9Ko=YDi|lGUPRHyJSsk@wlQQ;D1qe46Cg#<$iT-t-d^y zV!8!AhabxW{oY9Bu-O|-RQ)VLAF;gU6Hbr3L9$pgmx5R&COY-3!V!MazdgXanSs4@t3OGvvpOGJQsR=w$a;{b`Www3^M23*L*5B{IUFkwat(@yI1vADjg4rS2u>K=Qk0QV(l_Vl{@I@zi z`ZF$?tT1OM5yo2zrXFchLXy8uf0xz6%ZP%ZzdvdCEFDuG2{A=N{vya=Zc~vrMlgH7 zq5gg0`QTI%i9RpTVU%AW&2qJL%F8QM+~O23siH_m3PHE2)Yt(V01)ayf`}99iI&p~ zL+@FnNljy;u#i!^^1Xjsmjnv;wjHe?Lc*3)lWV>!%Y8GJFwbZ|YGpOMxM;4E!AU4E z$hQ@UAR0=@|BSAhHn&(f5m-!=XFD<v)vU-I;q2&5HNuw&d2-Cw1ykE+2W^i=I6@c{P+0I^ExYc|hS+a_xJD z5ptI-b4p5lLPS3lw!X)@Ji&5yf*PThKQz1Ygb}+o+>=9fbgp2q2KmuQ0#=BcY^qcF z!nZj`*jjboCB(%cqtAsQb3U4f%1B*()n0-bUS{uh_5 zFQFQ(I$iYvcagI@v#cHs&U*809E{Sriu+ z3(sT_?gLDTK5dm+T*XTo$v$Rfko~nes4>G#i z@xgwAqPqH3C*enY2g6=>c1nqgZr$R$b!fnnM8EcN1+mF3L6=Xn?r^;-c7;@FbNu+> zcVf2#RI|#>?u}@8r~W%C1;v!hP4C*y%KVEVb;5PUKBi`7B6%PdrsXfdWxIe&;*+`KalrM(Wm{ zD|8tb26caWrK^H-O?<&I`Fu&_jz28YV(r#k)%9`Rvyz*I z%HWoY0sqS9&$AZ;ke>D9hyKpS5aqH4pRf>p*;iWD0yofY^Znp6xa=-h8ZO=}%2uX< zNZfk=DVipw0|#uAu8BMnG6VPk;$xc3W8XO%{zvyYVc*IwyRB2Qjz=Wo7(|S`pmRjW ztkaTr9^C3KUD^A`i8$FPO!fW!$XOvLQVc|_C;+=QfGHGvoddQKoZ?i;|S}3eKP7wVRG81gz6noub;m-k7xd=7zSx{8 z$__bv2(K4i@%%wFnG{7`J5SM3U@TV8onBkElj04xmC=5P~jKs^y z8JGx4`L*ge#gb%-D2etU@YGK9_7^zs`Ot6~vB2tTYAJsOJwym{WYpYYL|a4(sbrwv)mVNWXrC@xHaMuc)AsNeZ0`coLT#|6Bnx-C;mZz=44Dr)3U|f_JM7r9$}(=}_(?z0y+{-~YYfAR`N{KNpN`EGO7^;}wg7XPiU0Q*q3ge2 z{`>uMBm3pXqnE!Pz5M(Bg7axW4 zxhz(OGGlg5_1SZewAzM_Pp+tWW(xL--}&0Q3Jx#MmaK#09JNolSaiQKySa}WIBJY* z?GhjBed}Tsi>b;8Fl15~LwgR9<->~jPMCI1P-SOiMae}o)nn2NpJ#zscviIwrZ zO_Qu}g6ilr&CTuJGaSC)I)33N|G6(HzR|j(eE^7#1V9u%dl7K#qhTt!8&S{EQBi;J z$PWZ;%L~99lx^)f%_o5eoi}L4$QHNvZ)H3fjxCwFf4{i>Z(-_S?&b|`R`Jv&j?Q=e z(xilNHKEHps))j!$>aqT{vLc0ckm{=ipaLh^>)~c_PP(+ydS0emBY6!x9OqAfz<~= zQu!ht8rV9Qw~3@1r<#sr*`z}zPA!XmqFhXEF+nF9LNIVix_%uZOULN>lkxW}8K!w~ zsrk<^nx!g4vePJze%z^$v@_)lp_U)l?9C_Q4noo-d>|SJsJBvmK@iuOb01=3lKCKJ z#`?tU0!%lKO;d}-5t{brVDnGhm_h5}P7aQM{b;X8nF-XnD78fG z^~SUIXKKjYXa?qsc5iE{XTyu8n1S-4xNFUfX4Gz0RzpC}YB}3zPSH1Z9-I{PcJ5o# z=Sls>$GA�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