From 5dacf60b85b912ea2cf2399ded6e8b0cd2b57a3f Mon Sep 17 00:00:00 2001 From: nir0s Date: Fri, 13 Jun 2014 01:12:48 +0300 Subject: [PATCH] CFY-759 mainly docs init --- .travis.yml | 4 +- Makefile | 39 + README.rst | 4 + cloudify_rest_client/deployments.py | 4 +- cloudify_rest_client/node_instances.py | 1 + cloudify_rest_client/nodes.py | 1 + docs/Makefile | 177 ++ docs/_build/doctrees/environment.pickle | Bin 0 -> 1365855 bytes docs/_build/doctrees/index.doctree | Bin 0 -> 194251 bytes docs/_build/html/.buildinfo | 4 + .../cloudify_rest_client/blueprints.html | 344 +++ .../_modules/cloudify_rest_client/client.html | 277 +++ .../cloudify_rest_client/deployments.html | 337 +++ .../_modules/cloudify_rest_client/events.html | 219 ++ .../cloudify_rest_client/exceptions.html | 177 ++ .../cloudify_rest_client/executions.html | 264 +++ .../cloudify_rest_client/node_instances.html | 294 +++ .../_modules/cloudify_rest_client/nodes.html | 281 +++ .../html/_modules/cosmo_cli/cosmo_cli.html | 1843 +++++++++++++++++ .../_modules/cosmo_cli/provider_common.html | 464 +++++ docs/_build/html/_modules/index.html | 159 ++ docs/_build/html/_sources/index.txt | 60 + docs/_build/html/_static/ajax-loader.gif | Bin 0 -> 673 bytes docs/_build/html/_static/basic.css | 537 +++++ docs/_build/html/_static/comment-bright.png | Bin 0 -> 3500 bytes docs/_build/html/_static/comment-close.png | Bin 0 -> 3578 bytes docs/_build/html/_static/comment.png | Bin 0 -> 3445 bytes docs/_build/html/_static/css/badge_only.css | 1 + docs/_build/html/_static/css/theme.css | 4 + docs/_build/html/_static/default.css | 256 +++ docs/_build/html/_static/doctools.js | 238 +++ docs/_build/html/_static/down-pressed.png | Bin 0 -> 368 bytes docs/_build/html/_static/down.png | Bin 0 -> 363 bytes docs/_build/html/_static/file.png | Bin 0 -> 392 bytes .../_static/fonts/fontawesome-webfont.eot | Bin 0 -> 38205 bytes .../_static/fonts/fontawesome-webfont.svg | 414 ++++ .../_static/fonts/fontawesome-webfont.ttf | Bin 0 -> 80652 bytes .../_static/fonts/fontawesome-webfont.woff | Bin 0 -> 44432 bytes docs/_build/html/_static/jquery.js | 2 + docs/_build/html/_static/js/theme.js | 47 + docs/_build/html/_static/minus.png | Bin 0 -> 199 bytes docs/_build/html/_static/plus.png | Bin 0 -> 199 bytes docs/_build/html/_static/pygments.css | 62 + docs/_build/html/_static/searchtools.js | 622 ++++++ docs/_build/html/_static/sidebar.js | 159 ++ docs/_build/html/_static/underscore.js | 31 + docs/_build/html/_static/up-pressed.png | Bin 0 -> 372 bytes docs/_build/html/_static/up.png | Bin 0 -> 363 bytes docs/_build/html/_static/websupport.js | 808 ++++++++ docs/_build/html/genindex.html | 662 ++++++ docs/_build/html/index.html | 1097 ++++++++++ docs/_build/html/objects.inv | Bin 0 -> 865 bytes docs/_build/html/py-modindex.html | 209 ++ docs/_build/html/search.html | 168 ++ docs/_build/html/searchindex.js | 1 + docs/conf.py | 287 +++ docs/index.rst | 60 + tox.ini | 25 + 58 files changed, 10640 insertions(+), 3 deletions(-) create mode 100644 Makefile create mode 100644 README.rst create mode 100644 docs/Makefile create mode 100644 docs/_build/doctrees/environment.pickle create mode 100644 docs/_build/doctrees/index.doctree create mode 100644 docs/_build/html/.buildinfo create mode 100644 docs/_build/html/_modules/cloudify_rest_client/blueprints.html create mode 100644 docs/_build/html/_modules/cloudify_rest_client/client.html create mode 100644 docs/_build/html/_modules/cloudify_rest_client/deployments.html create mode 100644 docs/_build/html/_modules/cloudify_rest_client/events.html create mode 100644 docs/_build/html/_modules/cloudify_rest_client/exceptions.html create mode 100644 docs/_build/html/_modules/cloudify_rest_client/executions.html create mode 100644 docs/_build/html/_modules/cloudify_rest_client/node_instances.html create mode 100644 docs/_build/html/_modules/cloudify_rest_client/nodes.html create mode 100644 docs/_build/html/_modules/cosmo_cli/cosmo_cli.html create mode 100644 docs/_build/html/_modules/cosmo_cli/provider_common.html create mode 100644 docs/_build/html/_modules/index.html create mode 100644 docs/_build/html/_sources/index.txt create mode 100644 docs/_build/html/_static/ajax-loader.gif create mode 100644 docs/_build/html/_static/basic.css create mode 100644 docs/_build/html/_static/comment-bright.png create mode 100644 docs/_build/html/_static/comment-close.png create mode 100644 docs/_build/html/_static/comment.png create mode 100644 docs/_build/html/_static/css/badge_only.css create mode 100644 docs/_build/html/_static/css/theme.css create mode 100644 docs/_build/html/_static/default.css create mode 100644 docs/_build/html/_static/doctools.js create mode 100644 docs/_build/html/_static/down-pressed.png create mode 100644 docs/_build/html/_static/down.png create mode 100644 docs/_build/html/_static/file.png create mode 100644 docs/_build/html/_static/fonts/fontawesome-webfont.eot create mode 100644 docs/_build/html/_static/fonts/fontawesome-webfont.svg create mode 100644 docs/_build/html/_static/fonts/fontawesome-webfont.ttf create mode 100644 docs/_build/html/_static/fonts/fontawesome-webfont.woff create mode 100644 docs/_build/html/_static/jquery.js create mode 100644 docs/_build/html/_static/js/theme.js create mode 100644 docs/_build/html/_static/minus.png create mode 100644 docs/_build/html/_static/plus.png create mode 100644 docs/_build/html/_static/pygments.css create mode 100644 docs/_build/html/_static/searchtools.js create mode 100644 docs/_build/html/_static/sidebar.js create mode 100644 docs/_build/html/_static/underscore.js create mode 100644 docs/_build/html/_static/up-pressed.png create mode 100644 docs/_build/html/_static/up.png create mode 100644 docs/_build/html/_static/websupport.js create mode 100644 docs/_build/html/genindex.html create mode 100644 docs/_build/html/index.html create mode 100644 docs/_build/html/objects.inv create mode 100644 docs/_build/html/py-modindex.html create mode 100644 docs/_build/html/search.html create mode 100644 docs/_build/html/searchindex.js create mode 100644 docs/conf.py create mode 100644 docs/index.rst create mode 100644 tox.ini diff --git a/.travis.yml b/.travis.yml index 92dcd25..c1dc8ef 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,4 +7,6 @@ install: - pip install flake8 script: - - flake8 . + - flake8 . --exclude docs +notifications: + flowdock: a73d66c41c6e4406e1c47e042dfd2b59 diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..838b2e6 --- /dev/null +++ b/Makefile @@ -0,0 +1,39 @@ +.PHONY: release dev instdev install files test docs prepare publish + +all: + @echo "make release - prepares a release and publishes it" + @echo "make test - run tox" + @echo "make dev - installs module and builds docs" + @echo "make instdev - installs module" + @echo "make install - install on local system" + @echo "make files - update changelog and todo files" + @echo "make docs - build docs" + @echo "make prepare - prepare module for release" + @echo "make publish - upload to pypi" + +release: test docs prepare publish + +dev: instdev docs + +instdev: + python setup.py develop + +install: + python setup.py install + +files: + grep '# TODO' -rn * --exclude-dir=docs --exclude-dir=build --exclude-dir=*.egg --exclude=TODO.md | sed 's/: \+#/: # /g;s/:#/: # /g' | sed -e 's/^/- /' | grep -v Makefile > TODO.md + git log --oneline --decorate --color > CHANGELOG + +test: + tox + +docs: + cd docs && make html + pandoc README.md -f markdown -t rst -s -o README.rst + +prepare: + python scripts/make-release.py + +publish: + python setup.py sdist upload \ No newline at end of file diff --git a/README.rst b/README.rst new file mode 100644 index 0000000..56e3b2d --- /dev/null +++ b/README.rst @@ -0,0 +1,4 @@ +Cloudify REST Client +==================== + +Client for interacting with Cloudify's management machine. diff --git a/cloudify_rest_client/deployments.py b/cloudify_rest_client/deployments.py index 7249560..9dacaa0 100644 --- a/cloudify_rest_client/deployments.py +++ b/cloudify_rest_client/deployments.py @@ -122,7 +122,7 @@ def delete(self, deployment_id, ignore_live_nodes=False): """ Deletes the deployment whose id matches the provided deployment id. By default, deployment with live nodes deletion is not allowed and - this behavior can be changed using the ignore_live_nodes argument. + this behavior can be changed using the ignore_live_nodes argument. :param deployment_id: The deployment's to be deleted id. :param ignore_live_nodes: Determines whether to ignore live nodes. @@ -166,7 +166,7 @@ def execute(self, deployment_id, workflow_id, force=False): :param workflow_id: The workflow to be executed id. :param force: Determines whether to force the execution of the workflow in a case where there's an already running execution for this - deployment. + deployment. :return: The created execution. """ assert deployment_id diff --git a/cloudify_rest_client/node_instances.py b/cloudify_rest_client/node_instances.py index 2f25c24..06dbbb9 100644 --- a/cloudify_rest_client/node_instances.py +++ b/cloudify_rest_client/node_instances.py @@ -132,6 +132,7 @@ def list(self, deployment_id=None): """ Returns a list of node instances which belong to the deployment identified by the provided deployment id. + :param deployment_id: The deployment's id to list node instances for. :return: Node instances. :rtype: list diff --git a/cloudify_rest_client/nodes.py b/cloudify_rest_client/nodes.py index cf0bc3d..58ababc 100644 --- a/cloudify_rest_client/nodes.py +++ b/cloudify_rest_client/nodes.py @@ -119,6 +119,7 @@ def list(self, deployment_id=None): """ Returns a list of nodes which belong to the deployment identified by the provided deployment id. + :param deployment_id: The deployment's id to list nodes for. :return: Nodes. :rtype: list diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 0000000..61d9813 --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,177 @@ +# Makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +PAPER = +BUILDDIR = _build + +# User-friendly check for sphinx-build +ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) +$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) +endif + +# Internal variables. +PAPEROPT_a4 = -D latex_paper_size=a4 +PAPEROPT_letter = -D latex_paper_size=letter +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . +# the i18n builder cannot share the environment and doctrees with the others +I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . + +.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext + +help: + @echo "Please use \`make ' where is one of" + @echo " html to make standalone HTML files" + @echo " dirhtml to make HTML files named index.html in directories" + @echo " singlehtml to make a single large HTML file" + @echo " pickle to make pickle files" + @echo " json to make JSON files" + @echo " htmlhelp to make HTML files and a HTML help project" + @echo " qthelp to make HTML files and a qthelp project" + @echo " devhelp to make HTML files and a Devhelp project" + @echo " epub to make an epub" + @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" + @echo " latexpdf to make LaTeX files and run them through pdflatex" + @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" + @echo " text to make text files" + @echo " man to make manual pages" + @echo " texinfo to make Texinfo files" + @echo " info to make Texinfo files and run them through makeinfo" + @echo " gettext to make PO message catalogs" + @echo " changes to make an overview of all changed/added/deprecated items" + @echo " xml to make Docutils-native XML files" + @echo " pseudoxml to make pseudoxml-XML files for display purposes" + @echo " linkcheck to check all external links for integrity" + @echo " doctest to run all doctests embedded in the documentation (if enabled)" + +clean: + rm -rf $(BUILDDIR)/* + +html: + $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." + +dirhtml: + $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." + +singlehtml: + $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml + @echo + @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." + +pickle: + $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle + @echo + @echo "Build finished; now you can process the pickle files." + +json: + $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json + @echo + @echo "Build finished; now you can process the JSON files." + +htmlhelp: + $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp + @echo + @echo "Build finished; now you can run HTML Help Workshop with the" \ + ".hhp project file in $(BUILDDIR)/htmlhelp." + +qthelp: + $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp + @echo + @echo "Build finished; now you can run "qcollectiongenerator" with the" \ + ".qhcp project file in $(BUILDDIR)/qthelp, like this:" + @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/cloudify-rest-client.qhcp" + @echo "To view the help file:" + @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/cloudify-rest-client.qhc" + +devhelp: + $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp + @echo + @echo "Build finished." + @echo "To view the help file:" + @echo "# mkdir -p $$HOME/.local/share/devhelp/cloudify-rest-client" + @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/cloudify-rest-client" + @echo "# devhelp" + +epub: + $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub + @echo + @echo "Build finished. The epub file is in $(BUILDDIR)/epub." + +latex: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo + @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." + @echo "Run \`make' in that directory to run these through (pdf)latex" \ + "(use \`make latexpdf' here to do that automatically)." + +latexpdf: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through pdflatex..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +latexpdfja: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through platex and dvipdfmx..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +text: + $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text + @echo + @echo "Build finished. The text files are in $(BUILDDIR)/text." + +man: + $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man + @echo + @echo "Build finished. The manual pages are in $(BUILDDIR)/man." + +texinfo: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo + @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." + @echo "Run \`make' in that directory to run these through makeinfo" \ + "(use \`make info' here to do that automatically)." + +info: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo "Running Texinfo files through makeinfo..." + make -C $(BUILDDIR)/texinfo info + @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." + +gettext: + $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale + @echo + @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." + +changes: + $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes + @echo + @echo "The overview file is in $(BUILDDIR)/changes." + +linkcheck: + $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck + @echo + @echo "Link check complete; look for any errors in the above output " \ + "or in $(BUILDDIR)/linkcheck/output.txt." + +doctest: + $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest + @echo "Testing of doctests in the sources finished, look at the " \ + "results in $(BUILDDIR)/doctest/output.txt." + +xml: + $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml + @echo + @echo "Build finished. The XML files are in $(BUILDDIR)/xml." + +pseudoxml: + $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml + @echo + @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." diff --git a/docs/_build/doctrees/environment.pickle b/docs/_build/doctrees/environment.pickle new file mode 100644 index 0000000000000000000000000000000000000000..1d095b58a627c3a5ea33aecdad81f67ae4c61057 GIT binary patch literal 1365855 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%0A^o3GT(e!CrHg6`ygz`s)iI?|g$Eew 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 S=cdq!x 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 literal 0 HcmV?d00001 diff --git a/docs/_build/doctrees/index.doctree b/docs/_build/doctrees/index.doctree new file mode 100644 index 0000000000000000000000000000000000000000..c559a873dbb1c7dd1edb9392c846ce9743e224f8 GIT binary patch literal 194251 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 literal 0 HcmV?d00001 diff --git a/docs/_build/html/.buildinfo b/docs/_build/html/.buildinfo new file mode 100644 index 0000000..bb56544 --- /dev/null +++ b/docs/_build/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: 8a84c95186b9e00127fdb245dd06aff9 +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/_build/html/_modules/cloudify_rest_client/blueprints.html b/docs/_build/html/_modules/cloudify_rest_client/blueprints.html new file mode 100644 index 0000000..089a313 --- /dev/null +++ b/docs/_build/html/_modules/cloudify_rest_client/blueprints.html @@ -0,0 +1,344 @@ + + + + + + + + + + cloudify_rest_client.blueprints — cloudify-rest-client 3.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + +
+ + + + + + +
+
+
+ +
+
+
+ +

Source code for cloudify_rest_client.blueprints

+########
+# Copyright (c) 2014 GigaSpaces Technologies Ltd. All rights reserved
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#        http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+#    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    * See the License for the specific language governing permissions and
+#    * limitations under the License.
+
+__author__ = 'idanmo'
+
+
+import os
+import tempfile
+import shutil
+import requests
+import tarfile
+import urllib
+
+from os.path import expanduser
+
+
+
[docs]class Blueprint(dict): + + def __init__(self, blueprint): + self.update(blueprint) + + @property +
[docs] def id(self): + """ + :return: The identifier of the blueprint. + """ + return self['id'] + +
+
[docs]class BlueprintsClient(object): + + CONTENT_DISPOSITION_HEADER = 'content-disposition' + + def __init__(self, api): + self.api = api + + @staticmethod + def _tar_blueprint(blueprint_path, tempdir): + blueprint_path = expanduser(blueprint_path) + blueprint_name = os.path.basename(os.path.splitext(blueprint_path)[0]) + blueprint_directory = os.path.dirname(blueprint_path) + if not blueprint_directory: + # blueprint path only contains a file name from the local directory + blueprint_directory = os.getcwd() + tar_path = '{0}/{1}.tar.gz'.format(tempdir, blueprint_name) + with tarfile.open(tar_path, "w:gz") as tar: + tar.add(blueprint_directory, + arcname=os.path.basename(blueprint_directory)) + return tar_path + + def _upload(self, tar_file_obj, + application_file_name=None, + blueprint_id=None): + query_params = {} + if application_file_name is not None: + query_params['application_file_name'] = \ + urllib.quote(application_file_name) + + def file_gen(): + buffer_size = 8192 + while True: + read_bytes = tar_file_obj.read(buffer_size) + yield read_bytes + if len(read_bytes) < buffer_size: + return + + if blueprint_id is not None: + uri = '/blueprints/{0}'.format(blueprint_id) + url = '{0}{1}'.format(self.api.url, uri) + response = requests.put(url, params=query_params, data=file_gen()) + else: + url = '{0}/blueprints'.format(self.api.url) + response = requests.post(url, params=query_params, data=file_gen()) + self.api.verify_response_status(response, 201) + return response.json() + +
[docs] def list(self): + """ + Returns a list of currently stored blueprints. + + :return: Blueprints list. + """ + response = self.api.get('/blueprints') + return [Blueprint(item) for item in response] +
+
[docs] def upload(self, blueprint_path, blueprint_id): + """ + Uploads a blueprint to Cloudify's manager. + + :param blueprint_path: Main blueprint yaml file path. + :param blueprint_id: Id of the uploaded blueprint (optional). + :return: Created blueprint. + + Blueprint path should point to the main yaml file of the blueprint + to be uploaded. Its containing folder will be packed to an archive + and get uploaded to the manager. + An optional blueprint_id parameter is available for specifying the + blueprint's unique Id. If not specified, blueprint id will be + determined after parsing the blueprint's yaml file. + + """ + tempdir = tempfile.mkdtemp() + try: + tar_path = self._tar_blueprint(blueprint_path, tempdir) + application_file = os.path.basename(blueprint_path) + + with open(tar_path, 'rb') as f: + blueprint = self._upload( + f, + application_file_name=application_file, + blueprint_id=blueprint_id) + return Blueprint(blueprint) + finally: + shutil.rmtree(tempdir) +
+
[docs] def get(self, blueprint_id): + """ + Gets a blueprint by its id. + + :param blueprint_id: Blueprint's id to get. + :return: The blueprint. + """ + assert blueprint_id + response = self.api.get('/blueprints/{0}'.format(blueprint_id)) + return Blueprint(response) +
+
[docs] def get_source(self, blueprint_id): + """ + Gets a blueprint's source by the blueprint's id. + + :param blueprint_id: Blueprint's id to get the source for. + :return: The blueprint's source. + """ + assert blueprint_id + return self.api.get('/blueprints/{0}/source'.format(blueprint_id)) +
+
[docs] def delete(self, blueprint_id): + """ + Deletes the blueprint whose id matches the provided blueprint id. + + :param blueprint_id: The id of the blueprint to be deleted. + :return: Deleted blueprint. + """ + assert blueprint_id + response = self.api.delete('/blueprints/{0}'.format(blueprint_id)) + return Blueprint(response) +
+
[docs] def download(self, blueprint_id, output_file=None): + """ + Downloads a previously uploaded blueprint from Cloudify's manager. + + :param blueprint_id: The Id of the blueprint to be downloaded. + :param output_file: The file path of the downloaded blueprint file + (optional) + :return: The file path of the downloaded blueprint. + """ + url = '{0}{1}'.format(self.api.url, + '/blueprints/{0}/archive'.format(blueprint_id)) + response = requests.get(url, stream=True) + self.api.verify_response_status(response, 200) + + if not output_file: + if self.CONTENT_DISPOSITION_HEADER not in response.headers: + raise RuntimeError( + 'Cannot determine attachment filename: {0} header not' + ' found in response headers'.format( + self.CONTENT_DISPOSITION_HEADER)) + output_file = response.headers[ + self.CONTENT_DISPOSITION_HEADER].split('filename=')[1] + + if os.path.exists(output_file): + raise OSError("Output file '%s' already exists" % output_file) + + with open(output_file, 'wb') as f: + for chunk in response.iter_content(chunk_size=8096): + if chunk: + f.write(chunk) + f.flush() + + return output_file
+
+ +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/_build/html/_modules/cloudify_rest_client/client.html b/docs/_build/html/_modules/cloudify_rest_client/client.html new file mode 100644 index 0000000..774c969 --- /dev/null +++ b/docs/_build/html/_modules/cloudify_rest_client/client.html @@ -0,0 +1,277 @@ + + + + + + + + + + cloudify_rest_client.client — cloudify-rest-client 3.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+
+ +
+
+
+ +

Source code for cloudify_rest_client.client

+########
+# Copyright (c) 2014 GigaSpaces Technologies Ltd. All rights reserved
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#        http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+#    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    * See the License for the specific language governing permissions and
+#    * limitations under the License.
+
+__author__ = 'idanmo'
+
+import requests
+import json
+
+from cloudify_rest_client.blueprints import BlueprintsClient
+from cloudify_rest_client.deployments import DeploymentsClient
+from cloudify_rest_client.executions import ExecutionsClient
+from cloudify_rest_client.nodes import NodesClient
+from cloudify_rest_client.node_instances import NodeInstancesClient
+from cloudify_rest_client.events import EventsClient
+from cloudify_rest_client.exceptions import CloudifyClientError
+
+
+
[docs]class HTTPClient(object): + + def __init__(self, host, port=80): + self.port = port + self.host = host + self.url = 'http://{0}:{1}'.format(host, port) + + @staticmethod + def _raise_client_error(response, url=None): + try: + message = response.json()['message'] + except Exception: + message = response.content + if url: + message = '{0} [{1}]'.format(message, url) + error_msg = '{0}: {1}'.format(response.status_code, message) + raise CloudifyClientError(error_msg) + +
[docs] def verify_response_status(self, response, expected_code=200): + if response.status_code != expected_code: + self._raise_client_error(response) +
+
[docs] def do_request(self, + requests_method, + uri, + data=None, + params=None, + expected_status_code=200): + request_url = '{0}{1}'.format(self.url, uri) + body = json.dumps(data) if data else None + response = requests_method(request_url, + data=body, + params=params, + headers={ + 'Content-type': 'application/json' + }) + if response.status_code != expected_status_code: + self._raise_client_error(response, request_url) + return response.json() +
+
[docs] def get(self, uri, data=None, params=None, expected_status_code=200): + return self.do_request(requests.get, + uri, + data=data, + params=params, + expected_status_code=expected_status_code) +
+
[docs] def put(self, uri, data=None, params=None, expected_status_code=200): + return self.do_request(requests.put, + uri, + data=data, + params=params, + expected_status_code=expected_status_code) +
+
[docs] def patch(self, uri, data=None, params=None, expected_status_code=200): + return self.do_request(requests.patch, + uri, + data=data, + params=params, + expected_status_code=expected_status_code) +
+
[docs] def post(self, uri, data=None, params=None, expected_status_code=200): + return self.do_request(requests.post, + uri, + data=data, + params=params, + expected_status_code=expected_status_code) +
+
[docs] def delete(self, uri, data=None, params=None, expected_status_code=200): + return self.do_request(requests.delete, + uri, + data=data, + params=params, + expected_status_code=expected_status_code) + +
+
[docs]class CloudifyClient(object): + """ + Cloudify's management client. + + """ + def __init__(self, host, port=80): + """ + Creates a Cloudify client with the provided host and optional port. + + :param host: Host of Cloudify's management machine. + :param port: Port of REST API service on management machine. + :return: Cloudify client instance. + """ + self._client = HTTPClient(host, port) + self.blueprints = BlueprintsClient(self._client) + self.deployments = DeploymentsClient(self._client) + self.executions = ExecutionsClient(self._client) + self.nodes = NodesClient(self._client) + self.node_instances = NodeInstancesClient(self._client) + self.events = EventsClient(self._client)
+
+ +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/_build/html/_modules/cloudify_rest_client/deployments.html b/docs/_build/html/_modules/cloudify_rest_client/deployments.html new file mode 100644 index 0000000..fa53ef2 --- /dev/null +++ b/docs/_build/html/_modules/cloudify_rest_client/deployments.html @@ -0,0 +1,337 @@ + + + + + + + + + + cloudify_rest_client.deployments — cloudify-rest-client 3.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+
+
    +
  • Docs »
  • + +
  • Module code »
  • + +
  • cloudify_rest_client.deployments
  • +
  • + +
  • +
+
+
+
+ +

Source code for cloudify_rest_client.deployments

+########
+# Copyright (c) 2014 GigaSpaces Technologies Ltd. All rights reserved
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#        http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+#    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    * See the License for the specific language governing permissions and
+#    * limitations under the License.
+
+__author__ = 'idanmo'
+
+
+from cloudify_rest_client.executions import Execution
+
+
+
[docs]class Deployment(dict): + """ + Cloudify deployment. + """ + + def __init__(self, deployment): + self.update(deployment) + + @property +
[docs] def id(self): + """ + :return: The identifier of the deployment. + """ + return self['id'] +
+ @property +
[docs] def blueprint_id(self): + """ + :return: The identifier of the blueprint this deployment belongs to. + """ + return self['blueprint_id'] + +
+
[docs]class Workflows(dict): + + def __init__(self, workflows): + self.update(workflows) + self['workflows'] = [Workflow(item) for item in self['workflows']] + + @property +
[docs] def blueprint_id(self): + return self['blueprint_id'] +
+ @property +
[docs] def deployment_id(self): + return self['deployment_id'] +
+ @property +
[docs] def workflows(self): + return self['workflows'] + +
+
[docs]class Workflow(dict): + + def __init__(self, workflow): + self.update(workflow) + + @property +
[docs] def id(self): + return self['name'] +
+ @property +
[docs] def name(self): + return self['name'] + +
+
[docs]class DeploymentsClient(object): + + def __init__(self, api): + self.api = api + +
[docs] def list(self): + """ + Returns a list of all deployments. + + :return: Deployments list. + """ + response = self.api.get('/deployments') + return [Deployment(item) for item in response] +
+
[docs] def get(self, deployment_id): + """ + Returns a deployment by its id. + + :param deployment_id: Id of the deployment to get. + :return: Deployment. + """ + assert deployment_id + response = self.api.get('/deployments/{0}'.format(deployment_id)) + return Deployment(response) +
+
[docs] def create(self, blueprint_id, deployment_id): + """ + Creates a new deployment for the provided blueprint id and + deployment id. + + :param blueprint_id: Blueprint id to create a deployment of. + :param deployment_id: Deployment id of the new created deployment. + :return: The created deployment. + """ + assert blueprint_id + assert deployment_id + data = { + 'blueprint_id': blueprint_id + } + uri = '/deployments/{0}'.format(deployment_id) + response = self.api.put(uri, data, expected_status_code=201) + return Deployment(response) +
+
[docs] def delete(self, deployment_id, ignore_live_nodes=False): + """ + Deletes the deployment whose id matches the provided deployment id. + By default, deployment with live nodes deletion is not allowed and + this behavior can be changed using the ignore_live_nodes argument. + + :param deployment_id: The deployment's to be deleted id. + :param ignore_live_nodes: Determines whether to ignore live nodes. + :return: The deleted deployment. + """ + assert deployment_id + params = {'ignore_live_nodes': 'true'} if ignore_live_nodes else None + response = self.api.delete('/deployments/{0}'.format(deployment_id), + params=params) + return Deployment(response) +
+
[docs] def list_executions(self, deployment_id): + """ + Returns a list of executions for the provided deployment's id. + + :param deployment_id: Deployment id to get a list of executions for. + :return: List of executions. + """ + assert deployment_id + uri = '/deployments/{0}/executions'.format(deployment_id) + response = self.api.get(uri) + return [Execution(item) for item in response] +
+
[docs] def list_workflows(self, deployment_id): + """ + Returns a list of available workflows for the provided deployment's id. + + :param deployment_id: Deployment id to get a list of workflows for. + :return: Workflows list. + """ + assert deployment_id + uri = '/deployments/{0}/workflows'.format(deployment_id) + response = self.api.get(uri) + return Workflows(response) +
+
[docs] def execute(self, deployment_id, workflow_id, force=False): + """ + Executes a deployment's workflow whose id is provided. + + :param deployment_id: The deployment's id to execute a workflow for. + :param workflow_id: The workflow to be executed id. + :param force: Determines whether to force the execution of the workflow + in a case where there's an already running execution for this + deployment. + :return: The created execution. + """ + assert deployment_id + assert workflow_id + data = { + 'workflow_id': workflow_id + } + params = { + 'force': str(force).lower() + } + uri = '/deployments/{0}/executions'.format(deployment_id) + response = self.api.post(uri, + data=data, + params=params, + expected_status_code=201) + return Execution(response)
+
+ +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/_build/html/_modules/cloudify_rest_client/events.html b/docs/_build/html/_modules/cloudify_rest_client/events.html new file mode 100644 index 0000000..6ef1fc9 --- /dev/null +++ b/docs/_build/html/_modules/cloudify_rest_client/events.html @@ -0,0 +1,219 @@ + + + + + + + + + + cloudify_rest_client.events — cloudify-rest-client 3.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+
+ +
+
+
+ +

Source code for cloudify_rest_client.events

+########
+# Copyright (c) 2014 GigaSpaces Technologies Ltd. All rights reserved
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#        http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+#    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    * See the License for the specific language governing permissions and
+#    * limitations under the License.
+
+__author__ = 'idanmo'
+
+
+
[docs]class EventsClient(object): + + def __init__(self, api): + self.api = api + + @staticmethod + def _create_events_query(execution_id, include_logs): + query = { + "bool": { + "must": [ + {"match": {"context.execution_id": execution_id}}, + ] + } + } + match_cloudify_event = {"match": {"type": "cloudify_event"}} + if include_logs: + match_cloudify_log = {"match": {"type": "cloudify_log"}} + query['bool']['should'] = [ + match_cloudify_event, match_cloudify_log + ] + else: + query['bool']['must'].append(match_cloudify_event) + return query + +
[docs] def get(self, + execution_id, + from_event=0, + batch_size=100, + include_logs=False): + """ + Returns event for the provided execution id. + + :param execution_id: Id of execution to get events for. + :param from_event: Index of first event to retrieve on pagination. + :param batch_size: Maximum number of events to retrieve per call. + :param include_logs: Whether to also get logs. + :return: Events list and total number of currently available + events (tuple). + """ + body = { + "from": from_event, + "size": batch_size, + "sort": [{"@timestamp": {"order": "asc"}}], + "query": self._create_events_query(execution_id, include_logs) + } + response = self.api.get('/events', data=body) + events = map(lambda x: x['_source'], response['hits']['hits']) + total_events = response['hits']['total'] + return events, total_events
+
+ +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/_build/html/_modules/cloudify_rest_client/exceptions.html b/docs/_build/html/_modules/cloudify_rest_client/exceptions.html new file mode 100644 index 0000000..fef5d1a --- /dev/null +++ b/docs/_build/html/_modules/cloudify_rest_client/exceptions.html @@ -0,0 +1,177 @@ + + + + + + + + + + cloudify_rest_client.exceptions — cloudify-rest-client 3.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+
+ +
+
+
+ +

Source code for cloudify_rest_client.exceptions

+########
+# Copyright (c) 2014 GigaSpaces Technologies Ltd. All rights reserved
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#        http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+#    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    * See the License for the specific language governing permissions and
+#    * limitations under the License.
+
+__author__ = 'idanmo'
+
+
+
[docs]class CloudifyClientError(Exception): + + def __init__(self, message): + self.message = message + + def __str__(self): + return self.message
+
+ +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/_build/html/_modules/cloudify_rest_client/executions.html b/docs/_build/html/_modules/cloudify_rest_client/executions.html new file mode 100644 index 0000000..8dd0a03 --- /dev/null +++ b/docs/_build/html/_modules/cloudify_rest_client/executions.html @@ -0,0 +1,264 @@ + + + + + + + + + + cloudify_rest_client.executions — cloudify-rest-client 3.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+
+ +
+
+
+ +

Source code for cloudify_rest_client.executions

+########
+# Copyright (c) 2014 GigaSpaces Technologies Ltd. All rights reserved
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#        http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+#    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    * See the License for the specific language governing permissions and
+#    * limitations under the License.
+
+__author__ = 'idanmo'
+
+
+
[docs]class Execution(dict): + """ + Cloudify workflow execution. + """ + + def __init__(self, execution): + self.update(execution) + + @property +
[docs] def id(self): + """ + :return: The execution's id. + """ + return self['id'] +
+ @property +
[docs] def status(self): + """ + :return: The execution's status. + """ + return self['status'] +
+ @property +
[docs] def error(self): + """ + :return: The execution error in a case of failure, otherwise None. + """ + return self['error'] +
+ @property +
[docs] def workflow_id(self): + """ + :return: The id of the workflow this execution represents. + """ + return self['workflow_id'] + +
+
[docs]class ExecutionsClient(object): + + def __init__(self, api): + self.api = api + +
[docs] def list(self, deployment_id): + """ + Returns a list of executions for the provided deployment's id. + + :param deployment_id: Deployment id to get a list of executions for. + :return: Executions list. + """ + assert deployment_id + uri = '/deployments/{0}/executions'.format(deployment_id) + response = self.api.get(uri) + return [Execution(item) for item in response] +
+
[docs] def get(self, execution_id): + """ + Get execution by its id. + + :param execution_id: Id of the execution to get. + :return: Execution. + """ + assert execution_id + uri = '/executions/{0}'.format(execution_id) + response = self.api.get(uri) + return Execution(response) +
+
[docs] def update(self, execution_id, status, error=None): + """ + Update execution with the provided status and optional error. + + :param execution_id: Id of the execution to update. + :param status: Updated execution status. + :param error: Updated execution error (optional). + :return: Updated execution. + """ + + uri = '/executions/{0}'.format(execution_id) + params = {'status': status} + if error: + params['error'] = error + response = self.api.patch(uri, data=params) + return Execution(response) +
+
[docs] def cancel(self, execution_id): + """ + Cancels the execution who matches the provided execution id. + :param execution_id: Id of the execution to cancel. + :return: Cancelled execution. + """ + uri = '/executions/{0}'.format(execution_id) + response = self.api.post(uri, + data={'action': 'cancel'}, + expected_status_code=201) + return Execution(response)
+
+ +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/_build/html/_modules/cloudify_rest_client/node_instances.html b/docs/_build/html/_modules/cloudify_rest_client/node_instances.html new file mode 100644 index 0000000..b1e1b72 --- /dev/null +++ b/docs/_build/html/_modules/cloudify_rest_client/node_instances.html @@ -0,0 +1,294 @@ + + + + + + + + + + cloudify_rest_client.node_instances — cloudify-rest-client 3.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+
+
    +
  • Docs »
  • + +
  • Module code »
  • + +
  • cloudify_rest_client.node_instances
  • +
  • + +
  • +
+
+
+
+ +

Source code for cloudify_rest_client.node_instances

+########
+# Copyright (c) 2014 GigaSpaces Technologies Ltd. All rights reserved
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#        http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+#    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    * See the License for the specific language governing permissions and
+#    * limitations under the License.
+
+__author__ = 'idanmo'
+
+
+
[docs]class NodeInstance(dict): + """ + Cloudify node instance. + """ + + def __init__(self, node_instance): + self.update(node_instance) + + @property +
[docs] def id(self): + """ + :return: The identifier of the node instance. + """ + return self['id'] +
+ @property +
[docs] def node_id(self): + """ + :return: The identifier of the node whom this is in instance of. + """ + return self['node_id'] +
+ @property +
[docs] def relationships(self): + """ + :return: The node instance relationships. + """ + return self['relationships'] +
+ @property +
[docs] def host_id(self): + """ + :return: The node instance host_id. + """ + return self['host_id'] +
+ @property +
[docs] def deployment_id(self): + """ + :return: The deployment id the node instance belongs to. + """ + return self['deployment_id'] +
+ @property +
[docs] def runtime_properties(self): + """ + :return: The runtime properties of the node instance. + """ + return self['runtime_properties'] +
+ @property +
[docs] def state(self): + """ + :return: The current state of the node instance. + """ + return self['state'] +
+ @property +
[docs] def version(self): + """ + :return: The current version of the node instance + (used for optimistic locking on update) + """ + return self['version'] + +
+
[docs]class NodeInstancesClient(object): + + def __init__(self, api): + self.api = api + + @staticmethod + def _get_node_instance_uri(node_instance_id): + return '/node-instances/{0}'.format(node_instance_id) + +
[docs] def get(self, node_instance_id): + """ + Returns the node instance for the provided node instance id. + + :param node_instance_id: The identifier of the node instance to get. + :return: The retrieved node instance. + """ + assert node_instance_id + uri = self._get_node_instance_uri(node_instance_id) + response = self.api.get(uri) + return NodeInstance(response) +
+
[docs] def update(self, + node_instance_id, + state=None, + runtime_properties=None, + version=0): + """ + Update node instance with the provided state & runtime_properties. + + :param node_instance_id: The identifier of the node instance to update. + :param state: The updated state. + :param runtime_properties: The updated runtime properties. + :param version: Current version value of this node instance in + Cloudify's storage (used for optimistic locking). + :return: The updated node instance. + """ + assert node_instance_id + uri = self._get_node_instance_uri(node_instance_id) + data = {'version': version} + if runtime_properties: + data['runtime_properties'] = runtime_properties + if state: + data['state'] = state + response = self.api.patch(uri, data=data) + return NodeInstance(response) +
+
[docs] def list(self, deployment_id=None): + """ + Returns a list of node instances which belong to the deployment + identified by the provided deployment id. + + :param deployment_id: The deployment's id to list node instances for. + :return: Node instances. + :rtype: list + """ + params = {'deployment_id': deployment_id} if deployment_id else None + response = self.api.get('/node-instances', params=params) + return [NodeInstance(item) for item in response]
+
+ +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/_build/html/_modules/cloudify_rest_client/nodes.html b/docs/_build/html/_modules/cloudify_rest_client/nodes.html new file mode 100644 index 0000000..343e260 --- /dev/null +++ b/docs/_build/html/_modules/cloudify_rest_client/nodes.html @@ -0,0 +1,281 @@ + + + + + + + + + + cloudify_rest_client.nodes — cloudify-rest-client 3.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+
+ +
+
+
+ +

Source code for cloudify_rest_client.nodes

+########
+# Copyright (c) 2014 GigaSpaces Technologies Ltd. All rights reserved
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#        http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+#    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    * See the License for the specific language governing permissions and
+#    * limitations under the License.
+
+__author__ = 'idanmo'
+
+
+
[docs]class Node(dict): + """ + Cloudify node. + """ + + def __init__(self, node_instance): + self.update(node_instance) + + @property +
[docs] def id(self): + """ + :return: The identifier of the node. + """ + return self['id'] +
+ @property +
[docs] def deployment_id(self): + """ + :return: The deployment id the node belongs to. + """ + return self['deployment_id'] +
+ @property +
[docs] def properties(self): + """ + :return: The static properties of the node. + """ + return self['properties'] +
+ @property +
[docs] def operations(self): + """ + :return: The node operations mapped to plugins. + :rtype: dict + """ + return self['operations'] +
+ @property +
[docs] def relationships(self): + """ + :return: The node relationships with other nodes. + :rtype: list + """ + return self['relationships'] +
+ @property +
[docs] def blueprint_id(self): + """ + :return: The id of the blueprint this node belongs to. + :rtype: str + """ + return self['blueprint_id'] +
+ @property +
[docs] def plugins(self): + """ + :return: The plugins this node has operations mapped to. + :rtype: dict + """ + return self['plugins'] +
+ @property +
[docs] def number_of_instances(self): + """ + :return: The number of instances this node has. + :rtype: int + """ + return int(self['number_of_instances']) +
+ @property +
[docs] def host_id(self): + """ + :return: The id of the node instance which hosts this node. + :rtype: str + """ + return self['host_id'] +
+ @property +
[docs] def type_hierarchy(self): + """ + :return: The type hierarchy of this node. + :rtype: list + """ + return self['type_hierarchy'] +
+ @property +
[docs] def type(self): + """ + :return: The type of this node. + :rtype: str + """ + return self['type'] + +
+
[docs]class NodesClient(object): + + def __init__(self, api): + self.api = api + +
[docs] def list(self, deployment_id=None): + """ + Returns a list of nodes which belong to the deployment identified + by the provided deployment id. + + :param deployment_id: The deployment's id to list nodes for. + :return: Nodes. + :rtype: list + """ + params = {'deployment_id': deployment_id} if deployment_id else None + response = self.api.get('/nodes', params=params) + return [Node(item) for item in response]
+
+ +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/_build/html/_modules/cosmo_cli/cosmo_cli.html b/docs/_build/html/_modules/cosmo_cli/cosmo_cli.html new file mode 100644 index 0000000..73b6977 --- /dev/null +++ b/docs/_build/html/_modules/cosmo_cli/cosmo_cli.html @@ -0,0 +1,1843 @@ + + + + + + + + + + cosmo_cli.cosmo_cli — cloudify-rest-client 3.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+
+ +
+
+
+ +

Source code for cosmo_cli.cosmo_cli

+########
+# Copyright (c) 2013 GigaSpaces Technologies Ltd. All rights reserved
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#        http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+############
+
+import messages
+
+__author__ = 'ran'
+
+# Standard
+import argparse
+import argcomplete
+import imp
+import sys
+import os
+import traceback
+import yaml
+import json
+import urlparse
+import urllib
+import shutil
+from copy import deepcopy
+from contextlib import contextmanager
+import logging
+import logging.config
+import config
+from fabric.api import env, local
+from fabric.context_managers import settings
+
+# Project
+from cosmo_manager_rest_client.cosmo_manager_rest_client \
+    import CosmoManagerRestClient
+from cosmo_manager_rest_client.cosmo_manager_rest_client \
+    import (CosmoManagerRestCallError,
+            CosmoManagerRestCallTimeoutError,
+            CosmoManagerRestCallHTTPError)
+from dsl_parser.parser import parse_from_path, DSLParsingException
+
+
+output_level = logging.INFO
+CLOUDIFY_WD_SETTINGS_FILE_NAME = '.cloudify'
+
+CONFIG_FILE_NAME = 'cloudify-config.yaml'
+DEFAULTS_CONFIG_FILE_NAME = 'cloudify-config.defaults.yaml'
+
+AGENT_MIN_WORKERS = 2
+AGENT_MAX_WORKERS = 5
+AGENT_KEY_PATH = '~/.ssh/cloudify-agents-kp.pem'
+REMOTE_EXECUTION_PORT = 22
+
+# http://stackoverflow.com/questions/8144545/turning-off-logging-in-paramiko
+logging.getLogger("paramiko").setLevel(logging.WARNING)
+logging.getLogger("requests.packages.urllib3.connectionpool").setLevel(
+    logging.ERROR)
+
+
+
[docs]def init_logger(): + """ + initializes a logger to be used throughout the cli + can be used by provider codes. + + :rtype: `tupel` with 2 loggers, one for users (writes to console and file), + and the other for archiving (writes to file only). + """ + if os.path.isfile(config.LOG_DIR): + sys.exit('file {0} exists - cloudify log directory cannot be created ' + 'there. please remove the file and try again.' + .format(config.LOG_DIR)) + try: + logfile = config.LOGGER['handlers']['file']['filename'] + d = os.path.dirname(logfile) + if not os.path.exists(d): + os.makedirs(d) + logging.config.dictConfig(config.LOGGER) + lgr = logging.getLogger('main') + lgr.setLevel(logging.INFO) + flgr = logging.getLogger('file') + flgr.setLevel(logging.DEBUG) + return (lgr, flgr) + except ValueError: + sys.exit('could not initialize logger.' + ' verify your logger config' + ' and permissions to write to {0}' + .format(logfile)) + +# initialize logger
+lgr, flgr = init_logger() + + +
[docs]def main(): + args = _parse_args(sys.argv[1:]) + args.handler(args) + +
+def _parse_args(args): + """ + Parses the arguments using the Python argparse library. + Generates shell autocomplete using the argcomplete library. + + :param list args: arguments from cli + :rtype: `python argument parser` + """ + # main parser + parser = argparse.ArgumentParser( + description='Manages Cloudify in different Cloud Environments') + + subparsers = parser.add_subparsers() + parser_status = subparsers.add_parser( + 'status', + help='Show a management server\'s status' + ) + parser_use = subparsers.add_parser( + 'use', + help='Use/switch to the specified management server' + ) + parser_init = subparsers.add_parser( + 'init', + help='Initialize configuration files for a specific cloud provider' + + ) + parser_bootstrap = subparsers.add_parser( + 'bootstrap', + help='Bootstrap Cloudify on the currently active provider' + ) + parser_teardown = subparsers.add_parser( + 'teardown', + help='Teardown Cloudify' + ) + parser_blueprints = subparsers.add_parser( + 'blueprints', + help='Manages Cloudify\'s Blueprints' + ) + parser_deployments = subparsers.add_parser( + 'deployments', + help='Manages and Executes Cloudify\'s Deployments' + ) + parser_executions = subparsers.add_parser( + 'executions', + help='Manages Cloudify Executions' + ) + parser_workflows = subparsers.add_parser( + 'workflows', + help='Manages Deployment Workflows' + ) + parser_events = subparsers.add_parser( + 'events', + help='Displays Events for different executions' + ) + parser_dev = subparsers.add_parser( + 'dev' + ) + + # status subparser + _add_management_ip_optional_argument_to_parser(parser_status) + _set_handler_for_command(parser_status, _status) + + # use subparser + parser_use.add_argument( + 'management_ip', + metavar='MANAGEMENT_IP', + type=str, + help='The cloudify management server ip address' + ) + parser_use.add_argument( + '-a', '--alias', + dest='alias', + metavar='ALIAS', + type=str, + help='An alias for the management server' + ) + _add_force_optional_argument_to_parser( + parser_use, + 'A flag indicating authorization to overwrite the alias if it ' + 'already exists' + ) + _set_handler_for_command(parser_use, _use_management_server) + + # init subparser + parser_init.add_argument( + 'provider', + metavar='PROVIDER', + type=str, + help='Command for initializing configuration files for a' + ' specific provider' + ) + parser_init.add_argument( + '-t', '--target-dir', + dest='target_dir', + metavar='TARGET_DIRECTORY', + type=str, + default=os.getcwd(), + help='The target directory to be initialized for the given provider' + ) + parser_init.add_argument( + '-r', '--reset-config', + dest='reset_config', + action='store_true', + help='A flag indicating overwriting existing configuration is allowed' + ) + parser_init.add_argument( + '--install', + dest='install', + metavar='PROVIDER_MODULE_URL', + type=str, + help='url to provider module' + ) + parser_init.add_argument( + '--creds', + dest='creds', + metavar='PROVIDER_CREDENTIALS', + type=str, + help='a comma separated list of key=value credentials' + ) + _set_handler_for_command(parser_init, _init_cosmo) + + # bootstrap subparser + parser_bootstrap.add_argument( + '-c', '--config-file', + dest='config_file_path', + metavar='CONFIG_FILE', + default=None, + type=str, + help='Path to a provider configuration file' + ) + parser_bootstrap.add_argument( + '--keep-up-on-failure', + dest='keep_up', + action='store_true', + help='A flag indicating that even if bootstrap fails,' + ' the instance will remain running' + ) + parser_bootstrap.add_argument( + '--dev-mode', + dest='dev_mode', + action='store_true', + help='A flag indicating that bootstrap will be run in dev-mode,' + ' allowing to choose specific branches to run with' + ) + parser_bootstrap.add_argument( + '--skip-validations', + dest='skip_validations', + action='store_true', + help='A flag indicating that bootstrap will be run without,' + ' validating resources prior to bootstrapping the manager' + ) + parser_bootstrap.add_argument( + '--validate-only', + dest='validate_only', + action='store_true', + help='A flag indicating that validations will run without,' + ' actually performing the bootstrap process.' + ) + _set_handler_for_command(parser_bootstrap, _bootstrap_cosmo) + + # teardown subparser + parser_teardown.add_argument( + '-c', '--config-file', + dest='config_file_path', + metavar='CONFIG_FILE', + default=None, + type=str, + help='Path to a provider configuration file' + ) + parser_teardown.add_argument( + '--ignore-deployments', + dest='ignore_deployments', + action='store_true', + help='A flag indicating confirmation for teardown even if there ' + 'exist active deployments' + ) + parser_teardown.add_argument( + '--ignore-validation', + dest='ignore_validation', + action='store_true', + help='A flag indicating confirmation for teardown even if there ' + 'are validation conflicts' + ) + _add_force_optional_argument_to_parser( + parser_teardown, + 'A flag indicating confirmation for the teardown request') + _add_management_ip_optional_argument_to_parser(parser_teardown) + _set_handler_for_command(parser_teardown, _teardown_cosmo) + + # blueprints subparser + blueprints_subparsers = parser_blueprints.add_subparsers() + + parser_blueprints_upload = blueprints_subparsers.add_parser( + 'upload', + help='command for uploading a blueprint to the management server' + ) + parser_blueprints_download = blueprints_subparsers.add_parser( + 'download', + help='command for downloading a blueprint from the management server' + ) + parser_blueprints_list = blueprints_subparsers.add_parser( + 'list', + help='command for listing all uploaded blueprints' + ) + parser_blueprints_delete = blueprints_subparsers.add_parser( + 'delete', + help='command for deleting an uploaded blueprint' + ) + parser_blueprints_validate = blueprints_subparsers.add_parser( + 'validate', + help='command for validating a blueprint' + ) + parser_blueprints_validate.add_argument( + 'blueprint_file', + metavar='BLUEPRINT_FILE', + type=argparse.FileType(), + help='Path to blueprint file to be validated' + ) + _set_handler_for_command(parser_blueprints_validate, _validate_blueprint) + + parser_blueprints_upload.add_argument( + 'blueprint_path', + metavar='BLUEPRINT_FILE', + type=str, + help="Path to the application's blueprint file" + ) + parser_blueprints_upload.add_argument( + '-b', '--blueprint-id', + dest='blueprint_id', + metavar='BLUEPRINT_ID', + type=str, + default=None, + required=False, + help="Set the id of the uploaded blueprint" + ) + _add_management_ip_optional_argument_to_parser(parser_blueprints_upload) + _set_handler_for_command(parser_blueprints_upload, _upload_blueprint) + + _add_management_ip_optional_argument_to_parser(parser_blueprints_list) + _set_handler_for_command(parser_blueprints_list, _list_blueprints) + + _add_management_ip_optional_argument_to_parser(parser_blueprints_download) + _set_handler_for_command(parser_blueprints_download, _download_blueprint) + + parser_blueprints_download.add_argument( + '-b', '--blueprint-id', + dest='blueprint_id', + metavar='BLUEPRINT_ID', + type=str, + required=True, + help="The id fo the blueprint to download" + ) + parser_blueprints_download.add_argument( + '-o', '--output', + dest='output', + metavar='OUTPUT', + type=str, + required=False, + help="The output file path of the blueprint to be downloaded" + ) + + parser_blueprints_delete.add_argument( + '-b', '--blueprint-id', + dest='blueprint_id', + metavar='BLUEPRINT_ID', + type=str, + required=True, + help="The id of the blueprint meant for deletion" + ) + _add_management_ip_optional_argument_to_parser(parser_blueprints_delete) + _set_handler_for_command(parser_blueprints_delete, _delete_blueprint) + + # deployments subparser + deployments_subparsers = parser_deployments.add_subparsers() + parser_deployments_create = deployments_subparsers.add_parser( + 'create', + help='command for creating a deployment of a blueprint' + ) + parser_deployments_delete = deployments_subparsers.add_parser( + 'delete', + help='command for deleting a deployment' + ) + parser_deployments_execute = deployments_subparsers.add_parser( + 'execute', + help='command for executing a deployment of a blueprint' + ) + parser_deployments_list = deployments_subparsers.add_parser( + 'list', + help='command for listing all deployments or all deployments' + 'of a blueprint' + ) + parser_deployments_create.add_argument( + '-b', '--blueprint-id', + dest='blueprint_id', + metavar='BLUEPRINT_ID', + type=str, + required=True, + help="The id of the blueprint meant for deployment" + ) + parser_deployments_create.add_argument( + '-d', '--deployment-id', + dest='deployment_id', + metavar='DEPLOYMENT_ID', + type=str, + required=True, + help="A unique id that will be assigned to the created deployment" + ) + _add_management_ip_optional_argument_to_parser(parser_deployments_create) + _set_handler_for_command(parser_deployments_create, _create_deployment) + + parser_deployments_delete.add_argument( + '-d', '--deployment-id', + dest='deployment_id', + metavar='DEPLOYMENT_ID', + type=str, + required=True, + help="The deployment's id" + ) + parser_deployments_delete.add_argument( + '-f', '--ignore-live-nodes', + dest='ignore_live_nodes', + action='store_true', + default=False, + help='A flag indicating whether or not to delete the deployment even ' + 'if there exist live nodes for it' + ) + _add_management_ip_optional_argument_to_parser(parser_deployments_delete) + _set_handler_for_command(parser_deployments_delete, _delete_deployment) + + parser_deployments_execute.add_argument( + 'operation', + metavar='OPERATION', + type=str, + help='The operation to execute' + ) + parser_deployments_execute.add_argument( + '-d', '--deployment-id', + dest='deployment_id', + metavar='DEPLOYMENT_ID', + type=str, + required=True, + help='The id of the deployment to execute the operation on' + ) + parser_deployments_execute.add_argument( + '--timeout', + dest='timeout', + metavar='TIMEOUT', + type=int, + required=False, + default=900, + help='Operation timeout in seconds (The execution itself will keep ' + 'going, it is the CLI that will stop waiting for it to terminate)' + ) + parser_deployments_execute.add_argument( + '--force', + dest='force', + action='store_true', + default=False, + help='Whether the workflow should execute even if there is an ongoing' + ' execution for the provided deployment' + ) + _add_management_ip_optional_argument_to_parser(parser_deployments_execute) + _add_include_logs_argument_to_parser(parser_deployments_execute) + _set_handler_for_command(parser_deployments_execute, + _execute_deployment_operation) + + parser_deployments_list.add_argument( + '-b', '--blueprint-id', + dest='blueprint_id', + metavar='BLUEPRINT_ID', + type=str, + required=False, + help='The id of a blueprint to list deployments for' + ) + _add_management_ip_optional_argument_to_parser(parser_deployments_list) + _set_handler_for_command(parser_deployments_list, + _list_blueprint_deployments) + + # workflows subparser + workflows_subparsers = parser_workflows.add_subparsers() + parser_workflows_list = workflows_subparsers.add_parser( + 'list', + help='command for listing workflows for a deployment') + parser_workflows_list.add_argument( + '-d', '--deployment-id', + dest='deployment_id', + metavar='DEPLOYMENT_ID', + type=str, + required=True, + help='The id of the deployment whose workflows to list' + ) + _add_management_ip_optional_argument_to_parser(parser_workflows_list) + _set_handler_for_command(parser_workflows_list, _list_workflows) + + # Executions list sub parser + executions_subparsers = parser_executions.add_subparsers() + parser_executions_list = executions_subparsers.add_parser( + 'list', + help='command for listing all executions of a deployment' + ) + parser_executions_list.add_argument( + '-d', '--deployment-id', + dest='deployment_id', + metavar='DEPLOYMENT_ID', + type=str, + required=True, + help='The id of the deployment whose executions to list' + ) + _add_management_ip_optional_argument_to_parser(parser_executions_list) + _set_handler_for_command(parser_executions_list, + _list_deployment_executions) + + parser_executions_cancel = executions_subparsers.add_parser( + 'cancel', + help='Cancel an execution by its id' + ) + parser_executions_cancel.add_argument( + '-e', '--execution-id', + dest='execution_id', + metavar='EXECUTION_ID', + type=str, + required=True, + help='The id of the execution to cancel' + ) + _add_management_ip_optional_argument_to_parser(parser_executions_cancel) + _set_handler_for_command(parser_executions_cancel, + _cancel_execution) + + parser_events.add_argument( + '-e', '--execution-id', + dest='execution_id', + metavar='EXECUTION_ID', + type=str, + required=True, + help='The id of the execution to get events for' + ) + _add_include_logs_argument_to_parser(parser_events) + _add_management_ip_optional_argument_to_parser(parser_events) + _set_handler_for_command(parser_events, _get_events) + + # dev subparser + parser_dev.add_argument( + 'run', + metavar='RUN', + type=str, + help='Command for running tasks.' + ) + parser_dev.add_argument( + '--tasks', + dest='tasks', + metavar='TASKS_LIST', + type=str, + help='A comma separated list of fabric tasks to run.' + ) + parser_dev.add_argument( + '--tasks-file', + dest='tasks_file', + metavar='TASKS_FILE', + type=str, + help='Path to a tasks file' + ) + _add_management_ip_optional_argument_to_parser(parser_dev) + _set_handler_for_command(parser_dev, _run_dev) + + argcomplete.autocomplete(parser) + return parser.parse_args(args) + + +def _get_provider_module(provider_name, is_verbose_output=False): + try: + module_or_pkg_desc = imp.find_module(provider_name) + if not module_or_pkg_desc[1]: + # module_or_pkg_desc[1] is the pathname of found module/package, + # if it's empty none were found + msg = ('Provider {0} not found.'.format(provider_name)) + flgr.error(msg) + raise CosmoCliError(msg) if is_verbose_output else sys.exit(msg) + + module = imp.load_module(provider_name, *module_or_pkg_desc) + + if not module_or_pkg_desc[0]: + # module_or_pkg_desc[0] is None and module_or_pkg_desc[1] is not + # empty only when we've loaded a package rather than a module. + # Re-searching for the module inside the now-loaded package + # with the same name. + module = imp.load_module( + provider_name, + *imp.find_module(provider_name, module.__path__)) + return module + except ImportError, ex: + msg = ('Could not import module {0} ' + 'maybe {0} provider module was not installed?' + .format(provider_name)) + flgr.warning(msg) + raise CosmoCliError(str(ex)) if is_verbose_output else sys.exit(msg) + + +def _add_include_logs_argument_to_parser(parser): + parser.add_argument( + '-l', '--include-logs', + dest='include_logs', + action='store_true', + help='A flag whether to include logs in returned events' + ) + + +def _add_force_optional_argument_to_parser(parser, help_message): + parser.add_argument( + '-f', '--force', + dest='force', + action='store_true', + help=help_message + ) + + +def _add_management_ip_optional_argument_to_parser(parser): + parser.add_argument( + '-t', '--management-ip', + dest='management_ip', + metavar='MANAGEMENT_IP', + type=str, + help='The cloudify management server ip address' + ) + + +def _set_handler_for_command(parser, handler): + _add_verbosity_argument_to_parser(parser) + + def verbosity_aware_handler(args): + global output_level + if args.verbosity: + lgr.setLevel(logging.DEBUG) + output_level = logging.DEBUG + handler(args) + + parser.set_defaults(handler=verbosity_aware_handler) + + +def _add_verbosity_argument_to_parser(parser): + parser.add_argument( + '-v', '--verbosity', + dest='verbosity', + action='store_true', + help='A flag for setting verbose output' + ) + + +
[docs]def set_global_verbosity_level(is_verbose_output=False): + """ + sets the global verbosity level for console and the lgr logger. + + :param bool is_verbose_output: should be output be verbose + :rtype: `None` + """ + # we need both lgr.setLevel and the verbose_output parameter + # since not all output is generated at the logger level. + # verbose_output can help us control that. + global verbose_output + verbose_output = is_verbose_output + if verbose_output: + lgr.setLevel(logging.DEBUG) + # print 'level is: ' + str(lgr.getEffectiveLevel()) + +
+def _read_config(config_file_path, provider_dir, is_verbose_output=False): + + def _deep_merge_dictionaries(overriding_dict, overridden_dict): + merged_dict = deepcopy(overridden_dict) + for k, v in overriding_dict.iteritems(): + if k in merged_dict and isinstance(v, dict): + if isinstance(merged_dict[k], dict): + merged_dict[k] = \ + _deep_merge_dictionaries(v, merged_dict[k]) + else: + raise RuntimeError('type conflict at key {0}'.format(k)) + else: + merged_dict[k] = deepcopy(v) + return merged_dict + + set_global_verbosity_level(is_verbose_output) + if not config_file_path: + config_file_path = CONFIG_FILE_NAME + defaults_config_file_path = os.path.join( + provider_dir, + DEFAULTS_CONFIG_FILE_NAME) + + if not os.path.exists(config_file_path) or not os.path.exists( + defaults_config_file_path): + if not os.path.exists(defaults_config_file_path): + raise ValueError('Missing the defaults configuration file; ' + 'expected to find it at {0}'.format( + defaults_config_file_path)) + raise ValueError('Missing the configuration file; expected to find ' + 'it at {0}'.format(config_file_path)) + + lgr.debug('reading provider config files') + with open(config_file_path, 'r') as config_file, \ + open(defaults_config_file_path, 'r') as defaults_config_file: + + lgr.debug('safe loading user config') + user_config = yaml.safe_load(config_file.read()) + + lgr.debug('safe loading default config') + defaults_config = yaml.safe_load(defaults_config_file.read()) + + lgr.debug('merging configs') + merged_config = _deep_merge_dictionaries(user_config, defaults_config) \ + if user_config else defaults_config + return merged_config + + +def _init_cosmo(args): + set_global_verbosity_level(args.verbosity) + target_directory = os.path.expanduser(args.target_dir) + provider = args.provider + if not os.path.isdir(target_directory): + msg = "Target directory doesn't exist." + flgr.error(msg) + raise CosmoCliError(msg) if args.verbosity else sys.exit(msg) + + if os.path.exists(os.path.join(target_directory, + CLOUDIFY_WD_SETTINGS_FILE_NAME)): + if not args.reset_config: + msg = ('Target directory is already initialized. ' + 'Use the "-r" flag to force ' + 'reinitialization (might overwrite ' + 'provider configuration files if exist).') + flgr.error(msg) + raise CosmoCliError(msg) if args.verbosity else sys.exit(msg) + + else: # resetting provider configuration + lgr.debug('resetting configuration...') + init(provider, target_directory, + args.reset_config, + creds=args.creds, + is_verbose_output=args.verbosity) + lgr.info("Configuration reset complete") + return + + lgr.info("Initializing Cloudify") + provider_module_name = init(provider, target_directory, + args.reset_config, + args.install, + args.creds, + args.verbosity) + # creating .cloudify file + _dump_cosmo_working_dir_settings(CosmoWorkingDirectorySettings(), + target_directory) + with _update_wd_settings(args.verbosity) as wd_settings: + wd_settings.set_provider(provider_module_name) + lgr.info("Initialization complete") + + +
[docs]def init(provider, target_directory, reset_config, install=False, + creds=None, is_verbose_output=False): + """ + iniatializes a provider by copying its config files to the cwd. + First, will look for a module named cloudify_#provider#. + If not found, will look for #provider#. + If install is True, will install the supplied provider and perform + the search again. + + :param string provider: the provider's name + :param string target_directory: target directory for the config files + :param bool reset_config: if True, overrides the current config. + :param bool install: if supplied, will also install the desired + provider according to the given url or module name (pypi). + :param creds: a comma separated key=value list of credential info. + this is specific to each provider. + :param bool is_verbose_output: if True, output will be verbose. + :rtype: `string` representing the provider's module name + """ + set_global_verbosity_level(is_verbose_output) + + def _get_provider_by_name(): + try: + # searching first for the standard name for providers + # (i.e. cloudify_XXX) + provider_module_name = 'cloudify_{0}'.format(provider) + # print provider_module_name + return (provider_module_name, + _get_provider_module(provider_module_name, + is_verbose_output)) + except CosmoCliError: + # if provider was not found, search for the exact literal the + # user requested instead + provider_module_name = provider + return (provider_module_name, + _get_provider_module(provider_module_name, + is_verbose_output)) + + try: + provider_module_name, provider = _get_provider_by_name() + except: + if install: + local('pip install {0} --process-dependency-links' + .format(install)) + provider_module_name, provider = _get_provider_by_name() + + if not reset_config and os.path.exists( + os.path.join(target_directory, CONFIG_FILE_NAME)): + msg = ('Target directory already contains a ' + 'provider configuration file; ' + 'use the "-r" flag to ' + 'reset it back to its default values.') + flgr.error(msg) + raise CosmoCliError(msg) if is_verbose_output else sys.exit(msg) + else: + # try to get the path if the provider is a module + try: + provider_dir = provider.__path__[0] + # if not, assume it's in the package's dir + except: + provider_dir = os.path.dirname(provider.__file__) + files_path = os.path.join(provider_dir, CONFIG_FILE_NAME) + lgr.debug('copying provider files from {0} to {1}' + .format(files_path, target_directory)) + shutil.copy(files_path, target_directory) + + if creds: + src_config_file = '{}/{}'.format(provider_dir, + DEFAULTS_CONFIG_FILE_NAME) + dst_config_file = '{}/{}'.format(target_directory, + CONFIG_FILE_NAME) + with open(src_config_file, 'r') as f: + provider_config = yaml.load(f.read()) + # print provider_config + # TODO: handle cases in which creds might contain ',' or '=' + if 'credentials' in provider_config.keys(): + for cred in creds.split(','): + key, value = cred.split('=') + if key in provider_config['credentials'].keys(): + provider_config['credentials'][key] = value + else: + lgr.error('could not find key "{0}" in config file' + .format(key)) + raise CosmoCliError('key not found') + else: + lgr.error('credentials section not found in config') + # print yaml.dump(provider_config) + with open(dst_config_file, 'w') as f: + f.write(yaml.dump(provider_config, default_flow_style=False)) + + return provider_module_name + +
+def _bootstrap_cosmo(args): + provider_name = _get_provider(args.verbosity) + provider = _get_provider_module(provider_name, args.verbosity) + try: + provider_dir = provider.__path__[0] + except: + provider_dir = os.path.dirname(provider.__file__) + provider_config = _read_config(args.config_file_path, + provider_dir, + args.verbosity) + pm = provider.ProviderManager(provider_config, args.verbosity) + + if args.skip_validations and args.validate_only: + sys.exit('please choose one of skip-validations or ' + 'validate-only flags, not both.') + lgr.info("bootstrapping using {0}".format(provider_name)) + if not args.skip_validations: + lgr.info('validating provider resources and configuration') + validation_errors = {} + if pm.schema is not None: + validation_errors = pm.validate_schema(validation_errors, + schema=pm.schema) + else: + lgr.debug('schema validation disabled') + # if the validation_errors dict return empty + if not pm.validate(validation_errors) and not validation_errors: + lgr.info('provider validations completed successfully') + else: + flgr.error('provider validations failed!') + raise CosmoValidationError('provider validations failed!') \ + if args.verbosity else sys.exit('provider validations failed!') + if args.validate_only: + return + with _protected_provider_call(args.verbosity): + lgr.info('provisioning resources for management server...') + params = pm.provision() + + provider_context = {} + if params is not None: + mgmt_ip, private_ip, ssh_key, ssh_user, provider_context = params + lgr.info('provisioning complete') + lgr.info('bootstrapping the management server...') + installed = pm.bootstrap(mgmt_ip, private_ip, ssh_key, + ssh_user, args.dev_mode) + lgr.info('bootstrapping complete') if installed else \ + lgr.error('bootstrapping failed!') + else: + lgr.error('provisioning failed!') + + if params is not None and installed: + _update_provider_context(provider_config, provider_context) + + mgmt_ip = mgmt_ip.encode('utf-8') + + with _update_wd_settings(args.verbosity) as wd_settings: + wd_settings.set_management_server(mgmt_ip) + wd_settings.set_management_key(ssh_key) + wd_settings.set_management_user(ssh_user) + wd_settings.set_provider_context(provider_context) + + # storing provider context on management server + _get_rest_client(mgmt_ip).post_provider_context(provider_name, + provider_context) + + lgr.info( + "management server is up at {0} (is now set as the default " + "management server)".format(mgmt_ip)) + else: + if args.keep_up: + lgr.info('topology will remain up') + else: + lgr.info('tearing down topology' + ' due to bootstrap failure') + pm.teardown(provider_context) + raise CosmoBootstrapError() if args.verbosity else sys.exit(1) + + +def _update_provider_context(provider_config, provider_context): + cloudify = provider_config.get('cloudify', {}) + agent = cloudify.get('cloudify_agent', {}) + min_workers = agent.get('min_workers', AGENT_MIN_WORKERS) + max_workers = agent.get('max_workers', AGENT_MAX_WORKERS) + user = agent.get('user') + remote_execution_port = agent.get('remote_execution_port', + REMOTE_EXECUTION_PORT) + compute = provider_config.get('compute', {}) + agent_servers = compute.get('agent_servers', {}) + agents_keypair = agent_servers.get('agents_keypair', {}) + auto_generated = agents_keypair.get('auto_generated', {}) + private_key_target_path = auto_generated.get('private_key_target_path', + AGENT_KEY_PATH) + provider_context['cloudify'] = { + 'cloudify_agent': { + 'min_workers': min_workers, + 'max_workers': max_workers, + 'agent_key_path': private_key_target_path, + 'remote_execution_port': remote_execution_port + } + } + + if user: + provider_context['cloudify']['cloudify_agent']['user'] = user + + +def _teardown_cosmo(args): + is_verbose_output = args.verbosity + if not args.force: + msg = ("This action requires additional " + "confirmation. Add the '-f' or '--force' " + "flags to your command if you are certain " + "this command should be executed.") + flgr.error(msg) + raise CosmoCliError(msg) if is_verbose_output else sys.exit(msg) + + mgmt_ip = _get_management_server_ip(args) + if not args.ignore_deployments and \ + len(_get_rest_client(mgmt_ip).list_deployments()) > 0: + msg = ("Management server {0} has active deployments. Add the " + "'--ignore-deployments' flag to your command to ignore " + "these deployments and execute topology teardown." + .format(mgmt_ip)) + flgr.error(msg) + raise CosmoCliError(msg) if is_verbose_output else sys.exit(msg) + + provider_name, provider_context = \ + _get_provider_name_and_context(mgmt_ip, args.verbosity) + provider = _get_provider_module(provider_name, args.verbosity) + try: + provider_dir = provider.__path__[0] + except: + provider_dir = os.path.dirname(provider.__file__) + provider_config = _read_config(args.config_file_path, + provider_dir, + args.verbosity) + pm = provider.ProviderManager(provider_config, args.verbosity) + + lgr.info("tearing down {0}".format(mgmt_ip)) + with _protected_provider_call(args.verbosity): + pm.teardown(provider_context, args.ignore_validation) + + # cleaning relevant data from working directory settings + with _update_wd_settings(args.verbosity) as wd_settings: + # wd_settings.set_provider_context(provider_context) + wd_settings.remove_management_server_context(mgmt_ip) + + lgr.info("teardown complete") + + +def _get_management_server_ip(args): + is_verbose_output = args.verbosity + cosmo_wd_settings = _load_cosmo_working_dir_settings(is_verbose_output) + if args.management_ip: + return cosmo_wd_settings.translate_management_alias( + args.management_ip) + if cosmo_wd_settings.get_management_server(): + return cosmo_wd_settings.get_management_server() + + msg = ("Must either first run 'cfy use' command for a " + "management server or provide a management " + "server ip explicitly") + flgr.error(msg) + raise CosmoCliError(msg) if is_verbose_output else sys.exit(msg) + + +def _get_provider(is_verbose_output=False): + cosmo_wd_settings = _load_cosmo_working_dir_settings(is_verbose_output) + if cosmo_wd_settings.get_provider(): + return cosmo_wd_settings.get_provider() + msg = "Provider is not set in working directory settings" + flgr.error(msg) + raise RuntimeError(msg) if is_verbose_output else sys.exit(msg) + + +def _get_mgmt_user(is_verbose_output=False): + cosmo_wd_settings = _load_cosmo_working_dir_settings(is_verbose_output) + if cosmo_wd_settings.get_management_user(): + return cosmo_wd_settings.get_management_user() + msg = "Management User is not set in working directory settings" + flgr.error(msg) + raise RuntimeError(msg) if is_verbose_output else sys.exit(msg) + + +def _get_mgmt_key(is_verbose_output=False): + cosmo_wd_settings = _load_cosmo_working_dir_settings(is_verbose_output) + if cosmo_wd_settings.get_management_key(): + return cosmo_wd_settings.get_management_key() + msg = "Management Key is not set in working directory settings" + flgr.error(msg) + raise RuntimeError(msg) if is_verbose_output else sys.exit(msg) + + +def _get_provider_name_and_context(mgmt_ip, is_verbose_output=False): + # trying to retrieve provider context from server + try: + response = _get_rest_client(mgmt_ip).get_provider_context() + return response['name'], response['context'] + except CosmoManagerRestCallError as e: + lgr.warn('Failed to get provider context from server: {0}'.format( + str(e))) + + # using the local provider context instead (if it's relevant for the + # target server) + cosmo_wd_settings = _load_cosmo_working_dir_settings(is_verbose_output) + if cosmo_wd_settings.get_provider_context(): + default_mgmt_server_ip = cosmo_wd_settings.get_management_server() + if default_mgmt_server_ip == mgmt_ip: + provider_name = _get_provider(is_verbose_output) + return provider_name, cosmo_wd_settings.get_provider_context() + else: + # the local provider context data is for a different server + msg = "Failed to get provider context from target server" + else: + msg = "Provider context is not set in working directory settings (" \ + "The provider is used during the bootstrap and teardown " \ + "process. This probably means that the manager was started " \ + "manually, without the bootstrap command therefore calling " \ + "teardown is not supported)." + flgr.error(msg) + raise RuntimeError(msg) if is_verbose_output else sys.exit(msg) + + +def _status(args): + management_ip = _get_management_server_ip(args) + lgr.info( + 'querying management server {0}'.format(management_ip)) + + status_result = _get_management_server_status(management_ip) + if status_result: + lgr.info( + "REST service at management server {0} is up and running" + .format(management_ip)) + + lgr.info('Services information:') + for service in status_result.services: + lgr.info('\t{0}\t{1}'.format( + service.display_name.ljust(20), + service.instances[0]['state'] if service.instances else + 'Unknown')) + return True + else: + lgr.info( + "REST service at management server {0} is not responding" + .format(management_ip)) + return False + + +def _get_management_server_status(management_ip): + client = _get_rest_client(management_ip) + try: + return client.status() + except CosmoManagerRestCallError: + return None + + +def _use_management_server(args): + if not os.path.exists(CLOUDIFY_WD_SETTINGS_FILE_NAME): + # Allowing the user to work with an existing management server + # even if "init" wasn't called prior to this. + _dump_cosmo_working_dir_settings(CosmoWorkingDirectorySettings()) + + if not _get_management_server_status(args.management_ip): + msg = ("Can't use management server {0}: No response.".format( + args.management_ip)) + flgr.error(msg) + raise CosmoCliError(msg) if args.verbosity else sys.exit(msg) + + try: + response = _get_rest_client(args.management_ip)\ + .get_provider_context() + provider_name = response['name'] + provider_context = response['context'] + except CosmoManagerRestCallError: + provider_name = None + provider_context = None + + with _update_wd_settings(args.verbosity) as wd_settings: + wd_settings.set_management_server( + wd_settings.translate_management_alias(args.management_ip)) + wd_settings.set_provider_context(provider_context) + wd_settings.set_provider(provider_name) + if args.alias: + wd_settings.save_management_alias(args.alias, + args.management_ip, + args.force, + args.verbosity) + lgr.info( + 'Using management server {0} (alias {1})'.format( + args.management_ip, args.alias)) + else: + lgr.info('Using management server {0}'.format( + args.management_ip)) + + +def _list_blueprints(args): + management_ip = _get_management_server_ip(args) + lgr.info('querying blueprints list from management ' + 'server {0}'.format(management_ip)) + client = _get_rest_client(management_ip) + blueprints_list = client.list_blueprints() + + if not blueprints_list: + lgr.info('There are no blueprints available on the ' + 'management server') + else: + lgr.info('Blueprints:') + for blueprint_state in blueprints_list: + blueprint_id = blueprint_state.id + lgr.info('\t' + blueprint_id) + + +def _delete_blueprint(args): + management_ip = _get_management_server_ip(args) + blueprint_id = args.blueprint_id + + lgr.info( + 'Deleting blueprint {0} from management server {1}'.format( + blueprint_id, management_ip)) + client = _get_rest_client(management_ip) + client.delete_blueprint(blueprint_id) + lgr.info("Deleted blueprint successfully") + + +def _delete_deployment(args): + management_ip = _get_management_server_ip(args) + deployment_id = args.deployment_id + ignore_live_nodes = args.ignore_live_nodes + + lgr.info( + 'Deleting deployment {0} from management server {1}'.format( + deployment_id, management_ip)) + client = _get_rest_client(management_ip) + client.delete_deployment(deployment_id, ignore_live_nodes) + lgr.info("Deleted deployment successfully") + + +def _upload_blueprint(args): + is_verbose_output = args.verbosity + blueprint_id = args.blueprint_id + blueprint_path = os.path.expanduser(args.blueprint_path) + if not os.path.isfile(blueprint_path): + msg = ("Path to blueprint doesn't exist: {0}." + .format(blueprint_path)) + flgr.error(msg) + raise CosmoCliError(msg) if is_verbose_output else sys.exit(msg) + + management_ip = _get_management_server_ip(args) + + lgr.info( + 'Uploading blueprint {0} to management server {1}'.format( + blueprint_path, management_ip)) + client = _get_rest_client(management_ip) + blueprint_state = client.publish_blueprint(blueprint_path, blueprint_id) + + lgr.info( + "Uploaded blueprint, blueprint's id is: {0}".format( + blueprint_state.id)) + + +def _create_deployment(args): + blueprint_id = args.blueprint_id + deployment_id = args.deployment_id + management_ip = _get_management_server_ip(args) + + lgr.info('Creating new deployment from blueprint {0} at ' + 'management server {1}'.format(blueprint_id, management_ip)) + client = _get_rest_client(management_ip) + deployment = client.create_deployment(blueprint_id, deployment_id) + lgr.info( + "Deployment created, deployment's id is: {0}".format( + deployment.id)) + + +def _create_event_message_prefix(event): + context = event['context'] + deployment_id = context['deployment_id'] + node_info = '' + operation = '' + if 'node_id' in context and context['node_id'] is not None: + node_id = context['node_id'] + if 'operation' in context and context['operation'] is not None: + operation = '.{0}'.format(context['operation'].split('.')[-1]) + node_info = '[{0}{1}] '.format(node_id, operation) + level = 'CFY' + message = event['message']['text'].encode('utf-8') + if 'cloudify_log' in event['type']: + level = 'LOG' + message = '{0}: {1}'.format(event['level'].upper(), message) + timestamp = event['@timestamp'].split('.')[0] + + return '{0} {1} <{2}> {3}{4}'.format(timestamp, + level, + deployment_id, + node_info, + message) + + +def _get_events_logger(args): + def verbose_events_logger(events): + for event in events: + lgr.info(json.dumps(event, indent=4)) + + def default_events_logger(events): + for event in events: + lgr.info(_create_event_message_prefix(event)) + + if args.verbosity: + return verbose_events_logger + return default_events_logger + + +def _execute_deployment_operation(args): + management_ip = _get_management_server_ip(args) + operation = args.operation + deployment_id = args.deployment_id + timeout = args.timeout + force = args.force + include_logs = args.include_logs + + lgr.info("Executing workflow '{0}' on deployment '{1}' at" + " management server {2} [timeout={3} seconds]" + .format(operation, args.deployment_id, management_ip, + timeout)) + + events_logger = _get_events_logger(args) + client = _get_rest_client(management_ip) + + events_message = "* Run 'cfy events --include-logs "\ + "--execution-id {0}' for retrieving the "\ + "execution's events/logs" + + try: + execution_id, error = client.execute_deployment( + deployment_id, + operation, + events_logger, + include_logs=include_logs, + timeout=timeout, + force=force) + if error is None: + lgr.info("Finished executing workflow '{0}' on deployment" + "'{1}'".format(operation, deployment_id)) + lgr.info(events_message.format(execution_id)) + else: + lgr.info("Execution of workflow '{0}' for deployment " + "'{1}' failed. " + "[error={2}]".format(operation, deployment_id, error)) + lgr.info(events_message.format(execution_id)) + raise SuppressedCosmoCliError() + except CosmoManagerRestCallTimeoutError, e: + lgr.info("Execution of workflow '{0}' for deployment '{1}' timed out. " + "* Run 'cfy executions cancel --execution-id {2}' to cancel" + " the running workflow.".format(operation, deployment_id, + e.execution_id)) + lgr.info(events_message.format(e.execution_id)) + raise SuppressedCosmoCliError() + + +# TODO implement blueprint deployments on server side +# because it is currently filter by the CLI +def _list_blueprint_deployments(args): + blueprint_id = args.blueprint_id + management_ip = _get_management_server_ip(args) + + message = 'Querying deployments list from management server {0}'\ + .format(management_ip) + if blueprint_id: + message += ' for blueprint {0}'.format(blueprint_id) + lgr.info(message) + + client = _get_rest_client(management_ip) + deployments = client.list_deployments() + if blueprint_id: + deployments = filter(lambda deployment: + deployment.blueprintId == blueprint_id, + deployments) + + if len(deployments) == 0: + if blueprint_id: + suffix = 'for blueprint {0}'.format(blueprint_id) + else: + suffix = '' + lgr.info('There are no deployments on the management server {0}' + .format(suffix)) + else: + lgr.info('Deployments:') + for deployment in deployments: + deployment_id = deployment.id + if blueprint_id: + blueprint_str = '' + else: + blueprint_str = ' [Blueprint: {0}]' \ + .format(deployment.blueprintId) + lgr.info( + '\t' + deployment_id + blueprint_str) + + +def _list_workflows(args): + management_ip = _get_management_server_ip(args) + deployment_id = args.deployment_id + + lgr.info( + 'Querying workflows list from management server {0} for ' + 'deployment {1}'.format(management_ip, args.deployment_id)) + client = _get_rest_client(management_ip) + workflow_names = [workflow.name for workflow in + client.list_workflows(deployment_id).workflows] + lgr.info("deployments workflows:") + for name in workflow_names: + lgr.info("\t{0}".format(name)) + + +def _cancel_execution(args): + management_ip = _get_management_server_ip(args) + client = _get_rest_client(management_ip) + execution_id = args.execution_id + lgr.info( + 'Canceling execution {0} on management server {1}' + .format(execution_id, management_ip)) + client.cancel_execution(execution_id) + lgr.info( + 'Cancelled execution {0} on management server {1}' + .format(execution_id, management_ip)) + + +def _list_deployment_executions(args): + is_verbose_output = args.verbosity + management_ip = _get_management_server_ip(args) + client = _get_rest_client(management_ip) + deployment_id = args.deployment_id + lgr.info( + 'Querying executions list from management server {0} for ' + 'deployment {1}'.format(management_ip, deployment_id)) + try: + executions = client.list_deployment_executions(deployment_id) + except CosmoManagerRestCallHTTPError, e: + if not e.status_code == 404: + raise + msg = ('Deployment {0} does not exist on management server' + .format(deployment_id)) + flgr.error(msg) + raise CosmoCliError(msg) if is_verbose_output else sys.exit(msg) + + if len(executions) == 0: + lgr.info( + 'There are no executions on the ' + 'management server for ' + 'deployment {0}'.format(deployment_id)) + else: + lgr.info( + 'Executions for deployment {0}:'.format(deployment_id)) + for execution in executions: + lgr.info( + '\t{0}{1}\t[deployment_id={2}, blueprint_id={3}]'.format( + execution.id, + '\t{0}'.format(execution.status), + execution.deploymentId, + execution.blueprintId)) + + +def _get_events(args): + management_ip = _get_management_server_ip(args) + lgr.info("Getting events from management server {0} for " + "execution id '{1}' " + "[include_logs={2}]".format(management_ip, + args.execution_id, + args.include_logs)) + client = _get_rest_client(management_ip) + try: + events = client.get_all_execution_events( + args.execution_id, + include_logs=args.include_logs) + events_logger = _get_events_logger(args) + events_logger(events) + lgr.info('\nTotal events: {0}'.format(len(events))) + except CosmoManagerRestCallHTTPError, e: + if e.status_code != 404: + raise + msg = ("Execution '{0}' not found on management server" + .format(args.execution_id)) + flgr.error(msg) + raise CosmoCliError(msg) if args.verbosity else sys.exit(msg) + + +def _run_dev(args): + # TODO: allow passing username and key path as params. + # env.user = args.user if args.user else _get_mgmt_user() + # env.key_filename = args.key if args.key else _get_mgmt_key() + env.user = _get_mgmt_user() + env.key_filename = _get_mgmt_key() + env.warn_only = True + env.abort_on_prompts = False + env.connection_attempts = 5 + env.keepalive = 0 + env.linewise = False + env.pool_size = 0 + env.skip_bad_hosts = False + env.timeout = 10 + env.forward_agent = True + env.status = False + env.disable_known_hosts = False + + mgmt_ip = args.management_ip if args.management_ip \ + else _get_management_server_ip(args) + # hmm... it's also possible to just pass the tasks string to fabric + # and let it run... need to think about it... + if args.run: + if args.tasks_file: + sys.path.append(os.path.dirname(args.tasks_file)) + tasks = __import__(os.path.basename(os.path.splitext( + args.tasks_file)[0])) + else: + sys.path.append(os.getcwd()) + try: + import tasks + except ImportError: + raise CosmoDevError('could not find a tasks file to import.' + ' either create a tasks.py file in your ' + 'cwd or use the --tasks-file flag to ' + 'point to one.') + with settings(host_string=mgmt_ip): + if args.tasks: + for task in args.tasks.split(','): + try: + getattr(tasks, task)() + except AttributeError: + raise CosmoDevError('task: "{0}" not found' + .format(task)) + except Exception as e: + raise CosmoDevError('failed to execute: "{0}" ' + '({1}) '.format(task, str(e))) + else: + for task in dir(tasks): + if task.startswith('task_'): + try: + getattr(tasks, task)() + except Exception as e: + raise CosmoDevError('failed to execute: "{0}" ' + '({1}) '.format(task, str(e))) + + +def _set_cli_except_hook(): + old_excepthook = sys.excepthook + + def new_excepthook(type, value, the_traceback): + if type == CosmoCliError: + lgr.error(str(value)) + if output_level <= logging.DEBUG: + print("Stack trace:") + traceback.print_tb(the_traceback) + elif type == CosmoManagerRestCallError: + lgr.error("Failed making a call to REST service: {0}".format( + str(value))) + if output_level <= logging.DEBUG: + print("Stack trace:") + traceback.print_tb(the_traceback) + elif type == SuppressedCosmoCliError: + # output is already generated elsewhere + # we only want and exit code that is not 0 + pass + else: + old_excepthook(type, value, the_traceback) + + sys.excepthook = new_excepthook + + +def _load_cosmo_working_dir_settings(is_verbose_output=False): + try: + with open('{0}'.format(CLOUDIFY_WD_SETTINGS_FILE_NAME), 'r') as f: + return yaml.load(f.read()) + except IOError: + msg = ('You must first initialize by running the ' + 'command "cfy init", or choose to work with ' + 'an existing management server by running the ' + 'command "cfy use".') + flgr.error(msg) + raise CosmoCliError(msg) if is_verbose_output else sys.exit(msg) + + +def _dump_cosmo_working_dir_settings(cosmo_wd_settings, target_dir=None): + target_file_path = '{0}'.format(CLOUDIFY_WD_SETTINGS_FILE_NAME) if \ + not target_dir else os.path.join(target_dir, + CLOUDIFY_WD_SETTINGS_FILE_NAME) + with open(target_file_path, 'w') as f: + f.write(yaml.dump(cosmo_wd_settings)) + + +def _download_blueprint(args): + lgr.info(messages.DOWNLOADING_BLUEPRINT.format(args.blueprint_id)) + rest_client = _get_rest_client(_get_management_server_ip(args)) + target_file = rest_client.download_blueprint(args.blueprint_id, + args.output) + lgr.info(messages.DOWNLOADING_BLUEPRINT_SUCCEEDED.format( + args.blueprint_id, + target_file)) + + +def _validate_blueprint(args): + is_verbose_output = args.verbosity + target_file = args.blueprint_file + + resources = _get_resource_base() + mapping = resources + "cloudify/alias-mappings.yaml" + + lgr.info( + messages.VALIDATING_BLUEPRINT.format(target_file.name)) + try: + parse_from_path(target_file.name, None, mapping, resources) + except DSLParsingException as ex: + msg = (messages.VALIDATING_BLUEPRINT_FAILED + .format(target_file, str(ex))) + flgr.error(msg) + raise CosmoCliError(msg) if is_verbose_output else sys.exit(msg) + lgr.info(messages.VALIDATING_BLUEPRINT_SUCCEEDED) + + +def _get_resource_base(): + script_directory = os.path.dirname(os.path.realpath(__file__)) + resource_directory = script_directory \ + + "/../../cloudify-manager/resources/rest-service/" + if os.path.isdir(resource_directory): + lgr.debug("Found resource directory") + + resource_directory_url = urlparse.urljoin('file:', urllib.pathname2url( + resource_directory)) + return resource_directory_url + lgr.debug("Using resources from github. Branch is develop") + return "https://raw.githubusercontent.com/cloudify-cosmo/" \ + "cloudify-manager/develop/resources/rest-service/" + + +def _get_rest_client(management_ip): + return CosmoManagerRestClient(management_ip) + + +@contextmanager +def _update_wd_settings(is_verbose_output=False): + cosmo_wd_settings = _load_cosmo_working_dir_settings(is_verbose_output) + yield cosmo_wd_settings + _dump_cosmo_working_dir_settings(cosmo_wd_settings) + + +@contextmanager +def _protected_provider_call(is_verbose_output=False): + try: + yield + except Exception, ex: + trace = sys.exc_info()[2] + msg = ('Exception occurred in provider: {0}' + .format(str(ex))) + flgr.error(msg) + raise CosmoCliError(msg), None, trace if is_verbose_output \ + else sys.exit(msg) + + +
[docs]class CosmoWorkingDirectorySettings(yaml.YAMLObject): + yaml_tag = u'!WD_Settings' + yaml_loader = yaml.Loader + + def __init__(self): + self._management_ip = None + self._management_key = None + self._management_user = None + self._provider = None + self._provider_context = None + self._mgmt_aliases = {} + self._mgmt_to_contextual_aliases = {} + +
[docs] def get_management_server(self): + return self._management_ip +
+
[docs] def set_management_server(self, management_ip): + self._management_ip = management_ip +
+
[docs] def get_management_key(self): + return self._management_key +
+
[docs] def set_management_key(self, management_key): + self._management_key = management_key +
+
[docs] def get_management_user(self): + return self._management_user +
+
[docs] def set_management_user(self, _management_user): + self._management_user = _management_user +
+
[docs] def get_provider_context(self): + return self._provider_context +
+
[docs] def set_provider_context(self, provider_context): + self._provider_context = provider_context +
+
[docs] def remove_management_server_context(self, management_ip): + # Clears management server context data. + if management_ip in self._mgmt_to_contextual_aliases: + del(self._mgmt_to_contextual_aliases[management_ip]) +
+
[docs] def get_provider(self): + return self._provider +
+
[docs] def set_provider(self, provider): + self._provider = provider +
+
[docs] def translate_management_alias(self, management_address_or_alias): + return self._mgmt_aliases[management_address_or_alias] if \ + management_address_or_alias in self._mgmt_aliases \ + else management_address_or_alias +
+
[docs] def save_management_alias(self, management_alias, management_address, + is_allow_overwrite, is_verbose_output=False): + if not is_allow_overwrite and management_alias in self._mgmt_aliases: + msg = ("management-server alias {0} is already in " + "use; use -f flag to allow overwrite." + .format(management_alias)) + flgr.error(msg) + raise CosmoCliError(msg) if is_verbose_output else sys.exit(msg) + self._mgmt_aliases[management_alias] = management_address + +
+
[docs]class CosmoDevError(Exception): + pass + +
+
[docs]class CosmoBootstrapError(Exception): + pass + +
+
[docs]class CosmoValidationError(Exception): + pass + +
+
[docs]class CosmoCliError(Exception): + pass + +
+
[docs]class SuppressedCosmoCliError(Exception): + pass +
+if __name__ == '__main__': + _set_cli_except_hook() # only enable hook when this is called directly. + main() +
+ +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/_build/html/_modules/cosmo_cli/provider_common.html b/docs/_build/html/_modules/cosmo_cli/provider_common.html new file mode 100644 index 0000000..3d74fa7 --- /dev/null +++ b/docs/_build/html/_modules/cosmo_cli/provider_common.html @@ -0,0 +1,464 @@ + + + + + + + + + + cosmo_cli.provider_common — cloudify-rest-client 3.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+
+ +
+
+
+ +

Source code for cosmo_cli.provider_common

+import time
+import sys
+from abc import abstractmethod, ABCMeta
+from jsonschema import ValidationError, Draft4Validator
+from fabric.api import run, env
+from fabric.context_managers import settings, hide
+from cosmo_cli import set_global_verbosity_level
+from cosmo_cli import init_logger
+
+lgr, flgr = init_logger()
+
+CLOUDIFY_PACKAGES_PATH = '/cloudify'
+CLOUDIFY_COMPONENTS_PACKAGE_PATH = '/cloudify-components'
+CLOUDIFY_CORE_PACKAGE_PATH = '/cloudify-core'
+CLOUDIFY_UI_PACKAGE_PATH = '/cloudify-ui'
+CLOUDIFY_AGENT_PACKAGE_PATH = '/cloudify-agents'
+
+FABRIC_RETRIES = 3
+FABRIC_SLEEPTIME = 3
+
+
+
[docs]class BaseProviderClass(object): + """ + this is the basic provider class supplied with the CLI. it can be imported + by the provider's code by inheritence into the ProviderManager class. + each of the below methods can be overriden in favor of a different impl. + """ + __metaclass__ = ABCMeta + + def __init__(self, provider_config=None, is_verbose_output=False, + schema=None): + + set_global_verbosity_level(is_verbose_output) + self.provider_config = provider_config + self.is_verbose_output = is_verbose_output + self.schema = schema + + @abstractmethod +
[docs] def provision(self): + """ + provisions resources for the management server + """ + return +
+ @abstractmethod +
[docs] def validate(self, validation_errors={}): + """ + validations to be performed before provisioning and bootstrapping + the management server. + + :param dict validation_errors: dict to hold all validation errors. + :rtype: `dict` of validaiton_errors. + """ + lgr.debug("no resource validation methods defined!") + return +
+ @abstractmethod +
[docs] def teardown(self, provider_context, ignore_validation=False): + """ + tears down the management server and its accompanied provisioned + resources + """ + return +
+
[docs] def bootstrap(self, mgmt_ip, private_ip, mgmt_ssh_key, mgmt_ssh_user, + dev_mode=False): + """ + bootstraps Cloudify on the management server. + + :param string mgmt_ip: public ip of the provisioned instance. + :param string private_ip: private ip of the provisioned instance. + (for configuration purposes). + :param string mgmt_ssh_key: path to the ssh key to be used for + connecting to the instance. + :param string mgmt_ssh_user: the user to use when connecting to the + instance. + :param bool dev_mode: states whether dev_mode should be applied. + :rtype: `bool` True if succeeded, False otherwise. If False is returned + and 'cfy bootstrap' was executed with the keep-up-on-failure flag, the + provisioned resources will remain. If the flag is ommited, they will + be torn down. + """ + env.user = mgmt_ssh_user + env.key_filename = mgmt_ssh_key + env.warn_only = True + env.abort_on_prompts = False + env.connection_attempts = 5 + env.keepalive = 0 + env.linewise = False + env.pool_size = 0 + env.skip_bad_hosts = False + env.timeout = 10 + env.forward_agent = True + env.status = False + env.disable_known_hosts = False + + def _run_with_retries(command, retries=FABRIC_RETRIES, + sleeper=FABRIC_SLEEPTIME): + + for execution in range(retries): + lgr.debug('running command: {0}' + .format(command)) + if not self.is_verbose_output: + with hide('running', 'stdout'): + r = run(command) + else: + r = run(command) + if r.succeeded: + lgr.debug('successfully ran command: {0}' + .format(command)) + return True + else: + lgr.warning('retrying command: {0}' + .format(command)) + time.sleep(sleeper) + lgr.error('failed to run: {0}, {1}' + .format(command, r.stderr)) + return False + + def _download_package(url, path): + return _run_with_retries('sudo wget {0} -P {1}' + .format(path, url)) + + def _unpack(path): + return _run_with_retries('sudo dpkg -i {0}/*.deb' + .format(path)) + + def _run(command): + return _run_with_retries(command) + + lgr.info('initializing manager on the machine at {0}' + .format(mgmt_ip)) + cosmo_config = self.provider_config['cloudify'] + print cosmo_config + + with settings(host_string=mgmt_ip), hide('running', + 'stderr', + 'aborts', + 'warnings'): + + lgr.info('downloading cloudify-components package...') + r = _download_package( + CLOUDIFY_PACKAGES_PATH, + cosmo_config['cloudify_components_package_url']) + if not r: + lgr.error('failed to download components package. ' + 'please ensure package exists in its ' + 'configured location in the config file') + return False + + lgr.info('downloading cloudify-core package...') + r = _download_package( + CLOUDIFY_PACKAGES_PATH, + cosmo_config['cloudify_core_package_url']) + if not r: + lgr.error('failed to download core package. ' + 'please ensure package exists in its ' + 'configured location in the config file') + return False + + lgr.info('downloading cloudify-ui...') + r = _download_package( + CLOUDIFY_UI_PACKAGE_PATH, + cosmo_config['cloudify_ui_package_url']) + if not r: + lgr.error('failed to download ui package. ' + 'please ensure package exists in its ' + 'configured location in the config file') + return False + + lgr.info('downloading cloudify-ubuntu-agent...') + r = _download_package( + CLOUDIFY_AGENT_PACKAGE_PATH, + cosmo_config['cloudify_ubuntu_agent_url']) + if not r: + lgr.error('failed to download ubuntu agent. ' + 'please ensure package exists in its ' + 'configured location in the config file') + return False + + lgr.info('unpacking cloudify-core packages...') + r = _unpack( + CLOUDIFY_PACKAGES_PATH) + if not r: + lgr.error('failed to unpack cloudify-core package') + return False + + lgr.debug('verifying verbosity for installation process') + v = self.is_verbose_output + self.is_verbose_output = True + + lgr.info('installing cloudify on {0}...'.format(mgmt_ip)) + r = _run('sudo {0}/cloudify-components-bootstrap.sh' + .format(CLOUDIFY_COMPONENTS_PACKAGE_PATH)) + if not r: + lgr.error('failed to install cloudify-components') + return False + + celery_user = mgmt_ssh_user + r = _run('sudo {0}/cloudify-core-bootstrap.sh {1} {2}' + .format(CLOUDIFY_CORE_PACKAGE_PATH, + celery_user, private_ip)) + if not r: + lgr.error('failed to install cloudify-core') + return False + + lgr.info('deploying cloudify-ui') + self.is_verbose_output = False + r = _unpack( + CLOUDIFY_UI_PACKAGE_PATH) + if not r: + lgr.error('failed to install cloudify-ui') + return False + lgr.info('done') + + lgr.info('deploying cloudify agent') + self.is_verbose_output = False + r = _unpack( + CLOUDIFY_AGENT_PACKAGE_PATH) + if not r: + lgr.error('failed to install cloudify-agent') + return False + lgr.info('done') + + self.is_verbose_output = True + if dev_mode: + lgr.info('\n\n\n\n\nentering dev-mode. ' + 'dev configuration will be applied...\n' + 'NOTE: an internet connection might be ' + 'required...') + + dev_config = self.provider_config['dev'] + # lgr.debug(json.dumps(dev_config, sort_keys=True, + # indent=4, separators=(',', ': '))) + + for key, value in dev_config.iteritems(): + virtualenv = value['virtualenv'] + lgr.debug('virtualenv is: ' + str(virtualenv)) + + if 'preruns' in value: + for command in value['preruns']: + _run(command) + + if 'downloads' in value: + _run('mkdir -p /tmp/{0}'.format(virtualenv)) + for download in value['downloads']: + lgr.debug('downloading: ' + download) + _run('sudo wget {0} -O ' + '/tmp/module.tar.gz' + .format(download)) + _run('sudo tar -C /tmp/{0} -xvf {1}' + .format(virtualenv, + '/tmp/module.tar.gz')) + + if 'installs' in value: + for module in value['installs']: + lgr.debug('installing: ' + module) + if module.startswith('/'): + module = '/tmp' + virtualenv + module + _run('sudo {0}/bin/pip ' + '--default-timeout' + '=45 install {1} --upgrade' + ' --process-dependency-links' + .format(virtualenv, module)) + if 'runs' in value: + for command in value['runs']: + _run(command) + + lgr.info('management ip is {0}'.format(mgmt_ip)) + lgr.debug('setting verbosity to previous state') + self.is_verbose_output = v + return True +
+
[docs] def validate_schema(self, validation_errors={}, schema=None): + """ + this is a basic implementation of schema validation. + uses the Draft4Validator from jsonschema to validate the provider's + config. + a schema file must be created and its contents supplied + when initializing the ProviderManager class using the schema + parameter. + + :param dict validation_errors: dict to hold all validation errors. + :param dict schema: a schema to compare the provider's config to. + the provider's config is already initialized within the + ProviderManager class in the provider's code. + :rtype: `dict` of validation_errors. + """ + lgr.debug('validating config file against provided schema...') + try: + v = Draft4Validator(schema) + except AttributeError as e: + flgr.error('schema is invalid. error: {}'.format(e)) + raise ValidationError('schema is invalid. error: {}'.format(e)) \ + if self.is_verbose_output else sys.exit(1) + if v.iter_errors(self.provider_config): + for e in v.iter_errors(self.provider_config): + err = ('config file validation error originating at key: {0}, ' + '{0}, {1}'.format('.'.join(e.path), e.message)) + validation_errors.setdefault('schema', []).append(err) + errors = ';\n'.join(err for e in v.iter_errors( + self.provider_config)) + try: + v.validate(self.provider_config) + except ValidationError: + lgr.error('VALIDATION ERROR:' + '{0}'.format(errors)) + lgr.error('schema validation failed!') if validation_errors \ + else lgr.info('schema validated successfully') + # print json.dumps(validation_errors, sort_keys=True, + # indent=4, separators=(',', ': ')) + return validation_errors
+
+ +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/_build/html/_modules/index.html b/docs/_build/html/_modules/index.html new file mode 100644 index 0000000..8bfbef5 --- /dev/null +++ b/docs/_build/html/_modules/index.html @@ -0,0 +1,159 @@ + + + + + + + + + + Overview: module code — cloudify-rest-client 3.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/_build/html/_sources/index.txt b/docs/_build/html/_sources/index.txt new file mode 100644 index 0000000..323ddb3 --- /dev/null +++ b/docs/_build/html/_sources/index.txt @@ -0,0 +1,60 @@ +.. cloudify-cli documentation master file, created by + sphinx-quickstart on Thu Jun 12 15:30:03 2014. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +Welcome to cloudify-rest-client's documentation! +================================================ + +Contents: + +.. toctree:: + :maxdepth: 2 + +.. automodule:: cloudify_rest_client.blueprints + :members: + :undoc-members: + :show-inheritance: + +.. automodule:: cloudify_rest_client.client + :members: + :undoc-members: + :show-inheritance: + +.. automodule:: cloudify_rest_client.deployments + :members: + :undoc-members: + :show-inheritance: + +.. automodule:: cloudify_rest_client.events + :members: + :undoc-members: + :show-inheritance: + +.. automodule:: cloudify_rest_client.exceptions + :members: + :undoc-members: + :show-inheritance: + +.. automodule:: cloudify_rest_client.executions + :members: + :undoc-members: + :show-inheritance: + +.. automodule:: cloudify_rest_client.node_instances + :members: + :undoc-members: + :show-inheritance: + +.. automodule:: cloudify_rest_client.nodes + :members: + :undoc-members: + :show-inheritance: + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` + diff --git a/docs/_build/html/_static/ajax-loader.gif b/docs/_build/html/_static/ajax-loader.gif new file mode 100644 index 0000000000000000000000000000000000000000..61faf8cab23993bd3e1560bff0668bd628642330 GIT binary patch literal 673 zcmZ?wbhEHb6krfw_{6~Q|Nno%(3)e{?)x>&1u}A`t?OF7Z|1gRivOgXi&7IyQd1Pl zGfOfQ60;I3a`F>X^fL3(@);C=vM_KlFfb_o=k{|A33hf2a5d61U}gjg=>Rd%XaNQW zW@Cw{|b%Y*pl8F?4B9 zlo4Fz*0kZGJabY|>}Okf0}CCg{u4`zEPY^pV?j2@h+|igy0+Kz6p;@SpM4s6)XEMg z#3Y4GX>Hjlml5ftdH$4x0JGdn8~MX(U~_^d!Hi)=HU{V%g+mi8#UGbE-*ao8f#h+S z2a0-5+vc7MU$e-NhmBjLIC1v|)9+Im8x1yacJ7{^tLX(ZhYi^rpmXm0`@ku9b53aN zEXH@Y3JaztblgpxbJt{AtE1ad1Ca>{v$rwwvK(>{m~Gf_=-Ro7Fk{#;i~+{{>QtvI yb2P8Zac~?~=sRA>$6{!(^3;ZP0TPFR(G_-UDU(8Jl0?(IXu$~#4A!880|o%~Al1tN literal 0 HcmV?d00001 diff --git a/docs/_build/html/_static/basic.css b/docs/_build/html/_static/basic.css new file mode 100644 index 0000000..967e36c --- /dev/null +++ b/docs/_build/html/_static/basic.css @@ -0,0 +1,537 @@ +/* + * basic.css + * ~~~~~~~~~ + * + * Sphinx stylesheet -- basic theme. + * + * :copyright: Copyright 2007-2014 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%; +} + +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 input[type="text"] { + width: 170px; +} + +div.sphinxsidebar #searchbox input[type="submit"] { + width: 30px; +} + +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%; +} + +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 dl, table.indextable dd { + margin-top: 0; + margin-bottom: 0; +} + +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; +} + +/* -- general body styles --------------------------------------------------- */ + +a.headerlink { + visibility: hidden; +} + +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 { + visibility: visible; +} + +div.body p.caption { + text-align: inherit; +} + +div.body td { + text-align: left; +} + +.field-list ul { + padding-left: 1em; +} + +.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; +} + +.align-left { + text-align: left; +} + +.align-center { + 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.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.field-list td, table.field-list th { + border: 0 !important; +} + +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; +} + +/* -- 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; +} + +dl { + margin-bottom: 15px; +} + +dd p { + margin-top: 0px; +} + +dd ul, dd table { + margin-bottom: 10px; +} + +dd { + margin-top: 3px; + margin-bottom: 10px; + margin-left: 30px; +} + +dt:target, .highlighted { + background-color: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.field-list ul { + margin: 0; + padding-left: 1em; +} + +.field-list p { + margin: 0; +} + +.optional { + font-size: 1.3em; +} + +.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; +} + +abbr, acronym { + border-bottom: dotted 1px; + cursor: help; +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +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; +} + +tt.descname { + background-color: transparent; + font-weight: bold; + font-size: 1.2em; +} + +tt.descclassname { + background-color: transparent; +} + +tt.xref, a tt { + background-color: transparent; + font-weight: bold; +} + +h1 tt, h2 tt, h3 tt, h4 tt, h5 tt, h6 tt { + 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; +} + +/* -- 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/docs/_build/html/_static/comment-bright.png b/docs/_build/html/_static/comment-bright.png new file mode 100644 index 0000000000000000000000000000000000000000..551517b8c83b76f734ff791f847829a760ad1903 GIT binary patch literal 3500 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 A2LJ#7 literal 0 HcmV?d00001 diff --git a/docs/_build/html/_static/comment.png b/docs/_build/html/_static/comment.png new file mode 100644 index 0000000000000000000000000000000000000000..92feb52b8824c6b0f59b658b1196c61de9162a95 GIT binary patch literal 3445 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 Xn!ZpXD%P(H00000NkvXXu0mjfa,.wy-side-nav-search>a,.wy-side-nav-search .wy-dropdown>a,.wy-nav-top a{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:""}.clearfix:after{clear:both}/*! + * Font Awesome 4.0.3 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url("../fonts/fontawesome-webfont.eot?v=4.0.3");src:url("../fonts/fontawesome-webfont.eot?#iefix&v=4.0.3") format("embedded-opentype"),url("../fonts/fontawesome-webfont.woff?v=4.0.3") format("woff"),url("../fonts/fontawesome-webfont.ttf?v=4.0.3") format("truetype"),url("../fonts/fontawesome-webfont.svg?v=4.0.3#fontawesomeregular") format("svg");font-weight:normal;font-style:normal}.fa,.rst-content .admonition-title,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink,.icon{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333em;line-height:0.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14286em;width:2.14286em;top:0.14286em;text-align:center}.fa-li.fa-lg{left:-1.85714em}.fa-border{padding:.2em .25em .15em;border:solid 0.08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left,.rst-content .pull-left.admonition-title,.rst-content h1 .pull-left.headerlink,.rst-content h2 .pull-left.headerlink,.rst-content h3 .pull-left.headerlink,.rst-content h4 .pull-left.headerlink,.rst-content h5 .pull-left.headerlink,.rst-content h6 .pull-left.headerlink,.rst-content dl dt .pull-left.headerlink,.pull-left.icon{margin-right:.3em}.fa.pull-right,.rst-content .pull-right.admonition-title,.rst-content h1 .pull-right.headerlink,.rst-content h2 .pull-right.headerlink,.rst-content h3 .pull-right.headerlink,.rst-content h4 .pull-right.headerlink,.rst-content h5 .pull-right.headerlink,.rst-content h6 .pull-right.headerlink,.rst-content dl dt .pull-right.headerlink,.pull-right.icon{margin-left:.3em}.fa-spin{-webkit-animation:spin 2s infinite linear;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;animation:spin 2s infinite linear}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@-ms-keyframes spin{0%{-ms-transform:rotate(0deg)}100%{-ms-transform:rotate(359deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=$rotation);-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=$rotation);-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=$rotation);-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=$rotation);-webkit-transform:scale(-1, 1);-moz-transform:scale(-1, 1);-ms-transform:scale(-1, 1);-o-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=$rotation);-webkit-transform:scale(1, -1);-moz-transform:scale(1, -1);-ms-transform:scale(1, -1);-o-transform:scale(1, -1);transform:scale(1, -1)}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before,.icon-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before,.icon-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before,.icon-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before{content:"\f057"}.fa-check-circle:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.rst-content .admonition-title:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before,.icon-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook:before{content:"\f09a"}.fa-github:before,.icon-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before,.icon-circle-arrow-left:before{content:"\f0a8"}.fa-arrow-circle-right:before,.icon-circle-arrow-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before,.icon-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before,.wy-dropdown .caret:before,.icon-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-asc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-desc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-reply-all:before{content:"\f122"}.fa-mail-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before,.icon-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa,.rst-content .admonition-title,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink,.icon,.wy-dropdown .caret,.wy-inline-validate.wy-inline-validate-success .wy-input-context,.wy-inline-validate.wy-inline-validate-danger .wy-input-context,.wy-inline-validate.wy-inline-validate-warning .wy-input-context,.wy-inline-validate.wy-inline-validate-info .wy-input-context{font-family:inherit}.fa:before,.rst-content .admonition-title:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content dl dt .headerlink:before,.icon:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before{font-family:"FontAwesome";display:inline-block;font-style:normal;font-weight:normal;line-height:1;text-decoration:inherit}a .fa,a .rst-content .admonition-title,.rst-content a .admonition-title,a .rst-content h1 .headerlink,.rst-content h1 a .headerlink,a .rst-content h2 .headerlink,.rst-content h2 a .headerlink,a .rst-content h3 .headerlink,.rst-content h3 a .headerlink,a .rst-content h4 .headerlink,.rst-content h4 a .headerlink,a .rst-content h5 .headerlink,.rst-content h5 a .headerlink,a .rst-content h6 .headerlink,.rst-content h6 a .headerlink,a .rst-content dl dt .headerlink,.rst-content dl dt a .headerlink,a .icon{display:inline-block;text-decoration:inherit}.btn .fa,.btn .rst-content .admonition-title,.rst-content .btn .admonition-title,.btn .rst-content h1 .headerlink,.rst-content h1 .btn .headerlink,.btn .rst-content h2 .headerlink,.rst-content h2 .btn .headerlink,.btn .rst-content h3 .headerlink,.rst-content h3 .btn .headerlink,.btn .rst-content h4 .headerlink,.rst-content h4 .btn .headerlink,.btn .rst-content h5 .headerlink,.rst-content h5 .btn .headerlink,.btn .rst-content h6 .headerlink,.rst-content h6 .btn .headerlink,.btn .rst-content dl dt .headerlink,.rst-content dl dt .btn .headerlink,.btn .icon,.nav .fa,.nav .rst-content .admonition-title,.rst-content .nav .admonition-title,.nav .rst-content h1 .headerlink,.rst-content h1 .nav .headerlink,.nav .rst-content h2 .headerlink,.rst-content h2 .nav .headerlink,.nav .rst-content h3 .headerlink,.rst-content h3 .nav .headerlink,.nav .rst-content h4 .headerlink,.rst-content h4 .nav .headerlink,.nav .rst-content h5 .headerlink,.rst-content h5 .nav .headerlink,.nav .rst-content h6 .headerlink,.rst-content h6 .nav .headerlink,.nav .rst-content dl dt .headerlink,.rst-content dl dt .nav .headerlink,.nav .icon{display:inline}.btn .fa.fa-large,.btn .rst-content .fa-large.admonition-title,.rst-content .btn .fa-large.admonition-title,.btn .rst-content h1 .fa-large.headerlink,.rst-content h1 .btn .fa-large.headerlink,.btn .rst-content h2 .fa-large.headerlink,.rst-content h2 .btn .fa-large.headerlink,.btn .rst-content h3 .fa-large.headerlink,.rst-content h3 .btn .fa-large.headerlink,.btn .rst-content h4 .fa-large.headerlink,.rst-content h4 .btn .fa-large.headerlink,.btn .rst-content h5 .fa-large.headerlink,.rst-content h5 .btn .fa-large.headerlink,.btn .rst-content h6 .fa-large.headerlink,.rst-content h6 .btn .fa-large.headerlink,.btn .rst-content dl dt .fa-large.headerlink,.rst-content dl dt .btn .fa-large.headerlink,.btn .fa-large.icon,.nav .fa.fa-large,.nav .rst-content .fa-large.admonition-title,.rst-content .nav .fa-large.admonition-title,.nav .rst-content h1 .fa-large.headerlink,.rst-content h1 .nav .fa-large.headerlink,.nav .rst-content h2 .fa-large.headerlink,.rst-content h2 .nav .fa-large.headerlink,.nav .rst-content h3 .fa-large.headerlink,.rst-content h3 .nav .fa-large.headerlink,.nav .rst-content h4 .fa-large.headerlink,.rst-content h4 .nav .fa-large.headerlink,.nav .rst-content h5 .fa-large.headerlink,.rst-content h5 .nav .fa-large.headerlink,.nav .rst-content h6 .fa-large.headerlink,.rst-content h6 .nav .fa-large.headerlink,.nav .rst-content dl dt .fa-large.headerlink,.rst-content dl dt .nav .fa-large.headerlink,.nav .fa-large.icon{line-height:0.9em}.btn .fa.fa-spin,.btn .rst-content .fa-spin.admonition-title,.rst-content .btn .fa-spin.admonition-title,.btn .rst-content h1 .fa-spin.headerlink,.rst-content h1 .btn .fa-spin.headerlink,.btn .rst-content h2 .fa-spin.headerlink,.rst-content h2 .btn .fa-spin.headerlink,.btn .rst-content h3 .fa-spin.headerlink,.rst-content h3 .btn .fa-spin.headerlink,.btn .rst-content h4 .fa-spin.headerlink,.rst-content h4 .btn .fa-spin.headerlink,.btn .rst-content h5 .fa-spin.headerlink,.rst-content h5 .btn .fa-spin.headerlink,.btn .rst-content h6 .fa-spin.headerlink,.rst-content h6 .btn .fa-spin.headerlink,.btn .rst-content dl dt .fa-spin.headerlink,.rst-content dl dt .btn .fa-spin.headerlink,.btn .fa-spin.icon,.nav .fa.fa-spin,.nav .rst-content .fa-spin.admonition-title,.rst-content .nav .fa-spin.admonition-title,.nav .rst-content h1 .fa-spin.headerlink,.rst-content h1 .nav .fa-spin.headerlink,.nav .rst-content h2 .fa-spin.headerlink,.rst-content h2 .nav .fa-spin.headerlink,.nav .rst-content h3 .fa-spin.headerlink,.rst-content h3 .nav .fa-spin.headerlink,.nav .rst-content h4 .fa-spin.headerlink,.rst-content h4 .nav .fa-spin.headerlink,.nav .rst-content h5 .fa-spin.headerlink,.rst-content h5 .nav .fa-spin.headerlink,.nav .rst-content h6 .fa-spin.headerlink,.rst-content h6 .nav .fa-spin.headerlink,.nav .rst-content dl dt .fa-spin.headerlink,.rst-content dl dt .nav .fa-spin.headerlink,.nav .fa-spin.icon{display:inline-block}.btn.fa:before,.rst-content .btn.admonition-title:before,.rst-content h1 .btn.headerlink:before,.rst-content h2 .btn.headerlink:before,.rst-content h3 .btn.headerlink:before,.rst-content h4 .btn.headerlink:before,.rst-content h5 .btn.headerlink:before,.rst-content h6 .btn.headerlink:before,.rst-content dl dt .btn.headerlink:before,.btn.icon:before{opacity:0.5;-webkit-transition:opacity 0.05s ease-in;-moz-transition:opacity 0.05s ease-in;transition:opacity 0.05s ease-in}.btn.fa:hover:before,.rst-content .btn.admonition-title:hover:before,.rst-content h1 .btn.headerlink:hover:before,.rst-content h2 .btn.headerlink:hover:before,.rst-content h3 .btn.headerlink:hover:before,.rst-content h4 .btn.headerlink:hover:before,.rst-content h5 .btn.headerlink:hover:before,.rst-content h6 .btn.headerlink:hover:before,.rst-content dl dt .btn.headerlink:hover:before,.btn.icon:hover:before{opacity:1}.btn-mini .fa:before,.btn-mini .rst-content .admonition-title:before,.rst-content .btn-mini .admonition-title:before,.btn-mini .rst-content h1 .headerlink:before,.rst-content h1 .btn-mini .headerlink:before,.btn-mini .rst-content h2 .headerlink:before,.rst-content h2 .btn-mini .headerlink:before,.btn-mini .rst-content h3 .headerlink:before,.rst-content h3 .btn-mini .headerlink:before,.btn-mini .rst-content h4 .headerlink:before,.rst-content h4 .btn-mini .headerlink:before,.btn-mini .rst-content h5 .headerlink:before,.rst-content h5 .btn-mini .headerlink:before,.btn-mini .rst-content h6 .headerlink:before,.rst-content h6 .btn-mini .headerlink:before,.btn-mini .rst-content dl dt .headerlink:before,.rst-content dl dt .btn-mini .headerlink:before,.btn-mini .icon:before{font-size:14px;vertical-align:-15%}.wy-alert,.rst-content .note,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .warning,.rst-content .seealso{padding:12px;line-height:24px;margin-bottom:24px;background:#e7f2fa}.wy-alert-title,.rst-content .admonition-title{color:#fff;font-weight:bold;display:block;color:#fff;background:#6ab0de;margin:-12px;padding:6px 12px;margin-bottom:12px}.wy-alert.wy-alert-danger,.rst-content .wy-alert-danger.note,.rst-content .wy-alert-danger.attention,.rst-content .wy-alert-danger.caution,.rst-content .danger,.rst-content .error,.rst-content .wy-alert-danger.hint,.rst-content .wy-alert-danger.important,.rst-content .wy-alert-danger.tip,.rst-content .wy-alert-danger.warning,.rst-content .wy-alert-danger.seealso{background:#fdf3f2}.wy-alert.wy-alert-danger .wy-alert-title,.rst-content .wy-alert-danger.note .wy-alert-title,.rst-content .wy-alert-danger.attention .wy-alert-title,.rst-content .wy-alert-danger.caution .wy-alert-title,.rst-content .danger .wy-alert-title,.rst-content .error .wy-alert-title,.rst-content .wy-alert-danger.hint .wy-alert-title,.rst-content .wy-alert-danger.important .wy-alert-title,.rst-content .wy-alert-danger.tip .wy-alert-title,.rst-content .wy-alert-danger.warning .wy-alert-title,.rst-content .wy-alert-danger.seealso .wy-alert-title,.wy-alert.wy-alert-danger .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-danger .admonition-title,.rst-content .wy-alert-danger.note .admonition-title,.rst-content .wy-alert-danger.attention .admonition-title,.rst-content .wy-alert-danger.caution .admonition-title,.rst-content .danger .admonition-title,.rst-content .error .admonition-title,.rst-content .wy-alert-danger.hint .admonition-title,.rst-content .wy-alert-danger.important .admonition-title,.rst-content .wy-alert-danger.tip .admonition-title,.rst-content .wy-alert-danger.warning .admonition-title,.rst-content .wy-alert-danger.seealso .admonition-title{background:#f29f97}.wy-alert.wy-alert-warning,.rst-content .wy-alert-warning.note,.rst-content .attention,.rst-content .caution,.rst-content .wy-alert-warning.danger,.rst-content .wy-alert-warning.error,.rst-content .wy-alert-warning.hint,.rst-content .wy-alert-warning.important,.rst-content .wy-alert-warning.tip,.rst-content .warning,.rst-content .wy-alert-warning.seealso{background:#ffedcc}.wy-alert.wy-alert-warning .wy-alert-title,.rst-content .wy-alert-warning.note .wy-alert-title,.rst-content .attention .wy-alert-title,.rst-content .caution .wy-alert-title,.rst-content .wy-alert-warning.danger .wy-alert-title,.rst-content .wy-alert-warning.error .wy-alert-title,.rst-content .wy-alert-warning.hint .wy-alert-title,.rst-content .wy-alert-warning.important .wy-alert-title,.rst-content .wy-alert-warning.tip .wy-alert-title,.rst-content .warning .wy-alert-title,.rst-content .wy-alert-warning.seealso .wy-alert-title,.wy-alert.wy-alert-warning .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-warning .admonition-title,.rst-content .wy-alert-warning.note .admonition-title,.rst-content .attention .admonition-title,.rst-content .caution .admonition-title,.rst-content .wy-alert-warning.danger .admonition-title,.rst-content .wy-alert-warning.error .admonition-title,.rst-content .wy-alert-warning.hint .admonition-title,.rst-content .wy-alert-warning.important .admonition-title,.rst-content .wy-alert-warning.tip .admonition-title,.rst-content .warning .admonition-title,.rst-content .wy-alert-warning.seealso .admonition-title{background:#f0b37e}.wy-alert.wy-alert-info,.rst-content .note,.rst-content .wy-alert-info.attention,.rst-content .wy-alert-info.caution,.rst-content .wy-alert-info.danger,.rst-content .wy-alert-info.error,.rst-content .wy-alert-info.hint,.rst-content .wy-alert-info.important,.rst-content .wy-alert-info.tip,.rst-content .wy-alert-info.warning,.rst-content .seealso{background:#e7f2fa}.wy-alert.wy-alert-info .wy-alert-title,.rst-content .note .wy-alert-title,.rst-content .wy-alert-info.attention .wy-alert-title,.rst-content .wy-alert-info.caution .wy-alert-title,.rst-content .wy-alert-info.danger .wy-alert-title,.rst-content .wy-alert-info.error .wy-alert-title,.rst-content .wy-alert-info.hint .wy-alert-title,.rst-content .wy-alert-info.important .wy-alert-title,.rst-content .wy-alert-info.tip .wy-alert-title,.rst-content .wy-alert-info.warning .wy-alert-title,.rst-content .seealso .wy-alert-title,.wy-alert.wy-alert-info .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-info .admonition-title,.rst-content .note .admonition-title,.rst-content .wy-alert-info.attention .admonition-title,.rst-content .wy-alert-info.caution .admonition-title,.rst-content .wy-alert-info.danger .admonition-title,.rst-content .wy-alert-info.error .admonition-title,.rst-content .wy-alert-info.hint .admonition-title,.rst-content .wy-alert-info.important .admonition-title,.rst-content .wy-alert-info.tip .admonition-title,.rst-content .wy-alert-info.warning .admonition-title,.rst-content .seealso .admonition-title{background:#6ab0de}.wy-alert.wy-alert-success,.rst-content .wy-alert-success.note,.rst-content .wy-alert-success.attention,.rst-content .wy-alert-success.caution,.rst-content .wy-alert-success.danger,.rst-content .wy-alert-success.error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .wy-alert-success.warning,.rst-content .wy-alert-success.seealso{background:#dbfaf4}.wy-alert.wy-alert-success .wy-alert-title,.rst-content .wy-alert-success.note .wy-alert-title,.rst-content .wy-alert-success.attention .wy-alert-title,.rst-content .wy-alert-success.caution .wy-alert-title,.rst-content .wy-alert-success.danger .wy-alert-title,.rst-content .wy-alert-success.error .wy-alert-title,.rst-content .hint .wy-alert-title,.rst-content .important .wy-alert-title,.rst-content .tip .wy-alert-title,.rst-content .wy-alert-success.warning .wy-alert-title,.rst-content .wy-alert-success.seealso .wy-alert-title,.wy-alert.wy-alert-success .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-success .admonition-title,.rst-content .wy-alert-success.note .admonition-title,.rst-content .wy-alert-success.attention .admonition-title,.rst-content .wy-alert-success.caution .admonition-title,.rst-content .wy-alert-success.danger .admonition-title,.rst-content .wy-alert-success.error .admonition-title,.rst-content .hint .admonition-title,.rst-content .important .admonition-title,.rst-content .tip .admonition-title,.rst-content .wy-alert-success.warning .admonition-title,.rst-content .wy-alert-success.seealso .admonition-title{background:#1abc9c}.wy-alert.wy-alert-neutral,.rst-content .wy-alert-neutral.note,.rst-content .wy-alert-neutral.attention,.rst-content .wy-alert-neutral.caution,.rst-content .wy-alert-neutral.danger,.rst-content .wy-alert-neutral.error,.rst-content .wy-alert-neutral.hint,.rst-content .wy-alert-neutral.important,.rst-content .wy-alert-neutral.tip,.rst-content .wy-alert-neutral.warning,.rst-content .wy-alert-neutral.seealso{background:#f3f6f6}.wy-alert.wy-alert-neutral .wy-alert-title,.rst-content .wy-alert-neutral.note .wy-alert-title,.rst-content .wy-alert-neutral.attention .wy-alert-title,.rst-content .wy-alert-neutral.caution .wy-alert-title,.rst-content .wy-alert-neutral.danger .wy-alert-title,.rst-content .wy-alert-neutral.error .wy-alert-title,.rst-content .wy-alert-neutral.hint .wy-alert-title,.rst-content .wy-alert-neutral.important .wy-alert-title,.rst-content .wy-alert-neutral.tip .wy-alert-title,.rst-content .wy-alert-neutral.warning .wy-alert-title,.rst-content .wy-alert-neutral.seealso .wy-alert-title,.wy-alert.wy-alert-neutral .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-neutral .admonition-title,.rst-content .wy-alert-neutral.note .admonition-title,.rst-content .wy-alert-neutral.attention .admonition-title,.rst-content .wy-alert-neutral.caution .admonition-title,.rst-content .wy-alert-neutral.danger .admonition-title,.rst-content .wy-alert-neutral.error .admonition-title,.rst-content .wy-alert-neutral.hint .admonition-title,.rst-content .wy-alert-neutral.important .admonition-title,.rst-content .wy-alert-neutral.tip .admonition-title,.rst-content .wy-alert-neutral.warning .admonition-title,.rst-content .wy-alert-neutral.seealso .admonition-title{color:#404040;background:#e1e4e5}.wy-alert.wy-alert-neutral a,.rst-content .wy-alert-neutral.note a,.rst-content .wy-alert-neutral.attention a,.rst-content .wy-alert-neutral.caution a,.rst-content .wy-alert-neutral.danger a,.rst-content .wy-alert-neutral.error a,.rst-content .wy-alert-neutral.hint a,.rst-content .wy-alert-neutral.important a,.rst-content .wy-alert-neutral.tip a,.rst-content .wy-alert-neutral.warning a,.rst-content .wy-alert-neutral.seealso a{color:#2980b9}.wy-alert p:last-child,.rst-content .note p:last-child,.rst-content .attention p:last-child,.rst-content .caution p:last-child,.rst-content .danger p:last-child,.rst-content .error p:last-child,.rst-content .hint p:last-child,.rst-content .important p:last-child,.rst-content .tip p:last-child,.rst-content .warning p:last-child,.rst-content .seealso p:last-child{margin-bottom:0}.wy-tray-container{position:fixed;bottom:0px;left:0;z-index:600}.wy-tray-container li{display:block;width:300px;background:transparent;color:#fff;text-align:center;box-shadow:0 5px 5px 0 rgba(0,0,0,0.1);padding:0 24px;min-width:20%;opacity:0;height:0;line-height:60px;overflow:hidden;-webkit-transition:all 0.3s ease-in;-moz-transition:all 0.3s ease-in;transition:all 0.3s ease-in}.wy-tray-container li.wy-tray-item-success{background:#27ae60}.wy-tray-container li.wy-tray-item-info{background:#2980b9}.wy-tray-container li.wy-tray-item-warning{background:#e67e22}.wy-tray-container li.wy-tray-item-danger{background:#e74c3c}.wy-tray-container li.on{opacity:1;height:60px}button{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle;cursor:pointer;line-height:normal;-webkit-appearance:button;*overflow:visible}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button[disabled]{cursor:default}.btn{display:inline-block;border-radius:2px;line-height:normal;white-space:nowrap;text-align:center;cursor:pointer;font-size:100%;padding:6px 12px 8px 12px;color:#fff;border:1px solid rgba(0,0,0,0.1);background-color:#27ae60;text-decoration:none;font-weight:normal;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;box-shadow:0px 1px 2px -1px rgba(255,255,255,0.5) inset,0px -2px 0px 0px rgba(0,0,0,0.1) inset;outline-none:false;vertical-align:middle;*display:inline;zoom:1;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:all 0.1s linear;-moz-transition:all 0.1s linear;transition:all 0.1s linear}.btn-hover{background:#2e8ece;color:#fff}.btn:hover{background:#2cc36b;color:#fff}.btn:focus{background:#2cc36b;outline:0}.btn:active{box-shadow:0px -1px 0px 0px rgba(0,0,0,0.05) inset,0px 2px 0px 0px rgba(0,0,0,0.1) inset;padding:8px 12px 6px 12px}.btn:disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:0.4;cursor:not-allowed;box-shadow:none}.btn-disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:0.4;cursor:not-allowed;box-shadow:none}.btn-disabled:hover,.btn-disabled:focus,.btn-disabled:active{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:0.4;cursor:not-allowed;box-shadow:none}.btn::-moz-focus-inner{padding:0;border:0}.btn-small{font-size:80%}.btn-info{background-color:#2980b9 !important}.btn-info:hover{background-color:#2e8ece !important}.btn-neutral{background-color:#f3f6f6 !important;color:#404040 !important}.btn-neutral:hover{background-color:#e5ebeb !important;color:#404040}.btn-neutral:visited{color:#404040 !important}.btn-success{background-color:#27ae60 !important}.btn-success:hover{background-color:#295 !important}.btn-danger{background-color:#e74c3c !important}.btn-danger:hover{background-color:#ea6153 !important}.btn-warning{background-color:#e67e22 !important}.btn-warning:hover{background-color:#e98b39 !important}.btn-invert{background-color:#222}.btn-invert:hover{background-color:#2f2f2f !important}.btn-link{background-color:transparent !important;color:#2980b9;box-shadow:none;border-color:transparent !important}.btn-link:hover{background-color:transparent !important;color:#409ad5 !important;box-shadow:none}.btn-link:active{background-color:transparent !important;color:#409ad5 !important;box-shadow:none}.btn-link:visited{color:#9b59b6}.wy-btn-group .btn,.wy-control .btn{vertical-align:middle}.wy-btn-group{margin-bottom:24px;*zoom:1}.wy-btn-group:before,.wy-btn-group:after{display:table;content:""}.wy-btn-group:after{clear:both}.wy-dropdown{position:relative;display:inline-block}.wy-dropdown-menu{position:absolute;left:0;display:none;float:left;top:100%;min-width:100%;background:#fcfcfc;z-index:100;border:solid 1px #cfd7dd;box-shadow:0 2px 2px 0 rgba(0,0,0,0.1);padding:12px}.wy-dropdown-menu>dd>a{display:block;clear:both;color:#404040;white-space:nowrap;font-size:90%;padding:0 12px;cursor:pointer}.wy-dropdown-menu>dd>a:hover{background:#2980b9;color:#fff}.wy-dropdown-menu>dd.divider{border-top:solid 1px #cfd7dd;margin:6px 0}.wy-dropdown-menu>dd.search{padding-bottom:12px}.wy-dropdown-menu>dd.search input[type="search"]{width:100%}.wy-dropdown-menu>dd.call-to-action{background:#e3e3e3;text-transform:uppercase;font-weight:500;font-size:80%}.wy-dropdown-menu>dd.call-to-action:hover{background:#e3e3e3}.wy-dropdown-menu>dd.call-to-action .btn{color:#fff}.wy-dropdown.wy-dropdown-up .wy-dropdown-menu{bottom:100%;top:auto;left:auto;right:0}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu{background:#fcfcfc;margin-top:2px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a{padding:6px 12px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a:hover{background:#2980b9;color:#fff}.wy-dropdown.wy-dropdown-left .wy-dropdown-menu{right:0;text-align:right}.wy-dropdown-arrow:before{content:" ";border-bottom:5px solid #f5f5f5;border-left:5px solid transparent;border-right:5px solid transparent;position:absolute;display:block;top:-4px;left:50%;margin-left:-3px}.wy-dropdown-arrow.wy-dropdown-arrow-left:before{left:11px}.wy-form-stacked select{display:block}.wy-form-aligned input,.wy-form-aligned textarea,.wy-form-aligned select,.wy-form-aligned .wy-help-inline,.wy-form-aligned label{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-form-aligned .wy-control-group>label{display:inline-block;vertical-align:middle;width:10em;margin:0.5em 1em 0 0;float:left}.wy-form-aligned .wy-control{float:left}.wy-form-aligned .wy-control label{display:block}.wy-form-aligned .wy-control select{margin-top:0.5em}fieldset{border:0;margin:0;padding:0}legend{display:block;width:100%;border:0;padding:0;white-space:normal;margin-bottom:24px;font-size:150%;*margin-left:-7px}label{display:block;margin:0 0 0.3125em 0;color:#999;font-size:90%}input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}.wy-control-group{margin-bottom:24px;*zoom:1;max-width:68em;margin-left:auto;margin-right:auto;*zoom:1}.wy-control-group:before,.wy-control-group:after{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group:before,.wy-control-group:after{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group.wy-control-group-required>label:after{content:" *";color:#e74c3c}.wy-control-group .wy-form-full,.wy-control-group .wy-form-halves,.wy-control-group .wy-form-thirds{padding-bottom:12px}.wy-control-group .wy-form-full select,.wy-control-group .wy-form-halves select,.wy-control-group .wy-form-thirds select{width:100%}.wy-control-group .wy-form-full input[type="text"],.wy-control-group .wy-form-full input[type="password"],.wy-control-group .wy-form-full input[type="email"],.wy-control-group .wy-form-full input[type="url"],.wy-control-group .wy-form-full input[type="date"],.wy-control-group .wy-form-full input[type="month"],.wy-control-group .wy-form-full input[type="time"],.wy-control-group .wy-form-full input[type="datetime"],.wy-control-group .wy-form-full input[type="datetime-local"],.wy-control-group .wy-form-full input[type="week"],.wy-control-group .wy-form-full input[type="number"],.wy-control-group .wy-form-full input[type="search"],.wy-control-group .wy-form-full input[type="tel"],.wy-control-group .wy-form-full input[type="color"],.wy-control-group .wy-form-halves input[type="text"],.wy-control-group .wy-form-halves input[type="password"],.wy-control-group .wy-form-halves input[type="email"],.wy-control-group .wy-form-halves input[type="url"],.wy-control-group .wy-form-halves input[type="date"],.wy-control-group .wy-form-halves input[type="month"],.wy-control-group .wy-form-halves input[type="time"],.wy-control-group .wy-form-halves input[type="datetime"],.wy-control-group .wy-form-halves input[type="datetime-local"],.wy-control-group .wy-form-halves input[type="week"],.wy-control-group .wy-form-halves input[type="number"],.wy-control-group .wy-form-halves input[type="search"],.wy-control-group .wy-form-halves input[type="tel"],.wy-control-group .wy-form-halves input[type="color"],.wy-control-group .wy-form-thirds input[type="text"],.wy-control-group .wy-form-thirds input[type="password"],.wy-control-group .wy-form-thirds input[type="email"],.wy-control-group .wy-form-thirds input[type="url"],.wy-control-group .wy-form-thirds input[type="date"],.wy-control-group .wy-form-thirds input[type="month"],.wy-control-group .wy-form-thirds input[type="time"],.wy-control-group .wy-form-thirds input[type="datetime"],.wy-control-group .wy-form-thirds input[type="datetime-local"],.wy-control-group .wy-form-thirds input[type="week"],.wy-control-group .wy-form-thirds input[type="number"],.wy-control-group .wy-form-thirds input[type="search"],.wy-control-group .wy-form-thirds input[type="tel"],.wy-control-group .wy-form-thirds input[type="color"]{width:100%}.wy-control-group .wy-form-full{display:block;float:left;margin-right:2.35765%;width:100%;margin-right:0}.wy-control-group .wy-form-full:last-child{margin-right:0}.wy-control-group .wy-form-halves{display:block;float:left;margin-right:2.35765%;width:48.82117%}.wy-control-group .wy-form-halves:last-child{margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(2n){margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(2n+1){clear:left}.wy-control-group .wy-form-thirds{display:block;float:left;margin-right:2.35765%;width:31.76157%}.wy-control-group .wy-form-thirds:last-child{margin-right:0}.wy-control-group .wy-form-thirds:nth-of-type(3n){margin-right:0}.wy-control-group .wy-form-thirds:nth-of-type(3n+1){clear:left}.wy-control-group.wy-control-group-no-input .wy-control{margin:0.5em 0 0 0;font-size:90%}.wy-control-group.fluid-input input[type="text"],.wy-control-group.fluid-input input[type="password"],.wy-control-group.fluid-input input[type="email"],.wy-control-group.fluid-input input[type="url"],.wy-control-group.fluid-input input[type="date"],.wy-control-group.fluid-input input[type="month"],.wy-control-group.fluid-input input[type="time"],.wy-control-group.fluid-input input[type="datetime"],.wy-control-group.fluid-input input[type="datetime-local"],.wy-control-group.fluid-input input[type="week"],.wy-control-group.fluid-input input[type="number"],.wy-control-group.fluid-input input[type="search"],.wy-control-group.fluid-input input[type="tel"],.wy-control-group.fluid-input input[type="color"]{width:100%}.wy-form-message-inline{display:inline-block;padding-left:0.3em;color:#666;vertical-align:middle;font-size:90%}.wy-form-message{display:block;color:#ccc;font-size:70%;margin-top:0.3125em;font-style:italic}input{line-height:normal}input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;*overflow:visible}input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="date"],input[type="month"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="week"],input[type="number"],input[type="search"],input[type="tel"],input[type="color"]{-webkit-appearance:none;padding:6px;display:inline-block;border:1px solid #ccc;font-size:80%;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;box-shadow:inset 0 1px 3px #ddd;border-radius:0;-webkit-transition:border 0.3s linear;-moz-transition:border 0.3s linear;transition:border 0.3s linear}input[type="datetime-local"]{padding:0.34375em 0.625em}input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0;margin-right:0.3125em;*height:13px;*width:13px}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}input[type="text"]:focus,input[type="password"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus{outline:0;outline:thin dotted \9;border-color:#333}input.no-focus:focus{border-color:#ccc !important}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:1px auto #129fea}input[type="text"][disabled],input[type="password"][disabled],input[type="email"][disabled],input[type="url"][disabled],input[type="date"][disabled],input[type="month"][disabled],input[type="time"][disabled],input[type="datetime"][disabled],input[type="datetime-local"][disabled],input[type="week"][disabled],input[type="number"][disabled],input[type="search"][disabled],input[type="tel"][disabled],input[type="color"][disabled]{cursor:not-allowed;background-color:#f3f6f6;color:#cad2d3}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#e74c3c;border:1px solid #e74c3c}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#e74c3c}input[type="file"]:focus:invalid:focus,input[type="radio"]:focus:invalid:focus,input[type="checkbox"]:focus:invalid:focus{outline-color:#e74c3c}input.wy-input-large{padding:12px;font-size:100%}textarea{overflow:auto;vertical-align:top;width:100%}select,textarea{padding:0.5em 0.625em;display:inline-block;border:1px solid #ccc;font-size:0.8em;box-shadow:inset 0 1px 3px #ddd;-webkit-transition:border 0.3s linear;-moz-transition:border 0.3s linear;transition:border 0.3s linear}select{border:1px solid #ccc;background-color:#fff}select[multiple]{height:auto}select:focus,textarea:focus{outline:0}select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#fff;color:#cad2d3;border-color:transparent}.wy-checkbox,.wy-radio{margin:6px 0;color:#404040;display:block}.wy-checkbox input,.wy-radio input{vertical-align:baseline}.wy-form-message-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-input-prefix,.wy-input-suffix{white-space:nowrap}.wy-input-prefix .wy-input-context,.wy-input-suffix .wy-input-context{padding:6px;display:inline-block;font-size:80%;background-color:#f3f6f6;border:solid 1px #ccc;color:#999}.wy-input-suffix .wy-input-context{border-left:0}.wy-input-prefix .wy-input-context{border-right:0}.wy-control-group.wy-control-group-error .wy-form-message,.wy-control-group.wy-control-group-error>label{color:#e74c3c}.wy-control-group.wy-control-group-error input[type="text"],.wy-control-group.wy-control-group-error input[type="password"],.wy-control-group.wy-control-group-error input[type="email"],.wy-control-group.wy-control-group-error input[type="url"],.wy-control-group.wy-control-group-error input[type="date"],.wy-control-group.wy-control-group-error input[type="month"],.wy-control-group.wy-control-group-error input[type="time"],.wy-control-group.wy-control-group-error input[type="datetime"],.wy-control-group.wy-control-group-error input[type="datetime-local"],.wy-control-group.wy-control-group-error input[type="week"],.wy-control-group.wy-control-group-error input[type="number"],.wy-control-group.wy-control-group-error input[type="search"],.wy-control-group.wy-control-group-error input[type="tel"],.wy-control-group.wy-control-group-error input[type="color"]{border:solid 1px #e74c3c}.wy-control-group.wy-control-group-error textarea{border:solid 1px #e74c3c}.wy-inline-validate{white-space:nowrap}.wy-inline-validate .wy-input-context{padding:0.5em 0.625em;display:inline-block;font-size:80%}.wy-inline-validate.wy-inline-validate-success .wy-input-context{color:#27ae60}.wy-inline-validate.wy-inline-validate-danger .wy-input-context{color:#e74c3c}.wy-inline-validate.wy-inline-validate-warning .wy-input-context{color:#e67e22}.wy-inline-validate.wy-inline-validate-info .wy-input-context{color:#2980b9}.rotate-90{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.rotate-180{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.rotate-270{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.mirror{-webkit-transform:scaleX(-1);-moz-transform:scaleX(-1);-ms-transform:scaleX(-1);-o-transform:scaleX(-1);transform:scaleX(-1)}.mirror.rotate-90{-webkit-transform:scaleX(-1) rotate(90deg);-moz-transform:scaleX(-1) rotate(90deg);-ms-transform:scaleX(-1) rotate(90deg);-o-transform:scaleX(-1) rotate(90deg);transform:scaleX(-1) rotate(90deg)}.mirror.rotate-180{-webkit-transform:scaleX(-1) rotate(180deg);-moz-transform:scaleX(-1) rotate(180deg);-ms-transform:scaleX(-1) rotate(180deg);-o-transform:scaleX(-1) rotate(180deg);transform:scaleX(-1) rotate(180deg)}.mirror.rotate-270{-webkit-transform:scaleX(-1) rotate(270deg);-moz-transform:scaleX(-1) rotate(270deg);-ms-transform:scaleX(-1) rotate(270deg);-o-transform:scaleX(-1) rotate(270deg);transform:scaleX(-1) rotate(270deg)}@media only screen and (max-width: 480px){.wy-form button[type="submit"]{margin:0.7em 0 0}.wy-form input[type="text"],.wy-form input[type="password"],.wy-form input[type="email"],.wy-form input[type="url"],.wy-form input[type="date"],.wy-form input[type="month"],.wy-form input[type="time"],.wy-form input[type="datetime"],.wy-form input[type="datetime-local"],.wy-form input[type="week"],.wy-form input[type="number"],.wy-form input[type="search"],.wy-form input[type="tel"],.wy-form input[type="color"]{margin-bottom:0.3em;display:block}.wy-form label{margin-bottom:0.3em;display:block}.wy-form input[type="password"],.wy-form input[type="email"],.wy-form input[type="url"],.wy-form input[type="date"],.wy-form input[type="month"],.wy-form input[type="time"],.wy-form input[type="datetime"],.wy-form input[type="datetime-local"],.wy-form input[type="week"],.wy-form input[type="number"],.wy-form input[type="search"],.wy-form input[type="tel"],.wy-form input[type="color"]{margin-bottom:0}.wy-form-aligned .wy-control-group label{margin-bottom:0.3em;text-align:left;display:block;width:100%}.wy-form-aligned .wy-control{margin:1.5em 0 0 0}.wy-form .wy-help-inline,.wy-form-message-inline,.wy-form-message{display:block;font-size:80%;padding:6px 0}}@media screen and (max-width: 768px){.tablet-hide{display:none}}@media screen and (max-width: 480px){.mobile-hide{display:none}}.float-left{float:left}.float-right{float:right}.full-width{width:100%}.wy-table,.rst-content table.docutils,.rst-content table.field-list{border-collapse:collapse;border-spacing:0;empty-cells:show;margin-bottom:24px}.wy-table caption,.rst-content table.docutils caption,.rst-content table.field-list caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.wy-table td,.rst-content table.docutils td,.rst-content table.field-list td,.wy-table th,.rst-content table.docutils th,.rst-content table.field-list th{font-size:90%;margin:0;overflow:visible;padding:8px 16px}.wy-table td:first-child,.rst-content table.docutils td:first-child,.rst-content table.field-list td:first-child,.wy-table th:first-child,.rst-content table.docutils th:first-child,.rst-content table.field-list th:first-child{border-left-width:0}.wy-table thead,.rst-content table.docutils thead,.rst-content table.field-list thead{color:#000;text-align:left;vertical-align:bottom;white-space:nowrap}.wy-table thead th,.rst-content table.docutils thead th,.rst-content table.field-list thead th{font-weight:bold;border-bottom:solid 2px #e1e4e5}.wy-table td,.rst-content table.docutils td,.rst-content table.field-list td{background-color:transparent;vertical-align:middle}.wy-table td p,.rst-content table.docutils td p,.rst-content table.field-list td p{line-height:18px;margin-bottom:0}.wy-table .wy-table-cell-min,.rst-content table.docutils .wy-table-cell-min,.rst-content table.field-list .wy-table-cell-min{width:1%;padding-right:0}.wy-table .wy-table-cell-min input[type=checkbox],.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox],.wy-table .wy-table-cell-min input[type=checkbox],.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox]{margin:0}.wy-table-secondary{color:gray;font-size:90%}.wy-table-tertiary{color:gray;font-size:80%}.wy-table-odd td,.wy-table-striped tr:nth-child(2n-1) td,.rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td{background-color:#f3f6f6}.wy-table-backed{background-color:#f3f6f6}.wy-table-bordered-all,.rst-content table.docutils{border:1px solid #e1e4e5}.wy-table-bordered-all td,.rst-content table.docutils td{border-bottom:1px solid #e1e4e5;border-left:1px solid #e1e4e5}.wy-table-bordered-all tbody>tr:last-child td,.rst-content table.docutils tbody>tr:last-child td{border-bottom-width:0}.wy-table-bordered{border:1px solid #e1e4e5}.wy-table-bordered-rows td{border-bottom:1px solid #e1e4e5}.wy-table-bordered-rows tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal td,.wy-table-horizontal th{border-width:0 0 1px 0;border-bottom:1px solid #e1e4e5}.wy-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.wy-table-responsive{margin-bottom:24px;max-width:100%;overflow:auto}.wy-table-responsive table{margin-bottom:0 !important}.wy-table-responsive table td,.wy-table-responsive table th{white-space:nowrap}a{color:#2980b9;text-decoration:none}a:hover{color:#3091d1}a:visited{color:#9b59b6}html{height:100%;overflow-x:hidden}body{font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;font-weight:normal;color:#404040;min-height:100%;overflow-x:hidden;background:#edf0f2}.wy-text-left{text-align:left}.wy-text-center{text-align:center}.wy-text-right{text-align:right}.wy-text-large{font-size:120%}.wy-text-normal{font-size:100%}.wy-text-small,small{font-size:80%}.wy-text-strike{text-decoration:line-through}.wy-text-warning{color:#e67e22 !important}a.wy-text-warning:hover{color:#eb9950 !important}.wy-text-info{color:#2980b9 !important}a.wy-text-info:hover{color:#409ad5 !important}.wy-text-success{color:#27ae60 !important}a.wy-text-success:hover{color:#36d278 !important}.wy-text-danger{color:#e74c3c !important}a.wy-text-danger:hover{color:#ed7669 !important}.wy-text-neutral{color:#404040 !important}a.wy-text-neutral:hover{color:#595959 !important}h1,h2,h3,h4,h5,h6,legend{margin-top:0;font-weight:700;font-family:"Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif}p{line-height:24px;margin:0;font-size:16px;margin-bottom:24px}h1{font-size:175%}h2{font-size:150%}h3{font-size:125%}h4{font-size:115%}h5{font-size:110%}h6{font-size:100%}code,.rst-content tt{white-space:nowrap;max-width:100%;background:#fff;border:solid 1px #e1e4e5;font-size:75%;padding:0 5px;font-family:"Incosolata","Consolata","Monaco",monospace;color:#e74c3c;overflow-x:auto}code.code-large,.rst-content tt.code-large{font-size:90%}.wy-plain-list-disc,.rst-content .section ul,.rst-content .toctree-wrapper ul,article ul{list-style:disc;line-height:24px;margin-bottom:24px}.wy-plain-list-disc li,.rst-content .section ul li,.rst-content .toctree-wrapper ul li,article ul li{list-style:disc;margin-left:24px}.wy-plain-list-disc li ul,.rst-content .section ul li ul,.rst-content .toctree-wrapper ul li ul,article ul li ul{margin-bottom:0}.wy-plain-list-disc li li,.rst-content .section ul li li,.rst-content .toctree-wrapper ul li li,article ul li li{list-style:circle}.wy-plain-list-disc li li li,.rst-content .section ul li li li,.rst-content .toctree-wrapper ul li li li,article ul li li li{list-style:square}.wy-plain-list-decimal,.rst-content .section ol,.rst-content ol.arabic,article ol{list-style:decimal;line-height:24px;margin-bottom:24px}.wy-plain-list-decimal li,.rst-content .section ol li,.rst-content ol.arabic li,article ol li{list-style:decimal;margin-left:24px}.codeblock-example{border:1px solid #e1e4e5;border-bottom:none;padding:24px;padding-top:48px;font-weight:500;background:#fff;position:relative}.codeblock-example:after{content:"Example";position:absolute;top:0px;left:0px;background:#9b59b6;color:#fff;padding:6px 12px}.codeblock-example.prettyprint-example-only{border:1px solid #e1e4e5;margin-bottom:24px}.codeblock,pre.literal-block,.rst-content .literal-block,.rst-content pre.literal-block,div[class^='highlight']{border:1px solid #e1e4e5;padding:0px;overflow-x:auto;background:#fff;margin:1px 0 24px 0}.codeblock div[class^='highlight'],pre.literal-block div[class^='highlight'],.rst-content .literal-block div[class^='highlight'],div[class^='highlight'] div[class^='highlight']{border:none;background:none;margin:0}div[class^='highlight'] td.code{width:100%}.linenodiv pre{border-right:solid 1px #e6e9ea;margin:0;padding:12px 12px;font-family:"Incosolata","Consolata","Monaco",monospace;font-size:12px;line-height:1.5;color:#d9d9d9}div[class^='highlight'] pre{white-space:pre;margin:0;padding:12px 12px;font-family:"Incosolata","Consolata","Monaco",monospace;font-size:12px;line-height:1.5;display:block;overflow:auto;color:#404040}@media print{.codeblock,pre.literal-block,.rst-content .literal-block,.rst-content pre.literal-block,div[class^='highlight'],div[class^='highlight'] pre{white-space:pre-wrap}}.hll{background-color:#ffc;margin:0 -12px;padding:0 12px;display:block}.c{color:#998;font-style:italic}.err{color:#a61717;background-color:#e3d2d2}.k{font-weight:bold}.o{font-weight:bold}.cm{color:#998;font-style:italic}.cp{color:#999;font-weight:bold}.c1{color:#998;font-style:italic}.cs{color:#999;font-weight:bold;font-style:italic}.gd{color:#000;background-color:#fdd}.gd .x{color:#000;background-color:#faa}.ge{font-style:italic}.gr{color:#a00}.gh{color:#999}.gi{color:#000;background-color:#dfd}.gi .x{color:#000;background-color:#afa}.go{color:#888}.gp{color:#555}.gs{font-weight:bold}.gu{color:purple;font-weight:bold}.gt{color:#a00}.kc{font-weight:bold}.kd{font-weight:bold}.kn{font-weight:bold}.kp{font-weight:bold}.kr{font-weight:bold}.kt{color:#458;font-weight:bold}.m{color:#099}.s{color:#d14}.n{color:#333}.na{color:teal}.nb{color:#0086b3}.nc{color:#458;font-weight:bold}.no{color:teal}.ni{color:purple}.ne{color:#900;font-weight:bold}.nf{color:#900;font-weight:bold}.nn{color:#555}.nt{color:navy}.nv{color:teal}.ow{font-weight:bold}.w{color:#bbb}.mf{color:#099}.mh{color:#099}.mi{color:#099}.mo{color:#099}.sb{color:#d14}.sc{color:#d14}.sd{color:#d14}.s2{color:#d14}.se{color:#d14}.sh{color:#d14}.si{color:#d14}.sx{color:#d14}.sr{color:#009926}.s1{color:#d14}.ss{color:#990073}.bp{color:#999}.vc{color:teal}.vg{color:teal}.vi{color:teal}.il{color:#099}.gc{color:#999;background-color:#eaf2f5}.wy-breadcrumbs li{display:inline-block}.wy-breadcrumbs li.wy-breadcrumbs-aside{float:right}.wy-breadcrumbs li a{display:inline-block;padding:5px}.wy-breadcrumbs li a:first-child{padding-left:0}.wy-breadcrumbs-extra{margin-bottom:0;color:#b3b3b3;font-size:80%;display:inline-block}@media screen and (max-width: 480px){.wy-breadcrumbs-extra{display:none}.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}@media print{.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}.wy-affix{position:fixed;top:1.618em}.wy-menu a:hover{text-decoration:none}.wy-menu-horiz{*zoom:1}.wy-menu-horiz:before,.wy-menu-horiz:after{display:table;content:""}.wy-menu-horiz:after{clear:both}.wy-menu-horiz ul,.wy-menu-horiz li{display:inline-block}.wy-menu-horiz li:hover{background:rgba(255,255,255,0.1)}.wy-menu-horiz li.divide-left{border-left:solid 1px #404040}.wy-menu-horiz li.divide-right{border-right:solid 1px #404040}.wy-menu-horiz a{height:32px;display:inline-block;line-height:32px;padding:0 16px}.wy-menu-vertical header{height:32px;display:inline-block;line-height:32px;padding:0 1.618em;display:block;font-weight:bold;text-transform:uppercase;font-size:80%;color:#2980b9;white-space:nowrap}.wy-menu-vertical ul{margin-bottom:0}.wy-menu-vertical li.divide-top{border-top:solid 1px #404040}.wy-menu-vertical li.divide-bottom{border-bottom:solid 1px #404040}.wy-menu-vertical li.current{background:#e3e3e3}.wy-menu-vertical li.current a{color:gray;border-right:solid 1px #c9c9c9;padding:0.4045em 2.427em}.wy-menu-vertical li.current a:hover{background:#d6d6d6}.wy-menu-vertical li.on a,.wy-menu-vertical li.current>a{color:#404040;padding:0.4045em 1.618em;font-weight:bold;position:relative;background:#fcfcfc;border:none;border-bottom:solid 1px #c9c9c9;border-top:solid 1px #c9c9c9;padding-left:1.618em -4px}.wy-menu-vertical li.on a:hover,.wy-menu-vertical li.current>a:hover{background:#fcfcfc}.wy-menu-vertical li.toctree-l2.current>a{background:#c9c9c9;padding:0.4045em 2.427em}.wy-menu-vertical li.current ul{display:block}.wy-menu-vertical li ul{margin-bottom:0;display:none}.wy-menu-vertical .local-toc li ul{display:block}.wy-menu-vertical li ul li a{margin-bottom:0;color:#b3b3b3;font-weight:normal}.wy-menu-vertical a{display:inline-block;line-height:18px;padding:0.4045em 1.618em;display:block;position:relative;font-size:90%;color:#b3b3b3}.wy-menu-vertical a:hover{background-color:#4e4a4a;cursor:pointer}.wy-menu-vertical a:active{background-color:#2980b9;cursor:pointer;color:#fff}.wy-side-nav-search{z-index:200;background-color:#2980b9;text-align:center;padding:0.809em;display:block;color:#fcfcfc;margin-bottom:0.809em}.wy-side-nav-search input[type=text]{width:100%;border-radius:50px;padding:6px 12px;border-color:#2472a4}.wy-side-nav-search img{display:block;margin:auto auto 0.809em auto;height:45px;width:45px;background-color:#2980b9;padding:5px;border-radius:100%}.wy-side-nav-search>a,.wy-side-nav-search .wy-dropdown>a{color:#fcfcfc;font-size:100%;font-weight:bold;display:inline-block;padding:4px 6px;margin-bottom:0.809em}.wy-side-nav-search>a:hover,.wy-side-nav-search .wy-dropdown>a:hover{background:rgba(255,255,255,0.1)}.wy-nav .wy-menu-vertical header{color:#2980b9}.wy-nav .wy-menu-vertical a{color:#b3b3b3}.wy-nav .wy-menu-vertical a:hover{background-color:#2980b9;color:#fff}[data-menu-wrap]{-webkit-transition:all 0.2s ease-in;-moz-transition:all 0.2s ease-in;transition:all 0.2s ease-in;position:absolute;opacity:1;width:100%;opacity:0}[data-menu-wrap].move-center{left:0;right:auto;opacity:1}[data-menu-wrap].move-left{right:auto;left:-100%;opacity:0}[data-menu-wrap].move-right{right:-100%;left:auto;opacity:0}.wy-body-for-nav{background:left repeat-y #fcfcfc;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxOERBMTRGRDBFMUUxMUUzODUwMkJCOThDMEVFNURFMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxOERBMTRGRTBFMUUxMUUzODUwMkJCOThDMEVFNURFMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjE4REExNEZCMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjE4REExNEZDMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+EwrlwAAAAA5JREFUeNpiMDU0BAgwAAE2AJgB9BnaAAAAAElFTkSuQmCC);background-size:300px 1px}.wy-grid-for-nav{position:absolute;width:100%;height:100%}.wy-nav-side{position:absolute;top:0;left:0;width:300px;overflow:hidden;min-height:100%;background:#343131;z-index:200}.wy-nav-top{display:none;background:#2980b9;color:#fff;padding:0.4045em 0.809em;position:relative;line-height:50px;text-align:center;font-size:100%;*zoom:1}.wy-nav-top:before,.wy-nav-top:after{display:table;content:""}.wy-nav-top:after{clear:both}.wy-nav-top a{color:#fff;font-weight:bold}.wy-nav-top img{margin-right:12px;height:45px;width:45px;background-color:#2980b9;padding:5px;border-radius:100%}.wy-nav-top i{font-size:30px;float:left;cursor:pointer}.wy-nav-content-wrap{margin-left:300px;background:#fcfcfc;min-height:100%}.wy-nav-content{padding:1.618em 3.236em;height:100%;max-width:800px;margin:auto}.wy-body-mask{position:fixed;width:100%;height:100%;background:rgba(0,0,0,0.2);display:none;z-index:499}.wy-body-mask.on{display:block}footer{color:#999}footer p{margin-bottom:12px}.rst-footer-buttons{*zoom:1}.rst-footer-buttons:before,.rst-footer-buttons:after{display:table;content:""}.rst-footer-buttons:after{clear:both}#search-results .search li{margin-bottom:24px;border-bottom:solid 1px #e1e4e5;padding-bottom:24px}#search-results .search li:first-child{border-top:solid 1px #e1e4e5;padding-top:24px}#search-results .search li a{font-size:120%;margin-bottom:12px;display:inline-block}#search-results .context{color:gray;font-size:90%}@media screen and (max-width: 768px){.wy-body-for-nav{background:#fcfcfc}.wy-nav-top{display:block}.wy-nav-side{left:-300px}.wy-nav-side.shift{width:85%;left:0}.wy-nav-content-wrap{margin-left:0}.wy-nav-content-wrap .wy-nav-content{padding:1.618em}.wy-nav-content-wrap.shift{position:fixed;min-width:100%;left:85%;top:0;height:100%;overflow:hidden}}@media screen and (min-width: 1400px){.wy-nav-content-wrap{background:rgba(0,0,0,0.05)}.wy-nav-content{margin:0;background:#fcfcfc}}@media print{.wy-nav-side{display:none}.wy-nav-content-wrap{margin-left:0}}nav.stickynav{position:fixed;top:0}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;border-top:solid 10px #343131;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60;*zoom:1}.rst-versions .rst-current-version:before,.rst-versions .rst-current-version:after{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-versions .rst-current-version .fa,.rst-versions .rst-current-version .rst-content .admonition-title,.rst-content .rst-versions .rst-current-version .admonition-title,.rst-versions .rst-current-version .rst-content h1 .headerlink,.rst-content h1 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h2 .headerlink,.rst-content h2 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h3 .headerlink,.rst-content h3 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h4 .headerlink,.rst-content h4 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h5 .headerlink,.rst-content h5 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h6 .headerlink,.rst-content h6 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content dl dt .headerlink,.rst-content dl dt .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .icon{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:gray;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:solid 1px #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px}.rst-versions.rst-badge .icon-book{float:none}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge .rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width: 768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}img{width:100%;height:auto}}.rst-content img{max-width:100%;height:auto !important}.rst-content div.figure{margin-bottom:24px}.rst-content div.figure.align-center{text-align:center}.rst-content .section>img{margin-bottom:24px}.rst-content blockquote{margin-left:24px;line-height:24px;margin-bottom:24px}.rst-content .note .last,.rst-content .attention .last,.rst-content .caution .last,.rst-content .danger .last,.rst-content .error .last,.rst-content .hint .last,.rst-content .important .last,.rst-content .tip .last,.rst-content .warning .last,.rst-content .seealso .last{margin-bottom:0}.rst-content .admonition-title:before{margin-right:4px}.rst-content .admonition table{border-color:rgba(0,0,0,0.1)}.rst-content .admonition table td,.rst-content .admonition table th{background:transparent !important;border-color:rgba(0,0,0,0.1) !important}.rst-content .section ol.loweralpha,.rst-content .section ol.loweralpha li{list-style:lower-alpha}.rst-content .section ol.upperalpha,.rst-content .section ol.upperalpha li{list-style:upper-alpha}.rst-content .section ol p,.rst-content .section ul p{margin-bottom:12px}.rst-content .line-block{margin-left:24px}.rst-content .topic-title{font-weight:bold;margin-bottom:12px}.rst-content .toc-backref{color:#404040}.rst-content .align-right{float:right;margin:0px 0px 24px 24px}.rst-content .align-left{float:left;margin:0px 24px 24px 0px}.rst-content .align-center{margin:auto;display:block}.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink{display:none;visibility:hidden;font-size:14px}.rst-content h1 .headerlink:after,.rst-content h2 .headerlink:after,.rst-content h3 .headerlink:after,.rst-content h4 .headerlink:after,.rst-content h5 .headerlink:after,.rst-content h6 .headerlink:after,.rst-content dl dt .headerlink:after{visibility:visible;content:"\f0c1";font-family:FontAwesome;display:inline-block}.rst-content h1:hover .headerlink,.rst-content h2:hover .headerlink,.rst-content h3:hover .headerlink,.rst-content h4:hover .headerlink,.rst-content h5:hover .headerlink,.rst-content h6:hover .headerlink,.rst-content dl dt:hover .headerlink{display:inline-block}.rst-content .sidebar{float:right;width:40%;display:block;margin:0 0 24px 24px;padding:24px;background:#f3f6f6;border:solid 1px #e1e4e5}.rst-content .sidebar p,.rst-content .sidebar ul,.rst-content .sidebar dl{font-size:90%}.rst-content .sidebar .last{margin-bottom:0}.rst-content .sidebar .sidebar-title{display:block;font-family:"Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif;font-weight:bold;background:#e1e4e5;padding:6px 12px;margin:-24px;margin-bottom:24px;font-size:100%}.rst-content .highlighted{background:#f1c40f;display:inline-block;font-weight:bold;padding:0 6px}.rst-content .footnote-reference,.rst-content .citation-reference{vertical-align:super;font-size:90%}.rst-content table.docutils.citation,.rst-content table.docutils.footnote{background:none;border:none;color:#999}.rst-content table.docutils.citation td,.rst-content table.docutils.citation tr,.rst-content table.docutils.footnote td,.rst-content table.docutils.footnote tr{border:none;background-color:transparent !important;white-space:normal}.rst-content table.docutils.citation td.label,.rst-content table.docutils.footnote td.label{padding-left:0;padding-right:0;vertical-align:top}.rst-content table.field-list{border:none}.rst-content table.field-list td{border:none;padding-top:5px}.rst-content table.field-list td>strong{display:inline-block;margin-top:3px}.rst-content table.field-list .field-name{padding-right:10px;text-align:left;white-space:nowrap}.rst-content table.field-list .field-body{text-align:left;padding-left:0}.rst-content tt{color:#000}.rst-content tt big,.rst-content tt em{font-size:100% !important;line-height:normal}.rst-content tt .xref,a .rst-content tt{font-weight:bold}.rst-content a tt{color:#2980b9}.rst-content dl{margin-bottom:24px}.rst-content dl dt{font-weight:bold}.rst-content dl p,.rst-content dl table,.rst-content dl ul,.rst-content dl ol{margin-bottom:12px !important}.rst-content dl dd{margin:0 0 12px 24px}.rst-content dl:not(.docutils){margin-bottom:24px}.rst-content dl:not(.docutils) dt{display:inline-block;margin:6px 0;font-size:90%;line-height:normal;background:#e7f2fa;color:#2980b9;border-top:solid 3px #6ab0de;padding:6px;position:relative}.rst-content dl:not(.docutils) dt:before{color:#6ab0de}.rst-content dl:not(.docutils) dt .headerlink{color:#404040;font-size:100% !important}.rst-content dl:not(.docutils) dl dt{margin-bottom:6px;border:none;border-left:solid 3px #ccc;background:#f0f0f0;color:gray}.rst-content dl:not(.docutils) dl dt .headerlink{color:#404040;font-size:100% !important}.rst-content dl:not(.docutils) dt:first-child{margin-top:0}.rst-content dl:not(.docutils) tt{font-weight:bold}.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) tt.descclassname{background-color:transparent;border:none;padding:0;font-size:100% !important}.rst-content dl:not(.docutils) tt.descname{font-weight:bold}.rst-content dl:not(.docutils) .optional{display:inline-block;padding:0 4px;color:#000;font-weight:bold}.rst-content dl:not(.docutils) .property{display:inline-block;padding-right:8px}.rst-content .viewcode-link,.rst-content .viewcode-back{display:inline-block;color:#27ae60;font-size:80%;padding-left:24px}.rst-content .viewcode-back{display:block;float:right}@media screen and (max-width: 480px){.rst-content .sidebar{width:100%}}span[id*='MathJax-Span']{color:#404040} diff --git a/docs/_build/html/_static/default.css b/docs/_build/html/_static/default.css new file mode 100644 index 0000000..5f1399a --- /dev/null +++ b/docs/_build/html/_static/default.css @@ -0,0 +1,256 @@ +/* + * default.css_t + * ~~~~~~~~~~~~~ + * + * Sphinx stylesheet -- default theme. + * + * :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +@import url("basic.css"); + +/* -- page layout ----------------------------------------------------------- */ + +body { + font-family: sans-serif; + font-size: 100%; + background-color: #11303d; + color: #000; + margin: 0; + padding: 0; +} + +div.document { + background-color: #1c4e63; +} + +div.documentwrapper { + float: left; + width: 100%; +} + +div.bodywrapper { + margin: 0 0 0 230px; +} + +div.body { + background-color: #ffffff; + color: #000000; + padding: 0 20px 30px 20px; +} + +div.footer { + color: #ffffff; + width: 100%; + padding: 9px 0 9px 0; + text-align: center; + font-size: 75%; +} + +div.footer a { + color: #ffffff; + text-decoration: underline; +} + +div.related { + background-color: #133f52; + line-height: 30px; + color: #ffffff; +} + +div.related a { + color: #ffffff; +} + +div.sphinxsidebar { +} + +div.sphinxsidebar h3 { + font-family: 'Trebuchet MS', sans-serif; + color: #ffffff; + font-size: 1.4em; + font-weight: normal; + margin: 0; + padding: 0; +} + +div.sphinxsidebar h3 a { + color: #ffffff; +} + +div.sphinxsidebar h4 { + font-family: 'Trebuchet MS', sans-serif; + color: #ffffff; + font-size: 1.3em; + font-weight: normal; + margin: 5px 0 0 0; + padding: 0; +} + +div.sphinxsidebar p { + color: #ffffff; +} + +div.sphinxsidebar p.topless { + margin: 5px 10px 10px 10px; +} + +div.sphinxsidebar ul { + margin: 10px; + padding: 0; + color: #ffffff; +} + +div.sphinxsidebar a { + color: #98dbcc; +} + +div.sphinxsidebar input { + border: 1px solid #98dbcc; + font-family: sans-serif; + font-size: 1em; +} + + + +/* -- hyperlink styles ------------------------------------------------------ */ + +a { + color: #355f7c; + text-decoration: none; +} + +a:visited { + color: #355f7c; + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + + + +/* -- body styles ----------------------------------------------------------- */ + +div.body h1, +div.body h2, +div.body h3, +div.body h4, +div.body h5, +div.body h6 { + font-family: 'Trebuchet MS', sans-serif; + background-color: #f2f2f2; + font-weight: normal; + color: #20435c; + border-bottom: 1px solid #ccc; + margin: 20px -20px 10px -20px; + padding: 3px 0 3px 10px; +} + +div.body h1 { margin-top: 0; font-size: 200%; } +div.body h2 { font-size: 160%; } +div.body h3 { font-size: 140%; } +div.body h4 { font-size: 120%; } +div.body h5 { font-size: 110%; } +div.body h6 { font-size: 100%; } + +a.headerlink { + color: #c60f0f; + font-size: 0.8em; + padding: 0 4px 0 4px; + text-decoration: none; +} + +a.headerlink:hover { + background-color: #c60f0f; + color: white; +} + +div.body p, div.body dd, div.body li { + text-align: justify; + line-height: 130%; +} + +div.admonition p.admonition-title + p { + display: inline; +} + +div.admonition p { + margin-bottom: 5px; +} + +div.admonition pre { + margin-bottom: 5px; +} + +div.admonition ul, div.admonition ol { + margin-bottom: 5px; +} + +div.note { + background-color: #eee; + border: 1px solid #ccc; +} + +div.seealso { + background-color: #ffc; + border: 1px solid #ff6; +} + +div.topic { + background-color: #eee; +} + +div.warning { + background-color: #ffe4e4; + border: 1px solid #f66; +} + +p.admonition-title { + display: inline; +} + +p.admonition-title:after { + content: ":"; +} + +pre { + padding: 5px; + background-color: #eeffcc; + color: #333333; + line-height: 120%; + border: 1px solid #ac9; + border-left: none; + border-right: none; +} + +tt { + background-color: #ecf0f3; + padding: 0 1px 0 1px; + font-size: 0.95em; +} + +th { + background-color: #ede; +} + +.warning tt { + background: #efc2c2; +} + +.note tt { + background: #d6d6d6; +} + +.viewcode-back { + font-family: sans-serif; +} + +div.viewcode-block:target { + background-color: #f4debf; + border-top: 1px solid #ac9; + border-bottom: 1px solid #ac9; +} \ No newline at end of file diff --git a/docs/_build/html/_static/doctools.js b/docs/_build/html/_static/doctools.js new file mode 100644 index 0000000..c5455c9 --- /dev/null +++ b/docs/_build/html/_static/doctools.js @@ -0,0 +1,238 @@ +/* + * doctools.js + * ~~~~~~~~~~~ + * + * Sphinx JavaScript utilities for all documentation. + * + * :copyright: Copyright 2007-2014 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) { + if (node.nodeType == 3) { + var val = node.nodeValue; + var pos = val.toLowerCase().indexOf(text); + if (pos >= 0 && !jQuery(node.parentNode).hasClass(className)) { + var 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); + } + } + else if (!jQuery(node).is("button, select, textarea")) { + jQuery.each(node.childNodes, function() { + highlight(this); + }); + } + } + return this.each(function() { + highlight(this); + }); +}; + +/** + * Small JavaScript module for the documentation. + */ +var Documentation = { + + init : function() { + this.fixFirefoxAnchorBug(); + this.highlightSearchWords(); + this.initIndexTable(); + }, + + /** + * 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 + */ + 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); + } +}; + +// quick alias for translations +_ = Documentation.gettext; + +$(document).ready(function() { + Documentation.init(); +}); diff --git a/docs/_build/html/_static/down-pressed.png b/docs/_build/html/_static/down-pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..6f7ad782782e4f8e39b0c6e15c7344700cdd2527 GIT binary patch literal 368 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6U4S$Y z{B+)352QE?JR*yM+OLB!qm#z$3ZNi+iKnkC`z>}Z23@f-Ava~9&<9T!#}JFtXD=!G zGdl{fK6ro2OGiOl+hKvH6i=D3%%Y^j`yIkRn!8O>@bG)IQR0{Kf+mxNd=_WScA8u_ z3;8(7x2){m9`nt+U(Nab&1G)!{`SPVpDX$w8McLTzAJ39wprG3p4XLq$06M`%}2Yk zRPPsbES*dnYm1wkGL;iioAUB*Or2kz6(-M_r_#Me-`{mj$Z%( literal 0 HcmV?d00001 diff --git a/docs/_build/html/_static/down.png b/docs/_build/html/_static/down.png new file mode 100644 index 0000000000000000000000000000000000000000..3003a88770de3977d47a2ba69893436a2860f9e7 GIT binary patch literal 363 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6U4S$Y z{B+)352QE?JR*yM+OLB!qm#z$3ZNi+iKnkC`z>}xaV3tUZ$qnrLa#kt978NlpS`ru z&)HFc^}^>{UOEce+71h5nn>6&w6A!ieNbu1wh)UGh{8~et^#oZ1# z>T7oM=FZ~xXWnTo{qnXm$ZLOlqGswI_m2{XwVK)IJmBjW{J3-B3x@C=M{ShWt#fYS9M?R;8K$~YwlIqwf>VA7q=YKcwf2DS4Zj5inDKXXB1zl=(YO3ST6~rDq)&z z*o>z)=hxrfG-cDBW0G$!?6{M<$@{_4{m1o%Ub!naEtn|@^frU1tDnm{r-UW|!^@B8 literal 0 HcmV?d00001 diff --git a/docs/_build/html/_static/file.png b/docs/_build/html/_static/file.png new file mode 100644 index 0000000000000000000000000000000000000000..d18082e397e7e54f20721af768c4c2983258f1b4 GIT binary patch literal 392 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP$HyOL$D9)yc9|lc|nKf<9@eUiWd>3GuTC!a5vdfWYEazjncPj5ZQX%+1 zt8B*4=d)!cdDz4wr^#OMYfqGz$1LDFF>|#>*O?AGil(WEs?wLLy{Gj2J_@opDm%`dlax3yA*@*N$G&*ukFv>P8+2CBWO(qz zD0k1@kN>hhb1_6`&wrCswzINE(evt-5C1B^STi2@PmdKI;Vst0PQB6!2kdN literal 0 HcmV?d00001 diff --git a/docs/_build/html/_static/fonts/fontawesome-webfont.eot b/docs/_build/html/_static/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..7c79c6a6bc9a128a2a8eaffbe49a4338625fdbc2 GIT binary patch literal 38205 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 E0QL`y%>V!Z literal 0 HcmV?d00001 diff --git a/docs/_build/html/_static/fonts/fontawesome-webfont.svg b/docs/_build/html/_static/fonts/fontawesome-webfont.svg new file mode 100644 index 0000000..45fdf33 --- /dev/null +++ b/docs/_build/html/_static/fonts/fontawesome-webfont.svg @@ -0,0 +1,414 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/_build/html/_static/fonts/fontawesome-webfont.ttf b/docs/_build/html/_static/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e89738de5eaf8fca33a2f2cdc5cb4929caa62b71 GIT binary patch literal 80652 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 qx{Kk=rVu5YQ9XR<GPS>b$X_& zr@E%wRZdI{1Qg`ERKc?6xc~A0WB<2^i7Cl^2Z(%A-2Y_45ThzCA}aRH^uB$9 zZxMnHfc%hCWMKYgf4_bHZ|OyVd7v9w>)U;^-fxkDfPgv7S$2Y(>N|cju!HXysQ(p` zsg=9QH@g46Jsf$-2G#R*$WrR zL!siQ#}&N%w0_klvWRwyOkEG73-*c8@-muo+C7K=Bo3EnwJa2(a7H43$lf1EY>~q! z3mwbDz*EeaKAD%~!kO0Da<=BcLYl9Y|AkDJC@+d9(`X+~b8i5nitUFHth3Kob^|K4b^+um zCzkfUZBhJvn6ir5@{`bg_*ZV3kqLJlv+x=L&aJNfHpm5oTk-ekfPQ^}Ai4oNyP&<4 z4wo2xW*l46c-}VDn{&eVe+u%qqksC#~wFzVQ80u_cqNWek zbBc>7*?S&wJP1z?ZJE|9HFP$>!(E>9#}Ap1>aQYQ5{}2y3E|wz7&jtHxVVwn=%hQY z;qjf|^^)n)ldPiv0xXz?KE!&$l;lHOUw3+jrV$bPMc!^m7S$1Rb@bVn8fpmcJZb(dkg+ z@wt!x9qkVViWH;cz*ZTCEDchhtu|2t*sFa#t3yk{U5eg*0j@NXFmdy2gmq4a;U4d| zw+Ti^aFMFVRuw{sgP`21@$TBW+f}ke)6b9Z<4V}1tn9->HAsph=1duR5}waeP+aCN z1b`;+bQy!4; zWAS1tVL8em;&*91yvo~$NY~6YK5>+OOFn+brPzsWhB3F&7ys+#>6ZD2yZHTs%Ji0= zjCppcIO<-@cdXvbX^m{?~DK#d`OOh>+l3d&lcz&JI$C>^4TZZGWx^seZ;RM^z0S&l$GBd=)kwB*_S zSXrWfaCYlS=$YSNz+arKAJVqi*_9oqUFIN|rWr%9cE`qOEaNL{q%rE%+s zn2dxp#y2Aq;f!?q{U%gOA|zcRnZLcxrJ*5oaG}C#G4(h2+({}3sph5Z2uOp-=!o*B zvEA_9ALloGI)X^c)m(a2E5LtrP?2Evl#}0E5>wYM+8hc2bEEL!HNWYx0kza0h|D9(I|EO;H%cx zz&r5VY7r(XD=R9tV1|ifO!Y1NrEH(yW88w{M_K~^&I-Dz{p6S&w#WDnvMCUSFP)>nOjbYLi|+d@eZ-Z0-%(Fmv3*onRo_phiTs z*<<^mNoMQ!%PQ@?Uhq?_e$0(YE&Eh_s4zh9olq|UZWT^@hGr3?9#o~~Zhw0Bgzl_y z%H`~0d!wFfltQ z$ewvMz({&pSbm{NXgKFsWu{mPKwAiCyhT80(2RL^sx&hTQo!9G_w7YIwv87L z&EL*@oRfq;GY+a+UUK-Waj8`cl^LSY%|AanbldO`&1_#UL?&Gbxjnim(w8aUAjIVq zu|-rOsAxqMq2V8p-K$xe5QHuvgte({1?@P|@VYDdm^F`yM)nTT>aVON_|Km*Ei~*E zr@%m~S~`bi^{S;B==r(ZDUmxOG?I6IGIODeHC|I zJ&$?qS=jo=;M8<93Vp@EsFe-9Yj<>r(oDS@Oi%cI4b899W&FS2lSCq36kv`XNT#5( zpf0w(hgHuqXm0Enj+ok?MKGml&6~4ty}XBn1~e9Zt0uln;j9wIc@smE2+wNneD<2`b!F@FG2KIL~R0*pnjCX3Y1jQ$Li(HUa|jkS+am1C+1#x zVak2~*An~Ocr8A&@`1ozi)qJ~=ZadctMC>cv$s5bg<#t0V8Hnxwhu4orpP2nrw00Uc zlYMcu%$^icmD1$$?a0GpmcTTGc8mkzC2wJS)DQ{I^2LK?l9dLSJjWY_aZ77^Zz*tt zc4P(+XwBGLj^^Qs$q4Kwi9Fe1^twrXJU4_y z#19xYv^)I`6b6c2=B4QPH|!#FW)RF#+X?IEmFkxV6yY9Jo)t254Ib5j-xd|M@^K>p zxg_qYevP4}x&G$P+7BmmPUzK>x*Y8cT$IJ)0OZEv6lcKx7ITe;!eNi8Ee2>Mm(bCd zf|k4xm{7R)G^I9h_679;JFu?6N{Uh~ANmG@OJP+ELg9t+M@ZSF!DzJQ!Fex8d_Y&n z3ekTwY)0P~TY!#Z*Jkz}?@7n(D14NQZgbF`@P4|;rA5b5qL}R)XmJ=&7IoFWtBg!F zt}M*`RwZyV3Lp8!`&(U(8?F^E4?+HzS}?N<|JsUoIF|MKRHlKS@7%=gXW#x$@qlDU zlT3~3zFji_>C|5oU9G!)Dn87QfE}zYS4WCZWO2o=WJP7lMGmsu-jiZ2^vXp$`C#x? z>dW%K;p=gOm-#PUPkl-6N+NdDF?csf5y-%Tda7O1YRB@LcON{EcN#?Tz}) zWAI#6CM@^ZQ5t;+1YQz~&;iilU}`7hA%AE{pOIohR7Y{bqXdOjmRt>M&UWQ~Vcy(G z)t#ez39hKek_g*xGi{VwY|GE{^B@1Fxn7LNt+~0WHlZ+4a1()LoIberY?m~&=G4-B zcXnOET5IJVC(3i<*C3XWkJ}7sC|D>MR4Rd1{B+;i4%%ocroOwg=sGW%aBgmY92bTR23baR4$iRyZ*1Y=A z|M>#^7&ln6VZ&qe-zB~j*ToWEx&n1xhlkoFE;;nN9TwS11}8(aolu8i+A=6re%zE% z6ry<61v-u$o!cWT@3Y9;5NSdL!Uh$D)<#;-Nx1JYt;-9_j>GZ{wJY>Fw)c$%sjc5u zexe>U(gArOn|f?IbY$jE`;$uW)t(<3p1$1u%6|6EQlPZpgns>a6?`}J`lDx zZ~k4=6Cni(G}dT)Z9SChi0~HSpJ+M_6h%9BQP<30U^z^H^7Rr2`~=ilT4eg?>r457 zLZULx-&4J#p8j_|`%#_bfr2ST@uS!S3QJ&|mzRWv+|@AOa8j77Z{MwpQHkp6I-xb( z_v_|_bY`QVkzciuol;93a`vQ zs^MiHr->$DQ-p`P6~Q3&^mI)f-sHTTwV<$ofW6QE&t%rJs>fj2s)=g}mtnhsk-I*p zc~%VR)-`5C{`@usmN<*JbqT4Z!Vmu#eX$bGP=W;MLOHBA@t=0Jtvf;`-hddU4t}=k zSK%YgWd*P%yD|r}+iO>C0|=gN+t&UV^9u$*$X1`T@$b2dMTn*aVkCBEr=R{#J>v@E zbRlOsdb8t{)^VkO2TK8aqnVj?e``bll#StP?Job(v`beo8&wSH*ys%dKLUMqC}4PC zU%kpgcOkmYTg_iktGxflzP(=`NtiO7tF%TChCz^MW;~tW-8_>&E-`JYM8n;sXeX-? zVKk@vSKZ4V+pZn_$B;L>aUUtV<@A8(he74E_I0&&)`~{Nb$hDX$S=&N4%^*KI-^VV zN$WRG>wc0ZwDBwR*e#R6^+C?U8ziJGm-yTt?qoyaSIC*4ZR@m0?QZ!CO-6^~WYyCm z8>V#|fSd&%8$m{yQFsT-`*Ka2HfmtFEXK=S3_pzeC0P}xX5<@6wTI@>oGpKP-BJe% z)JH>4UQy%uvZ3@Mjas0_wnwcn&k<%9tcihE2Pp7k|Ne&!TjFH`M@mZsUn~&437G!W%z(AAI(q~1`EakbK07<{iGOlA)ML4}J-oG5fWt9w)YWD1x%#l@ z{Iwi29pO{FP0>B{c=Ae(FA7Z}1Y;2S{O=bi$H-?@{~^;PiK-l2|VRp-*vxy!A<(dM`QNPyViJ12&Wy%n%&V|>03~VFw9YCiaPALOch&Q z_Sf+HlkGG4DYzM>{*71uF7m2BFdpH}--V8$WO8LN+A}QFO48--nJf4Z?XsFaIqKv2 zV8e&LktQ{1Imj~E5$%6-cWnTvClrBbk^uoHQi(CLQ&Uo<+zn|B@~SmT6ZfQOznPqq zTS}9bnnHgsIb#8&k|#Xh_CT4?{H$Muv2j8RnX5Z2L?YsKoI5#eV_Q$2zC_We3g#X= zC|BHD-;*lnLrczI9~f4dLqYcL*b5Gw+xho%vhGj*GB}FuMz_)Zzs)=A$94#K{!eAO zL5$K|I*q)&#cM|aqU5Xaya5~#*VEqONEoj(J-_27yNne)DN-Q|Yfll)Qo6|IQ=b;q zNgTSYUBfRpR}DD9=gMYwk&k@jkKunh*(vv3qmit>m?Lbb8PNN0f#bQU&WUQv+`$-B z1T$o{h0h!X_aLr0^6&5q9T-G4sQKl_A|u*jv}e%^NHIhMQNo`CpTisGJbw#3Wli_( zx4we*8a7aDxTEM|-irl=W4U zo@ZTrZh6F`I~@ZF@+cSTc)g=Zm!{17i#RIA_FfF%jeJg^WTY?%fZXHrx6hsK!~H=l zHvHKk;kW}>wrSBhahlN$gCvqdYjH?p%vu5!{Z_w-r+BV<*2zfFQK8qNx_n1X6s$>u zQ6~zqxWRHMLdQ^EhK?}=c+IL1U5X-_Z1&QegVztgU>EO8WEirqWhd{+EYf)~a@=TeOSqCgDZeKe;1KeHv;S1$F3%t3$6ssViVjB>yc&f9=GcMRY z!>x#FTAOw}*Y0dGo1Cx0e*%I9n4oo&IBSXBA<9$=avYwP3#!EvBjM)A@7y0m7f3UNp(@Q9L-?jk@MC*ca za)TGEoDh_~W0540;KZk2>x9wZ3(T?WZ*6Lw=F8*8a4U{H1sPIFX336^8PJI#5P5;@E1hu7-Q@pkx!tLSdB2wSzf zyBFmixHW$o47%2X`R=H`T!$6RrYEZd(U;(m=BFpk;-E*~+A?FOJ24Vlm2->Ne>WUE zSK9l?a3p=Rf20haZOOpi%OhCL6rf~@bY-0{ zxcKfP9A-1jZo4ZF;@1!LaT5oohBZp*JEsxN$-o)o0?=5aJv7TqG3Bnupkka9El=*! za+>50^vO2!iG?T|x7?@V=vHy!123AsIi)3!7>nk0Y!lfCU*C+!0m$ui`VOmj%H~d`w$yZxFsI;3Z8v9|2&wx3J1jhEa$ts1jZdApJKqFL^;fH4 z*M%w)tma4khE+iV8R?njIXpXfo!Vg#M@yhEOdc=VU8ESwMI(e3v8}TFL?Eb&|m{K!{Ucg{@(mQf;V3>w2T4#* zAEt+k)eRJ}gfqF}n>*2x>ha&=r4h-=r%=Q%129#WsN~1uk4T2Ppmo(W@Y_Vk*iQ+^ z9f?)c1Q}3cXNmih-lp|p-CAPk5LTOE&2%s~43FZ}fV-Z>M*DIuwcD`MrbDh+5usH$ zr}rU^G|<}zg_VkseUd0|i}<{jP(xu~5bP4aIfH!RYt{1L&(&>;EW5K^r_U?SE$EJ+ zx9g3=39XGM&;+SCDHPU`G_;7()Yk81^HD;p0`70Bod!noMTae_%&!<=RfO2T7ln>A zIojV4Oaw0kW-a@MuOlrT9*q?vuiN;iUli8-O>c(HFT!sAsJ3NzB{y;a4gw6{@^0`F z4J;VGA>saK!$}h2c<;yzY7^=wi6YikE9T>qZ5mnq`Ps3CI-akDVWnf&g}1~+`b*d^ znbBNa#R_>GCTt?JMhzw84}w~JsY3+vn13 zj^9Tp7>-$r9Veq#1~yM|Bps6aPspt!>ZZ-4lq}_IMCEof`-iC{9RvXZP5g57Pm~U~Pt5$1zovU{%mi^zw!`_V;rZ~V3ioY? z7?+xP1upW+&=6%FNUY5oK?aOS@jP*Z2_iI}uMYh!A)95{Uh$NAI%8*xE#0GT48P0`L;pO2L*9U*c z*=IzuX@##EkH^~8Y3B;zD*6yh0~c`zNkfW`!-S${i2cM(S!+TDjs zIi|HnX6Bv3up*wc^6j^nlw#a-8)GqaSca$^#UWzJYJsTF%HkR^O?gE}rfxxUj@|P; z?0R`mn|CGZLgplF*`j`&9rQ^}a9x9+7LACEG<1c91CC%Rl+(u>^IQXJ8i_K>7)pAy zv{Ge>a_a3|EL*DTxPQllq`|3X`~$cUFUbL>0@v_L}9+ z^~Svk=y*7LSu1;imj@*3ztdAAunHDWT#g#OLuUvzQEI)GSmRhVihHUlGPe+zF=(|k;PwrEOd zBvUSPFVblcER<6&Y6=UMv>cejqse}Fu(;*6Cs>+hB<_>y7+O9_He~P=CaPJzA~VGV z$4HT*eb&No5^b}uk7%BU7P$I@PEn3$PX-TOY|WTn^BC5~R9=z}7M`NtqBSGgB(YCf zY=0Pem~>xvr_z2z_wdK0E9v0W>0}hv>BLU&O5&bEvw}e0Y6m=U( zdM^gqaBpy)UkOFrbR&_`y`hx_gQR7sdFa)UX$sPIc(#sC%w~yTvf!n${aMB7%=n7? zHgPt_*ki&$-CFv5Tq38-gCp=0E4hP>9VwzOBb@;QCsYS(NJD}siSnvn;q(Eq6WVsx z)t5I~e}4s}tLC7TU7qw{RylYhI<}f45su60Fs~6@F5G@z2mfZc zPpC~{a?CyV&}glU`lU#rW4wy14PLojJYiWQ-&>PBPMCIOq5sN4(fZfVEo-It5kO>( z-0cP+c5NZy;sk=hGun25?MzXw?2Nl7RTBt5yf?w6X(yOadjZaX;{9 z&eGWy=Dx4J5J{naM2Z=u+ZCTy&ik=?;4n39C#Y1&XrfTYliB&nzt5`j?2v2EUqi?4 zXW5A8Tkl*)@)mmw#GaOhN?fO-Z6VB1Me6m92vF z!H!j>Qb&j6K2qbyI7;y6T&?&-93O)4q?XwY(%nACKdVU3*6fp+*ZnD%JGN)aVkx~T zzYjA=%u@?RcO_F8`;m-TXF$(pDjSa0s9N{wMvXUunti~`5a=1=5N>GPo;@huZ7Blw-Kq0(b4S{JP+f3PgUE{qHl{~6mn+njuxTv9vj zrM}(Cn_6U}Y*#zKYEaaeV(zsk!L&ilA3I(GAe0@cA-Iipk`{NOtO+sT?is4X$I5j? zE;$*+x>C=*(aAq8eQ#DC6rNO`ceN#h_V;!Uj*n*EES8tDFj^?#Z!=Vs6G6jc?@(u7 ze?Fg&i6w|8Y!cQiVJ^AG-pb6P5RGI{88{h8sQh5OCGAV7|}0x%8|ZtpsoZ0Vr^u3RfP?`l_m(qr|C`chpN*<7A4R#7tAsY)7P ze(o8b(g^jk@{#LK8u^+7q^}KsD%{3T<{l1S?rjfE+&{`JMVA4m4lc;eN6{|H+az&> zuF@LU(BH80t5MZ8V$k)fDq~?lCXc8v09z02tRoo~76 z*!*;*C-|lZErNu~3hNchWdjtr!!6(;dV?W#4Wwse6P=XvPTc^Hduzw&G?!7vrH^T( z5qmKj=U!afFIB)dxcR0h%^7iDZ5qmx#e!dRn0^Z3^IIVtOwR_9pM{Uaikq@NC<6?` z&u`ZZBfsL!1A5fL%J>l}tC+JSqqrw{K1H&8b!5oQK=w+@@r8i*bRC_C2{qhw5D^nW zh!pnJ;SX#T`J7tIw(83E#P|;HH8UE@DTnG2zk}{ZMNP)^Vkd_@(K4#MMuINK?J=eU zlhBOH+>fVSq zO<(JrTlS@q^juk4-D=-yk?@AOC02tM87gk`I$m$Fv^XE%ZLXKXcAGor#SEF4h#&S!P5*RR`0exopuGp@Ue$7luUpBn5xa#G?)#Bl@1h7*%(#8 z`>}yaCVLD4wxk;R=Z;JXMMaghD8BB;ocenKfKo)np*y$hF@&$R(_+IJM;r3jXK>7* zb`?;w=F{O|OVbLn>#;dG`}J4DgdiO6c0=KaT%;xc?S<%Cjqhc}6Io&)O=hX&J>b%d z7hT|ZROSj>%aILdsiNht({eHLWm^Qj6>7=>zyV*kOD~Dm!HALNH~JCP*uAlUrPbYP_9W6wc%2qIF+rB7sE#5OZ%Z0|Rs22~}tK1kE1ui5v{9OA)(+fv0bZ)7tE$ z@uwq%n(Mlsv-;-B$a(i}cw=WS{if^DxM;*OMaVx8nF<%3uOOMj*eH%fA*t3Mc&>iq zjUlP}*=}I2-dPOvWB5N@*fF^WG9}?1oiO}yZQR%3y1NuUZ*Vr-b5);kLTm#&cF|iq zo)fp7r&ivhKKUxN--D{x8%1vU=zWeJ`<7wy!n1#NXCBM>Bw$JMJXR4F3Rbjb9!Cr?&_bN`Q^gC5O!ott+R%cPpCO zVs46N7O{2py?O%}>IZ2}+%r9m%EXl#V!A*j9z$VRHwE#ATM-Oo>-l=8De{X6)Pr6% zh8^(2N@_6gtl1dFemr>#EDWl3>d#7O&#YMNJv8NWxcHz>xs!0`$sHUN7ItYhD*L*2Pt zWDaQST>!q7(`_rr+42rMbLH55cUhy|%=fg^aNpLj|9MXzP=XXxx=Qs#iqGpHT8?&7 z6!OQ}G@>JZ=stZ+0hmO~iy6jc5)xy-yB4h$c#NwJ+m1gRCD}9&c@aR6VVoe@Y@t46 zu$#l1e0^Dk7;;|LYA4L9!JR;l#!%=H-0Hpli_WnNRZI`}1|!!3padFbEi5*>se_!- z$;nE`adT69GCE=6*CGl0nhQ6dV>W6;$+$f!4g2eF6UGbKNv`H@Fs^xdkT3uaVNa=y z<<{CN(S#t`tEs0%!+%_h@H5Q(zSOEEb%tFC+wBJX!bNe5n4gt5wt!*{`lEW!Xzjdy z@xgq<826Y?GJ1r(GY_b%zm@p7U+%O9ZC?kiK~3hspk&<9n-G%A4kjGC00X=c;rOY4 z#q0eK7k+LNc$0dDP+S%WPD96u0sZ2)$W+Xfv%Q*fz7F*YD}3(}z?Dpw60k#=j0o`& zl}8FCNN)T)3NO+pjx6sdjB;PVNSYrya*ptQy1s-jLgERQ*32H10+YH8GRaxf>;CS9;>dp6+duUCX~A^mJqr&MvJ39p$&%X_BjC zgVm1gi9G(*d17rKP+5dSL03~s4)W1vON_ACdjP`KEu!-vOZT!TyDGBYVjw;k%tlNm z?H8dtp{pThq&; zQKo;LPJ(;9^zV*G7TzU`xh`CoDoefMcRx{gcs!oR$6TbUKktA8K;p~YV`rJT=4$k+ zsVbUwpc4a|Tj6Q)w$yO!uvcO1SKi}=qMYD1qBDk}1>qI)4@9y+%ADuUy27QkaW4a# zltqU72AoTjDAUYeKxImvoFf`kXKrVhj%EdN`pB06y@+N@;5!{RzE)DBCouxJ*Q z1lz_Frhk_*Zi*!v&zZ7Iahel}8Pf%_N>|E#GG4-ej$AzK>s{Wq z2x3@14@^cA#%E|&chd@$?Gb)r zu!%HgjRkf868>Q`z%hx6tK3pwJ6?|6_x9JKUo>%4d3$0GEp$)B>$2|NZB1;_2Y+Q55ay(j^PTTI%pHkj? z=n<&$@z#9Z7<#~unCY_Kn(pvsd-5@Vd$L*Q1vkGsBIyuM+d$J@^$zr{U0&tHYPr{L zD%MGI&EA}IH|JQ4|I}6qnC$>tzQw`3`do}tmfd$EG;E8GwCovgMP7qicb<>5Ca|Yi z!;&*I%6bY4o{s48a@*eOBJAs0f+y0{?J^VFTk5dcezUk0b3pIZ)y~i|UJu!`R8p)? zI;WD4RbKp6Ogn`x6~gJsOS#4;cy=TVW#iC91+w`UcfM39bZ~9W%sXa`H3~n!SvtsT zOm_F=T&V%EgX^_R>(+v5JBNR`=-$kP2B8)m9eg5?)cv<2w%;@B-of` z(1h*SaZCdov3EU_Ch6wD$#xLg3pMvtWTfdhKEBi!^Wk3L1s&6olVndKi$=Xu8eK&Y z;0J$;w_68rvD3=)bjsH?VIUQ%i5S%UKayDHyqwf_w&gdMH6K3GX^gg zUIv=E-B5e?zwZN{8lIS@qkeY|c&>>&I%FKhPl%pJrLE-`=xqXndUGQjs!GO{P^pvh zk^q71UYX$Kf%=iMR%CPm17mq*YlbT>wQe1-=JDI@vB~3~XtyDNX1JZTe1WFUrDv)H zo(-yrt<7@DHriz~=83Hm8QGiQ4Ehv0@l+o5OhnjvSXNZ)(wTMMZIFlDQ)%| z=!E!pZxd66Rbe=Am6Qo%JjPf)p?UM}YyJolDk#3JqEMp*QY|7e_QQnmH@G!B!z}qa`UmNVmA?Z@k`~PA z@O~4A&a&r0Rr~QkNZw0*275Gdn}+o>3)e-M_x>mwp$#0&e_$TxRxXjHPxDYH@Y!MV zuo?$y1ZqyGA8Q16Rmc=YCr?JN=2smrxRD^Qjmi zXwdWMIHIM4O~0q`yfrS{xqmwu4{n=q4$&UA3xO z&oAYXNy}Zs#_}2RFGSEEp zE`VO_(PKBHgWnTM8=rLf2K5Umfp|(us$Qrf?)V9-+qM#GTN&5pEDD_vMqQRT$t#3M z0(S>~DBWvtRFUv@Hwxq6kHf!M7|3K-BGqJJSWB%22>!0@o?55>^tw)hU_!Dl)^67O z?Gwxtt#*ZJ6O+w#KdH>a2ZY)b==-_JYbh4Ru@x^-4eZJN7^4euUgsgr!OeWwU&~;B zrSGX5;*q<6DkhOPWnvg(4+x<3>Bp>P&_TIK)m^{*3qQw_9GD;AxS2f_(8AB#Ra7S+ z^Y8RCz3bx?Nb|%ta z9y79_M3F+Qe5f5QS)`z-pR@q!7ks5x-@%-pv}*wk)G{|ECA85<*nV@Y+gw*6X!sHE zD5B`3VXZalk#4}ok1L0Drj{A2SK5SRq^5&62d`*K`;ASdfR)bmwJ`>l{zETY_%RE%KV!$b;9cUhOO$ zUfZu!Z+r=-!wEiW<`q6laNnNpk?&mR3d%D3gq^6-*|3m9n11l&{cH=6^gQ3INb!A4 z+nXr7T+b;Q&d*9ni^EUwgWuzym#}Y3oiHR@atrQ2`_s>E8V91=7F0pHV7n=i{nxC) zOd2dvV}#nB>I!Nxzg1Y_hmRUv^dBN|69zn(dun=4(jS}r5%l-f8mXp+x^a6Y{#L|z zROt|?kiT89{X-cs#mCzx+xfsO}H^+UK`i=@#P!c|kTtFDOfRT2Uy{wvGV9PaN`{`EqZ~eI=^PA6nF7A|(5?HQ zkgnEOG+ThTz3I_N$Wh~^R)YN!mJSAT>Ka6D>Rr9oAJ!nYMMsk;yaoBplHy_fg(3yu zuDQsAS2r<)RpnLEC?P-320<@{bl?3PsgFn$k9mIu`-Md?u3G?8VpFR)c+PgBTCdBG zp-a|F7F&;LSaCPSQ4`h}t5>YiRB4cvXeDJ`QaH)4eyf3pw}o4=u-u9TY2?seE!Loo zS<98TW0C%xhcPD7O|GTgnTVA7M^oBMIx%8{Vb1R{#AQM;@q5<^28&hYH8GqdS#drv zG%y`nl=p!!hVds`G)lHVcHnYaf>}FJ_>cGGiQejWF}u9fWVsW%F}#3=gFg?o*VB)d zgU5oGq?Vr60xrCo>+JQO33I$5sMHinfoq90ar8qKk^9v?|^E-ahz(2~neOa1OT#p4KDp|p?ZTL$#XuHFw(=Bw6 ze94Q3l@ng|gxJD18tHFR@AQ1%;m#MXp-WSDUR=-q?Eb{H+3TFMA3Vbn5HO`=mmp=G zy;DlWPRYq4OUXJ|!pOPWW+rb+@za8qVMJ_D47R-d5G?6ViPx`|J%A@AyF|&ID~nnk zGnax5oie{7q&1BbN?Yi@K6P`PyMaC*hirbKKJt~VlHR(sWXK9`7zw_6+Jcz|Ac`D$ zrl7i#W7?7_&~n$CnRjlo=wZRjX1X%%<$a`htos$Q`LZr1;QSC{^4X0#fMNT%D292g z%Fy-I#;5I@UWCw^%pf01h!wUesgvqrsog8Ed8~aM#?`laRds7*Li;J;+tqE~I@V#L z(N#jk{h_+k{=jsZw!dcn@Q^}Vt$uFp)p{DQ+j$?w)zFdBOp~GNzT%D^B77?mg&3Jq zl*=73X#iH#@iTdNu1kpWr=~%(9dbwRh6FeNBJ>tWO~z}!tPmUDVCTfaR;RtNHuFmD zWUD!2&BsIIBNPE6*P)TA_+>hG#YJT5o*<5{Z5EenF>#0fjwhtVs)nhPi;GiR<-?TF z zk;~TA673(NkVaj(KBc!w@05^onf3r){p@)dSXW+z5Lp53b?WLjJ5O4}&eE6r=G3#l zy9na&jq-~fNu=eZP^F3@M#1VeV%Q;f01*?feWPUTUCiQz{OtlxQ)i&@(#7sf8_RFn z_zl(qN&8!`sG8}DRNz9@oyZ(9k0j>gd*tGkRe2Q9bZcMCsT=#ykBxk8cCY4Gdpwh0 zy*~CL>-Yx0fm$;?pN@TKAG7GRipAf5#Ct~Cv$1(>jow@A%?Hzd978^HCH=@W`nU%) z=`da;>@~y%Ys6noaF$BJ1F^cNy>H*x^%%cTvmR3HCGw~F(nf>cj$+TE&m+X8ZH>5w zj_*JJ5geh<&LG^&-3>MYy%*rG^(k7ws@ z*_b@N#vePW%*V5wbBnJ{$8pss)61p$TJkZ175bmw=WhhQp5(Ib+)Sf5pivxQ6zlO6_a z7r&o1Wltfm8fboXwM*@ zalz;j)vkuSndmtIF_CJE`<2E-gZiOYt@q>xMD!(Jvbu1Sx=WwA z+IJPe(23K1LI1ChdzPLb+7YUrTh|UD7TbSc@KLI|%C=5xH=IrpE}O*9w5la8YxEcv zeV4%MfIM-lweSDZN}B#iA|}#o+Oyfopn2|)Z#cSB_!yEau@Ar{XjGwJSbJMrd(RH* zAS%aCl37VG!#y5G2!6MZW&nf_F#W~qK{Oc_V4Mvrb7rR zaD`}!x$m4bqEVR%Kr?fL zq~QKRCFhO|PIXCZy;8|fbQPb;0^ECu@y=7uu3o+kH$<#({Lu|yC37Xi_2_&M#UP_vB*vzllRG-w1(FRoe6UqPn$t=7S42cMJGFvl+IRP=vyce0b_H5T?##eWt=$YhyyWe?nneKNYaUvqieyUY8aa+3$I)Ln>|D*~Jl z<4Ewq^?;t%9c#%ZRkJOfdR#GGrmDn)lZPgl@3BQD-x5QuuO@^qO-Ns^AG7mEQ3$gEkR)fL~Y3alDY;Pl&n}w-3HeGCb3d2QZUKx?qr>rf; z#Mg1qkMigkZBD4a+RR%=l<)8--dW2Ay=cvslI70vs?8_vtv%oGOZ za4iqRHSUYxDXJ{^+AIq+nny0%+*4Va-JLEbOgR(EEVz*Kn7CJIWsW$3PvO~GMqkz{ZqoU~wYPiMoO9t$Le-2q60_uwD`;<&V<9s)7P^2IFSOJ!r$Yj5Ci>kRS? zPk+I@I?EQ?J*F!&@WN_3l@|$AMNNKAHmq#klK$c#K#A762^-MdahNGs8T4H5k4hfJ zRWPh_TyaB(Dt@~o)m@mw-E$A4opDDRKp5)UbktNSHf;wal=;EX)RVithHKI5U~dv5 zEML6jw9DXf&g^HeIX?T}A-YbjHweU^tM5+J@7g2bmDlz3R~UO)12l!)NlQ-yRiGMp zl-KgM(YRCBbT&Tc8~|79hF07`a5K_oQXg^~Jc#OAq%MpdrgVS?BsR+;jG5TP5jf3Ffl+ zOXvV|59xBeeytPE*WLESN^7lfpZl;gQiB5O_KeD~>}Xn}3brqixTGo$F-0t~XP>gN zT4z2ra&~LS;HK_HtZg-6rY82HZlf}7Xl+%L`{MrxHbBY0^g>0um3@>UI$m$`q@GtQ z1M9?AoyS`1oT4wqQ?;v&4Oc}-Q&;G8d4V-+oJ|s{&pAoYoorN2Zr8bEvpfk5a3?-Y zAI${6CN&fE53C?}^pxyAdgGKG(F;;M;gVBvDN!bDDU};%#^hwAisVc@kz`Ra(m-wx zJt1h6gu9)UP&0G%Op)o2rtX0>y|#;ZnEX8+yPizK!%|4zxD{v(VOnH{7RazY4>epT zd1OjsQbH@v*pgIaMb-=PWg=C<7$xkuwZKq3!ZyaZ8cC_?Ak{6+n+1 zmLiOwlFjG_tUCf&5sQsb!!4BSLZ5VJqMxA3>T#5y^<*ZZxi;_VGUc$qbH}N*RA{lvE1e=RDr0^|+ z#V_zaUX*15k|^*dRgjHdNsQKpBuO^&gg1g&<|8)IA{Z4_wDLx?QRK}wg8~k_0gR%- z!21=oPOg(gFew&dm54>b8b#5-%Rxn`afpHdykO;9+a*b~ldwUwN-}mxCW6gsuuBKe zkVS#;icx|VmGBm@124I|FmJqhwX%+;tfp`IU;A?pxf<$~aij@!p=HeBri%52Z z(IbfxAr`ZX7wZg)*&*8ea#SUvNhYFC#Dp$`wZSR!ga}3=0U)mL5qS%a69J<{OlDOE zdPN?VEh@cyHw%O|9)}U+7Re@yM6BU!MIL)5D#T=v4M6|dWJLk1LvTy7065%6SrkR1 zS(d~GUM9TYAr78*S`<5PHu4T)^Ei&abT_Z^P6=eAohOQ5l4Lqn1l%^!Y&1zC!Nnx< zHltOr5S%-r5`mZ1IwIKZaFU{s_B=R1F@tQ7B!fykfMDSPy9Ggt;Lsauc+n&xc#Dcc z0B~Fhh>`$;T@s82A{qtBsPd9klpPj>T`;&MBG54sJ+@lWV6<3_B3Ny_{0WR%2+B>9cFnbADN)m$rx zZh^K{V75zTOrBBf^dB6bv=IksuT! z1R$;iU*co2wurxSoZ5~0cGcYX$_X)RjEu)*_yl>)+xFJ&x>C-p>!#W5+N<9Y z@4d=sbCm8C{)owA7cyDrBbz<}wg#xCq>Bz`7e*HohSN$zcUDmP=PuJN< zy@b*sDF06J4cCc&fupFumKV5D`cW=wLjNOKW@P61@ozL&W^++96mL%Dq4c+i^!HUF z$9R+;xng#XD*m!>M0JQ)IT|#TS(`h-shUbZ{v>kE!f%@DHMQtthUPfc2XDe(>YEZ{ zb}8A+Q8~pn_MMWdF$lTKHlQNz5c~eX#Op{xzZ}2`rEjXxYis&Z^q~`2_6OX?J{Zzj zb}-bpQRMPPP7CVnlVRGmVH^Ug0Fv+9s2c;{SZxz$A;%dBWfi!`z6fMwCs3Kul%dKw za{1#$x(zEE1|{_Ipcz@L$ZHS4Id@^F%O485OM5_j;4V5qrH=sJ1?OOZ>NA@g>3tMS z1Lt5S_64niFU~A-@qd^+Um!6d7d6O5bI}y6ZkB@9EvmX4BFF5TJGdF#Ol}Uhl3UNX z;*>zK>)eDaB0@0v*Q-n1xbj!5nF$9b-@^oMF)t~lAj=;)fB%Z@S4;g@%%0mP3gbU_ zt@JJ1fAjujeM;$b*Q2_fJbraanv@T1U$OuEN0y6yb7x=CFI}w*3lfCFN|;-$6h5Gdlcr2mJ|5RM#**QStS6R~}q>`hTvx z;;Pka*J8=zy(OEIl+Rqp?*9-jxU|j)Pylo zE%X=&K_cylINahtJLhjbp5HpZ6aJYio4Shoa@yP4yW|JjyRQ7&Gp@Vt489ibED3S# zn5V6TFE+&BPHjg_-*%uR%P4b8xeeS_?h0-{ciWh)e-Rjuk?nB|Ik%RUI>XtMOpuky zG=|x?W7yR$!?vkVZE4aegE6CH`|iGZ^*WQhX~n*SE9V(4d-hn2^Hv_*w_=kl zHnp67;O>1ZH_4dNa54F+)nT{f10wG~zM-{a`G#|sB=lG7@{ZQTl5;ocFR%`Utf%>S ztB82guZGA7?wG^WyuDTM@k9CIzrI3DL_Z{b+NG{&#GXTxZ*QLfGuj7lPp?|K>Z*Y| z(yJOQ#>I<`mWEa7I|gQ7m^f`!>W;zo86fn*UW1&oN20D=hWRfz3j1W@kAyWD@XDU?i4Dj{SYjDa{@DC8QM1+f1&+?d|vy7_8I7+x;*r26~HwPjs8o>>psTU7EbIF zuNJRnR+(L8ttj1sMoFN(q~!pmFC2{d-4oJ_S3kJxrgKOCx#P8m9=wd4sdU>dO7W4? z&f9u$fH(B6$gS!vKI045$7|t!rN?eowDWo|U9q;C%s=-NyB<83H(d7Vhkm!C_=sY* zcPr$q!9!aw7#RI$@2cF2UNXNXULUN}&cnDK1@7-&yW&zTY|}V-II1f>U;nlTlYwL3 zjTzIgcO=U!uZg;#;w0Z11^OW%j?d>^iuNa^-KO8b<#D)q9BwUNrJ;*q$Jp&0&xXIo z-^e~nl()`MpjL5}73`05y2S>VM+9 z)i-O$@{JBlctA1ya=wX+^l$o1MpKKUBluo87wkgSpY|?ScLAd6k za)Hk-`!)q@yFCn>yqR!;1RLeAP zZQZQd$(bt`cC2j8)^=&%(Z|f{RQb!#Ij8B7MzbR}aGiFcc1!npEP`a)^?eHEA> z5E#>yNiw>TR;s;W1FC$&4z|kW03WLQf(pZam;wmJo6}ic>c?BMxke?aB&IO@0h9cL z@A|#%`)>rHV^`lLipeUPS6MsKYxi6_Z*E`TFXnHV6?+>#B{zB7V~dt8UUt=`%Ws=$ zGf=wmJX^pfMy9v)%wC-9ADrH{JWTRq-`vYZrk}n3sr+@SIT~MfRhP34Y0CRL*Uz4{ zcJbV~J+4-N%?U1%zGQQDMx?df>Gn3-%?7LG!uCKsHjRXr#0@iJQMaeg*VR35)#Cap zzUVph)=7=G>4s@ppE|O#*DdJ-;&GS0#-sOE?{TX>WHvz1@_MpkpPQlSJ*sDHcLaLYENxz%vX zxmL33#epl3)}NkOEZKO2RdU;W@g@D+E;{(cuH9YT9=oGfTjOz^}1 zuzzBGC+j?x?dUNn;wty}7>%1c?xUxyc2jbf$sUMQw5(!V5bmfrwJ|4eoh(PQ3u7U^g09FvhQlnW z*h8Qj5hd-ZN)9s?#8Z7){Su<|^-CS4q~FdC00Yso9XCTU3-p0cu6Z;@m$XM zw81kMhQE@SdEnhcm;T_|Swq+CpS$J3pgAbFOI}y^x=;M(GkZVx&YJGXt}`0`Z*%Vf zA4hTbjql91>t*+v?xfT8Q$1Na-JQBl#g^qNcN-g7*v6I%xMPFcVH=E1GX{)lu^Bd2)ZIb^@v#%vMgOaynb(GPq9+38qe!&#@{i%qyEt z{B6RvCs*~K*l}L@^r>1iqhdK@&8zp_eBZuRO}KKFNOkiZ+Y+1cDSR2pOF)v~W%E6c z1nWTXzh>WgX?K0!wkz6~-{E3ax(cIJY?*)ft-CM3|C4!5p3U=$tJ~JknpiC@S$3N& zJyQ9(C03-@gsBx+w&5`@4NlduI+cLqiLV)zT$GIy>0BN;Qx{J%3}HgWvHQVr3`a&~ zjb((z(~X31_#>6Hck!(b+j$rF$6Q9P+E^+2j0GyC^rw$+S@EDNVE$y@1>r^Uan=>* zx36k((QiDkMXCr^bWH822(`C`BGsHhsb=@>lO`W{Ys%d_ap_M}IO&^8)Cb(_7gn}; zbdd3AJVsA}&m9Dl_-WwBm$1zR9pLz~OKWHK_gD2Dn7Q*xXUetZf$rJu>$}I-G&+6p z#tEAa-4NnbtWFi5x_IZq4{Yhf5kln789oYmz9^(B(Hy)M%@MUB1r|f_+r~uQEs(BF zhb-Wb<0$Rsy*Ry&9B1*2>n5#+=?&zV>~x5BEQ+K*+(Z%FMD!Y^s=(+ID~;8h(H-qy zH#^$3ac8`7b#H8|yLol{`OB^2;)}u;%-aJ_?AzBhE!5r~a!2Cvi2Ir&(tkHzx~;d# z?@HW#)08;FsbGoo=C^)&buY6f(@I_Dpxak~nn&Ydpw3s<+tj(b*;x?jrSELow{zx! zzN-HIS+$qK*6EdZ&!4n$LSw7XUK6Tm?pj(uaM>PH)%c4#nkU82ueQQj?Ha4Wp6&+oO_}@SR?FH~F>ZtgwO9qwk_nwFZ;j%lB_9%lJt2r%p$6$&MtO9@X+UOo?Woxf zbG#-t+%&aJi*2rDQ+FQTIkik)z_L|`PbKh}#3T-X9I$^&tT8+WJx=t20|x1Sls1!fLogOlF&Ije;uujhE)rrV`aH5O zf}~iR!6ip3HATneYi0g(Ihg>1qzn-pge1m6NCFZ^BFcgP^0jd)0WpS%Hp@1ghFic^ zkKBWpc>aCF499c=#+ke_%V39A0OO?0^0RO{Pp0sJ^mB*j>J(8_*iGU@{g@+jwA?WO z`%(#!y(pD{eKMVRRu*6qrv|j5i|IR+7y+SxW!EGl5Wb|V{y{LYzI;iybk!nNTX}QTibR)ab9tL;q4c1q z<>FaW*<{;dx?$)866tTR4*Y9rSygp)RoS*b2f^Iw2gA~-IA2xd69ivT6(9f9R(50S zwEkZ5&L2f%{Th--Se{1Qu*hM{IJS~_J4h@R#yb}bRlsfbl9WwwzVswm3|7pBGncLS z(K68TlWTj!Y7(o;w!0^QJ5*0rMb*lYClLvH#npr(7tlI}?tTrl)*>IEpQ+%i7w z45!`(*Ml#{jXUTXS6BSk;amWTm%Spr zf5$`8Z!hA3V!ujn;Je@4(*Nv%88Z$%+rQ+A3H$TB7Q0si@y0tq;VX2Z^n&#ME0^7{ zS5=@mpoFT${pj@9&{bXS2lBicmtVN{vR6s4{XUsMCQ(W1R|)jB)BtK$T+)-fDluzsBze*lSo0(6e;V z#G#W6ssOq`ZBZ(T6;X?BrFNj3D$vc%5IqJxYxJq8RAZdF^E6eC>Jp@~cp!3YHDAXT+0O7|gHi8*xS^S`Zj`*(YYKmBEw+AY%&wwY>QHLe5bW;xBCK zHJEyCJ76+Yz$N5JN(LW->GQ6>R`h;%rB}QbBW{5;V9FQQ0U2osrYWP3f}QqCox?8e zW~VkyJy6m!wP}M+KI28Q*esuylurG*sOVk5J&A8}-51gmnQ=kJ1+(D!k3vE$k_$0x zJ|C44^L&G|01eU)3I+&4%BgX1& zqkzP|0C#{7!5vKE>QDBsdvQ`t-@+NKYXY3&>Q8|1$**(ZVrJtQ*kTWZ;IU&l`wSWr z(b%>uzZTg#)CTZdI13^JI6D>t5{>Bv(ks%x?p)P(f!9-55t%mmR-n4`&eRVu2E)m7 zAT_WJ-wUDPIwsNo*z%c2>gr~j#A21M|FM@I`*8m!=YVZE_072v8@6qI9gPp*G(~Sm zW0+g^QOnMmn8?bGn{;9T8YO5y`sC@&f;#oSwun&~jm-1XDn=n_1@X8fcJ>&! zM!|^mZ%wvS+X^6CXrN0j1ZusFuGa|#MukeMUIO!ZO6Cl=6(fbvZ4Qqlj2?3zacX;q z6Md8;aWsu|$WwJCa_VBAL=kKCm|Ih7p}b8J983BjMi(rp%TIeuCNpP`u~j=InYkA4 zO-`vz*5zcAB+~S!Qw!2^Q6~H!qwpA`HL?X3tCU>EO@<@wz=%yUnaMZ@Q3}r**j)z9 z0S`}ZM<A*)YFa zqt=R`k~$6M{PY^29lX~KQdC(*84innE_Jg1$dP_5!qiNgRs%cL0j;PCg(fwre4Nq9 z`BY7l^4CKlm8fOmQ^0st&y9aQ0O1=;AY6ilQYPzjQcyM|LB)`6=9c|T?ooy$cQz-y zc{qU!@odmYvc*0LDS??JQ^e8>lc)|9D3{)XRL&7qSHhq*vmVa{3GC(o1HhHVvrS!u z&YzPa?|eXZVPLnDR*&X`zN}nHcxwz)3AKp$ZAqHC>{rFfm}pAJ`DG^JxwM9(#1;@U z;po3C&IZ<+Nun5ebD2LJYab!11B8R3U0hR(%T=><^1%4D`wr||JHAs@s!C|z*Cx=i zGqIwwv5BcFD5%u7hD<%ZJ*H5rwz8n0ifL-BT(RJWr+)g>4GU;ul@8UQySb*+PTW4d zvU2+Ni5E^+SEz5j;f7n$V)})*udkl6v8FKUcR2jDMOIs=rlPjCq9$as7S-Z?(ZZUI zQ>xeBzVz7owzl=h$oMbg{if`s|q06`+|laVe#AF2iVuR`ZxcE~tJu@s>@187Oi?pfH%3~nLeQHqdU zTv1q`(U3= z0DZ&ux?;oSAD@= zFkx@Os>80jo;uf*{wZWRz7YUMrReN$@T;X{I>hCV#J#`c(gO!B?c8~I<3fFH=ZmIg z%{}YZ^)xRtz1ULR-(TDkKfG!|Q5pWY%Ze6Y{EggJ=N6But+=*K)Gyq4cqje)bg)Y{ zhh1)qsX0k6hSVRUiE;TbsY;p-mAJ&n7lGcTD=OzH5PO;Y_HatFSw2D}iJELmM_0WJ zaedD_0XwHMHhFPMfV=o4P@F7w<8^P7QN`H<@7#lT)pw!Rq2+*#c*_#AwE5_J?;YK1 z`u#xy(c$zVDNc|sCYH@Z0^0C7A?7kW_c}IM~;r4Gd1p9>2R_<7*EUd9`bfc1%X@c=%|yHkKlvl66<>6@t$wL z;Hkr_PEo54^YQnN#`iA5sGHdEa+Dr7uue*(lIYQl67?e&ZX-B|*~4-e?Uhu!ECKM@ z3|qMyk#1s<@mq$kv)MDf`Mj`Q^@Nb1zAGQ10cZ74WIq}jPVU8_hio#HK%c_USGeQT zYV>hH8Md~M1SbxRT>qAEc|bH`)2_WI19FZoo8i(cp{ml@yu%#1k&%ww?9A@QEUrN? zMtlM$Qc4lOOa_T2vp$68Tr$7oh|H}jjr40x5uVjg$r;269HUTISOWU8uCOn&YpFvt zg{OHbQKSL&8kN*Pl*o%uc!5mpraa92(SEZ>sGm`PGtG)!IgD^Bw|+Wroj$|<)BhLGhiBM7 zyv!hRDuL@pfU~H4=J~;FP5(K%;(7a0{~TlIKmQM&DE;%SCHwA13`jaC3uJkr&)A}P zmT%@M>QB^H|M$O=|4A>+4pn*mwE$!|4!n`!kyXtgY#xoNA9iOolK&&U`}_93(^#`b zBb$sD3^IrE%9BXnFVi}+5KnYe z_Csf2 zV}<-LHLBEc84TPt>OOcChOj#)~X?ZxcahJn+Xc+XZU}Fz!PCkY1%zy1>AoE9p|$5;g@|4uS!f5^HvGSA&U0700
V$fDV|Iw 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 lt(e){var t=ct.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function At(e,t){if(t.nodeType!==1||!v.hasData(e))return;var n,r,i,s=v._data(e),o=v._data(t,s),u=s.events;if(u){delete o.handle,o.events={};for(n in u)for(r=0,i=u[n].length;r").appendTo(i.body),n=t.css("display");t.remove();if(n==="none"||n===""){Pt=i.body.appendChild(Pt||v.extend(i.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!Ht||!Pt.createElement)Ht=(Pt.contentWindow||Pt.contentDocument).document,Ht.write(""),Ht.close();t=Ht.body.appendChild(Ht.createElement(e)),n=Dt(t,"display"),i.body.removeChild(Pt)}return Wt[e]=n,n}function fn(e,t,n,r){var i;if(v.isArray(t))v.each(t,function(t,i){n||sn.test(e)?r(e,i):fn(e+"["+(typeof i=="object"?t:"")+"]",i,n,r)});else if(!n&&v.type(t)==="object")for(i in t)fn(e+"["+i+"]",t[i],n,r);else r(e,t)}function Cn(e){return function(t,n){typeof t!="string"&&(n=t,t="*");var r,i,s,o=t.toLowerCase().split(y),u=0,a=o.length;if(v.isFunction(n))for(;u)[^>]*$|#([\w\-]*)$)/,E=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,S=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,T=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,N=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,C=/^-ms-/,k=/-([\da-z])/gi,L=function(e,t){return(t+"").toUpperCase()},A=function(){i.addEventListener?(i.removeEventListener("DOMContentLoaded",A,!1),v.ready()):i.readyState==="complete"&&(i.detachEvent("onreadystatechange",A),v.ready())},O={};v.fn=v.prototype={constructor:v,init:function(e,n,r){var s,o,u,a;if(!e)return this;if(e.nodeType)return this.context=this[0]=e,this.length=1,this;if(typeof e=="string"){e.charAt(0)==="<"&&e.charAt(e.length-1)===">"&&e.length>=3?s=[null,e,null]:s=w.exec(e);if(s&&(s[1]||!n)){if(s[1])return n=n instanceof v?n[0]:n,a=n&&n.nodeType?n.ownerDocument||n:i,e=v.parseHTML(s[1],a,!0),E.test(s[1])&&v.isPlainObject(n)&&this.attr.call(e,n,!0),v.merge(this,e);o=i.getElementById(s[2]);if(o&&o.parentNode){if(o.id!==s[2])return r.find(e);this.length=1,this[0]=o}return this.context=i,this.selector=e,this}return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e)}return v.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),v.makeArray(e,this))},selector:"",jquery:"1.8.3",length:0,size:function(){return this.length},toArray:function(){return l.call(this)},get:function(e){return e==null?this.toArray():e<0?this[this.length+e]:this[e]},pushStack:function(e,t,n){var r=v.merge(this.constructor(),e);return r.prevObject=this,r.context=this.context,t==="find"?r.selector=this.selector+(this.selector?" ":"")+n:t&&(r.selector=this.selector+"."+t+"("+n+")"),r},each:function(e,t){return v.each(this,e,t)},ready:function(e){return v.ready.promise().done(e),this},eq:function(e){return e=+e,e===-1?this.slice(e):this.slice(e,e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(l.apply(this,arguments),"slice",l.call(arguments).join(","))},map:function(e){return this.pushStack(v.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:[].sort,splice:[].splice},v.fn.init.prototype=v.fn,v.extend=v.fn.extend=function(){var e,n,r,i,s,o,u=arguments[0]||{},a=1,f=arguments.length,l=!1;typeof u=="boolean"&&(l=u,u=arguments[1]||{},a=2),typeof u!="object"&&!v.isFunction(u)&&(u={}),f===a&&(u=this,--a);for(;a0)return;r.resolveWith(i,[v]),v.fn.trigger&&v(i).trigger("ready").off("ready")},isFunction:function(e){return v.type(e)==="function"},isArray:Array.isArray||function(e){return v.type(e)==="array"},isWindow:function(e){return e!=null&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return e==null?String(e):O[h.call(e)]||"object"},isPlainObject:function(e){if(!e||v.type(e)!=="object"||e.nodeType||v.isWindow(e))return!1;try{if(e.constructor&&!p.call(e,"constructor")&&!p.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||p.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw new Error(e)},parseHTML:function(e,t,n){var r;return!e||typeof e!="string"?null:(typeof t=="boolean"&&(n=t,t=0),t=t||i,(r=E.exec(e))?[t.createElement(r[1])]:(r=v.buildFragment([e],t,n?null:[]),v.merge([],(r.cacheable?v.clone(r.fragment):r.fragment).childNodes)))},parseJSON:function(t){if(!t||typeof t!="string")return null;t=v.trim(t);if(e.JSON&&e.JSON.parse)return e.JSON.parse(t);if(S.test(t.replace(T,"@").replace(N,"]").replace(x,"")))return(new Function("return "+t))();v.error("Invalid JSON: "+t)},parseXML:function(n){var r,i;if(!n||typeof n!="string")return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(s){r=t}return(!r||!r.documentElement||r.getElementsByTagName("parsererror").length)&&v.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&g.test(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(C,"ms-").replace(k,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,n,r){var i,s=0,o=e.length,u=o===t||v.isFunction(e);if(r){if(u){for(i in e)if(n.apply(e[i],r)===!1)break}else for(;s0&&e[0]&&e[a-1]||a===0||v.isArray(e));if(f)for(;u-1)a.splice(n,1),i&&(n<=o&&o--,n<=u&&u--)}),this},has:function(e){return v.inArray(e,a)>-1},empty:function(){return a=[],this},disable:function(){return a=f=n=t,this},disabled:function(){return!a},lock:function(){return f=t,n||c.disable(),this},locked:function(){return!f},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],a&&(!r||f)&&(i?f.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},v.extend({Deferred:function(e){var t=[["resolve","done",v.Callbacks("once memory"),"resolved"],["reject","fail",v.Callbacks("once memory"),"rejected"],["notify","progress",v.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return v.Deferred(function(n){v.each(t,function(t,r){var s=r[0],o=e[t];i[r[1]](v.isFunction(o)?function(){var e=o.apply(this,arguments);e&&v.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+"With"](this===i?n:this,[e])}:n[s])}),e=null}).promise()},promise:function(e){return e!=null?v.extend(e,r):r}},i={};return r.pipe=r.then,v.each(t,function(e,s){var o=s[2],u=s[3];r[s[1]]=o.add,u&&o.add(function(){n=u},t[e^1][2].disable,t[2][2].lock),i[s[0]]=o.fire,i[s[0]+"With"]=o.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=l.call(arguments),r=n.length,i=r!==1||e&&v.isFunction(e.promise)?r:0,s=i===1?e:v.Deferred(),o=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?l.call(arguments):r,n===u?s.notifyWith(t,n):--i||s.resolveWith(t,n)}},u,a,f;if(r>1){u=new Array(r),a=new Array(r),f=new Array(r);for(;t
a",n=p.getElementsByTagName("*"),r=p.getElementsByTagName("a")[0];if(!n||!r||!n.length)return{};s=i.createElement("select"),o=s.appendChild(i.createElement("option")),u=p.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:r.getAttribute("href")==="/a",opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:u.value==="on",optSelected:o.selected,getSetAttribute:p.className!=="t",enctype:!!i.createElement("form").enctype,html5Clone:i.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",boxModel:i.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},u.checked=!0,t.noCloneChecked=u.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!o.disabled;try{delete p.test}catch(d){t.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",h=function(){t.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick"),p.detachEvent("onclick",h)),u=i.createElement("input"),u.value="t",u.setAttribute("type","radio"),t.radioValue=u.value==="t",u.setAttribute("checked","checked"),u.setAttribute("name","t"),p.appendChild(u),a=i.createDocumentFragment(),a.appendChild(p.lastChild),t.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,t.appendChecked=u.checked,a.removeChild(u),a.appendChild(p);if(p.attachEvent)for(l in{submit:!0,change:!0,focusin:!0})f="on"+l,c=f in p,c||(p.setAttribute(f,"return;"),c=typeof p[f]=="function"),t[l+"Bubbles"]=c;return v(function(){var n,r,s,o,u="padding:0;margin:0;border:0;display:block;overflow:hidden;",a=i.getElementsByTagName("body")[0];if(!a)return;n=i.createElement("div"),n.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",a.insertBefore(n,a.firstChild),r=i.createElement("div"),n.appendChild(r),r.innerHTML="
t
",s=r.getElementsByTagName("td"),s[0].style.cssText="padding:0;margin:0;border:0;display:none",c=s[0].offsetHeight===0,s[0].style.display="",s[1].style.display="none",t.reliableHiddenOffsets=c&&s[0].offsetHeight===0,r.innerHTML="",r.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=r.offsetWidth===4,t.doesNotIncludeMarginInBodyOffset=a.offsetTop!==1,e.getComputedStyle&&(t.pixelPosition=(e.getComputedStyle(r,null)||{}).top!=="1%",t.boxSizingReliable=(e.getComputedStyle(r,null)||{width:"4px"}).width==="4px",o=i.createElement("div"),o.style.cssText=r.style.cssText=u,o.style.marginRight=o.style.width="0",r.style.width="1px",r.appendChild(o),t.reliableMarginRight=!parseFloat((e.getComputedStyle(o,null)||{}).marginRight)),typeof r.style.zoom!="undefined"&&(r.innerHTML="",r.style.cssText=u+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=r.offsetWidth===3,r.style.display="block",r.style.overflow="visible",r.innerHTML="
",r.firstChild.style.width="5px",t.shrinkWrapBlocks=r.offsetWidth!==3,n.style.zoom=1),a.removeChild(n),n=r=s=o=null}),a.removeChild(p),n=r=s=o=u=a=p=null,t}();var D=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;v.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(v.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?v.cache[e[v.expando]]:e[v.expando],!!e&&!B(e)},data:function(e,n,r,i){if(!v.acceptData(e))return;var s,o,u=v.expando,a=typeof n=="string",f=e.nodeType,l=f?v.cache:e,c=f?e[u]:e[u]&&u;if((!c||!l[c]||!i&&!l[c].data)&&a&&r===t)return;c||(f?e[u]=c=v.deletedIds.pop()||v.guid++:c=u),l[c]||(l[c]={},f||(l[c].toJSON=v.noop));if(typeof n=="object"||typeof n=="function")i?l[c]=v.extend(l[c],n):l[c].data=v.extend(l[c].data,n);return s=l[c],i||(s.data||(s.data={}),s=s.data),r!==t&&(s[v.camelCase(n)]=r),a?(o=s[n],o==null&&(o=s[v.camelCase(n)])):o=s,o},removeData:function(e,t,n){if(!v.acceptData(e))return;var r,i,s,o=e.nodeType,u=o?v.cache:e,a=o?e[v.expando]:v.expando;if(!u[a])return;if(t){r=n?u[a]:u[a].data;if(r){v.isArray(t)||(t in r?t=[t]:(t=v.camelCase(t),t in r?t=[t]:t=t.split(" ")));for(i=0,s=t.length;i1,null,!1))},removeData:function(e){return this.each(function(){v.removeData(this,e)})}}),v.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=v._data(e,t),n&&(!r||v.isArray(n)?r=v._data(e,t,v.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=v.queue(e,t),r=n.length,i=n.shift(),s=v._queueHooks(e,t),o=function(){v.dequeue(e,t)};i==="inprogress"&&(i=n.shift(),r--),i&&(t==="fx"&&n.unshift("inprogress"),delete s.stop,i.call(e,o,s)),!r&&s&&s.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return v._data(e,n)||v._data(e,n,{empty:v.Callbacks("once memory").add(function(){v.removeData(e,t+"queue",!0),v.removeData(e,n,!0)})})}}),v.fn.extend({queue:function(e,n){var r=2;return typeof e!="string"&&(n=e,e="fx",r--),arguments.length1)},removeAttr:function(e){return this.each(function(){v.removeAttr(this,e)})},prop:function(e,t){return v.access(this,v.prop,e,t,arguments.length>1)},removeProp:function(e){return e=v.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,s,o,u;if(v.isFunction(e))return this.each(function(t){v(this).addClass(e.call(this,t,this.className))});if(e&&typeof e=="string"){t=e.split(y);for(n=0,r=this.length;n=0)r=r.replace(" "+n[s]+" "," ");i.className=e?v.trim(r):""}}}return this},toggleClass:function(e,t){var n=typeof e,r=typeof t=="boolean";return v.isFunction(e)?this.each(function(n){v(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if(n==="string"){var i,s=0,o=v(this),u=t,a=e.split(y);while(i=a[s++])u=r?u:!o.hasClass(i),o[u?"addClass":"removeClass"](i)}else if(n==="undefined"||n==="boolean")this.className&&v._data(this,"__className__",this.className),this.className=this.className||e===!1?"":v._data(this,"__className__")||""})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;n=0)return!0;return!1},val:function(e){var n,r,i,s=this[0];if(!arguments.length){if(s)return n=v.valHooks[s.type]||v.valHooks[s.nodeName.toLowerCase()],n&&"get"in n&&(r=n.get(s,"value"))!==t?r:(r=s.value,typeof r=="string"?r.replace(R,""):r==null?"":r);return}return i=v.isFunction(e),this.each(function(r){var s,o=v(this);if(this.nodeType!==1)return;i?s=e.call(this,r,o.val()):s=e,s==null?s="":typeof s=="number"?s+="":v.isArray(s)&&(s=v.map(s,function(e){return e==null?"":e+""})),n=v.valHooks[this.type]||v.valHooks[this.nodeName.toLowerCase()];if(!n||!("set"in n)||n.set(this,s,"value")===t)this.value=s})}}),v.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,s=e.type==="select-one"||i<0,o=s?null:[],u=s?i+1:r.length,a=i<0?u:s?i:0;for(;a=0}),n.length||(e.selectedIndex=-1),n}}},attrFn:{},attr:function(e,n,r,i){var s,o,u,a=e.nodeType;if(!e||a===3||a===8||a===2)return;if(i&&v.isFunction(v.fn[n]))return v(e)[n](r);if(typeof e.getAttribute=="undefined")return v.prop(e,n,r);u=a!==1||!v.isXMLDoc(e),u&&(n=n.toLowerCase(),o=v.attrHooks[n]||(X.test(n)?F:j));if(r!==t){if(r===null){v.removeAttr(e,n);return}return o&&"set"in o&&u&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r)}return o&&"get"in o&&u&&(s=o.get(e,n))!==null?s:(s=e.getAttribute(n),s===null?t:s)},removeAttr:function(e,t){var n,r,i,s,o=0;if(t&&e.nodeType===1){r=t.split(y);for(;o=0}})});var $=/^(?:textarea|input|select)$/i,J=/^([^\.]*|)(?:\.(.+)|)$/,K=/(?:^|\s)hover(\.\S+|)\b/,Q=/^key/,G=/^(?:mouse|contextmenu)|click/,Y=/^(?:focusinfocus|focusoutblur)$/,Z=function(e){return v.event.special.hover?e:e.replace(K,"mouseenter$1 mouseleave$1")};v.event={add:function(e,n,r,i,s){var o,u,a,f,l,c,h,p,d,m,g;if(e.nodeType===3||e.nodeType===8||!n||!r||!(o=v._data(e)))return;r.handler&&(d=r,r=d.handler,s=d.selector),r.guid||(r.guid=v.guid++),a=o.events,a||(o.events=a={}),u=o.handle,u||(o.handle=u=function(e){return typeof v=="undefined"||!!e&&v.event.triggered===e.type?t:v.event.dispatch.apply(u.elem,arguments)},u.elem=e),n=v.trim(Z(n)).split(" ");for(f=0;f=0&&(y=y.slice(0,-1),a=!0),y.indexOf(".")>=0&&(b=y.split("."),y=b.shift(),b.sort());if((!s||v.event.customEvent[y])&&!v.event.global[y])return;n=typeof n=="object"?n[v.expando]?n:new v.Event(y,n):new v.Event(y),n.type=y,n.isTrigger=!0,n.exclusive=a,n.namespace=b.join("."),n.namespace_re=n.namespace?new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,h=y.indexOf(":")<0?"on"+y:"";if(!s){u=v.cache;for(f in u)u[f].events&&u[f].events[y]&&v.event.trigger(n,r,u[f].handle.elem,!0);return}n.result=t,n.target||(n.target=s),r=r!=null?v.makeArray(r):[],r.unshift(n),p=v.event.special[y]||{};if(p.trigger&&p.trigger.apply(s,r)===!1)return;m=[[s,p.bindType||y]];if(!o&&!p.noBubble&&!v.isWindow(s)){g=p.delegateType||y,l=Y.test(g+y)?s:s.parentNode;for(c=s;l;l=l.parentNode)m.push([l,g]),c=l;c===(s.ownerDocument||i)&&m.push([c.defaultView||c.parentWindow||e,g])}for(f=0;f=0:v.find(h,this,null,[s]).length),u[h]&&f.push(c);f.length&&w.push({elem:s,matches:f})}d.length>m&&w.push({elem:this,matches:d.slice(m)});for(r=0;r0?this.on(t,null,e,n):this.trigger(t)},Q.test(t)&&(v.event.fixHooks[t]=v.event.keyHooks),G.test(t)&&(v.event.fixHooks[t]=v.event.mouseHooks)}),function(e,t){function nt(e,t,n,r){n=n||[],t=t||g;var i,s,a,f,l=t.nodeType;if(!e||typeof e!="string")return n;if(l!==1&&l!==9)return[];a=o(t);if(!a&&!r)if(i=R.exec(e))if(f=i[1]){if(l===9){s=t.getElementById(f);if(!s||!s.parentNode)return n;if(s.id===f)return n.push(s),n}else if(t.ownerDocument&&(s=t.ownerDocument.getElementById(f))&&u(t,s)&&s.id===f)return n.push(s),n}else{if(i[2])return S.apply(n,x.call(t.getElementsByTagName(e),0)),n;if((f=i[3])&&Z&&t.getElementsByClassName)return S.apply(n,x.call(t.getElementsByClassName(f),0)),n}return vt(e.replace(j,"$1"),t,n,r,a)}function rt(e){return function(t){var n=t.nodeName.toLowerCase();return n==="input"&&t.type===e}}function it(e){return function(t){var n=t.nodeName.toLowerCase();return(n==="input"||n==="button")&&t.type===e}}function st(e){return N(function(t){return t=+t,N(function(n,r){var i,s=e([],n.length,t),o=s.length;while(o--)n[i=s[o]]&&(n[i]=!(r[i]=n[i]))})})}function ot(e,t,n){if(e===t)return n;var r=e.nextSibling;while(r){if(r===t)return-1;r=r.nextSibling}return 1}function ut(e,t){var n,r,s,o,u,a,f,l=L[d][e+" "];if(l)return t?0:l.slice(0);u=e,a=[],f=i.preFilter;while(u){if(!n||(r=F.exec(u)))r&&(u=u.slice(r[0].length)||u),a.push(s=[]);n=!1;if(r=I.exec(u))s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=r[0].replace(j," ");for(o in i.filter)(r=J[o].exec(u))&&(!f[o]||(r=f[o](r)))&&(s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=o,n.matches=r);if(!n)break}return t?u.length:u?nt.error(e):L(e,a).slice(0)}function at(e,t,r){var i=t.dir,s=r&&t.dir==="parentNode",o=w++;return t.first?function(t,n,r){while(t=t[i])if(s||t.nodeType===1)return e(t,n,r)}:function(t,r,u){if(!u){var a,f=b+" "+o+" ",l=f+n;while(t=t[i])if(s||t.nodeType===1){if((a=t[d])===l)return t.sizset;if(typeof a=="string"&&a.indexOf(f)===0){if(t.sizset)return t}else{t[d]=l;if(e(t,r,u))return t.sizset=!0,t;t.sizset=!1}}}else while(t=t[i])if(s||t.nodeType===1)if(e(t,r,u))return t}}function ft(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function lt(e,t,n,r,i){var s,o=[],u=0,a=e.length,f=t!=null;for(;u-1&&(s[f]=!(o[f]=c))}}else g=lt(g===o?g.splice(d,g.length):g),i?i(null,o,g,a):S.apply(o,g)})}function ht(e){var t,n,r,s=e.length,o=i.relative[e[0].type],u=o||i.relative[" "],a=o?1:0,f=at(function(e){return e===t},u,!0),l=at(function(e){return T.call(t,e)>-1},u,!0),h=[function(e,n,r){return!o&&(r||n!==c)||((t=n).nodeType?f(e,n,r):l(e,n,r))}];for(;a1&&ft(h),a>1&&e.slice(0,a-1).join("").replace(j,"$1"),n,a0,s=e.length>0,o=function(u,a,f,l,h){var p,d,v,m=[],y=0,w="0",x=u&&[],T=h!=null,N=c,C=u||s&&i.find.TAG("*",h&&a.parentNode||a),k=b+=N==null?1:Math.E;T&&(c=a!==g&&a,n=o.el);for(;(p=C[w])!=null;w++){if(s&&p){for(d=0;v=e[d];d++)if(v(p,a,f)){l.push(p);break}T&&(b=k,n=++o.el)}r&&((p=!v&&p)&&y--,u&&x.push(p))}y+=w;if(r&&w!==y){for(d=0;v=t[d];d++)v(x,m,a,f);if(u){if(y>0)while(w--)!x[w]&&!m[w]&&(m[w]=E.call(l));m=lt(m)}S.apply(l,m),T&&!u&&m.length>0&&y+t.length>1&&nt.uniqueSort(l)}return T&&(b=k,c=N),x};return o.el=0,r?N(o):o}function dt(e,t,n){var r=0,i=t.length;for(;r2&&(f=u[0]).type==="ID"&&t.nodeType===9&&!s&&i.relative[u[1].type]){t=i.find.ID(f.matches[0].replace($,""),t,s)[0];if(!t)return n;e=e.slice(u.shift().length)}for(o=J.POS.test(e)?-1:u.length-1;o>=0;o--){f=u[o];if(i.relative[l=f.type])break;if(c=i.find[l])if(r=c(f.matches[0].replace($,""),z.test(u[0].type)&&t.parentNode||t,s)){u.splice(o,1),e=r.length&&u.join("");if(!e)return S.apply(n,x.call(r,0)),n;break}}}return a(e,h)(r,t,s,n,z.test(e)),n}function mt(){}var n,r,i,s,o,u,a,f,l,c,h=!0,p="undefined",d=("sizcache"+Math.random()).replace(".",""),m=String,g=e.document,y=g.documentElement,b=0,w=0,E=[].pop,S=[].push,x=[].slice,T=[].indexOf||function(e){var t=0,n=this.length;for(;ti.cacheLength&&delete e[t.shift()],e[n+" "]=r},e)},k=C(),L=C(),A=C(),O="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",_=M.replace("w","w#"),D="([*^$|!~]?=)",P="\\["+O+"*("+M+")"+O+"*(?:"+D+O+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+_+")|)|)"+O+"*\\]",H=":("+M+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+P+")|[^:]|\\\\.)*|.*))\\)|)",B=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+O+"*((?:-\\d)?\\d*)"+O+"*\\)|)(?=[^-]|$)",j=new RegExp("^"+O+"+|((?:^|[^\\\\])(?:\\\\.)*)"+O+"+$","g"),F=new RegExp("^"+O+"*,"+O+"*"),I=new RegExp("^"+O+"*([\\x20\\t\\r\\n\\f>+~])"+O+"*"),q=new RegExp(H),R=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,U=/^:not/,z=/[\x20\t\r\n\f]*[+~]/,W=/:not\($/,X=/h\d/i,V=/input|select|textarea|button/i,$=/\\(?!\\)/g,J={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),NAME:new RegExp("^\\[name=['\"]?("+M+")['\"]?\\]"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+H),POS:new RegExp(B,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+O+"*(even|odd|(([+-]|)(\\d*)n|)"+O+"*(?:([+-]|)"+O+"*(\\d+)|))"+O+"*\\)|)","i"),needsContext:new RegExp("^"+O+"*[>+~]|"+B,"i")},K=function(e){var t=g.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}},Q=K(function(e){return e.appendChild(g.createComment("")),!e.getElementsByTagName("*").length}),G=K(function(e){return e.innerHTML="",e.firstChild&&typeof e.firstChild.getAttribute!==p&&e.firstChild.getAttribute("href")==="#"}),Y=K(function(e){e.innerHTML="";var t=typeof e.lastChild.getAttribute("multiple");return t!=="boolean"&&t!=="string"}),Z=K(function(e){return e.innerHTML="",!e.getElementsByClassName||!e.getElementsByClassName("e").length?!1:(e.lastChild.className="e",e.getElementsByClassName("e").length===2)}),et=K(function(e){e.id=d+0,e.innerHTML="
",y.insertBefore(e,y.firstChild);var t=g.getElementsByName&&g.getElementsByName(d).length===2+g.getElementsByName(d+0).length;return r=!g.getElementById(d),y.removeChild(e),t});try{x.call(y.childNodes,0)[0].nodeType}catch(tt){x=function(e){var t,n=[];for(;t=this[e];e++)n.push(t);return n}}nt.matches=function(e,t){return nt(e,null,null,t)},nt.matchesSelector=function(e,t){return nt(t,null,null,[e]).length>0},s=nt.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(i===1||i===9||i===11){if(typeof e.textContent=="string")return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=s(e)}else if(i===3||i===4)return e.nodeValue}else for(;t=e[r];r++)n+=s(t);return n},o=nt.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?t.nodeName!=="HTML":!1},u=nt.contains=y.contains?function(e,t){var n=e.nodeType===9?e.documentElement:e,r=t&&t.parentNode;return e===r||!!(r&&r.nodeType===1&&n.contains&&n.contains(r))}:y.compareDocumentPosition?function(e,t){return t&&!!(e.compareDocumentPosition(t)&16)}:function(e,t){while(t=t.parentNode)if(t===e)return!0;return!1},nt.attr=function(e,t){var n,r=o(e);return r||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):r||Y?e.getAttribute(t):(n=e.getAttributeNode(t),n?typeof e[t]=="boolean"?e[t]?t:null:n.specified?n.value:null:null)},i=nt.selectors={cacheLength:50,createPseudo:N,match:J,attrHandle:G?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},find:{ID:r?function(e,t,n){if(typeof t.getElementById!==p&&!n){var r=t.getElementById(e);return r&&r.parentNode?[r]:[]}}:function(e,n,r){if(typeof n.getElementById!==p&&!r){var i=n.getElementById(e);return i?i.id===e||typeof i.getAttributeNode!==p&&i.getAttributeNode("id").value===e?[i]:t:[]}},TAG:Q?function(e,t){if(typeof t.getElementsByTagName!==p)return t.getElementsByTagName(e)}:function(e,t){var n=t.getElementsByTagName(e);if(e==="*"){var r,i=[],s=0;for(;r=n[s];s++)r.nodeType===1&&i.push(r);return i}return n},NAME:et&&function(e,t){if(typeof t.getElementsByName!==p)return t.getElementsByName(name)},CLASS:Z&&function(e,t,n){if(typeof t.getElementsByClassName!==p&&!n)return t.getElementsByClassName(e)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace($,""),e[3]=(e[4]||e[5]||"").replace($,""),e[2]==="~="&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),e[1]==="nth"?(e[2]||nt.error(e[0]),e[3]=+(e[3]?e[4]+(e[5]||1):2*(e[2]==="even"||e[2]==="odd")),e[4]=+(e[6]+e[7]||e[2]==="odd")):e[2]&&nt.error(e[0]),e},PSEUDO:function(e){var t,n;if(J.CHILD.test(e[0]))return null;if(e[3])e[2]=e[3];else if(t=e[4])q.test(t)&&(n=ut(t,!0))&&(n=t.indexOf(")",t.length-n)-t.length)&&(t=t.slice(0,n),e[0]=e[0].slice(0,n)),e[2]=t;return e.slice(0,3)}},filter:{ID:r?function(e){return e=e.replace($,""),function(t){return t.getAttribute("id")===e}}:function(e){return e=e.replace($,""),function(t){var n=typeof t.getAttributeNode!==p&&t.getAttributeNode("id");return n&&n.value===e}},TAG:function(e){return e==="*"?function(){return!0}:(e=e.replace($,"").toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[d][e+" "];return t||(t=new RegExp("(^|"+O+")"+e+"("+O+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==p&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r,i){var s=nt.attr(r,e);return s==null?t==="!=":t?(s+="",t==="="?s===n:t==="!="?s!==n:t==="^="?n&&s.indexOf(n)===0:t==="*="?n&&s.indexOf(n)>-1:t==="$="?n&&s.substr(s.length-n.length)===n:t==="~="?(" "+s+" ").indexOf(n)>-1:t==="|="?s===n||s.substr(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r){return e==="nth"?function(e){var t,i,s=e.parentNode;if(n===1&&r===0)return!0;if(s){i=0;for(t=s.firstChild;t;t=t.nextSibling)if(t.nodeType===1){i++;if(e===t)break}}return i-=r,i===n||i%n===0&&i/n>=0}:function(t){var n=t;switch(e){case"only":case"first":while(n=n.previousSibling)if(n.nodeType===1)return!1;if(e==="first")return!0;n=t;case"last":while(n=n.nextSibling)if(n.nodeType===1)return!1;return!0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||nt.error("unsupported pseudo: "+e);return r[d]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?N(function(e,n){var i,s=r(e,t),o=s.length;while(o--)i=T.call(e,s[o]),e[i]=!(n[i]=s[o])}):function(e){return r(e,0,n)}):r}},pseudos:{not:N(function(e){var t=[],n=[],r=a(e.replace(j,"$1"));return r[d]?N(function(e,t,n,i){var s,o=r(e,null,i,[]),u=e.length;while(u--)if(s=o[u])e[u]=!(t[u]=s)}):function(e,i,s){return t[0]=e,r(t,null,s,n),!n.pop()}}),has:N(function(e){return function(t){return nt(e,t).length>0}}),contains:N(function(e){return function(t){return(t.textContent||t.innerText||s(t)).indexOf(e)>-1}}),enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&!!e.checked||t==="option"&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},parent:function(e){return!i.pseudos.empty(e)},empty:function(e){var t;e=e.firstChild;while(e){if(e.nodeName>"@"||(t=e.nodeType)===3||t===4)return!1;e=e.nextSibling}return!0},header:function(e){return X.test(e.nodeName)},text:function(e){var t,n;return e.nodeName.toLowerCase()==="input"&&(t=e.type)==="text"&&((n=e.getAttribute("type"))==null||n.toLowerCase()===t)},radio:rt("radio"),checkbox:rt("checkbox"),file:rt("file"),password:rt("password"),image:rt("image"),submit:it("submit"),reset:it("reset"),button:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&e.type==="button"||t==="button"},input:function(e){return V.test(e.nodeName)},focus:function(e){var t=e.ownerDocument;return e===t.activeElement&&(!t.hasFocus||t.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},active:function(e){return e===e.ownerDocument.activeElement},first:st(function(){return[0]}),last:st(function(e,t){return[t-1]}),eq:st(function(e,t,n){return[n<0?n+t:n]}),even:st(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:st(function(e,t,n){for(var r=n<0?n+t:n;++r",e.querySelectorAll("[selected]").length||i.push("\\["+O+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||i.push(":checked")}),K(function(e){e.innerHTML="

",e.querySelectorAll("[test^='']").length&&i.push("[*^$]="+O+"*(?:\"\"|'')"),e.innerHTML="",e.querySelectorAll(":enabled").length||i.push(":enabled",":disabled")}),i=new RegExp(i.join("|")),vt=function(e,r,s,o,u){if(!o&&!u&&!i.test(e)){var a,f,l=!0,c=d,h=r,p=r.nodeType===9&&e;if(r.nodeType===1&&r.nodeName.toLowerCase()!=="object"){a=ut(e),(l=r.getAttribute("id"))?c=l.replace(n,"\\$&"):r.setAttribute("id",c),c="[id='"+c+"'] ",f=a.length;while(f--)a[f]=c+a[f].join("");h=z.test(e)&&r.parentNode||r,p=a.join(",")}if(p)try{return S.apply(s,x.call(h.querySelectorAll(p),0)),s}catch(v){}finally{l||r.removeAttribute("id")}}return t(e,r,s,o,u)},u&&(K(function(t){e=u.call(t,"div");try{u.call(t,"[test!='']:sizzle"),s.push("!=",H)}catch(n){}}),s=new RegExp(s.join("|")),nt.matchesSelector=function(t,n){n=n.replace(r,"='$1']");if(!o(t)&&!s.test(n)&&!i.test(n))try{var a=u.call(t,n);if(a||e||t.document&&t.document.nodeType!==11)return a}catch(f){}return nt(n,null,null,[t]).length>0})}(),i.pseudos.nth=i.pseudos.eq,i.filters=mt.prototype=i.pseudos,i.setFilters=new mt,nt.attr=v.attr,v.find=nt,v.expr=nt.selectors,v.expr[":"]=v.expr.pseudos,v.unique=nt.uniqueSort,v.text=nt.getText,v.isXMLDoc=nt.isXML,v.contains=nt.contains}(e);var nt=/Until$/,rt=/^(?:parents|prev(?:Until|All))/,it=/^.[^:#\[\.,]*$/,st=v.expr.match.needsContext,ot={children:!0,contents:!0,next:!0,prev:!0};v.fn.extend({find:function(e){var t,n,r,i,s,o,u=this;if(typeof e!="string")return v(e).filter(function(){for(t=0,n=u.length;t0)for(i=r;i=0:v.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,s=[],o=st.test(e)||typeof e!="string"?v(e,t||this.context):0;for(;r-1:v.find.matchesSelector(n,e)){s.push(n);break}n=n.parentNode}}return s=s.length>1?v.unique(s):s,this.pushStack(s,"closest",e)},index:function(e){return e?typeof e=="string"?v.inArray(this[0],v(e)):v.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(e,t){var n=typeof e=="string"?v(e,t):v.makeArray(e&&e.nodeType?[e]:e),r=v.merge(this.get(),n);return this.pushStack(ut(n[0])||ut(r[0])?r:v.unique(r))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}}),v.fn.andSelf=v.fn.addBack,v.each({parent:function(e){var t=e.parentNode;return t&&t.nodeType!==11?t:null},parents:function(e){return v.dir(e,"parentNode")},parentsUntil:function(e,t,n){return v.dir(e,"parentNode",n)},next:function(e){return at(e,"nextSibling")},prev:function(e){return at(e,"previousSibling")},nextAll:function(e){return v.dir(e,"nextSibling")},prevAll:function(e){return v.dir(e,"previousSibling")},nextUntil:function(e,t,n){return v.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return v.dir(e,"previousSibling",n)},siblings:function(e){return v.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return v.sibling(e.firstChild)},contents:function(e){return v.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:v.merge([],e.childNodes)}},function(e,t){v.fn[e]=function(n,r){var i=v.map(this,t,n);return nt.test(e)||(r=n),r&&typeof r=="string"&&(i=v.filter(r,i)),i=this.length>1&&!ot[e]?v.unique(i):i,this.length>1&&rt.test(e)&&(i=i.reverse()),this.pushStack(i,e,l.call(arguments).join(","))}}),v.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),t.length===1?v.find.matchesSelector(t[0],e)?[t[0]]:[]:v.find.matches(e,t)},dir:function(e,n,r){var i=[],s=e[n];while(s&&s.nodeType!==9&&(r===t||s.nodeType!==1||!v(s).is(r)))s.nodeType===1&&i.push(s),s=s[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)e.nodeType===1&&e!==t&&n.push(e);return n}});var ct="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ht=/ jQuery\d+="(?:null|\d+)"/g,pt=/^\s+/,dt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,vt=/<([\w:]+)/,mt=/]","i"),Et=/^(?:checkbox|radio)$/,St=/checked\s*(?:[^=]|=\s*.checked.)/i,xt=/\/(java|ecma)script/i,Tt=/^\s*\s*$/g,Nt={option:[1,""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},Ct=lt(i),kt=Ct.appendChild(i.createElement("div"));Nt.optgroup=Nt.option,Nt.tbody=Nt.tfoot=Nt.colgroup=Nt.caption=Nt.thead,Nt.th=Nt.td,v.support.htmlSerialize||(Nt._default=[1,"X
","
"]),v.fn.extend({text:function(e){return v.access(this,function(e){return e===t?v.text(this):this.empty().append((this[0]&&this[0].ownerDocument||i).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(v.isFunction(e))return this.each(function(t){v(this).wrapAll(e.call(this,t))});if(this[0]){var t=v(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&e.firstChild.nodeType===1)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return v.isFunction(e)?this.each(function(t){v(this).wrapInner(e.call(this,t))}):this.each(function(){var t=v(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=v.isFunction(e);return this.each(function(n){v(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){v.nodeName(this,"body")||v(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(e,this.firstChild)})},before:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(e,this),"before",this.selector)}},after:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this.nextSibling)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(this,e),"after",this.selector)}},remove:function(e,t){var n,r=0;for(;(n=this[r])!=null;r++)if(!e||v.filter(e,[n]).length)!t&&n.nodeType===1&&(v.cleanData(n.getElementsByTagName("*")),v.cleanData([n])),n.parentNode&&n.parentNode.removeChild(n);return this},empty:function(){var e,t=0;for(;(e=this[t])!=null;t++){e.nodeType===1&&v.cleanData(e.getElementsByTagName("*"));while(e.firstChild)e.removeChild(e.firstChild)}return this},clone:function(e,t){return e=e==null?!1:e,t=t==null?e:t,this.map(function(){return v.clone(this,e,t)})},html:function(e){return v.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return n.nodeType===1?n.innerHTML.replace(ht,""):t;if(typeof e=="string"&&!yt.test(e)&&(v.support.htmlSerialize||!wt.test(e))&&(v.support.leadingWhitespace||!pt.test(e))&&!Nt[(vt.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(dt,"<$1>");try{for(;r1&&typeof f=="string"&&St.test(f))return this.each(function(){v(this).domManip(e,n,r)});if(v.isFunction(f))return this.each(function(i){var s=v(this);e[0]=f.call(this,i,n?s.html():t),s.domManip(e,n,r)});if(this[0]){i=v.buildFragment(e,this,l),o=i.fragment,s=o.firstChild,o.childNodes.length===1&&(o=s);if(s){n=n&&v.nodeName(s,"tr");for(u=i.cacheable||c-1;a0?this.clone(!0):this).get(),v(o[i])[t](r),s=s.concat(r);return this.pushStack(s,e,o.selector)}}),v.extend({clone:function(e,t,n){var r,i,s,o;v.support.html5Clone||v.isXMLDoc(e)||!wt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(kt.innerHTML=e.outerHTML,kt.removeChild(o=kt.firstChild));if((!v.support.noCloneEvent||!v.support.noCloneChecked)&&(e.nodeType===1||e.nodeType===11)&&!v.isXMLDoc(e)){Ot(e,o),r=Mt(e),i=Mt(o);for(s=0;r[s];++s)i[s]&&Ot(r[s],i[s])}if(t){At(e,o);if(n){r=Mt(e),i=Mt(o);for(s=0;r[s];++s)At(r[s],i[s])}}return r=i=null,o},clean:function(e,t,n,r){var s,o,u,a,f,l,c,h,p,d,m,g,y=t===i&&Ct,b=[];if(!t||typeof t.createDocumentFragment=="undefined")t=i;for(s=0;(u=e[s])!=null;s++){typeof u=="number"&&(u+="");if(!u)continue;if(typeof u=="string")if(!gt.test(u))u=t.createTextNode(u);else{y=y||lt(t),c=t.createElement("div"),y.appendChild(c),u=u.replace(dt,"<$1>"),a=(vt.exec(u)||["",""])[1].toLowerCase(),f=Nt[a]||Nt._default,l=f[0],c.innerHTML=f[1]+u+f[2];while(l--)c=c.lastChild;if(!v.support.tbody){h=mt.test(u),p=a==="table"&&!h?c.firstChild&&c.firstChild.childNodes:f[1]===""&&!h?c.childNodes:[];for(o=p.length-1;o>=0;--o)v.nodeName(p[o],"tbody")&&!p[o].childNodes.length&&p[o].parentNode.removeChild(p[o])}!v.support.leadingWhitespace&&pt.test(u)&&c.insertBefore(t.createTextNode(pt.exec(u)[0]),c.firstChild),u=c.childNodes,c.parentNode.removeChild(c)}u.nodeType?b.push(u):v.merge(b,u)}c&&(u=c=y=null);if(!v.support.appendChecked)for(s=0;(u=b[s])!=null;s++)v.nodeName(u,"input")?_t(u):typeof u.getElementsByTagName!="undefined"&&v.grep(u.getElementsByTagName("input"),_t);if(n){m=function(e){if(!e.type||xt.test(e.type))return r?r.push(e.parentNode?e.parentNode.removeChild(e):e):n.appendChild(e)};for(s=0;(u=b[s])!=null;s++)if(!v.nodeName(u,"script")||!m(u))n.appendChild(u),typeof u.getElementsByTagName!="undefined"&&(g=v.grep(v.merge([],u.getElementsByTagName("script")),m),b.splice.apply(b,[s+1,0].concat(g)),s+=g.length)}return b},cleanData:function(e,t){var n,r,i,s,o=0,u=v.expando,a=v.cache,f=v.support.deleteExpando,l=v.event.special;for(;(i=e[o])!=null;o++)if(t||v.acceptData(i)){r=i[u],n=r&&a[r];if(n){if(n.events)for(s in n.events)l[s]?v.event.remove(i,s):v.removeEvent(i,s,n.handle);a[r]&&(delete a[r],f?delete i[u]:i.removeAttribute?i.removeAttribute(u):i[u]=null,v.deletedIds.push(r))}}}}),function(){var e,t;v.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e=v.uaMatch(o.userAgent),t={},e.browser&&(t[e.browser]=!0,t.version=e.version),t.chrome?t.webkit=!0:t.webkit&&(t.safari=!0),v.browser=t,v.sub=function(){function e(t,n){return new e.fn.init(t,n)}v.extend(!0,e,this),e.superclass=this,e.fn=e.prototype=this(),e.fn.constructor=e,e.sub=this.sub,e.fn.init=function(r,i){return i&&i instanceof v&&!(i instanceof e)&&(i=e(i)),v.fn.init.call(this,r,i,t)},e.fn.init.prototype=e.fn;var t=e(i);return e}}();var Dt,Pt,Ht,Bt=/alpha\([^)]*\)/i,jt=/opacity=([^)]*)/,Ft=/^(top|right|bottom|left)$/,It=/^(none|table(?!-c[ea]).+)/,qt=/^margin/,Rt=new RegExp("^("+m+")(.*)$","i"),Ut=new RegExp("^("+m+")(?!px)[a-z%]+$","i"),zt=new RegExp("^([-+])=("+m+")","i"),Wt={BODY:"block"},Xt={position:"absolute",visibility:"hidden",display:"block"},Vt={letterSpacing:0,fontWeight:400},$t=["Top","Right","Bottom","Left"],Jt=["Webkit","O","Moz","ms"],Kt=v.fn.toggle;v.fn.extend({css:function(e,n){return v.access(this,function(e,n,r){return r!==t?v.style(e,n,r):v.css(e,n)},e,n,arguments.length>1)},show:function(){return Yt(this,!0)},hide:function(){return Yt(this)},toggle:function(e,t){var n=typeof e=="boolean";return v.isFunction(e)&&v.isFunction(t)?Kt.apply(this,arguments):this.each(function(){(n?e:Gt(this))?v(this).show():v(this).hide()})}}),v.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Dt(e,"opacity");return n===""?"1":n}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":v.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(!e||e.nodeType===3||e.nodeType===8||!e.style)return;var s,o,u,a=v.camelCase(n),f=e.style;n=v.cssProps[a]||(v.cssProps[a]=Qt(f,a)),u=v.cssHooks[n]||v.cssHooks[a];if(r===t)return u&&"get"in u&&(s=u.get(e,!1,i))!==t?s:f[n];o=typeof r,o==="string"&&(s=zt.exec(r))&&(r=(s[1]+1)*s[2]+parseFloat(v.css(e,n)),o="number");if(r==null||o==="number"&&isNaN(r))return;o==="number"&&!v.cssNumber[a]&&(r+="px");if(!u||!("set"in u)||(r=u.set(e,r,i))!==t)try{f[n]=r}catch(l){}},css:function(e,n,r,i){var s,o,u,a=v.camelCase(n);return n=v.cssProps[a]||(v.cssProps[a]=Qt(e.style,a)),u=v.cssHooks[n]||v.cssHooks[a],u&&"get"in u&&(s=u.get(e,!0,i)),s===t&&(s=Dt(e,n)),s==="normal"&&n in Vt&&(s=Vt[n]),r||i!==t?(o=parseFloat(s),r||v.isNumeric(o)?o||0:s):s},swap:function(e,t,n){var r,i,s={};for(i in t)s[i]=e.style[i],e.style[i]=t[i];r=n.call(e);for(i in t)e.style[i]=s[i];return r}}),e.getComputedStyle?Dt=function(t,n){var r,i,s,o,u=e.getComputedStyle(t,null),a=t.style;return u&&(r=u.getPropertyValue(n)||u[n],r===""&&!v.contains(t.ownerDocument,t)&&(r=v.style(t,n)),Ut.test(r)&&qt.test(n)&&(i=a.width,s=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=r,r=u.width,a.width=i,a.minWidth=s,a.maxWidth=o)),r}:i.documentElement.currentStyle&&(Dt=function(e,t){var n,r,i=e.currentStyle&&e.currentStyle[t],s=e.style;return i==null&&s&&s[t]&&(i=s[t]),Ut.test(i)&&!Ft.test(t)&&(n=s.left,r=e.runtimeStyle&&e.runtimeStyle.left,r&&(e.runtimeStyle.left=e.currentStyle.left),s.left=t==="fontSize"?"1em":i,i=s.pixelLeft+"px",s.left=n,r&&(e.runtimeStyle.left=r)),i===""?"auto":i}),v.each(["height","width"],function(e,t){v.cssHooks[t]={get:function(e,n,r){if(n)return e.offsetWidth===0&&It.test(Dt(e,"display"))?v.swap(e,Xt,function(){return tn(e,t,r)}):tn(e,t,r)},set:function(e,n,r){return Zt(e,n,r?en(e,t,r,v.support.boxSizing&&v.css(e,"boxSizing")==="border-box"):0)}}}),v.support.opacity||(v.cssHooks.opacity={get:function(e,t){return jt.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=v.isNumeric(t)?"alpha(opacity="+t*100+")":"",s=r&&r.filter||n.filter||"";n.zoom=1;if(t>=1&&v.trim(s.replace(Bt,""))===""&&n.removeAttribute){n.removeAttribute("filter");if(r&&!r.filter)return}n.filter=Bt.test(s)?s.replace(Bt,i):s+" "+i}}),v(function(){v.support.reliableMarginRight||(v.cssHooks.marginRight={get:function(e,t){return v.swap(e,{display:"inline-block"},function(){if(t)return Dt(e,"marginRight")})}}),!v.support.pixelPosition&&v.fn.position&&v.each(["top","left"],function(e,t){v.cssHooks[t]={get:function(e,n){if(n){var r=Dt(e,t);return Ut.test(r)?v(e).position()[t]+"px":r}}}})}),v.expr&&v.expr.filters&&(v.expr.filters.hidden=function(e){return e.offsetWidth===0&&e.offsetHeight===0||!v.support.reliableHiddenOffsets&&(e.style&&e.style.display||Dt(e,"display"))==="none"},v.expr.filters.visible=function(e){return!v.expr.filters.hidden(e)}),v.each({margin:"",padding:"",border:"Width"},function(e,t){v.cssHooks[e+t]={expand:function(n){var r,i=typeof n=="string"?n.split(" "):[n],s={};for(r=0;r<4;r++)s[e+$t[r]+t]=i[r]||i[r-2]||i[0];return s}},qt.test(e)||(v.cssHooks[e+t].set=Zt)});var rn=/%20/g,sn=/\[\]$/,on=/\r?\n/g,un=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,an=/^(?:select|textarea)/i;v.fn.extend({serialize:function(){return v.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?v.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||an.test(this.nodeName)||un.test(this.type))}).map(function(e,t){var n=v(this).val();return n==null?null:v.isArray(n)?v.map(n,function(e,n){return{name:t.name,value:e.replace(on,"\r\n")}}):{name:t.name,value:n.replace(on,"\r\n")}}).get()}}),v.param=function(e,n){var r,i=[],s=function(e,t){t=v.isFunction(t)?t():t==null?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};n===t&&(n=v.ajaxSettings&&v.ajaxSettings.traditional);if(v.isArray(e)||e.jquery&&!v.isPlainObject(e))v.each(e,function(){s(this.name,this.value)});else for(r in e)fn(r,e[r],n,s);return i.join("&").replace(rn,"+")};var ln,cn,hn=/#.*$/,pn=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,dn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,vn=/^(?:GET|HEAD)$/,mn=/^\/\//,gn=/\?/,yn=/)<[^<]*)*<\/script>/gi,bn=/([?&])_=[^&]*/,wn=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,En=v.fn.load,Sn={},xn={},Tn=["*/"]+["*"];try{cn=s.href}catch(Nn){cn=i.createElement("a"),cn.href="",cn=cn.href}ln=wn.exec(cn.toLowerCase())||[],v.fn.load=function(e,n,r){if(typeof e!="string"&&En)return En.apply(this,arguments);if(!this.length)return this;var i,s,o,u=this,a=e.indexOf(" ");return a>=0&&(i=e.slice(a,e.length),e=e.slice(0,a)),v.isFunction(n)?(r=n,n=t):n&&typeof n=="object"&&(s="POST"),v.ajax({url:e,type:s,dataType:"html",data:n,complete:function(e,t){r&&u.each(r,o||[e.responseText,t,e])}}).done(function(e){o=arguments,u.html(i?v("
").append(e.replace(yn,"")).find(i):e)}),this},v.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,t){v.fn[t]=function(e){return this.on(t,e)}}),v.each(["get","post"],function(e,n){v[n]=function(e,r,i,s){return v.isFunction(r)&&(s=s||i,i=r,r=t),v.ajax({type:n,url:e,data:r,success:i,dataType:s})}}),v.extend({getScript:function(e,n){return v.get(e,t,n,"script")},getJSON:function(e,t,n){return v.get(e,t,n,"json")},ajaxSetup:function(e,t){return t?Ln(e,v.ajaxSettings):(t=e,e=v.ajaxSettings),Ln(e,t),e},ajaxSettings:{url:cn,isLocal:dn.test(ln[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":Tn},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":v.parseJSON,"text xml":v.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:Cn(Sn),ajaxTransport:Cn(xn),ajax:function(e,n){function T(e,n,s,a){var l,y,b,w,S,T=n;if(E===2)return;E=2,u&&clearTimeout(u),o=t,i=a||"",x.readyState=e>0?4:0,s&&(w=An(c,x,s));if(e>=200&&e<300||e===304)c.ifModified&&(S=x.getResponseHeader("Last-Modified"),S&&(v.lastModified[r]=S),S=x.getResponseHeader("Etag"),S&&(v.etag[r]=S)),e===304?(T="notmodified",l=!0):(l=On(c,w),T=l.state,y=l.data,b=l.error,l=!b);else{b=T;if(!T||e)T="error",e<0&&(e=0)}x.status=e,x.statusText=(n||T)+"",l?d.resolveWith(h,[y,T,x]):d.rejectWith(h,[x,T,b]),x.statusCode(g),g=t,f&&p.trigger("ajax"+(l?"Success":"Error"),[x,c,l?y:b]),m.fireWith(h,[x,T]),f&&(p.trigger("ajaxComplete",[x,c]),--v.active||v.event.trigger("ajaxStop"))}typeof e=="object"&&(n=e,e=t),n=n||{};var r,i,s,o,u,a,f,l,c=v.ajaxSetup({},n),h=c.context||c,p=h!==c&&(h.nodeType||h instanceof v)?v(h):v.event,d=v.Deferred(),m=v.Callbacks("once memory"),g=c.statusCode||{},b={},w={},E=0,S="canceled",x={readyState:0,setRequestHeader:function(e,t){if(!E){var n=e.toLowerCase();e=w[n]=w[n]||e,b[e]=t}return this},getAllResponseHeaders:function(){return E===2?i:null},getResponseHeader:function(e){var n;if(E===2){if(!s){s={};while(n=pn.exec(i))s[n[1].toLowerCase()]=n[2]}n=s[e.toLowerCase()]}return n===t?null:n},overrideMimeType:function(e){return E||(c.mimeType=e),this},abort:function(e){return e=e||S,o&&o.abort(e),T(0,e),this}};d.promise(x),x.success=x.done,x.error=x.fail,x.complete=m.add,x.statusCode=function(e){if(e){var t;if(E<2)for(t in e)g[t]=[g[t],e[t]];else t=e[x.status],x.always(t)}return this},c.url=((e||c.url)+"").replace(hn,"").replace(mn,ln[1]+"//"),c.dataTypes=v.trim(c.dataType||"*").toLowerCase().split(y),c.crossDomain==null&&(a=wn.exec(c.url.toLowerCase()),c.crossDomain=!(!a||a[1]===ln[1]&&a[2]===ln[2]&&(a[3]||(a[1]==="http:"?80:443))==(ln[3]||(ln[1]==="http:"?80:443)))),c.data&&c.processData&&typeof c.data!="string"&&(c.data=v.param(c.data,c.traditional)),kn(Sn,c,n,x);if(E===2)return x;f=c.global,c.type=c.type.toUpperCase(),c.hasContent=!vn.test(c.type),f&&v.active++===0&&v.event.trigger("ajaxStart");if(!c.hasContent){c.data&&(c.url+=(gn.test(c.url)?"&":"?")+c.data,delete c.data),r=c.url;if(c.cache===!1){var N=v.now(),C=c.url.replace(bn,"$1_="+N);c.url=C+(C===c.url?(gn.test(c.url)?"&":"?")+"_="+N:"")}}(c.data&&c.hasContent&&c.contentType!==!1||n.contentType)&&x.setRequestHeader("Content-Type",c.contentType),c.ifModified&&(r=r||c.url,v.lastModified[r]&&x.setRequestHeader("If-Modified-Since",v.lastModified[r]),v.etag[r]&&x.setRequestHeader("If-None-Match",v.etag[r])),x.setRequestHeader("Accept",c.dataTypes[0]&&c.accepts[c.dataTypes[0]]?c.accepts[c.dataTypes[0]]+(c.dataTypes[0]!=="*"?", "+Tn+"; q=0.01":""):c.accepts["*"]);for(l in c.headers)x.setRequestHeader(l,c.headers[l]);if(!c.beforeSend||c.beforeSend.call(h,x,c)!==!1&&E!==2){S="abort";for(l in{success:1,error:1,complete:1})x[l](c[l]);o=kn(xn,c,n,x);if(!o)T(-1,"No Transport");else{x.readyState=1,f&&p.trigger("ajaxSend",[x,c]),c.async&&c.timeout>0&&(u=setTimeout(function(){x.abort("timeout")},c.timeout));try{E=1,o.send(b,T)}catch(k){if(!(E<2))throw k;T(-1,k)}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var Mn=[],_n=/\?/,Dn=/(=)\?(?=&|$)|\?\?/,Pn=v.now();v.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Mn.pop()||v.expando+"_"+Pn++;return this[e]=!0,e}}),v.ajaxPrefilter("json jsonp",function(n,r,i){var s,o,u,a=n.data,f=n.url,l=n.jsonp!==!1,c=l&&Dn.test(f),h=l&&!c&&typeof a=="string"&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Dn.test(a);if(n.dataTypes[0]==="jsonp"||c||h)return s=n.jsonpCallback=v.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,o=e[s],c?n.url=f.replace(Dn,"$1"+s):h?n.data=a.replace(Dn,"$1"+s):l&&(n.url+=(_n.test(f)?"&":"?")+n.jsonp+"="+s),n.converters["script json"]=function(){return u||v.error(s+" was not called"),u[0]},n.dataTypes[0]="json",e[s]=function(){u=arguments},i.always(function(){e[s]=o,n[s]&&(n.jsonpCallback=r.jsonpCallback,Mn.push(s)),u&&v.isFunction(o)&&o(u[0]),u=o=t}),"script"}),v.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){return v.globalEval(e),e}}}),v.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),v.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=i.head||i.getElementsByTagName("head")[0]||i.documentElement;return{send:function(s,o){n=i.createElement("script"),n.async="async",e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,i){if(i||!n.readyState||/loaded|complete/.test(n.readyState))n.onload=n.onreadystatechange=null,r&&n.parentNode&&r.removeChild(n),n=t,i||o(200,"success")},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(0,1)}}}});var Hn,Bn=e.ActiveXObject?function(){for(var e in Hn)Hn[e](0,1)}:!1,jn=0;v.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&Fn()||In()}:Fn,function(e){v.extend(v.support,{ajax:!!e,cors:!!e&&"withCredentials"in e})}(v.ajaxSettings.xhr()),v.support.ajax&&v.ajaxTransport(function(n){if(!n.crossDomain||v.support.cors){var r;return{send:function(i,s){var o,u,a=n.xhr();n.username?a.open(n.type,n.url,n.async,n.username,n.password):a.open(n.type,n.url,n.async);if(n.xhrFields)for(u in n.xhrFields)a[u]=n.xhrFields[u];n.mimeType&&a.overrideMimeType&&a.overrideMimeType(n.mimeType),!n.crossDomain&&!i["X-Requested-With"]&&(i["X-Requested-With"]="XMLHttpRequest");try{for(u in i)a.setRequestHeader(u,i[u])}catch(f){}a.send(n.hasContent&&n.data||null),r=function(e,i){var u,f,l,c,h;try{if(r&&(i||a.readyState===4)){r=t,o&&(a.onreadystatechange=v.noop,Bn&&delete Hn[o]);if(i)a.readyState!==4&&a.abort();else{u=a.status,l=a.getAllResponseHeaders(),c={},h=a.responseXML,h&&h.documentElement&&(c.xml=h);try{c.text=a.responseText}catch(p){}try{f=a.statusText}catch(p){f=""}!u&&n.isLocal&&!n.crossDomain?u=c.text?200:404:u===1223&&(u=204)}}}catch(d){i||s(-1,d)}c&&s(u,f,c,l)},n.async?a.readyState===4?setTimeout(r,0):(o=++jn,Bn&&(Hn||(Hn={},v(e).unload(Bn)),Hn[o]=r),a.onreadystatechange=r):r()},abort:function(){r&&r(0,1)}}}});var qn,Rn,Un=/^(?:toggle|show|hide)$/,zn=new RegExp("^(?:([-+])=|)("+m+")([a-z%]*)$","i"),Wn=/queueHooks$/,Xn=[Gn],Vn={"*":[function(e,t){var n,r,i=this.createTween(e,t),s=zn.exec(t),o=i.cur(),u=+o||0,a=1,f=20;if(s){n=+s[2],r=s[3]||(v.cssNumber[e]?"":"px");if(r!=="px"&&u){u=v.css(i.elem,e,!0)||n||1;do a=a||".5",u/=a,v.style(i.elem,e,u+r);while(a!==(a=i.cur()/o)&&a!==1&&--f)}i.unit=r,i.start=u,i.end=s[1]?u+(s[1]+1)*n:n}return i}]};v.Animation=v.extend(Kn,{tweener:function(e,t){v.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;r-1,f={},l={},c,h;a?(l=i.position(),c=l.top,h=l.left):(c=parseFloat(o)||0,h=parseFloat(u)||0),v.isFunction(t)&&(t=t.call(e,n,s)),t.top!=null&&(f.top=t.top-s.top+c),t.left!=null&&(f.left=t.left-s.left+h),"using"in t?t.using.call(e,f):i.css(f)}},v.fn.extend({position:function(){if(!this[0])return;var e=this[0],t=this.offsetParent(),n=this.offset(),r=er.test(t[0].nodeName)?{top:0,left:0}:t.offset();return n.top-=parseFloat(v.css(e,"marginTop"))||0,n.left-=parseFloat(v.css(e,"marginLeft"))||0,r.top+=parseFloat(v.css(t[0],"borderTopWidth"))||0,r.left+=parseFloat(v.css(t[0],"borderLeftWidth"))||0,{top:n.top-r.top,left:n.left-r.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||i.body;while(e&&!er.test(e.nodeName)&&v.css(e,"position")==="static")e=e.offsetParent;return e||i.body})}}),v.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);v.fn[e]=function(i){return v.access(this,function(e,i,s){var o=tr(e);if(s===t)return o?n in o?o[n]:o.document.documentElement[i]:e[i];o?o.scrollTo(r?v(o).scrollLeft():s,r?s:v(o).scrollTop()):e[i]=s},e,i,arguments.length,null)}}),v.each({Height:"height",Width:"width"},function(e,n){v.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){v.fn[i]=function(i,s){var o=arguments.length&&(r||typeof i!="boolean"),u=r||(i===!0||s===!0?"margin":"border");return v.access(this,function(n,r,i){var s;return v.isWindow(n)?n.document.documentElement["client"+e]:n.nodeType===9?(s=n.documentElement,Math.max(n.body["scroll"+e],s["scroll"+e],n.body["offset"+e],s["offset"+e],s["client"+e])):i===t?v.css(n,r,i,u):v.style(n,r,i,u)},n,o?i:t,o,null)}})}),e.jQuery=e.$=v,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return v})})(window); \ No newline at end of file diff --git a/docs/_build/html/_static/js/theme.js b/docs/_build/html/_static/js/theme.js new file mode 100644 index 0000000..60520cc --- /dev/null +++ b/docs/_build/html/_static/js/theme.js @@ -0,0 +1,47 @@ +$( document ).ready(function() { + // Shift nav in mobile when clicking the menu. + $(document).on('click', "[data-toggle='wy-nav-top']", function() { + $("[data-toggle='wy-nav-shift']").toggleClass("shift"); + $("[data-toggle='rst-versions']").toggleClass("shift"); + }); + // Close menu when you click a link. + $(document).on('click', ".wy-menu-vertical .current ul li a", function() { + $("[data-toggle='wy-nav-shift']").removeClass("shift"); + $("[data-toggle='rst-versions']").toggleClass("shift"); + }); + $(document).on('click', "[data-toggle='rst-current-version']", function() { + $("[data-toggle='rst-versions']").toggleClass("shift-up"); + }); + // Make tables responsive + $("table.docutils:not(.field-list)").wrap("
"); +}); + +window.SphinxRtdTheme = (function (jquery) { + var stickyNav = (function () { + var navBar, + win, + stickyNavCssClass = 'stickynav', + applyStickNav = function () { + if (navBar.height() <= win.height()) { + navBar.addClass(stickyNavCssClass); + } else { + navBar.removeClass(stickyNavCssClass); + } + }, + enable = function () { + applyStickNav(); + win.on('resize', applyStickNav); + }, + init = function () { + navBar = jquery('nav.wy-nav-side:first'); + win = jquery(window); + }; + jquery(init); + return { + enable : enable + }; + }()); + return { + StickyNav : stickyNav + }; +}($)); diff --git a/docs/_build/html/_static/minus.png b/docs/_build/html/_static/minus.png new file mode 100644 index 0000000000000000000000000000000000000000..da1c5620d10c047525a467a425abe9ff5269cfc2 GIT binary patch literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^+#t-s1SHkYJtzcHoCO|{#XvD(5N2eUHAey{$X?>< z>&kweokM_|(Po{+Q=kw>iEBiObAE1aYF-J$w=>iB1I2R$WLpMkF=>bh=@O1TaS?83{1OVknK< z>&kweokM`jkU7Va11Q8%;u=xnoS&PUnpeW`?aZ|OK(QcC7sn8Z%gHvy&v=;Q4jejg zV8NnAO`-4Z@2~&zopr02WF_WB>pF literal 0 HcmV?d00001 diff --git a/docs/_build/html/_static/pygments.css b/docs/_build/html/_static/pygments.css new file mode 100644 index 0000000..d79caa1 --- /dev/null +++ b/docs/_build/html/_static/pygments.css @@ -0,0 +1,62 @@ +.highlight .hll { background-color: #ffffcc } +.highlight { background: #eeffcc; } +.highlight .c { color: #408090; font-style: italic } /* Comment */ +.highlight .err { border: 1px solid #FF0000 } /* Error */ +.highlight .k { color: #007020; font-weight: bold } /* Keyword */ +.highlight .o { color: #666666 } /* Operator */ +.highlight .cm { color: #408090; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #007020 } /* Comment.Preproc */ +.highlight .c1 { color: #408090; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */ +.highlight .gd { color: #A00000 } /* Generic.Deleted */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .gr { color: #FF0000 } /* Generic.Error */ +.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.highlight .gi { color: #00A000 } /* Generic.Inserted */ +.highlight .go { color: #333333 } /* Generic.Output */ +.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */ +.highlight .gs { font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.highlight .gt { color: #0044DD } /* Generic.Traceback */ +.highlight .kc { color: #007020; font-weight: bold } /* Keyword.Constant */ +.highlight .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */ +.highlight .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */ +.highlight .kp { color: #007020 } /* Keyword.Pseudo */ +.highlight .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #902000 } /* Keyword.Type */ +.highlight .m { color: #208050 } /* Literal.Number */ +.highlight .s { color: #4070a0 } /* Literal.String */ +.highlight .na { color: #4070a0 } /* Name.Attribute */ +.highlight .nb { color: #007020 } /* Name.Builtin */ +.highlight .nc { color: #0e84b5; font-weight: bold } /* Name.Class */ +.highlight .no { color: #60add5 } /* Name.Constant */ +.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */ +.highlight .ni { color: #d55537; font-weight: bold } /* Name.Entity */ +.highlight .ne { color: #007020 } /* Name.Exception */ +.highlight .nf { color: #06287e } /* Name.Function */ +.highlight .nl { color: #002070; font-weight: bold } /* Name.Label */ +.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */ +.highlight .nt { color: #062873; font-weight: bold } /* Name.Tag */ +.highlight .nv { color: #bb60d5 } /* Name.Variable */ +.highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */ +.highlight .w { color: #bbbbbb } /* Text.Whitespace */ +.highlight .mf { color: #208050 } /* Literal.Number.Float */ +.highlight .mh { color: #208050 } /* Literal.Number.Hex */ +.highlight .mi { color: #208050 } /* Literal.Number.Integer */ +.highlight .mo { color: #208050 } /* Literal.Number.Oct */ +.highlight .sb { color: #4070a0 } /* Literal.String.Backtick */ +.highlight .sc { color: #4070a0 } /* Literal.String.Char */ +.highlight .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */ +.highlight .s2 { color: #4070a0 } /* Literal.String.Double */ +.highlight .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */ +.highlight .sh { color: #4070a0 } /* Literal.String.Heredoc */ +.highlight .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */ +.highlight .sx { color: #c65d09 } /* Literal.String.Other */ +.highlight .sr { color: #235388 } /* Literal.String.Regex */ +.highlight .s1 { color: #4070a0 } /* Literal.String.Single */ +.highlight .ss { color: #517918 } /* Literal.String.Symbol */ +.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */ +.highlight .vc { color: #bb60d5 } /* Name.Variable.Class */ +.highlight .vg { color: #bb60d5 } /* Name.Variable.Global */ +.highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */ +.highlight .il { color: #208050 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/docs/_build/html/_static/searchtools.js b/docs/_build/html/_static/searchtools.js new file mode 100644 index 0000000..6e1f06b --- /dev/null +++ b/docs/_build/html/_static/searchtools.js @@ -0,0 +1,622 @@ +/* + * searchtools.js_t + * ~~~~~~~~~~~~~~~~ + * + * Sphinx JavaScript utilties for the full-text search. + * + * :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + + +/** + * Porter Stemmer + */ +var Stemmer = function() { + + var step2list = { + ational: 'ate', + tional: 'tion', + enci: 'ence', + anci: 'ance', + izer: 'ize', + bli: 'ble', + alli: 'al', + entli: 'ent', + eli: 'e', + ousli: 'ous', + ization: 'ize', + ation: 'ate', + ator: 'ate', + alism: 'al', + iveness: 'ive', + fulness: 'ful', + ousness: 'ous', + aliti: 'al', + iviti: 'ive', + biliti: 'ble', + logi: 'log' + }; + + var step3list = { + icate: 'ic', + ative: '', + alize: 'al', + iciti: 'ic', + ical: 'ic', + ful: '', + ness: '' + }; + + var c = "[^aeiou]"; // consonant + var v = "[aeiouy]"; // vowel + var C = c + "[^aeiouy]*"; // consonant sequence + var V = v + "[aeiou]*"; // vowel sequence + + var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0 + var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 + var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 + var s_v = "^(" + C + ")?" + v; // vowel in stem + + this.stemWord = function (w) { + var stem; + var suffix; + var firstch; + var origword = w; + + if (w.length < 3) + return w; + + var re; + var re2; + var re3; + var re4; + + firstch = w.substr(0,1); + if (firstch == "y") + w = firstch.toUpperCase() + w.substr(1); + + // Step 1a + re = /^(.+?)(ss|i)es$/; + re2 = /^(.+?)([^s])s$/; + + if (re.test(w)) + w = w.replace(re,"$1$2"); + else if (re2.test(w)) + w = w.replace(re2,"$1$2"); + + // Step 1b + re = /^(.+?)eed$/; + re2 = /^(.+?)(ed|ing)$/; + if (re.test(w)) { + var fp = re.exec(w); + re = new RegExp(mgr0); + if (re.test(fp[1])) { + re = /.$/; + w = w.replace(re,""); + } + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1]; + re2 = new RegExp(s_v); + if (re2.test(stem)) { + w = stem; + re2 = /(at|bl|iz)$/; + re3 = new RegExp("([^aeiouylsz])\\1$"); + re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re2.test(w)) + w = w + "e"; + else if (re3.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + else if (re4.test(w)) + w = w + "e"; + } + } + + // Step 1c + re = /^(.+?)y$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(s_v); + if (re.test(stem)) + w = stem + "i"; + } + + // Step 2 + re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step2list[suffix]; + } + + // Step 3 + re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step3list[suffix]; + } + + // Step 4 + re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; + re2 = /^(.+?)(s|t)(ion)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + if (re.test(stem)) + w = stem; + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1] + fp[2]; + re2 = new RegExp(mgr1); + if (re2.test(stem)) + w = stem; + } + + // Step 5 + re = /^(.+?)e$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + re2 = new RegExp(meq1); + re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) + w = stem; + } + re = /ll$/; + re2 = new RegExp(mgr1); + if (re.test(w) && re2.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + + // and turn initial Y back to y + if (firstch == "y") + w = firstch.toLowerCase() + w.substr(1); + return w; + } +} + + + +/** + * Simple result scoring code. + */ +var Scorer = { + // Implement the following function to further tweak the score for each result + // The function takes a result array [filename, title, anchor, descr, score] + // and returns the new score. + /* + score: function(result) { + return result[4]; + }, + */ + + // query matches the full name of an object + objNameMatch: 11, + // or matches in the last dotted part of the object name + objPartialMatch: 6, + // Additive scores depending on the priority of the object + objPrio: {0: 15, // used to be importantResults + 1: 5, // used to be objectResults + 2: -5}, // used to be unimportantResults + // Used when the priority is not in the mapping. + objPrioDefault: 0, + + // query found in title + title: 15, + // query found in terms + term: 5 +}; + + +/** + * Search Module + */ +var Search = { + + _index : null, + _queued_query : null, + _pulse_status : -1, + + init : function() { + var params = $.getQueryParameters(); + if (params.q) { + var query = params.q[0]; + $('input[name="q"]')[0].value = query; + this.performSearch(query); + } + }, + + loadIndex : function(url) { + $.ajax({type: "GET", url: url, data: null, + dataType: "script", cache: true, + complete: function(jqxhr, textstatus) { + if (textstatus != "success") { + document.getElementById("searchindexloader").src = url; + } + }}); + }, + + setIndex : function(index) { + var q; + this._index = index; + if ((q = this._queued_query) !== null) { + this._queued_query = null; + Search.query(q); + } + }, + + hasIndex : function() { + return this._index !== null; + }, + + deferQuery : function(query) { + this._queued_query = query; + }, + + stopPulse : function() { + this._pulse_status = 0; + }, + + startPulse : function() { + if (this._pulse_status >= 0) + return; + function pulse() { + var i; + Search._pulse_status = (Search._pulse_status + 1) % 4; + var dotString = ''; + for (i = 0; i < Search._pulse_status; i++) + dotString += '.'; + Search.dots.text(dotString); + if (Search._pulse_status > -1) + window.setTimeout(pulse, 500); + } + pulse(); + }, + + /** + * perform a search for something (or wait until index is loaded) + */ + performSearch : function(query) { + // create the required interface elements + this.out = $('#search-results'); + this.title = $('

' + _('Searching') + '

').appendTo(this.out); + this.dots = $('').appendTo(this.title); + this.status = $('

').appendTo(this.out); + this.output = $('
'); + } + // Prettify the comment rating. + comment.pretty_rating = comment.rating + ' point' + + (comment.rating == 1 ? '' : 's'); + // Make a class (for displaying not yet moderated comments differently) + comment.css_class = comment.displayed ? '' : ' moderate'; + // Create a div for this comment. + var context = $.extend({}, opts, comment); + var div = $(renderTemplate(commentTemplate, context)); + + // If the user has voted on this comment, highlight the correct arrow. + if (comment.vote) { + var direction = (comment.vote == 1) ? 'u' : 'd'; + div.find('#' + direction + 'v' + comment.id).hide(); + div.find('#' + direction + 'u' + comment.id).show(); + } + + if (opts.moderator || comment.text != '[deleted]') { + div.find('a.reply').show(); + if (comment.proposal_diff) + div.find('#sp' + comment.id).show(); + if (opts.moderator && !comment.displayed) + div.find('#cm' + comment.id).show(); + if (opts.moderator || (opts.username == comment.username)) + div.find('#dc' + comment.id).show(); + } + return div; + } + + /** + * A simple template renderer. Placeholders such as <%id%> are replaced + * by context['id'] with items being escaped. Placeholders such as <#id#> + * are not escaped. + */ + function renderTemplate(template, context) { + var esc = $(document.createElement('div')); + + function handle(ph, escape) { + var cur = context; + $.each(ph.split('.'), function() { + cur = cur[this]; + }); + return escape ? esc.text(cur || "").html() : cur; + } + + return template.replace(/<([%#])([\w\.]*)\1>/g, function() { + return handle(arguments[2], arguments[1] == '%' ? true : false); + }); + } + + /** Flash an error message briefly. */ + function showError(message) { + $(document.createElement('div')).attr({'class': 'popup-error'}) + .append($(document.createElement('div')) + .attr({'class': 'error-message'}).text(message)) + .appendTo('body') + .fadeIn("slow") + .delay(2000) + .fadeOut("slow"); + } + + /** Add a link the user uses to open the comments popup. */ + $.fn.comment = function() { + return this.each(function() { + var id = $(this).attr('id').substring(1); + var count = COMMENT_METADATA[id]; + var title = count + ' comment' + (count == 1 ? '' : 's'); + var image = count > 0 ? opts.commentBrightImage : opts.commentImage; + var addcls = count == 0 ? ' nocomment' : ''; + $(this) + .append( + $(document.createElement('a')).attr({ + href: '#', + 'class': 'sphinx-comment-open' + addcls, + id: 'ao' + id + }) + .append($(document.createElement('img')).attr({ + src: image, + alt: 'comment', + title: title + })) + .click(function(event) { + event.preventDefault(); + show($(this).attr('id').substring(2)); + }) + ) + .append( + $(document.createElement('a')).attr({ + href: '#', + 'class': 'sphinx-comment-close hidden', + id: 'ah' + id + }) + .append($(document.createElement('img')).attr({ + src: opts.closeCommentImage, + alt: 'close', + title: 'close' + })) + .click(function(event) { + event.preventDefault(); + hide($(this).attr('id').substring(2)); + }) + ); + }); + }; + + var opts = { + processVoteURL: '/_process_vote', + addCommentURL: '/_add_comment', + getCommentsURL: '/_get_comments', + acceptCommentURL: '/_accept_comment', + deleteCommentURL: '/_delete_comment', + commentImage: '/static/_static/comment.png', + closeCommentImage: '/static/_static/comment-close.png', + loadingImage: '/static/_static/ajax-loader.gif', + commentBrightImage: '/static/_static/comment-bright.png', + upArrow: '/static/_static/up.png', + downArrow: '/static/_static/down.png', + upArrowPressed: '/static/_static/up-pressed.png', + downArrowPressed: '/static/_static/down-pressed.png', + voting: false, + moderator: false + }; + + if (typeof COMMENT_OPTIONS != "undefined") { + opts = jQuery.extend(opts, COMMENT_OPTIONS); + } + + var popupTemplate = '\ +
\ +

\ + Sort by:\ + best rated\ + newest\ + oldest\ +

\ +
Comments
\ +
\ + loading comments...
\ +
    \ +
    \ +

    Add a comment\ + (markup):

    \ +
    \ + reStructured text markup: *emph*, **strong**, \ + ``code``, \ + code blocks: :: and an indented block after blank line
    \ +
    \ + \ +

    \ + \ + Propose a change ▹\ + \ + \ + Propose a change ▿\ + \ +

    \ + \ + \ + \ + \ + \ +
    \ +
    '; + + var commentTemplate = '\ +
    \ +
    \ +
    \ + \ + \ + \ + \ + \ + \ +
    \ +
    \ + \ + \ + \ + \ + \ + \ +
    \ +
    \ +
    \ +

    \ + <%username%>\ + <%pretty_rating%>\ + <%time.delta%>\ +

    \ +
    <#text#>
    \ +

    \ + \ + reply ▿\ + proposal ▹\ + proposal ▿\ + \ + \ +

    \ +
    \
    +<#proposal_diff#>\
    +        
    \ +
      \ +
      \ +
      \ +
      \ + '; + + var replyTemplate = '\ +
    • \ +
      \ +
      \ + \ + \ + \ + \ + \ + \ +
      \ +
    • '; + + $(document).ready(function() { + init(); + }); +})(jQuery); + +$(document).ready(function() { + // add comment anchors for all paragraphs that are commentable + $('.sphinx-has-comment').comment(); + + // highlight search words in search results + $("div.context").each(function() { + var params = $.getQueryParameters(); + var terms = (params.q) ? params.q[0].split(/\s+/) : []; + var result = $(this); + $.each(terms, function() { + result.highlightText(this.toLowerCase(), 'highlighted'); + }); + }); + + // directly open comment window if requested + var anchor = document.location.hash; + if (anchor.substring(0, 9) == '#comment-') { + $('#ao' + anchor.substring(9)).click(); + document.location.hash = '#s' + anchor.substring(9); + } +}); diff --git a/docs/_build/html/genindex.html b/docs/_build/html/genindex.html new file mode 100644 index 0000000..afe9f8f --- /dev/null +++ b/docs/_build/html/genindex.html @@ -0,0 +1,662 @@ + + + + + + + + + + + Index — cloudify-rest-client 3.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + + +
      + + + + + + +
      +
      +
      +
        +
      • Docs »
      • + +
      • +
      • + +
      • +
      +
      +
      +
      + + +

      Index

      + +
      + B + | C + | D + | E + | G + | H + | I + | L + | N + | O + | P + | R + | S + | T + | U + | V + | W + +
      +

      B

      +
      + + +
      + +
      Blueprint (class in cloudify_rest_client.blueprints) +
      + + +
      blueprint_id (cloudify_rest_client.deployments.Deployment attribute) +
      + +
      + +
      (cloudify_rest_client.deployments.Workflows attribute) +
      + + +
      (cloudify_rest_client.nodes.Node attribute) +
      + +
      +
      + +
      BlueprintsClient (class in cloudify_rest_client.blueprints) +
      + +
      + +

      C

      + + + +
      + +
      cancel() (cloudify_rest_client.executions.ExecutionsClient method) +
      + + +
      cloudify_rest_client.blueprints (module) +
      + + +
      cloudify_rest_client.client (module) +
      + + +
      cloudify_rest_client.deployments (module) +
      + + +
      cloudify_rest_client.events (module) +
      + + +
      cloudify_rest_client.exceptions (module) +
      + + +
      cloudify_rest_client.executions (module) +
      + +
      + +
      cloudify_rest_client.node_instances (module) +
      + + +
      cloudify_rest_client.nodes (module) +
      + + +
      CloudifyClient (class in cloudify_rest_client.client) +
      + + +
      CloudifyClientError +
      + + +
      CONTENT_DISPOSITION_HEADER (cloudify_rest_client.blueprints.BlueprintsClient attribute) +
      + + +
      create() (cloudify_rest_client.deployments.DeploymentsClient method) +
      + +
      + +

      D

      + + + +
      + +
      delete() (cloudify_rest_client.blueprints.BlueprintsClient method) +
      + +
      + +
      (cloudify_rest_client.client.HTTPClient method) +
      + + +
      (cloudify_rest_client.deployments.DeploymentsClient method) +
      + +
      + +
      Deployment (class in cloudify_rest_client.deployments) +
      + + +
      deployment_id (cloudify_rest_client.deployments.Workflows attribute) +
      + +
      + +
      (cloudify_rest_client.node_instances.NodeInstance attribute) +
      + + +
      (cloudify_rest_client.nodes.Node attribute) +
      + +
      +
      + +
      DeploymentsClient (class in cloudify_rest_client.deployments) +
      + + +
      do_request() (cloudify_rest_client.client.HTTPClient method) +
      + + +
      download() (cloudify_rest_client.blueprints.BlueprintsClient method) +
      + +
      + +

      E

      + + + +
      + +
      error (cloudify_rest_client.executions.Execution attribute) +
      + + +
      EventsClient (class in cloudify_rest_client.events) +
      + + +
      execute() (cloudify_rest_client.deployments.DeploymentsClient method) +
      + +
      + +
      Execution (class in cloudify_rest_client.executions) +
      + + +
      ExecutionsClient (class in cloudify_rest_client.executions) +
      + +
      + +

      G

      + + + +
      + +
      get() (cloudify_rest_client.blueprints.BlueprintsClient method) +
      + +
      + +
      (cloudify_rest_client.client.HTTPClient method) +
      + + +
      (cloudify_rest_client.deployments.DeploymentsClient method) +
      + + +
      (cloudify_rest_client.events.EventsClient method) +
      + + +
      (cloudify_rest_client.executions.ExecutionsClient method) +
      + + +
      (cloudify_rest_client.node_instances.NodeInstancesClient method) +
      + +
      +
      + +
      get_source() (cloudify_rest_client.blueprints.BlueprintsClient method) +
      + +
      + +

      H

      + + + +
      + +
      host_id (cloudify_rest_client.node_instances.NodeInstance attribute) +
      + +
      + +
      (cloudify_rest_client.nodes.Node attribute) +
      + +
      +
      + +
      HTTPClient (class in cloudify_rest_client.client) +
      + +
      + +

      I

      + + +
      + +
      id (cloudify_rest_client.blueprints.Blueprint attribute) +
      + +
      + +
      (cloudify_rest_client.deployments.Deployment attribute) +
      + + +
      (cloudify_rest_client.deployments.Workflow attribute) +
      + + +
      (cloudify_rest_client.executions.Execution attribute) +
      + + +
      (cloudify_rest_client.node_instances.NodeInstance attribute) +
      + + +
      (cloudify_rest_client.nodes.Node attribute) +
      + +
      +
      + +

      L

      + + + +
      + +
      list() (cloudify_rest_client.blueprints.BlueprintsClient method) +
      + +
      + +
      (cloudify_rest_client.deployments.DeploymentsClient method) +
      + + +
      (cloudify_rest_client.executions.ExecutionsClient method) +
      + + +
      (cloudify_rest_client.node_instances.NodeInstancesClient method) +
      + + +
      (cloudify_rest_client.nodes.NodesClient method) +
      + +
      + +
      list_executions() (cloudify_rest_client.deployments.DeploymentsClient method) +
      + +
      + +
      list_workflows() (cloudify_rest_client.deployments.DeploymentsClient method) +
      + +
      + +

      N

      + + + +
      + +
      name (cloudify_rest_client.deployments.Workflow attribute) +
      + + +
      Node (class in cloudify_rest_client.nodes) +
      + + +
      node_id (cloudify_rest_client.node_instances.NodeInstance attribute) +
      + + +
      NodeInstance (class in cloudify_rest_client.node_instances) +
      + +
      + +
      NodeInstancesClient (class in cloudify_rest_client.node_instances) +
      + + +
      NodesClient (class in cloudify_rest_client.nodes) +
      + + +
      number_of_instances (cloudify_rest_client.nodes.Node attribute) +
      + +
      + +

      O

      + + +
      + +
      operations (cloudify_rest_client.nodes.Node attribute) +
      + +
      + +

      P

      + + + +
      + +
      patch() (cloudify_rest_client.client.HTTPClient method) +
      + + +
      plugins (cloudify_rest_client.nodes.Node attribute) +
      + + +
      post() (cloudify_rest_client.client.HTTPClient method) +
      + +
      + +
      properties (cloudify_rest_client.nodes.Node attribute) +
      + + +
      put() (cloudify_rest_client.client.HTTPClient method) +
      + +
      + +

      R

      + + + +
      + +
      relationships (cloudify_rest_client.node_instances.NodeInstance attribute) +
      + +
      + +
      (cloudify_rest_client.nodes.Node attribute) +
      + +
      +
      + +
      runtime_properties (cloudify_rest_client.node_instances.NodeInstance attribute) +
      + +
      + +

      S

      + + + +
      + +
      state (cloudify_rest_client.node_instances.NodeInstance attribute) +
      + +
      + +
      status (cloudify_rest_client.executions.Execution attribute) +
      + +
      + +

      T

      + + + +
      + +
      type (cloudify_rest_client.nodes.Node attribute) +
      + +
      + +
      type_hierarchy (cloudify_rest_client.nodes.Node attribute) +
      + +
      + +

      U

      + + + +
      + +
      update() (cloudify_rest_client.executions.ExecutionsClient method) +
      + +
      + +
      (cloudify_rest_client.node_instances.NodeInstancesClient method) +
      + +
      +
      + +
      upload() (cloudify_rest_client.blueprints.BlueprintsClient method) +
      + +
      + +

      V

      + + + +
      + +
      verify_response_status() (cloudify_rest_client.client.HTTPClient method) +
      + +
      + +
      version (cloudify_rest_client.node_instances.NodeInstance attribute) +
      + +
      + +

      W

      + + + +
      + +
      Workflow (class in cloudify_rest_client.deployments) +
      + + +
      workflow_id (cloudify_rest_client.executions.Execution attribute) +
      + +
      + +
      Workflows (class in cloudify_rest_client.deployments) +
      + + +
      workflows (cloudify_rest_client.deployments.Workflows attribute) +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/_build/html/index.html b/docs/_build/html/index.html new file mode 100644 index 0000000..d9c1754 --- /dev/null +++ b/docs/_build/html/index.html @@ -0,0 +1,1097 @@ + + + + + + + + + + Welcome to cloudify-rest-client’s documentation! — cloudify-rest-client 3.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + + +
      + + + + + + +
      +
      +
      + +
      +
      +
      + +
      +

      Welcome to cloudify-rest-client’s documentation!

      +

      Contents:

      +
      +
        +
      +
      +
      +
      +class cloudify_rest_client.blueprints.Blueprint(blueprint)[source]
      +

      Bases: dict

      +
      +
      +id[source]
      +
      +++ + + + +
      Returns:The identifier of the blueprint.
      +
      + +
      + +
      +
      +class cloudify_rest_client.blueprints.BlueprintsClient(api)[source]
      +

      Bases: object

      +
      +
      +CONTENT_DISPOSITION_HEADER = 'content-disposition'
      +
      + +
      +
      +list()[source]
      +

      Returns a list of currently stored blueprints.

      + +++ + + + +
      Returns:Blueprints list.
      +
      + +
      +
      +upload(blueprint_path, blueprint_id)[source]
      +

      Uploads a blueprint to Cloudify’s manager.

      + +++ + + + + + +
      Parameters:
        +
      • blueprint_path – Main blueprint yaml file path.
      • +
      • blueprint_id – Id of the uploaded blueprint (optional).
      • +
      +
      Returns:

      Created blueprint.

      +
      +

      Blueprint path should point to the main yaml file of the blueprint +to be uploaded. Its containing folder will be packed to an archive +and get uploaded to the manager. +An optional blueprint_id parameter is available for specifying the +blueprint’s unique Id. If not specified, blueprint id will be +determined after parsing the blueprint’s yaml file.

      +
      + +
      +
      +get(blueprint_id)[source]
      +

      Gets a blueprint by its id.

      + +++ + + + + + +
      Parameters:blueprint_id – Blueprint’s id to get.
      Returns:The blueprint.
      +
      + +
      +
      +get_source(blueprint_id)[source]
      +

      Gets a blueprint’s source by the blueprint’s id.

      + +++ + + + + + +
      Parameters:blueprint_id – Blueprint’s id to get the source for.
      Returns:The blueprint’s source.
      +
      + +
      +
      +delete(blueprint_id)[source]
      +

      Deletes the blueprint whose id matches the provided blueprint id.

      + +++ + + + + + +
      Parameters:blueprint_id – The id of the blueprint to be deleted.
      Returns:Deleted blueprint.
      +
      + +
      +
      +download(blueprint_id, output_file=None)[source]
      +

      Downloads a previously uploaded blueprint from Cloudify’s manager.

      + +++ + + + + + +
      Parameters:
        +
      • blueprint_id – The Id of the blueprint to be downloaded.
      • +
      • output_file – The file path of the downloaded blueprint file +(optional)
      • +
      +
      Returns:

      The file path of the downloaded blueprint.

      +
      +
      + +
      + +
      +
      +class cloudify_rest_client.client.HTTPClient(host, port=80)[source]
      +

      Bases: object

      +
      +
      +verify_response_status(response, expected_code=200)[source]
      +
      + +
      +
      +do_request(requests_method, uri, data=None, params=None, expected_status_code=200)[source]
      +
      + +
      +
      +get(uri, data=None, params=None, expected_status_code=200)[source]
      +
      + +
      +
      +put(uri, data=None, params=None, expected_status_code=200)[source]
      +
      + +
      +
      +patch(uri, data=None, params=None, expected_status_code=200)[source]
      +
      + +
      +
      +post(uri, data=None, params=None, expected_status_code=200)[source]
      +
      + +
      +
      +delete(uri, data=None, params=None, expected_status_code=200)[source]
      +
      + +
      + +
      +
      +class cloudify_rest_client.client.CloudifyClient(host, port=80)[source]
      +

      Bases: object

      +

      Cloudify’s management client.

      +
      + +
      +
      +class cloudify_rest_client.deployments.Deployment(deployment)[source]
      +

      Bases: dict

      +

      Cloudify deployment.

      +
      +
      +id[source]
      +
      +++ + + + +
      Returns:The identifier of the deployment.
      +
      + +
      +
      +blueprint_id[source]
      +
      +++ + + + +
      Returns:The identifier of the blueprint this deployment belongs to.
      +
      + +
      + +
      +
      +class cloudify_rest_client.deployments.Workflows(workflows)[source]
      +

      Bases: dict

      +
      +
      +blueprint_id[source]
      +
      + +
      +
      +deployment_id[source]
      +
      + +
      +
      +workflows[source]
      +
      + +
      + +
      +
      +class cloudify_rest_client.deployments.Workflow(workflow)[source]
      +

      Bases: dict

      +
      +
      +id[source]
      +
      + +
      +
      +name[source]
      +
      + +
      + +
      +
      +class cloudify_rest_client.deployments.DeploymentsClient(api)[source]
      +

      Bases: object

      +
      +
      +list()[source]
      +

      Returns a list of all deployments.

      + +++ + + + +
      Returns:Deployments list.
      +
      + +
      +
      +get(deployment_id)[source]
      +

      Returns a deployment by its id.

      + +++ + + + + + +
      Parameters:deployment_id – Id of the deployment to get.
      Returns:Deployment.
      +
      + +
      +
      +create(blueprint_id, deployment_id)[source]
      +

      Creates a new deployment for the provided blueprint id and +deployment id.

      + +++ + + + + + +
      Parameters:
        +
      • blueprint_id – Blueprint id to create a deployment of.
      • +
      • deployment_id – Deployment id of the new created deployment.
      • +
      +
      Returns:

      The created deployment.

      +
      +
      + +
      +
      +delete(deployment_id, ignore_live_nodes=False)[source]
      +

      Deletes the deployment whose id matches the provided deployment id. +By default, deployment with live nodes deletion is not allowed and +this behavior can be changed using the ignore_live_nodes argument.

      + +++ + + + + + +
      Parameters:
        +
      • deployment_id – The deployment’s to be deleted id.
      • +
      • ignore_live_nodes – Determines whether to ignore live nodes.
      • +
      +
      Returns:

      The deleted deployment.

      +
      +
      + +
      +
      +list_executions(deployment_id)[source]
      +

      Returns a list of executions for the provided deployment’s id.

      + +++ + + + + + +
      Parameters:deployment_id – Deployment id to get a list of executions for.
      Returns:List of executions.
      +
      + +
      +
      +list_workflows(deployment_id)[source]
      +

      Returns a list of available workflows for the provided deployment’s id.

      + +++ + + + + + +
      Parameters:deployment_id – Deployment id to get a list of workflows for.
      Returns:Workflows list.
      +
      + +
      +
      +execute(deployment_id, workflow_id, force=False)[source]
      +

      Executes a deployment’s workflow whose id is provided.

      + +++ + + + + + +
      Parameters:
        +
      • deployment_id – The deployment’s id to execute a workflow for.
      • +
      • workflow_id – The workflow to be executed id.
      • +
      • force – Determines whether to force the execution of the workflow +in a case where there’s an already running execution for this +deployment.
      • +
      +
      Returns:

      The created execution.

      +
      +
      + +
      + +
      +
      +class cloudify_rest_client.events.EventsClient(api)[source]
      +

      Bases: object

      +
      +
      +get(execution_id, from_event=0, batch_size=100, include_logs=False)[source]
      +

      Returns event for the provided execution id.

      + +++ + + + + + +
      Parameters:
        +
      • execution_id – Id of execution to get events for.
      • +
      • from_event – Index of first event to retrieve on pagination.
      • +
      • batch_size – Maximum number of events to retrieve per call.
      • +
      • include_logs – Whether to also get logs.
      • +
      +
      Returns:

      Events list and total number of currently available +events (tuple).

      +
      +
      + +
      + +
      +
      +exception cloudify_rest_client.exceptions.CloudifyClientError(message)[source]
      +

      Bases: exceptions.Exception

      +
      + +
      +
      +class cloudify_rest_client.executions.Execution(execution)[source]
      +

      Bases: dict

      +

      Cloudify workflow execution.

      +
      +
      +id[source]
      +
      +++ + + + +
      Returns:The execution’s id.
      +
      + +
      +
      +status[source]
      +
      +++ + + + +
      Returns:The execution’s status.
      +
      + +
      +
      +error[source]
      +
      +++ + + + +
      Returns:The execution error in a case of failure, otherwise None.
      +
      + +
      +
      +workflow_id[source]
      +
      +++ + + + +
      Returns:The id of the workflow this execution represents.
      +
      + +
      + +
      +
      +class cloudify_rest_client.executions.ExecutionsClient(api)[source]
      +

      Bases: object

      +
      +
      +list(deployment_id)[source]
      +

      Returns a list of executions for the provided deployment’s id.

      + +++ + + + + + +
      Parameters:deployment_id – Deployment id to get a list of executions for.
      Returns:Executions list.
      +
      + +
      +
      +get(execution_id)[source]
      +

      Get execution by its id.

      + +++ + + + + + +
      Parameters:execution_id – Id of the execution to get.
      Returns:Execution.
      +
      + +
      +
      +update(execution_id, status, error=None)[source]
      +

      Update execution with the provided status and optional error.

      + +++ + + + + + +
      Parameters:
        +
      • execution_id – Id of the execution to update.
      • +
      • status – Updated execution status.
      • +
      • error – Updated execution error (optional).
      • +
      +
      Returns:

      Updated execution.

      +
      +
      + +
      +
      +cancel(execution_id)[source]
      +

      Cancels the execution who matches the provided execution id. +:param execution_id: Id of the execution to cancel. +:return: Cancelled execution.

      +
      + +
      + +
      +
      +class cloudify_rest_client.node_instances.NodeInstance(node_instance)[source]
      +

      Bases: dict

      +

      Cloudify node instance.

      +
      +
      +id[source]
      +
      +++ + + + +
      Returns:The identifier of the node instance.
      +
      + +
      +
      +node_id[source]
      +
      +++ + + + +
      Returns:The identifier of the node whom this is in instance of.
      +
      + +
      +
      +relationships[source]
      +
      +++ + + + +
      Returns:The node instance relationships.
      +
      + +
      +
      +host_id[source]
      +
      +++ + + + +
      Returns:The node instance host_id.
      +
      + +
      +
      +deployment_id[source]
      +
      +++ + + + +
      Returns:The deployment id the node instance belongs to.
      +
      + +
      +
      +runtime_properties[source]
      +
      +++ + + + +
      Returns:The runtime properties of the node instance.
      +
      + +
      +
      +state[source]
      +
      +++ + + + +
      Returns:The current state of the node instance.
      +
      + +
      +
      +version[source]
      +
      +++ + + + +
      Returns:The current version of the node instance +(used for optimistic locking on update)
      +
      + +
      + +
      +
      +class cloudify_rest_client.node_instances.NodeInstancesClient(api)[source]
      +

      Bases: object

      +
      +
      +get(node_instance_id)[source]
      +

      Returns the node instance for the provided node instance id.

      + +++ + + + + + +
      Parameters:node_instance_id – The identifier of the node instance to get.
      Returns:The retrieved node instance.
      +
      + +
      +
      +update(node_instance_id, state=None, runtime_properties=None, version=0)[source]
      +

      Update node instance with the provided state & runtime_properties.

      + +++ + + + + + +
      Parameters:
        +
      • node_instance_id – The identifier of the node instance to update.
      • +
      • state – The updated state.
      • +
      • runtime_properties – The updated runtime properties.
      • +
      • version – Current version value of this node instance in +Cloudify’s storage (used for optimistic locking).
      • +
      +
      Returns:

      The updated node instance.

      +
      +
      + +
      +
      +list(deployment_id=None)[source]
      +
      +
      Returns a list of node instances which belong to the deployment
      +
      identified by the provided deployment id.
      +
      + +++ + + + + + + + +
      Parameters:deployment_id – The deployment’s id to list node instances for.
      Returns:Node instances.
      Return type:list
      +
      + +
      + +
      +
      +class cloudify_rest_client.nodes.Node(node_instance)[source]
      +

      Bases: dict

      +

      Cloudify node.

      +
      +
      +id[source]
      +
      +++ + + + +
      Returns:The identifier of the node.
      +
      + +
      +
      +deployment_id[source]
      +
      +++ + + + +
      Returns:The deployment id the node belongs to.
      +
      + +
      +
      +properties[source]
      +
      +++ + + + +
      Returns:The static properties of the node.
      +
      + +
      +
      +operations[source]
      +
      +++ + + + + + +
      Returns:The node operations mapped to plugins.
      Return type:dict
      +
      + +
      +
      +relationships[source]
      +
      +++ + + + + + +
      Returns:The node relationships with other nodes.
      Return type:list
      +
      + +
      +
      +blueprint_id[source]
      +
      +++ + + + + + +
      Returns:The id of the blueprint this node belongs to.
      Return type:str
      +
      + +
      +
      +plugins[source]
      +
      +++ + + + + + +
      Returns:The plugins this node has operations mapped to.
      Return type:dict
      +
      + +
      +
      +number_of_instances[source]
      +
      +++ + + + + + +
      Returns:The number of instances this node has.
      Return type:int
      +
      + +
      +
      +host_id[source]
      +
      +++ + + + + + +
      Returns:The id of the node instance which hosts this node.
      Return type:str
      +
      + +
      +
      +type_hierarchy[source]
      +
      +++ + + + + + +
      Returns:The type hierarchy of this node.
      Return type:list
      +
      + +
      +
      +type[source]
      +
      +++ + + + + + +
      Returns:The type of this node.
      Return type:str
      +
      + +
      + +
      +
      +class cloudify_rest_client.nodes.NodesClient(api)[source]
      +

      Bases: object

      +
      +
      +list(deployment_id=None)[source]
      +
      +
      Returns a list of nodes which belong to the deployment identified
      +
      by the provided deployment id.
      +
      + +++ + + + + + + + +
      Parameters:deployment_id – The deployment’s id to list nodes for.
      Returns:Nodes.
      Return type:list
      +
      + +
      + +
      +
      +

      Indices and tables

      + +
      + + +
      + +
      +
      + +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/_build/html/objects.inv b/docs/_build/html/objects.inv new file mode 100644 index 0000000000000000000000000000000000000000..d3ed6ccfee93cbdb0e71d8b96708207c60e16cf7 GIT binary patch literal 865 zcmV-n1D^aNAX9K?X>NERX>N99Zgg*Qc_4OWa&u{KZXhxWBOp+6Z)#;@bUGkoY;SdB zX=ZsXa%FRLEn{qHWo~o|BOq2~a&u{KZaN?{E-(rsAXI2&AaZ4GVQFq;WpW^IW*~HE zX>%ZEX>4U6X>%ZBZ*6dLWpi_7WFU2OX>MmAdTeQ8E(& zo!hQbH6B*2)v7(Fkn~7u0?Fp#B>#2a`?xUiIc z9EbvKNWvN9CWJjC)-aLl!mPKfvg1e4TB@2GeGf+68mb5O?=`m|70V5Jeb^@;ojiao zIIK@Wa&gF9ROEt!)6azE+QfO{OG`K_UZj#yc;Sv67hV?d5vCFxL>EMm)iFH`U0x)j(S<0C`Mln>3K`Z2D*;Zm`C|ITqIuF!KasKI|8XQ=eOtx}jAYt<2R zkU&xfswCh8#-u&~BxM?KuLwjz`1axq^{SJU~7yhlGL(I4*&jl%tH z^`O83(Jb}yJx=AVZPI#WV+=y-B3VK=ZhCkB;B_qGNC!JX0jDD9H(L`0n5O)Ss9fzj z(XS47r;+ax;IHL#$XDmnMJhC&UhlU9-Wu#Ce$P1k)GLCgIQr)qWMADb`=Su|XF>bm z5E+{!^?c6pMIsI$lH6_>zT#h$X8gIWHYT^(8Wa&9msco*!Fjww3ZpIlsNY>rU5{5C zhM`IEURzszdqTY^gG;V%C> + + + + + + + Python Module Index — cloudify-rest-client 3.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + + +
      + + + + + + +
      +
      +
      +
        +
      • Docs »
      • + +
      • +
      • + +
      • +
      +
      +
      +
      + + +

      Python Module Index

      + +
      + c +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
       
      + c
      + cloudify_rest_client +
          + cloudify_rest_client.blueprints +
          + cloudify_rest_client.client +
          + cloudify_rest_client.deployments +
          + cloudify_rest_client.events +
          + cloudify_rest_client.exceptions +
          + cloudify_rest_client.executions +
          + cloudify_rest_client.node_instances +
          + cloudify_rest_client.nodes +
      + + +
      + +
      +
      + +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/_build/html/search.html b/docs/_build/html/search.html new file mode 100644 index 0000000..888ce03 --- /dev/null +++ b/docs/_build/html/search.html @@ -0,0 +1,168 @@ + + + + + + + + + + Search — cloudify-rest-client 3.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + + +
      + + + + + + +
      +
      +
      +
        +
      • Docs »
      • + +
      • +
      • + +
      • +
      +
      +
      +
      + + + + +
      + +
      + +
      + +
      +
      + +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/_build/html/searchindex.js b/docs/_build/html/searchindex.js new file mode 100644 index 0000000..d766fc3 --- /dev/null +++ b/docs/_build/html/searchindex.js @@ -0,0 +1 @@ +Search.setIndex({envversion:42,terms:{is_allow_overwrit:[],code:[],identifi:0,execut:0,object:0,when:[],verbos:[],all:0,save_management_alia:[],comma:[],private_ip:[],yaml_tag:[],target_directori:[],data:0,cosmo_cli:[],content:0,onli:[],is_verbose_output:[],node_inst:0,reset_config:[],favor:[],get_sourc:0,configur:[],except:0,param:0,should:0,yaml:0,init:[],other:0,dict:0,logger:[],main:0,cred:[],match:0,info:[],node_instance_id:0,sourc:0,"return":0,management_alia:[],thei:[],blueprint_id:0,fals:0,disposit:0,pypi:[],baseproviderclass:[],initi:[],set_management_us:[],ssh:[],type_hierarchi:0,failur:0,get_provider_context:[],host_id:0,loader:[],look:[],name:0,specif:[],level:[],tear:[],provider_context:[],list:0,upload:0,cloudifyclienterror:0,separ:[],"default":0,provider_common:[],alreadi:0,remove_management_server_context:[],management_address:[],each:[],pars:0,found:[],mgmt_ssh_user:[],where:0,page:0,node:0,set:[],cosmoworkingdirectoryset:[],management_address_or_alia:[],translate_management_alia:[],yaml_load:[],yamlobject:[],uniqu:0,get_management_kei:[],hierarchi:0,workflow_id:0,"static":0,connect:[],cfy:[],download:0,server:[],set_management_kei:[],port:0,after:0,index:0,statu:0,throughout:[],tupel:[],mgmt_ip:[],user:[],blueprint_path:0,below:[],per:0,current:0,delet:0,state:0,version:0,directori:[],cosmovalidationerror:[],determin:0,"import":[],paramet:0,method:[],ignore_valid:[],set_provid:[],requests_method:0,accord:[],nodescli:0,run:0,behavior:0,kei:[],workflow:0,providermanag:[],get_provid:[],privat:[],host:0,succeed:[],get_management_serv:[],output:[],put:0,path:0,post:0,validate_schema:[],output_fil:0,valu:0,search:0,plugin:0,argument:0,expected_cod:0,eventscli:0,manag:0,validaiton_error:[],base:0,pagin:0,list_workflow:0,overriden:[],httpclient:0,implement:[],global:[],set_provider_context:[],first:0,oper:0,cwd:[],torn:[],validation_error:[],point:0,mgmt_ssh_kei:[],appli:[],modul:0,within:[],number:0,provider_config:[],down:[],api:0,suppli:[],cancel:0,instal:[],total:0,storag:0,expected_status_cod:0,differ:[],from:0,log:0,teardown:[],executionscli:0,patch:0,messag:0,"class":0,avail:0,whom:0,live:0,call:0,cosmodeverror:[],basic:[],iniati:[],init_logg:[],type:0,set_management_serv:[],store:0,schema:[],blueprint:0,wd_set:[],cloudifycli:0,option:0,relationship:0,forc:0,tupl:0,"public":[],management_kei:[],specifi:0,"_management_us":[],flag:[],include_log:0,from_ev:0,lgr:[],cosmoclierror:[],compar:[],hold:[],"true":[],folder:0,must:[],"case":0,none:0,retriev:0,target:[],instanc:0,provid:0,alia:[],nodeinstancescli:0,properti:0,maximum:0,cloudify_:[],verify_response_statu:0,remain:[],can:0,str:0,optimist:0,provis:[],otherwis:0,purpos:[],set_global_verbosity_level:[],impl:[],pack:0,overrid:[],creat:0,"int":0,lock:0,respons:0,suppressedcosmoclierror:[],batch_siz:0,repres:0,archiv:0,runtime_properti:0,inherit:[],file:0,desir:[],cloudify_rest_cli:0,keep:[],execution_id:0,string:[],again:[],ommit:[],deploymentscli:0,perform:[],get:0,nodeinst:0,event:0,number_of_inst:0,also:0,valid:[],bool:[],which:0,"new":0,config:[],belong:0,updat:0,jsonschema:[],map:0,runtim:0,copi:[],resourc:[],thi:0,deploy:0,who:0,do_request:0,draft4valid:[],befor:[],blueprintscli:0,node_id:0,whether:0,ignore_live_nod:0,previous:0,content_disposition_head:0,contain:0,get_management_us:[],chang:0,dev_mod:[],list_execut:0,whose:0,url:[],bootstrap:[],credenti:[],uri:0,given:[],cosmobootstraperror:[],consol:[],management_ip:[],write:[],ignor:0,error:0,allow:0,accompani:[],deployment_id:0},objtypes:{"0":"py:module","1":"py:method","2":"py:attribute","3":"py:class","4":"py:exception"},objnames:{"0":["py","module","Python module"],"1":["py","method","Python method"],"2":["py","attribute","Python attribute"],"3":["py","class","Python class"],"4":["py","exception","Python exception"]},filenames:["index"],titles:["Welcome to cloudify-rest-client’s documentation!"],objects:{"cloudify_rest_client.deployments.DeploymentsClient":{execute:[0,1,1,""],get:[0,1,1,""],list_executions:[0,1,1,""],create:[0,1,1,""],list:[0,1,1,""],list_workflows:[0,1,1,""],"delete":[0,1,1,""]},"cloudify_rest_client.nodes.Node":{operations:[0,2,1,""],relationships:[0,2,1,""],type_hierarchy:[0,2,1,""],blueprint_id:[0,2,1,""],number_of_instances:[0,2,1,""],properties:[0,2,1,""],plugins:[0,2,1,""],host_id:[0,2,1,""],deployment_id:[0,2,1,""],type:[0,2,1,""],id:[0,2,1,""]},"cloudify_rest_client.node_instances.NodeInstance":{relationships:[0,2,1,""],runtime_properties:[0,2,1,""],state:[0,2,1,""],version:[0,2,1,""],host_id:[0,2,1,""],deployment_id:[0,2,1,""],id:[0,2,1,""],node_id:[0,2,1,""]},"cloudify_rest_client.events":{EventsClient:[0,3,1,""]},"cloudify_rest_client.deployments.Deployment":{id:[0,2,1,""],blueprint_id:[0,2,1,""]},"cloudify_rest_client.node_instances":{NodeInstance:[0,3,1,""],NodeInstancesClient:[0,3,1,""]},"cloudify_rest_client.blueprints.BlueprintsClient":{get_source:[0,1,1,""],get:[0,1,1,""],list:[0,1,1,""],upload:[0,1,1,""],CONTENT_DISPOSITION_HEADER:[0,2,1,""],download:[0,1,1,""],"delete":[0,1,1,""]},cloudify_rest_client:{blueprints:[0,0,0,"-"],node_instances:[0,0,0,"-"],deployments:[0,0,0,"-"],client:[0,0,0,"-"],exceptions:[0,0,0,"-"],nodes:[0,0,0,"-"],executions:[0,0,0,"-"],events:[0,0,0,"-"]},"cloudify_rest_client.client.HTTPClient":{get:[0,1,1,""],patch:[0,1,1,""],verify_response_status:[0,1,1,""],put:[0,1,1,""],post:[0,1,1,""],do_request:[0,1,1,""],"delete":[0,1,1,""]},"cloudify_rest_client.events.EventsClient":{get:[0,1,1,""]},"cloudify_rest_client.executions":{ExecutionsClient:[0,3,1,""],Execution:[0,3,1,""]},"cloudify_rest_client.client":{CloudifyClient:[0,3,1,""],HTTPClient:[0,3,1,""]},"cloudify_rest_client.node_instances.NodeInstancesClient":{list:[0,1,1,""],update:[0,1,1,""],get:[0,1,1,""]},"cloudify_rest_client.blueprints":{Blueprint:[0,3,1,""],BlueprintsClient:[0,3,1,""]},"cloudify_rest_client.blueprints.Blueprint":{id:[0,2,1,""]},"cloudify_rest_client.deployments":{DeploymentsClient:[0,3,1,""],Workflow:[0,3,1,""],Workflows:[0,3,1,""],Deployment:[0,3,1,""]},"cloudify_rest_client.nodes":{Node:[0,3,1,""],NodesClient:[0,3,1,""]},"cloudify_rest_client.deployments.Workflows":{deployment_id:[0,2,1,""],blueprint_id:[0,2,1,""],workflows:[0,2,1,""]},"cloudify_rest_client.nodes.NodesClient":{list:[0,1,1,""]},"cloudify_rest_client.executions.ExecutionsClient":{cancel:[0,1,1,""],list:[0,1,1,""],update:[0,1,1,""],get:[0,1,1,""]},"cloudify_rest_client.executions.Execution":{status:[0,2,1,""],workflow_id:[0,2,1,""],id:[0,2,1,""],error:[0,2,1,""]},"cloudify_rest_client.exceptions":{CloudifyClientError:[0,4,1,""]},"cloudify_rest_client.deployments.Workflow":{id:[0,2,1,""],name:[0,2,1,""]}},titleterms:{cli:[],cloudifi:0,rest:0,client:0,indic:0,tabl:0,document:0,welcom:0}}) \ No newline at end of file diff --git a/docs/conf.py b/docs/conf.py new file mode 100644 index 0000000..ff3ea29 --- /dev/null +++ b/docs/conf.py @@ -0,0 +1,287 @@ +# flake8: NOQA +# -*- coding: utf-8 -*- +# +# packman documentation build configuration file, created by +# sphinx-quickstart on Thu Apr 3 23:59:36 2014. +# +# This file is execfile()d with the current directory set to its +# containing dir. +# +# Note that not all possible configuration values are present in this +# autogenerated file. +# +# All configuration values have a default; values that are commented out +# serve to show the default. + +import sys +import os +on_rtd = os.environ.get('READTHEDOCS', None) == 'True' + +if not on_rtd: # only import and set the theme if we're building docs locally + import sphinx_rtd_theme + html_theme = 'sphinx_rtd_theme' + html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] + +# General information about the project. +project = 'cloudify-rest-client' +package = 'cloudify_rest_client' +author = 'Gigaspaces' +copyright = '2014, Gigaspaces' + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +sys.path.insert(0, os.path.abspath('../{}'.format(package))) +sys.path.insert(0, os.path.abspath('..')) +sys.path.insert(0, os.path.abspath('../..')) + +# -- General configuration ------------------------------------------------ + +# If your documentation needs a minimal Sphinx version, state it here. +#needs_sphinx = '1.0' + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ + 'sphinx.ext.autodoc', + 'sphinx.ext.doctest', + 'sphinx.ext.coverage', + 'sphinx.ext.ifconfig', + 'sphinx.ext.viewcode' +] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix of source filenames. +source_suffix = '.rst' + +# The encoding of source files. +#source_encoding = 'utf-8-sig' + +# The master toctree document. +master_doc = 'index' + +# The version info for the project you're documenting, acts as replacement for +# |version| and |release|, also used in various other places throughout the +# built documents. +# +# The short X.Y version. + +import pkg_resources +try: + release = pkg_resources.get_distribution(project).version +except pkg_resources.DistributionNotFound: + print 'To build the documentation, The distribution information of packm' + print 'Has to be available. Either install the package into your' + print 'development environment or run "setup.py develop" to setup the' + print 'metadata. A virtualenv is recommended!' + sys.exit(1) +except Exception as e: + print e +del pkg_resources +# release = '0.1.0' +version = '.'.join(release.split('.')[:2]) +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +#language = None + +# There are two options for replacing |today|: either, you set today to some +# non-false value, then it is used: +#today = '' +# Else, today_fmt is used as the format for a strftime call. +#today_fmt = '%B %d, %Y' + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +exclude_patterns = ['_build'] + +# The reST default role (used for this markup: `text`) to use for all +# documents. +#default_role = None + +# If true, '()' will be appended to :func: etc. cross-reference text. +#add_function_parentheses = True + +# If true, the current module name will be prepended to all description +# unit titles (such as .. function::). +#add_module_names = True + +# If true, sectionauthor and moduleauthor directives will be shown in the +# output. They are ignored by default. +#show_authors = False + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +# A list of ignored prefixes for module index sorting. +#modindex_common_prefix = [] + +# If true, keep warnings as "system message" paragraphs in the built documents. +#keep_warnings = False + +# -- 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 = 'sphinx_rtd_theme' + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +#html_theme_options = {} + +# Add any paths that contain custom themes here, relative to this directory. +# html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] + +# The name for this set of Sphinx documents. If None, it defaults to +# " v documentation". +#html_title = None + +# A shorter title for the navigation bar. Default is the same as html_title. +#html_short_title = None + +# The name of an image file (relative to this directory) to place at the top +# of the sidebar. +#html_logo = None + +# The name of an image file (within the static path) to use as favicon of the +# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 +# pixels large. +#html_favicon = None + +# 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'] + +# Add any extra paths that contain custom files (such as robots.txt or +# .htaccess) here, relative to this directory. These files are copied +# directly to the root of the documentation. +#html_extra_path = [] + +# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, +# using the given strftime format. +#html_last_updated_fmt = '%b %d, %Y' + +# If true, SmartyPants will be used to convert quotes and dashes to +# typographically correct entities. +#html_use_smartypants = True + +# Custom sidebar templates, maps document names to template names. +#html_sidebars = {} + +# Additional templates that should be rendered to pages, maps page names to +# template names. +#html_additional_pages = {} + +# If false, no module index is generated. +#html_domain_indices = True + +# If false, no index is generated. +#html_use_index = True + +# If true, the index is split into individual pages for each letter. +#html_split_index = False + +# If true, links to the reST sources are added to the pages. +#html_show_sourcelink = True + +# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. +#html_show_sphinx = True + +# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. +#html_show_copyright = True + +# If true, an OpenSearch description file will be output, and all pages will +# contain a tag referring to it. The value of this option must be the +# base URL from which the finished HTML is served. +#html_use_opensearch = '' + +# This is the file name suffix for HTML files (e.g. ".xhtml"). +#html_file_suffix = None + +# Output file base name for HTML help builder. +htmlhelp_basename = '{0}doc'.format(project) + + +# -- Options for LaTeX output --------------------------------------------- + +latex_elements = { + # The paper size ('letterpaper' or 'a4paper'). + #'papersize': 'letterpaper', + + # The font size ('10pt', '11pt' or '12pt'). + #'pointsize': '10pt', + + # Additional stuff for the LaTeX preamble. + #'preamble': '', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, +# author, documentclass [howto, manual, or own class]). +latex_documents = [ + ('index', '{0}.tex'.format(project), u'{0} Documentation'.format(project), + u'{}'.format(author), 'manual'), +] + +# The name of an image file (relative to this directory) to place at the top of +# the title page. +#latex_logo = None + +# For "manual" documents, if this is true, then toplevel headings are parts, +# not chapters. +#latex_use_parts = False + +# If true, show page references after internal links. +#latex_show_pagerefs = False + +# If true, show URL addresses after external links. +#latex_show_urls = False + +# Documents to append as an appendix to all manuals. +#latex_appendices = [] + +# If false, no module index is generated. +#latex_domain_indices = True + + +# -- Options for manual page output --------------------------------------- + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + ('index', project, u'{0} Documentation'.format(project), + [u'{}'.format(author)], 1) +] + +# If true, show URL addresses after external links. +#man_show_urls = False + + +# -- Options for Texinfo output ------------------------------------------- + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) +texinfo_documents = [ + ('index', project, u'{0} Documentation'.format(project), + u'{}'.format(author), project, 'One line description of project.', + 'Miscellaneous'), +] + +# Documents to append as an appendix to all manuals. +#texinfo_appendices = [] + +# If false, no module index is generated. +#texinfo_domain_indices = True + +# How to display URL addresses: 'footnote', 'no', or 'inline'. +#texinfo_show_urls = 'footnote' + +# If true, do not generate a @detailmenu in the "Top" node's menu. +#texinfo_no_detailmenu = False + +autodoc_member_order = 'bysource' diff --git a/docs/index.rst b/docs/index.rst new file mode 100644 index 0000000..323ddb3 --- /dev/null +++ b/docs/index.rst @@ -0,0 +1,60 @@ +.. cloudify-cli documentation master file, created by + sphinx-quickstart on Thu Jun 12 15:30:03 2014. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +Welcome to cloudify-rest-client's documentation! +================================================ + +Contents: + +.. toctree:: + :maxdepth: 2 + +.. automodule:: cloudify_rest_client.blueprints + :members: + :undoc-members: + :show-inheritance: + +.. automodule:: cloudify_rest_client.client + :members: + :undoc-members: + :show-inheritance: + +.. automodule:: cloudify_rest_client.deployments + :members: + :undoc-members: + :show-inheritance: + +.. automodule:: cloudify_rest_client.events + :members: + :undoc-members: + :show-inheritance: + +.. automodule:: cloudify_rest_client.exceptions + :members: + :undoc-members: + :show-inheritance: + +.. automodule:: cloudify_rest_client.executions + :members: + :undoc-members: + :show-inheritance: + +.. automodule:: cloudify_rest_client.node_instances + :members: + :undoc-members: + :show-inheritance: + +.. automodule:: cloudify_rest_client.nodes + :members: + :undoc-members: + :show-inheritance: + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` + diff --git a/tox.ini b/tox.ini new file mode 100644 index 0000000..fa81657 --- /dev/null +++ b/tox.ini @@ -0,0 +1,25 @@ +# content of: tox.ini , put in same dir as setup.py +[tox] +envlist=flake8, docs, py27 + +[testenv:py27] +deps = + nose + nose-cov + testfixtures + -r{toxinidir}/requirements.txt +commands=nosetests --with-cov --cov cosmo_cli cosmo_cli/tests/ + +[testenv:docs] +basepython=python +changedir=docs +deps = + sphinx + sphinx-rtd-theme +commands=make html + +[testenv:flake8] +deps = + flake8 + -r{toxinidir}/requirements.txt +commands=flake8 cosmo_cli \ No newline at end of file