diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..445853b12 --- /dev/null +++ b/.gitignore @@ -0,0 +1,132 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +pip-wheel-metadata/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +.python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# custom +solution_guidance/models/test-* \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..4b000a018 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,26 @@ + +# Use an official Python runtime as a parent image +FROM python:3.7.5-stretch + +RUN apt-get update && apt-get install -y \ +python3-dev \ +build-essential + +# Set the working directory to /app +WORKDIR /app + +# Copy the current directory contents into the container at /app +ADD . /app + +# Install any needed packages specified in requirements.txt +RUN pip install --upgrade pip +RUN pip install --no-cache-dir -r requirements.txt + +# Make port 80 available to the world outside this container +EXPOSE 80 + +# Define environment variable +ENV NAME World + +# Run app.py when the container launches +CMD ["python", "app.py"] diff --git a/EDA.ipynb b/EDA.ipynb new file mode 100644 index 000000000..85e81ddc0 --- /dev/null +++ b/EDA.ipynb @@ -0,0 +1 @@ +{"nbformat":4,"nbformat_minor":0,"metadata":{"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"name":"python","version":"3.6.6","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"colab":{"name":"EDA.ipynb","provenance":[],"collapsed_sections":[]}},"cells":[{"cell_type":"code","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true,"id":"zxPIh_mSies9","colab_type":"code","outputId":"351daaac-10e9-4831-fe97-a7ec25946f73","executionInfo":{"status":"ok","timestamp":1584058231910,"user_tz":300,"elapsed":524,"user":{"displayName":"lei liu","photoUrl":"","userId":"14671864135837887649"}},"colab":{"base_uri":"https://localhost:8080/","height":35}},"source":["import numpy as np # linear algebra\n","import time\n","import cv2\n","import os\n","from matplotlib import pyplot as plt\n","from tqdm import tqdm_notebook\n","from glob import glob\n","import multiprocessing\n","from google.colab import drive\n","drive.mount('/content/gdrive/')\n","os.chdir('/content/gdrive/My Drive/github/ai-workflow-capstone')\n","from IPython.display import Markdown, display\n","import pandas as pd\n","from src.data_collection import fetch_data"],"execution_count":10,"outputs":[{"output_type":"stream","text":["Drive already mounted at /content/gdrive/; to attempt to forcibly remount, call drive.mount(\"/content/gdrive/\", force_remount=True).\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"zx-onyW6T18l","colab_type":"code","colab":{}},"source":["prod_data = './cs-production'\n","train_data = './cs-train'"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"0UgG7qQGUQmY","colab_type":"code","colab":{}},"source":["df = fetch_data(train_data,False)"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"3oMUid70VNZP","colab_type":"code","outputId":"592ecbd3-d1bd-472f-e706-26d29733c173","executionInfo":{"status":"ok","timestamp":1584058277983,"user_tz":300,"elapsed":418,"user":{"displayName":"lei liu","photoUrl":"","userId":"14671864135837887649"}},"colab":{"base_uri":"https://localhost:8080/","height":198}},"source":["df.head()"],"execution_count":12,"outputs":[{"output_type":"execute_result","data":{"text/html":["
\n","\n","\n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n","
countrycustomer_idinvoicepricestream_idtimes_viewedyearmonthday
0United Kingdom13085.04894346.95850481220171128
1United KingdomNaN4895978.6522130120171128
2United KingdomNaN4895971.7022132620171128
3United KingdomNaN4895971.7022133420171128
4United KingdomNaN4895970.8722134120171128
\n","
"],"text/plain":[" country customer_id invoice price ... times_viewed year month day\n","0 United Kingdom 13085.0 489434 6.95 ... 12 2017 11 28\n","1 United Kingdom NaN 489597 8.65 ... 1 2017 11 28\n","2 United Kingdom NaN 489597 1.70 ... 6 2017 11 28\n","3 United Kingdom NaN 489597 1.70 ... 4 2017 11 28\n","4 United Kingdom NaN 489597 0.87 ... 1 2017 11 28\n","\n","[5 rows x 9 columns]"]},"metadata":{"tags":[]},"execution_count":12}]},{"cell_type":"code","metadata":{"id":"Hi6D9TMAXa4u","colab_type":"code","colab":{}},"source":[""],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"zV1wkkffVjcE","colab_type":"code","outputId":"21360d31-db0d-46ac-9b50-bb48b947dbb5","executionInfo":{"status":"ok","timestamp":1584058282804,"user_tz":300,"elapsed":749,"user":{"displayName":"lei liu","photoUrl":"","userId":"14671864135837887649"}},"colab":{"base_uri":"https://localhost:8080/","height":365}},"source":["print(f\"all the countries included: \\n {'|'.join(df.country.unique())}\")\n","print(\"\\nthe na rate of columns\")\n","display(df.isna().sum())\n","\n","print(f\"\\nthe transaction span from {df.date.min().date()} to {df.date.max().date()} \")\n","\n","print(f'price range from {df.price.min()} to {df.price.max()} ')"],"execution_count":14,"outputs":[{"output_type":"stream","text":["all the countries included: \n"," United Kingdom|Portugal|Germany|EIRE|France|USA|Australia|Belgium|Netherlands|Nigeria|Japan|Denmark|Poland|Spain|Italy|Channel Islands|Cyprus|Norway|Greece|Austria|Sweden|United Arab Emirates|Finland|Switzerland|Unspecified|Malta|Bahrain|RSA|Bermuda|Hong Kong|Singapore|Thailand|Israel|Lithuania|West Indies|Lebanon|Korea|Brazil|Canada|Iceland|Saudi Arabia|Czech Republic|European Community\n","\n","the na rate of columns\n"],"name":"stdout"},{"output_type":"display_data","data":{"text/plain":["country 0\n","customer_id 189762\n","invoice 0\n","price 0\n","stream_id 0\n","times_viewed 0\n","year 0\n","month 0\n","day 0\n","date 0\n","dtype: int64"]},"metadata":{"tags":[]}},{"output_type":"stream","text":["\n","the transaction span from 2017-11-28 to 2019-07-31 \n","price range from -53594.36 to 38970.0 \n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"B0ahqCeAIWOS","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":283},"outputId":"59ead57d-853c-4c51-c1e1-df668f6f32a5","executionInfo":{"status":"ok","timestamp":1584058293503,"user_tz":300,"elapsed":520,"user":{"displayName":"lei liu","photoUrl":"","userId":"14671864135837887649"}}},"source":["df.boxplot(column = ['price'])"],"execution_count":15,"outputs":[{"output_type":"execute_result","data":{"text/plain":[""]},"metadata":{"tags":[]},"execution_count":15},{"output_type":"display_data","data":{"image/png":"iVBORw0KGgoAAAANSUhEUgAAAYsAAAD4CAYAAAAdIcpQAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0\ndHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAT2ElEQVR4nO3db4xd9Z3f8fe39jJuXbIQ2A4RdhhL\nmNWYSUuzE6DaeTCTocSkqyWRsi3TqLjNCNdNGFFADiTzICJ0xDqIUMImoSbThLTo8idthbVi63rN\n3AfTigST3QTwXRoXh9iASQkshGwz0VjfPphjdG3G/s0w43t94f2Sruac7/mdM9+RLD78zu/ceyMz\nkSTpRP5WuxuQJJ36DAtJUpFhIUkqMiwkSUWGhSSpaGW7GzhZzj777Ozp6Wl3G9Lb/OpXv2L16tXt\nbkOa15NPPvlKZv7OsfV3bVj09PSwZ8+edrchvU29XmdwcLDdbUjziojn56t7G0qSVGRYSJKKDAtJ\nUtGyhUVErIiIv4iIP63210XE9yNiX0Q8GBGnVfWuan9fdbyn6RpfqOrPRsTHmuobq9q+iLh5uXqW\nJC3Mcs4srgMaTfvbgDsz83zgNWC0qo8Cr1X1O6txRMQG4CrgQmAj8I0qgFYAXweuADYAI9VYSVKL\nLEtYRMQa4J8A36r2A/go8L1qyH3AJ6rtK6t9quPD1fgrgQcycyYz9wP7gIur177MfC4zfwM8UI2V\nOkqtVqOvr4/h4WH6+vqo1WrtbklasOV6dPbfA58HTq/2zwL+OjNnq/2DwLnV9rnAAYDMnI2I16vx\n5wKPN12z+ZwDx9Qvma+JiNgMbAbo7u6mXq+/879IWka7d+9mcnKSrVu3sm7dOvbv38+NN97I3r17\nGR4ebnd7UtGSwyIi/gD4eWY+GRGDS2/pncvM7cB2gP7+/vRZdp0qrr32Wu6//36Ghoao1+tcf/31\nXHTRRYyNjXHrrbe2uz2paDlmFr8P/GFEfBxYBbwPuAs4IyJWVrOLNcAL1fgXgLXAwYhYCfw28Ium\n+hHN5xyvLnWERqPBwMDAUbWBgQEajcZxzpBOLUtes8jML2TmmszsYW6B+rHM/DQwBXyqGrYJeKTa\n3lHtUx1/LOe+gWkHcFX1tNQ6YD3wA+AJYH31dNVp1e/YsdS+pVbq7e1lenr6qNr09DS9vb1t6kha\n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\n","text/plain":["
"]},"metadata":{"tags":[]}}]},{"cell_type":"code","metadata":{"id":"xZARaS-d-GBw","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":295},"outputId":"37f4da2d-201b-4e6c-e728-2a1793aca2e2","executionInfo":{"status":"ok","timestamp":1584058294515,"user_tz":300,"elapsed":565,"user":{"displayName":"lei liu","photoUrl":"","userId":"14671864135837887649"}}},"source":["agg_df = df.groupby('date',as_index=False)[['price','times_viewed']].agg({'price':'sum','times_viewed':'sum'})\n","agg_df.plot(x=\"date\", y=['price','times_viewed'])"],"execution_count":16,"outputs":[{"output_type":"execute_result","data":{"text/plain":[""]},"metadata":{"tags":[]},"execution_count":16},{"output_type":"display_data","data":{"image/png":"iVBORw0KGgoAAAANSUhEUgAAAYsAAAEECAYAAADZBhiGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0\ndHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOydd3gUVduH77O7KdQAoRN67wgBFAQV\nFbBiQUB9BXvnVV9FUT8bNqyoiAiKIipKFRBQmvRmQu89gYQAIaTXLef7Y2c3m5CQAEk2mzz3deXK\n7JkzM8+08zvPc8oorTWCIAiCcCFM3jZAEARBKP2IWAiCIAgFImIhCIIgFIiIhSAIglAgIhaCIAhC\ngVi8bUBxUbNmTd2kSRNvmyEIguBTbNmy5azWulbu9DIrFk2aNCE8PNzbZgiCIPgUSqnIvNIlDCUI\ngiAUiIiFIAiCUCAiFoIgCEKBlNk2C0EQvI/VaiUqKoqMjAxvmyLkIjAwkJCQEPz8/AqVX8RCEIRi\nIyoqiipVqtCkSROUUt42RzDQWhMXF0dUVBRNmzYt1DYShhIEodjIyMggODhYhKKUoZQiODj4ojw+\nEQtBKOeER5zD7ii+2adFKEonF3tfRCwEoRyz6Wgcg7/dyLerj3jbFKGUI2IhCOWYmMR0AA6eTvay\nJd7lzTffZPny5d42o1QjDdyCIFCeA0V2u50xY8Z424xSj3gWgiBQVr+XGRERQZs2bbj//vtp27Yt\ngwcPJi0tjSZNmvDKK6/QtWtXZs2axYMPPsjs2bMBCAsLo1evXnTu3JkePXqQnJyM3W5n1KhRdO/e\nnU6dOjFp0iQvn1nJI56FIJRjVAn6FO/8uYe9J5OKdJ/t6lflrdvaXzDPgQMHmDJlCr179+bhhx/m\nm2++ASA4OJitW7cC8PfffwOQlZXF0KFDmTFjBt27dycpKYkKFSowZcoUgoKCCAsLIzMzk969e9O/\nf/9CdzstC4hnIQjlGF1mfYpsGjZsSO/evQH4z3/+w7p16wAYOnToeXkPHDhAvXr16N69OwBVq1bF\nYrGwdOlSpk2bRpcuXejZsydxcXEcOnSo5E6iFCCehSAIJeJfFOQBFBe5u4i6fleqVKnQ+9BaM378\neAYMGFCktvkS4lkIglCmOX78OBs3bgRg+vTpXH311fnmbd26NTExMYSFhQGQnJyMzWZjwIABTJw4\nEavVCsDBgwdJTU0tfuNLESIWgiCUaVq3bs2ECRNo27Yt8fHxPPXUU/nm9ff3Z8aMGYwcOZLOnTtz\n4403kpGRwaOPPkq7du3o2rUrHTp04IknnsBms5XgWXgfCUMJQjlGl/0mCywWC7/88kuOtIiIiBy/\np06d6l7u3r07mzZtOm8/H3zwAR988EFxmOgTiGchCIIgFIiIhSCUY8r6tE1NmjRh9+7d3jajTCBi\nIQiCIBSIiIUglGPKQ5uFUDQUWiyUUj8opc4opXZ7pL2tlIpWSm03/m72WPeqUuqwUuqAUmqAR/pA\nI+2wUmq0R3pTpdRmI32GUsrfSA8wfh821je53JMWBCEnMo24UBAX41lMBQbmkT5Oa93F+FsMoJRq\nBwwD2hvbfKOUMiulzMAE4CagHXCvkRfgI2NfLYB44BEj/REg3kgfZ+QTBEEQSpBCi4XWeg1wrpDZ\nBwG/a60ztdbHgMNAD+PvsNb6qNY6C/gdGKSc1Zp+wGxj+5+AOzz29ZOxPBu4Xkk1SBAEoUQpijaL\nZ5VSO40wVXUjrQFwwiNPlJGWX3owkKC1tuVKz7EvY32ikf88lFKPK6XClVLhsbGxl39mglDGKett\nFgkJCe6JA0+ePMngwYO9bJGTBQsWMHbs2BI5lueMupfD5YrFRKA50AWIAT67bIsuA631ZK11qNY6\ntFatWt40RRCEUoCnWNSvX79ICs2i4Pbbb2f06NEFZyxFXNYIbq31adeyUuo7YKHxMxpo6JE1xEgj\nn/Q4oJpSymJ4D575XfuKUkpZgCAjvyAIl0mJBnT/Gg2ndhXtPut2hJvyr6GPHj2aI0eO0KVLF1q2\nbMm+ffvYvXs3U6dOZd68eaSmpnLo0CFeeuklsrKy+PnnnwkICGDx4sXUqFGDI0eO8MwzzxAbG0vF\nihX57rvvaNOmDbNmzeKdd97BbDYTFBTEmjVr8jz+lVdeyZQpU2jf3jmJ4rXXXsunn37K7t27CQ8P\n5+uvvyY2NpYnn3yS48ePA/DFF1/Qu3dvOnbsyNq1awkKCqJmzZqMGzeO4cOHM3z4cB544AH69evH\n6NGjWbVqFZmZmTzzzDM88cQTaK0ZOXIky5Yto2HDhvj7+xfJpb4sz0IpVc/j552Aq6fUAmCY0ZOp\nKdAS+BcIA1oaPZ/8cTaCL9Baa2Al4PIRRwDzPfY1wlgeDPxj5BcEQbggY8eOpXnz5mzfvp1PPvkk\nx7rdu3czd+5cwsLCeP3116lYsSLbtm3jqquuYtq0aQA8/vjjjB8/ni1btvDpp5/y9NNPAzBmzBiW\nLFnCjh07WLBgQb7HHzp0KDNnzgQgJiaGmJgYQkNDc+R57rnneOGFFwgLC2POnDk8+uijAPTu3Zv1\n69ezZ88emjVrxtq1awHYuHEjvXr1yvGNjbCwML777juOHTvGH3/8wYEDB9i7dy/Tpk1jw4YNRXIt\nC+1ZKKV+A64FaiqlooC3gGuVUl1wfmgrAngCQGu9Ryk1E9gL2IBntNZ2Yz/PAksAM/CD1nqPcYhX\ngN+VUu8B24ApRvoU4Gel1GGcDezDLvlsBUHIgavaVSIOxgU8AG9w3XXXUaVKFapUqUJQUBC33XYb\nAB07dmTnzp2kpKSwYcMG7rnnHvc2mZmZgLMgf/DBBxkyZAh33XVXvscYMmQI/fv355133mHmzJl5\ntpksX76cvXv3un8nJSWRkpJCnz59WLNmDY0bN+app55i8uTJREdHU716dSpVqsTSpUvZuXOnO7SW\nmJjIoUOHWLNmDffeey9ms5n69evTr1+/IrlehRYLrfW9eSRPySPNlf994P080hcDi/NIP4qzt1Tu\n9AzgntzpgiAIl0NAQIB72WQyuX+bTCZsNhsOh4Nq1aqxffv287b99ttv2bx5M4sWLaJbt25s2bKF\n4ODz+900aNCA4OBgdu7cyYwZM/j222/Py+NwONi0aROBgYE50vv27cuECRM4fvw477//Pn/88Qez\nZ8+mT58+QP7f2Fi8+LzitUiQEdyCIJRZqlSpQnJy8iVtW7VqVZo2bcqsWbMAZ+G8Y8cOAI4cOULP\nnj0ZM2YMtWrV4sSJE/nuZ+jQoXz88cckJibSqVOn89b379+f8ePHu3+7xKlhw4acPXuWQ4cO0axZ\nM66++mo+/fRT+vbtC5DvNzb69u3LjBkzsNvtxMTEsHLlyks6/9yIWAiCUGYJDg6md+/edOjQgVGj\nRl309r/++itTpkyhc+fOtG/fnvnznU2po0aNomPHjnTo0IFevXrRuXPnfPcxePBgfv/9d4YMGZLn\n+q+++orw8HA6depEu3btcngfPXv2pFWrVgD06dOH6Oho98eb8vvGxp133knLli1p164dw4cP56qr\nrrro884LVVbbikNDQ3V4eLi3zRCEUs2cLVG8OGsHd13RgM+Hdiny/e/bt4+2bdsW+X6FoiGv+6OU\n2qK1Ds2dVzwLQRAEoUDkS3mCIAiXyZIlS3jllVdypDVt2pQ//vjDSxYVPSIWgiAUK1rrMj+r7YAB\nA87rlVTaudgmCAlDCUI5xl1cFFNZHhgYSFxc3EUXTELxorUmLi7uvO66F0I8C0EQio2QkBCioqKQ\niT1LH4GBgYSEhBQ6v4iFIAjFhp+fH02bNvW2GUIRIGEoQRAEoUBELARBEIQCEbEQBEEQCkTEQhAE\nQSgQEQtBEAShQEQsBKEc4xr/oErmixaCDyNiIQiCIBSIiIUgCIJQICIWgiAIQoGIWAhCOUZmbBIK\ni4iFIJRjZII/obCIWAhCOUa0QigsIhaCUI5xaUUZ/9yEUASIWAhCOUY8C6GwiFgIQjnGIWohFBIR\nC0Eox4hUCIVFxEIQyjPiWQiFRMRCEMoxIhVCYRGxEIRyjMMhciEUDhELQSjHiFQIhUXEQhDKMa4m\nCxlmIRSEiIUglGOk66xQWEQsBEEQhAIptFgopX5QSp1RSu32SKuhlFqmlDpk/K9upCul1FdKqcNK\nqZ1Kqa4e24ww8h9SSo3wSO+mlNplbPOVUs4JCPI7hiAIl484FkJhuRjPYiowMFfaaGCF1rolsML4\nDXAT0NL4exyYCM6CH3gL6An0AN7yKPwnAo95bDewgGMIgnCZaGniFgpJocVCa70GOJcreRDwk7H8\nE3CHR/o07WQTUE0pVQ8YACzTWp/TWscDy4CBxrqqWutN2jln8rRc+8rrGIIgXCbSc1YoLJfbZlFH\nax1jLJ8C6hjLDYATHvmijLQLpUflkX6hYwiCcJlIGEooLEXWwG14BMX66BV0DKXU40qpcKVUeGxs\nbHGaIghlAlcYSqYoFwricsXitBFCwvh/xkiPBhp65Asx0i6UHpJH+oWOcR5a68la61CtdWitWrUu\n+aQEobwgnoVQWC5XLBYArh5NI4D5HunDjV5RVwKJRihpCdBfKVXdaNjuDywx1iUppa40ekENz7Wv\nvI4hCMJlIp9VFQqLpbAZlVK/AdcCNZVSUTh7NY0FZiqlHgEigSFG9sXAzcBhIA14CEBrfU4p9S4Q\nZuQbo7V2NZo/jbPHVQXgL+OPCxxDEITLRLRCKCyFFgut9b35rLo+j7waeCaf/fwA/JBHejjQIY/0\nuLyOIQjC5SNaIRQWGcEtCOUY8SyEwiJiIQjlGJkbSigsIhaCUI5xSYVohlAQIhaCUJ4xVEK0QigI\nEQtBKMeIZyEUFhELQSjHONyehaiFcGFELAShHOP2KEQrhAIQsRCEcoxLI6RXlFAQIhaCUI5xaYRI\nhVAQIhaCUI5xzQ0ljoVQECIWglCOkSYLobCIWAhCOSbbsxC5EC6MiIUglGOkzUIoLCIWglCOcUgc\nSigkIhaCUI5xDcaTrrNCQYhYCKWCxbtiSMuyeduMcoc7DCVaIRSAiIXgdXacSODpX7fy5vw93jal\n3CLTfQgFIWIheJ2UTKdHcTIh3cuWlD8cMs5CKCQiFoJQjpHeUEJhEbEQhHKMK/wknoVQECIWguAF\n1hyMZe2hWG+b4SESohbChbF42wBBKI8M/+FfACLG3uJVOxzSG0ooJOJZCEK5RsZZCIVDxELwOlJO\neQ9p4BYKi4iFIJRjZFCeUFhELAShHJP9DW5BuDAiFoJQjnHPIyiuhVAAIhaCUI4RjRAKi4iFIJRj\nZFCeUFhELAShHOMSCek6KxSEiIXgdVy1W6W8bEg5RMtEgkIhEbEQvI7dISWVt8j+UJ7cA+HCiFgI\nXkdqtd5DxlkIhaVIxEIpFaGU2qWU2q6UCjfSaiillimlDhn/qxvpSin1lVLqsFJqp1Kqq8d+Rhj5\nDymlRnikdzP2f9jYVgIWuQiPOEeT0Ys4k5ThbVMuGvEsvIeMsxAKS1F6FtdprbtorUON36OBFVrr\nlsAK4zfATUBL4+9xYCI4xQV4C+gJ9ADecgmMkecxj+0GFqHdZYIfN0QAsPnYOe8acgnYpVrrNWTS\nWaGwFGcYahDwk7H8E3CHR/o07WQTUE0pVQ8YACzTWp/TWscDy4CBxrqqWutN2tkaN81jX0IZQAaE\neRH33FByD4QLU1RioYGlSqktSqnHjbQ6WusYY/kUUMdYbgCc8Ng2yki7UHpUHunnoZR6XCkVrpQK\nj431/rcCSoL526MZMmmj+7cvvvJ2h7ctKL/IOAuhsBSVWFytte6KM8T0jFKqr+dKwyMo9sdRaz1Z\nax2qtQ6tVatWcR+uVLD3ZBL/+mDoyRPp4+89HIZQyz0QCqJIxEJrHW38PwP8gbPN4bQRQsL4f8bI\nHg009Ng8xEi7UHpIHukCYDMah602362eS0HlPdyehZftEEo/ly0WSqlKSqkqrmWgP7AbWAC4ejSN\nAOYbywuA4UavqCuBRCNctQTor5SqbjRs9weWGOuSlFJXGr2ghnvsq9zj6kmU5cOxHJdYKKSTW0kj\nXWdLJ4lpVk4mpHvbjBwUxWdV6wB/GL1ZLcB0rfXfSqkwYKZS6hEgEhhi5F8M3AwcBtKAhwC01ueU\nUu8CYUa+MVprV3zlaWAqUAH4y/gTAJsRR8gyPAtfbCz2YZ3zedyfVfWuGUIuPlm6n/CIeP5+vm/B\nmUuIyxYLrfVRoHMe6XHA9Xmka+CZfPb1A/BDHunhQIfLtbUs4vIsMiUMJVwS4lqURuLTrMSnZXnb\njBzICG4fx2Z3iYXdy5ZcOg4ZlOc15LOqpRO7XZNhLV0VQBELH8c1oC3Lpz0Lb1tQ/GyJPIfNXvpC\nhdkfP/KqGUIubA5HqasAilj4OO4Gbh8Wi7I+gnt3dCJ3T9zIZ8sOAqVLHF0hwEsNBR48nUyT0Ys4\nfCalKM0q91jtmkybo1RVLEQsfBxbGWizKE0vRHEQm5wJOMfEQM65sLx97pfbG2r+dmcv9r92xRSQ\nU7gY7A6N1k7RKC2IWPg4dntOz8IXJ+XzRZsvCqNHsOssPWvx3j51nev/xeLq7lzG72CJYzVClqUp\nFCVi4ePYcoWhbN4ufS4BHzT5onCNHnF5EZ7i6G2hzP74URm/CT6G6z0uTY3cIhY+jt3hqoH4rmdR\n1ntD5Z5R357Ds/DuudsuM8whHwsoHrLDy+JZCEWELdcIbt/0LHzP5osh27Mw/ntUFr197hlGYXS5\nZpTxW1ji2Ow5K4GlARELHye3J2H3weHQZak31JbIc+d5SsrdZmGEoXTpCUO5whyXOkW5OBbFg3uw\nrYShhKIityfhi55FWdGKjUfiuHviRiavPZoj3fXiu87TUyC8fbsyrUXkWUgTd5HiauDOkDCUUFSc\n51l4u/S5BHzR5ryISXRO/HbwVHKOdFe7gKtAztEbyuPcbXYHs7dElWgbzi0ZC3nMvJBDZ1I4kMtu\noXDYHZq0LFuR7tMmnoVQ1JQFz8LbcfsiJ1dsxjXZozsM5dkbyuPcNx87x0uzdhAWUczfJ0mKgV2z\nAXjR9h2v+02nlTrBf3/bdvH7MmJsZe0WXgy/hx2n78erirRHWXFM45OYbiU5w3rJ24tY+Diu3lDZ\nv33vrXXVpEtjKMNmd/DB4n3EpWQWmNddVuQ6DZeAOwrwLNKynAVDQvqlv9CFYsU7MOcROL7JnbQ0\n4BUCzBdfi3U33heRab5IZFwaZ1Myi/QzATZH0Tdwd35nKVeMWXbJ24tY+Di5uz76pFi4CtHS43G7\nWX0wlslrjvLmgj2XvI/c98iRozdU9rKrFplUzGIRneos4h2Gd+GiNZEXvS+Vu6tXOSQ10xmCKsop\nd7I9i6J9KS4n8iBiUQxkWO3sjk4skWNdTpvFv8fOserAmYIzFjOuUExp7hXlKhAuRH5jDlyNla7q\nd47eUB7Lrvh0UkbRxr9zs/6w857bYnIKYHvHgWI9blnF5REWqVi4B+VJA3eZZsH2kwyasJ741OKf\njz63OFxMzWHIpI08+GNYwRmLGUcpHkXsZ3a+IoUZvJaf+bZcYbYcvaE8ll21yIvxLNKybHR9dxkr\nL0L0q6gMAMxncopFZdIKvQ8X8vEkSHF5FkUZhpJxFuWD+LQs7A5NXAmIRW5xyN2G4Qu4CszSGEJz\nCZn1MgqCC7ZZeHoWrjDURTRCRsalcS41i7GL9xd6m0oYYpHl9H432NvlSL8YXIVaaZrwrqRx9YQq\nSs/C6u4NJZ5FmcY10CmxuBsquTzPorSQXYh61468cN3LwlzX/MQu93csHPkMystyexaFD0OZjNiX\n7SIqCZXJ/rZzkq7Iw9ZRJOhKBDgu/pvPrutyOWLq66RkOgv0vK7B0dgUHv0pjPSsiyv0S+MXMMud\nWLy9YA9DJ20s1mOUVEMlnF9ILN932ufmWrI7zi9ESwuue2krRGGYmU8e9zgL43fOQXl5hKEK41nY\nMiHsezIynd5rDjFLOA5nD+fMb00Hq9NzqOQhFn/bu5NBAKkE4mdLLfi4uc0wzq0w16eskmaEofIq\n2Mcs3MvyfWfYcORsofentRaxKA1M3RDB5mPF24/ddYO94VmcOJfOb2HHi/24RUleNe7SgqvRuTBh\nFqvNNZ4iV3ouQXc4YKDpX2b4j6HWPy9mH+tiKhnrvoBFL1Lx4B9ArjaVLzrC192yf2/5Cd6vCxO6\nw6ldtNbZI8yn26/n9ZvbkkYF/OzZbRa7oxPZfDSuQDNclZUsHw5D/bo5kiajF5GYdmnv64V6Q/kb\nbV4XE6LyFH4JQ3mRbuoAA0zF26jr6sFQEmKRV3gkJuHiY88Av/97nA2HC18DKipcPYJKY3OLa7qF\nwoR5coQhkk/D1mnObe0af6wcO36CXh+uwK413/p/QU/TfoL2z3Bv4hKm5ML0hkp1Nmjr9HiqksKT\nWT/B9t8gy8M7cNidre5//tf5O+E4+sebAZhn78WVGePZrlvQsk5lTIGVc4jFrePXMXRy9jiM/M+5\nZDyLCSsP02T0oosepLbywBn+2X/6gnl+3ujsMhyVcPEN/ACpF+gN5WcxxOIiro+n8BeVZ1EU0Yay\nKxYZSXBw6XnJcwLeYZL/OKasO1Yshz14Otn9speIZ5FHjc5ivrjp3U4nZfDP/tOMnruL+77fXFSm\nFZq8Gn5LCy7hL0xvqByFxYz7YcFISIrB5tDM83+TsICnOZmYQXJ6rgF+diuZVitL95wCChmGcjW8\n2+w8b5nLA455MO9J2Pdndp7EE5CW04t2ZDrFpIk6zSmCndnSrVjNFQl0XHxhmd3AXbxi8b0x39bF\ntOcAPPRjGA9PDb9gHrPJ+b5cSgcLrXW2Z2Fcg7MpmRyPc17LS/EsPD3R/MQxw2ovlL1bIs/x8d/7\nCyVWby/YQ5PRi/JdX3bF4twRmH5PvqtnLFpy0V01rXYHC3eezHe7uJRM+o9bw4IdJwHveRau7p6F\nZdTsnQW+UEXN5qNx3PnNejKsdnetpzjEIjXTRpPRi5i7NeqStnfV9gvzsrkKTLtDwzkj1JMeT8XU\nKNqZIvFTdn7w+5i0uFy2xOwg9ZNOfJ76Ch3V0fPDUAnHsX/amutfnczfu08ZiUY7SEYyoaYDpFDB\n+XvXrOztTm6H3TkH3iXrQADidFUAQqpX4KrmwdjMlQjU5zdwF1QjdTdwF3M7matAL+o5mAAsxr4v\n5UNDWXbHeR8g6zX2H/p+shLIFou0i2jg9qwAes4NFZOYTpPRi1iy5xRt3vibUbN2FLivuydu5JtV\nR3KM18jPC5y6IeKC+yq7YmGQdDaGrRGx56UvDXiF1EwbGVY73605Wig3etLqIzw7fRt/uV/YnMSn\n5ewq6402i0shqzCuvcMB4T9AVsG1z7QsG6/M3pnvFBnJGVbCI+PZdjyBiLhUt0gUR9dZ1+R+X688\nXEDOvHGFoQpTkLji9jaHA+zGvV/0IlXTs8Whn3k71Y/lqr2t+ZQaWScJNR3kz4D/4yrrRhwnd8BO\no+DfNRtzyin+Y17O1A3HwGHHemIrAB0Ofk0n0zF+tfVDmwNQh5cDkBJQF2aNgL9eBmCrowUA1VQq\nCboSL1mfAGDdK/2oXSUQmyVvsSjoGXYJZHGHoVwfkCpUiC4PLjS4zSVEhRl4mZvUzOz9uq6Fpxfh\nZ3Hu+2I6u+T0LLKX98c4J3r8cb0zKjJ3W3Sh93nW41281NBWmRWLE7oWAAe/f5CuU1tgXfB8dm3P\nIPHsSSavOcr7i/cxa0vBNc+Tic62gF82RTIjj0bkhFwNZEUiFpkpOePQucgrll6YbnqeNcYqOoVO\n6siFNziyAha+ACvGFLjvBdtPMiP8BF8sP3TeuuTN05j93v18utQ5WvjEuXTcA5wvpBWX6HW4XoxL\n/e6CSyRSMgu+l65CIsvmcPZWAji+gU5n5uXI1+PgZzl+6xPOtgGHdlo5yW8cpsl9Ye6jcOQf99eS\naqkEBqTM4+yHHfA7vd29vVWbmW6/ngVZzkbtLG3m+UofQcchHGk+nDetIxhliAPAfHsv4qnKrCev\ncqfZ/SpRQafzxfKDrArbziL/V2mqYli27zRvzt+drzftCs8V9zgLsyEWKRdRoHuGxk4n5d+O5xKL\n5Hz2PW9bdJ7vO+QUGNezFkgmD5v/Qv92n/vZdiSdhITj/Pbvca7+6J8LRjX89sxhiNnpmXiKnMvO\n2OSC5ynLTWxyFqC5yrSHTOulCW6ZFYsKlasB0CX9XwD8tv5I1vcDc+SZs2yt2xsoTK3C9cBuOBLH\nK3N2nbf+XGoRexYOB3zYAH66LZ/VOs+xCan5ueqRG2H1x0DO2sUzZ95hQcAbBGI8hFlpMHM4jOsA\n+41acHqC8//ZA067EvOv1Tg0DDKto1fMT+etq/LXSB6yLCFQO1/e4+fSwGHDgu386T4cdlj4P5h6\nK3zeDs4ectqUS/STMvKfTdNVEzVd4vc/XS9rhtXBlshz591jT9w1S7sGe/YL3SB1LwD/Z33InbbM\n3tW9rNLjOWBpTbPMX2mRMY17s17nH3sXABJ/GQH/vAvArebNPJT0LTWtJ3Mct0fmBE6a6vGZzRl2\n9Vd2lp/0449mb/FLtSeZbb6ZyiHt2WduBUACVWhZuzLdm9Rw7yOgcjWqkE7kyh+5dtE1tDdF8rxl\nDi/P3sm0jZGk51Mzv+A4C7vV3V33cjHKyXw9iwOnkjkam0KmzU5iupXIuFSe+XWre310QnrOdoO/\nRsNv9wEX8Cy2/AQntzF2xgq+mvNPnsf1fNcC4w+ik08x2e9z3vT7GXVgEeaMeO4xr+K5HbfDFx15\nde4uouLTz6tYelL976f52O87GqtTOd5T1z04l5xKLeLz3Z7EKEjN2VHlbEom95hX85v/+2T8eAdk\nekxHf4HKqCdlViwC/P0BsKjsi+2flrNXxInDOy5KpV0PbHMVTajKHjGrtWZnVMJ5YagCXU+H4/yX\nKfk0xOx0Lh8xHtDoLRyJTeGvXTE5strtNl60zKSxcobFWqgolvqPonrCHljzibOQ3b8ou1b+40BY\n+T7YsnI0nHW07wZgvN94bjZtgn0LYO98ZwOpYYM94YTzf1o8LPofjGuX84G0W522J5ygb/jTjPOb\nyDWx03N6BMnZ1/9pywJm+L1dlC8AACAASURBVI/hTGws90e/y1L/lwkwGlgT06y8vWAP6acOQPgU\niFgLySedQpd4gvnfv8fek0nufQ1+Zwr/GTstz0vsugf5acXh/TvJXPBitifgScIJHj30FA+a/wac\n8d+lX490T+8NOK9T8mnYv5hOZxfyhuVnGqflrEhUz4ohS5uZa+/jTlvt6JzTTuVsQ7BhYaOjPQ9b\nX2a49TUi7DVz5Iumlnt5vO0OHswaRbpfNQ69fzNP33kDL2Y9yYNZo6hZ2Z8XZuzgx/URtKxThf/0\nbMS0DOfxA7CeF0P3q98JP2VnnN837rTGKvt+5dewbHM4eNfyAxOi74GoLTnWpXzTD96vk3MD68UP\n/AMwmVyeRd7v1IAv1tDvs9U8+fMWOr+zlBdn7mDZ3hjjPdV8OfU3Pn/rKbBlkZFlg80T4cAiSIpx\ni0WKpxBZM5y9yCZfy+KAV1kf+ByH5n3Iyb8+Qe+dD3FOT9wVhuqqDjJg9R04pt5OX3P2/W+UvIVP\n/Ca7f3e3HCKALKLi87kO8RHuxR6m/c73NPkUrP+KlPRMuqkDvGMfT1jgM/hhc3ooKWfg3DEyUpNI\n+Po6GNcept5i7EXznHkOjuit3Gxydl6pH7cR/p3srPDtnQ8f1IeTzunp7zatyfceWPJd4+ME+FnI\n1H4EKCuzbH2prNK5yezsMvtC1lO86fczL1hm81TsTQXvLD4SIjdQydaQ9y1TuN+yAoBVBx7A/4+H\nCWp7PeM3J2FtdgOVSSOVQDQmp2ehNZz4F+p3AUtAjt06/h6N6d9JOO7+AdrdgenwUpjzKGSlwNuJ\nEJF94zZNeJRujt1kxY3A/5qXQCn0sbWMtMyjmzrIp7YhfOE3gUamWFodeQxcUaWItXDD23D1C9kH\nTj5Jprmu+2eaDqSKSudG81ZuNG9lx9Le1Fa1qFe3gbsWf/TwPloC5phtEGN89yBiHbS/w7m88HnY\n9gt0uZ+Q2LWgoKIjBVJjoXJtWPsZHM6unY20OEMzlkPv0DVtHZign3UdHPTjt71mpm5KpzeJ3AhQ\nuS6knHLuCxiUNodX5/Tlw5EPoh0Olga84tzpzirOh3/oL051WPMpnXatZLyfjT/t/8Hu0Ow8HscV\ntU1QsQbnUrMI++VNWlhWout3RLUfBN/1A3MAhIRC5Aaaph3hv5ZjTLUP4APLFIal/wNzfoeOg53f\nhZg5HBpdBcc3cg+ABeLjNmLTppwVFWUnjUDm23txPLgPs0+1oZ2K4B9HV773/wyH/fzCeI29A2vs\n7/FZ03B6xM2nYdYRdtqbsJdG/G3vzhxHXwBqVHC+xje0q8Nrf/SlY4Mg1j1xFcN/+Jd/j52jYfUK\nDOrSgC+XDuSD1DTm2vuic3kK1Vv3hnU5j99CReNsSFckZVipGxR4no0B1kTuN6/A5NDwwwCoVAue\nWg/xEVSOc1Z6jp5JJqRGJfyPLoPpQ8CvIjy+GirVhMgN0PbW8/br5vBy0JoKysELltnUPbQfOjyD\n3RxAZnoyFStVNWyN4nO/iTx/8BmgPmeSMxlsXsMnfpN5Juu/fGaaSKDZCu/9zu4B8wg1dv/v54Px\nC/mI5iqaE1GVWfzWs3S65k5CDkx1m1BDpQDQcvtYZ8JmcGDG8eBCUrNaAjDEvAoAc5wzvLrF0ZJu\npkNcH/d7jtOZZXmLg6YGnI78FkL65jzXo6tg2iD3zxAVy6msczD+HshKoVHLc8wJGOde31idIinD\nRtCXXcCayraWo7jqrOFNxe6HpJMMNa/iBb85nN69C5Mpu63VFnsYy7h22cc+8g/dFXziN4nP87kV\nZVYsLGZFPJWpSzwV6rfjrH8diHKKRY9rbuad1Yov/L+hatx2oPWF4/wzh0PMdvpXH0AXQygAFq4N\n49OMtbBtLd/5Q/SJn6gXcA4N/GK/gQqpWURN/ZmQyD+g/3skdRxBYOpJ/Ou2AcD07yTn/zkPM39d\nOINOZ9fq9uzfR5u9CzEbv+/nL6cfuOo9aNmPPw+k0XXb2zQAWphOMjfg7RwmP5f1NBrFO1UXUH35\n2xBQNXtlYhQ65TgL/F9nnv1q7LkczAYpu1jt6MwdNWpjPrmFQwf30SByPnt0Y07XvZbAmDB6mfc6\nG1BrboT5T7trJmz/Nee1O3vIKRZGW0ecDuJb2y287jcdgG5p6zjqqEsz0yma6kiYfg9PAncHVCXq\nlLN29FWdMfw35XGIy26k/jDuOeBBzhwOx113nfsYAGkftuBcp8cJCf+AusBtZkiyNmb2vIr03P4q\nmE7DY/+wdkcM91qcsWHbqo/xy0rJDnHF7nMfK4hUuqpD3GfxCEX8/SpsMu7X8ZwzAlTXCfxiv541\ndCPKXo0XLbNIoqLzvlifBeOdfc32GKD5reZIJkU3IT9ePBZKiGrEuoDnmW3vywpHtxzrK/g5n5Ka\nlQO4rXN96lerQKCfmV8e6ckvmyLp26om/hYTT/RrzRvznCHNK+tUzrGPWg2au5eTdQWysBCsknnB\nMpvfbP3yDam2SwvHpDSxKphajjinB/hx0xx5qk1oQ0RgY1rWruJsO7KmkbJmPJVPb4Eze+DxVVD/\nivP2fWTGaJrvmwjAHf4P84xlLuydiz47m5lVHuLeI6MA0EN/4V3LVDqZjvGD3yfcnvUeUeccvOzn\n7C30md9EAlW2/bV3OWv68+y9uMO8AdPptwgNCGfX/mZ0NB2FNevzvReft5tNQtwpXjz1MkFTb8Kv\n30y6qMPcZV7L9oBQumQ6exXel/U66wP+S/MsZwRik6MtV5qcz1QrUzQ1NzwPV/4LZgtkpaI/bITS\n2RWGaB1MMxXDc+fuz77WETm95xbqJGfi4gmyOsNIAfEHSNMB/OJ3N4/bpqMn9OQjP6cHrmwZ1FJJ\nvGv9DzeZ/6Xrnjk5T2zPPCb4HyeGGkDeM2aXWbEwKUWCrkxdFY8Kbsa5an146mgC6x3tGVO7OT36\nD8O+ciKhjp2spXX+fdvtVkhyxoibJG/NseqKuIU5fjdQcW5vZoTF+MiI8YkAfXwj6Us+papKgOd3\nn1eotoxZlCMomPT7Y5g5wkzbNQyxrCZBV6Kacj4Uti2/UCNsMw3Me9jhaEZnU3YMf3GlO/g7vgEL\nHL0BWJLQnQ31vyJ40f/ceRyLXqJu7D7qmqCtOo6fsrOn5k2Yqjem7aFvqamS2O5oTsBJOzfFH8f+\n16v4YeNN64OcSupCtHUATzvm8bLfTGdI6mTOL6x9HfQSi84E81fAqziitqAq1XQ3MG9wtGWp6sXr\nOMViu6MZo6xP8onft3RW2QV0LZVEjZMzsWozX+6pwKMBAVRMPJHz3iRG4ff3qPNuWcWss1QM/yBH\nWhPHcdrvep5qJiN8dXQVg/7Nbqw3pZ6Gpa/jCGrEuQHjqVk7hLj965ixZBVPm//gWUvORmq3UHiw\nw9GMM7oa3U0H+Mx2D/E4BfoRq9PGifd3JSwins3H4tjjDqMpXo26inpBgbSp4EfLOlWoUdGPn4yB\nYq3qVObg6RSidG2aZPwKKG7vXJ/qFf2ITckkqII/3RpXd9vw5bDsQtffYuLhq7ML7vt7NKKSv5kq\ngX50b5K9DYAymbBjwoyDB7JexYSDuQFv85zlD+4yreNg+oDzzhetaZO5kxQdyMfWu3OEWzypoVKo\nkbkHPG7f6Yh9VE42Zr2dfC2rr/qRK9s2ISuoCabAqgSkRNF47yR3z4QrbWEk6Yr8aB/Ic2fmcueZ\n17Ntn/Ef2pic4tfEdJoXLLOpplK41ewMu8SbqlFPZ/eIbBCzBICx1nvpZ9pGqNVZwHc05WwLc10P\ngDn2PmxytGVE7x5UDrDw3OeRTPX/hLqHZ/CQJQYbFkYm3U831QMNZOLPRkc7bjNvIlYHMSzrDZqr\naJIqNKJrxkYm8QW8GwwPL4EfBuTogLHEHkqjCpn0t25zTweQqCsRZM05or6ViqL+rFvcvxslhhGj\na/BNyjU8Hjgdlel8xrK0mdpZzgb6A7ohIY5YQu0HsWozmx1tuLpJFfTpPdRWybxpHQGMz/M+llmx\nAEjA+QD5125BnUqVGefoCUAFfzN3XNuZvWtacS8rCVUHWZX8HtDu/J3MeMA9WraaLWcX3PvTp7uX\nf7AN5GHL3zxlfY4EXZnnLHPZpxsRrWvSxXSEOw8tp44y4uIz7oeYHfxpv5IvbHez2P812pmchcNk\nfRePq7lcxS4W2q/kDdtDnCWIX7iZW7u3pkn4uwzdNo3OJgtz7H140foUXYNt2M9F8FKbc8zTN7E0\nzvlQrX35Ol6cuYMbIx7nn6B3sWckEaySUWcPEdv+EV7ZVp2Jfl+w0t6Z6Hav0LZJfb7cd4Zu6gDL\n7d1YfcrGDf6/0yZ+JcsCbySrZg+ije90fGe/1SkWxzey39GQs7oqbU3HGWcbzC+nnY232x3Nab5+\nElWWv+G+TtdfdwMbE7swYcvtrLR3IVw7vayDjoYMMa1250vWFaii0jmiG2DHzHZHc6c340H0z0/Q\n4Nx2whyt2ORox0jLPFbVGc5bx7vwv0pLGJ96Pb1MexhgCieUcAKw8rL1MUb5z6HWxpyF/Rt+L/FO\n7dU8depW1v+Wwdyna7NJXcMK2zmeNv9BP/N2crPV0YJoXZPbzJuYbuvH/9kepgppVFHpxFOVCn7m\nHA3DN3Wsx00d6wEwf3s0z/2+HZNydgjo27IWHw3uBDh7U7nE4paO9WlZO5nwyHM83Lspt3epT72g\nCuc/p4XAZFLc1TUk3/Vbq1xH9+QVHNe1sXoUDQ1NsWxPToCoE3B6N5zegz69B07vYUBGApvNV7A8\nsyv4wWvWR1hp78KCgNeppbLblRxaYVKaybZb6Go6RGiy08s/5GhAS1M012x8CDaCnUDm2K6mWVVN\nb+Xg+ayn+cL/G7o5drFZt2Gc7W4eqLSZGpk5O1hUVymMtQ6jrek4w8wrqaCc7YfL7F35telYHIdX\nEO5ozWjLbwy3LCNNB3CKGmxwdGCgEZ7O0H7s1M3oYTqADn2EXtv6M836Iq1NUcy0Xctm3ZaXqwZS\nvaIfqxxXsNhyPTdE/0VVk5m/Hd05oetwQtcx2kA0Gxztuc28iRjt7EhwRDeANDtL6M4K+xVcb96G\nbfZjOQrhJ7JeYL2lB9s7r8QS5mz7uD7zE4JI5eaQTL460YxkKjDP/02etfyBf2L281XTGsMh3Y4E\nqrDH0Zj2pkhm2/s6J4u0/E2MrsE2Rwu2OVqwpfrNLI2tRhZ+PFG/GY8Oqs3Qz+ZyVNejfIqFdopF\njZDWNKoSREj1ClQOsNCunrPGd6Rqd9ol/EJtcwKJZ+aCtZdHS6hyLh/8y72/VB3AMkc3FtqvYoLf\nV4Q7WhHW6gWqHZjJR7ZhjLXdS9dmddh69BwjrKPd2613nGSg6V8quXYd43SPx1gfIJbqjLI+wVf+\nX7NNt+KzzNsZWnk1ezLr8Ib1QeaM7MfkNU0Y36sx3RrXYHT8k9x5bB2VVQZ7HY0AqF6rPiviLJh7\n9+RBBRHxmVQOsNCwRkV+frQHr86pQN9tb1OJDNqYjtOraxfeD3cac0XmZNIIYN0VrQmpXpEZXZ5n\nXLjRjVjDJ7ahvGiZxbFWD1M90dlp4N4eDZkRdoKF9isJUWcYaX+RE/bqPNy7KRsOnKGhw8GXw65g\n7cxb6JLylfs6nG56B3X6PEuLzacYYxvGDW1rUz0ynqkP9WDPigiIcIrFfkdDXqnxJZlxx8lQAax8\n6Vq+HbfSLRYdMr5nS8CTNDjrDLLPavgGS46kc1u1SL6Jac0J6vJcyggADttD8MNOb7OzFptVtxvb\nzmylf9oWIlUDHAFVSes4nOlrGzM9qZNhqZ3bv16H1a5pEtSepKZD2L93B1NsN1NLJVCJDF71+40P\nrPcRrtsw0joSVxU4kcok6src3rk+L9zYCotJ0efjlec9mzUqOa/lqze1xd9iom+r7IZr1yAxcPbT\nn3B/1/O2Lw42tH+bMauvo33LZlSv6A8e30K6bXEP93IqgRxwNGS/oyv7dCPsLQZyXcV6NN/2M3ZM\nTLy/G6tnzmaweTWZ2sK9gRN4KmsqN+qNJNS/ho9PdGVmgLOH10jrSF60zOJGs7NxvCIZPGBZDmnO\nwnuR40oedyyinSmSgIpV6VE/mN9P9+ZpZvKRdRgT7bcxz/8NupiOckzXY6utJYMCNgDwhvVBZtmv\nYUTdqkw66OxQMN/ei+GWZcRQkzuvCGHNzk4MNIexxt6Rx6wvEmo6wK/+HzJxl+Z0qp3beY8bTVsI\n060BCK7kj8mkqFUlgKkpvbg5YAXBCtbZOwDQoFoF6gYFMuuJqxg6NgGypmCvXJ9ra9Vi1QFnZbNX\n85o8cmQUc9RbdEs6xEldgwX2Xgwzr2SVozNDujbCcuM7LNuyl5q2Uzxwyw28vXAfWz08sz/11e6I\nQteMb5nmP5YOpggyA2vyQLfGRBzuRvuUSM6Ya9Os643sCt/PSOtIBvVszanEDBbuz/7+yaTVRzly\nJoWjuv4Fnw+fEQul1EDgS8AMfK+1HlvQNsd1bY466tKgdk3qBgWy7pV+OdZHhtwOCb8AcPO5n+H9\nn/Pd12FHfW7I+hTQ3NU1hN5bW3COKrzetAOZjbrydgU/TpxL4+GrmzL2r/30bhHM9uMJPHNdC84k\nZ/LChGjuNK9zN7Lfm/U6jRs3IzYyHnv7uxl5rjNHEhx8M6wXQW2OsOWfw7xfuzIdGgTx1b3ZoYU7\n+4Yy5fBNPGuZT5uO3ZnR40rqBVWgY0gQVzYLxmRSLH3hGnf+AIuZz4Z0Zkr9qsSmZDJnSz1Whmf3\n2krD2WgZUt0ZUx97VyeGhDbkr92nmLLuGFPsN/ObvR8TOoRyQ42KHDubSr82tRl9U1umrW/J1nQb\n865rjp/FRGV/C6/d3AazSaGUIuLq/3Dqr5+Zbrueff7t+HTIf8HPj4d6N+Gq5sE0Dq5IRX/nIxjd\n5TaIeA2ABe0/Z/od13AkNoWENCtNgiuyo3JfyPwOgH/H3MnMz//hgYzprLP05KNHbyNg/h6u3eQM\n9/RuEUxYRDy9mgcTm5zJPxl3EpFQhxB1llv7XcfonzW7Gg/np6NVub9nO14e0JrOx9azI8rpNf37\n2vV8tvQgC3ee5K4ezUgN/Yoh253tFZ8M7sSo2TuZbr+eZCpyRaNqmJWicqCFK5sFc0PbOjSsUYEA\ni9l9jVe9dO15XU/7tKzFrCevIrRxdfeAMxcmT7EwlVyHxdtDm5OBPy8PaO206e2c6yfUGUN8lZZY\nK4dQKdCfSgEWWgRYuKZVLfwtJhbujOHrYV24qWM9vl/ZDc6tZvMVY5l7xzC+/ymdiCNHGXDjAFql\n+MF8p1i8MeJ2Jswyc6PdKRYLaj/JsZOnec7yB0d0fTo1rsUzx//LyoAXia1/HS/1ac3zk67mFv9V\nbPPrAnbFd7Zb+dLva+6/4xa+DMsg5kwN6qlzbHW0wmYKpHeLmkxac5ShoQ25u+uVRE6dyBFdl3FD\nu/CR4zQcmEJKYH06h9Tl0T7d+Wb6Hn7OcL5zPVrWZ+Ehf/c1cN2baQ/34LGpEJlem8amM0QE9eCZ\nLs2584oQlHLmu/3aXmz9uwXrM5sz6YFufLh4P6FNqnNTh3qs2HeaVbOvops+xJKAAaSFvkCXf+5j\n+qM96dXC2QPu6+DX2HEigb09GvH9+gii4tPp3qQ6h8+k0G3AY/CXsw1jyet38cknO/mYb2jsl8C7\nd3Rg8ZxrYNdcKtduysDbh/GhpTMRa47y63UtSEyz8o8hFnde0YBFO2NYvu8MVQIsrH75OoI/yvv5\nUKXx62S5UUqZgYPAjUAUEAbcq7Xem982oaGhOuWG16hIJuEfDMvxArr4ZVMk4+etoZUpig4qAuWe\nL1S7Y4hVVDpPWv5kluNaRmU9Tq/mwXx9X1e6vruMNnWr8OfIqws1vcaHi/cxe0sU/9ytmL8/jerN\nQxnQvi4pmTaCKviRbrVjMSkC/cwF7uvR71dT99gf3DziFXq1qldgfk9SMm3siko0CmozT/2yldE3\ntaFzw2o58o39az/frnZ2qbq5Y10+H9KlULZ5kp5l5+5v1nNXtxAe7dPsgnkdDs2itwZym3kTZ54/\nQe1qVXOs338qieWTR1O/QSPuemQ0+6NiOTFpCLFNB3Hfw89zOimDnh84Ox+8elMbnrjGo8E2w8pv\n/x4nJjGD/7ulHUMnbSQ8Mp6mNSsx+YFutKxThdRMGwnpVux2TaPgijmOnWG10+aNv/m/W9ryaJ9m\nLNt7msemhbNw5NV0aBB0UdeksLjm6Hnz1nY52h1Kkudfe5WrzbsZbF5DHEEEv33h2Yy11m7hm7Fy\nC3X/eZ6k/uO4rU8o+2KS+GL5Qb4cdgWBfmY+/uVPMk9s4f9Gv4XNbifx3aYoNNXfOkFyWjpJn3bh\nSOVuXPvSb8zeEsWmgycZ0ac1HUOCWLLnFJ8vPchX915B4+CKLNoZw6lT0TwxsDsWs4mfxwznHvti\nVg76l9CWDahZ2Z/fw07Qv10dalTyp89rP9GuYU0mP30rh8+ksOirZ0lq0Jc3nnoYgE1H4wiu5E90\nQjpXNKzOlysO8eQ1zbA5NPWrZYcAT5xLY/y4d+lhPsDgt+eedz1cz83Ifi14sX/r89bPXbuNyktf\n5Gyf97jrup6cTEinWa3sjgdnkjI4djaVns2COXAqmVNJGfRoUoMK/s73cMWPb+Nfqzl9bn2AWZuP\nUGvhQ0S2HMGI4Y+wK/IMyyePptmtLzLoqvZorTmdlOnu0ZaYbuVMUgYt61RBa82ek0lYzIo2daui\nlNqitQ7Nba+viMVVwNta6wHG71cBtNYf5rdNaGioHjttETujE/nfja3yzJNps7MrKpErGlXndFIG\nGVY76VY7GVY7GVYH6Vl2kjKsfDtrIbde04t7e7cm0M9ElUA/IuNSCale0d1HuzA4HDpP0bpYMqx2\nFu+KYVCXBhd1/IvhkyX7mbDyCAEWEwfeK0T34iJgb1Q863bu57Gbrjyvtu3Cs0CKOJtKrSoBVAqw\ncDYlk9D3nFNduAr1/DiVmMGppAw6hwTle5yCsDt0sV17yBaLdwe154GrmhTbcS7E7uhEDp5OJlTv\nolpIO6rWaVzobR0OzdK9p7ihbR0s+VSmPN+Hb/7vAWqQxLD35gOw88hxqlWuTKM6NfLc9kJsPBjN\nivWbeW3EnXm+b2lZNswm5fb+lu89TZt6Vdze9cXw04YIth2P54th5/fmAuc0KPmdf4bVzs8bI7mv\nZyMqBVxekEdrzcKdMfRoWoM6VZ2CsCUyni4Nq130c+rrYjEYGKi1ftT4/QDQU2v9bK58jwOPAzRq\n1KhbZGRkkRw/IS2LqoF+RVLQ+wqfLz3AV/8cpqK/mb1jBha8gZdJSMuiyxhnD7S3b2vHg729Uxsv\nKlxi8cGdHbmvZyMvW1P8nE3JJMvmyFFzF7xDfmJRpkZwa60na61DtdahtWrVKniDQlKton+5EgoA\nsxEr95Wz9qw9mS9y1t3SzMVON++r1KwcIEJRyvGVtyoaaOjxO8RIE4oJXytvLR4NwZYyJOxl6VwE\n38ZXioQwoKVSqqlSyh8YBizwsk1lGl/zpHJ4Fj5m+4XIL94tCCWNT3Sd1VrblFLPAktwdp39QWu9\nx8tmlWl8rUbraa+v2X4hytK5CL6NT4gFgNZ6MbDY23aUFy51Sm9vYSqjnkVZOhfBtxEfV8gTX67R\nWkpwIFtx41dOGriF0k/ZeauEIsWXa7S+bHtuzGVI+ATfRp5EIU98rYHbE1/2inLjV4bORfBtRCyE\nPHEVuKV/yOb5mMtQ6KYseUmCbyNiIeSJrzVwe1KWPAvpOiuUFuRJFPLEVaP1xWK3LNXGy5LwCb6N\niIWQJ2ZfDkP5sFeUm/Iy3YdQ+hGxEPLEl2vnZamALUvdgAXfRp5EIU9ctXNfLHbLUnfTsiR8gm9T\ndt4qoUjx5TBUWYrzl6VzEXwbEQshT3w5DOXLtuemLJ2L4NuIWAh5IoPySgeF+WSvIJQE8iQKeeLL\nBW5Zqo2XpXMRfBsRCyFPfLn7aVnqQeRXhs5F8G3kSRTyxJfDUGVquo8ydC6CbyNiIeSJL4ehfNn2\n3JSlcxF8GxELIU982rPwYdtzI2IhlBZELIQ8cbVZaB8caFGWCtiyJHyCbyNiIeSJLxdSvmy7i2ta\n1QJA+XBHA6Fs4TPf4BZKFvessz5YVpWF3lCTHuhGfFqWt80QBDe+/1YJxYL740c+GIYqC55FoJ+Z\nekEVvG2GILgRsRDyxJcbuMtSm4UglBZELIQ8cc8664Plri8LnSCUVkQshDwx+3AYShCEokfEQsiT\nshD3FwSh6BCxEPJExEIQBE9ELIQ88UWxeP6GltSsHOBtMwShTCLjLIQ88cVZZ5+/oRXP39DK22YI\nQplEPAshT6RHkSAInohYCHnii2EoQRCKDxELIU9EKwRB8ETEQsgT17ef7+7WwMuWCIJQGrgssVBK\nva2UilZKbTf+bvZY96pS6rBS6oBSaoBH+kAj7bBSarRHelOl1GYjfYZSyt9IDzB+HzbWN7kcm4XC\n4Wc2sevt/rxzewdvmyIIQimgKDyLcVrrLsbfYgClVDtgGNAeGAh8o5QyK6XMwATgJqAdcK+RF+Aj\nY18tgHjgESP9ESDeSB9n5BNKgCqBftJ2IQgCUHxhqEHA71rrTK31MeAw0MP4O6y1Pqq1zgJ+BwYp\n56T9/YDZxvY/AXd47OsnY3k2cL2SSf4FQRBKlKIQi2eVUjuVUj8opaobaQ2AEx55ooy0/NKDgQSt\ntS1Xeo59GesTjfyCIAhCCVGgWCilliuldufxNwiYCDQHugAxwGfFbG9Btj6ulApXSoXHxsZ60xRB\nEIQyRYEjuLXWNxRmR0qp74CFxs9ooKHH6hAjjXzS44BqSimL4T145nftK0opZQGCjPx52ToZmAwQ\nGhoq86UKgiAUEZfbG6qex887gd3G8gJgmNGTqSnQEvgXCANaGj2f/HE2gi/QWmtgJTDY2H4EMN9j\nXyOM5cHAP0Z+QRAEREt52gAADcFJREFUoYS43LmhPlZKdQE0EAE8AaC13qOUmgnsBWzAM1prO4BS\n6llgCWAGftBa7zH29Qrwu1LqPWAbMMVInwL8rJQ6DJzDKTCCIAhCCaLKaiVdKRULRBbR7moCZ4to\nX754/NJiA4gdpc0G8L4d3j6+i9JgR1HY0FhrXSt3YpkVi6JEKRWutQ4tr8cvLTaIHaXPhtJgh7eP\nX5rsKE4bZLoPQRAEoUBELARBEIQCEbEoHJPL+fGhdNgAYocnpcEG8L4d3j6+i9JgR7HZIG0WgiAI\nQoGIZyEIgiAUiIiFIAiCUCAiFqUEmUm39CH3pPQg98L7iFgYKKXK/bVQSpWKz+IppW5XSjX3th1C\nqcI924Q3hUMp1drbZYVS6j6lVGdjucSuRbkuII1C6X9etmGgUmo+8K5SyisDepRSNyiltgBPeuP4\nuezYiHOKl3oF5S9GO25TSv0GjFZKNfaSDXcopd71xrFLkx3G+7EE+FQpdSeAN+aGU0rdqJTaDDyK\nl8pN4/1YC3wBXAElfC201uXuD2ct5RWc81k5gC5GurmEjq+AQGAqsA643XgAJgI1S9AGf+AbYDtw\nR+71JWhHZeBPYBVwvbF8v7HeVMLPxg04J70cCLwBfArcUlK24CyIHsX5wTAr0Kckz9/jnpi9ZYfH\ns/kpsN54P54GpgMtS9gOP2AMcAi4K/f6ErKhAjDTeD8GGO/s08b6EimztNbl07PQzmnQDwBtgP8B\nk4x0ewkdX2utM3DOrHuN1noBMBfnw1cic8sYNmQBFYF5Wut5SimTy73VxpNYQnakAL9ora/VWq/A\nOdHkIGO9oyTs8OAGYKHW+m+cz0UV4GGlVKWSsMU4xiGcNcengRKv1Rv3xI5TKErcDo9n82+y348N\nOEXrWAnbYcVZoZyttZ4LoJTqo5TyK0Eb0oFfjfdjCc5r8YCxvkTKLChH4yyUUv8F6gNbtdYzlVJ+\nxoOAUuoY8LrWerpnenHb4JE+BOe3yfcAa4ElWut1xWzDNq31DKNtYDLOmX5vwPlVwhhgjvFgFgse\ndmzRWs/ySDcB9wJdgde01pnFZUMuO1zPxe3AM8AgrXWGUupLoDGwQms9vphsGAyc0FpvNn57Ppth\nwLda6ylKKVNxCpZxLToCm7XW3yullKvSUBJ25D6+R/rNwNfAGWANzmdmhqd9xWRHmNZ6slKqLjAW\n5+zaoTgjEvHAauN6/H975x5sVVXH8c8PUULvJWhEBJ0GhaCXj0DBFBBNmdQsjEgb4+E4vhp1xkYn\npUwsJqd/dEbHdIZSLF+laOPoODoV+cAHPlFKh+tMNSiJYoUmaSrf/vitw91dL1zuOfvsva7z+8zs\nYT/WOevD2vvc395rrb1W6R4Fh1WSlhb27wQcApwCXCpp3Ta+onyqeoSpa8Ef487DH2e/AbwALAT2\nKKQ5AXilBodR6fhM/MIYDJwF/BwYWYHDqenYOfjEVRPxO+lzgWtpQ5XYdspiZCHNocCLNVwXC4AJ\nwPX4PCor0vopwCJKroYC9gAeANYDv218f3JrrB+D30SMaHN5LAQew6vfHgAuAsYVjrfVo5f8FwHj\n07EpwISCx33A2Io8fgCMAGYDN+G1EYY/+d4DfLKisti3cHw/fG6gznZeEx/yqjKzupb0wz8irX8Z\nuByY1yPNCuD8tH5UBQ5XAAt6STcNr5vtqMDhSuCbabujkG5Gcti1ovNxRS/n43fAVyu8Lo5JHnPx\n+vov0N1WcTKwtE0O3wX2x9urzkr7tgaN9O/teBtbJzC3TR6/Ak5I6wcBlwI/7JGmbR695L8YuKSX\ndGOBG4G9KyqHHwMXpu3dCun2ScFjdAUOi3s5Fw8Bp7WjDLa1fKTaLHp2Iyt0cXsSmA4gr4vuAj5n\nZhMLyc/CJ3N6FWi6C2k/HNYCnzGzCT2+Yhbwn7S02+EFYLKZTZS3GzQ4GtgMvNOsQz891uLn49Mp\n3TDgRbyOumV20OPe5HEwfkf7jKR7UrrJwONtcrgKnyTsfuA4MxstaUs63kjzPeAy/LrdsxWPXrwa\neTwDfAVA0pPAo8BeZnZYIXnpHtvJ/zFgTI/8we+6d2UbUyu3wWMlsI+ZHSbp7cJHFuANz/+swOEx\n/FxMS+kMf7r6WHSdbZ6hxQ1116u+BHSa2X5p+wF8Lu9OAPPZ/pYCy4FJkm6o0GGYme1iZvPM7Dn8\nzukitdZw1R+HYXSXw0lmtgavo1+k1uul+1sWHSndm/g87KNazL8Zj066y+NYM1uFl8fydjhIek/e\n4eIRPECe2zgu6YPUpnQNXk01SS22m6Q6763Bq1AWK4FBZjYjba/B267GpPTj8V44LXn0M//1hfzn\np2tzH/wJrOmbqSY8iuUwx8xWA/smj6ZvqJooi9EpnfAqzLfTeiV8JIKFmR1iZsuBq81sVuEkNF7k\nWYVP7zrLzAZL+jP+9NB4r+ENvCvaXEnrK3aYLO/5sQ6/+OZLeq1ih0Y5/K1Vh5I8AE6StKxZhxY9\nDk7Hu4AzJc2R1NQd5HYcrMdd4Ua8Wmyime1tZrunJ6yNwNmSvt7stZny+6KZLQXOM7POxh+ZQll0\n4W0SJ5rZTpJexoP12HR8UyseTea/Jx4cAJ4DTpe0QNKG/ubfoseogsda/JqY36xHC2UxtvA150u6\nrpn8m2XABwszm4nf8dyBd4f9NjDCvMfG+wCSXsKrHMYBF6aPvkuadlXSOknP1+zwR0kra3Z4VNJD\nzTqU4PHXxve0csdWloekLklPt8lBkmRmQ8xsiKQPJD2I/5FYg9dJj5K0SdLaZh2Sx+F4b6I/4HfI\ni8xsVvo/vp+SvZXyHIK/ALcz3rD7Rkr3uqSuGvLfmNI9K+mRZvIv2eN5SY/W5LC16i3dYFbKgA8W\neOPgE5Juwhu+dgb+3XikM7MlZvYL4Cm8QXeK+dvK/8Dr/ep2uD8DhzK7yOZQFq16VHVd/Ajv+TY6\nbZ8JnIG/37F/s3+ce2EysFLSLcAS/E75W2Y2KuW7BO/QsAl/EXEE/sdqE9BKlWwu+efkkYNDc6jC\n1vQyFryP8YTC9oH4D/wSYAP+luN1wIl4F8ybSV3wUvoOYHg4tO4QHqU7HFXcLtHjOOCXwJi0fSXe\nk+cMvKvwzfx/N9lBtNAts+78c/LIwaGspXaBfhT6cLxf81t43+diV88p6Uc4J22fijdYH1As9HAo\nxyE8SncoZciGbXkAn8KrPu7HG+rvBC4gdRUvqyzqzj8njxwcyl4GUjXUbnj1wDlpfXrjgKRVwEhS\n3TteHzic1K3NynvjNBzCox0OZQ3Z0NNjRnLowt/nuAy4TdIJeNvIzMYHSyqLuvPPySMHh1LJOliY\nd5c73MyGSXoFH5biN3j//6lm1ujONgTvevid9NEvAZ9I6Wil4MMhPHJ12AGPKQ0PSf+VtELSremj\nk/Cxl2jFo+78c/LIwaGdZBcszBltZivwF19OBq4xs90lvSNpM/527wj8h4d8/KC7gA4zexAfW+hs\nNd8FNRzCI0uHJjyO7PHZaakhfzo+xMuAyz8njxwcKqPuerDiQqq7xRt6bmzsw99yvaNH2vPw3gTD\ngaFp31AKY6iEw8A/H7l45ODQgsfHSUNV4N01jx2o+efkkYNDlUvtAoUC/gnwU+Bw4HjghsLxQcCr\n+HDFjX0d+BwQT+A9TfYKh9YdwiM/hxI8ViWPpsdTqjv/nDxycKhjqb0ayvwllafwx7SX8IG73gOO\nMLMpsLUOb3FaGhyH1wM/C+wnryMMhxYcwiM/h5I8ViePlwdi/jl55OBQG3VHK7y+bl5h+2f4oH4L\n8XHrwSP1nnhj0di072vAjHAozyE88nPIwaPu/HPyyMGhrqV+AR9Bcgjd9X8nA5el9WeBc9L6QcAt\n4dA+h/DIzyEHj7rzz8kjB4e6ltqroSRtlvSuuvuaHw28ntZPwYfxvhu4BXgaPjzccziERzs8cnDI\nwaPu/HPyyMGhNuqOVoWIvRP++HYv3TNkjcd7lEyjhEbCcAiPgeqQg0fd+efkkYND1UvtTxYFtuAD\nrW0E9k/R+WJgi6SH1WIjYTiExwB3yMGj7vxz8sjBoVrqjlY9ovUh+El4mDQ/dDjU4xAe+Tnk4FF3\n/jl55OBQ5dKY4zcLzGxvYB5wufzN13CoySE88nPIwaPu/HPyyMGhSrIKFkEQBEGe5NRmEQRBEGRK\nBIsgCIKgTyJYBEEQBH0SwSIIgiDokwgWQRAEQZ9EsAiCNmFmi83s/O0cn21mn63SKQiaJYJFENTH\nbCCCRTAgiPcsgqBEzOz7+PSarwHr8LkPNgGnA7vgcyDMAw7Ep9LclJY56SuuBkYCm4HTJL1YpX8Q\nbIsIFkFQEmY2GVgGTAUG46OOXgtcL+mNlGYJsEHSVWa2DLhb0u3p2O+BMyV1mdlUfOjrIz+cUxBU\nz+C6BYLgI8R04E5JmwHM7K60//MpSAzHp9e8r+cHzawDOBS4rTCi9ZC2GwfBDhLBIgjazzJgtqTV\nZrYQmNlLmkHAvyQdWKFXEOww0cAdBOXxIDDbzIaaWSdwfNrfCfzdzHbGZ1Zr8FY6hqQ3gb+Y2Vzw\nCXPM7IDq1INg+0SwCIKSkPQ08GtgNT4pzhPp0MXA48BKoNhgfStwgZk9Y2bj8EByqpmtBv6Ez9sc\nBFkQDdxBEARBn8STRRAEQdAnESyCIAiCPolgEQRBEPRJBIsgCIKgTyJYBEEQBH0SwSIIgiDokwgW\nQRAEQZ/8DyMtcm18hlKRAAAAAElFTkSuQmCC\n","text/plain":["
"]},"metadata":{"tags":[]}}]},{"cell_type":"code","metadata":{"id":"yb5vXkRjH_WG","colab_type":"code","colab":{}},"source":["country = \n","df_country = df[]"],"execution_count":0,"outputs":[]}]} \ No newline at end of file diff --git a/README.md b/README.md index 5580a5ce4..c21f95962 100644 --- a/README.md +++ b/README.md @@ -1,164 +1,69 @@ -# IBM AI Enterprise Workflow Capstone -Files for the IBM AI Enterprise Workflow Capstone project. - -## Part 1 - -### Case study part 1 - -At this point in the project, and in any data science project really, it is best to loosly organize your code as libraries and scripts. Jupyter notebooks are a convenient and powerful tool, but we have mentioned several times that they are not a good place for source code to live. If you decide to use a notebook for this part, we recommend that it is used to run functions that live within a [python module](https://docs.python.org/3/tutorial/modules.html). - -### Deliverable goals - -Overall this part of the case study is meant to tell the story of the data by investigating the relationship between the data and the business opportunity. - -> (1) Assimilate the business scenario and articulate testable hypotheses. - -Take what you have read from the stories and from what you know about the business scenario and, in your own words, carefully re-state the business opportunity. Given the stated opportunity, enumerate the testable hypotheses. - -> (2) State the ideal data to address the business opportunity and clarify the rationale for needing specific data. - -Note that this step is carried out **before you read in the data**. It helps clarify exactly what your are looking for in the data and it helps provide context for what the feature matrix and targets will look like. - -3. Create a python script to extract relevant data from multiple data sources, automating the process of data ingestion. - -From within a Python module there should be a function that reads in the data, attempts to catch common input errors and returns a feature matrix (NumPy array or Pandas DataFrame) that will subsequently be used as a starting point for EDA and modeling. - -4. Investigate the relationship between the relevant data, the target and the business metric. - -Using the feature matrix and the tools abvailable to you through EDA spend some time to get to know the data. - -5. Articulate your findings using a deliverable with visualizations. - -Summarize what you have learned in your investigations using visualizations. - -### Hints - -* The JSON files may not contain uniformly named features. Be sure to account for this in your data ingestion function. -* Some of the invoice ids (`invoice`) have letters that can be removed to improve matching. -* One common way to ready time-series data for modeling is to aggregate the transactions by day. Getting the data into this form will help you prepare for part 2. -* If you have not worked with time-series or time-stamped data before the following two links can be useful. - - * [NumPy datetime](https://docs.scipy.org/doc/numpy/reference/arrays.datetime.html) - * [Pandas time-series](https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html) - * [matplotlib time-series plot](https://matplotlib.org/3.1.1/gallery/text_labels_and_annotations/date.html) - - -## Part 2 - -### Case study part 2 - -Time-series analysis is a subject area that has many varied methods and a great potential for customized solutions. -We cannot cover the breadth and depth of this important area of data science in a single case study. We do -however want to use this as a learning opportunity if time-series analysis is new to you. For those of you who are seasoned -practitioners in this area, it may be a useful time to hone your skills or try out a more advanced technique like -Gaussian processes. The reference materials for more advanced approaches to time-series analysis will occur in their own section -below. If this is your first encounter with time-series data we suggest that that you begin with the supervised learning -approach before trying out the other possible methods. - -## Deliverable goals - -1. State the different modeling approaches that you will compare to address the business opportunity. -2. Iterate on your suite of possible models by modifying data transformations, pipeline architectures, hyperparameters -and other relevant factors. -3. Re-train your model on all of the data using the selected approach and prepare it for deployment. -4. Articulate your findings in a summary report. - -## On time-series analysis - -We have used TensorFlow, scikit-learn, and Spark ML as the main ways to implement models. Time-series analysis -has been around a long time and there are a number of specialized packages and software to help facilitate model -implementation. In the case of our business opportunity, it is required that we -*predict the next point* or determine a reasonable value for next month's revenue. If we only had revenue, we could -engineer features with revenue for the previous day, previous week, previous month and previous three months, for example. -This provides features that machine learning models such as random forests or boosting could use to -capture the underlying patterns or trends in the the data. You will likely spend some time optimizing this feature -engineering task on a case-by-case basis. - -Predicting the next element in a time-series is in line with the other machine learning tasks that we have encountered in -this specialization. One caveat to this approach is that sometimes we wish to project further into the future. Although, -it is not a specific request of management in the case of this business opportunity, you may want to consider forecasting -multiple points into the future, say three months or more. To do this, you have two main categories of methods: 'recursive forecasting' and 'ensemble forecasting'. - -In recursive forecasting, you will append your predictions to the feature matrix and *roll* forward until you get to the -desired number of forecasts in the future. In the ensemble approach, you will use separate models for each point. It -is possible to use a hybridization of these two ideas as well. If you wish to take your forecasting model to the next -level, try to project several months into the future with one or both of these ideas. - -Also, be aware that the assumptions of line regression are generally invalidated when using time-series data because of auto-correlation. The engineered features are derived mostly from revenue which often means that there is a high degree of correlation. You will get further with more sophisticated models to in combination with smartly engineered features. - - -## Commonly used time-series tools - - * [statsmodels time-series package](https://www.statsmodels.org/dev/tsa.html) - one of the most commonly used - time-series analysis packages in Python. There are a suite of models including autoregressive models (AR), - vector autoregressive models (VAR), univariate autoregressive moving average models (ARMA) and more. - * [Tensorflow time series tutorial](https://www.tensorflow.org/tutorials/structured_data/time_series) - * [Prophet](https://research.fb.com/prophet-forecasting-at-scale/) - -## More advanced methods for time-series analysis - - * [PyWavelets](https://pywavelets.readthedocs.io/en/latest/) - * [Bayesian Methods for time-series](https://docs.pymc.io/api/distributions/timeseries.html) - * [Gaussian process regression](https://scikit-learn.org/stable/auto_examples/gaussian_process/plot_gpr_noisy_targets.html) - -## Working with time-series data - - * [scikit-learn MultiOutputRegressor](https://scikit-learn.org/stable/modules/generated/sklearn.multioutput.MultiOutputRegressor.html) - * [NumPy datetime](https://docs.scipy.org/doc/numpy/reference/arrays.datetime.html) - * [Pandas time-series](https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html) - * [matplotlib time-series plot](https://matplotlib.org/3.1.1/gallery/text_labels_and_annotations/date.html) - * [scikit-learn time-series train-test split](https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.TimeSeriesSplit.html) - -## Additional materials - - * [Intro paper to Gaussian Processes in time-series](https://royalsocietypublishing.org/doi/full/10.1098/rsta.2011.0550) - * [Paper for using wavelets to aid time-series forecasts](https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0142064) - -## Part 3 - -## Outline - -1. Build a draft version of an API with train, predict, and logfile endpoints. -2. Using Docker, bundle your API, model, and unit tests. -3. Using test-driven development iterate on your API in a way that anticipates scale, load, and drift. -4. Create a post-production analysis script that investigates the relationship between model performance and the business metric. -5. Articulate your summarized findings in a final report. - - -At a higher level you are being asked to: - -1. Ready your model for deployment -2. Query your API with new data and test your monitoring tools -3. Compare your results to the gold standard - - -To **ready your model for deployment** you will be required to prepare you model in a way that the Flask API can both -train and predict. There are some differences when you compare this model to most of those we have discussed -throughout this specialization. When it comes to training one solution is that the model train script simply uses all -files in a given directory. This way you could set your model up to be re-trained at regular intervals with little -overhead. - -Prediction in the case of this model requires a little more thought. You are not simply passing a query corresponding -to a row in a feature matrix, because this business opportunity requires that the API takes a country name and a date. -There are many ways to accommodate these requirements. You model may simply save the forecasts for a range of dates, -then the 'predict' function serves to looks up the specified 30 day revenue prediction. You model could also transform -the target date into an appropriate input vector that is then used as input for a trained model. - -You might be tempted to setup the predict function to work only with the latest date, which would be appropriate in -some circumstances, but in this case we are building a tool to fit the specific needs of individuals. Some people in -leadership at AAVAIL make projections at the end of the month and others do this on the 15th so the predict function -needs to work for all of the end users. - -In the case of this project you can safely assume that there are only a few individuals that will be active users of -the model so it may not be worth the effort to optimize for speed when it comes to prediction or training. The important -thing is to arrive at a working solution. - -Once all of your tests pass and your model is being served via Docker you will need to **query the API**. One suggestion -for this part is to use a script to simulate the process. You may want to start with fresh log files and then for every -new day make a prediction with the consideration that you have not yet seen the rest of the future data. To may the -process more realistic you could 're-train' your model say every week or nightly. At a minimum you should have predictions -for each day when you are finished and you should compare them to the known values. - -To monitor performance there are several plots that could be made. The time-series plot where X are the day intervals -and Y is the 30 day revenue (projected and known) can be particularly useful here. Because we obtain labels for y the -performance of your model can be monitored by comparing predicted and known values. +# Solution for *AI in Production* (coursera.org) + +## 1. Running the application +To start this application run the following command: +``` +python app.py +``` +and navigate to the following url: [http://localhost:8080](http://localhost:8080) + +**NOTE:** it might take a minute to respond the first time + +## 2. Running tests +**NOTE:** Before running the unit tests, make sure the previous command is running + +To run all the tests (summary style): +``` +python run-tests.py +``` +To run all the test (verbose style): +``` +python run-tests.py -v +``` +To run only the api tests +``` +python unittests/ApiTests.py +``` +To run only the model tests +``` +python unittests/ModelTests.py +``` + +## 3. (Re)Training the model +A script is available to automate the ingestion of observations (and re-train all models): +``` +python solution_guidance/model.py +``` +it takes [Random Forest Regression](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestRegressor.html) by default, however [Extra Trees Regression](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.ExtraTreesRegressor.html) is also available as an option when adding the following argument: +``` +python solution_guidance/model.py extratrees +``` + +## 4. Visualizations + +As part of the EDA investigation, these graphs were created: + +![alt text](static/img/img01.png) +![alt text](static/img/img02.png) +![alt text](static/img/img03.png) +![alt text](static/img/img04.png) +![alt text](static/img/img05.png) + +## 5. References +Course link: [learn/ibm-ai-workflow-ai-production](https://www.coursera.org/learn/ibm-ai-workflow-ai-production) + +--- +The following questions are being evaluated as part of the peer review submission: + +1. Are there unit tests for the API? +1. Are there unit tests for the model? +1. Are there unit tests for the logging? +1. Can all of the unit tests be run with a single script and do all of the unit 1. tests pass? +1. Is there a mechanism to monitor performance? +1. Was there an attempt to isolate the read/write unit tests from production 1. models and logs? +1. Does the API work as expected? For example, can you get predictions for a 1. specific country as well as for all countries combined? +1. Does the data ingestion exists as a function or script to facilitate 1. automation? +1. Were multiple models compared? +1. Did the EDA investigation use visualizations? +1. Is everything containerized within a working Docker image? +1. Did they use a visualization to compare their model to the baseline model? diff --git a/__init__.py b/__init__.py new file mode 100644 index 000000000..52ac393c4 --- /dev/null +++ b/__init__.py @@ -0,0 +1,32 @@ +import unittest +import getopt +import sys +import os + +## parse inputs +try: + optlist, args = getopt.getopt(sys.argv[1:],'v') +except getopt.GetoptError: + print(getopt.GetoptError) + print(sys.argv[0] + "-v") + print("... the verbose flag (-v) may be used") + sys.exit() + +VERBOSE = False +RUNALL = False + +sys.path.append(os.path.realpath(os.path.dirname(__file__))) + +for o, a in optlist: + if o == '-v': + VERBOSE = True + +## api tests +from ApiTests import * +ApiTestSuite = unittest.TestLoader().loadTestsFromTestCase(ApiTest) + +## model tests +from ModelTests import * +ModelTestSuite = unittest.TestLoader().loadTestsFromTestCase(ModelTest) + +MainSuite = unittest.TestSuite([ApiTestSuite,ModelTestSuite]) diff --git a/app.py b/app.py new file mode 100644 index 000000000..983f89cb0 --- /dev/null +++ b/app.py @@ -0,0 +1,122 @@ +import argparse +from flask import Flask, jsonify, request, send_from_directory +from flask import render_template +import joblib +import socket +import json +import numpy as np +import pandas as pd +import os,re + +## import model specific functions and variables +from solution_guidance.model import model_train, model_load, model_predict +from solution_guidance.model import MODEL_VERSION, MODEL_VERSION_NOTE + +THIS_DIR = os.path.dirname(os.path.realpath(__file__)) +LOGS_DIR = os.path.join(THIS_DIR, "static", "logs") +HOST = "127.0.0.1" +PORT = 8080 +app = Flask(__name__) + +@app.route('/log/') +def send_js(path): + return send_from_directory(LOGS_DIR, path) + +@app.before_first_request +def startup(): + global global_data, global_models + print(".. loading models") + global_data,global_models = model_load(training=False) + print(".. all models loaded") + +@app.route("/") +def landing(): + return render_template('index.html') + +@app.route("/logs") +def logs(): + return render_template('logs.html') + +@app.route("/logslist") +def logslist(): + files = [f for f in os.listdir(LOGS_DIR)] + return jsonify(files) + +@app.route('/predict') +def predict(): + """ + basic predict function for the API + """ + country = request.args.get('country') + target_date = request.args.get('target_date') + + ## input checking + if target_date is None: + print("ERROR API (predict): received request, but no 'target_date' found within") + return jsonify([]), 400 + + if country is None: + print("WARNING API (predict): received request, but no country specified, assuming 'all'") + country = 'all' + + m = re.match(r'(\d{4})-(\d{2})-(\d{2})', target_date) + try: + year, month, day = m.group(1, 2, 3) + except: + print("ERROR API (predict): 'target_date' format is invalid") + return jsonify([]), 400 + + result = {} + try: + _result = model_predict(country,year,month,day,all_models=global_models,all_data=global_data) + ## convert numpy objects so ensure they are serializable + for key,item in _result.items(): + if isinstance(item,np.ndarray): + result[key] = item.tolist() + else: + result[key] = item + return(jsonify(result)) + except Exception as e: + print("ERROR API (predict): model_predict returned: {}".format(str(e))) + return jsonify([]), 400 + +@app.route('/train') +def train(): + """ + basic predict function for the API + + the 'mode' give you the ability to toggle between a test version and a production verion of training + """ + + regressor = request.args.get('regressor') + if regressor is None: + print("WARNING API (train): received request, but no regressor specified, assuming 'randomforest'") + regressor = "randomforest" + + print("... training model") + data_dir = os.path.join(THIS_DIR,"cs-train") + try: + model_train(data_dir,test=True,regressor=regressor) + print("... training complete") + # reload models and data after re-train + print("... reloading models in cache") + global_data,global_models = model_load(training=False) + return(jsonify(True)) + except Exception as e: + print("ERROR API (train): model_train returned: {}".format(str(e))) + return jsonify([]), 400 + + +if __name__ == '__main__': + + + ## parse arguments for debug mode + ap = argparse.ArgumentParser() + ap.add_argument("-d", "--debug", action="store_true", help="debug flask") + args = vars(ap.parse_args()) + + if args["debug"]: + app.run(debug=True, port=PORT) + else: + app.run(host=HOST, threaded=True ,port=PORT) + diff --git a/cs-train/ts-data/ts-all.csv b/cs-train/ts-data/ts-all.csv new file mode 100644 index 000000000..2cdc5b056 --- /dev/null +++ b/cs-train/ts-data/ts-all.csv @@ -0,0 +1,612 @@ +date,revenue,purchases,total_views,unique_streams,unique_invoices +2017-11-28,13281.120000000281,2953,12922,1291,154 +2017-11-29,13222.97000000031,3217,13650,1291,154 +2017-11-30,12941.500000000246,2911,15243,1291,154 +2017-12-01,9163.070000000029,2443,11652,1291,154 +2017-12-02,1263.2800000000009,370,3101,1291,154 +2017-12-03,6229.109999999952,1888,8096,1291,154 +2017-12-04,12189.79000000019,2684,11202,1291,154 +2017-12-05,8892.26999999999,2283,11906,1291,154 +2017-12-06,10886.990000000053,2423,10071,1291,154 +2017-12-07,10651.38000000005,2403,11572,1291,154 +2017-12-08,4864.069999999974,1535,7902,1291,154 +1970-01-01,0.0,0,0,0,0 +2017-12-10,4568.1999999999825,1678,7685,1291,154 +2017-12-11,19097.67000000029,3851,14845,1291,154 +2017-12-12,9518.670000000011,1896,10331,1291,154 +2017-12-13,15610.170000000273,3137,13689,1291,154 +2017-12-14,6003.739999999948,1944,9346,1291,154 +2017-12-15,9560.020000000062,1732,6557,1291,154 +1970-01-01,0.0,0,0,0,0 +2017-12-17,1811.5100000000054,573,3381,1291,154 +2017-12-18,2650.7099999999955,576,2473,1291,154 +2017-12-19,13254.540000000074,2032,5056,1291,154 +2017-12-20,1580.2900000000013,328,1089,1291,154 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +2018-01-01,1936.2600000000048,663,2993,1291,154 +2018-01-02,3061.269999999997,938,5603,1291,154 +2018-01-03,965.8500000000016,294,1994,1291,154 +2018-01-04,2777.019999999998,846,6108,1291,154 +2018-01-05,1893.6700000000042,533,3793,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-01-07,1969.560000000007,676,4464,1291,154 +2018-01-08,12781.810000000072,2605,7931,1291,154 +2018-01-09,3535.1299999999956,1017,4806,1291,154 +2018-01-10,7670.260000000009,1552,5034,1291,154 +2018-01-11,11974.440000000066,2141,8905,1291,154 +2018-01-12,1699.2700000000045,554,3715,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-01-14,3438.3099999999854,1116,5700,1291,154 +2018-01-15,8679.83000000001,1879,5934,1291,154 +2018-01-16,7036.980999999999,1639,7538,1291,154 +2018-01-17,4729.539999999989,1207,5001,1291,154 +2018-01-18,3402.0599999999918,1095,5824,1291,154 +2018-01-19,5207.340000000002,1186,5568,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-01-21,3918.159999999978,1231,5560,1291,154 +2018-01-22,6752.709999999972,1650,7339,1291,154 +2018-01-23,12331.510000000086,1345,5821,1291,154 +2018-01-24,6081.759999999987,1443,6878,1291,154 +2018-01-25,3580.9199999999873,1182,7277,1291,154 +2018-01-26,23937.59099999995,1207,6180,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-01-28,3462.619999999986,1244,6146,1291,154 +2018-01-29,5286.950999999987,1258,5185,1291,154 +2018-01-30,2957.8999999999896,1040,5982,1291,154 +2018-01-31,5672.7909999999865,1442,6276,1291,154 +2018-02-01,4645.71999999997,1551,7915,1291,154 +2018-02-02,4173.32999999999,1030,5383,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-02-04,2059.9800000000027,742,2761,1291,154 +2018-02-05,4642.319999999985,1204,5245,1291,154 +2018-02-06,2815.789999999997,784,4454,1291,154 +2018-02-07,3983.15999999998,861,2764,1291,154 +2018-02-08,2480.8099999999986,766,3959,1291,154 +2018-02-09,2792.809999999989,757,3570,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-02-11,3437.549999999985,1157,6119,1291,154 +2018-02-12,2084.441000000005,710,5475,1291,154 +2018-02-13,7831.599999999976,1879,8774,1291,154 +2018-02-14,2971.8899999999912,945,5964,1291,154 +2018-02-15,3905.0299999999747,1319,7601,1291,154 +2018-02-16,7938.450000000003,1634,5494,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-02-18,3171.4009999999807,931,3924,1291,154 +2018-02-19,3491.9899999999875,1070,7473,1291,154 +2018-02-20,3843.9399999999846,1092,5877,1291,154 +2018-02-21,4674.940999999984,1201,5321,1291,154 +2018-02-22,5088.36999999996,1531,9235,1291,154 +2018-02-23,7474.590999999987,999,4627,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-02-25,3800.0899999999765,1251,5318,1291,154 +2018-02-26,4292.199999999971,1162,6374,1291,154 +2018-02-27,6257.639999999987,1480,6471,1291,154 +2018-02-28,5528.219999999962,1597,8869,1291,154 +2018-03-01,7018.009999999961,1801,10659,1291,154 +2018-03-02,4574.199999999978,1133,5336,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-03-04,5884.589999999963,1675,7347,1291,154 +2018-03-05,9343.649999999949,1866,8016,1291,154 +2018-03-06,6179.929999999971,1153,6259,1291,154 +2018-03-07,5986.599999999977,1525,7997,1291,154 +2018-03-08,5351.309999999986,1295,6396,1291,154 +2018-03-09,3330.480000000002,821,4337,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-03-11,1763.770000000003,640,2621,1291,154 +2018-03-12,7081.800999999985,1550,5966,1291,154 +2018-03-13,5005.4999999999745,1335,6804,1291,154 +2018-03-14,4041.6699999999687,1226,7133,1291,154 +2018-03-15,5826.539999999972,1401,8140,1291,154 +2018-03-16,13837.489999999993,1288,6393,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-03-18,3901.469999999978,1367,6689,1291,154 +2018-03-19,6293.399999999969,1462,7552,1291,154 +2018-03-20,52280.03999999941,1265,6213,1291,154 +2018-03-21,6807.4799999999805,1391,7029,1291,154 +2018-03-22,18308.93000000013,1692,8640,1291,154 +2018-03-23,4234.210000000001,1186,5995,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-03-25,4761.22999999998,1838,9368,1291,154 +2018-03-26,8582.629999999968,1968,9488,1291,154 +2018-03-27,7089.399999999958,1799,9317,1291,154 +2018-03-28,7832.739999999961,1890,8976,1291,154 +2018-03-29,6173.909999999965,1525,7777,1291,154 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +2018-04-03,3815.87999999997,1092,5547,1291,154 +2018-04-04,4675.699999999969,1273,6649,1291,154 +2018-04-05,7155.569999999963,1963,10736,1291,154 +2018-04-06,3124.4299999999903,795,4327,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-04-08,2992.3699999999935,1030,5379,1291,154 +2018-04-09,2668.159999999992,859,5430,1291,154 +2018-04-10,4001.2199999999807,1236,5945,1291,154 +2018-04-11,3009.919999999994,986,6374,1291,154 +2018-04-12,24186.760000000093,1135,7243,1291,154 +2018-04-13,2220.370000000004,743,4618,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-04-15,4765.129999999966,1380,5849,1291,154 +2018-04-16,15214.319999999901,3002,10716,1291,154 +2018-04-17,13570.100000000068,1444,7331,1291,154 +2018-04-18,3978.8999999999737,1045,5592,1291,154 +2018-04-19,16626.530000000024,1403,8763,1291,154 +2018-04-20,5757.709999999989,1126,6472,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-04-22,4104.499999999977,1263,5678,1291,154 +2018-04-23,7792.659999999951,1788,7749,1291,154 +2018-04-24,5421.799999999966,1642,10822,1291,154 +2018-04-25,5386.8199999999815,1633,9976,1291,154 +2018-04-26,-45645.3290000005,1874,9783,1291,154 +2018-04-27,5924.339999999967,1165,5409,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-04-29,2458.2699999999963,789,4096,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-05-01,6558.5899999999865,1292,6230,1291,154 +2018-05-02,6829.629999999973,1505,7223,1291,154 +2018-05-03,5986.119999999973,1571,7929,1291,154 +2018-05-04,4065.399999999972,1318,9096,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-05-06,4560.439999999967,1584,7027,1291,154 +2018-05-07,7791.989999999982,1499,8178,1291,154 +2018-05-08,5861.499999999973,1614,9081,1291,154 +2018-05-09,4279.069999999982,1194,6764,1291,154 +2018-05-10,5160.6399999999685,1304,6709,1291,154 +2018-05-11,3824.1199999999835,939,4712,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-05-13,4511.3799999999665,1470,5261,1291,154 +2018-05-14,4783.369999999963,1403,7092,1291,154 +2018-05-15,5745.86999999996,1485,6550,1291,154 +2018-05-16,4344.929999999987,1213,6033,1291,154 +2018-05-17,6271.669999999966,1549,8774,1291,154 +2018-05-18,5391.969999999981,1166,4471,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-05-20,4210.039999999988,1221,6502,1291,154 +2018-05-21,5204.119999999982,1302,8853,1291,154 +2018-05-22,4746.969999999968,1343,7018,1291,154 +2018-05-23,7613.979999999965,1540,7472,1291,154 +2018-05-24,6246.2099999999655,2027,11086,1291,154 +2018-05-25,5509.609999999972,1245,6502,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-05-27,2380.0300000000034,804,3529,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-05-29,4108.379999999985,1190,5513,1291,154 +2018-05-30,3566.190000000006,944,4196,1291,154 +2018-05-31,6883.1399999999685,1520,7061,1291,154 +2018-06-01,7321.799999999991,1415,4896,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-06-03,6899.399999999937,2168,9717,1291,154 +2018-06-04,9096.92,2523,11491,1291,154 +2018-06-05,12488.350000000155,2070,9128,1291,154 +2018-06-06,4472.809999999973,1398,8195,1291,154 +2018-06-07,4289.949999999974,1018,5921,1291,154 +2018-06-08,14499.60000000007,1651,8868,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-06-10,4625.92999999997,1423,6985,1291,154 +2018-06-11,4963.159999999979,1457,6425,1291,154 +2018-06-12,7162.919999999975,1415,7422,1291,154 +2018-06-13,5965.73999999998,1771,9757,1291,154 +2018-06-14,73158.4499999996,1627,8007,1291,154 +2018-06-15,3865.3199999999806,894,4643,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-06-17,1507.030000000002,423,1927,1291,154 +2018-06-18,5770.819999999972,1773,8328,1291,154 +2018-06-19,3696.0299999999747,908,4422,1291,154 +2018-06-20,3835.269999999981,1068,6070,1291,154 +2018-06-21,9255.039999999963,1385,5823,1291,154 +2018-06-22,5369.149999999967,1164,5577,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-06-24,4149.529999999977,1283,5699,1291,154 +2018-06-25,5556.589999999976,1517,7847,1291,154 +2018-06-26,5379.11999999997,1447,8526,1291,154 +2018-06-27,6374.779999999964,1665,8367,1291,154 +2018-06-28,5728.9599999999555,1660,9853,1291,154 +2018-06-29,2416.829999999993,818,4463,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-07-01,2285.5500000000006,680,2640,1291,154 +2018-07-02,5926.13999999997,1778,10078,1291,154 +2018-07-03,4167.829999999997,1007,5333,1291,154 +2018-07-04,9593.009999999991,1572,7095,1291,154 +2018-07-05,3953.5799999999776,1230,6897,1291,154 +2018-07-06,3530.9699999999975,798,3621,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-07-08,2040.4600000000075,708,2533,1291,154 +2018-07-09,5161.579999999984,1142,5215,1291,154 +2018-07-10,4329.0399999999845,1027,4308,1291,154 +2018-07-11,4899.679999999967,1244,5558,1291,154 +2018-07-12,10234.439999999993,1522,8893,1291,154 +2018-07-13,4074.7899999999736,1125,6667,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-07-15,2810.9699999999975,830,4149,1291,154 +2018-07-16,-39092.100000000224,1328,7715,1291,154 +2018-07-17,4013.719999999969,1113,6516,1291,154 +2018-07-18,5547.929999999979,1190,6516,1291,154 +2018-07-19,7264.9799999999705,1579,7312,1291,154 +2018-07-20,3171.249999999985,933,5272,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-07-22,3845.7299999999796,1223,6846,1291,154 +2018-07-23,5606.48999999997,1431,7984,1291,154 +2018-07-24,3060.289999999988,844,5600,1291,154 +2018-07-25,3920.2099999999764,1253,7820,1291,154 +2018-07-26,11075.99000000001,1846,8248,1291,154 +2018-07-27,2958.209999999989,701,4246,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-07-29,2734.4899999999952,886,4113,1291,154 +2018-07-30,6417.43999999998,1174,6838,1291,154 +2018-07-31,7927.739999999962,1459,6591,1291,154 +2018-08-01,6084.149999999973,1357,7307,1291,154 +2018-08-02,3341.309999999988,1263,7491,1291,154 +2018-08-03,1803.5900000000056,533,4064,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-08-05,2509.719999999996,889,4456,1291,154 +2018-08-06,2315.1500000000046,783,4956,1291,154 +2018-08-07,7307.749999999981,1656,5995,1291,154 +2018-08-08,5391.599999999981,985,4611,1291,154 +2018-08-09,8194.369999999964,1819,9584,1291,154 +2018-08-10,5729.449999999978,1465,7773,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-08-12,2922.7399999999893,990,5663,1291,154 +2018-08-13,3474.539999999999,898,4804,1291,154 +2018-08-14,2946.2100000000014,884,5966,1291,154 +2018-08-15,5058.829999999985,1525,7881,1291,154 +2018-08-16,5068.489999999992,1365,7232,1291,154 +2018-08-17,3791.409999999988,1073,6235,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-08-19,3751.3099999999777,1279,7768,1291,154 +2018-08-20,3185.6599999999844,1030,6681,1291,154 +2018-08-21,3480.6799999999866,1086,7189,1291,154 +2018-08-22,5987.0599999999695,1546,9267,1291,154 +2018-08-23,6807.259999999983,1528,8578,1291,154 +2018-08-24,26392.430000000004,918,4261,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-08-26,2302.290000000002,812,5043,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-08-28,6222.33999999999,1558,7044,1291,154 +2018-08-29,3402.7299999999855,769,3569,1291,154 +2018-08-30,4576.01999999997,1443,8327,1291,154 +2018-08-31,3845.189999999982,995,5395,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-09-02,2013.3200000000052,720,3797,1291,154 +2018-09-03,5691.489999999962,1333,5595,1291,154 +2018-09-04,3718.6499999999905,1048,5889,1291,154 +2018-09-05,3307.469999999984,990,5739,1291,154 +2018-09-06,6463.579999999945,1335,6818,1291,154 +2018-09-07,3633.2599999999884,968,5434,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-09-09,3639.8299999999786,1245,5808,1291,154 +2018-09-10,7615.530000000002,1917,8971,1291,154 +2018-09-11,3682.249999999979,1179,6640,1291,154 +2018-09-12,3691.0499999999784,1183,6881,1291,154 +2018-09-13,30369.511000000006,1445,7790,1291,154 +2018-09-14,4271.089999999985,1015,5619,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-09-16,4999.0199999999595,1958,8958,1291,154 +2018-09-17,8397.07,1638,9056,1291,154 +2018-09-18,6889.419999999971,2204,14822,1291,154 +2018-09-19,5368.539999999977,1403,8147,1291,154 +2018-09-20,5572.229999999953,1920,12438,1291,154 +2018-09-21,9160.960000000046,1362,7638,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-09-23,4197.749999999979,1459,8364,1291,154 +2018-09-24,38898.729999999705,2035,13246,1291,154 +2018-09-25,9947.070000000125,2598,14689,1291,154 +2018-09-26,6030.539999999962,1838,12257,1291,154 +2018-09-27,14005.460000000014,1822,11802,1291,154 +2018-09-28,6509.77999999997,1567,8133,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-09-30,6550.33999999995,1994,9763,1291,154 +2018-10-01,6847.389999999986,1946,12207,1291,154 +2018-10-02,62415.039999999,2610,17363,1291,154 +2018-10-03,3808.9599999999923,1166,8900,1291,154 +2018-10-04,13757.24000000024,3415,16872,1291,154 +2018-10-05,6897.489999999975,1886,10814,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-10-07,4999.609999999954,1614,7943,1291,154 +2018-10-08,6959.239999999947,2255,12162,1291,154 +2018-10-09,7848.459999999961,2324,13713,1291,154 +2018-10-10,14631.130000000077,1881,10291,1291,154 +2018-10-11,6145.029999999997,1729,11660,1291,154 +2018-10-12,28363.94999999998,2147,11767,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-10-14,7332.469999999929,2682,12395,1291,154 +2018-10-15,10600.190000000117,2700,11695,1291,154 +2018-10-16,8188.139999999989,2104,10639,1291,154 +2018-10-17,-29762.21000000002,2417,12716,1291,154 +2018-10-18,7169.759999999963,1907,10030,1291,154 +2018-10-19,9013.59,2051,9206,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-10-21,6688.929999999943,2259,10622,1291,154 +2018-10-22,5546.12999999995,1832,9152,1291,154 +2018-10-23,6853.299999999967,2125,11526,1291,154 +2018-10-24,5263.73999999996,1518,7401,1291,154 +2018-10-25,6409.159999999979,1448,6689,1291,154 +2018-10-26,6381.699999999966,1748,10241,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-10-28,7288.899999999952,2621,11488,1291,154 +2018-10-29,9301.789999999995,2135,9042,1291,154 +2018-10-30,7548.499999999944,2169,11526,1291,154 +2018-10-31,6519.369999999966,1847,8822,1291,154 +2018-11-01,13237.570000000145,3614,18102,1291,154 +2018-11-02,6208.849999999965,1596,7708,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-11-04,7408.069999999972,2742,13217,1291,154 +2018-11-05,22800.790999999954,2447,11872,1291,154 +2018-11-06,11268.44000000021,2687,14712,1291,154 +2018-11-07,11903.620000000159,3406,15142,1291,154 +2018-11-08,12084.880000000147,3121,15701,1291,154 +2018-11-09,11694.250000000116,2792,11345,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-11-11,8128.599999999962,2849,10698,1291,154 +2018-11-12,13073.92000000016,3423,13987,1291,154 +2018-11-13,9902.540000000023,2917,14961,1291,154 +2018-11-14,10694.721000000076,2779,13869,1291,154 +2018-11-15,10349.540000000052,2767,12867,1291,154 +2018-11-16,8210.899999999974,2270,10709,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-11-18,8270.469999999928,3118,13237,1291,154 +2018-11-19,11934.310000000118,3005,11968,1291,154 +2018-11-20,13055.550000000181,3364,16559,1291,154 +2018-11-21,13489.870000000139,3313,14719,1291,154 +2018-11-22,11494.190000000186,3453,18331,1291,154 +2018-11-23,8913.589999999976,2241,10167,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-11-25,7556.879999999926,2526,9368,1291,154 +2018-11-26,15412.480000000107,3665,15547,1291,154 +2018-11-27,7165.049999999969,2192,13301,1291,154 +2018-11-28,24856.160000000204,5898,24644,1291,154 +2018-11-29,13504.960000000267,4188,26123,1291,154 +2018-11-30,20626.019999999993,4022,15815,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-12-02,14212.140000000385,4986,18131,1291,154 +2018-12-03,34715.89999999951,7638,28444,1291,154 +2018-12-04,169539.61999999883,5708,21601,1291,154 +2018-12-05,19080.82000000031,4984,24566,1291,154 +2018-12-06,27164.94000000006,5270,21446,1291,154 +2018-12-07,12300.300000000123,2629,10594,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-12-09,3874.269999999974,1403,5052,1291,154 +2018-12-10,12253.78,2257,10550,1291,154 +2018-12-11,8027.229999999973,1995,10770,1291,154 +2018-12-12,4661.809999999966,1273,8364,1291,154 +2018-12-13,5808.609999999962,1746,12139,1291,154 +2018-12-14,16826.45000000006,2816,7583,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-12-16,1454.1800000000023,480,2172,1291,154 +2018-12-17,7545.169999999974,1593,6083,1291,154 +2018-12-18,11841.350000000055,1466,4311,1291,154 +2018-12-19,1908.6700000000026,250,1284,1291,154 +2018-12-20,3570.7999999999897,870,3375,1291,154 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +2019-01-01,4228.519999999985,1170,5472,1291,154 +2019-01-02,38781.33999999977,1628,7723,1291,154 +2019-01-03,6472.1799999999685,1728,9301,1291,154 +2019-01-04,4793.459999999996,1431,7343,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-01-06,3265.8399999999883,1043,5262,1291,154 +2019-01-07,7129.169999999987,1795,7737,1291,154 +2019-01-08,4894.309999999988,1361,7034,1291,154 +2019-01-09,6943.439999999989,1687,6719,1291,154 +2019-01-10,5419.419999999999,1368,6158,1291,154 +2019-01-11,5904.009999999996,1264,5770,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-01-13,1854.5000000000043,646,2583,1291,154 +2019-01-14,9302.670000000053,2416,9277,1291,154 +2019-01-15,6132.519999999997,1362,4238,1291,154 +2019-01-16,4142.039999999984,1186,5335,1291,154 +2019-01-17,7793.719999999985,1390,5804,1291,154 +2019-01-18,6388.74,1462,6296,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-01-20,2551.5599999999936,867,3515,1291,154 +2019-01-21,5831.5399999999945,1279,5623,1291,154 +2019-01-22,6002.10999999997,1489,7725,1291,154 +2019-01-23,4654.759999999982,1088,4999,1291,154 +2019-01-24,4693.879999999992,1335,7195,1291,154 +2019-01-25,3465.6399999999844,871,4727,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-01-27,2321.7200000000016,722,2934,1291,154 +2019-01-28,5485.020000000003,1312,5712,1291,154 +2019-01-29,5015.739999999986,1445,7299,1291,154 +2019-01-30,5739.999999999981,1355,6209,1291,154 +2019-01-31,3151.920000000007,863,4802,1291,154 +2019-02-01,5757.7000000000035,1080,5191,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-02-03,799.4500000000008,279,1209,1291,154 +2019-02-04,4376.769999999985,1142,5214,1291,154 +2019-02-05,5386.590000000004,1163,4998,1291,154 +2019-02-06,3985.7600000000084,746,2852,1291,154 +2019-02-07,3358.21999999999,750,4331,1291,154 +2019-02-08,5277.9199999999855,882,4443,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-02-10,1859.3600000000054,624,2154,1291,154 +2019-02-11,3763.7599999999984,909,4308,1291,154 +2019-02-12,6739.74999999999,1111,5866,1291,154 +2019-02-13,3541.759999999981,1050,6671,1291,154 +2019-02-14,7366.910000000014,1608,7691,1291,154 +2019-02-15,2785.3199999999897,766,4408,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-02-17,2721.2899999999922,864,3472,1291,154 +2019-02-18,15973.820000000102,1102,4973,1291,154 +2019-02-19,5502.539999999975,1546,8100,1291,154 +2019-02-20,7000.900000000005,1528,7488,1291,154 +2019-02-21,4793.929999999977,1219,7477,1291,154 +2019-02-22,3224.0399999999863,911,6670,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-02-24,2391.3799999999997,797,3516,1291,154 +2019-02-25,7588.599999999985,1628,6390,1291,154 +2019-02-26,4281.159999999984,1051,5388,1291,154 +2019-02-27,3314.7999999999847,890,5734,1291,154 +2019-02-28,5017.239999999984,1222,5888,1291,154 +2019-03-01,2668.859999999988,950,5184,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-03-03,2845.039999999994,844,3385,1291,154 +2019-03-04,10432.370000000068,1905,7548,1291,154 +2019-03-05,5006.219999999979,1491,7888,1291,154 +2019-03-06,4398.749999999988,1155,6184,1291,154 +2019-03-07,3128.4899999999825,954,5514,1291,154 +2019-03-08,3440.3899999999826,873,5152,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-03-10,1320.8100000000024,519,1854,1291,154 +2019-03-11,3105.1399999999876,924,4778,1291,154 +2019-03-12,5476.629999999986,1155,5649,1291,154 +2019-03-13,2682.4699999999934,786,5237,1291,154 +2019-03-14,8037.2999999999865,1907,7885,1291,154 +2019-03-15,16580.2200000001,1259,6268,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-03-17,4735.409999999989,1388,7259,1291,154 +2019-03-18,2739.659999999995,999,6503,1291,154 +2019-03-19,9746.830000000124,2207,8437,1291,154 +2019-03-20,4356.139999999982,1185,6192,1291,154 +2019-03-21,4163.839999999966,1460,8128,1291,154 +2019-03-22,4880.169999999987,1178,5100,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-03-24,2087.310000000004,725,3132,1291,154 +2019-03-25,9035.97,1462,6583,1291,154 +2019-03-26,8698.989999999945,1852,9835,1291,154 +2019-03-27,4836.009999999977,1509,8680,1291,154 +2019-03-28,8671.509999999982,1633,7920,1291,154 +2019-03-29,3993.719999999971,1162,6706,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-03-31,1788.1600000000062,731,2723,1291,154 +2019-04-01,6172.0499999999765,1608,7418,1291,154 +2019-04-02,3566.9099999999794,1077,5684,1291,154 +2019-04-03,3592.3999999999915,1056,5315,1291,154 +2019-04-04,4232.259999999972,1382,5836,1291,154 +2019-04-05,8560.59999999999,1300,7481,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-04-07,3017.479999999987,914,3806,1291,154 +2019-04-08,3059.629999999995,1102,7459,1291,154 +2019-04-09,3524.2599999999898,1099,7897,1291,154 +2019-04-10,2762.4099999999958,985,6902,1291,154 +2019-04-11,4738.169999999965,1445,9698,1291,154 +2019-04-12,8310.720999999987,1406,6339,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-04-14,2514.740000000002,912,5080,1291,154 +2019-04-15,11835.27999999993,3178,10373,1291,154 +2019-04-16,6621.659999999987,1755,8051,1291,154 +2019-04-17,3096.9699999999966,990,7407,1291,154 +2019-04-18,8782.31,1746,8442,1291,154 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +2019-04-23,8178.899999999989,1821,8919,1291,154 +2019-04-24,4042.96999999999,1255,7357,1291,154 +2019-04-25,4442.669999999979,1114,7160,1291,154 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +2019-04-28,1218.1400000000017,419,2236,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-04-30,28102.51000000032,1323,6464,1291,154 +2019-05-01,3385.3599999999865,1081,7001,1291,154 +2019-05-02,5740.319999999961,1677,8452,1291,154 +2019-05-03,6952.629999999966,1979,10093,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-05-05,4009.0099999999734,1394,6582,1291,154 +2019-05-06,8448.499999999973,1673,8622,1291,154 +2019-05-07,15023.87000000014,2424,10134,1291,154 +2019-05-08,5432.379999999964,1556,9128,1291,154 +2019-05-09,5813.479999999974,1554,8739,1291,154 +2019-05-10,4433.499999999975,1249,7105,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-05-12,2108.4200000000033,781,3300,1291,154 +2019-05-13,20236.7000000001,1446,8094,1291,154 +2019-05-14,8802.659999999996,1705,8907,1291,154 +2019-05-15,4857.109999999973,1271,8062,1291,154 +2019-05-16,6706.61999999997,1702,9924,1291,154 +2019-05-17,3619.8999999999864,1071,7700,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-05-19,4120.029999999982,1422,8325,1291,154 +2019-05-20,5662.039999999973,1423,6912,1291,154 +2019-05-21,7171.0599999999595,1718,8306,1291,154 +2019-05-22,4045.429999999986,1199,6292,1291,154 +2019-05-23,3699.7699999999863,811,4766,1291,154 +2019-05-24,4901.589999999986,1077,5987,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-05-26,1598.000000000007,602,2389,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-05-28,4440.859999999988,1115,5345,1291,154 +2019-05-29,5588.869999999968,1381,4936,1291,154 +2019-05-30,6591.09,1401,7016,1291,154 +2019-05-31,2894.5399999999977,777,4204,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-06-02,4123.9799999999905,1345,7218,1291,154 +2019-06-03,4130.1899999999805,1088,6139,1291,154 +2019-06-04,6505.889999999971,1847,9290,1291,154 +2019-06-05,10134.770000000053,2090,10154,1291,154 +2019-06-06,6661.899999999952,1596,8993,1291,154 +2019-06-07,44136.55999999961,990,4990,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-06-09,2985.2199999999943,1048,4526,1291,154 +2019-06-10,5095.989999999984,1216,5934,1291,154 +2019-06-11,6428.1599999999835,1585,7101,1291,154 +2019-06-12,6763.239999999982,1445,6133,1291,154 +2019-06-13,4830.85999999998,1382,8617,1291,154 +2019-06-14,2340.1000000000013,771,4941,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-06-16,3093.539999999994,1062,5876,1291,154 +2019-06-17,7741.979999999985,1677,6711,1291,154 +2019-06-18,5835.829999999976,1330,6033,1291,154 +2019-06-19,2457.0100000000066,892,5964,1291,154 +2019-06-20,5968.249999999938,1849,9478,1291,154 +2019-06-21,13711.700000000017,907,5211,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-06-23,2460.380000000001,675,2423,1291,154 +2019-06-24,4466.990000000003,1126,4727,1291,154 +2019-06-25,4991.259999999991,932,5477,1291,154 +2019-06-26,4610.999999999995,1274,5702,1291,154 +2019-06-27,5128.019999999965,1487,8230,1291,154 +2019-06-28,3096.1999999999994,923,4674,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-06-30,1793.9800000000089,602,2534,1291,154 +2019-07-01,8135.050000000001,2050,7898,1291,154 +2019-07-02,9084.939999999995,2142,9667,1291,154 +2019-07-03,4832.229999999993,1690,8082,1291,154 +2019-07-04,6223.269999999956,1832,9782,1291,154 +2019-07-05,6792.049999999977,1396,6383,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-07-07,1976.1400000000062,820,2840,1291,154 +2019-07-08,3823.839999999992,1314,6871,1291,154 +2019-07-09,6185.209999999995,1547,6341,1291,154 +2019-07-10,15525.800000000025,1494,7037,1291,154 +2019-07-11,4781.369999999975,1498,7573,1291,154 +2019-07-12,3947.0899999999865,1077,4406,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-07-14,3153.549999999993,1181,5990,1291,154 +2019-07-15,26946.799999999945,2032,8065,1291,154 +2019-07-16,3879.8599999999938,1202,8592,1291,154 +2019-07-17,10670.400000000072,1916,8798,1291,154 +2019-07-18,6162.869999999998,1430,9516,1291,154 +2019-07-19,3866.320000000009,1212,6108,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-07-21,2974.189999999991,1036,6334,1291,154 +2019-07-22,7403.84999999998,1804,7985,1291,154 +2019-07-23,3888.3709999999846,1234,7348,1291,154 +2019-07-24,3477.5299999999897,1106,6028,1291,154 +2019-07-25,3967.239999999982,1277,8757,1291,154 +2019-07-26,3378.2099999999914,1056,6911,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-07-28,2656.699999999998,1093,5220,1291,154 +2019-07-29,4124.819999999979,1124,6324,1291,154 +2019-07-30,15260.120000000034,1007,5495,1291,154 +2019-07-31,4844.039999999961,1522,9187,1291,154 diff --git a/cs-train/ts-data/ts-eire.csv b/cs-train/ts-data/ts-eire.csv new file mode 100644 index 000000000..b8fc50b15 --- /dev/null +++ b/cs-train/ts-data/ts-eire.csv @@ -0,0 +1,609 @@ +date,revenue,purchases,total_views,unique_streams,unique_invoices +2017-11-28,375.99,86,545,, +1970-01-01,0.0,0,0,0.0,0.0 +2017-11-30,194.2199999999999,33,192,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2017-12-04,484.64999999999986,64,403,, +2017-12-05,97.35000000000002,30,255,, +1970-01-01,0.0,0,0,0.0,0.0 +2017-12-07,133.31,19,104,, +2017-12-08,20.9,2,7,, +1970-01-01,0.0,0,0,0.0,0.0 +2017-12-10,96.24000000000001,14,126,, +2017-12-11,17.7,5,7,, +2017-12-12,435.5799999999998,100,733,, +2017-12-13,153.41,49,359,, +2017-12-14,1606.5,2,1,, +2017-12-15,733.6000000000001,156,1132,, +1970-01-01,0.0,0,0,0.0,0.0 +2017-12-17,5.95,1,0,, +2017-12-18,77.69000000000003,35,408,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-01-01,14.0,2,4,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-01-04,466.54999999999995,163,1826,, +2018-01-05,2463.67,33,260,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-01-08,10.95,1,8,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-01-10,1874.42,3,9,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-01-16,209.52,49,320,, +2018-01-17,2277.0199999999995,8,41,, +2018-01-18,247.62999999999977,74,759,, +2018-01-19,3644.489999999998,124,930,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-01-22,146.11999999999998,23,172,, +2018-01-23,1682.4699999999998,14,13,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-01-25,182.51999999999992,62,524,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-01-28,60.800000000000004,24,254,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-01-30,1545.5800000000022,107,999,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-02-04,65.28000000000002,34,436,, +2018-02-05,865.3000000000001,23,132,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-02-11,89.69000000000003,22,215,, +2018-02-12,28.77,10,40,, +2018-02-13,138.18,53,241,, +2018-02-14,386.05,101,909,, +2018-02-15,11.549999999999999,2,5,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-02-18,178.85,39,295,, +2018-02-19,61.19,11,132,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-02-21,427.7699999999999,120,907,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-02-28,271.15999999999997,103,1088,, +2018-03-01,297.84000000000003,67,530,, +2018-03-02,11.13,17,179,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-03-06,69.25,6,14,, +2018-03-07,189.00999999999996,36,202,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-03-09,174.55999999999995,36,316,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-03-12,281.16999999999973,71,495,, +2018-03-13,3.75,1,4,, +2018-03-14,113.53000000000002,19,112,, +2018-03-15,215.43999999999988,42,328,, +2018-03-16,260.5099999999998,58,415,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-03-19,90.57000000000002,33,315,, +2018-03-20,107.75000000000001,16,100,, +2018-03-21,1972.2800000000007,31,122,, +2018-03-22,369.5299999999997,91,543,, +2018-03-23,164.94999999999996,31,222,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-03-27,365.5699999999999,81,559,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-04-04,74.54000000000002,15,122,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-04-09,153.23999999999998,51,521,, +2018-04-10,98.62000000000002,42,516,, +2018-04-11,130.95999999999998,53,526,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-04-16,384.0500000000001,101,906,, +2018-04-17,154.41000000000005,36,288,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-04-19,245.87999999999997,63,553,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-04-22,197.44999999999993,40,250,, +2018-04-23,1057.4900000000005,103,909,, +2018-04-24,12.75,1,2,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-04-26,321.02999999999975,79,620,, +2018-04-27,100.76,51,421,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-04-29,111.37000000000003,42,385,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-05-01,685.3400000000004,68,560,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-05-03,671.1200000000002,196,1355,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-05-06,625.0900000000004,165,1530,, +2018-05-07,315.7599999999998,54,356,, +2018-05-08,173.22999999999993,55,434,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-05-10,79.69000000000001,24,281,, +2018-05-11,10.15,2,4,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-05-14,191.9,56,415,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-05-16,8.44,2,2,, +2018-05-17,226.84999999999994,28,180,, +2018-05-18,134.95000000000002,24,202,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-05-21,138.22000000000006,30,243,, +2018-05-22,5.55,1,2,, +2018-05-23,266.06000000000006,69,509,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-05-31,229.22999999999996,74,724,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-06-07,3.9,2,7,, +2018-06-08,316.88999999999993,70,563,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-06-11,651.0800000000002,144,1156,, +2018-06-12,126.85000000000001,50,532,, +2018-06-13,77.2,7,36,, +2018-06-14,171.75000000000006,50,332,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-06-17,29.119999999999997,5,72,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-06-19,70.15,12,130,, +2018-06-20,487.23999999999984,83,546,, +2018-06-21,194.44999999999996,36,237,, +2018-06-22,208.76999999999998,40,271,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-06-26,34.8,7,50,, +2018-06-27,530.9499999999998,71,467,, +2018-06-28,141.82999999999998,55,443,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-07-02,104.25,13,137,, +2018-07-03,32.95,17,183,, +2018-07-04,320.55999999999983,108,971,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-07-06,345.71,102,891,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-07-09,258.7099999999999,41,304,, +2018-07-10,336.8300000000001,90,734,, +2018-07-11,350.4599999999999,82,691,, +2018-07-12,23.37,9,107,, +2018-07-13,252.65,54,442,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-07-15,137.6,20,139,, +2018-07-16,8.5,1,1,, +2018-07-17,189.99999999999994,32,254,, +2018-07-18,12.8,1,2,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-07-22,36.25,8,23,, +2018-07-23,1276.02,11,81,, +2018-07-24,112.54,17,161,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-07-26,29.95,1,3,, +2018-07-27,108.52000000000001,33,246,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-07-31,196.14999999999995,59,535,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-08-02,314.57999999999987,77,322,, +2018-08-03,8.5,1,1,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-08-05,55.60000000000001,21,206,, +2018-08-06,115.65,16,108,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-08-08,77.27,2,3,, +2018-08-09,68.3,25,190,, +2018-08-10,136.09,28,194,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-08-12,327.73,73,660,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-08-15,179.14,69,815,, +2018-08-16,203.11,36,273,, +2018-08-17,357.2699999999999,67,514,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-08-19,139.92,52,451,, +2018-08-20,163.31999999999994,48,361,, +2018-08-21,89.99000000000001,14,116,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-08-23,135.26999999999998,25,175,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-08-28,292.33999999999986,67,498,, +2018-08-29,1.45,1,0,, +2018-08-30,123.5,30,180,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-02,152.36999999999995,50,429,, +2018-09-03,130.5,20,114,, +2018-09-04,108.39000000000006,52,493,, +2018-09-05,417.84999999999985,66,461,, +2018-09-06,2.17,2,4,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-09,6.38,5,30,, +2018-09-10,128.74,39,410,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-12,63.00000000000002,26,368,, +2018-09-13,245.81999999999996,63,462,, +2018-09-14,1.65,1,2,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-17,771.7800000000007,95,867,, +2018-09-18,260.76999999999987,100,1008,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-20,123.94000000000003,29,267,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-23,81.30000000000003,11,68,, +2018-09-24,573.8700000000002,171,1350,, +2018-09-25,317.38999999999976,102,929,, +2018-09-26,1632.0200000000002,35,253,, +2018-09-27,2798.71,113,1010,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-30,652.2100000000005,240,2558,, +2018-10-01,111.70000000000002,13,81,, +2018-10-02,5022.74,29,243,, +2018-10-03,223.35000000000002,39,314,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-10-05,178.7199999999999,29,183,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-10-08,176.32999999999987,55,372,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-10-10,212.94999999999996,26,120,, +2018-10-11,600.2600000000002,164,1314,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-10-14,300.9999999999998,63,518,, +2018-10-15,418.5499999999998,78,531,, +2018-10-16,283.5499999999999,73,548,, +2018-10-17,103.72000000000001,18,125,, +2018-10-18,679.7200000000003,156,1512,, +2018-10-19,1868.9200000000008,53,310,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-10-22,220.82000000000002,54,435,, +2018-10-23,520.0199999999998,130,1146,, +2018-10-24,429.8799999999996,150,1521,, +2018-10-25,8086.08,77,602,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-10-29,189.82999999999993,48,412,, +2018-10-30,20.25,6,11,, +2018-10-31,362.57999999999976,73,580,, +2018-11-01,111.19000000000004,40,388,, +2018-11-02,394.91999999999996,104,947,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-04,57.32000000000001,17,149,, +2018-11-05,183.44000000000005,39,344,, +2018-11-06,267.00999999999993,81,765,, +2018-11-07,118.24999999999997,48,433,, +2018-11-08,9.95,1,3,, +2018-11-09,313.4099999999999,51,489,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-12,956.5100000000016,262,1982,, +2018-11-13,356.88,94,845,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-15,243.71999999999994,64,609,, +2018-11-16,210.29999999999998,35,223,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-18,205.92,30,205,, +2018-11-19,77.25000000000001,7,60,, +2018-11-20,257.96,39,293,, +2018-11-21,39.4,4,8,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-23,182.33999999999992,41,348,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-26,282.53999999999996,37,252,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-28,267.28,42,345,, +2018-11-29,22.5,6,23,, +2018-11-30,677.5200000000009,170,1481,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-12-03,430.79999999999984,72,639,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-12-06,339.2999999999998,64,435,, +2018-12-07,240.3499999999999,51,333,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-12-13,88.61000000000001,23,207,, +2018-12-14,352.75999999999993,68,570,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-12-16,112.75000000000001,18,130,, +2018-12-17,86.81000000000002,21,46,, +2018-12-18,127.4,29,192,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-12-20,95.75,16,111,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-01-02,89.77,15,40,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-01-06,83.70000000000002,13,85,, +2019-01-07,3.75,1,3,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-01-11,128.18999999999994,41,425,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-01-15,73.67,10,105,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-01-17,66.35,21,241,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-01-21,145.19,15,47,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-01-23,124.07000000000005,52,497,, +2019-01-24,139.92000000000002,21,161,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-01-29,140.36000000000004,45,372,, +2019-01-30,3.75,1,4,, +2019-01-31,222.80999999999995,40,254,, +2019-02-01,106.05,13,75,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-02-05,19.9,2,3,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-02-11,339.6899999999998,114,1125,, +2019-02-12,364.22999999999996,133,708,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-02-14,91.24000000000001,14,87,, +2019-02-15,82.50000000000001,10,61,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-02-18,159.76999999999998,47,380,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-02-20,88.07,15,161,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-02-22,25.0,6,14,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-02-26,25.0,6,66,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-02-28,0.85,1,2,, +2019-03-01,235.9699999999999,75,671,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-07,255.5699999999998,63,686,, +2019-03-08,6748.68,4,9,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-11,448.10999999999984,102,707,, +2019-03-12,389.9399999999997,96,920,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-14,81.44,26,303,, +2019-03-15,211.11999999999995,44,259,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-17,79.19999999999999,11,73,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-21,106.2,16,114,, +2019-03-22,118.91000000000003,43,359,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-24,24.79,3,5,, +2019-03-25,167.63999999999993,39,357,, +2019-03-26,126.50000000000001,27,227,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-28,79.39999999999999,9,45,, +2019-03-29,231.62999999999988,67,537,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-04-01,141.14,29,239,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-04-03,177.4699999999999,65,541,, +2019-04-04,139.57,33,286,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-04-08,218.69,61,457,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-04-14,168.14000000000004,25,135,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-04-16,93.71000000000002,21,196,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-04-24,58.5,5,46,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-04-30,289.30999999999983,68,482,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-05-02,115.22999999999999,24,194,, +2019-05-03,75.37,20,201,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-05-05,154.83,49,386,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-05-07,146.04999999999998,38,289,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-05-12,142.29000000000002,18,130,, +2019-05-13,525.5799999999997,138,1163,, +2019-05-14,223.87,50,319,, +2019-05-15,238.57999999999987,60,440,, +2019-05-16,262.8999999999999,46,368,, +2019-05-17,133.43999999999997,23,173,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-05-20,210.5599999999999,52,380,, +2019-05-21,14.45,2,6,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-05-23,124.14000000000001,29,233,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-05-29,7.5,1,1,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-06-03,221.2,45,297,, +2019-06-04,78.69,13,142,, +2019-06-05,123.75000000000001,65,711,, +2019-06-06,228.89000000000001,48,432,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-06-10,139.06999999999996,42,322,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-06-12,67.92000000000002,31,367,, +2019-06-13,187.93999999999994,33,223,, +2019-06-14,183.43,33,272,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-06-16,115.07000000000001,14,70,, +2019-06-17,6266.24,4,8,, +2019-06-18,178.92000000000004,43,76,, +2019-06-19,217.27000000000004,47,414,, +2019-06-20,114.80000000000001,22,158,, +2019-06-21,1325.0900000000001,73,646,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-06-24,178.44,46,327,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-06-26,253.6699999999999,80,709,, +2019-06-27,92.16000000000003,30,237,, +2019-06-28,295.20999999999987,55,440,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-07-01,225.8299999999999,56,457,, +2019-07-02,137.5,7,21,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-07-05,12.75,1,2,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-07-11,359.1899999999998,76,578,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-07-15,146.98000000000005,85,817,, +2019-07-16,596.6899999999999,158,1595,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-07-18,204.04999999999993,41,431,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-07-23,73.02000000000001,10,85,, +2019-07-24,47.61999999999999,24,272,, +2019-07-25,375.1499999999998,80,754,, +2019-07-26,95.19,25,220,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-07-28,205.83999999999966,99,1007,, diff --git a/cs-train/ts-data/ts-france.csv b/cs-train/ts-data/ts-france.csv new file mode 100644 index 000000000..71425db57 --- /dev/null +++ b/cs-train/ts-data/ts-france.csv @@ -0,0 +1,612 @@ +date,revenue,purchases,total_views,unique_streams,unique_invoices +2017-11-28,134.25,41,343,, +2017-11-29,120.02000000000002,29,240,, +2017-11-30,98.15000000000002,31,121,, +2017-12-01,184.72999999999993,32,184,, +1970-01-01,0.0,0,0,0.0,0.0 +2017-12-03,76.38,23,227,, +2017-12-04,14.96,6,55,, +2017-12-05,179.6,36,141,, +1970-01-01,0.0,0,0,0.0,0.0 +2017-12-07,32.2,8,12,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2017-12-10,237.2199999999999,76,645,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2017-12-17,81.32999999999998,46,498,, +2017-12-18,41.5,9,58,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-01-04,55.99,38,495,, +2018-01-05,501.1899999999998,125,1210,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-01-10,490.6199999999999,44,306,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-01-16,249.65999999999988,75,592,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-01-23,121.66,29,273,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-01-28,45.910000000000004,25,264,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-01-31,99.84000000000002,29,266,, +2018-02-01,51.0,1,1,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-02-04,106.14999999999999,50,476,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-02-06,384.0299999999997,159,1558,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-02-08,305.1499999999998,68,473,, +2018-02-09,112.49000000000001,18,152,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-02-19,1.25,1,2,, +2018-02-20,223.2799999999999,57,494,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-02-22,58.15,20,204,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-02-26,92.27999999999999,37,336,, +2018-02-27,291.81000000000006,68,545,, +2018-02-28,68.93,21,161,, +2018-03-01,40.65000000000001,12,106,, +2018-03-02,65.79,19,164,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-03-05,11.500000000000002,4,9,, +2018-03-06,145.36999999999995,45,391,, +2018-03-07,12.7,4,8,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-03-09,109.45000000000005,27,143,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-03-12,131.40999999999997,50,456,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-03-15,168.37999999999988,61,505,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-03-21,102.56999999999998,33,344,, +2018-03-22,26.620000000000005,10,100,, +2018-03-23,24.8,4,4,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-03-27,12.399999999999999,4,11,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-03-29,60.1,26,271,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-04-04,19.080000000000002,9,87,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-04-06,96.05000000000001,25,211,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-04-11,196.16000000000003,53,437,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-04-13,2.76,5,72,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-04-18,135.87,49,429,, +2018-04-19,3.38,2,8,, +2018-04-20,61.7,12,60,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-04-25,178.12000000000006,69,679,, +2018-04-26,12.15,3,10,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-05-03,465.52000000000004,174,1833,, +2018-05-04,133.74999999999997,47,445,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-05-07,40.36,15,115,, +2018-05-08,53.410000000000004,27,283,, +2018-05-09,62.489999999999995,20,163,, +2018-05-10,106.87999999999998,35,295,, +2018-05-11,4.6,2,5,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-05-13,63.2,21,234,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-05-16,4.2,2,7,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-05-18,49.65,12,133,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-05-23,270.0799999999999,73,506,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-05-25,3.8000000000000003,4,24,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-05-29,23.8,10,92,, +2018-05-30,84.14999999999999,20,154,, +2018-05-31,109.41000000000001,29,245,, +2018-06-01,52.620000000000005,16,100,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-06-03,90.04000000000003,32,311,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-06-06,22.0,5,57,, +2018-06-07,131.89,34,276,, +2018-06-08,119.68999999999998,37,355,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-06-11,123.31000000000002,41,404,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-06-14,140.59000000000006,72,712,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-06-19,88.99999999999999,35,295,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-06-21,79.63000000000002,23,206,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-06-26,187.23999999999992,52,423,, +2018-06-27,95.88,39,415,, +2018-06-28,83.08,23,158,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-07-02,92.11999999999998,39,353,, +2018-07-03,15.55,6,74,, +2018-07-04,53.5,16,172,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-07-12,210.39999999999998,57,481,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-07-18,10.45,3,5,, +2018-07-19,53.709999999999994,23,253,, +2018-07-20,162.40999999999988,53,552,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-07-22,36.61,8,69,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-07-24,138.21000000000004,76,210,, +2018-07-25,139.50000000000006,37,397,, +2018-07-26,3871.4,20,135,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-08-01,34.150000000000006,10,98,, +2018-08-02,42.15,8,20,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-08-06,160.85000000000002,84,943,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-08-12,31.559999999999995,10,101,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-08-20,32.69,22,270,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-08-22,308.36999999999983,72,528,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-08-28,39.08,17,121,, +2018-08-29,38.550000000000004,9,14,, +2018-08-30,2507.3499999999995,81,638,, +2018-08-31,156.85000000000002,45,356,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-02,27.05,8,90,, +2018-09-03,59.34000000000001,24,230,, +2018-09-04,52.34,17,143,, +2018-09-05,52.59,15,128,, +2018-09-06,521.8099999999997,179,1563,, +2018-09-07,32.65,3,7,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-10,22.7,2,5,, +2018-09-11,120.99000000000002,35,313,, +2018-09-12,18.0,1,1,, +2018-09-13,21.35,4,41,, +2018-09-14,4.95,1,0,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-17,84.11,14,88,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-19,98.3,36,302,, +2018-09-20,169.39999999999995,60,711,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-25,6.809999999999999,45,79,, +2018-09-26,3.4,2,5,, +2018-09-27,90.34000000000002,33,311,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-30,102.92,42,472,, +2018-10-01,56.11,27,262,, +2018-10-02,60.8,10,83,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-10-07,122.27000000000001,47,424,, +2018-10-08,212.5699999999999,92,851,, +2018-10-09,248.56999999999994,50,359,, +2018-10-10,129.42999999999998,43,431,, +2018-10-11,320.88999999999976,133,1038,, +2018-10-12,99.91,27,214,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-10-17,60.059999999999995,16,151,, +2018-10-18,11.399999999999999,2,1,, +2018-10-19,181.48999999999992,52,472,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-10-21,211.1,92,293,, +2018-10-22,16.549999999999997,3,7,, +2018-10-23,131.74000000000004,68,281,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-10-26,12.55,5,31,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-10-29,7.5,2,3,, +2018-10-30,85.85000000000001,30,306,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-04,109.89,31,252,, +2018-11-05,19.299999999999997,4,6,, +2018-11-06,405.5199999999996,109,947,, +2018-11-07,49.849999999999994,10,93,, +2018-11-08,228.58999999999986,101,302,, +2018-11-09,37.86000000000001,21,144,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-11,13.35,14,145,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-13,361.4899999999998,118,1074,, +2018-11-14,29.82,12,123,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-16,613.5899999999999,139,1261,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-18,186.55999999999995,54,336,, +2018-11-19,196.49999999999986,79,754,, +2018-11-20,206.52999999999977,124,455,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-23,318.2200000000001,112,914,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-26,33.25,18,164,, +2018-11-27,60.85,11,64,, +2018-11-28,110.58000000000001,40,534,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-30,179.7599999999999,46,414,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-12-02,574.3800000000001,126,918,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-12-04,364.88000000000017,122,1035,, +2018-12-05,81.42000000000002,22,153,, +2018-12-06,588.66,186,1751,, +2018-12-07,58.5,16,156,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-12-12,117.72000000000007,67,134,, +2018-12-13,6.25,3,9,, +2018-12-14,56.09,11,100,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-12-17,188.83,62,549,, +2018-12-18,175.39,5,26,, +2018-12-19,4.74,4,80,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-01-02,255.27999999999992,76,655,, +2019-01-03,235.54999999999993,47,315,, +2019-01-04,155.81,37,296,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-01-06,20.2,9,78,, +2019-01-07,148.73,50,466,, +2019-01-08,128.14,30,253,, +2019-01-09,241.26999999999992,63,532,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-01-11,224.52999999999986,91,891,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-01-14,74.83000000000001,21,241,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-01-16,96.66,31,289,, +2019-01-17,227.81999999999996,73,649,, +2019-01-18,5.45,3,6,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-01-20,60.4,12,90,, +2019-01-21,20.549999999999997,9,79,, +2019-01-22,24.75,4,9,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-01-24,5.45,3,6,, +2019-01-25,239.79999999999984,51,372,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-01-28,188.76999999999992,65,637,, +2019-01-29,82.05000000000001,19,165,, +2019-01-30,108.49000000000002,29,280,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-02-01,157.94,63,570,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-02-05,30.590000000000003,14,139,, +2019-02-06,86.13,27,234,, +2019-02-07,28.709999999999997,13,146,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-02-11,0.42,1,1,, +2019-02-12,63.2,12,102,, +2019-02-13,91.31999999999998,49,538,, +2019-02-14,57.70000000000001,16,116,, +2019-02-15,130.38,55,579,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-02-18,151.42999999999995,41,320,, +2019-02-19,7.9,3,1,, +2019-02-20,49.33,21,245,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-02-24,23.85,5,50,, +2019-02-25,215.39999999999995,58,462,, +2019-02-26,184.88999999999993,59,497,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-02-28,104.76000000000003,30,273,, +2019-03-01,66.85,16,114,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-04,0.85,1,0,, +2019-03-05,13.85,3,8,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-08,94.95,20,179,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-10,53.820000000000014,18,160,, +2019-03-11,92.10000000000001,21,166,, +2019-03-12,76.27000000000001,30,272,, +2019-03-13,79.34,16,113,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-17,30.78000000000001,15,154,, +2019-03-18,90.16000000000001,44,90,, +2019-03-19,125.74000000000001,31,201,, +2019-03-20,223.01999999999998,74,687,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-22,63.21,23,210,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-24,63.05,8,53,, +2019-03-25,156.6899999999999,69,684,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-28,214.68999999999988,72,718,, +2019-03-29,32.22,13,138,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-04-01,217.70000000000002,28,212,, +2019-04-02,2272.6,2,3,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-04-04,90.29999999999998,24,185,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-04-08,12.75,1,2,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-04-11,143.15999999999997,32,241,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-04-14,91.69000000000001,31,265,, +2019-04-15,12.25,2,2,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-04-17,76.05000000000001,18,148,, +2019-04-18,146.05,45,255,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-04-23,58.70000000000001,28,84,, +2019-04-24,5.95,1,2,, +2019-04-25,37.85,8,64,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-04-30,153.97000000000003,52,518,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-05-02,38.60000000000001,11,100,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-05-05,152.96,63,642,, +2019-05-06,82.82,28,266,, +2019-05-07,57.40000000000001,30,298,, +2019-05-08,381.23999999999995,98,648,, +2019-05-09,51.84000000000001,12,93,, +2019-05-10,204.94000000000003,53,445,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-05-12,26.650000000000006,10,122,, +2019-05-13,135.34,25,227,, +2019-05-14,136.61,45,433,, +2019-05-15,160.59000000000006,28,233,, +2019-05-16,154.96000000000004,52,439,, +2019-05-17,99.75000000000003,16,124,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-05-19,208.3299999999999,45,292,, +2019-05-20,43.85000000000001,20,204,, +2019-05-21,42.72999999999999,13,112,, +2019-05-22,215.97000000000006,62,560,, +2019-05-23,94.5,25,240,, +2019-05-24,81.10999999999997,21,157,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-05-28,81.46,19,153,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-06-02,246.73999999999995,69,723,, +2019-06-03,70.4,18,115,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-06-05,217.47000000000006,98,832,, +2019-06-06,182.18999999999997,56,449,, +2019-06-07,23.1,3,38,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-06-09,36.41,14,116,, +2019-06-10,379.26999999999987,97,800,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-06-12,266.8299999999999,78,625,, +2019-06-13,73.47999999999999,28,261,, +2019-06-14,101.18999999999998,24,221,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-06-16,28.32999999999999,7,63,, +2019-06-17,88.09000000000003,22,207,, +2019-06-18,40.86,12,108,, +2019-06-19,90.12,34,312,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-06-21,84.15,31,317,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-06-24,33.749999999999986,10,98,, +2019-06-25,26.619999999999997,8,84,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-06-27,1.25,1,4,, +2019-06-28,79.74999999999997,26,252,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-07-01,46.43000000000001,16,180,, +2019-07-02,118.35000000000001,33,286,, +2019-07-03,153.84000000000003,60,487,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-07-05,207.43,66,523,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-07-08,132.39000000000001,32,217,, +2019-07-09,256.95999999999987,71,524,, +2019-07-10,159.4,10,114,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-07-14,33.05,6,47,, +2019-07-15,132.25000000000003,42,448,, +2019-07-16,28.7,5,33,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-07-18,29.7,2,5,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-07-21,60.52,24,223,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-07-24,50.74,13,106,, +2019-07-25,29.7,2,6,, +2019-07-26,104.3,45,411,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-07-30,8.25,5,52,, +2019-07-31,27.71,8,77,, diff --git a/cs-train/ts-data/ts-germany.csv b/cs-train/ts-data/ts-germany.csv new file mode 100644 index 000000000..972766f31 --- /dev/null +++ b/cs-train/ts-data/ts-germany.csv @@ -0,0 +1,612 @@ +date,revenue,purchases,total_views,unique_streams,unique_invoices +2017-11-28,139.02999999999997,44,367,, +2017-11-29,4.6,2,5,, +2017-11-30,12.850000000000001,3,2,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2017-12-03,49.2,13,98,, +2017-12-04,151.98000000000002,44,444,, +1970-01-01,0.0,0,0,0.0,0.0 +2017-12-06,376.69999999999993,44,422,, +1970-01-01,0.0,0,0,0.0,0.0 +2017-12-08,13.350000000000001,5,13,, +1970-01-01,0.0,0,0,0.0,0.0 +2017-12-10,30.32,4,34,, +2017-12-11,489.39000000000004,190,1724,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2017-12-14,3.25,1,1,, +2017-12-15,105.39000000000001,23,109,, +1970-01-01,0.0,0,0,0.0,0.0 +2017-12-17,66.0,17,134,, +2017-12-18,76.67999999999999,25,273,, +1970-01-01,0.0,0,0,0.0,0.0 +2017-12-20,7.049999999999999,5,10,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-01-01,16.29,3,8,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-01-04,47.55,14,66,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-01-08,111.49000000000001,34,213,, +2018-01-09,259.4499999999999,89,871,, +2018-01-10,144.57,40,347,, +2018-01-11,154.91999999999996,47,334,, +2018-01-12,23.27,8,26,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-01-15,6.7,2,6,, +2018-01-16,3.6399999999999997,2,4,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-01-19,352.3099999999999,131,1161,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-01-21,104.06999999999998,40,332,, +2018-01-22,34.7,11,22,, +2018-01-23,408.53,86,841,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-01-25,32.75,9,20,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-01-28,288.77999999999975,99,757,, +2018-01-29,126.26000000000003,39,365,, +2018-01-30,0.85,1,3,, +2018-01-31,5.299999999999999,4,30,, +2018-02-01,48.38000000000001,17,152,, +2018-02-02,154.82999999999998,47,173,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-02-04,43.1,7,43,, +2018-02-05,212.96999999999986,60,490,, +2018-02-06,277.8099999999999,90,780,, +2018-02-07,53.260000000000005,15,126,, +2018-02-08,41.8,17,138,, +2018-02-09,103.81999999999998,48,427,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-02-12,161.71999999999994,50,321,, +2018-02-13,10.85,3,6,, +2018-02-14,1.7,2,4,, +2018-02-15,20.560000000000002,10,102,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-02-19,3.75,1,2,, +2018-02-20,79.64999999999999,26,157,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-02-22,70.58,10,64,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-02-25,127.30000000000001,36,290,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-02-27,71.40000000000002,17,118,, +2018-02-28,87.22,29,180,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-03-02,127.99999999999997,31,311,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-03-04,348.3199999999999,127,1077,, +2018-03-05,105.00999999999999,30,233,, +2018-03-06,181.36999999999995,8,43,, +2018-03-07,81.4,23,173,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-03-09,1.95,1,2,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-03-12,42.1,8,54,, +2018-03-13,175.73,54,371,, +2018-03-14,106.4,38,519,, +2018-03-15,155.65999999999997,53,496,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-03-19,142.02999999999997,42,340,, +2018-03-20,11.45,3,6,, +2018-03-21,25.39,7,87,, +2018-03-22,152.20000000000002,34,298,, +2018-03-23,377.1300000000001,109,792,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-03-26,2.1,1,3,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-03-28,29.549999999999997,5,3,, +2018-03-29,361.7299999999999,123,1048,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-04-04,79.94999999999999,32,302,, +2018-04-05,72.35000000000001,38,125,, +2018-04-06,213.88999999999993,81,733,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-04-08,120.31000000000002,59,730,, +2018-04-09,431.641,47,415,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-04-11,120.09000000000002,36,312,, +2018-04-12,41.97,19,192,, +2018-04-13,94.07000000000001,21,131,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-04-16,49.83000000000001,25,252,, +2018-04-17,154.33999999999997,40,268,, +2018-04-18,183.82000000000002,58,659,, +2018-04-19,164.9200000000001,55,465,, +2018-04-20,49.69,10,25,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-04-22,101.20000000000002,36,305,, +2018-04-23,245.22999999999993,71,710,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-04-25,81.60000000000001,16,111,, +2018-04-26,14.850000000000001,3,6,, +2018-04-27,84.05000000000003,19,151,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-04-29,48.45,10,96,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-05-01,35.4,8,15,, +2018-05-02,63.03999999999999,22,209,, +2018-05-03,182.80999999999997,48,463,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-05-07,16.15,3,11,, +2018-05-08,58.540000000000006,7,49,, +2018-05-09,88.61000000000003,34,297,, +2018-05-10,62.24000000000001,19,176,, +2018-05-11,25.62,9,23,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-05-14,104.22000000000001,29,256,, +2018-05-15,83.05000000000001,16,120,, +2018-05-16,10.95,1,4,, +2018-05-17,83.02000000000001,21,121,, +2018-05-18,301.1099999999998,76,558,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-05-20,47.750000000000014,16,137,, +2018-05-21,35.38,14,139,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-05-23,20.5,3,8,, +2018-05-24,60.95,10,73,, +2018-05-25,88.38,37,337,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-05-29,101.39000000000001,24,129,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-06-01,78.78000000000002,30,294,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-06-03,44.900000000000006,20,279,, +2018-06-04,364.34999999999974,100,825,, +2018-06-05,358.1499999999999,22,203,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-06-07,35.32,15,136,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-06-10,76.32000000000002,23,147,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-06-12,247.48999999999978,103,1072,, +2018-06-13,105.43,43,374,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-06-17,47.769999999999996,12,138,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-06-21,161.19,92,926,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-06-25,98.77999999999999,43,237,, +2018-06-26,137.60000000000002,36,345,, +2018-06-27,248.67999999999995,65,568,, +2018-06-28,161.35999999999999,47,416,, +2018-06-29,771.5700000000002,223,1823,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-07-02,159.80999999999995,37,253,, +2018-07-03,256.79999999999995,53,249,, +2018-07-04,42.79000000000002,21,236,, +2018-07-05,2329.6800000000026,81,779,, +2018-07-06,39.260000000000005,13,89,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-07-09,82.21000000000001,33,328,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-07-11,11.2,2,3,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-07-13,102.81000000000002,40,483,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-07-15,117.19000000000003,59,661,, +2018-07-16,47.339999999999996,8,33,, +2018-07-17,87.33999999999999,27,215,, +2018-07-18,203.64999999999995,73,675,, +2018-07-19,4.95,1,1,, +2018-07-20,156.94999999999993,48,389,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-07-23,302.95999999999987,71,488,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-07-26,84.4,28,214,, +2018-07-27,2.55,1,2,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-07-30,32.839999999999996,13,131,, +2018-07-31,65.78000000000002,22,215,, +2018-08-01,50.85,18,217,, +2018-08-02,61.69999999999999,18,149,, +2018-08-03,153.26000000000002,47,369,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-08-06,3.4,2,5,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-08-08,119.51,26,150,, +2018-08-09,4.75,3,2,, +2018-08-10,9.2,2,5,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-08-13,50.08000000000001,24,254,, +2018-08-14,67.35000000000001,21,190,, +2018-08-15,111.32,35,298,, +2018-08-16,90.4,24,225,, +2018-08-17,87.03000000000002,25,184,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-08-19,70.65,23,223,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-08-21,136.09999999999997,53,456,, +2018-08-22,132.69,32,245,, +2018-08-23,104.95000000000003,21,168,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-08-28,95.14,27,214,, +2018-08-29,168.23,65,545,, +2018-08-30,18.85,2,15,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-02,65.67,27,266,, +2018-09-03,26.700000000000003,5,26,, +2018-09-04,46.169999999999995,14,126,, +2018-09-05,61.519999999999996,18,188,, +2018-09-06,185.14000000000001,68,605,, +2018-09-07,115.57000000000001,35,300,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-10,120.49000000000002,31,273,, +2018-09-11,240.94,48,345,, +2018-09-12,249.53999999999976,94,1100,, +2018-09-13,53.62,16,51,, +2018-09-14,59.44000000000002,21,199,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-17,113.36000000000001,39,343,, +2018-09-18,101.79000000000002,34,294,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-24,124.32000000000006,44,446,, +2018-09-25,235.8299999999999,62,453,, +2018-09-26,14.899999999999999,2,3,, +2018-09-27,266.96999999999986,104,1001,, +2018-09-28,159.96999999999994,33,188,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-30,45.04,7,63,, +2018-10-01,166.18999999999997,70,702,, +2018-10-02,196.39999999999998,59,466,, +2018-10-03,307.36999999999983,92,724,, +2018-10-04,101.13,30,169,, +2018-10-05,164.14999999999998,44,357,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-10-09,194.24999999999991,80,799,, +2018-10-10,122.05000000000001,23,135,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-10-12,139.89,25,199,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-10-15,175.46000000000004,52,437,, +2018-10-16,273.6299999999999,76,780,, +2018-10-17,74.08000000000001,14,105,, +2018-10-18,36.85,4,10,, +2018-10-19,70.24000000000001,26,250,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-10-21,107.81000000000002,42,388,, +2018-10-22,68.42000000000002,17,196,, +2018-10-23,183.14000000000001,56,534,, +2018-10-24,23.490000000000002,3,7,, +2018-10-25,1.95,1,4,, +2018-10-26,299.2699999999998,113,1058,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-10-28,138.55,29,211,, +2018-10-29,69.99999999999999,22,204,, +2018-10-30,254.07999999999984,57,408,, +2018-10-31,96.35000000000002,32,248,, +2018-11-01,68.81000000000002,34,343,, +2018-11-02,498.7199999999996,131,1118,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-04,106.56000000000002,35,303,, +2018-11-05,242.49000000000004,69,672,, +2018-11-06,33.75,7,17,, +2018-11-07,109.49999999999999,24,166,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-09,341.80999999999995,88,733,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-12,150.56000000000003,46,419,, +2018-11-13,132.57000000000002,33,255,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-15,115.81000000000002,25,216,, +2018-11-16,134.4,22,123,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-18,141.30999999999997,39,333,, +2018-11-19,217.54999999999995,60,496,, +2018-11-20,53.57,13,88,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-23,312.57999999999976,74,615,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-25,273.19999999999976,83,764,, +2018-11-26,29.9,3,25,, +2018-11-27,302.0699999999998,106,946,, +2018-11-28,187.63999999999996,58,353,, +2018-11-29,103.89999999999999,24,174,, +2018-11-30,231.68,42,317,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-12-02,747.1600000000011,238,2260,, +2018-12-03,113.66,30,181,, +2018-12-04,220.49999999999994,34,224,, +2018-12-05,89.3,16,159,, +2018-12-06,328.35999999999996,80,583,, +2018-12-07,158.30999999999997,48,518,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-12-10,37.35,6,12,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-12-12,31.3,6,12,, +2018-12-13,1.65,1,4,, +2018-12-14,512.7999999999997,115,1083,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-12-16,73.26,24,240,, +2018-12-17,120.27,27,114,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-12-20,235.62999999999997,77,707,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-01-02,71.49000000000001,17,33,, +2019-01-03,1.65,1,4,, +2019-01-04,635.9399999999997,228,1966,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-01-07,83.58999999999999,22,166,, +2019-01-08,29.91,9,87,, +2019-01-09,50.95,12,74,, +2019-01-10,46.00000000000001,7,58,, +2019-01-11,162.07999999999998,32,218,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-01-14,256.6099999999998,76,542,, +2019-01-15,29.390000000000008,10,83,, +2019-01-16,20.5,3,31,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-01-18,19.599999999999998,6,8,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-01-21,253.04999999999973,82,805,, +2019-01-22,221.33999999999983,83,746,, +2019-01-23,159.95000000000002,64,630,, +2019-01-24,159.33,42,334,, +2019-01-25,27.830000000000002,11,9,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-01-28,477.94999999999993,121,884,, +2019-01-29,93.25000000000001,15,70,, +2019-01-30,14.85,2,4,, +2019-01-31,211.84999999999994,48,350,, +2019-02-01,44.95,4,12,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-02-04,36.49,15,34,, +2019-02-05,80.33999999999999,15,27,, +2019-02-06,33.31,13,138,, +2019-02-07,75.53,22,193,, +2019-02-08,257.9999999999999,58,489,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-02-11,140.78,41,326,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-02-14,71.41,16,112,, +2019-02-15,7.4,5,70,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-02-18,143.87000000000003,35,346,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-02-20,51.74000000000001,14,128,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-02-22,166.20000000000005,47,420,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-02-26,38.73,14,139,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-02-28,96.26000000000002,28,256,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-04,207.03999999999994,47,302,, +2019-03-05,199.65999999999985,50,408,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-08,191.66999999999993,62,521,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-11,16.4,3,7,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-13,85.05000000000001,11,50,, +2019-03-14,229.88999999999996,64,584,, +2019-03-15,255.62999999999982,76,713,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-17,80.04000000000002,14,96,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-19,198.33999999999986,75,699,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-21,27.15,7,12,, +2019-03-22,278.8499999999999,73,570,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-24,1.25,1,3,, +2019-03-25,155.36999999999998,57,580,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-27,60.64000000000001,14,75,, +2019-03-28,64.12,8,45,, +2019-03-29,40.089999999999996,10,78,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-04-01,80.69,28,285,, +2019-04-02,21.95,7,19,, +2019-04-03,0.39,1,1,, +2019-04-04,62.58000000000001,24,237,, +2019-04-05,183.96999999999994,71,691,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-04-08,139.82999999999996,42,371,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-04-11,463.8199999999998,108,894,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-04-15,445.5,2,4,, +2019-04-16,345.78,81,660,, +2019-04-17,54.14,14,111,, +2019-04-18,96.05000000000001,23,191,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-04-23,17.999999999999996,9,14,, +2019-04-24,92.30000000000001,34,338,, +2019-04-25,38.27000000000001,8,77,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-04-28,80.27000000000002,33,335,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-04-30,4.65,3,6,, +2019-05-01,94.05999999999996,37,387,, +2019-05-02,80.64,10,69,, +2019-05-03,12.64,10,80,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-05-06,108.56000000000003,37,310,, +2019-05-07,115.37,25,228,, +2019-05-08,47.720000000000006,18,166,, +2019-05-09,935.3500000000008,161,1755,, +2019-05-10,69.46,18,136,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-05-14,107.53,39,372,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-05-16,366.69999999999993,101,849,, +2019-05-17,29.9,2,7,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-05-19,268.3599999999999,97,820,, +2019-05-20,211.05999999999995,54,421,, +2019-05-21,60.2,15,121,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-05-23,191.28999999999996,54,424,, +2019-05-24,143.98000000000002,38,248,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-05-26,118.09000000000003,30,244,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-05-28,33.29,5,17,, +2019-05-29,116.90000000000003,40,343,, +2019-05-30,414.16999999999996,180,834,, +2019-05-31,26.15,4,23,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-06-02,177.08999999999997,57,446,, +2019-06-03,102.10000000000001,29,172,, +2019-06-04,7.5600000000000005,7,19,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-06-06,89.17999999999999,12,73,, +2019-06-07,69.7,9,94,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-06-09,37.209999999999994,13,144,, +2019-06-10,371.5399999999998,113,995,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-06-13,45.459999999999994,13,141,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-06-17,254.5,88,817,, +2019-06-18,58.01000000000001,24,244,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-06-20,52.36000000000001,16,109,, +2019-06-21,48.89,9,73,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-06-23,2.95,1,15,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-06-27,159.78,62,614,, +2019-06-28,51.88999999999999,10,52,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-07-01,941.46,63,592,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-07-04,175.46000000000006,61,513,, +2019-07-05,157.74,61,552,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-07-09,66.22000000000001,37,351,, +2019-07-10,64.88000000000001,12,94,, +2019-07-11,76.63000000000001,29,365,, +2019-07-12,189.47,41,361,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-07-14,42.83,9,82,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-07-16,466.8899999999996,156,1246,, +2019-07-17,186.66000000000003,57,467,, +2019-07-18,242.4899999999999,68,560,, +2019-07-19,135.53000000000003,40,348,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-07-21,90.57000000000002,43,414,, +2019-07-22,188.35999999999993,64,549,, +2019-07-23,27.749999999999996,5,8,, +2019-07-24,32.0,9,115,, +2019-07-25,73.26,17,122,, +2019-07-26,54.24,5,10,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-07-29,191.23000000000002,63,555,, +2019-07-30,198.40999999999997,73,608,, +2019-07-31,18.48,13,116,, diff --git a/cs-train/ts-data/ts-hong_kong.csv b/cs-train/ts-data/ts-hong_kong.csv new file mode 100644 index 000000000..8d779b9c4 --- /dev/null +++ b/cs-train/ts-data/ts-hong_kong.csv @@ -0,0 +1,429 @@ +date,revenue,purchases,total_views,unique_streams,unique_invoices +2018-04-18,100.26000000000002,48,518,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-05-23,4793.22,2,3,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-06-21,54.600000000000016,24,272,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-08-08,3767.3,2,5,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-01-21,178.85999999999999,57,540,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-12,5167.52,2,1,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-04-09,113.41000000000001,32,291,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-05-10,217.95999999999984,93,855,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-06-19,59.44,16,150,, diff --git a/cs-train/ts-data/ts-netherlands.csv b/cs-train/ts-data/ts-netherlands.csv new file mode 100644 index 000000000..011144f74 --- /dev/null +++ b/cs-train/ts-data/ts-netherlands.csv @@ -0,0 +1,597 @@ +date,revenue,purchases,total_views,unique_streams,unique_invoices +2017-11-29,49.33000000000001,23,240,, +1970-01-01,0.0,0,0,0.0,0.0 +2017-12-01,77.52000000000002,22,195,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2017-12-05,104.15,51,51,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2017-12-13,37.25,7,76,, +1970-01-01,0.0,0,0,0.0,0.0 +2017-12-15,116.01000000000002,52,634,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-01-08,15.64,2,7,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-01-12,47.15,9,85,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-01-19,90.42000000000002,49,484,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-01-23,184.23999999999995,91,966,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-01-31,41.5,9,66,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-02-15,1091.53,59,681,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-02-21,10.169999999999998,4,35,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-02-23,71.84,29,76,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-02-26,2.1,1,4,, +2018-02-27,23.67,19,235,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-03-05,27.700000000000006,10,101,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-03-08,69.55000000000003,24,261,, +2018-03-09,88.97999999999999,32,394,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-03-11,53.81,29,343,, +2018-03-12,1.65,1,24,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-03-18,26.699999999999996,7,56,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-03-22,33.940000000000005,7,59,, +2018-03-23,530.1200000000001,58,708,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-03-29,44.95999999999999,31,323,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-04-05,34.400000000000006,13,136,, +2018-04-06,55.800000000000004,18,145,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-04-10,42.150000000000006,12,102,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-04-13,70.99999999999997,27,258,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-04-15,32.790000000000006,9,68,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-04-17,60.740000000000016,20,152,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-04-19,45.750000000000014,16,66,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-04-27,371.91000000000014,37,289,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-04-29,19.95,4,28,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-05-03,243.51999999999995,113,1521,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-05-07,38.1,14,169,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-05-13,38.84,28,330,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-05-21,201.2,73,661,, +2018-05-22,112.64,50,470,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-05-31,216.4299999999998,73,540,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-06-15,125.47,50,489,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-06-19,40.8,8,54,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-06-25,169.6599999999999,76,851,, +2018-06-26,33.849999999999994,10,75,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-06-28,32.89999999999999,8,56,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-07-04,88.96000000000002,31,285,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-07-12,47.699999999999996,8,65,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-07-16,135.70000000000005,48,545,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-07-19,43.400000000000006,11,21,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-07-22,19.599999999999998,3,17,, +2018-07-23,40.25000000000002,24,296,, +2018-07-24,103.57000000000002,45,101,, +2018-07-25,20.0,1,1,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-08-01,41.19000000000002,20,257,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-08-07,454.6100000000001,91,1145,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-08-12,63.85000000000001,15,116,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-08-14,184.7499999999999,68,706,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-08-17,16.65,2,3,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-08-21,24.189999999999998,13,196,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-08-23,64.61000000000001,28,326,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-08-28,42.44000000000001,27,123,, +2018-08-29,179.20000000000002,66,615,, +2018-08-30,63.01999999999999,25,254,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-04,3.75,1,18,, +2018-09-05,25.0,1,1,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-07,72.56000000000002,22,184,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-11,43.06,13,125,, +2018-09-12,85.67999999999999,41,441,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-16,48.800000000000004,22,197,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-18,53.65000000000001,18,173,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-20,10.0,1,1,, +2018-09-21,260.90999999999985,115,1368,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-24,84.87000000000002,38,47,, +2018-09-25,91.57000000000001,41,366,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-27,15.0,1,1,, +2018-09-28,20.020000000000003,20,199,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-10-05,69.22,14,106,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-10-10,114.39000000000004,79,988,, +2018-10-11,20.8,4,43,, +2018-10-12,1.65,1,20,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-10-15,112.84,1,2,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-10-19,61.13,25,246,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-10-22,83.42999999999998,16,110,, +2018-10-23,30.54,9,77,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-10-25,16.75,3,6,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-10-31,243.81999999999988,80,875,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-05,53.120000000000005,24,189,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-08,99.79000000000003,55,587,, +2018-11-09,17.1,2,19,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-13,21.310000000000002,6,70,, +2018-11-14,83.01000000000002,38,499,, +2018-11-15,119.51,42,356,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-19,190.0099999999999,94,237,, +2018-11-20,64.25,22,186,, +2018-11-21,315.65999999999997,25,141,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-26,69.14000000000001,30,349,, +2018-11-27,89.96999999999998,52,482,, +2018-11-28,33.7,4,37,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-12-17,46.330000000000005,16,46,, +2018-12-18,98.51,54,525,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-01-11,125.58000000000001,79,876,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-01-16,56.78000000000001,33,377,, +2019-01-17,2.12,2,24,, +2019-01-18,235.99999999999994,106,1214,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-01-28,23.14,9,97,, +2019-01-29,53.550000000000004,12,80,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-01-31,1.45,1,4,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-02-05,46.269999999999996,15,128,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-02-18,273.6599999999999,119,1440,, +2019-02-19,62.6,44,514,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-06,76.57000000000001,27,198,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-11,41.51000000000001,8,57,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-19,49.29000000000001,12,99,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-22,81.07,22,250,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-26,272.6500000000001,104,1378,, +2019-03-27,28.38,16,261,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-04-02,28.019999999999992,15,208,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-04-25,26.91,9,132,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-05-08,53.349999999999994,9,125,, +2019-05-09,274.65000000000003,108,1263,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-05-15,21.679999999999996,5,63,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-05-17,68.19,13,104,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-05-22,1.45,1,7,, +2019-05-23,141.38000000000002,50,535,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-05-28,115.6,29,205,, +2019-05-29,76.63,26,309,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-05-31,34.699999999999996,15,122,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-06-03,63.00000000000001,25,233,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-06-06,19.750000000000004,6,47,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-06-16,89.84000000000006,52,665,, +2019-06-17,144.77,59,61,, +2019-06-18,125.21000000000001,39,336,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-06-25,248.65999999999988,103,1244,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-07-17,26.02,10,10,, diff --git a/cs-train/ts-data/ts-norway.csv b/cs-train/ts-data/ts-norway.csv new file mode 100644 index 000000000..bf3309b3c --- /dev/null +++ b/cs-train/ts-data/ts-norway.csv @@ -0,0 +1,594 @@ +date,revenue,purchases,total_views,unique_streams,unique_invoices +2017-12-04,123.28,21,175,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-03-16,33628.549999999996,5,11,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-08-17,154.8000000000001,9,122,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-13,139.73999999999998,53,498,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-10-31,65.76,38,432,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-02,195.28999999999994,78,801,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-09,12.45,6,67,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-26,42.15,12,93,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-28,205.33999999999972,146,1717,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-12-05,272.3199999999999,148,1718,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-01-30,65.3,17,176,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-02-13,68.35000000000001,15,98,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-02-26,1741.6499999999999,11,33,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-14,16.69,7,63,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-19,73.38,15,77,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-06-17,347.71000000000004,75,785,, +2019-06-18,473.35999999999984,90,570,, +2019-06-19,700.0,1,1,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-07-19,168.63,49,444,, diff --git a/cs-train/ts-data/ts-portugal.csv b/cs-train/ts-data/ts-portugal.csv new file mode 100644 index 000000000..736b9b382 --- /dev/null +++ b/cs-train/ts-data/ts-portugal.csv @@ -0,0 +1,612 @@ +date,revenue,purchases,total_views,unique_streams,unique_invoices +2017-11-28,208.74999999999986,79,771,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2017-12-05,85.60000000000002,19,121,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-01-23,130.85,2,3,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-01-29,83.57000000000001,24,192,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-02-07,30.12,4,43,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-02-27,259.78999999999996,35,194,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-03-05,7.95,1,4,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-03-20,7.5,2,5,, +2018-03-21,156.48999999999998,64,669,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-04-26,11.78,6,19,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-05-20,161.95,22,107,, +2018-05-21,24.22,12,72,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-06-01,19.7,4,4,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-06-06,91.57000000000004,35,348,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-06-19,146.45,23,131,, +2018-06-20,100.79,22,148,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-06-25,263.11999999999983,72,541,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-07-05,96.85000000000001,16,72,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-08-08,84.85000000000001,15,104,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-08-23,46.89000000000001,10,85,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-08-29,4.95,1,0,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-08-31,31.1,12,95,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-03,80.50000000000004,36,321,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-13,143.85000000000002,38,285,, +2018-09-14,126.47000000000006,55,463,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-21,8.450000000000001,5,5,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-23,8.45,5,16,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-25,8.45,5,8,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-27,22.65,7,39,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-10-02,9.4,4,13,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-10-05,65.6,14,98,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-10-08,270.5799999999998,80,731,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-10-19,4.95,1,1,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-10-25,126.86000000000007,66,642,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-10-30,5.95,1,1,, +2018-10-31,73.65,20,166,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-06,73.20000000000002,17,140,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-08,93.65,20,233,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-13,88.95000000000002,26,201,, +2018-11-14,23.099999999999998,4,12,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-21,323.2200000000001,104,286,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-23,50.400000000000006,11,83,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-27,87.53999999999999,22,163,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-30,76.80000000000001,14,130,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-12-03,80.20000000000003,14,106,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-12-05,384.4399999999999,106,831,, +2018-12-06,133.74,26,198,, +2018-12-07,67.60000000000001,14,115,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-12-11,8.7,4,10,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-12-14,84.42000000000002,22,165,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-01-02,13.399999999999999,4,2,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-01-06,174.81000000000006,52,471,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-01-15,114.18,36,479,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-01-23,122.94,30,210,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-02-18,160.82999999999998,43,346,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-02-25,56.15000000000001,14,104,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-05,113.40000000000002,56,603,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-20,44.650000000000006,16,105,, +2019-03-21,27.0,1,1,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-25,87.74000000000002,25,197,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-28,62.09000000000001,16,157,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-04-05,50.99000000000001,21,191,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-04-10,163.87,56,497,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-05-09,1279.4600000000014,78,299,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-05-20,6098.360000000001,7,8,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-06-04,23.65,14,146,, +2019-06-05,31.9,9,55,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-06-12,110.23,25,186,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-06-21,4.95,1,4,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-07-10,150.72000000000003,61,607,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-07-17,49.48999999999999,28,336,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-07-31,1.25,1,1,, diff --git a/cs-train/ts-data/ts-singapore.csv b/cs-train/ts-data/ts-singapore.csv new file mode 100644 index 000000000..ea4e1087c --- /dev/null +++ b/cs-train/ts-data/ts-singapore.csv @@ -0,0 +1,449 @@ +date,revenue,purchases,total_views,unique_streams,unique_invoices +2018-04-24,152.76,36,299,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-03,219.7499999999999,81,811,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-01-22,263.3399999999999,56,562,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-04-01,12181.680000000002,10,14,, +2019-04-02,127.92999999999995,52,539,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-07-15,230.45999999999998,75,817,, diff --git a/cs-train/ts-data/ts-spain.csv b/cs-train/ts-data/ts-spain.csv new file mode 100644 index 000000000..20edb8f91 --- /dev/null +++ b/cs-train/ts-data/ts-spain.csv @@ -0,0 +1,604 @@ +date,revenue,purchases,total_views,unique_streams,unique_invoices +2017-11-30,3.35,2,2,, +2017-12-01,92.03,18,149,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2017-12-04,58.699999999999996,7,71,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2017-12-14,10.17,3,41,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2017-12-20,680.9700000000007,207,1929,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-01-07,110.54000000000003,28,238,, +2018-01-08,1410.99,2,2,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-01-10,1410.99,4,7,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-01-19,124.46000000000001,30,226,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-01-23,254.0,4,6,, +2018-01-24,107.84000000000005,62,356,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-01-26,29.25,2,13,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-01-29,117.08000000000001,21,218,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-01-31,2.5,2,12,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-02-25,33.400000000000006,6,8,, +2018-02-26,57.09000000000001,15,168,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-03-06,79.75999999999999,25,243,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-03-22,139.23000000000002,39,332,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-03-26,28.02,13,33,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-03-28,7.8500000000000005,3,10,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-04-10,128.27000000000004,28,192,, +2018-04-11,12.75,1,4,, +2018-04-12,37.86000000000001,8,83,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-05-01,397.69999999999993,41,359,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-05-10,107.19,32,276,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-06-08,10.17,3,49,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-06-13,69.44000000000001,22,233,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-07-19,34.65,4,29,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-07-24,41.32,14,143,, +2018-07-25,151.46999999999994,53,328,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-07-31,25.0,1,5,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-08-09,16.38,14,111,, +2018-08-10,28.95,5,18,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-08-16,16.5,3,4,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-08-19,20.09,11,89,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-08-28,105.16000000000001,27,281,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-08-31,4.95,1,2,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-03,112.04999999999998,41,376,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-11,7.700000000000001,5,70,, +2018-09-12,82.51000000000002,24,227,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-14,211.79999999999993,69,584,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-19,3.0999999999999996,2,6,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-26,99.47000000000003,25,240,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-28,49.71000000000001,11,105,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-09-30,26.039999999999996,14,185,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-10-02,106.52000000000007,59,134,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-10-10,135.18000000000004,51,510,, +2018-10-11,25.34,8,119,, +2018-10-12,55.34000000000001,20,144,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-10-15,220.0,1,1,, +2018-10-16,47.449999999999996,16,92,, +2018-10-17,72.06000000000002,16,126,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-10-19,58.490000000000016,20,194,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-10-30,118.70000000000002,13,33,, +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-01,99.25000000000003,12,91,, +2018-11-02,41.7,13,119,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-06,44.21999999999999,16,86,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-16,67.6,5,23,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-23,118.9,31,287,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-11-30,15.7,10,93,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-12-06,257.9399999999999,80,134,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-12-10,97.14000000000003,20,175,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2018-12-14,16.8,10,100,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-01-03,1126.0,1,3,, +2019-01-04,286.6399999999999,98,536,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-01-07,401.5999999999998,93,592,, +2019-01-08,131.34,35,368,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-01-15,95.60000000000001,29,269,, +2019-01-16,64.78999999999999,23,48,, +2019-01-17,10.95,1,4,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-01-21,45.73000000000001,11,87,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-01-24,2117.45,94,596,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-01-29,49.45,12,102,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-01-31,165.06999999999996,31,171,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-02-06,183.92999999999992,40,277,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-02-11,52.470000000000006,13,152,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-02-15,20.8,4,7,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-01,89.39000000000001,23,212,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-04,22.5,3,6,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-13,331.4499999999999,61,366,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-19,195.98999999999992,44,335,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-21,108.13000000000002,34,411,, +2019-03-22,115.24999999999999,34,319,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-03-25,7.65,5,48,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-04-08,63.38000000000002,15,116,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-04-18,261.21999999999986,58,389,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-04-25,72.05,23,218,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-05-01,108.68000000000004,41,455,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-05-03,113.10000000000001,15,88,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-05-23,28.85,2,11,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-05-28,169.03,47,422,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-05-31,59.51999999999998,13,93,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-06-03,128.61,23,124,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-06-06,234.25999999999993,48,298,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-06-13,221.21999999999986,61,386,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-06-16,120.88000000000001,32,313,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-06-23,33.6,5,49,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-07-01,30.069999999999997,15,160,, +1970-01-01,0.0,0,0,0.0,0.0 +2019-07-03,42.50000000000001,13,137,, +2019-07-04,138.99999999999994,27,160,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-07-08,180.73999999999995,67,166,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-07-17,45.09,4,19,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-07-22,164.83,47,479,, +1970-01-01,0.0,0,0,0.0,0.0 +1970-01-01,0.0,0,0,0.0,0.0 +2019-07-25,45.4,8,57,, diff --git a/cs-train/ts-data/ts-united_kingdom.csv b/cs-train/ts-data/ts-united_kingdom.csv new file mode 100644 index 000000000..2cdc5b056 --- /dev/null +++ b/cs-train/ts-data/ts-united_kingdom.csv @@ -0,0 +1,612 @@ +date,revenue,purchases,total_views,unique_streams,unique_invoices +2017-11-28,13281.120000000281,2953,12922,1291,154 +2017-11-29,13222.97000000031,3217,13650,1291,154 +2017-11-30,12941.500000000246,2911,15243,1291,154 +2017-12-01,9163.070000000029,2443,11652,1291,154 +2017-12-02,1263.2800000000009,370,3101,1291,154 +2017-12-03,6229.109999999952,1888,8096,1291,154 +2017-12-04,12189.79000000019,2684,11202,1291,154 +2017-12-05,8892.26999999999,2283,11906,1291,154 +2017-12-06,10886.990000000053,2423,10071,1291,154 +2017-12-07,10651.38000000005,2403,11572,1291,154 +2017-12-08,4864.069999999974,1535,7902,1291,154 +1970-01-01,0.0,0,0,0,0 +2017-12-10,4568.1999999999825,1678,7685,1291,154 +2017-12-11,19097.67000000029,3851,14845,1291,154 +2017-12-12,9518.670000000011,1896,10331,1291,154 +2017-12-13,15610.170000000273,3137,13689,1291,154 +2017-12-14,6003.739999999948,1944,9346,1291,154 +2017-12-15,9560.020000000062,1732,6557,1291,154 +1970-01-01,0.0,0,0,0,0 +2017-12-17,1811.5100000000054,573,3381,1291,154 +2017-12-18,2650.7099999999955,576,2473,1291,154 +2017-12-19,13254.540000000074,2032,5056,1291,154 +2017-12-20,1580.2900000000013,328,1089,1291,154 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +2018-01-01,1936.2600000000048,663,2993,1291,154 +2018-01-02,3061.269999999997,938,5603,1291,154 +2018-01-03,965.8500000000016,294,1994,1291,154 +2018-01-04,2777.019999999998,846,6108,1291,154 +2018-01-05,1893.6700000000042,533,3793,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-01-07,1969.560000000007,676,4464,1291,154 +2018-01-08,12781.810000000072,2605,7931,1291,154 +2018-01-09,3535.1299999999956,1017,4806,1291,154 +2018-01-10,7670.260000000009,1552,5034,1291,154 +2018-01-11,11974.440000000066,2141,8905,1291,154 +2018-01-12,1699.2700000000045,554,3715,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-01-14,3438.3099999999854,1116,5700,1291,154 +2018-01-15,8679.83000000001,1879,5934,1291,154 +2018-01-16,7036.980999999999,1639,7538,1291,154 +2018-01-17,4729.539999999989,1207,5001,1291,154 +2018-01-18,3402.0599999999918,1095,5824,1291,154 +2018-01-19,5207.340000000002,1186,5568,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-01-21,3918.159999999978,1231,5560,1291,154 +2018-01-22,6752.709999999972,1650,7339,1291,154 +2018-01-23,12331.510000000086,1345,5821,1291,154 +2018-01-24,6081.759999999987,1443,6878,1291,154 +2018-01-25,3580.9199999999873,1182,7277,1291,154 +2018-01-26,23937.59099999995,1207,6180,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-01-28,3462.619999999986,1244,6146,1291,154 +2018-01-29,5286.950999999987,1258,5185,1291,154 +2018-01-30,2957.8999999999896,1040,5982,1291,154 +2018-01-31,5672.7909999999865,1442,6276,1291,154 +2018-02-01,4645.71999999997,1551,7915,1291,154 +2018-02-02,4173.32999999999,1030,5383,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-02-04,2059.9800000000027,742,2761,1291,154 +2018-02-05,4642.319999999985,1204,5245,1291,154 +2018-02-06,2815.789999999997,784,4454,1291,154 +2018-02-07,3983.15999999998,861,2764,1291,154 +2018-02-08,2480.8099999999986,766,3959,1291,154 +2018-02-09,2792.809999999989,757,3570,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-02-11,3437.549999999985,1157,6119,1291,154 +2018-02-12,2084.441000000005,710,5475,1291,154 +2018-02-13,7831.599999999976,1879,8774,1291,154 +2018-02-14,2971.8899999999912,945,5964,1291,154 +2018-02-15,3905.0299999999747,1319,7601,1291,154 +2018-02-16,7938.450000000003,1634,5494,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-02-18,3171.4009999999807,931,3924,1291,154 +2018-02-19,3491.9899999999875,1070,7473,1291,154 +2018-02-20,3843.9399999999846,1092,5877,1291,154 +2018-02-21,4674.940999999984,1201,5321,1291,154 +2018-02-22,5088.36999999996,1531,9235,1291,154 +2018-02-23,7474.590999999987,999,4627,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-02-25,3800.0899999999765,1251,5318,1291,154 +2018-02-26,4292.199999999971,1162,6374,1291,154 +2018-02-27,6257.639999999987,1480,6471,1291,154 +2018-02-28,5528.219999999962,1597,8869,1291,154 +2018-03-01,7018.009999999961,1801,10659,1291,154 +2018-03-02,4574.199999999978,1133,5336,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-03-04,5884.589999999963,1675,7347,1291,154 +2018-03-05,9343.649999999949,1866,8016,1291,154 +2018-03-06,6179.929999999971,1153,6259,1291,154 +2018-03-07,5986.599999999977,1525,7997,1291,154 +2018-03-08,5351.309999999986,1295,6396,1291,154 +2018-03-09,3330.480000000002,821,4337,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-03-11,1763.770000000003,640,2621,1291,154 +2018-03-12,7081.800999999985,1550,5966,1291,154 +2018-03-13,5005.4999999999745,1335,6804,1291,154 +2018-03-14,4041.6699999999687,1226,7133,1291,154 +2018-03-15,5826.539999999972,1401,8140,1291,154 +2018-03-16,13837.489999999993,1288,6393,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-03-18,3901.469999999978,1367,6689,1291,154 +2018-03-19,6293.399999999969,1462,7552,1291,154 +2018-03-20,52280.03999999941,1265,6213,1291,154 +2018-03-21,6807.4799999999805,1391,7029,1291,154 +2018-03-22,18308.93000000013,1692,8640,1291,154 +2018-03-23,4234.210000000001,1186,5995,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-03-25,4761.22999999998,1838,9368,1291,154 +2018-03-26,8582.629999999968,1968,9488,1291,154 +2018-03-27,7089.399999999958,1799,9317,1291,154 +2018-03-28,7832.739999999961,1890,8976,1291,154 +2018-03-29,6173.909999999965,1525,7777,1291,154 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +2018-04-03,3815.87999999997,1092,5547,1291,154 +2018-04-04,4675.699999999969,1273,6649,1291,154 +2018-04-05,7155.569999999963,1963,10736,1291,154 +2018-04-06,3124.4299999999903,795,4327,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-04-08,2992.3699999999935,1030,5379,1291,154 +2018-04-09,2668.159999999992,859,5430,1291,154 +2018-04-10,4001.2199999999807,1236,5945,1291,154 +2018-04-11,3009.919999999994,986,6374,1291,154 +2018-04-12,24186.760000000093,1135,7243,1291,154 +2018-04-13,2220.370000000004,743,4618,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-04-15,4765.129999999966,1380,5849,1291,154 +2018-04-16,15214.319999999901,3002,10716,1291,154 +2018-04-17,13570.100000000068,1444,7331,1291,154 +2018-04-18,3978.8999999999737,1045,5592,1291,154 +2018-04-19,16626.530000000024,1403,8763,1291,154 +2018-04-20,5757.709999999989,1126,6472,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-04-22,4104.499999999977,1263,5678,1291,154 +2018-04-23,7792.659999999951,1788,7749,1291,154 +2018-04-24,5421.799999999966,1642,10822,1291,154 +2018-04-25,5386.8199999999815,1633,9976,1291,154 +2018-04-26,-45645.3290000005,1874,9783,1291,154 +2018-04-27,5924.339999999967,1165,5409,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-04-29,2458.2699999999963,789,4096,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-05-01,6558.5899999999865,1292,6230,1291,154 +2018-05-02,6829.629999999973,1505,7223,1291,154 +2018-05-03,5986.119999999973,1571,7929,1291,154 +2018-05-04,4065.399999999972,1318,9096,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-05-06,4560.439999999967,1584,7027,1291,154 +2018-05-07,7791.989999999982,1499,8178,1291,154 +2018-05-08,5861.499999999973,1614,9081,1291,154 +2018-05-09,4279.069999999982,1194,6764,1291,154 +2018-05-10,5160.6399999999685,1304,6709,1291,154 +2018-05-11,3824.1199999999835,939,4712,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-05-13,4511.3799999999665,1470,5261,1291,154 +2018-05-14,4783.369999999963,1403,7092,1291,154 +2018-05-15,5745.86999999996,1485,6550,1291,154 +2018-05-16,4344.929999999987,1213,6033,1291,154 +2018-05-17,6271.669999999966,1549,8774,1291,154 +2018-05-18,5391.969999999981,1166,4471,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-05-20,4210.039999999988,1221,6502,1291,154 +2018-05-21,5204.119999999982,1302,8853,1291,154 +2018-05-22,4746.969999999968,1343,7018,1291,154 +2018-05-23,7613.979999999965,1540,7472,1291,154 +2018-05-24,6246.2099999999655,2027,11086,1291,154 +2018-05-25,5509.609999999972,1245,6502,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-05-27,2380.0300000000034,804,3529,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-05-29,4108.379999999985,1190,5513,1291,154 +2018-05-30,3566.190000000006,944,4196,1291,154 +2018-05-31,6883.1399999999685,1520,7061,1291,154 +2018-06-01,7321.799999999991,1415,4896,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-06-03,6899.399999999937,2168,9717,1291,154 +2018-06-04,9096.92,2523,11491,1291,154 +2018-06-05,12488.350000000155,2070,9128,1291,154 +2018-06-06,4472.809999999973,1398,8195,1291,154 +2018-06-07,4289.949999999974,1018,5921,1291,154 +2018-06-08,14499.60000000007,1651,8868,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-06-10,4625.92999999997,1423,6985,1291,154 +2018-06-11,4963.159999999979,1457,6425,1291,154 +2018-06-12,7162.919999999975,1415,7422,1291,154 +2018-06-13,5965.73999999998,1771,9757,1291,154 +2018-06-14,73158.4499999996,1627,8007,1291,154 +2018-06-15,3865.3199999999806,894,4643,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-06-17,1507.030000000002,423,1927,1291,154 +2018-06-18,5770.819999999972,1773,8328,1291,154 +2018-06-19,3696.0299999999747,908,4422,1291,154 +2018-06-20,3835.269999999981,1068,6070,1291,154 +2018-06-21,9255.039999999963,1385,5823,1291,154 +2018-06-22,5369.149999999967,1164,5577,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-06-24,4149.529999999977,1283,5699,1291,154 +2018-06-25,5556.589999999976,1517,7847,1291,154 +2018-06-26,5379.11999999997,1447,8526,1291,154 +2018-06-27,6374.779999999964,1665,8367,1291,154 +2018-06-28,5728.9599999999555,1660,9853,1291,154 +2018-06-29,2416.829999999993,818,4463,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-07-01,2285.5500000000006,680,2640,1291,154 +2018-07-02,5926.13999999997,1778,10078,1291,154 +2018-07-03,4167.829999999997,1007,5333,1291,154 +2018-07-04,9593.009999999991,1572,7095,1291,154 +2018-07-05,3953.5799999999776,1230,6897,1291,154 +2018-07-06,3530.9699999999975,798,3621,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-07-08,2040.4600000000075,708,2533,1291,154 +2018-07-09,5161.579999999984,1142,5215,1291,154 +2018-07-10,4329.0399999999845,1027,4308,1291,154 +2018-07-11,4899.679999999967,1244,5558,1291,154 +2018-07-12,10234.439999999993,1522,8893,1291,154 +2018-07-13,4074.7899999999736,1125,6667,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-07-15,2810.9699999999975,830,4149,1291,154 +2018-07-16,-39092.100000000224,1328,7715,1291,154 +2018-07-17,4013.719999999969,1113,6516,1291,154 +2018-07-18,5547.929999999979,1190,6516,1291,154 +2018-07-19,7264.9799999999705,1579,7312,1291,154 +2018-07-20,3171.249999999985,933,5272,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-07-22,3845.7299999999796,1223,6846,1291,154 +2018-07-23,5606.48999999997,1431,7984,1291,154 +2018-07-24,3060.289999999988,844,5600,1291,154 +2018-07-25,3920.2099999999764,1253,7820,1291,154 +2018-07-26,11075.99000000001,1846,8248,1291,154 +2018-07-27,2958.209999999989,701,4246,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-07-29,2734.4899999999952,886,4113,1291,154 +2018-07-30,6417.43999999998,1174,6838,1291,154 +2018-07-31,7927.739999999962,1459,6591,1291,154 +2018-08-01,6084.149999999973,1357,7307,1291,154 +2018-08-02,3341.309999999988,1263,7491,1291,154 +2018-08-03,1803.5900000000056,533,4064,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-08-05,2509.719999999996,889,4456,1291,154 +2018-08-06,2315.1500000000046,783,4956,1291,154 +2018-08-07,7307.749999999981,1656,5995,1291,154 +2018-08-08,5391.599999999981,985,4611,1291,154 +2018-08-09,8194.369999999964,1819,9584,1291,154 +2018-08-10,5729.449999999978,1465,7773,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-08-12,2922.7399999999893,990,5663,1291,154 +2018-08-13,3474.539999999999,898,4804,1291,154 +2018-08-14,2946.2100000000014,884,5966,1291,154 +2018-08-15,5058.829999999985,1525,7881,1291,154 +2018-08-16,5068.489999999992,1365,7232,1291,154 +2018-08-17,3791.409999999988,1073,6235,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-08-19,3751.3099999999777,1279,7768,1291,154 +2018-08-20,3185.6599999999844,1030,6681,1291,154 +2018-08-21,3480.6799999999866,1086,7189,1291,154 +2018-08-22,5987.0599999999695,1546,9267,1291,154 +2018-08-23,6807.259999999983,1528,8578,1291,154 +2018-08-24,26392.430000000004,918,4261,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-08-26,2302.290000000002,812,5043,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-08-28,6222.33999999999,1558,7044,1291,154 +2018-08-29,3402.7299999999855,769,3569,1291,154 +2018-08-30,4576.01999999997,1443,8327,1291,154 +2018-08-31,3845.189999999982,995,5395,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-09-02,2013.3200000000052,720,3797,1291,154 +2018-09-03,5691.489999999962,1333,5595,1291,154 +2018-09-04,3718.6499999999905,1048,5889,1291,154 +2018-09-05,3307.469999999984,990,5739,1291,154 +2018-09-06,6463.579999999945,1335,6818,1291,154 +2018-09-07,3633.2599999999884,968,5434,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-09-09,3639.8299999999786,1245,5808,1291,154 +2018-09-10,7615.530000000002,1917,8971,1291,154 +2018-09-11,3682.249999999979,1179,6640,1291,154 +2018-09-12,3691.0499999999784,1183,6881,1291,154 +2018-09-13,30369.511000000006,1445,7790,1291,154 +2018-09-14,4271.089999999985,1015,5619,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-09-16,4999.0199999999595,1958,8958,1291,154 +2018-09-17,8397.07,1638,9056,1291,154 +2018-09-18,6889.419999999971,2204,14822,1291,154 +2018-09-19,5368.539999999977,1403,8147,1291,154 +2018-09-20,5572.229999999953,1920,12438,1291,154 +2018-09-21,9160.960000000046,1362,7638,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-09-23,4197.749999999979,1459,8364,1291,154 +2018-09-24,38898.729999999705,2035,13246,1291,154 +2018-09-25,9947.070000000125,2598,14689,1291,154 +2018-09-26,6030.539999999962,1838,12257,1291,154 +2018-09-27,14005.460000000014,1822,11802,1291,154 +2018-09-28,6509.77999999997,1567,8133,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-09-30,6550.33999999995,1994,9763,1291,154 +2018-10-01,6847.389999999986,1946,12207,1291,154 +2018-10-02,62415.039999999,2610,17363,1291,154 +2018-10-03,3808.9599999999923,1166,8900,1291,154 +2018-10-04,13757.24000000024,3415,16872,1291,154 +2018-10-05,6897.489999999975,1886,10814,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-10-07,4999.609999999954,1614,7943,1291,154 +2018-10-08,6959.239999999947,2255,12162,1291,154 +2018-10-09,7848.459999999961,2324,13713,1291,154 +2018-10-10,14631.130000000077,1881,10291,1291,154 +2018-10-11,6145.029999999997,1729,11660,1291,154 +2018-10-12,28363.94999999998,2147,11767,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-10-14,7332.469999999929,2682,12395,1291,154 +2018-10-15,10600.190000000117,2700,11695,1291,154 +2018-10-16,8188.139999999989,2104,10639,1291,154 +2018-10-17,-29762.21000000002,2417,12716,1291,154 +2018-10-18,7169.759999999963,1907,10030,1291,154 +2018-10-19,9013.59,2051,9206,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-10-21,6688.929999999943,2259,10622,1291,154 +2018-10-22,5546.12999999995,1832,9152,1291,154 +2018-10-23,6853.299999999967,2125,11526,1291,154 +2018-10-24,5263.73999999996,1518,7401,1291,154 +2018-10-25,6409.159999999979,1448,6689,1291,154 +2018-10-26,6381.699999999966,1748,10241,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-10-28,7288.899999999952,2621,11488,1291,154 +2018-10-29,9301.789999999995,2135,9042,1291,154 +2018-10-30,7548.499999999944,2169,11526,1291,154 +2018-10-31,6519.369999999966,1847,8822,1291,154 +2018-11-01,13237.570000000145,3614,18102,1291,154 +2018-11-02,6208.849999999965,1596,7708,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-11-04,7408.069999999972,2742,13217,1291,154 +2018-11-05,22800.790999999954,2447,11872,1291,154 +2018-11-06,11268.44000000021,2687,14712,1291,154 +2018-11-07,11903.620000000159,3406,15142,1291,154 +2018-11-08,12084.880000000147,3121,15701,1291,154 +2018-11-09,11694.250000000116,2792,11345,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-11-11,8128.599999999962,2849,10698,1291,154 +2018-11-12,13073.92000000016,3423,13987,1291,154 +2018-11-13,9902.540000000023,2917,14961,1291,154 +2018-11-14,10694.721000000076,2779,13869,1291,154 +2018-11-15,10349.540000000052,2767,12867,1291,154 +2018-11-16,8210.899999999974,2270,10709,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-11-18,8270.469999999928,3118,13237,1291,154 +2018-11-19,11934.310000000118,3005,11968,1291,154 +2018-11-20,13055.550000000181,3364,16559,1291,154 +2018-11-21,13489.870000000139,3313,14719,1291,154 +2018-11-22,11494.190000000186,3453,18331,1291,154 +2018-11-23,8913.589999999976,2241,10167,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-11-25,7556.879999999926,2526,9368,1291,154 +2018-11-26,15412.480000000107,3665,15547,1291,154 +2018-11-27,7165.049999999969,2192,13301,1291,154 +2018-11-28,24856.160000000204,5898,24644,1291,154 +2018-11-29,13504.960000000267,4188,26123,1291,154 +2018-11-30,20626.019999999993,4022,15815,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-12-02,14212.140000000385,4986,18131,1291,154 +2018-12-03,34715.89999999951,7638,28444,1291,154 +2018-12-04,169539.61999999883,5708,21601,1291,154 +2018-12-05,19080.82000000031,4984,24566,1291,154 +2018-12-06,27164.94000000006,5270,21446,1291,154 +2018-12-07,12300.300000000123,2629,10594,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-12-09,3874.269999999974,1403,5052,1291,154 +2018-12-10,12253.78,2257,10550,1291,154 +2018-12-11,8027.229999999973,1995,10770,1291,154 +2018-12-12,4661.809999999966,1273,8364,1291,154 +2018-12-13,5808.609999999962,1746,12139,1291,154 +2018-12-14,16826.45000000006,2816,7583,1291,154 +1970-01-01,0.0,0,0,0,0 +2018-12-16,1454.1800000000023,480,2172,1291,154 +2018-12-17,7545.169999999974,1593,6083,1291,154 +2018-12-18,11841.350000000055,1466,4311,1291,154 +2018-12-19,1908.6700000000026,250,1284,1291,154 +2018-12-20,3570.7999999999897,870,3375,1291,154 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +2019-01-01,4228.519999999985,1170,5472,1291,154 +2019-01-02,38781.33999999977,1628,7723,1291,154 +2019-01-03,6472.1799999999685,1728,9301,1291,154 +2019-01-04,4793.459999999996,1431,7343,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-01-06,3265.8399999999883,1043,5262,1291,154 +2019-01-07,7129.169999999987,1795,7737,1291,154 +2019-01-08,4894.309999999988,1361,7034,1291,154 +2019-01-09,6943.439999999989,1687,6719,1291,154 +2019-01-10,5419.419999999999,1368,6158,1291,154 +2019-01-11,5904.009999999996,1264,5770,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-01-13,1854.5000000000043,646,2583,1291,154 +2019-01-14,9302.670000000053,2416,9277,1291,154 +2019-01-15,6132.519999999997,1362,4238,1291,154 +2019-01-16,4142.039999999984,1186,5335,1291,154 +2019-01-17,7793.719999999985,1390,5804,1291,154 +2019-01-18,6388.74,1462,6296,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-01-20,2551.5599999999936,867,3515,1291,154 +2019-01-21,5831.5399999999945,1279,5623,1291,154 +2019-01-22,6002.10999999997,1489,7725,1291,154 +2019-01-23,4654.759999999982,1088,4999,1291,154 +2019-01-24,4693.879999999992,1335,7195,1291,154 +2019-01-25,3465.6399999999844,871,4727,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-01-27,2321.7200000000016,722,2934,1291,154 +2019-01-28,5485.020000000003,1312,5712,1291,154 +2019-01-29,5015.739999999986,1445,7299,1291,154 +2019-01-30,5739.999999999981,1355,6209,1291,154 +2019-01-31,3151.920000000007,863,4802,1291,154 +2019-02-01,5757.7000000000035,1080,5191,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-02-03,799.4500000000008,279,1209,1291,154 +2019-02-04,4376.769999999985,1142,5214,1291,154 +2019-02-05,5386.590000000004,1163,4998,1291,154 +2019-02-06,3985.7600000000084,746,2852,1291,154 +2019-02-07,3358.21999999999,750,4331,1291,154 +2019-02-08,5277.9199999999855,882,4443,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-02-10,1859.3600000000054,624,2154,1291,154 +2019-02-11,3763.7599999999984,909,4308,1291,154 +2019-02-12,6739.74999999999,1111,5866,1291,154 +2019-02-13,3541.759999999981,1050,6671,1291,154 +2019-02-14,7366.910000000014,1608,7691,1291,154 +2019-02-15,2785.3199999999897,766,4408,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-02-17,2721.2899999999922,864,3472,1291,154 +2019-02-18,15973.820000000102,1102,4973,1291,154 +2019-02-19,5502.539999999975,1546,8100,1291,154 +2019-02-20,7000.900000000005,1528,7488,1291,154 +2019-02-21,4793.929999999977,1219,7477,1291,154 +2019-02-22,3224.0399999999863,911,6670,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-02-24,2391.3799999999997,797,3516,1291,154 +2019-02-25,7588.599999999985,1628,6390,1291,154 +2019-02-26,4281.159999999984,1051,5388,1291,154 +2019-02-27,3314.7999999999847,890,5734,1291,154 +2019-02-28,5017.239999999984,1222,5888,1291,154 +2019-03-01,2668.859999999988,950,5184,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-03-03,2845.039999999994,844,3385,1291,154 +2019-03-04,10432.370000000068,1905,7548,1291,154 +2019-03-05,5006.219999999979,1491,7888,1291,154 +2019-03-06,4398.749999999988,1155,6184,1291,154 +2019-03-07,3128.4899999999825,954,5514,1291,154 +2019-03-08,3440.3899999999826,873,5152,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-03-10,1320.8100000000024,519,1854,1291,154 +2019-03-11,3105.1399999999876,924,4778,1291,154 +2019-03-12,5476.629999999986,1155,5649,1291,154 +2019-03-13,2682.4699999999934,786,5237,1291,154 +2019-03-14,8037.2999999999865,1907,7885,1291,154 +2019-03-15,16580.2200000001,1259,6268,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-03-17,4735.409999999989,1388,7259,1291,154 +2019-03-18,2739.659999999995,999,6503,1291,154 +2019-03-19,9746.830000000124,2207,8437,1291,154 +2019-03-20,4356.139999999982,1185,6192,1291,154 +2019-03-21,4163.839999999966,1460,8128,1291,154 +2019-03-22,4880.169999999987,1178,5100,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-03-24,2087.310000000004,725,3132,1291,154 +2019-03-25,9035.97,1462,6583,1291,154 +2019-03-26,8698.989999999945,1852,9835,1291,154 +2019-03-27,4836.009999999977,1509,8680,1291,154 +2019-03-28,8671.509999999982,1633,7920,1291,154 +2019-03-29,3993.719999999971,1162,6706,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-03-31,1788.1600000000062,731,2723,1291,154 +2019-04-01,6172.0499999999765,1608,7418,1291,154 +2019-04-02,3566.9099999999794,1077,5684,1291,154 +2019-04-03,3592.3999999999915,1056,5315,1291,154 +2019-04-04,4232.259999999972,1382,5836,1291,154 +2019-04-05,8560.59999999999,1300,7481,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-04-07,3017.479999999987,914,3806,1291,154 +2019-04-08,3059.629999999995,1102,7459,1291,154 +2019-04-09,3524.2599999999898,1099,7897,1291,154 +2019-04-10,2762.4099999999958,985,6902,1291,154 +2019-04-11,4738.169999999965,1445,9698,1291,154 +2019-04-12,8310.720999999987,1406,6339,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-04-14,2514.740000000002,912,5080,1291,154 +2019-04-15,11835.27999999993,3178,10373,1291,154 +2019-04-16,6621.659999999987,1755,8051,1291,154 +2019-04-17,3096.9699999999966,990,7407,1291,154 +2019-04-18,8782.31,1746,8442,1291,154 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +2019-04-23,8178.899999999989,1821,8919,1291,154 +2019-04-24,4042.96999999999,1255,7357,1291,154 +2019-04-25,4442.669999999979,1114,7160,1291,154 +1970-01-01,0.0,0,0,0,0 +1970-01-01,0.0,0,0,0,0 +2019-04-28,1218.1400000000017,419,2236,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-04-30,28102.51000000032,1323,6464,1291,154 +2019-05-01,3385.3599999999865,1081,7001,1291,154 +2019-05-02,5740.319999999961,1677,8452,1291,154 +2019-05-03,6952.629999999966,1979,10093,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-05-05,4009.0099999999734,1394,6582,1291,154 +2019-05-06,8448.499999999973,1673,8622,1291,154 +2019-05-07,15023.87000000014,2424,10134,1291,154 +2019-05-08,5432.379999999964,1556,9128,1291,154 +2019-05-09,5813.479999999974,1554,8739,1291,154 +2019-05-10,4433.499999999975,1249,7105,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-05-12,2108.4200000000033,781,3300,1291,154 +2019-05-13,20236.7000000001,1446,8094,1291,154 +2019-05-14,8802.659999999996,1705,8907,1291,154 +2019-05-15,4857.109999999973,1271,8062,1291,154 +2019-05-16,6706.61999999997,1702,9924,1291,154 +2019-05-17,3619.8999999999864,1071,7700,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-05-19,4120.029999999982,1422,8325,1291,154 +2019-05-20,5662.039999999973,1423,6912,1291,154 +2019-05-21,7171.0599999999595,1718,8306,1291,154 +2019-05-22,4045.429999999986,1199,6292,1291,154 +2019-05-23,3699.7699999999863,811,4766,1291,154 +2019-05-24,4901.589999999986,1077,5987,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-05-26,1598.000000000007,602,2389,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-05-28,4440.859999999988,1115,5345,1291,154 +2019-05-29,5588.869999999968,1381,4936,1291,154 +2019-05-30,6591.09,1401,7016,1291,154 +2019-05-31,2894.5399999999977,777,4204,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-06-02,4123.9799999999905,1345,7218,1291,154 +2019-06-03,4130.1899999999805,1088,6139,1291,154 +2019-06-04,6505.889999999971,1847,9290,1291,154 +2019-06-05,10134.770000000053,2090,10154,1291,154 +2019-06-06,6661.899999999952,1596,8993,1291,154 +2019-06-07,44136.55999999961,990,4990,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-06-09,2985.2199999999943,1048,4526,1291,154 +2019-06-10,5095.989999999984,1216,5934,1291,154 +2019-06-11,6428.1599999999835,1585,7101,1291,154 +2019-06-12,6763.239999999982,1445,6133,1291,154 +2019-06-13,4830.85999999998,1382,8617,1291,154 +2019-06-14,2340.1000000000013,771,4941,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-06-16,3093.539999999994,1062,5876,1291,154 +2019-06-17,7741.979999999985,1677,6711,1291,154 +2019-06-18,5835.829999999976,1330,6033,1291,154 +2019-06-19,2457.0100000000066,892,5964,1291,154 +2019-06-20,5968.249999999938,1849,9478,1291,154 +2019-06-21,13711.700000000017,907,5211,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-06-23,2460.380000000001,675,2423,1291,154 +2019-06-24,4466.990000000003,1126,4727,1291,154 +2019-06-25,4991.259999999991,932,5477,1291,154 +2019-06-26,4610.999999999995,1274,5702,1291,154 +2019-06-27,5128.019999999965,1487,8230,1291,154 +2019-06-28,3096.1999999999994,923,4674,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-06-30,1793.9800000000089,602,2534,1291,154 +2019-07-01,8135.050000000001,2050,7898,1291,154 +2019-07-02,9084.939999999995,2142,9667,1291,154 +2019-07-03,4832.229999999993,1690,8082,1291,154 +2019-07-04,6223.269999999956,1832,9782,1291,154 +2019-07-05,6792.049999999977,1396,6383,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-07-07,1976.1400000000062,820,2840,1291,154 +2019-07-08,3823.839999999992,1314,6871,1291,154 +2019-07-09,6185.209999999995,1547,6341,1291,154 +2019-07-10,15525.800000000025,1494,7037,1291,154 +2019-07-11,4781.369999999975,1498,7573,1291,154 +2019-07-12,3947.0899999999865,1077,4406,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-07-14,3153.549999999993,1181,5990,1291,154 +2019-07-15,26946.799999999945,2032,8065,1291,154 +2019-07-16,3879.8599999999938,1202,8592,1291,154 +2019-07-17,10670.400000000072,1916,8798,1291,154 +2019-07-18,6162.869999999998,1430,9516,1291,154 +2019-07-19,3866.320000000009,1212,6108,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-07-21,2974.189999999991,1036,6334,1291,154 +2019-07-22,7403.84999999998,1804,7985,1291,154 +2019-07-23,3888.3709999999846,1234,7348,1291,154 +2019-07-24,3477.5299999999897,1106,6028,1291,154 +2019-07-25,3967.239999999982,1277,8757,1291,154 +2019-07-26,3378.2099999999914,1056,6911,1291,154 +1970-01-01,0.0,0,0,0,0 +2019-07-28,2656.699999999998,1093,5220,1291,154 +2019-07-29,4124.819999999979,1124,6324,1291,154 +2019-07-30,15260.120000000034,1007,5495,1291,154 +2019-07-31,4844.039999999961,1522,9187,1291,154 diff --git a/log/example-predict-2020-3.log b/log/example-predict-2020-3.log new file mode 100644 index 000000000..8a2ca4ebb --- /dev/null +++ b/log/example-predict-2020-3.log @@ -0,0 +1,5 @@ +unique_id,timestamp,y_pred,y_proba,target_date,runtime,MODEL_VERSION +560f1107-8e64-40e9-8817-6801990fb6e3,1584639330.1081216,all,[158184.75733333],None,2018-01-05,0:00:03,0.1 +be961bbd-a8a4-479c-bd4c-688a9758bc86,1584747974.2113135,all,[158184.75733333],None,2018-01-05,0:00:03,0.1 +8de15d7f-a7f7-4367-a013-bfdfe7480647,1584748069.4946904,all,[158184.75733333],None,2018-01-05,0:00:03,0.1 +c587a878-3bdf-4e49-a6b0-99fcda5a3144,1584748119.8844993,all,[158184.75733333],None,2018-01-05,0:00:03,0.1 diff --git a/log/example-training-2020-3.log b/log/example-training-2020-3.log new file mode 100644 index 000000000..c92f6c298 --- /dev/null +++ b/log/example-training-2020-3.log @@ -0,0 +1,37 @@ +0299fbde-38db-4930-add4-d4e68e4f09a0,1584588317.5828626,|('2019-07-07', '2019-07-30')|,{'rmse': 22686.0},000:00:11,0.1,supervised learing model for time-series,True +8c0ea9df-7911-483b-b476-6d06a0f0a946,1584588328.061311,|('2019-07-02', '2019-07-22')|,{'rmse': 8452.0},000:00:10,0.1,supervised learing model for time-series,True +672eef13-0a7d-4b8c-88c9-4ab816c89785,1584589105.7385206,|(8, 7)|,all,2019-07-03 - 2019-07-24,{'rmse': 21159.0},000:00:10,0.1,supervised learing model for time-series +d6595622-fbdd-40ee-a8d5-e9c8589087ef,1584589116.1539223,|(8, 7)|,united_kingdom,2019-07-01 - 2019-07-30,{'rmse': 19506.0},000:00:10,0.1,supervised learing model for time-series +99dd334a-2cf5-4139-8d3e-c10b5a255023,1584589325.4848967,|(8, 7)|,all,2019-07-10 - 2019-07-25,{'rmse': 8413.0},000:00:10,0.1,supervised learing model for time-series +b51e4b9c-7aab-4b10-8c6f-92d92d6f36ea,1584589335.955337,|(8, 7)|,united_kingdom,2019-07-02 - 2019-07-28,{'rmse': 24581.0},000:00:10,0.1,supervised learing model for time-series +63b58642-22b6-4bd0-87d3-f6a54c0ad99e,1584589361.6936278,|(8, 7)|,all,2019-07-05 - 2019-07-30,{'rmse': 19071.0},000:00:10,0.1,supervised learing model for time-series +944e1a20-ba0f-4bd3-bbe9-6b0ca41d230a,1584589372.1440563,|(8, 7)|,united_kingdom,2019-07-02 - 2019-07-25,{'rmse': 18278.0},000:00:10,0.1,supervised learing model for time-series +f517687a-3eea-44f9-ad6d-16c222196506,1584589605.0203998,|(8, 7)|,all,2019-07-04 - 2019-07-30,{'rmse': 34760.0},000:00:10,0.1,supervised learing model for time-series +8ab198bc-58f0-4c43-9394-e46d851c96bb,1584589615.7190053,|(8, 7)|,united_kingdom,2019-07-02 - 2019-07-28,{'rmse': 34626.0},000:00:10,0.1,supervised learing model for time-series +409cf87a-7834-40ad-92eb-c506e2d90341,1584590076.1429677,|(26, 7)|,all,2019-07-01 - 2019-07-30,{'rmse': 19408.0},000:00:10,0.1,supervised learing model for time-series +3b70ee2f-ae29-4d6b-9875-d94e2d14b0a7,1584590127.5645225,|(26, 7)|,all,2019-07-01 - 2019-07-30,{'rmse': 19834.0},000:00:10,0.1,supervised learing model for time-series +8dc782d9-9f79-47bd-8fd6-70730212f0fb,1584630401.0258572,|(26, 7)|,all,2019-07-01 - 2019-07-30,{'rmse': 13304.0},000:00:10,0.1,supervised learing model for time-series +f0a904f6-7d78-4e33-8990-b81e249285aa,1584630638.954014,|(26, 7)|,all,2019-07-01 - 2019-07-30,{'rmse': 16527.0},000:00:10,0.1,supervised learing model for time-series +8faa62bc-cdad-4596-9c46-7b4a028cc093,1584630707.996052,|(494, 7)|,all,2017-11-29 - 2019-07-31,{'rmse': 84389.0},000:00:12,0.1,supervised learing model for time-series +8b0b4e87-6d4f-4e47-ad41-494fc682476f,1584630719.5982895,|(292, 7)|,eire,2017-11-30 - 2019-07-28,{'rmse': 4218.0},000:00:11,0.1,supervised learing model for time-series +c1352fa1-c830-4ada-9930-13c177442b5c,1584630731.0103986,|(284, 7)|,france,2017-11-29 - 2019-07-31,{'rmse': 1064.0},000:00:11,0.1,supervised learing model for time-series +25c41a6d-3b76-4336-8acc-2cc58afe687e,1584630742.9738922,|(358, 7)|,germany,2017-11-29 - 2019-07-31,{'rmse': 890.0},000:00:11,0.1,supervised learing model for time-series +83f8bd8e-1638-4f46-afbb-b859ea79b29d,1584630752.470641,|(7, 7)|,hong_kong,2018-05-23 - 2019-06-19,{'rmse': 1776.0},000:00:09,0.1,supervised learing model for time-series +0f9ffb97-e357-47ee-9a52-c519238d6192,1584630763.2877438,|(132, 7)|,netherlands,2017-12-01 - 2019-07-17,{'rmse': 200.0},000:00:10,0.1,supervised learing model for time-series +d9b00061-174c-4d3e-a718-c73b58af8bfa,1584630773.7511685,|(15, 7)|,norway,2018-09-13 - 2019-07-19,{'rmse': 886.0},000:00:10,0.1,supervised learing model for time-series +cfed79c1-95b8-4d20-b59c-b6f21654ed0d,1584630786.1359649,|(71, 7)|,portugal,2017-12-05 - 2019-07-31,{'rmse': 1281.0},000:00:12,0.1,supervised learing model for time-series +63e1424f-46ba-4790-92b8-a5b9209160d2,1584636971.012992,|(358, 7)|,germany,2017-11-29 - 2019-07-31,{'rmse': 1562.0},0:00:09,0.1,supervised learing model for time-series +7b856841-7cdf-4dcc-8ebc-58bd3c241631,1584637174.415211,|(358, 7)|,germany,2017-11-29 - 2019-07-31,{'rmse': 1201.0},0:00:09,0.1,supervised learing model for time-series +e1670659-2020-4279-be93-9666759f4ad0,1584637199.284873,|(358, 7)|,germany,2017-11-29 - 2019-07-31,{'rmse': 1654.0},0:00:09,0.1,supervised learing model for time-series +f2d2f6a2-6a31-43b5-9e94-bebd34e1748a,1584637264.6131291,|(358, 7)|,germany,2017-11-29 - 2019-07-31,{'rmse': 1572.0},0:00:09,0.1,supervised learing model for time-series +24129207-7b8f-4c12-a923-670bd3fcf240,1584637393.2832608,|(358, 7)|,germany,2017-11-29 - 2019-07-31,{'rmse': 1601.0},0:00:09,0.1,supervised learing model for time-series +2200db87-f61e-484f-91d4-7d10802e9859,1584637458.0622926,|(358, 7)|,germany,2017-11-29 - 2019-07-31,{'rmse': 1516.0},0:00:09,0.1,supervised learing model for time-series +616cbc8e-59c9-4423-b39e-bded45d6a4be,1584637576.0598392,|(358, 7)|,germany,2017-11-29 - 2019-07-31,{'rmse': 1675.0},0:00:09,0.1,supervised learing model for time-series +68b706b4-ff67-4b50-b028-0bedcad8a3ec,1584637615.728016,|(358, 7)|,germany,2017-11-29 - 2019-07-31,{'rmse': 1377.0},0:00:09,0.1,supervised learing model for time-series +124b9233-4770-485a-a2ad-76df92a0b7be,1584637651.1501727,|(358, 7)|,germany,2017-11-29 - 2019-07-31,{'rmse': 1531.0},0:00:09,0.1,supervised learing model for time-series +56d6b5b4-4fb2-40de-b21e-56b016c21388,1584637684.504863,|(358, 7)|,germany,2017-11-29 - 2019-07-31,{'rmse': 1287.0},0:00:09,0.1,supervised learing model for time-series +9ecac568-4467-4b58-b5cb-57a798bd8fa7,1584639165.8387258,|(358, 7)|,germany,2017-11-29 - 2019-07-31,{'rmse': 1348.0},0:00:10,0.1,supervised learing model for time-series +a1077a67-c312-49b9-a08f-12504e530f10,1584639323.6045082,|(358, 7)|,germany,2017-11-29 - 2019-07-31,{'rmse': 1372.0},0:00:10,0.1,supervised learing model for time-series +69d44fcc-84e2-4705-8b11-9e46c7c51fac,1584747971.0050347,|(358, 7)|,germany,2017-11-29 - 2019-07-31,{'rmse': 1524.0},0:00:09,0.1,supervised learing model for time-series +751e56b4-fa74-48bd-b2e7-e1fef14d1fe2,1584748066.2924132,|(358, 7)|,germany,2017-11-29 - 2019-07-31,{'rmse': 1373.0},0:00:09,0.1,supervised learing model for time-series +5a1ae56b-9687-41fb-9c9d-ae07f724c3ad,1584748113.2748046,|(358, 7)|,germany,2017-11-29 - 2019-07-31,{'rmse': 1526.0},0:00:09,0.1,supervised learing model for time-series diff --git a/models/sl-all-0_1.joblib b/models/sl-all-0_1.joblib new file mode 100644 index 000000000..baf9c0626 Binary files /dev/null and b/models/sl-all-0_1.joblib differ diff --git a/models/sl-eire-0_1.joblib b/models/sl-eire-0_1.joblib new file mode 100644 index 000000000..0522daab4 Binary files /dev/null and b/models/sl-eire-0_1.joblib differ diff --git a/models/sl-france-0_1.joblib b/models/sl-france-0_1.joblib new file mode 100644 index 000000000..6fc4a21ee Binary files /dev/null and b/models/sl-france-0_1.joblib differ diff --git a/models/sl-germany-0_1.joblib b/models/sl-germany-0_1.joblib new file mode 100644 index 000000000..e0f19cd41 Binary files /dev/null and b/models/sl-germany-0_1.joblib differ diff --git a/models/sl-hong_kong-0_1.joblib b/models/sl-hong_kong-0_1.joblib new file mode 100644 index 000000000..17360528a Binary files /dev/null and b/models/sl-hong_kong-0_1.joblib differ diff --git a/models/sl-netherlands-0_1.joblib b/models/sl-netherlands-0_1.joblib new file mode 100644 index 000000000..ee432f7ec Binary files /dev/null and b/models/sl-netherlands-0_1.joblib differ diff --git a/models/sl-norway-0_1.joblib b/models/sl-norway-0_1.joblib new file mode 100644 index 000000000..3199c9fc2 Binary files /dev/null and b/models/sl-norway-0_1.joblib differ diff --git a/models/sl-portugal-0_1.joblib b/models/sl-portugal-0_1.joblib new file mode 100644 index 000000000..99aacf1fd Binary files /dev/null and b/models/sl-portugal-0_1.joblib differ diff --git a/models/test-all-0_1.joblib b/models/test-all-0_1.joblib new file mode 100644 index 000000000..067879dbb Binary files /dev/null and b/models/test-all-0_1.joblib differ diff --git a/models/test-united_kingdom-0_1.joblib b/models/test-united_kingdom-0_1.joblib new file mode 100644 index 000000000..d0436f7c2 Binary files /dev/null and b/models/test-united_kingdom-0_1.joblib differ diff --git a/models/unittest-germany-0_1.joblib b/models/unittest-germany-0_1.joblib new file mode 100644 index 000000000..a5336816f Binary files /dev/null and b/models/unittest-germany-0_1.joblib differ diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 000000000..1fb122b7b --- /dev/null +++ b/requirements.txt @@ -0,0 +1,6 @@ + +cython +numpy +flask +pandas +scikit-learn diff --git a/run-tests.py b/run-tests.py new file mode 100644 index 000000000..09cf549cd --- /dev/null +++ b/run-tests.py @@ -0,0 +1,7 @@ +#!/usr/bin/python + +import sys +import unittest + +from unittests import * +unittest.main() diff --git a/solution-guidance/README.md b/solution-guidance/README.md deleted file mode 100644 index 088557ff8..000000000 --- a/solution-guidance/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# Solution Guidance - -Need some guideance with the capstone project solution? We have provided two code files that will help. - -* **cslib.py**: A collection of functions that will transform the data set into features you can use to train a model. -* **model.py**: Provides you with a working solution (i.e., a model) for capstone part 2. diff --git a/solution-guidance/cslib.py b/solution-guidance/cslib.py deleted file mode 100644 index 583e9186a..000000000 --- a/solution-guidance/cslib.py +++ /dev/null @@ -1,235 +0,0 @@ -#!/usr/bin/env python -""" -collection of functions for the final case study solution -""" - -import os -import sys -import re -import shutil -import time -import pickle -from collections import defaultdict -from datetime import datetime -import numpy as np -import pandas as pd -import matplotlib.pyplot as plt -import matplotlib.dates as mdates -from pandas.plotting import register_matplotlib_converters -register_matplotlib_converters() - -COLORS = ["darkorange","royalblue","slategrey"] - -def fetch_data(data_dir): - """ - laod all json formatted files into a dataframe - """ - - ## input testing - if not os.path.isdir(data_dir): - raise Exception("specified data dir does not exist") - if not len(os.listdir(data_dir)) > 0: - raise Exception("specified data dir does not contain any files") - - file_list = [os.path.join(data_dir,f) for f in os.listdir(data_dir) if re.search("\.json",f)] - correct_columns = ['country', 'customer_id', 'day', 'invoice', 'month', - 'price', 'stream_id', 'times_viewed', 'year'] - - ## read data into a temp structure - all_months = {} - for file_name in file_list: - df = pd.read_json(file_name) - all_months[os.path.split(file_name)[-1]] = df - - ## ensure the data are formatted with correct columns - for f,df in all_months.items(): - cols = set(df.columns.tolist()) - if 'StreamID' in cols: - df.rename(columns={'StreamID':'stream_id'},inplace=True) - if 'TimesViewed' in cols: - df.rename(columns={'TimesViewed':'times_viewed'},inplace=True) - if 'total_price' in cols: - df.rename(columns={'total_price':'price'},inplace=True) - - cols = df.columns.tolist() - if sorted(cols) != correct_columns: - raise Exception("columns name could not be matched to correct cols") - - ## concat all of the data - df = pd.concat(list(all_months.values()),sort=True) - years,months,days = df['year'].values,df['month'].values,df['day'].values - dates = ["{}-{}-{}".format(years[i],str(months[i]).zfill(2),str(days[i]).zfill(2)) for i in range(df.shape[0])] - df['invoice_date'] = np.array(dates,dtype='datetime64[D]') - df['invoice'] = [re.sub("\D+","",i) for i in df['invoice'].values] - - ## sort by date and reset the index - df.sort_values(by='invoice_date',inplace=True) - df.reset_index(drop=True,inplace=True) - - return(df) - - -def convert_to_ts(df_orig, country=None): - """ - given the original DataFrame (fetch_data()) - return a numerically indexed time-series DataFrame - by aggregating over each day - """ - - if country: - if country not in np.unique(df_orig['country'].values): - raise Excpetion("country not found") - - mask = df_orig['country'] == country - df = df_orig[mask] - else: - df = df_orig - - ## use a date range to ensure all days are accounted for in the data - invoice_dates = df['invoice_date'].values - start_month = '{}-{}'.format(df['year'].values[0],str(df['month'].values[0]).zfill(2)) - stop_month = '{}-{}'.format(df['year'].values[-1],str(df['month'].values[-1]).zfill(2)) - df_dates = df['invoice_date'].values.astype('datetime64[D]') - days = np.arange(start_month,stop_month,dtype='datetime64[D]') - - purchases = np.array([np.where(df_dates==day)[0].size for day in days]) - invoices = [np.unique(df[df_dates==day]['invoice'].values).size for day in days] - streams = [np.unique(df[df_dates==day]['stream_id'].values).size for day in days] - views = [df[df_dates==day]['times_viewed'].values.sum() for day in days] - revenue = [df[df_dates==day]['price'].values.sum() for day in days] - year_month = ["-".join(re.split("-",str(day))[:2]) for day in days] - - df_time = pd.DataFrame({'date':days, - 'purchases':purchases, - 'unique_invoices':invoices, - 'unique_streams':streams, - 'total_views':views, - 'year_month':year_month, - 'revenue':revenue}) - return(df_time) - - -def fetch_ts(data_dir, clean=False): - """ - convenience function to read in new data - uses csv to load quickly - use clean=True when you want to re-create the files - """ - - ts_data_dir = os.path.join(data_dir,"ts-data") - - if clean: - shutil.rmtree(ts_data_dir) - if not os.path.exists(ts_data_dir): - os.mkdir(ts_data_dir) - - ## if files have already been processed load them - if len(os.listdir(ts_data_dir)) > 0: - print("... loading ts data from files") - return({re.sub("\.csv","",cf)[3:]:pd.read_csv(os.path.join(ts_data_dir,cf)) for cf in os.listdir(ts_data_dir)}) - - ## get original data - print("... processing data for loading") - df = fetch_data(data_dir) - - ## find the top ten countries (wrt revenue) - table = pd.pivot_table(df,index='country',values="price",aggfunc='sum') - table.columns = ['total_revenue'] - table.sort_values(by='total_revenue',inplace=True,ascending=False) - top_ten_countries = np.array(list(table.index))[:10] - - file_list = [os.path.join(data_dir,f) for f in os.listdir(data_dir) if re.search("\.json",f)] - countries = [os.path.join(data_dir,"ts-"+re.sub("\s+","_",c.lower()) + ".csv") for c in top_ten_countries] - - ## load the data - dfs = {} - dfs['all'] = convert_to_ts(df) - for country in top_ten_countries: - country_id = re.sub("\s+","_",country.lower()) - file_name = os.path.join(data_dir,"ts-"+ country_id + ".csv") - dfs[country_id] = convert_to_ts(df,country=country) - - ## save the data as csvs - for key, item in dfs.items(): - item.to_csv(os.path.join(ts_data_dir,"ts-"+key+".csv"),index=False) - - return(dfs) - -def engineer_features(df,training=True): - """ - for any given day the target becomes the sum of the next days revenue - for that day we engineer several features that help predict the summed revenue - - the 'training' flag will trim data that should not be used for training - when set to false all data will be returned - - """ - - ## extract dates - dates = df['date'].values.copy() - dates = dates.astype('datetime64[D]') - - ## engineer some features - eng_features = defaultdict(list) - previous =[7, 14, 28, 70] #[7, 14, 21, 28, 35, 42, 49, 56, 63, 70] - y = np.zeros(dates.size) - for d,day in enumerate(dates): - - ## use windows in time back from a specific date - for num in previous: - current = np.datetime64(day, 'D') - prev = current - np.timedelta64(num, 'D') - mask = np.in1d(dates, np.arange(prev,current,dtype='datetime64[D]')) - eng_features["previous_{}".format(num)].append(df[mask]['revenue'].sum()) - - ## get get the target revenue - plus_30 = current + np.timedelta64(30,'D') - mask = np.in1d(dates, np.arange(current,plus_30,dtype='datetime64[D]')) - y[d] = df[mask]['revenue'].sum() - - ## attempt to capture monthly trend with previous years data (if present) - start_date = current - np.timedelta64(365,'D') - stop_date = plus_30 - np.timedelta64(365,'D') - mask = np.in1d(dates, np.arange(start_date,stop_date,dtype='datetime64[D]')) - eng_features['previous_year'].append(df[mask]['revenue'].sum()) - - ## add some non-revenue features - minus_30 = current - np.timedelta64(30,'D') - mask = np.in1d(dates, np.arange(minus_30,current,dtype='datetime64[D]')) - eng_features['recent_invoices'].append(df[mask]['unique_invoices'].mean()) - eng_features['recent_views'].append(df[mask]['total_views'].mean()) - - X = pd.DataFrame(eng_features) - ## combine features in to df and remove rows with all zeros - X.fillna(0,inplace=True) - mask = X.sum(axis=1)>0 - X = X[mask] - y = y[mask] - dates = dates[mask] - X.reset_index(drop=True, inplace=True) - - if training == True: - ## remove the last 30 days (because the target is not reliable) - mask = np.arange(X.shape[0]) < np.arange(X.shape[0])[-30] - X = X[mask] - y = y[mask] - dates = dates[mask] - X.reset_index(drop=True, inplace=True) - - return(X,y,dates) - - -if __name__ == "__main__": - - run_start = time.time() - data_dir = os.path.join("..","data","cs-train") - print("...fetching data") - - ts_all = fetch_ts(data_dir,clean=False) - - m, s = divmod(time.time()-run_start,60) - h, m = divmod(m, 60) - print("load time:", "%d:%02d:%02d"%(h, m, s)) - - for key,item in ts_all.items(): - print(key,item.shape) diff --git a/src/__init__.py b/src/__init__.py new file mode 100644 index 000000000..9e4453a34 --- /dev/null +++ b/src/__init__.py @@ -0,0 +1,7 @@ +# -*- coding: utf-8 -*- +""" +Created on Thu Mar 12 17:57:12 2020 + +@author: liu +""" + diff --git a/src/__pycache__/__init__.cpython-34.pyc b/src/__pycache__/__init__.cpython-34.pyc new file mode 100644 index 000000000..62115e638 Binary files /dev/null and b/src/__pycache__/__init__.cpython-34.pyc differ diff --git a/src/__pycache__/__init__.cpython-36.pyc b/src/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 000000000..a598bc79f Binary files /dev/null and b/src/__pycache__/__init__.cpython-36.pyc differ diff --git a/src/__pycache__/cslib.cpython-36.pyc b/src/__pycache__/cslib.cpython-36.pyc new file mode 100644 index 000000000..8da6dae60 Binary files /dev/null and b/src/__pycache__/cslib.cpython-36.pyc differ diff --git a/src/__pycache__/data_collection.cpython-36.pyc b/src/__pycache__/data_collection.cpython-36.pyc new file mode 100644 index 000000000..c8cabb2dc Binary files /dev/null and b/src/__pycache__/data_collection.cpython-36.pyc differ diff --git a/src/__pycache__/logger.cpython-36.pyc b/src/__pycache__/logger.cpython-36.pyc new file mode 100644 index 000000000..660a398e5 Binary files /dev/null and b/src/__pycache__/logger.cpython-36.pyc differ diff --git a/src/__pycache__/model.cpython-36.pyc b/src/__pycache__/model.cpython-36.pyc new file mode 100644 index 000000000..093a18b7e Binary files /dev/null and b/src/__pycache__/model.cpython-36.pyc differ diff --git a/src/cslib.py b/src/cslib.py new file mode 100644 index 000000000..cd62e7950 --- /dev/null +++ b/src/cslib.py @@ -0,0 +1,200 @@ +#!/usr/bin/env python +""" +collection of functions for the final case study solution +""" + +import os +import re +import numpy as np +import pandas as pd +import json +import glob +import logging +from collections import defaultdict +import shutil +#logging = logging.getlogging(__name__) +logging.basicConfig(level=logging.INFO) +import time +import warnings +warnings.filterwarnings("ignore") + +def fetch_data(path): + """fetch json data from a path """ + correct_cols_name =sorted(['country', 'customer_id', 'day', 'invoice', 'month', 'price', + 'stream_id', 'times_viewed', 'year']) + all_json_data = [] + logging.info(f'start loading data...') + for i in glob.glob(os.path.join(path,'*.json')): + with open(i) as f: + data = json.load(f) + unstandardized_element = [] + for idx,item in enumerate(data): + if 'total_price' in item.keys(): + data[idx]['price'] = data[idx].pop('total_price') + logging.debug(f'key_name total_price is not standardized and has been changed to price in file {i}') + if 'StreamID' in item.keys(): + data[idx]['stream_id'] = data[idx].pop('StreamID') + if 'TimesViewed' in item.keys(): + data[idx]['times_viewed'] = data[idx].pop('TimesViewed') + if sorted(list(item.keys())) != correct_cols_name: + logging.warning(f"key name of element {idx} in file {i} is {item.keys().__str__()}" + + "and it has been removed from file") + unstandardized_element.append(idx) + data = list( data[i] for i in range(len(data)) if i not in unstandardized_element) + all_json_data.extend(data) + return pd.DataFrame(all_json_data) + + +def convert_to_ts(df_all,country ='United Kingdom'): + try: + df= df_all[df_all.country==country] + df['date'] = pd.to_datetime(df[['year', 'month', 'day']],format='%Y%m%d') + df_agg = df.groupby('date',as_index=False)[['price','times_viewed']].agg({'price':['sum','count'],'times_viewed':'sum'}) + df_agg.columns = ['date','revenue','purchases','total_views'] + df_agg['unique_streams'] = df.groupby('date',as_index=False)['stream_id'].transform(lambda x:x.nunique()) + df_agg['unique_invoices'] = df.groupby('date',as_index=False)['invoice'].transform(lambda x:x.nunique()) + # fill empty date + df_agg = df_agg.set_index(df_agg['date']) + df_agg.index = pd.DatetimeIndex(df_agg.index) + idx = pd.date_range(df_agg.index.min(), df_agg.index.max()) + df_agg = df_agg.reindex(idx, fill_value=0) + except Exception as e: + logging.exception("agg failed",exc_info=True) + return df_agg + +def fetch_ts(data_dir, clean=False): + """ + convenience function to read in new data + uses csv to load quickly + use clean=True when you want to re-create the files + """ + + ts_data_dir = os.path.join(data_dir,"ts-data") + + if clean: + shutil.rmtree(ts_data_dir) + if not os.path.exists(ts_data_dir): + os.mkdir(ts_data_dir) + + ## if files have already been processed load them + if len(os.listdir(ts_data_dir)) > 0: + logging.debug("skip json file and loading file from csv file") + return({re.sub("\.csv","",cf)[3:]:pd.read_csv(os.path.join(ts_data_dir,cf)) for cf in os.listdir(ts_data_dir)}) + + ## get original data + print("... processing data for loading") + df = fetch_data(data_dir) + print(df.columns) + + ## find the top ten countries (wrt revenue) + table = pd.pivot_table(df,index='country',values="price",aggfunc='sum') + table.columns = ['total_revenue'] + table.sort_values(by='total_revenue',inplace=True,ascending=False) + top_ten_countries = np.array(list(table.index))[:10] + + file_list = [os.path.join(data_dir,f) for f in os.listdir(data_dir) if re.search("\.json",f)] + countries = [os.path.join(data_dir,"ts-"+re.sub("\s+","_",c.lower()) + ".csv") for c in top_ten_countries] + + ## load the data + dfs = {} + dfs['all'] = convert_to_ts(df) + for country in top_ten_countries: + country_id = re.sub("\s+","_",country.lower()) + file_name = os.path.join(data_dir,"ts-"+ country_id + ".csv") + dfs[country_id] = convert_to_ts(df,country=country) + + ## save the data as csvs + for key, item in dfs.items(): + item.to_csv(os.path.join(ts_data_dir,"ts-"+key+".csv"),index=False) + + return(dfs) + + + +def engineer_features(df,training=True): + """ + for any given day the target becomes the sum of the next days revenue + for that day we engineer several features that help predict the summed revenue + + the 'training' flag will trim data that should not be used for training + when set to false all data will be returned + + """ + + ## extract dates + logging.info('start feature') + dates = df['date'].values.copy() + dates = dates.astype('datetime64[D]') + + ## engineer some features + eng_features = defaultdict(list) + previous =[7, 14, 28, 70] #[7, 14, 21, 28, 35, 42, 49, 56, 63, 70] + y = np.zeros(dates.size) + for d,day in enumerate(dates): + + ## use windows in time back from a specific date + for num in previous: + current = np.datetime64(day, 'D') + prev = current - np.timedelta64(num, 'D') + mask = np.in1d(dates, np.arange(prev,current,dtype='datetime64[D]')) + eng_features["previous_{}".format(num)].append(df[mask]['revenue'].sum()) + + ## get get the target revenue + plus_30 = current + np.timedelta64(30,'D') + mask = np.in1d(dates, np.arange(current,plus_30,dtype='datetime64[D]')) + y[d] = df[mask]['revenue'].sum() + + ## attempt to capture monthly trend with previous years data (if present) + start_date = current - np.timedelta64(365,'D') + stop_date = plus_30 - np.timedelta64(365,'D') + mask = np.in1d(dates, np.arange(start_date,stop_date,dtype='datetime64[D]')) + eng_features['previous_year'].append(df[mask]['revenue'].sum()) + + ## add some non-revenue features + minus_30 = current - np.timedelta64(30,'D') + mask = np.in1d(dates, np.arange(minus_30,current,dtype='datetime64[D]')) + eng_features['recent_invoices'].append(df[mask]['unique_invoices'].mean()) + eng_features['recent_views'].append(df[mask]['total_views'].mean()) + + X = pd.DataFrame(eng_features) + ## combine features in to df and remove rows with all zeros + X.fillna(0,inplace=True) + mask = X.sum(axis=1)>0 + X = X[mask] + y = y[mask] + dates = dates[mask] + X.reset_index(drop=True, inplace=True) + +# if training == True: +# ## remove the last 30 days (because the target is not reliable) +# mask = np.arange(X.shape[0]) < np.arange(X.shape[0])[-30] +# X = X[mask] +# y = y[mask] +# dates = dates[mask] +# X.reset_index(drop=True, inplace=True) +# + return(X,y,dates) + +def convert(seconds): + seconds = seconds % (24 * 3600) + hour = seconds // 3600 + seconds %= 3600 + minutes = seconds // 60 + seconds %= 60 + + return "%d:%02d:%02d" % (hour, minutes, seconds) + +if __name__ == "__main__": + from os import path + file_path = path.dirname(__file__) + data_dir = path.abspath(path.join(file_path ,"..","cs-train")) + run_start = time.time() + print(f"...fetching data from {data_dir}") + + ts_all = fetch_ts(data_dir,clean=True) + + run_time = convert(time.time()-run_start,60) + print("load time:", "%s"%(run_time)) + + for key,item in ts_all.items(): + print(key,item.shape) diff --git a/src/data_collection.py b/src/data_collection.py new file mode 100644 index 000000000..b9dd9782f --- /dev/null +++ b/src/data_collection.py @@ -0,0 +1,159 @@ +# -*- coding: utf-8 -*- +""" +Created on Wed Mar 11 23:12:09 2020 + +@author: liu + +fetch data from json files +""" +import os +import re +import numpy as np +import pandas as pd +import json +import glob +import logging +from collections import defaultdict +#logging = logging.getlogging(__name__) +logging.basicConfig(level=logging.INFO) +import time +import warnings +warnings.filterwarnings("ignore") + +def fetch_data(path,sample = True): + """fetch json data from a path """ + correct_cols_name =sorted(['country', 'customer_id', 'day', 'invoice', 'month', 'price', + 'stream_id', 'times_viewed', 'year']) + all_json_data = [] + logging.info(f'start loading data...') + for i in glob.glob(os.path.join(path,'*.json')): + with open(i) as f: + data = json.load(f) + + unstandardized_element = [] + for idx,item in enumerate(data): + if 'total_price' in item.keys(): + data[idx]['price'] = data[idx].pop('total_price') + logging.debug(f'key_name total_price is not standardized and has been changed to price in file {i}') + if 'StreamID' in item.keys(): + data[idx]['stream_id'] = data[idx].pop('StreamID') + if 'TimesViewed' in item.keys(): + data[idx]['times_viewed'] = data[idx].pop('TimesViewed') + if sorted(list(item.keys())) != correct_cols_name: + logging.warning(f"key name of element {idx} in file {i} is {item.keys().__str__()}" + + "and it has been removed from file") + unstandardized_element.append(idx) + data = list( data[i] for i in range(len(data)) if i not in unstandardized_element) + all_json_data.extend(data) + if sample:break + return pd.DataFrame(all_json_data) + +def convert_to_ts(df_all,country ='United Kingdom'): + logging.info('start aggragating data') + try: + df= df_all[df_all.country==country] + df['date'] = pd.to_datetime(df[['year', 'month', 'day']],format='%Y%m%d') + df_agg = df.groupby('date',as_index=False)[['price','times_viewed']].agg({'price':['sum','count'],'times_viewed':'sum'}) + df_agg.columns = ['date','revenue','purchases','total_views'] + df_agg['unique_streams'] = df.groupby('date',as_index=False)['stream_id'].transform(lambda x:x.nunique()) + df_agg['unique_invoices'] = df.groupby('date',as_index=False)['invoice'].transform(lambda x:x.nunique()) + # fill empty date + df_agg = df_agg.set_index(df_agg['date']) + df_agg.index = pd.DatetimeIndex(df_agg.index) + idx = pd.date_range(df_agg.index.min(), df_agg.index.max()) + df_agg = df_agg.reindex(idx, fill_value=0) + except Exception as e: + logging.exception("agg failed",exc_info=True) + return df_agg + + +def engineer_features(df,training=True): + """ + for any given day the target becomes the sum of the next days revenue + for that day we engineer several features that help predict the summed revenue + + the 'training' flag will trim data that should not be used for training + when set to false all data will be returned + + """ + + ## extract dates + logging.info('start feature') + dates = df['date'].values.copy() + dates = dates.astype('datetime64[D]') + + ## engineer some features + eng_features = defaultdict(list) + previous =[7, 14, 28, 70] #[7, 14, 21, 28, 35, 42, 49, 56, 63, 70] + y = np.zeros(dates.size) + for d,day in enumerate(dates): + + ## use windows in time back from a specific date + for num in previous: + current = np.datetime64(day, 'D') + prev = current - np.timedelta64(num, 'D') + mask = np.in1d(dates, np.arange(prev,current,dtype='datetime64[D]')) + eng_features["previous_{}".format(num)].append(df[mask]['revenue'].sum()) + + ## get get the target revenue + plus_30 = current + np.timedelta64(30,'D') + mask = np.in1d(dates, np.arange(current,plus_30,dtype='datetime64[D]')) + y[d] = df[mask]['revenue'].sum() + + ## attempt to capture monthly trend with previous years data (if present) + start_date = current - np.timedelta64(365,'D') + stop_date = plus_30 - np.timedelta64(365,'D') + mask = np.in1d(dates, np.arange(start_date,stop_date,dtype='datetime64[D]')) + eng_features['previous_year'].append(df[mask]['revenue'].sum()) + + ## add some non-revenue features + minus_30 = current - np.timedelta64(30,'D') + mask = np.in1d(dates, np.arange(minus_30,current,dtype='datetime64[D]')) + eng_features['recent_invoices'].append(df[mask]['unique_invoices'].mean()) + eng_features['recent_views'].append(df[mask]['total_views'].mean()) + + X = pd.DataFrame(eng_features) + ## combine features in to df and remove rows with all zeros +# X.fillna(0,inplace=True) +# mask = X.sum(axis=1)>0 + X = X[mask] + y = y[mask] + dates = dates[mask] + X.reset_index(drop=True, inplace=True) + +# if training == True: +# ## remove the last 30 days (because the target is not reliable) +# mask = np.arange(X.shape[0]) < np.arange(X.shape[0])[-30] +# X = X[mask] +# y = y[mask] +# dates = dates[mask] +# X.reset_index(drop=True, inplace=True) + + return(X,y,dates) + +def convert(seconds): + seconds = seconds % (24 * 3600) + hour = seconds // 3600 + seconds %= 3600 + minutes = seconds // 60 + seconds %= 60 + + return "%d:%02d:%02d" % (hour, minutes, seconds) + +if __name__ == "__main__": + + run_start = time.time() + path = os.path.dirname(__file__) + data_dir = os.path.abspath(os.path.join(path,'..',"cs-train")) + print(data_dir) + data_all = fetch_data(data_dir,False) + logging.info("load time: {}".format(convert(time.time()-run_start))) + aggr_df = convert_to_ts(data_all) + logging.info("aggr time: {}".format(convert(time.time()-run_start))) + featured_df = engineer_features(aggr_df,False) + logging.info("feature time: {}".format(convert(time.time()-run_start))) + + + + + diff --git a/src/logger.py b/src/logger.py new file mode 100644 index 000000000..2d89fd88e --- /dev/null +++ b/src/logger.py @@ -0,0 +1,158 @@ +import time,os,re,csv,sys,uuid,joblib +from datetime import date +import numpy as np +from sklearn import svm +from sklearn import datasets +from sklearn.model_selection import train_test_split +from sklearn.metrics import classification_report + +## model specific variables (iterate the version and note with each change) +MODEL_VERSION = 0.1 +MODEL_VERSION_NOTE = "example random forest on toy data" +SAVED_MODEL = "model-{}.joblib".format(re.sub("\.","_",str(MODEL_VERSION))) +LOG_PATH = os.path.join(os.path.dirname(__file__),'..','log') + +def fetch_data(): + """ + example function to fetch data for training + """ + + ## import some data to play with + iris = datasets.load_iris() + X = iris.data[:,:2] + y = iris.target + + return(X,y) + + +def update_predict_log(country,y_pred,y_proba,target_date,runtime,MODEL_VERSION): + """ + update predict log file + """ + + ## name the logfile using something that cycles with date (day, month, year) + today = date.today() + log_file = f"example-predict-{str(today.year)}-{str(today.month)}.log" + log_file = os.path.join(LOG_PATH,log_file) + ## write the data to a csv file + header = ['unique_id','timestamp','y_pred','y_proba','target_date','runtime','MODEL_VERSION'] + write_header = False + if not os.path.exists(log_file): + write_header = True + with open(log_file,'a') as csvfile: + writer = csv.writer(csvfile, delimiter=',', quotechar='|') + if write_header: + writer.writerow(header) + + to_write = map(str,[uuid.uuid4(),time.time(),country,y_pred,y_proba,target_date,runtime,MODEL_VERSION]) + writer.writerow(to_write) + + +def update_train_log(country,x_shape,date_range,metric,runtime,MODEL_VERSION, MODEL_VERSION_NOTE) : + today = date.today() + print('-'*50) + log_file = f"example-training-{str(today.year)}-{str(today.month)}.log" + log_file = os.path.join(LOG_PATH,log_file) + header = ['unique_id','time_stamp','country','trainingset_shape','date_range,metric','runtime,MODEL_VERSION', 'MODEL_VERSION_NOTE'] + with open(log_file,'a') as csvfile: + writer = csv.writer(csvfile) + write_header = False + if not os.path.exists(log_file): + write_header = True + with open(log_file,'a') as csvfile: + writer = csv.writer(csvfile, delimiter=',', quotechar='|') + if write_header: + writer.writerow(header) + to_write = map(str,[uuid.uuid4(),time.time(),x_shape,country,date_range,metric,runtime,MODEL_VERSION, MODEL_VERSION_NOTE]) + writer.writerow(to_write) + + +#def model_train(mode=None): +# """ +# example funtion to train model +# +# 'mode' - can be used to subset data essentially simulating a train +# """ +# +# ## data ingestion +# X,y = fetch_data() +# time_start = time.time() +# ## Perform a train-test split +# X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42) +# +# ## Specify parameters and model +# params = {'C':1.0,'kernel':'linear','gamma':0.5} +# clf = svm.SVC(**params,probability=True) +# +# ## fit model on training data +# clf = clf.fit(X_train, y_train) +# y_pred = clf.predict(X_test) +# print(classification_report(y_test,y_pred)) +# +# ## retrain using all data +# clf.fit(X, y) +# print("... saving model: {}".format(SAVED_MODEL)) +# joblib.dump(clf,SAVED_MODEL) +# runtime =convert_second(time.time() - time_start) +# _create_training_log(X_train,runtime) +# +#def model_load(): +# """ +# example funtion to load model +# """ +# +# if not os.path.exists(SAVED_MODEL): +# raise Exception("Model '{}' cannot be found did you train the model?".format(SAVED_MODEL)) +# +# model = joblib.load(SAVED_MODEL) +# return(model) +# +#def model_predict(query,model=None): +# """ +# example funtion to predict from model +# """ +# time_start = time.time() +# ## load model if needed +# if not model: +# model = model_load() +# +# ## output checking +# if len(query.shape) == 1: +# query = query.reshape(1, -1) +# +# ## make prediction and gather data for log entry +# y_pred = model.predict(query) +# y_proba = None +# if 'predict_proba' in dir(model) and model.probability == True: +# y_proba = model.predict_proba(query) +# runtime =convert_second(time.time() - time_start) +# _update_predict_log(y_pred,y_proba,query,runtime) +# return({'y_pred':y_pred,'y_proba':y_proba}) + +def convert_second(seconds): + seconds = seconds % (24 * 3600) + hour = seconds // 3600 + seconds %= 3600 + minutes = seconds // 60 + seconds %= 60 + return "%d:%02d:%02d" % (hour, minutes, seconds) + +if __name__ == "__main__": + + """ + basic test procedure for model.py + """ + ## train the model + model_train() + + ## load the model + model = model_load() + + ## example predict + for query in [np.array([[6.1,2.8]]), np.array([[7.7,2.5]]), np.array([[5.8,3.8]])]: + result = model_predict(query,model) + y_pred = result['y_pred'] + print("predicted: {}".format(y_pred)) + + + diff --git a/solution-guidance/model.py b/src/model.py similarity index 75% rename from solution-guidance/model.py rename to src/model.py index 8f006a252..d9f4cf7e6 100644 --- a/solution-guidance/model.py +++ b/src/model.py @@ -10,15 +10,16 @@ from sklearn.preprocessing import StandardScaler, OneHotEncoder from sklearn.pipeline import Pipeline -from logger import update_predict_log, update_train_log -from cslib import fetch_ts, engineer_features +from .logger import update_predict_log, update_train_log +from .cslib import fetch_ts, engineer_features,convert ## model specific variables (iterate the version and note with each change) -MODEL_DIR = "models" +wdir = os.path.abspath(os.path.join(os.path.dirname(__file__),'..')) +MODEL_DIR = os.path.join(wdir,"models") MODEL_VERSION = 0.1 MODEL_VERSION_NOTE = "supervised learing model for time-series" -def _model_train(df,tag,test=False): +def _model_train(df =None,prefix ='sl',country=None,test=False): """ example funtion to train model @@ -56,7 +57,7 @@ def _model_train(df,tag,test=False): ('rf', RandomForestRegressor())]) grid = GridSearchCV(pipe_rf, param_grid=param_grid_rf, cv=5, iid=False, n_jobs=-1) - grid.fit(X_train, y_train) + grid.fit(X_train[:5], y_train[:5]) y_pred = grid.predict(X_test) eval_rmse = round(np.sqrt(mean_squared_error(y_test,y_pred))) @@ -65,25 +66,23 @@ def _model_train(df,tag,test=False): model_name = re.sub("\.","_",str(MODEL_VERSION)) if test: saved_model = os.path.join(MODEL_DIR, - "test-{}-{}.joblib".format(tag,model_name)) + "test-{}-{}.joblib".format(country,model_name)) print("... saving test version of model: {}".format(saved_model)) else: saved_model = os.path.join(MODEL_DIR, - "sl-{}-{}.joblib".format(tag,model_name)) + "{}-{}-{}.joblib".format(prefix,country,model_name)) print("... saving model: {}".format(saved_model)) joblib.dump(grid,saved_model) - m, s = divmod(time.time()-time_start, 60) - h, m = divmod(m, 60) - runtime = "%03d:%02d:%02d"%(h, m, s) + runtime = convert((time.time()-time_start)) ## update log - update_train_log(tag,(str(dates[0]),str(dates[-1])),{'rmse':eval_rmse},runtime, - MODEL_VERSION, MODEL_VERSION_NOTE,test=True) + date_range = f"{str(dates[0])} - {str(dates[-1])}" + update_train_log(country,X.shape,date_range,{'rmse':eval_rmse},runtime,MODEL_VERSION, MODEL_VERSION_NOTE) -def model_train(data_dir,test=False): +def model_train(data_dir,prefix ='sl',test=False,for_country = False): """ funtion to train model given a df @@ -106,10 +105,15 @@ def model_train(data_dir,test=False): if test and country not in ['all','united_kingdom']: continue - - _model_train(df,country,test=test) + if for_country== True: + _model_train(df,prefix,country,test=test) + else: + if country == for_country: + _model_train(df,prefix,country,test=test) + else:pass + -def model_load(prefix='sl',data_dir=None,training=True): +def model_load(country,prefix='sl',data_dir=None,training=True): """ example funtion to load model @@ -117,24 +121,25 @@ def model_load(prefix='sl',data_dir=None,training=True): """ if not data_dir: - data_dir = os.path.join("..","data","cs-train") - - models = [f for f in os.listdir(os.path.join(".","models")) if re.search("sl",f)] + data_dir = os.path.join(wdir,"cs-train") + model_name = prefix +'-' + country + models = [f for f in os.listdir(os.path.join(MODEL_DIR)) if re.search(model_name,f)] if len(models) == 0: raise Exception("Models with prefix '{}' cannot be found did you train?".format(prefix)) all_models = {} for model in models: - all_models[re.split("-",model)[1]] = joblib.load(os.path.join(".","models",model)) + all_models[re.split("-",model)[1]] = joblib.load(os.path.join(MODEL_DIR,model)) ## load data ts_data = fetch_ts(data_dir) all_data = {} - for country, df in ts_data.items(): - X,y,dates = engineer_features(df,training=training) - dates = np.array([str(d) for d in dates]) - all_data[country] = {"X":X,"y":y,"dates": dates} + for Country, df in ts_data.items(): + if Country.lower() == country.lower(): + X,y,dates = engineer_features(df,training=training) + dates = np.array([str(d) for d in dates]) + all_data[Country] = {"X":X,"y":y,"dates": dates} return(all_data, all_models) @@ -148,7 +153,7 @@ def model_predict(country,year,month,day,all_models=None,test=False): ## load model if needed if not all_models: - all_data,all_models = model_load(training=False) + all_data,all_models = model_load(country,training=False) ## input checks if country not in all_models.keys(): @@ -184,14 +189,11 @@ def model_predict(country,year,month,day,all_models=None,test=False): if model.probability == True: y_proba = model.predict_proba(query) - - m, s = divmod(time.time()-time_start, 60) - h, m = divmod(m, 60) - runtime = "%03d:%02d:%02d"%(h, m, s) + runtime = convert((time.time()-time_start)) ## update predict log update_predict_log(country,y_pred,y_proba,target_date, - runtime, MODEL_VERSION, test=test) + runtime, MODEL_VERSION) return({'y_pred':y_pred,'y_proba':y_proba}) @@ -203,8 +205,9 @@ def model_predict(country,year,month,day,all_models=None,test=False): ## train the model print("TRAINING MODELS") - data_dir = os.path.join("..","data","cs-train") - model_train(data_dir,test=True) + from os import path + data_dir = path.join(path.dirname(__file__),'..',"cs-train") + model_train('',data_dir,test=False) ## load the model print("LOADING MODELS") diff --git a/src/models/sl-all-0_1.joblib b/src/models/sl-all-0_1.joblib new file mode 100644 index 000000000..01e1af7c2 Binary files /dev/null and b/src/models/sl-all-0_1.joblib differ diff --git a/src/models/test-all-0_1.joblib b/src/models/test-all-0_1.joblib new file mode 100644 index 000000000..854b45518 Binary files /dev/null and b/src/models/test-all-0_1.joblib differ diff --git a/src/models/test-united_kingdom-0_1.joblib b/src/models/test-united_kingdom-0_1.joblib new file mode 100644 index 000000000..f1a6ca0f1 Binary files /dev/null and b/src/models/test-united_kingdom-0_1.joblib differ diff --git a/static/beta.png b/static/beta.png new file mode 100644 index 000000000..9976fe475 Binary files /dev/null and b/static/beta.png differ diff --git a/static/bootstrap.min.css b/static/bootstrap.min.css new file mode 100644 index 000000000..4cf729e43 --- /dev/null +++ b/static/bootstrap.min.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap v3.3.6 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/static/code.css b/static/code.css new file mode 100644 index 000000000..15303c4eb --- /dev/null +++ b/static/code.css @@ -0,0 +1,74 @@ +/* railcasts.css + * https://github.com/uraimo/pygments-vimstyles/blob/2a99e97f6383d1b978917ff42f9ecdd6b2f021c0/railscasts.css + */ + +.highlight { background: #000000 !important; color: #e6e1dc} +.highlight .hll { background-color: #ffffcc } +.highlight .c { color: #BC9458; font-style: italic} /* Comment */ +.highlight .err { color: #E6E1DC} /* Error */ +.highlight .g { color: #E6E1DC} /* Generic */ +.highlight .k { color: #CC7833} /* Keyword */ +.highlight .l { color: #E6E1DC} /* Literal */ +.highlight .n { color: #E6E1DC} /* Name */ +.highlight .o { color: #E6E1DC} /* Operator */ +.highlight .x { color: #E6E1DC} /* Other */ +.highlight .p { color: #E6E1DC} /* Punctuation */ +.highlight .cm { color: #BC9458; font-style: italic} /* Comment.Multiline */ +.highlight .cp { color: #CC7833} /* Comment.Preproc */ +.highlight .c1 { color: #BC9458; font-style: italic} /* Comment.Single */ +.highlight .cs { color: #BC9458; font-style: italic} /* Comment.Special */ +.highlight .gd { color: #E6E1DC; background-color: #660000 } /* Generic.Deleted */ +.highlight .ge { color: #E6E1DC} /* Generic.Emph */ +.highlight .gr { color: #FFFFFF; background-color: #990000 } /* Generic.Error */ +.highlight .gh { color: #FFFFFF} /* Generic.Heading */ +.highlight .gi { color: #E6E1DC; background-color: #144212 } /* Generic.Inserted */ +.highlight .go { color: #E6E1DC} /* Generic.Output */ +.highlight .gp { color: #E6E1DC} /* Generic.Prompt */ +.highlight .gs { color: #E6E1DC} /* Generic.Strong */ +.highlight .gu { color: #FFFFFF} /* Generic.Subheading */ +.highlight .gt { color: #E6E1DC} /* Generic.Traceback */ +.highlight .kc { color: #CC7833} /* Keyword.Constant */ +.highlight .kd { color: #CC7833} /* Keyword.Declaration */ +.highlight .kn { color: #CC7833} /* Keyword.Namespace */ +.highlight .kp { color: #CC7833} /* Keyword.Pseudo */ +.highlight .kr { color: #CC7833} /* Keyword.Reserved */ +.highlight .kt { color: #DA4939} /* Keyword.Type */ +.highlight .ld { color: #E6E1DC} /* Literal.Date */ +.highlight .m { color: #A5C261} /* Literal.Number */ +.highlight .s { color: #A5C261} /* Literal.String */ +.highlight .na { color: #FFC66D} /* Name.Attribute */ +.highlight .nb { color: #E6E1DC} /* Name.Builtin */ +.highlight .nc { color: #E6E1DC} /* Name.Class */ +.highlight .no { color: #6D9CBE} /* Name.Constant */ +.highlight .nd { color: #E6E1DC} /* Name.Decorator */ +.highlight .ni { color: #E6E1DC} /* Name.Entity */ +.highlight .ne { color: #E6E1DC} /* Name.Exception */ +.highlight .nf { color: #FFC66D} /* Name.Function */ +.highlight .nl { color: #E6E1DC} /* Name.Label */ +.highlight .nn { color: #E6E1DC} /* Name.Namespace */ +.highlight .nx { color: #E6E1DC} /* Name.Other */ +.highlight .py { color: #E6E1DC} /* Name.Property */ +.highlight .nt { color: #CC7833} /* Name.Tag */ +.highlight .nv { color: #D0D0FF} /* Name.Variable */ +.highlight .ow { color: #E6E1DC} /* Operator.Word */ +.highlight .w { color: #E6E1DC} /* Text.Whitespace */ +.highlight .mf { color: #A5C261} /* Literal.Number.Float */ +.highlight .mh { color: #A5C261} /* Literal.Number.Hex */ +.highlight .mi { color: #A5C261} /* Literal.Number.Integer */ +.highlight .mo { color: #A5C261} /* Literal.Number.Oct */ +.highlight .sb { color: #A5C261} /* Literal.String.Backtick */ +.highlight .sc { color: #A5C261} /* Literal.String.Char */ +.highlight .sd { color: #A5C261} /* Literal.String.Doc */ +.highlight .s2 { color: #A5C261} /* Literal.String.Double */ +.highlight .se { color: #A5C261} /* Literal.String.Escape */ +.highlight .sh { color: #A5C261} /* Literal.String.Heredoc */ +.highlight .si { color: #A5C261} /* Literal.String.Interpol */ +.highlight .sx { color: #A5C261} /* Literal.String.Other */ +.highlight .sr { color: #A5C261} /* Literal.String.Regex */ +.highlight .s1 { color: #A5C261} /* Literal.String.Single */ +.highlight .ss { color: #A5C261} /* Literal.String.Symbol */ +.highlight .bp { color: #E6E1DC} /* Name.Builtin.Pseudo */ +.highlight .vc { color: #D0D0FF} /* Name.Variable.Class */ +.highlight .vg { color: #D0D0FF} /* Name.Variable.Global */ +.highlight .vi { color: #D0D0FF} /* Name.Variable.Instance */ +.highlight .il { color: #A5C261} /* Literal.Number.Integer.Long */ diff --git a/static/css/logo-nav.css b/static/css/logo-nav.css new file mode 100644 index 000000000..0160ca6bf --- /dev/null +++ b/static/css/logo-nav.css @@ -0,0 +1,15 @@ +/*! + * Start Bootstrap - Logo Nav (https://startbootstrap.com/template-overviews/logo-nav) + * Copyright 2013-2017 Start Bootstrap + * Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap-logo-nav/blob/master/LICENSE) + */ + +body { + padding-top: 54px; +} + +@media (min-width: 992px) { + body { + padding-top: 56px; + } +} diff --git a/static/jumbotron-narrow.css b/static/jumbotron-narrow.css new file mode 100644 index 000000000..0b1e054d5 --- /dev/null +++ b/static/jumbotron-narrow.css @@ -0,0 +1,79 @@ +/* Space out content a bit */ +body { + padding-top: 20px; + padding-bottom: 20px; +} + +/* Everything but the jumbotron gets side spacing for mobile first views */ +.header, +.marketing, +.footer { + padding-right: 15px; + padding-left: 15px; +} + +/* Custom page header */ +.header { + padding-bottom: 20px; + border-bottom: 1px solid #e5e5e5; +} +/* Make the masthead heading the same height as the navigation */ +.header h3 { + margin-top: 0; + margin-bottom: 0; + line-height: 40px; +} + +/* Custom page footer */ +.footer { + padding-top: 19px; + color: #777; + border-top: 1px solid #e5e5e5; +} + +/* Customize container */ +@media (min-width: 768px) { + .container { + max-width: 730px; + } +} +.container-narrow > hr { + margin: 30px 0; +} + +/* Main marketing message and sign up button */ +.jumbotron { + text-align: center; + border-bottom: 1px solid #e5e5e5; +} +.jumbotron .btn { + padding: 14px 24px; + font-size: 21px; +} + +/* Supporting marketing content */ +.marketing { + margin: 40px 0; +} +.marketing p + h4 { + margin-top: 28px; +} + +/* Responsive: Portrait tablets and up */ +@media screen and (min-width: 768px) { + /* Remove the padding we set earlier */ + .header, + .marketing, + .footer { + padding-right: 0; + padding-left: 0; + } + /* Space out the masthead */ + .header { + margin-bottom: 30px; + } + /* Remove the bottom border on the jumbotron for visual effect */ + .jumbotron { + border-bottom: 0; + } +} \ No newline at end of file diff --git a/static/loading.gif b/static/loading.gif new file mode 100644 index 000000000..3c2f7c058 Binary files /dev/null and b/static/loading.gif differ diff --git a/static/objects.inv b/static/objects.inv new file mode 100644 index 000000000..42a3d740e --- /dev/null +++ b/static/objects.inv @@ -0,0 +1,8 @@ +# Sphinx inventory version 2 +# Project: GQuestions +# Version: 0.1 +# The remainder of this file is compressed using zlib. +xÚmÍ +Â0„ïyм@¯žñ ( .col, +.no-gutters > [class*="col-"] { + padding-right: 0; + padding-left: 0; +} + +.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, +.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, +.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, +.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, +.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, +.col-xl-auto { + position: relative; + width: 100%; + min-height: 1px; + padding-right: 15px; + padding-left: 15px; +} + +.col { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; +} + +.col-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; +} + +.col-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; +} + +.col-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; +} + +.col-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; +} + +.col-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; +} + +.col-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; +} + +.col-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; +} + +.col-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; +} + +.col-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; +} + +.col-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; +} + +.col-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; +} + +.col-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; +} + +.col-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; +} + +.order-first { + -ms-flex-order: -1; + order: -1; +} + +.order-1 { + -ms-flex-order: 1; + order: 1; +} + +.order-2 { + -ms-flex-order: 2; + order: 2; +} + +.order-3 { + -ms-flex-order: 3; + order: 3; +} + +.order-4 { + -ms-flex-order: 4; + order: 4; +} + +.order-5 { + -ms-flex-order: 5; + order: 5; +} + +.order-6 { + -ms-flex-order: 6; + order: 6; +} + +.order-7 { + -ms-flex-order: 7; + order: 7; +} + +.order-8 { + -ms-flex-order: 8; + order: 8; +} + +.order-9 { + -ms-flex-order: 9; + order: 9; +} + +.order-10 { + -ms-flex-order: 10; + order: 10; +} + +.order-11 { + -ms-flex-order: 11; + order: 11; +} + +.order-12 { + -ms-flex-order: 12; + order: 12; +} + +.offset-1 { + margin-left: 8.333333%; +} + +.offset-2 { + margin-left: 16.666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.333333%; +} + +.offset-5 { + margin-left: 41.666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.333333%; +} + +.offset-8 { + margin-left: 66.666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.333333%; +} + +.offset-11 { + margin-left: 91.666667%; +} + +@media (min-width: 576px) { + .col-sm { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-sm-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + .col-sm-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-sm-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-sm-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-sm-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-sm-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-sm-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-sm-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-sm-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-sm-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-sm-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-sm-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-sm-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-sm-first { + -ms-flex-order: -1; + order: -1; + } + .order-sm-1 { + -ms-flex-order: 1; + order: 1; + } + .order-sm-2 { + -ms-flex-order: 2; + order: 2; + } + .order-sm-3 { + -ms-flex-order: 3; + order: 3; + } + .order-sm-4 { + -ms-flex-order: 4; + order: 4; + } + .order-sm-5 { + -ms-flex-order: 5; + order: 5; + } + .order-sm-6 { + -ms-flex-order: 6; + order: 6; + } + .order-sm-7 { + -ms-flex-order: 7; + order: 7; + } + .order-sm-8 { + -ms-flex-order: 8; + order: 8; + } + .order-sm-9 { + -ms-flex-order: 9; + order: 9; + } + .order-sm-10 { + -ms-flex-order: 10; + order: 10; + } + .order-sm-11 { + -ms-flex-order: 11; + order: 11; + } + .order-sm-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.333333%; + } + .offset-sm-2 { + margin-left: 16.666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.333333%; + } + .offset-sm-5 { + margin-left: 41.666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.333333%; + } + .offset-sm-8 { + margin-left: 66.666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.333333%; + } + .offset-sm-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 768px) { + .col-md { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-md-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + .col-md-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-md-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-md-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-md-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-md-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-md-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-md-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-md-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-md-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-md-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-md-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-md-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-md-first { + -ms-flex-order: -1; + order: -1; + } + .order-md-1 { + -ms-flex-order: 1; + order: 1; + } + .order-md-2 { + -ms-flex-order: 2; + order: 2; + } + .order-md-3 { + -ms-flex-order: 3; + order: 3; + } + .order-md-4 { + -ms-flex-order: 4; + order: 4; + } + .order-md-5 { + -ms-flex-order: 5; + order: 5; + } + .order-md-6 { + -ms-flex-order: 6; + order: 6; + } + .order-md-7 { + -ms-flex-order: 7; + order: 7; + } + .order-md-8 { + -ms-flex-order: 8; + order: 8; + } + .order-md-9 { + -ms-flex-order: 9; + order: 9; + } + .order-md-10 { + -ms-flex-order: 10; + order: 10; + } + .order-md-11 { + -ms-flex-order: 11; + order: 11; + } + .order-md-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.333333%; + } + .offset-md-2 { + margin-left: 16.666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.333333%; + } + .offset-md-5 { + margin-left: 41.666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.333333%; + } + .offset-md-8 { + margin-left: 66.666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.333333%; + } + .offset-md-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 992px) { + .col-lg { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-lg-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + .col-lg-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-lg-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-lg-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-lg-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-lg-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-lg-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-lg-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-lg-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-lg-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-lg-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-lg-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-lg-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-lg-first { + -ms-flex-order: -1; + order: -1; + } + .order-lg-1 { + -ms-flex-order: 1; + order: 1; + } + .order-lg-2 { + -ms-flex-order: 2; + order: 2; + } + .order-lg-3 { + -ms-flex-order: 3; + order: 3; + } + .order-lg-4 { + -ms-flex-order: 4; + order: 4; + } + .order-lg-5 { + -ms-flex-order: 5; + order: 5; + } + .order-lg-6 { + -ms-flex-order: 6; + order: 6; + } + .order-lg-7 { + -ms-flex-order: 7; + order: 7; + } + .order-lg-8 { + -ms-flex-order: 8; + order: 8; + } + .order-lg-9 { + -ms-flex-order: 9; + order: 9; + } + .order-lg-10 { + -ms-flex-order: 10; + order: 10; + } + .order-lg-11 { + -ms-flex-order: 11; + order: 11; + } + .order-lg-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.333333%; + } + .offset-lg-2 { + margin-left: 16.666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.333333%; + } + .offset-lg-5 { + margin-left: 41.666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.333333%; + } + .offset-lg-8 { + margin-left: 66.666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.333333%; + } + .offset-lg-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 1200px) { + .col-xl { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-xl-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + .col-xl-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-xl-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-xl-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-xl-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-xl-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-xl-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-xl-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-xl-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-xl-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-xl-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-xl-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-xl-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-xl-first { + -ms-flex-order: -1; + order: -1; + } + .order-xl-1 { + -ms-flex-order: 1; + order: 1; + } + .order-xl-2 { + -ms-flex-order: 2; + order: 2; + } + .order-xl-3 { + -ms-flex-order: 3; + order: 3; + } + .order-xl-4 { + -ms-flex-order: 4; + order: 4; + } + .order-xl-5 { + -ms-flex-order: 5; + order: 5; + } + .order-xl-6 { + -ms-flex-order: 6; + order: 6; + } + .order-xl-7 { + -ms-flex-order: 7; + order: 7; + } + .order-xl-8 { + -ms-flex-order: 8; + order: 8; + } + .order-xl-9 { + -ms-flex-order: 9; + order: 9; + } + .order-xl-10 { + -ms-flex-order: 10; + order: 10; + } + .order-xl-11 { + -ms-flex-order: 11; + order: 11; + } + .order-xl-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.333333%; + } + .offset-xl-2 { + margin-left: 16.666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.333333%; + } + .offset-xl-5 { + margin-left: 41.666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.333333%; + } + .offset-xl-8 { + margin-left: 66.666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.333333%; + } + .offset-xl-11 { + margin-left: 91.666667%; + } +} + +.flex-row { + -ms-flex-direction: row !important; + flex-direction: row !important; +} + +.flex-column { + -ms-flex-direction: column !important; + flex-direction: column !important; +} + +.flex-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; +} + +.flex-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; +} + +.flex-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; +} + +.justify-content-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; +} + +.justify-content-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; +} + +.justify-content-center { + -ms-flex-pack: center !important; + justify-content: center !important; +} + +.justify-content-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; +} + +.justify-content-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; +} + +.align-items-start { + -ms-flex-align: start !important; + align-items: flex-start !important; +} + +.align-items-end { + -ms-flex-align: end !important; + align-items: flex-end !important; +} + +.align-items-center { + -ms-flex-align: center !important; + align-items: center !important; +} + +.align-items-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; +} + +.align-items-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; +} + +.align-content-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; +} + +.align-content-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; +} + +.align-content-center { + -ms-flex-line-pack: center !important; + align-content: center !important; +} + +.align-content-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; +} + +.align-content-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; +} + +.align-content-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; +} + +.align-self-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; +} + +.align-self-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; +} + +.align-self-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; +} + +.align-self-center { + -ms-flex-item-align: center !important; + align-self: center !important; +} + +.align-self-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; +} + +.align-self-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; +} + +@media (min-width: 576px) { + .flex-sm-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-sm-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-sm-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-sm-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .justify-content-sm-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-sm-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-sm-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-sm-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-sm-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-sm-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-sm-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-sm-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-sm-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-sm-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-sm-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-sm-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-sm-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-sm-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-sm-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-sm-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-sm-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-sm-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-sm-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-sm-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-sm-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-sm-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 768px) { + .flex-md-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-md-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-md-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-md-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-md-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .justify-content-md-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-md-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-md-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-md-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-md-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-md-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-md-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-md-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-md-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-md-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-md-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-md-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-md-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-md-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-md-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-md-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-md-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-md-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-md-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-md-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-md-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-md-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 992px) { + .flex-lg-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-lg-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-lg-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-lg-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .justify-content-lg-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-lg-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-lg-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-lg-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-lg-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-lg-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-lg-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-lg-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-lg-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-lg-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-lg-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-lg-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-lg-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-lg-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-lg-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-lg-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-lg-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-lg-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-lg-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-lg-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-lg-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-lg-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 1200px) { + .flex-xl-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-xl-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-xl-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-xl-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .justify-content-xl-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-xl-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-xl-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-xl-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-xl-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-xl-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-xl-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-xl-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-xl-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-xl-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-xl-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-xl-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-xl-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-xl-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-xl-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-xl-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-xl-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-xl-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-xl-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-xl-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-xl-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-xl-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} +/*# sourceMappingURL=bootstrap-grid.css.map */ \ No newline at end of file diff --git a/static/vendor/bootstrap/css/bootstrap-grid.min.css b/static/vendor/bootstrap/css/bootstrap-grid.min.css new file mode 100644 index 000000000..a7b220f5f --- /dev/null +++ b/static/vendor/bootstrap/css/bootstrap-grid.min.css @@ -0,0 +1,7 @@ +/*! + * Bootstrap Grid v4.0.0-beta.2 (https://getbootstrap.com) + * Copyright 2011-2017 The Bootstrap Authors + * Copyright 2011-2017 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */@-ms-viewport{width:device-width}html{box-sizing:border-box;-ms-overflow-style:scrollbar}*,::after,::before{box-sizing:inherit}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}} +/*# sourceMappingURL=bootstrap-grid.min.css.map */ \ No newline at end of file diff --git a/static/vendor/bootstrap/css/bootstrap-reboot.css b/static/vendor/bootstrap/css/bootstrap-reboot.css new file mode 100644 index 000000000..713196fcf --- /dev/null +++ b/static/vendor/bootstrap/css/bootstrap-reboot.css @@ -0,0 +1,342 @@ +/*! + * Bootstrap Reboot v4.0.0-beta.2 (https://getbootstrap.com) + * Copyright 2011-2017 The Bootstrap Authors + * Copyright 2011-2017 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) + */ +*, +*::before, +*::after { + box-sizing: border-box; +} + +html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + -ms-overflow-style: scrollbar; + -webkit-tap-highlight-color: transparent; +} + +@-ms-viewport { + width: device-width; +} + +article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section { + display: block; +} + +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: left; + background-color: #fff; +} + +[tabindex="-1"]:focus { + outline: none !important; +} + +hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} + +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: 0.5rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title], +abbr[data-original-title] { + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 700; +} + +dd { + margin-bottom: .5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +dfn { + font-style: italic; +} + +b, +strong { + font-weight: bolder; +} + +small { + font-size: 80%; +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -.25em; +} + +sup { + top: -.5em; +} + +a { + color: #007bff; + text-decoration: none; + background-color: transparent; + -webkit-text-decoration-skip: objects; +} + +a:hover { + color: #0056b3; + text-decoration: underline; +} + +a:not([href]):not([tabindex]) { + color: inherit; + text-decoration: none; +} + +a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover { + color: inherit; + text-decoration: none; +} + +a:not([href]):not([tabindex]):focus { + outline: 0; +} + +pre, +code, +kbd, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + -ms-overflow-style: scrollbar; +} + +figure { + margin: 0 0 1rem; +} + +img { + vertical-align: middle; + border-style: none; +} + +svg:not(:root) { + overflow: hidden; +} + +a, +area, +button, +[role="button"], +input:not([type="range"]), +label, +select, +summary, +textarea { + -ms-touch-action: manipulation; + touch-action: manipulation; +} + +table { + border-collapse: collapse; +} + +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #868e96; + text-align: left; + caption-side: bottom; +} + +th { + text-align: inherit; +} + +label { + display: inline-block; + margin-bottom: .5rem; +} + +button { + border-radius: 0; +} + +button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +input { + overflow: visible; +} + +button, +select { + text-transform: none; +} + +button, +html [type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + padding: 0; + border-style: none; +} + +input[type="radio"], +input[type="checkbox"] { + box-sizing: border-box; + padding: 0; +} + +input[type="date"], +input[type="time"], +input[type="datetime-local"], +input[type="month"] { + -webkit-appearance: listbox; +} + +textarea { + overflow: auto; + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: .5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal; +} + +progress { + vertical-align: baseline; +} + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +[type="search"] { + outline-offset: -2px; + -webkit-appearance: none; +} + +[type="search"]::-webkit-search-cancel-button, +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +summary { + display: list-item; +} + +template { + display: none; +} + +[hidden] { + display: none !important; +} +/*# sourceMappingURL=bootstrap-reboot.css.map */ \ No newline at end of file diff --git a/static/vendor/bootstrap/css/bootstrap-reboot.min.css b/static/vendor/bootstrap/css/bootstrap-reboot.min.css new file mode 100644 index 000000000..3f4f1a877 --- /dev/null +++ b/static/vendor/bootstrap/css/bootstrap-reboot.min.css @@ -0,0 +1,8 @@ +/*! + * Bootstrap Reboot v4.0.0-beta.2 (https://getbootstrap.com) + * Copyright 2011-2017 The Bootstrap Authors + * Copyright 2011-2017 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) + */*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}[role=button],a,area,button,input:not([type=range]),label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#868e96;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important} +/*# sourceMappingURL=bootstrap-reboot.min.css.map */ \ No newline at end of file diff --git a/static/vendor/bootstrap/css/bootstrap.css b/static/vendor/bootstrap/css/bootstrap.css new file mode 100644 index 000000000..aa497136c --- /dev/null +++ b/static/vendor/bootstrap/css/bootstrap.css @@ -0,0 +1,8975 @@ +/*! + * Bootstrap v4.0.0 (https://getbootstrap.com) + * Copyright 2011-2018 The Bootstrap Authors + * Copyright 2011-2018 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +:root { + --blue: #007bff; + --indigo: #6610f2; + --purple: #6f42c1; + --pink: #e83e8c; + --red: #dc3545; + --orange: #fd7e14; + --yellow: #ffc107; + --green: #28a745; + --teal: #20c997; + --cyan: #17a2b8; + --white: #fff; + --gray: #6c757d; + --gray-dark: #343a40; + --primary: #007bff; + --secondary: #6c757d; + --success: #28a745; + --info: #17a2b8; + --warning: #ffc107; + --danger: #dc3545; + --light: #f8f9fa; + --dark: #343a40; + --breakpoint-xs: 0; + --breakpoint-sm: 576px; + --breakpoint-md: 768px; + --breakpoint-lg: 992px; + --breakpoint-xl: 1200px; + --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} + +*, +*::before, +*::after { + box-sizing: border-box; +} + +html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + -ms-overflow-style: scrollbar; + -webkit-tap-highlight-color: transparent; +} + +@-ms-viewport { + width: device-width; +} + +article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section { + display: block; +} + +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: left; + background-color: #fff; +} + +[tabindex="-1"]:focus { + outline: 0 !important; +} + +hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} + +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: 0.5rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title], +abbr[data-original-title] { + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 700; +} + +dd { + margin-bottom: .5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +dfn { + font-style: italic; +} + +b, +strong { + font-weight: bolder; +} + +small { + font-size: 80%; +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -.25em; +} + +sup { + top: -.5em; +} + +a { + color: #007bff; + text-decoration: none; + background-color: transparent; + -webkit-text-decoration-skip: objects; +} + +a:hover { + color: #0056b3; + text-decoration: underline; +} + +a:not([href]):not([tabindex]) { + color: inherit; + text-decoration: none; +} + +a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus { + color: inherit; + text-decoration: none; +} + +a:not([href]):not([tabindex]):focus { + outline: 0; +} + +pre, +code, +kbd, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + -ms-overflow-style: scrollbar; +} + +figure { + margin: 0 0 1rem; +} + +img { + vertical-align: middle; + border-style: none; +} + +svg:not(:root) { + overflow: hidden; +} + +table { + border-collapse: collapse; +} + +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #6c757d; + text-align: left; + caption-side: bottom; +} + +th { + text-align: inherit; +} + +label { + display: inline-block; + margin-bottom: .5rem; +} + +button { + border-radius: 0; +} + +button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +input { + overflow: visible; +} + +button, +select { + text-transform: none; +} + +button, +html [type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + padding: 0; + border-style: none; +} + +input[type="radio"], +input[type="checkbox"] { + box-sizing: border-box; + padding: 0; +} + +input[type="date"], +input[type="time"], +input[type="datetime-local"], +input[type="month"] { + -webkit-appearance: listbox; +} + +textarea { + overflow: auto; + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: .5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal; +} + +progress { + vertical-align: baseline; +} + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +[type="search"] { + outline-offset: -2px; + -webkit-appearance: none; +} + +[type="search"]::-webkit-search-cancel-button, +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +summary { + display: list-item; + cursor: pointer; +} + +template { + display: none; +} + +[hidden] { + display: none !important; +} + +h1, h2, h3, h4, h5, h6, +.h1, .h2, .h3, .h4, .h5, .h6 { + margin-bottom: 0.5rem; + font-family: inherit; + font-weight: 500; + line-height: 1.2; + color: inherit; +} + +h1, .h1 { + font-size: 2.5rem; +} + +h2, .h2 { + font-size: 2rem; +} + +h3, .h3 { + font-size: 1.75rem; +} + +h4, .h4 { + font-size: 1.5rem; +} + +h5, .h5 { + font-size: 1.25rem; +} + +h6, .h6 { + font-size: 1rem; +} + +.lead { + font-size: 1.25rem; + font-weight: 300; +} + +.display-1 { + font-size: 6rem; + font-weight: 300; + line-height: 1.2; +} + +.display-2 { + font-size: 5.5rem; + font-weight: 300; + line-height: 1.2; +} + +.display-3 { + font-size: 4.5rem; + font-weight: 300; + line-height: 1.2; +} + +.display-4 { + font-size: 3.5rem; + font-weight: 300; + line-height: 1.2; +} + +hr { + margin-top: 1rem; + margin-bottom: 1rem; + border: 0; + border-top: 1px solid rgba(0, 0, 0, 0.1); +} + +small, +.small { + font-size: 80%; + font-weight: 400; +} + +mark, +.mark { + padding: 0.2em; + background-color: #fcf8e3; +} + +.list-unstyled { + padding-left: 0; + list-style: none; +} + +.list-inline { + padding-left: 0; + list-style: none; +} + +.list-inline-item { + display: inline-block; +} + +.list-inline-item:not(:last-child) { + margin-right: 0.5rem; +} + +.initialism { + font-size: 90%; + text-transform: uppercase; +} + +.blockquote { + margin-bottom: 1rem; + font-size: 1.25rem; +} + +.blockquote-footer { + display: block; + font-size: 80%; + color: #6c757d; +} + +.blockquote-footer::before { + content: "\2014 \00A0"; +} + +.img-fluid { + max-width: 100%; + height: auto; +} + +.img-thumbnail { + padding: 0.25rem; + background-color: #fff; + border: 1px solid #dee2e6; + border-radius: 0.25rem; + max-width: 100%; + height: auto; +} + +.figure { + display: inline-block; +} + +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} + +.figure-caption { + font-size: 90%; + color: #6c757d; +} + +code, +kbd, +pre, +samp { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} + +code { + font-size: 87.5%; + color: #e83e8c; + word-break: break-word; +} + +a > code { + color: inherit; +} + +kbd { + padding: 0.2rem 0.4rem; + font-size: 87.5%; + color: #fff; + background-color: #212529; + border-radius: 0.2rem; +} + +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: 700; +} + +pre { + display: block; + font-size: 87.5%; + color: #212529; +} + +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} + +.container { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container { + max-width: 540px; + } +} + +@media (min-width: 768px) { + .container { + max-width: 720px; + } +} + +@media (min-width: 992px) { + .container { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .container { + max-width: 1140px; + } +} + +.container-fluid { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +.row { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px; +} + +.no-gutters { + margin-right: 0; + margin-left: 0; +} + +.no-gutters > .col, +.no-gutters > [class*="col-"] { + padding-right: 0; + padding-left: 0; +} + +.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, +.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, +.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, +.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, +.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, +.col-xl-auto { + position: relative; + width: 100%; + min-height: 1px; + padding-right: 15px; + padding-left: 15px; +} + +.col { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; +} + +.col-auto { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; +} + +.col-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; +} + +.col-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; +} + +.col-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; +} + +.col-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; +} + +.col-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; +} + +.col-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; +} + +.col-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; +} + +.col-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; +} + +.col-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; +} + +.col-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; +} + +.col-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; +} + +.col-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; +} + +.order-first { + -webkit-box-ordinal-group: 0; + -ms-flex-order: -1; + order: -1; +} + +.order-last { + -webkit-box-ordinal-group: 14; + -ms-flex-order: 13; + order: 13; +} + +.order-0 { + -webkit-box-ordinal-group: 1; + -ms-flex-order: 0; + order: 0; +} + +.order-1 { + -webkit-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1; +} + +.order-2 { + -webkit-box-ordinal-group: 3; + -ms-flex-order: 2; + order: 2; +} + +.order-3 { + -webkit-box-ordinal-group: 4; + -ms-flex-order: 3; + order: 3; +} + +.order-4 { + -webkit-box-ordinal-group: 5; + -ms-flex-order: 4; + order: 4; +} + +.order-5 { + -webkit-box-ordinal-group: 6; + -ms-flex-order: 5; + order: 5; +} + +.order-6 { + -webkit-box-ordinal-group: 7; + -ms-flex-order: 6; + order: 6; +} + +.order-7 { + -webkit-box-ordinal-group: 8; + -ms-flex-order: 7; + order: 7; +} + +.order-8 { + -webkit-box-ordinal-group: 9; + -ms-flex-order: 8; + order: 8; +} + +.order-9 { + -webkit-box-ordinal-group: 10; + -ms-flex-order: 9; + order: 9; +} + +.order-10 { + -webkit-box-ordinal-group: 11; + -ms-flex-order: 10; + order: 10; +} + +.order-11 { + -webkit-box-ordinal-group: 12; + -ms-flex-order: 11; + order: 11; +} + +.order-12 { + -webkit-box-ordinal-group: 13; + -ms-flex-order: 12; + order: 12; +} + +.offset-1 { + margin-left: 8.333333%; +} + +.offset-2 { + margin-left: 16.666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.333333%; +} + +.offset-5 { + margin-left: 41.666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.333333%; +} + +.offset-8 { + margin-left: 66.666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.333333%; +} + +.offset-11 { + margin-left: 91.666667%; +} + +@media (min-width: 576px) { + .col-sm { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-sm-auto { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + .col-sm-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-sm-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-sm-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-sm-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-sm-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-sm-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-sm-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-sm-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-sm-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-sm-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-sm-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-sm-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-sm-first { + -webkit-box-ordinal-group: 0; + -ms-flex-order: -1; + order: -1; + } + .order-sm-last { + -webkit-box-ordinal-group: 14; + -ms-flex-order: 13; + order: 13; + } + .order-sm-0 { + -webkit-box-ordinal-group: 1; + -ms-flex-order: 0; + order: 0; + } + .order-sm-1 { + -webkit-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1; + } + .order-sm-2 { + -webkit-box-ordinal-group: 3; + -ms-flex-order: 2; + order: 2; + } + .order-sm-3 { + -webkit-box-ordinal-group: 4; + -ms-flex-order: 3; + order: 3; + } + .order-sm-4 { + -webkit-box-ordinal-group: 5; + -ms-flex-order: 4; + order: 4; + } + .order-sm-5 { + -webkit-box-ordinal-group: 6; + -ms-flex-order: 5; + order: 5; + } + .order-sm-6 { + -webkit-box-ordinal-group: 7; + -ms-flex-order: 6; + order: 6; + } + .order-sm-7 { + -webkit-box-ordinal-group: 8; + -ms-flex-order: 7; + order: 7; + } + .order-sm-8 { + -webkit-box-ordinal-group: 9; + -ms-flex-order: 8; + order: 8; + } + .order-sm-9 { + -webkit-box-ordinal-group: 10; + -ms-flex-order: 9; + order: 9; + } + .order-sm-10 { + -webkit-box-ordinal-group: 11; + -ms-flex-order: 10; + order: 10; + } + .order-sm-11 { + -webkit-box-ordinal-group: 12; + -ms-flex-order: 11; + order: 11; + } + .order-sm-12 { + -webkit-box-ordinal-group: 13; + -ms-flex-order: 12; + order: 12; + } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.333333%; + } + .offset-sm-2 { + margin-left: 16.666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.333333%; + } + .offset-sm-5 { + margin-left: 41.666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.333333%; + } + .offset-sm-8 { + margin-left: 66.666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.333333%; + } + .offset-sm-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 768px) { + .col-md { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-md-auto { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + .col-md-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-md-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-md-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-md-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-md-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-md-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-md-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-md-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-md-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-md-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-md-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-md-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-md-first { + -webkit-box-ordinal-group: 0; + -ms-flex-order: -1; + order: -1; + } + .order-md-last { + -webkit-box-ordinal-group: 14; + -ms-flex-order: 13; + order: 13; + } + .order-md-0 { + -webkit-box-ordinal-group: 1; + -ms-flex-order: 0; + order: 0; + } + .order-md-1 { + -webkit-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1; + } + .order-md-2 { + -webkit-box-ordinal-group: 3; + -ms-flex-order: 2; + order: 2; + } + .order-md-3 { + -webkit-box-ordinal-group: 4; + -ms-flex-order: 3; + order: 3; + } + .order-md-4 { + -webkit-box-ordinal-group: 5; + -ms-flex-order: 4; + order: 4; + } + .order-md-5 { + -webkit-box-ordinal-group: 6; + -ms-flex-order: 5; + order: 5; + } + .order-md-6 { + -webkit-box-ordinal-group: 7; + -ms-flex-order: 6; + order: 6; + } + .order-md-7 { + -webkit-box-ordinal-group: 8; + -ms-flex-order: 7; + order: 7; + } + .order-md-8 { + -webkit-box-ordinal-group: 9; + -ms-flex-order: 8; + order: 8; + } + .order-md-9 { + -webkit-box-ordinal-group: 10; + -ms-flex-order: 9; + order: 9; + } + .order-md-10 { + -webkit-box-ordinal-group: 11; + -ms-flex-order: 10; + order: 10; + } + .order-md-11 { + -webkit-box-ordinal-group: 12; + -ms-flex-order: 11; + order: 11; + } + .order-md-12 { + -webkit-box-ordinal-group: 13; + -ms-flex-order: 12; + order: 12; + } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.333333%; + } + .offset-md-2 { + margin-left: 16.666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.333333%; + } + .offset-md-5 { + margin-left: 41.666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.333333%; + } + .offset-md-8 { + margin-left: 66.666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.333333%; + } + .offset-md-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 992px) { + .col-lg { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-lg-auto { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + .col-lg-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-lg-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-lg-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-lg-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-lg-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-lg-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-lg-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-lg-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-lg-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-lg-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-lg-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-lg-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-lg-first { + -webkit-box-ordinal-group: 0; + -ms-flex-order: -1; + order: -1; + } + .order-lg-last { + -webkit-box-ordinal-group: 14; + -ms-flex-order: 13; + order: 13; + } + .order-lg-0 { + -webkit-box-ordinal-group: 1; + -ms-flex-order: 0; + order: 0; + } + .order-lg-1 { + -webkit-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1; + } + .order-lg-2 { + -webkit-box-ordinal-group: 3; + -ms-flex-order: 2; + order: 2; + } + .order-lg-3 { + -webkit-box-ordinal-group: 4; + -ms-flex-order: 3; + order: 3; + } + .order-lg-4 { + -webkit-box-ordinal-group: 5; + -ms-flex-order: 4; + order: 4; + } + .order-lg-5 { + -webkit-box-ordinal-group: 6; + -ms-flex-order: 5; + order: 5; + } + .order-lg-6 { + -webkit-box-ordinal-group: 7; + -ms-flex-order: 6; + order: 6; + } + .order-lg-7 { + -webkit-box-ordinal-group: 8; + -ms-flex-order: 7; + order: 7; + } + .order-lg-8 { + -webkit-box-ordinal-group: 9; + -ms-flex-order: 8; + order: 8; + } + .order-lg-9 { + -webkit-box-ordinal-group: 10; + -ms-flex-order: 9; + order: 9; + } + .order-lg-10 { + -webkit-box-ordinal-group: 11; + -ms-flex-order: 10; + order: 10; + } + .order-lg-11 { + -webkit-box-ordinal-group: 12; + -ms-flex-order: 11; + order: 11; + } + .order-lg-12 { + -webkit-box-ordinal-group: 13; + -ms-flex-order: 12; + order: 12; + } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.333333%; + } + .offset-lg-2 { + margin-left: 16.666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.333333%; + } + .offset-lg-5 { + margin-left: 41.666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.333333%; + } + .offset-lg-8 { + margin-left: 66.666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.333333%; + } + .offset-lg-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 1200px) { + .col-xl { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-xl-auto { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + .col-xl-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-xl-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-xl-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-xl-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-xl-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-xl-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-xl-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-xl-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-xl-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-xl-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-xl-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-xl-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-xl-first { + -webkit-box-ordinal-group: 0; + -ms-flex-order: -1; + order: -1; + } + .order-xl-last { + -webkit-box-ordinal-group: 14; + -ms-flex-order: 13; + order: 13; + } + .order-xl-0 { + -webkit-box-ordinal-group: 1; + -ms-flex-order: 0; + order: 0; + } + .order-xl-1 { + -webkit-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1; + } + .order-xl-2 { + -webkit-box-ordinal-group: 3; + -ms-flex-order: 2; + order: 2; + } + .order-xl-3 { + -webkit-box-ordinal-group: 4; + -ms-flex-order: 3; + order: 3; + } + .order-xl-4 { + -webkit-box-ordinal-group: 5; + -ms-flex-order: 4; + order: 4; + } + .order-xl-5 { + -webkit-box-ordinal-group: 6; + -ms-flex-order: 5; + order: 5; + } + .order-xl-6 { + -webkit-box-ordinal-group: 7; + -ms-flex-order: 6; + order: 6; + } + .order-xl-7 { + -webkit-box-ordinal-group: 8; + -ms-flex-order: 7; + order: 7; + } + .order-xl-8 { + -webkit-box-ordinal-group: 9; + -ms-flex-order: 8; + order: 8; + } + .order-xl-9 { + -webkit-box-ordinal-group: 10; + -ms-flex-order: 9; + order: 9; + } + .order-xl-10 { + -webkit-box-ordinal-group: 11; + -ms-flex-order: 10; + order: 10; + } + .order-xl-11 { + -webkit-box-ordinal-group: 12; + -ms-flex-order: 11; + order: 11; + } + .order-xl-12 { + -webkit-box-ordinal-group: 13; + -ms-flex-order: 12; + order: 12; + } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.333333%; + } + .offset-xl-2 { + margin-left: 16.666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.333333%; + } + .offset-xl-5 { + margin-left: 41.666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.333333%; + } + .offset-xl-8 { + margin-left: 66.666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.333333%; + } + .offset-xl-11 { + margin-left: 91.666667%; + } +} + +.table { + width: 100%; + max-width: 100%; + margin-bottom: 1rem; + background-color: transparent; +} + +.table th, +.table td { + padding: 0.75rem; + vertical-align: top; + border-top: 1px solid #dee2e6; +} + +.table thead th { + vertical-align: bottom; + border-bottom: 2px solid #dee2e6; +} + +.table tbody + tbody { + border-top: 2px solid #dee2e6; +} + +.table .table { + background-color: #fff; +} + +.table-sm th, +.table-sm td { + padding: 0.3rem; +} + +.table-bordered { + border: 1px solid #dee2e6; +} + +.table-bordered th, +.table-bordered td { + border: 1px solid #dee2e6; +} + +.table-bordered thead th, +.table-bordered thead td { + border-bottom-width: 2px; +} + +.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(0, 0, 0, 0.05); +} + +.table-hover tbody tr:hover { + background-color: rgba(0, 0, 0, 0.075); +} + +.table-primary, +.table-primary > th, +.table-primary > td { + background-color: #b8daff; +} + +.table-hover .table-primary:hover { + background-color: #9fcdff; +} + +.table-hover .table-primary:hover > td, +.table-hover .table-primary:hover > th { + background-color: #9fcdff; +} + +.table-secondary, +.table-secondary > th, +.table-secondary > td { + background-color: #d6d8db; +} + +.table-hover .table-secondary:hover { + background-color: #c8cbcf; +} + +.table-hover .table-secondary:hover > td, +.table-hover .table-secondary:hover > th { + background-color: #c8cbcf; +} + +.table-success, +.table-success > th, +.table-success > td { + background-color: #c3e6cb; +} + +.table-hover .table-success:hover { + background-color: #b1dfbb; +} + +.table-hover .table-success:hover > td, +.table-hover .table-success:hover > th { + background-color: #b1dfbb; +} + +.table-info, +.table-info > th, +.table-info > td { + background-color: #bee5eb; +} + +.table-hover .table-info:hover { + background-color: #abdde5; +} + +.table-hover .table-info:hover > td, +.table-hover .table-info:hover > th { + background-color: #abdde5; +} + +.table-warning, +.table-warning > th, +.table-warning > td { + background-color: #ffeeba; +} + +.table-hover .table-warning:hover { + background-color: #ffe8a1; +} + +.table-hover .table-warning:hover > td, +.table-hover .table-warning:hover > th { + background-color: #ffe8a1; +} + +.table-danger, +.table-danger > th, +.table-danger > td { + background-color: #f5c6cb; +} + +.table-hover .table-danger:hover { + background-color: #f1b0b7; +} + +.table-hover .table-danger:hover > td, +.table-hover .table-danger:hover > th { + background-color: #f1b0b7; +} + +.table-light, +.table-light > th, +.table-light > td { + background-color: #fdfdfe; +} + +.table-hover .table-light:hover { + background-color: #ececf6; +} + +.table-hover .table-light:hover > td, +.table-hover .table-light:hover > th { + background-color: #ececf6; +} + +.table-dark, +.table-dark > th, +.table-dark > td { + background-color: #c6c8ca; +} + +.table-hover .table-dark:hover { + background-color: #b9bbbe; +} + +.table-hover .table-dark:hover > td, +.table-hover .table-dark:hover > th { + background-color: #b9bbbe; +} + +.table-active, +.table-active > th, +.table-active > td { + background-color: rgba(0, 0, 0, 0.075); +} + +.table-hover .table-active:hover { + background-color: rgba(0, 0, 0, 0.075); +} + +.table-hover .table-active:hover > td, +.table-hover .table-active:hover > th { + background-color: rgba(0, 0, 0, 0.075); +} + +.table .thead-dark th { + color: #fff; + background-color: #212529; + border-color: #32383e; +} + +.table .thead-light th { + color: #495057; + background-color: #e9ecef; + border-color: #dee2e6; +} + +.table-dark { + color: #fff; + background-color: #212529; +} + +.table-dark th, +.table-dark td, +.table-dark thead th { + border-color: #32383e; +} + +.table-dark.table-bordered { + border: 0; +} + +.table-dark.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(255, 255, 255, 0.05); +} + +.table-dark.table-hover tbody tr:hover { + background-color: rgba(255, 255, 255, 0.075); +} + +@media (max-width: 575.98px) { + .table-responsive-sm { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + } + .table-responsive-sm > .table-bordered { + border: 0; + } +} + +@media (max-width: 767.98px) { + .table-responsive-md { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + } + .table-responsive-md > .table-bordered { + border: 0; + } +} + +@media (max-width: 991.98px) { + .table-responsive-lg { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + } + .table-responsive-lg > .table-bordered { + border: 0; + } +} + +@media (max-width: 1199.98px) { + .table-responsive-xl { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + } + .table-responsive-xl > .table-bordered { + border: 0; + } +} + +.table-responsive { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; +} + +.table-responsive > .table-bordered { + border: 0; +} + +.form-control { + display: block; + width: 100%; + padding: 0.375rem 0.75rem; + font-size: 1rem; + line-height: 1.5; + color: #495057; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ced4da; + border-radius: 0.25rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +.form-control::-ms-expand { + background-color: transparent; + border: 0; +} + +.form-control:focus { + color: #495057; + background-color: #fff; + border-color: #80bdff; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.form-control::-webkit-input-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control::-moz-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control:-ms-input-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control::-ms-input-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control::placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control:disabled, .form-control[readonly] { + background-color: #e9ecef; + opacity: 1; +} + +select.form-control:not([size]):not([multiple]) { + height: calc(2.25rem + 2px); +} + +select.form-control:focus::-ms-value { + color: #495057; + background-color: #fff; +} + +.form-control-file, +.form-control-range { + display: block; + width: 100%; +} + +.col-form-label { + padding-top: calc(0.375rem + 1px); + padding-bottom: calc(0.375rem + 1px); + margin-bottom: 0; + font-size: inherit; + line-height: 1.5; +} + +.col-form-label-lg { + padding-top: calc(0.5rem + 1px); + padding-bottom: calc(0.5rem + 1px); + font-size: 1.25rem; + line-height: 1.5; +} + +.col-form-label-sm { + padding-top: calc(0.25rem + 1px); + padding-bottom: calc(0.25rem + 1px); + font-size: 0.875rem; + line-height: 1.5; +} + +.form-control-plaintext { + display: block; + width: 100%; + padding-top: 0.375rem; + padding-bottom: 0.375rem; + margin-bottom: 0; + line-height: 1.5; + background-color: transparent; + border: solid transparent; + border-width: 1px 0; +} + +.form-control-plaintext.form-control-sm, .input-group-sm > .form-control-plaintext.form-control, +.input-group-sm > .input-group-prepend > .form-control-plaintext.input-group-text, +.input-group-sm > .input-group-append > .form-control-plaintext.input-group-text, +.input-group-sm > .input-group-prepend > .form-control-plaintext.btn, +.input-group-sm > .input-group-append > .form-control-plaintext.btn, .form-control-plaintext.form-control-lg, .input-group-lg > .form-control-plaintext.form-control, +.input-group-lg > .input-group-prepend > .form-control-plaintext.input-group-text, +.input-group-lg > .input-group-append > .form-control-plaintext.input-group-text, +.input-group-lg > .input-group-prepend > .form-control-plaintext.btn, +.input-group-lg > .input-group-append > .form-control-plaintext.btn { + padding-right: 0; + padding-left: 0; +} + +.form-control-sm, .input-group-sm > .form-control, +.input-group-sm > .input-group-prepend > .input-group-text, +.input-group-sm > .input-group-append > .input-group-text, +.input-group-sm > .input-group-prepend > .btn, +.input-group-sm > .input-group-append > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +select.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]), +.input-group-sm > .input-group-prepend > select.input-group-text:not([size]):not([multiple]), +.input-group-sm > .input-group-append > select.input-group-text:not([size]):not([multiple]), +.input-group-sm > .input-group-prepend > select.btn:not([size]):not([multiple]), +.input-group-sm > .input-group-append > select.btn:not([size]):not([multiple]) { + height: calc(1.8125rem + 2px); +} + +.form-control-lg, .input-group-lg > .form-control, +.input-group-lg > .input-group-prepend > .input-group-text, +.input-group-lg > .input-group-append > .input-group-text, +.input-group-lg > .input-group-prepend > .btn, +.input-group-lg > .input-group-append > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]), +.input-group-lg > .input-group-prepend > select.input-group-text:not([size]):not([multiple]), +.input-group-lg > .input-group-append > select.input-group-text:not([size]):not([multiple]), +.input-group-lg > .input-group-prepend > select.btn:not([size]):not([multiple]), +.input-group-lg > .input-group-append > select.btn:not([size]):not([multiple]) { + height: calc(2.875rem + 2px); +} + +.form-group { + margin-bottom: 1rem; +} + +.form-text { + display: block; + margin-top: 0.25rem; +} + +.form-row { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-right: -5px; + margin-left: -5px; +} + +.form-row > .col, +.form-row > [class*="col-"] { + padding-right: 5px; + padding-left: 5px; +} + +.form-check { + position: relative; + display: block; + padding-left: 1.25rem; +} + +.form-check-input { + position: absolute; + margin-top: 0.3rem; + margin-left: -1.25rem; +} + +.form-check-input:disabled ~ .form-check-label { + color: #6c757d; +} + +.form-check-label { + margin-bottom: 0; +} + +.form-check-inline { + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + padding-left: 0; + margin-right: 0.75rem; +} + +.form-check-inline .form-check-input { + position: static; + margin-top: 0; + margin-right: 0.3125rem; + margin-left: 0; +} + +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #28a745; +} + +.valid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: .5rem; + margin-top: .1rem; + font-size: .875rem; + line-height: 1; + color: #fff; + background-color: rgba(40, 167, 69, 0.8); + border-radius: .2rem; +} + +.was-validated .form-control:valid, .form-control.is-valid, .was-validated +.custom-select:valid, +.custom-select.is-valid { + border-color: #28a745; +} + +.was-validated .form-control:valid:focus, .form-control.is-valid:focus, .was-validated +.custom-select:valid:focus, +.custom-select.is-valid:focus { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.was-validated .form-control:valid ~ .valid-feedback, +.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback, +.form-control.is-valid ~ .valid-tooltip, .was-validated +.custom-select:valid ~ .valid-feedback, +.was-validated +.custom-select:valid ~ .valid-tooltip, +.custom-select.is-valid ~ .valid-feedback, +.custom-select.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { + color: #28a745; +} + +.was-validated .form-check-input:valid ~ .valid-feedback, +.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback, +.form-check-input.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label { + color: #28a745; +} + +.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before { + background-color: #71dd8a; +} + +.was-validated .custom-control-input:valid ~ .valid-feedback, +.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback, +.custom-control-input.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before { + background-color: #34ce57; +} + +.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label { + border-color: #28a745; +} + +.was-validated .custom-file-input:valid ~ .custom-file-label::before, .custom-file-input.is-valid ~ .custom-file-label::before { + border-color: inherit; +} + +.was-validated .custom-file-input:valid ~ .valid-feedback, +.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback, +.custom-file-input.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #dc3545; +} + +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: .5rem; + margin-top: .1rem; + font-size: .875rem; + line-height: 1; + color: #fff; + background-color: rgba(220, 53, 69, 0.8); + border-radius: .2rem; +} + +.was-validated .form-control:invalid, .form-control.is-invalid, .was-validated +.custom-select:invalid, +.custom-select.is-invalid { + border-color: #dc3545; +} + +.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus, .was-validated +.custom-select:invalid:focus, +.custom-select.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.was-validated .form-control:invalid ~ .invalid-feedback, +.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback, +.form-control.is-invalid ~ .invalid-tooltip, .was-validated +.custom-select:invalid ~ .invalid-feedback, +.was-validated +.custom-select:invalid ~ .invalid-tooltip, +.custom-select.is-invalid ~ .invalid-feedback, +.custom-select.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { + color: #dc3545; +} + +.was-validated .form-check-input:invalid ~ .invalid-feedback, +.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback, +.form-check-input.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label { + color: #dc3545; +} + +.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before { + background-color: #efa2a9; +} + +.was-validated .custom-control-input:invalid ~ .invalid-feedback, +.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback, +.custom-control-input.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before { + background-color: #e4606d; +} + +.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label { + border-color: #dc3545; +} + +.was-validated .custom-file-input:invalid ~ .custom-file-label::before, .custom-file-input.is-invalid ~ .custom-file-label::before { + border-color: inherit; +} + +.was-validated .custom-file-input:invalid ~ .invalid-feedback, +.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback, +.custom-file-input.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.form-inline { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; +} + +.form-inline .form-check { + width: 100%; +} + +@media (min-width: 576px) { + .form-inline label { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + margin-bottom: 0; + } + .form-inline .form-group { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + margin-bottom: 0; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .form-control-plaintext { + display: inline-block; + } + .form-inline .input-group { + width: auto; + } + .form-inline .form-check { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + width: auto; + padding-left: 0; + } + .form-inline .form-check-input { + position: relative; + margin-top: 0; + margin-right: 0.25rem; + margin-left: 0; + } + .form-inline .custom-control { + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + } + .form-inline .custom-control-label { + margin-bottom: 0; + } +} + +.btn { + display: inline-block; + font-weight: 400; + text-align: center; + white-space: nowrap; + vertical-align: middle; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + border: 1px solid transparent; + padding: 0.375rem 0.75rem; + font-size: 1rem; + line-height: 1.5; + border-radius: 0.25rem; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +.btn:hover, .btn:focus { + text-decoration: none; +} + +.btn:focus, .btn.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.btn.disabled, .btn:disabled { + opacity: 0.65; +} + +.btn:not(:disabled):not(.disabled) { + cursor: pointer; +} + +.btn:not(:disabled):not(.disabled):active, .btn:not(:disabled):not(.disabled).active { + background-image: none; +} + +a.btn.disabled, +fieldset:disabled a.btn { + pointer-events: none; +} + +.btn-primary { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-primary:hover { + color: #fff; + background-color: #0069d9; + border-color: #0062cc; +} + +.btn-primary:focus, .btn-primary.focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.btn-primary.disabled, .btn-primary:disabled { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, +.show > .btn-primary.dropdown-toggle { + color: #fff; + background-color: #0062cc; + border-color: #005cbf; +} + +.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, +.show > .btn-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.btn-secondary { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-secondary:hover { + color: #fff; + background-color: #5a6268; + border-color: #545b62; +} + +.btn-secondary:focus, .btn-secondary.focus { + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.btn-secondary.disabled, .btn-secondary:disabled { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, +.show > .btn-secondary.dropdown-toggle { + color: #fff; + background-color: #545b62; + border-color: #4e555b; +} + +.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, +.show > .btn-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.btn-success { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-success:hover { + color: #fff; + background-color: #218838; + border-color: #1e7e34; +} + +.btn-success:focus, .btn-success.focus { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.btn-success.disabled, .btn-success:disabled { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, +.show > .btn-success.dropdown-toggle { + color: #fff; + background-color: #1e7e34; + border-color: #1c7430; +} + +.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, +.show > .btn-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.btn-info { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-info:hover { + color: #fff; + background-color: #138496; + border-color: #117a8b; +} + +.btn-info:focus, .btn-info.focus { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.btn-info.disabled, .btn-info:disabled { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, +.show > .btn-info.dropdown-toggle { + color: #fff; + background-color: #117a8b; + border-color: #10707f; +} + +.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, +.show > .btn-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.btn-warning { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-warning:hover { + color: #212529; + background-color: #e0a800; + border-color: #d39e00; +} + +.btn-warning:focus, .btn-warning.focus { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.btn-warning.disabled, .btn-warning:disabled { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, +.show > .btn-warning.dropdown-toggle { + color: #212529; + background-color: #d39e00; + border-color: #c69500; +} + +.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, +.show > .btn-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.btn-danger { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-danger:hover { + color: #fff; + background-color: #c82333; + border-color: #bd2130; +} + +.btn-danger:focus, .btn-danger.focus { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.btn-danger.disabled, .btn-danger:disabled { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, +.show > .btn-danger.dropdown-toggle { + color: #fff; + background-color: #bd2130; + border-color: #b21f2d; +} + +.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, +.show > .btn-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.btn-light { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-light:hover { + color: #212529; + background-color: #e2e6ea; + border-color: #dae0e5; +} + +.btn-light:focus, .btn-light.focus { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.btn-light.disabled, .btn-light:disabled { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, +.show > .btn-light.dropdown-toggle { + color: #212529; + background-color: #dae0e5; + border-color: #d3d9df; +} + +.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, +.show > .btn-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.btn-dark { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-dark:hover { + color: #fff; + background-color: #23272b; + border-color: #1d2124; +} + +.btn-dark:focus, .btn-dark.focus { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.btn-dark.disabled, .btn-dark:disabled { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, +.show > .btn-dark.dropdown-toggle { + color: #fff; + background-color: #1d2124; + border-color: #171a1d; +} + +.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, +.show > .btn-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.btn-outline-primary { + color: #007bff; + background-color: transparent; + background-image: none; + border-color: #007bff; +} + +.btn-outline-primary:hover { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-outline-primary:focus, .btn-outline-primary.focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.btn-outline-primary.disabled, .btn-outline-primary:disabled { + color: #007bff; + background-color: transparent; +} + +.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, +.show > .btn-outline-primary.dropdown-toggle { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.btn-outline-secondary { + color: #6c757d; + background-color: transparent; + background-image: none; + border-color: #6c757d; +} + +.btn-outline-secondary:hover { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-outline-secondary:focus, .btn-outline-secondary.focus { + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.btn-outline-secondary.disabled, .btn-outline-secondary:disabled { + color: #6c757d; + background-color: transparent; +} + +.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, +.show > .btn-outline-secondary.dropdown-toggle { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.btn-outline-success { + color: #28a745; + background-color: transparent; + background-image: none; + border-color: #28a745; +} + +.btn-outline-success:hover { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-outline-success:focus, .btn-outline-success.focus { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.btn-outline-success.disabled, .btn-outline-success:disabled { + color: #28a745; + background-color: transparent; +} + +.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, +.show > .btn-outline-success.dropdown-toggle { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.btn-outline-info { + color: #17a2b8; + background-color: transparent; + background-image: none; + border-color: #17a2b8; +} + +.btn-outline-info:hover { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-outline-info:focus, .btn-outline-info.focus { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.btn-outline-info.disabled, .btn-outline-info:disabled { + color: #17a2b8; + background-color: transparent; +} + +.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, +.show > .btn-outline-info.dropdown-toggle { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.btn-outline-warning { + color: #ffc107; + background-color: transparent; + background-image: none; + border-color: #ffc107; +} + +.btn-outline-warning:hover { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-outline-warning:focus, .btn-outline-warning.focus { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.btn-outline-warning.disabled, .btn-outline-warning:disabled { + color: #ffc107; + background-color: transparent; +} + +.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, +.show > .btn-outline-warning.dropdown-toggle { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.btn-outline-danger { + color: #dc3545; + background-color: transparent; + background-image: none; + border-color: #dc3545; +} + +.btn-outline-danger:hover { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-outline-danger:focus, .btn-outline-danger.focus { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.btn-outline-danger.disabled, .btn-outline-danger:disabled { + color: #dc3545; + background-color: transparent; +} + +.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, +.show > .btn-outline-danger.dropdown-toggle { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.btn-outline-light { + color: #f8f9fa; + background-color: transparent; + background-image: none; + border-color: #f8f9fa; +} + +.btn-outline-light:hover { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-outline-light:focus, .btn-outline-light.focus { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.btn-outline-light.disabled, .btn-outline-light:disabled { + color: #f8f9fa; + background-color: transparent; +} + +.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, +.show > .btn-outline-light.dropdown-toggle { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.btn-outline-dark { + color: #343a40; + background-color: transparent; + background-image: none; + border-color: #343a40; +} + +.btn-outline-dark:hover { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-outline-dark:focus, .btn-outline-dark.focus { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.btn-outline-dark.disabled, .btn-outline-dark:disabled { + color: #343a40; + background-color: transparent; +} + +.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, +.show > .btn-outline-dark.dropdown-toggle { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.btn-link { + font-weight: 400; + color: #007bff; + background-color: transparent; +} + +.btn-link:hover { + color: #0056b3; + text-decoration: underline; + background-color: transparent; + border-color: transparent; +} + +.btn-link:focus, .btn-link.focus { + text-decoration: underline; + border-color: transparent; + box-shadow: none; +} + +.btn-link:disabled, .btn-link.disabled { + color: #6c757d; +} + +.btn-lg, .btn-group-lg > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +.btn-sm, .btn-group-sm > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +.btn-block { + display: block; + width: 100%; +} + +.btn-block + .btn-block { + margin-top: 0.5rem; +} + +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} + +.fade { + opacity: 0; + transition: opacity 0.15s linear; +} + +.fade.show { + opacity: 1; +} + +.collapse { + display: none; +} + +.collapse.show { + display: block; +} + +tr.collapse.show { + display: table-row; +} + +tbody.collapse.show { + display: table-row-group; +} + +.collapsing { + position: relative; + height: 0; + overflow: hidden; + transition: height 0.35s ease; +} + +.dropup, +.dropdown { + position: relative; +} + +.dropdown-toggle::after { + display: inline-block; + width: 0; + height: 0; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} + +.dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 10rem; + padding: 0.5rem 0; + margin: 0.125rem 0 0; + font-size: 1rem; + color: #212529; + text-align: left; + list-style: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0.25rem; +} + +.dropup .dropdown-menu { + margin-top: 0; + margin-bottom: 0.125rem; +} + +.dropup .dropdown-toggle::after { + display: inline-block; + width: 0; + height: 0; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} + +.dropup .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropright .dropdown-menu { + margin-top: 0; + margin-left: 0.125rem; +} + +.dropright .dropdown-toggle::after { + display: inline-block; + width: 0; + height: 0; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-bottom: 0.3em solid transparent; + border-left: 0.3em solid; +} + +.dropright .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropright .dropdown-toggle::after { + vertical-align: 0; +} + +.dropleft .dropdown-menu { + margin-top: 0; + margin-right: 0.125rem; +} + +.dropleft .dropdown-toggle::after { + display: inline-block; + width: 0; + height: 0; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; +} + +.dropleft .dropdown-toggle::after { + display: none; +} + +.dropleft .dropdown-toggle::before { + display: inline-block; + width: 0; + height: 0; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em solid transparent; +} + +.dropleft .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropleft .dropdown-toggle::before { + vertical-align: 0; +} + +.dropdown-divider { + height: 0; + margin: 0.5rem 0; + overflow: hidden; + border-top: 1px solid #e9ecef; +} + +.dropdown-item { + display: block; + width: 100%; + padding: 0.25rem 1.5rem; + clear: both; + font-weight: 400; + color: #212529; + text-align: inherit; + white-space: nowrap; + background-color: transparent; + border: 0; +} + +.dropdown-item:hover, .dropdown-item:focus { + color: #16181b; + text-decoration: none; + background-color: #f8f9fa; +} + +.dropdown-item.active, .dropdown-item:active { + color: #fff; + text-decoration: none; + background-color: #007bff; +} + +.dropdown-item.disabled, .dropdown-item:disabled { + color: #6c757d; + background-color: transparent; +} + +.dropdown-menu.show { + display: block; +} + +.dropdown-header { + display: block; + padding: 0.5rem 1.5rem; + margin-bottom: 0; + font-size: 0.875rem; + color: #6c757d; + white-space: nowrap; +} + +.btn-group, +.btn-group-vertical { + position: relative; + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + vertical-align: middle; +} + +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + -webkit-box-flex: 0; + -ms-flex: 0 1 auto; + flex: 0 1 auto; +} + +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover { + z-index: 1; +} + +.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, +.btn-group-vertical > .btn:focus, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn.active { + z-index: 1; +} + +.btn-group .btn + .btn, +.btn-group .btn + .btn-group, +.btn-group .btn-group + .btn, +.btn-group .btn-group + .btn-group, +.btn-group-vertical .btn + .btn, +.btn-group-vertical .btn + .btn-group, +.btn-group-vertical .btn-group + .btn, +.btn-group-vertical .btn-group + .btn-group { + margin-left: -1px; +} + +.btn-toolbar { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; +} + +.btn-toolbar .input-group { + width: auto; +} + +.btn-group > .btn:first-child { + margin-left: 0; +} + +.btn-group > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.btn-group > .btn:not(:first-child), +.btn-group > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.dropdown-toggle-split { + padding-right: 0.5625rem; + padding-left: 0.5625rem; +} + +.dropdown-toggle-split::after { + margin-left: 0; +} + +.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { + padding-right: 0.375rem; + padding-left: 0.375rem; +} + +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; +} + +.btn-group-vertical { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-align: start; + -ms-flex-align: start; + align-items: flex-start; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; +} + +.btn-group-vertical .btn, +.btn-group-vertical .btn-group { + width: 100%; +} + +.btn-group-vertical > .btn + .btn, +.btn-group-vertical > .btn + .btn-group, +.btn-group-vertical > .btn-group + .btn, +.btn-group-vertical > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; +} + +.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group-vertical > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.btn-group-toggle > .btn, +.btn-group-toggle > .btn-group > .btn { + margin-bottom: 0; +} + +.btn-group-toggle > .btn input[type="radio"], +.btn-group-toggle > .btn input[type="checkbox"], +.btn-group-toggle > .btn-group > .btn input[type="radio"], +.btn-group-toggle > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} + +.input-group { + position: relative; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-align: stretch; + -ms-flex-align: stretch; + align-items: stretch; + width: 100%; +} + +.input-group > .form-control, +.input-group > .custom-select, +.input-group > .custom-file { + position: relative; + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + width: 1%; + margin-bottom: 0; +} + +.input-group > .form-control:focus, +.input-group > .custom-select:focus, +.input-group > .custom-file:focus { + z-index: 3; +} + +.input-group > .form-control + .form-control, +.input-group > .form-control + .custom-select, +.input-group > .form-control + .custom-file, +.input-group > .custom-select + .form-control, +.input-group > .custom-select + .custom-select, +.input-group > .custom-select + .custom-file, +.input-group > .custom-file + .form-control, +.input-group > .custom-file + .custom-select, +.input-group > .custom-file + .custom-file { + margin-left: -1px; +} + +.input-group > .form-control:not(:last-child), +.input-group > .custom-select:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group > .form-control:not(:first-child), +.input-group > .custom-select:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.input-group > .custom-file { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; +} + +.input-group > .custom-file:not(:last-child) .custom-file-label, +.input-group > .custom-file:not(:last-child) .custom-file-label::before { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group > .custom-file:not(:first-child) .custom-file-label, +.input-group > .custom-file:not(:first-child) .custom-file-label::before { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.input-group-prepend, +.input-group-append { + display: -webkit-box; + display: -ms-flexbox; + display: flex; +} + +.input-group-prepend .btn, +.input-group-append .btn { + position: relative; + z-index: 2; +} + +.input-group-prepend .btn + .btn, +.input-group-prepend .btn + .input-group-text, +.input-group-prepend .input-group-text + .input-group-text, +.input-group-prepend .input-group-text + .btn, +.input-group-append .btn + .btn, +.input-group-append .btn + .input-group-text, +.input-group-append .input-group-text + .input-group-text, +.input-group-append .input-group-text + .btn { + margin-left: -1px; +} + +.input-group-prepend { + margin-right: -1px; +} + +.input-group-append { + margin-left: -1px; +} + +.input-group-text { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + padding: 0.375rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + text-align: center; + white-space: nowrap; + background-color: #e9ecef; + border: 1px solid #ced4da; + border-radius: 0.25rem; +} + +.input-group-text input[type="radio"], +.input-group-text input[type="checkbox"] { + margin-top: 0; +} + +.input-group > .input-group-prepend > .btn, +.input-group > .input-group-prepend > .input-group-text, +.input-group > .input-group-append:not(:last-child) > .btn, +.input-group > .input-group-append:not(:last-child) > .input-group-text, +.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group > .input-group-append > .btn, +.input-group > .input-group-append > .input-group-text, +.input-group > .input-group-prepend:not(:first-child) > .btn, +.input-group > .input-group-prepend:not(:first-child) > .input-group-text, +.input-group > .input-group-prepend:first-child > .btn:not(:first-child), +.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.custom-control { + position: relative; + display: block; + min-height: 1.5rem; + padding-left: 1.5rem; +} + +.custom-control-inline { + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + margin-right: 1rem; +} + +.custom-control-input { + position: absolute; + z-index: -1; + opacity: 0; +} + +.custom-control-input:checked ~ .custom-control-label::before { + color: #fff; + background-color: #007bff; +} + +.custom-control-input:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-control-input:active ~ .custom-control-label::before { + color: #fff; + background-color: #b3d7ff; +} + +.custom-control-input:disabled ~ .custom-control-label { + color: #6c757d; +} + +.custom-control-input:disabled ~ .custom-control-label::before { + background-color: #e9ecef; +} + +.custom-control-label { + margin-bottom: 0; +} + +.custom-control-label::before { + position: absolute; + top: 0.25rem; + left: 0; + display: block; + width: 1rem; + height: 1rem; + pointer-events: none; + content: ""; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-color: #dee2e6; +} + +.custom-control-label::after { + position: absolute; + top: 0.25rem; + left: 0; + display: block; + width: 1rem; + height: 1rem; + content: ""; + background-repeat: no-repeat; + background-position: center center; + background-size: 50% 50%; +} + +.custom-checkbox .custom-control-label::before { + border-radius: 0.25rem; +} + +.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before { + background-color: #007bff; +} + +.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E"); +} + +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before { + background-color: #007bff; +} + +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E"); +} + +.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-radio .custom-control-label::before { + border-radius: 50%; +} + +.custom-radio .custom-control-input:checked ~ .custom-control-label::before { + background-color: #007bff; +} + +.custom-radio .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E"); +} + +.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-select { + display: inline-block; + width: 100%; + height: calc(2.25rem + 2px); + padding: 0.375rem 1.75rem 0.375rem 0.75rem; + line-height: 1.5; + color: #495057; + vertical-align: middle; + background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.75rem center; + background-size: 8px 10px; + border: 1px solid #ced4da; + border-radius: 0.25rem; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +.custom-select:focus { + border-color: #80bdff; + outline: 0; + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075), 0 0 5px rgba(128, 189, 255, 0.5); +} + +.custom-select:focus::-ms-value { + color: #495057; + background-color: #fff; +} + +.custom-select[multiple], .custom-select[size]:not([size="1"]) { + height: auto; + padding-right: 0.75rem; + background-image: none; +} + +.custom-select:disabled { + color: #6c757d; + background-color: #e9ecef; +} + +.custom-select::-ms-expand { + opacity: 0; +} + +.custom-select-sm { + height: calc(1.8125rem + 2px); + padding-top: 0.375rem; + padding-bottom: 0.375rem; + font-size: 75%; +} + +.custom-select-lg { + height: calc(2.875rem + 2px); + padding-top: 0.375rem; + padding-bottom: 0.375rem; + font-size: 125%; +} + +.custom-file { + position: relative; + display: inline-block; + width: 100%; + height: calc(2.25rem + 2px); + margin-bottom: 0; +} + +.custom-file-input { + position: relative; + z-index: 2; + width: 100%; + height: calc(2.25rem + 2px); + margin: 0; + opacity: 0; +} + +.custom-file-input:focus ~ .custom-file-control { + border-color: #80bdff; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-file-input:focus ~ .custom-file-control::before { + border-color: #80bdff; +} + +.custom-file-input:lang(en) ~ .custom-file-label::after { + content: "Browse"; +} + +.custom-file-label { + position: absolute; + top: 0; + right: 0; + left: 0; + z-index: 1; + height: calc(2.25rem + 2px); + padding: 0.375rem 0.75rem; + line-height: 1.5; + color: #495057; + background-color: #fff; + border: 1px solid #ced4da; + border-radius: 0.25rem; +} + +.custom-file-label::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + z-index: 3; + display: block; + height: calc(calc(2.25rem + 2px) - 1px * 2); + padding: 0.375rem 0.75rem; + line-height: 1.5; + color: #495057; + content: "Browse"; + background-color: #e9ecef; + border-left: 1px solid #ced4da; + border-radius: 0 0.25rem 0.25rem 0; +} + +.nav { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.nav-link { + display: block; + padding: 0.5rem 1rem; +} + +.nav-link:hover, .nav-link:focus { + text-decoration: none; +} + +.nav-link.disabled { + color: #6c757d; +} + +.nav-tabs { + border-bottom: 1px solid #dee2e6; +} + +.nav-tabs .nav-item { + margin-bottom: -1px; +} + +.nav-tabs .nav-link { + border: 1px solid transparent; + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { + border-color: #e9ecef #e9ecef #dee2e6; +} + +.nav-tabs .nav-link.disabled { + color: #6c757d; + background-color: transparent; + border-color: transparent; +} + +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + color: #495057; + background-color: #fff; + border-color: #dee2e6 #dee2e6 #fff; +} + +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav-pills .nav-link { + border-radius: 0.25rem; +} + +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: #fff; + background-color: #007bff; +} + +.nav-fill .nav-item { + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + text-align: center; +} + +.nav-justified .nav-item { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + text-align: center; +} + +.tab-content > .tab-pane { + display: none; +} + +.tab-content > .active { + display: block; +} + +.navbar { + position: relative; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 0.5rem 1rem; +} + +.navbar > .container, +.navbar > .container-fluid { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; +} + +.navbar-brand { + display: inline-block; + padding-top: 0.3125rem; + padding-bottom: 0.3125rem; + margin-right: 1rem; + font-size: 1.25rem; + line-height: inherit; + white-space: nowrap; +} + +.navbar-brand:hover, .navbar-brand:focus { + text-decoration: none; +} + +.navbar-nav { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.navbar-nav .nav-link { + padding-right: 0; + padding-left: 0; +} + +.navbar-nav .dropdown-menu { + position: static; + float: none; +} + +.navbar-text { + display: inline-block; + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +.navbar-collapse { + -ms-flex-preferred-size: 100%; + flex-basis: 100%; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; +} + +.navbar-toggler { + padding: 0.25rem 0.75rem; + font-size: 1.25rem; + line-height: 1; + background-color: transparent; + border: 1px solid transparent; + border-radius: 0.25rem; +} + +.navbar-toggler:hover, .navbar-toggler:focus { + text-decoration: none; +} + +.navbar-toggler:not(:disabled):not(.disabled) { + cursor: pointer; +} + +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + content: ""; + background: no-repeat center center; + background-size: 100% 100%; +} + +@media (max-width: 575.98px) { + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 576px) { + .navbar-expand-sm { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-sm .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-sm .navbar-nav .dropdown-menu-right { + right: 0; + left: auto; + } + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-sm .navbar-collapse { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-sm .navbar-toggler { + display: none; + } + .navbar-expand-sm .dropup .dropdown-menu { + top: auto; + bottom: 100%; + } +} + +@media (max-width: 767.98px) { + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 768px) { + .navbar-expand-md { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-md .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-md .navbar-nav .dropdown-menu-right { + right: 0; + left: auto; + } + .navbar-expand-md .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-md .navbar-collapse { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-md .navbar-toggler { + display: none; + } + .navbar-expand-md .dropup .dropdown-menu { + top: auto; + bottom: 100%; + } +} + +@media (max-width: 991.98px) { + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 992px) { + .navbar-expand-lg { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-lg .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-lg .navbar-nav .dropdown-menu-right { + right: 0; + left: auto; + } + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-lg .navbar-collapse { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-lg .navbar-toggler { + display: none; + } + .navbar-expand-lg .dropup .dropdown-menu { + top: auto; + bottom: 100%; + } +} + +@media (max-width: 1199.98px) { + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 1200px) { + .navbar-expand-xl { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-xl .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xl .navbar-nav .dropdown-menu-right { + right: 0; + left: auto; + } + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-xl .navbar-collapse { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-xl .navbar-toggler { + display: none; + } + .navbar-expand-xl .dropup .dropdown-menu { + top: auto; + bottom: 100%; + } +} + +.navbar-expand { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; +} + +.navbar-expand > .container, +.navbar-expand > .container-fluid { + padding-right: 0; + padding-left: 0; +} + +.navbar-expand .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; +} + +.navbar-expand .navbar-nav .dropdown-menu { + position: absolute; +} + +.navbar-expand .navbar-nav .dropdown-menu-right { + right: 0; + left: auto; +} + +.navbar-expand .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; +} + +.navbar-expand > .container, +.navbar-expand > .container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; +} + +.navbar-expand .navbar-collapse { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; +} + +.navbar-expand .navbar-toggler { + display: none; +} + +.navbar-expand .dropup .dropdown-menu { + top: auto; + bottom: 100%; +} + +.navbar-light .navbar-brand { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-nav .nav-link { + color: rgba(0, 0, 0, 0.5); +} + +.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { + color: rgba(0, 0, 0, 0.7); +} + +.navbar-light .navbar-nav .nav-link.disabled { + color: rgba(0, 0, 0, 0.3); +} + +.navbar-light .navbar-nav .show > .nav-link, +.navbar-light .navbar-nav .active > .nav-link, +.navbar-light .navbar-nav .nav-link.show, +.navbar-light .navbar-nav .nav-link.active { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-toggler { + color: rgba(0, 0, 0, 0.5); + border-color: rgba(0, 0, 0, 0.1); +} + +.navbar-light .navbar-toggler-icon { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); +} + +.navbar-light .navbar-text { + color: rgba(0, 0, 0, 0.5); +} + +.navbar-light .navbar-text a { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-dark .navbar-brand { + color: #fff; +} + +.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { + color: #fff; +} + +.navbar-dark .navbar-nav .nav-link { + color: rgba(255, 255, 255, 0.5); +} + +.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { + color: rgba(255, 255, 255, 0.75); +} + +.navbar-dark .navbar-nav .nav-link.disabled { + color: rgba(255, 255, 255, 0.25); +} + +.navbar-dark .navbar-nav .show > .nav-link, +.navbar-dark .navbar-nav .active > .nav-link, +.navbar-dark .navbar-nav .nav-link.show, +.navbar-dark .navbar-nav .nav-link.active { + color: #fff; +} + +.navbar-dark .navbar-toggler { + color: rgba(255, 255, 255, 0.5); + border-color: rgba(255, 255, 255, 0.1); +} + +.navbar-dark .navbar-toggler-icon { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); +} + +.navbar-dark .navbar-text { + color: rgba(255, 255, 255, 0.5); +} + +.navbar-dark .navbar-text a { + color: #fff; +} + +.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus { + color: #fff; +} + +.card { + position: relative; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #fff; + background-clip: border-box; + border: 1px solid rgba(0, 0, 0, 0.125); + border-radius: 0.25rem; +} + +.card > hr { + margin-right: 0; + margin-left: 0; +} + +.card > .list-group:first-child .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.card > .list-group:last-child .list-group-item:last-child { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.card-body { + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + padding: 1.25rem; +} + +.card-title { + margin-bottom: 0.75rem; +} + +.card-subtitle { + margin-top: -0.375rem; + margin-bottom: 0; +} + +.card-text:last-child { + margin-bottom: 0; +} + +.card-link:hover { + text-decoration: none; +} + +.card-link + .card-link { + margin-left: 1.25rem; +} + +.card-header { + padding: 0.75rem 1.25rem; + margin-bottom: 0; + background-color: rgba(0, 0, 0, 0.03); + border-bottom: 1px solid rgba(0, 0, 0, 0.125); +} + +.card-header:first-child { + border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; +} + +.card-header + .list-group .list-group-item:first-child { + border-top: 0; +} + +.card-footer { + padding: 0.75rem 1.25rem; + background-color: rgba(0, 0, 0, 0.03); + border-top: 1px solid rgba(0, 0, 0, 0.125); +} + +.card-footer:last-child { + border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); +} + +.card-header-tabs { + margin-right: -0.625rem; + margin-bottom: -0.75rem; + margin-left: -0.625rem; + border-bottom: 0; +} + +.card-header-pills { + margin-right: -0.625rem; + margin-left: -0.625rem; +} + +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: 1.25rem; +} + +.card-img { + width: 100%; + border-radius: calc(0.25rem - 1px); +} + +.card-img-top { + width: 100%; + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} + +.card-img-bottom { + width: 100%; + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); +} + +.card-deck { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; +} + +.card-deck .card { + margin-bottom: 15px; +} + +@media (min-width: 576px) { + .card-deck { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + margin-right: -15px; + margin-left: -15px; + } + .card-deck .card { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 1; + -ms-flex: 1 0 0%; + flex: 1 0 0%; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + margin-right: 15px; + margin-bottom: 0; + margin-left: 15px; + } +} + +.card-group { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; +} + +.card-group > .card { + margin-bottom: 15px; +} + +@media (min-width: 576px) { + .card-group { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + } + .card-group > .card { + -webkit-box-flex: 1; + -ms-flex: 1 0 0%; + flex: 1 0 0%; + margin-bottom: 0; + } + .card-group > .card + .card { + margin-left: 0; + border-left: 0; + } + .card-group > .card:first-child { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + .card-group > .card:first-child .card-img-top, + .card-group > .card:first-child .card-header { + border-top-right-radius: 0; + } + .card-group > .card:first-child .card-img-bottom, + .card-group > .card:first-child .card-footer { + border-bottom-right-radius: 0; + } + .card-group > .card:last-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + .card-group > .card:last-child .card-img-top, + .card-group > .card:last-child .card-header { + border-top-left-radius: 0; + } + .card-group > .card:last-child .card-img-bottom, + .card-group > .card:last-child .card-footer { + border-bottom-left-radius: 0; + } + .card-group > .card:only-child { + border-radius: 0.25rem; + } + .card-group > .card:only-child .card-img-top, + .card-group > .card:only-child .card-header { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; + } + .card-group > .card:only-child .card-img-bottom, + .card-group > .card:only-child .card-footer { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + } + .card-group > .card:not(:first-child):not(:last-child):not(:only-child) { + border-radius: 0; + } + .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top, + .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom, + .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-header, + .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-footer { + border-radius: 0; + } +} + +.card-columns .card { + margin-bottom: 0.75rem; +} + +@media (min-width: 576px) { + .card-columns { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; + -webkit-column-gap: 1.25rem; + -moz-column-gap: 1.25rem; + column-gap: 1.25rem; + } + .card-columns .card { + display: inline-block; + width: 100%; + } +} + +.breadcrumb { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + padding: 0.75rem 1rem; + margin-bottom: 1rem; + list-style: none; + background-color: #e9ecef; + border-radius: 0.25rem; +} + +.breadcrumb-item + .breadcrumb-item::before { + display: inline-block; + padding-right: 0.5rem; + padding-left: 0.5rem; + color: #6c757d; + content: "/"; +} + +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: underline; +} + +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: none; +} + +.breadcrumb-item.active { + color: #6c757d; +} + +.pagination { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + padding-left: 0; + list-style: none; + border-radius: 0.25rem; +} + +.page-link { + position: relative; + display: block; + padding: 0.5rem 0.75rem; + margin-left: -1px; + line-height: 1.25; + color: #007bff; + background-color: #fff; + border: 1px solid #dee2e6; +} + +.page-link:hover { + color: #0056b3; + text-decoration: none; + background-color: #e9ecef; + border-color: #dee2e6; +} + +.page-link:focus { + z-index: 2; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.page-link:not(:disabled):not(.disabled) { + cursor: pointer; +} + +.page-item:first-child .page-link { + margin-left: 0; + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.page-item:last-child .page-link { + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; +} + +.page-item.active .page-link { + z-index: 1; + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.page-item.disabled .page-link { + color: #6c757d; + pointer-events: none; + cursor: auto; + background-color: #fff; + border-color: #dee2e6; +} + +.pagination-lg .page-link { + padding: 0.75rem 1.5rem; + font-size: 1.25rem; + line-height: 1.5; +} + +.pagination-lg .page-item:first-child .page-link { + border-top-left-radius: 0.3rem; + border-bottom-left-radius: 0.3rem; +} + +.pagination-lg .page-item:last-child .page-link { + border-top-right-radius: 0.3rem; + border-bottom-right-radius: 0.3rem; +} + +.pagination-sm .page-link { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; +} + +.pagination-sm .page-item:first-child .page-link { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; +} + +.pagination-sm .page-item:last-child .page-link { + border-top-right-radius: 0.2rem; + border-bottom-right-radius: 0.2rem; +} + +.badge { + display: inline-block; + padding: 0.25em 0.4em; + font-size: 75%; + font-weight: 700; + line-height: 1; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: 0.25rem; +} + +.badge:empty { + display: none; +} + +.btn .badge { + position: relative; + top: -1px; +} + +.badge-pill { + padding-right: 0.6em; + padding-left: 0.6em; + border-radius: 10rem; +} + +.badge-primary { + color: #fff; + background-color: #007bff; +} + +.badge-primary[href]:hover, .badge-primary[href]:focus { + color: #fff; + text-decoration: none; + background-color: #0062cc; +} + +.badge-secondary { + color: #fff; + background-color: #6c757d; +} + +.badge-secondary[href]:hover, .badge-secondary[href]:focus { + color: #fff; + text-decoration: none; + background-color: #545b62; +} + +.badge-success { + color: #fff; + background-color: #28a745; +} + +.badge-success[href]:hover, .badge-success[href]:focus { + color: #fff; + text-decoration: none; + background-color: #1e7e34; +} + +.badge-info { + color: #fff; + background-color: #17a2b8; +} + +.badge-info[href]:hover, .badge-info[href]:focus { + color: #fff; + text-decoration: none; + background-color: #117a8b; +} + +.badge-warning { + color: #212529; + background-color: #ffc107; +} + +.badge-warning[href]:hover, .badge-warning[href]:focus { + color: #212529; + text-decoration: none; + background-color: #d39e00; +} + +.badge-danger { + color: #fff; + background-color: #dc3545; +} + +.badge-danger[href]:hover, .badge-danger[href]:focus { + color: #fff; + text-decoration: none; + background-color: #bd2130; +} + +.badge-light { + color: #212529; + background-color: #f8f9fa; +} + +.badge-light[href]:hover, .badge-light[href]:focus { + color: #212529; + text-decoration: none; + background-color: #dae0e5; +} + +.badge-dark { + color: #fff; + background-color: #343a40; +} + +.badge-dark[href]:hover, .badge-dark[href]:focus { + color: #fff; + text-decoration: none; + background-color: #1d2124; +} + +.jumbotron { + padding: 2rem 1rem; + margin-bottom: 2rem; + background-color: #e9ecef; + border-radius: 0.3rem; +} + +@media (min-width: 576px) { + .jumbotron { + padding: 4rem 2rem; + } +} + +.jumbotron-fluid { + padding-right: 0; + padding-left: 0; + border-radius: 0; +} + +.alert { + position: relative; + padding: 0.75rem 1.25rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 0.25rem; +} + +.alert-heading { + color: inherit; +} + +.alert-link { + font-weight: 700; +} + +.alert-dismissible { + padding-right: 4rem; +} + +.alert-dismissible .close { + position: absolute; + top: 0; + right: 0; + padding: 0.75rem 1.25rem; + color: inherit; +} + +.alert-primary { + color: #004085; + background-color: #cce5ff; + border-color: #b8daff; +} + +.alert-primary hr { + border-top-color: #9fcdff; +} + +.alert-primary .alert-link { + color: #002752; +} + +.alert-secondary { + color: #383d41; + background-color: #e2e3e5; + border-color: #d6d8db; +} + +.alert-secondary hr { + border-top-color: #c8cbcf; +} + +.alert-secondary .alert-link { + color: #202326; +} + +.alert-success { + color: #155724; + background-color: #d4edda; + border-color: #c3e6cb; +} + +.alert-success hr { + border-top-color: #b1dfbb; +} + +.alert-success .alert-link { + color: #0b2e13; +} + +.alert-info { + color: #0c5460; + background-color: #d1ecf1; + border-color: #bee5eb; +} + +.alert-info hr { + border-top-color: #abdde5; +} + +.alert-info .alert-link { + color: #062c33; +} + +.alert-warning { + color: #856404; + background-color: #fff3cd; + border-color: #ffeeba; +} + +.alert-warning hr { + border-top-color: #ffe8a1; +} + +.alert-warning .alert-link { + color: #533f03; +} + +.alert-danger { + color: #721c24; + background-color: #f8d7da; + border-color: #f5c6cb; +} + +.alert-danger hr { + border-top-color: #f1b0b7; +} + +.alert-danger .alert-link { + color: #491217; +} + +.alert-light { + color: #818182; + background-color: #fefefe; + border-color: #fdfdfe; +} + +.alert-light hr { + border-top-color: #ececf6; +} + +.alert-light .alert-link { + color: #686868; +} + +.alert-dark { + color: #1b1e21; + background-color: #d6d8d9; + border-color: #c6c8ca; +} + +.alert-dark hr { + border-top-color: #b9bbbe; +} + +.alert-dark .alert-link { + color: #040505; +} + +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 1rem 0; + } + to { + background-position: 0 0; + } +} + +@keyframes progress-bar-stripes { + from { + background-position: 1rem 0; + } + to { + background-position: 0 0; + } +} + +.progress { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + height: 1rem; + overflow: hidden; + font-size: 0.75rem; + background-color: #e9ecef; + border-radius: 0.25rem; +} + +.progress-bar { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + color: #fff; + text-align: center; + background-color: #007bff; + transition: width 0.6s ease; +} + +.progress-bar-striped { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 1rem 1rem; +} + +.progress-bar-animated { + -webkit-animation: progress-bar-stripes 1s linear infinite; + animation: progress-bar-stripes 1s linear infinite; +} + +.media { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: start; + -ms-flex-align: start; + align-items: flex-start; +} + +.media-body { + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; +} + +.list-group { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; +} + +.list-group-item-action { + width: 100%; + color: #495057; + text-align: inherit; +} + +.list-group-item-action:hover, .list-group-item-action:focus { + color: #495057; + text-decoration: none; + background-color: #f8f9fa; +} + +.list-group-item-action:active { + color: #212529; + background-color: #e9ecef; +} + +.list-group-item { + position: relative; + display: block; + padding: 0.75rem 1.25rem; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.125); +} + +.list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.list-group-item:hover, .list-group-item:focus { + z-index: 1; + text-decoration: none; +} + +.list-group-item.disabled, .list-group-item:disabled { + color: #6c757d; + background-color: #fff; +} + +.list-group-item.active { + z-index: 2; + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.list-group-flush .list-group-item { + border-right: 0; + border-left: 0; + border-radius: 0; +} + +.list-group-flush:first-child .list-group-item:first-child { + border-top: 0; +} + +.list-group-flush:last-child .list-group-item:last-child { + border-bottom: 0; +} + +.list-group-item-primary { + color: #004085; + background-color: #b8daff; +} + +.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { + color: #004085; + background-color: #9fcdff; +} + +.list-group-item-primary.list-group-item-action.active { + color: #fff; + background-color: #004085; + border-color: #004085; +} + +.list-group-item-secondary { + color: #383d41; + background-color: #d6d8db; +} + +.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { + color: #383d41; + background-color: #c8cbcf; +} + +.list-group-item-secondary.list-group-item-action.active { + color: #fff; + background-color: #383d41; + border-color: #383d41; +} + +.list-group-item-success { + color: #155724; + background-color: #c3e6cb; +} + +.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { + color: #155724; + background-color: #b1dfbb; +} + +.list-group-item-success.list-group-item-action.active { + color: #fff; + background-color: #155724; + border-color: #155724; +} + +.list-group-item-info { + color: #0c5460; + background-color: #bee5eb; +} + +.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { + color: #0c5460; + background-color: #abdde5; +} + +.list-group-item-info.list-group-item-action.active { + color: #fff; + background-color: #0c5460; + border-color: #0c5460; +} + +.list-group-item-warning { + color: #856404; + background-color: #ffeeba; +} + +.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { + color: #856404; + background-color: #ffe8a1; +} + +.list-group-item-warning.list-group-item-action.active { + color: #fff; + background-color: #856404; + border-color: #856404; +} + +.list-group-item-danger { + color: #721c24; + background-color: #f5c6cb; +} + +.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { + color: #721c24; + background-color: #f1b0b7; +} + +.list-group-item-danger.list-group-item-action.active { + color: #fff; + background-color: #721c24; + border-color: #721c24; +} + +.list-group-item-light { + color: #818182; + background-color: #fdfdfe; +} + +.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { + color: #818182; + background-color: #ececf6; +} + +.list-group-item-light.list-group-item-action.active { + color: #fff; + background-color: #818182; + border-color: #818182; +} + +.list-group-item-dark { + color: #1b1e21; + background-color: #c6c8ca; +} + +.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { + color: #1b1e21; + background-color: #b9bbbe; +} + +.list-group-item-dark.list-group-item-action.active { + color: #fff; + background-color: #1b1e21; + border-color: #1b1e21; +} + +.close { + float: right; + font-size: 1.5rem; + font-weight: 700; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: .5; +} + +.close:hover, .close:focus { + color: #000; + text-decoration: none; + opacity: .75; +} + +.close:not(:disabled):not(.disabled) { + cursor: pointer; +} + +button.close { + padding: 0; + background-color: transparent; + border: 0; + -webkit-appearance: none; +} + +.modal-open { + overflow: hidden; +} + +.modal { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1050; + display: none; + overflow: hidden; + outline: 0; +} + +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} + +.modal-dialog { + position: relative; + width: auto; + margin: 0.5rem; + pointer-events: none; +} + +.modal.fade .modal-dialog { + transition: -webkit-transform 0.3s ease-out; + transition: transform 0.3s ease-out; + transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out; + -webkit-transform: translate(0, -25%); + transform: translate(0, -25%); +} + +.modal.show .modal-dialog { + -webkit-transform: translate(0, 0); + transform: translate(0, 0); +} + +.modal-dialog-centered { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + min-height: calc(100% - (0.5rem * 2)); +} + +.modal-content { + position: relative; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + width: 100%; + pointer-events: auto; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; + outline: 0; +} + +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000; +} + +.modal-backdrop.fade { + opacity: 0; +} + +.modal-backdrop.show { + opacity: 0.5; +} + +.modal-header { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: start; + -ms-flex-align: start; + align-items: flex-start; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 1rem; + border-bottom: 1px solid #e9ecef; + border-top-left-radius: 0.3rem; + border-top-right-radius: 0.3rem; +} + +.modal-header .close { + padding: 1rem; + margin: -1rem -1rem -1rem auto; +} + +.modal-title { + margin-bottom: 0; + line-height: 1.5; +} + +.modal-body { + position: relative; + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + padding: 1rem; +} + +.modal-footer { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: end; + -ms-flex-pack: end; + justify-content: flex-end; + padding: 1rem; + border-top: 1px solid #e9ecef; +} + +.modal-footer > :not(:first-child) { + margin-left: .25rem; +} + +.modal-footer > :not(:last-child) { + margin-right: .25rem; +} + +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} + +@media (min-width: 576px) { + .modal-dialog { + max-width: 500px; + margin: 1.75rem auto; + } + .modal-dialog-centered { + min-height: calc(100% - (1.75rem * 2)); + } + .modal-sm { + max-width: 300px; + } +} + +@media (min-width: 992px) { + .modal-lg { + max-width: 800px; + } +} + +.tooltip { + position: absolute; + z-index: 1070; + display: block; + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + opacity: 0; +} + +.tooltip.show { + opacity: 0.9; +} + +.tooltip .arrow { + position: absolute; + display: block; + width: 0.8rem; + height: 0.4rem; +} + +.tooltip .arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] { + padding: 0.4rem 0; +} + +.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow { + bottom: 0; +} + +.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before { + top: 0; + border-width: 0.4rem 0.4rem 0; + border-top-color: #000; +} + +.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] { + padding: 0 0.4rem; +} + +.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow { + left: 0; + width: 0.4rem; + height: 0.8rem; +} + +.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before { + right: 0; + border-width: 0.4rem 0.4rem 0.4rem 0; + border-right-color: #000; +} + +.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] { + padding: 0.4rem 0; +} + +.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow { + top: 0; +} + +.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before { + bottom: 0; + border-width: 0 0.4rem 0.4rem; + border-bottom-color: #000; +} + +.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] { + padding: 0 0.4rem; +} + +.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow { + right: 0; + width: 0.4rem; + height: 0.8rem; +} + +.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before { + left: 0; + border-width: 0.4rem 0 0.4rem 0.4rem; + border-left-color: #000; +} + +.tooltip-inner { + max-width: 200px; + padding: 0.25rem 0.5rem; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 0.25rem; +} + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: block; + max-width: 276px; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; +} + +.popover .arrow { + position: absolute; + display: block; + width: 1rem; + height: 0.5rem; + margin: 0 0.3rem; +} + +.popover .arrow::before, .popover .arrow::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-popover-top, .bs-popover-auto[x-placement^="top"] { + margin-bottom: 0.5rem; +} + +.bs-popover-top .arrow, .bs-popover-auto[x-placement^="top"] .arrow { + bottom: calc((0.5rem + 1px) * -1); +} + +.bs-popover-top .arrow::before, .bs-popover-auto[x-placement^="top"] .arrow::before, +.bs-popover-top .arrow::after, .bs-popover-auto[x-placement^="top"] .arrow::after { + border-width: 0.5rem 0.5rem 0; +} + +.bs-popover-top .arrow::before, .bs-popover-auto[x-placement^="top"] .arrow::before { + bottom: 0; + border-top-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-top .arrow::after, .bs-popover-auto[x-placement^="top"] .arrow::after { + bottom: 1px; + border-top-color: #fff; +} + +.bs-popover-right, .bs-popover-auto[x-placement^="right"] { + margin-left: 0.5rem; +} + +.bs-popover-right .arrow, .bs-popover-auto[x-placement^="right"] .arrow { + left: calc((0.5rem + 1px) * -1); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; +} + +.bs-popover-right .arrow::before, .bs-popover-auto[x-placement^="right"] .arrow::before, +.bs-popover-right .arrow::after, .bs-popover-auto[x-placement^="right"] .arrow::after { + border-width: 0.5rem 0.5rem 0.5rem 0; +} + +.bs-popover-right .arrow::before, .bs-popover-auto[x-placement^="right"] .arrow::before { + left: 0; + border-right-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-right .arrow::after, .bs-popover-auto[x-placement^="right"] .arrow::after { + left: 1px; + border-right-color: #fff; +} + +.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] { + margin-top: 0.5rem; +} + +.bs-popover-bottom .arrow, .bs-popover-auto[x-placement^="bottom"] .arrow { + top: calc((0.5rem + 1px) * -1); +} + +.bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^="bottom"] .arrow::before, +.bs-popover-bottom .arrow::after, .bs-popover-auto[x-placement^="bottom"] .arrow::after { + border-width: 0 0.5rem 0.5rem 0.5rem; +} + +.bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^="bottom"] .arrow::before { + top: 0; + border-bottom-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-bottom .arrow::after, .bs-popover-auto[x-placement^="bottom"] .arrow::after { + top: 1px; + border-bottom-color: #fff; +} + +.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: 1rem; + margin-left: -0.5rem; + content: ""; + border-bottom: 1px solid #f7f7f7; +} + +.bs-popover-left, .bs-popover-auto[x-placement^="left"] { + margin-right: 0.5rem; +} + +.bs-popover-left .arrow, .bs-popover-auto[x-placement^="left"] .arrow { + right: calc((0.5rem + 1px) * -1); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; +} + +.bs-popover-left .arrow::before, .bs-popover-auto[x-placement^="left"] .arrow::before, +.bs-popover-left .arrow::after, .bs-popover-auto[x-placement^="left"] .arrow::after { + border-width: 0.5rem 0 0.5rem 0.5rem; +} + +.bs-popover-left .arrow::before, .bs-popover-auto[x-placement^="left"] .arrow::before { + right: 0; + border-left-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-left .arrow::after, .bs-popover-auto[x-placement^="left"] .arrow::after { + right: 1px; + border-left-color: #fff; +} + +.popover-header { + padding: 0.5rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + color: inherit; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} + +.popover-header:empty { + display: none; +} + +.popover-body { + padding: 0.5rem 0.75rem; + color: #212529; +} + +.carousel { + position: relative; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} + +.carousel-item { + position: relative; + display: none; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + width: 100%; + transition: -webkit-transform 0.6s ease; + transition: transform 0.6s ease; + transition: transform 0.6s ease, -webkit-transform 0.6s ease; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-perspective: 1000px; + perspective: 1000px; +} + +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; +} + +.carousel-item-next, +.carousel-item-prev { + position: absolute; + top: 0; +} + +.carousel-item-next.carousel-item-left, +.carousel-item-prev.carousel-item-right { + -webkit-transform: translateX(0); + transform: translateX(0); +} + +@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) { + .carousel-item-next.carousel-item-left, + .carousel-item-prev.carousel-item-right { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.carousel-item-next, +.active.carousel-item-right { + -webkit-transform: translateX(100%); + transform: translateX(100%); +} + +@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) { + .carousel-item-next, + .active.carousel-item-right { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } +} + +.carousel-item-prev, +.active.carousel-item-left { + -webkit-transform: translateX(-100%); + transform: translateX(-100%); +} + +@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) { + .carousel-item-prev, + .active.carousel-item-left { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } +} + +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + width: 15%; + color: #fff; + text-align: center; + opacity: 0.5; +} + +.carousel-control-prev:hover, .carousel-control-prev:focus, +.carousel-control-next:hover, +.carousel-control-next:focus { + color: #fff; + text-decoration: none; + outline: 0; + opacity: .9; +} + +.carousel-control-prev { + left: 0; +} + +.carousel-control-next { + right: 0; +} + +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: 20px; + height: 20px; + background: transparent no-repeat center center; + background-size: 100% 100%; +} + +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E"); +} + +.carousel-control-next-icon { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E"); +} + +.carousel-indicators { + position: absolute; + right: 0; + bottom: 10px; + left: 0; + z-index: 15; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + padding-left: 0; + margin-right: 15%; + margin-left: 15%; + list-style: none; +} + +.carousel-indicators li { + position: relative; + -webkit-box-flex: 0; + -ms-flex: 0 1 auto; + flex: 0 1 auto; + width: 30px; + height: 3px; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + background-color: rgba(255, 255, 255, 0.5); +} + +.carousel-indicators li::before { + position: absolute; + top: -10px; + left: 0; + display: inline-block; + width: 100%; + height: 10px; + content: ""; +} + +.carousel-indicators li::after { + position: absolute; + bottom: -10px; + left: 0; + display: inline-block; + width: 100%; + height: 10px; + content: ""; +} + +.carousel-indicators .active { + background-color: #fff; +} + +.carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; +} + +.align-baseline { + vertical-align: baseline !important; +} + +.align-top { + vertical-align: top !important; +} + +.align-middle { + vertical-align: middle !important; +} + +.align-bottom { + vertical-align: bottom !important; +} + +.align-text-bottom { + vertical-align: text-bottom !important; +} + +.align-text-top { + vertical-align: text-top !important; +} + +.bg-primary { + background-color: #007bff !important; +} + +a.bg-primary:hover, a.bg-primary:focus, +button.bg-primary:hover, +button.bg-primary:focus { + background-color: #0062cc !important; +} + +.bg-secondary { + background-color: #6c757d !important; +} + +a.bg-secondary:hover, a.bg-secondary:focus, +button.bg-secondary:hover, +button.bg-secondary:focus { + background-color: #545b62 !important; +} + +.bg-success { + background-color: #28a745 !important; +} + +a.bg-success:hover, a.bg-success:focus, +button.bg-success:hover, +button.bg-success:focus { + background-color: #1e7e34 !important; +} + +.bg-info { + background-color: #17a2b8 !important; +} + +a.bg-info:hover, a.bg-info:focus, +button.bg-info:hover, +button.bg-info:focus { + background-color: #117a8b !important; +} + +.bg-warning { + background-color: #ffc107 !important; +} + +a.bg-warning:hover, a.bg-warning:focus, +button.bg-warning:hover, +button.bg-warning:focus { + background-color: #d39e00 !important; +} + +.bg-danger { + background-color: #dc3545 !important; +} + +a.bg-danger:hover, a.bg-danger:focus, +button.bg-danger:hover, +button.bg-danger:focus { + background-color: #bd2130 !important; +} + +.bg-light { + background-color: #f8f9fa !important; +} + +a.bg-light:hover, a.bg-light:focus, +button.bg-light:hover, +button.bg-light:focus { + background-color: #dae0e5 !important; +} + +.bg-dark { + background-color: #343a40 !important; +} + +a.bg-dark:hover, a.bg-dark:focus, +button.bg-dark:hover, +button.bg-dark:focus { + background-color: #1d2124 !important; +} + +.bg-white { + background-color: #fff !important; +} + +.bg-transparent { + background-color: transparent !important; +} + +.border { + border: 1px solid #dee2e6 !important; +} + +.border-top { + border-top: 1px solid #dee2e6 !important; +} + +.border-right { + border-right: 1px solid #dee2e6 !important; +} + +.border-bottom { + border-bottom: 1px solid #dee2e6 !important; +} + +.border-left { + border-left: 1px solid #dee2e6 !important; +} + +.border-0 { + border: 0 !important; +} + +.border-top-0 { + border-top: 0 !important; +} + +.border-right-0 { + border-right: 0 !important; +} + +.border-bottom-0 { + border-bottom: 0 !important; +} + +.border-left-0 { + border-left: 0 !important; +} + +.border-primary { + border-color: #007bff !important; +} + +.border-secondary { + border-color: #6c757d !important; +} + +.border-success { + border-color: #28a745 !important; +} + +.border-info { + border-color: #17a2b8 !important; +} + +.border-warning { + border-color: #ffc107 !important; +} + +.border-danger { + border-color: #dc3545 !important; +} + +.border-light { + border-color: #f8f9fa !important; +} + +.border-dark { + border-color: #343a40 !important; +} + +.border-white { + border-color: #fff !important; +} + +.rounded { + border-radius: 0.25rem !important; +} + +.rounded-top { + border-top-left-radius: 0.25rem !important; + border-top-right-radius: 0.25rem !important; +} + +.rounded-right { + border-top-right-radius: 0.25rem !important; + border-bottom-right-radius: 0.25rem !important; +} + +.rounded-bottom { + border-bottom-right-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} + +.rounded-left { + border-top-left-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} + +.rounded-circle { + border-radius: 50% !important; +} + +.rounded-0 { + border-radius: 0 !important; +} + +.clearfix::after { + display: block; + clear: both; + content: ""; +} + +.d-none { + display: none !important; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; +} + +.d-inline-flex { + display: -webkit-inline-box !important; + display: -ms-inline-flexbox !important; + display: inline-flex !important; +} + +@media (min-width: 576px) { + .d-sm-none { + display: none !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + } + .d-sm-inline-flex { + display: -webkit-inline-box !important; + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 768px) { + .d-md-none { + display: none !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + } + .d-md-inline-flex { + display: -webkit-inline-box !important; + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 992px) { + .d-lg-none { + display: none !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + } + .d-lg-inline-flex { + display: -webkit-inline-box !important; + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 1200px) { + .d-xl-none { + display: none !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + } + .d-xl-inline-flex { + display: -webkit-inline-box !important; + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media print { + .d-print-none { + display: none !important; + } + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + } + .d-print-inline-flex { + display: -webkit-inline-box !important; + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +.embed-responsive { + position: relative; + display: block; + width: 100%; + padding: 0; + overflow: hidden; +} + +.embed-responsive::before { + display: block; + content: ""; +} + +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; +} + +.embed-responsive-21by9::before { + padding-top: 42.857143%; +} + +.embed-responsive-16by9::before { + padding-top: 56.25%; +} + +.embed-responsive-4by3::before { + padding-top: 75%; +} + +.embed-responsive-1by1::before { + padding-top: 100%; +} + +.flex-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; +} + +.flex-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; +} + +.flex-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; +} + +.flex-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; +} + +.flex-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; +} + +.justify-content-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; +} + +.justify-content-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; +} + +.justify-content-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; +} + +.justify-content-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; +} + +.justify-content-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; +} + +.align-items-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; +} + +.align-items-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; +} + +.align-items-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; +} + +.align-items-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; +} + +.align-items-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; +} + +.align-content-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; +} + +.align-content-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; +} + +.align-content-center { + -ms-flex-line-pack: center !important; + align-content: center !important; +} + +.align-content-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; +} + +.align-content-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; +} + +.align-content-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; +} + +.align-self-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; +} + +.align-self-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; +} + +.align-self-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; +} + +.align-self-center { + -ms-flex-item-align: center !important; + align-self: center !important; +} + +.align-self-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; +} + +.align-self-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; +} + +@media (min-width: 576px) { + .flex-sm-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-sm-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-sm-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-sm-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .justify-content-sm-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-sm-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-sm-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-sm-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-sm-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-sm-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-sm-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-sm-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-sm-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-sm-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-sm-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-sm-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-sm-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-sm-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-sm-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-sm-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-sm-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-sm-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-sm-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-sm-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-sm-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-sm-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 768px) { + .flex-md-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-md-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-md-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-md-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-md-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .justify-content-md-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-md-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-md-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-md-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-md-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-md-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-md-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-md-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-md-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-md-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-md-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-md-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-md-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-md-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-md-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-md-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-md-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-md-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-md-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-md-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-md-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-md-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 992px) { + .flex-lg-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-lg-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-lg-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-lg-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .justify-content-lg-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-lg-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-lg-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-lg-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-lg-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-lg-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-lg-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-lg-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-lg-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-lg-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-lg-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-lg-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-lg-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-lg-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-lg-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-lg-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-lg-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-lg-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-lg-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-lg-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-lg-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-lg-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 1200px) { + .flex-xl-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-xl-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-xl-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-xl-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .justify-content-xl-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-xl-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-xl-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-xl-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-xl-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-xl-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-xl-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-xl-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-xl-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-xl-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-xl-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-xl-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-xl-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-xl-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-xl-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-xl-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-xl-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-xl-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-xl-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-xl-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-xl-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-xl-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +.float-left { + float: left !important; +} + +.float-right { + float: right !important; +} + +.float-none { + float: none !important; +} + +@media (min-width: 576px) { + .float-sm-left { + float: left !important; + } + .float-sm-right { + float: right !important; + } + .float-sm-none { + float: none !important; + } +} + +@media (min-width: 768px) { + .float-md-left { + float: left !important; + } + .float-md-right { + float: right !important; + } + .float-md-none { + float: none !important; + } +} + +@media (min-width: 992px) { + .float-lg-left { + float: left !important; + } + .float-lg-right { + float: right !important; + } + .float-lg-none { + float: none !important; + } +} + +@media (min-width: 1200px) { + .float-xl-left { + float: left !important; + } + .float-xl-right { + float: right !important; + } + .float-xl-none { + float: none !important; + } +} + +.position-static { + position: static !important; +} + +.position-relative { + position: relative !important; +} + +.position-absolute { + position: absolute !important; +} + +.position-fixed { + position: fixed !important; +} + +.position-sticky { + position: -webkit-sticky !important; + position: sticky !important; +} + +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; +} + +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; +} + +@supports ((position: -webkit-sticky) or (position: sticky)) { + .sticky-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + -webkit-clip-path: inset(50%); + clip-path: inset(50%); + border: 0; +} + +.sr-only-focusable:active, .sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + overflow: visible; + clip: auto; + white-space: normal; + -webkit-clip-path: none; + clip-path: none; +} + +.w-25 { + width: 25% !important; +} + +.w-50 { + width: 50% !important; +} + +.w-75 { + width: 75% !important; +} + +.w-100 { + width: 100% !important; +} + +.h-25 { + height: 25% !important; +} + +.h-50 { + height: 50% !important; +} + +.h-75 { + height: 75% !important; +} + +.h-100 { + height: 100% !important; +} + +.mw-100 { + max-width: 100% !important; +} + +.mh-100 { + max-height: 100% !important; +} + +.m-0 { + margin: 0 !important; +} + +.mt-0, +.my-0 { + margin-top: 0 !important; +} + +.mr-0, +.mx-0 { + margin-right: 0 !important; +} + +.mb-0, +.my-0 { + margin-bottom: 0 !important; +} + +.ml-0, +.mx-0 { + margin-left: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.mt-1, +.my-1 { + margin-top: 0.25rem !important; +} + +.mr-1, +.mx-1 { + margin-right: 0.25rem !important; +} + +.mb-1, +.my-1 { + margin-bottom: 0.25rem !important; +} + +.ml-1, +.mx-1 { + margin-left: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.mt-2, +.my-2 { + margin-top: 0.5rem !important; +} + +.mr-2, +.mx-2 { + margin-right: 0.5rem !important; +} + +.mb-2, +.my-2 { + margin-bottom: 0.5rem !important; +} + +.ml-2, +.mx-2 { + margin-left: 0.5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.mt-3, +.my-3 { + margin-top: 1rem !important; +} + +.mr-3, +.mx-3 { + margin-right: 1rem !important; +} + +.mb-3, +.my-3 { + margin-bottom: 1rem !important; +} + +.ml-3, +.mx-3 { + margin-left: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.mt-4, +.my-4 { + margin-top: 1.5rem !important; +} + +.mr-4, +.mx-4 { + margin-right: 1.5rem !important; +} + +.mb-4, +.my-4 { + margin-bottom: 1.5rem !important; +} + +.ml-4, +.mx-4 { + margin-left: 1.5rem !important; +} + +.m-5 { + margin: 3rem !important; +} + +.mt-5, +.my-5 { + margin-top: 3rem !important; +} + +.mr-5, +.mx-5 { + margin-right: 3rem !important; +} + +.mb-5, +.my-5 { + margin-bottom: 3rem !important; +} + +.ml-5, +.mx-5 { + margin-left: 3rem !important; +} + +.p-0 { + padding: 0 !important; +} + +.pt-0, +.py-0 { + padding-top: 0 !important; +} + +.pr-0, +.px-0 { + padding-right: 0 !important; +} + +.pb-0, +.py-0 { + padding-bottom: 0 !important; +} + +.pl-0, +.px-0 { + padding-left: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.pt-1, +.py-1 { + padding-top: 0.25rem !important; +} + +.pr-1, +.px-1 { + padding-right: 0.25rem !important; +} + +.pb-1, +.py-1 { + padding-bottom: 0.25rem !important; +} + +.pl-1, +.px-1 { + padding-left: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.pt-2, +.py-2 { + padding-top: 0.5rem !important; +} + +.pr-2, +.px-2 { + padding-right: 0.5rem !important; +} + +.pb-2, +.py-2 { + padding-bottom: 0.5rem !important; +} + +.pl-2, +.px-2 { + padding-left: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.pt-3, +.py-3 { + padding-top: 1rem !important; +} + +.pr-3, +.px-3 { + padding-right: 1rem !important; +} + +.pb-3, +.py-3 { + padding-bottom: 1rem !important; +} + +.pl-3, +.px-3 { + padding-left: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.pt-4, +.py-4 { + padding-top: 1.5rem !important; +} + +.pr-4, +.px-4 { + padding-right: 1.5rem !important; +} + +.pb-4, +.py-4 { + padding-bottom: 1.5rem !important; +} + +.pl-4, +.px-4 { + padding-left: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + +.pt-5, +.py-5 { + padding-top: 3rem !important; +} + +.pr-5, +.px-5 { + padding-right: 3rem !important; +} + +.pb-5, +.py-5 { + padding-bottom: 3rem !important; +} + +.pl-5, +.px-5 { + padding-left: 3rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mt-auto, +.my-auto { + margin-top: auto !important; +} + +.mr-auto, +.mx-auto { + margin-right: auto !important; +} + +.mb-auto, +.my-auto { + margin-bottom: auto !important; +} + +.ml-auto, +.mx-auto { + margin-left: auto !important; +} + +@media (min-width: 576px) { + .m-sm-0 { + margin: 0 !important; + } + .mt-sm-0, + .my-sm-0 { + margin-top: 0 !important; + } + .mr-sm-0, + .mx-sm-0 { + margin-right: 0 !important; + } + .mb-sm-0, + .my-sm-0 { + margin-bottom: 0 !important; + } + .ml-sm-0, + .mx-sm-0 { + margin-left: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .mt-sm-1, + .my-sm-1 { + margin-top: 0.25rem !important; + } + .mr-sm-1, + .mx-sm-1 { + margin-right: 0.25rem !important; + } + .mb-sm-1, + .my-sm-1 { + margin-bottom: 0.25rem !important; + } + .ml-sm-1, + .mx-sm-1 { + margin-left: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .mt-sm-2, + .my-sm-2 { + margin-top: 0.5rem !important; + } + .mr-sm-2, + .mx-sm-2 { + margin-right: 0.5rem !important; + } + .mb-sm-2, + .my-sm-2 { + margin-bottom: 0.5rem !important; + } + .ml-sm-2, + .mx-sm-2 { + margin-left: 0.5rem !important; + } + .m-sm-3 { + margin: 1rem !important; + } + .mt-sm-3, + .my-sm-3 { + margin-top: 1rem !important; + } + .mr-sm-3, + .mx-sm-3 { + margin-right: 1rem !important; + } + .mb-sm-3, + .my-sm-3 { + margin-bottom: 1rem !important; + } + .ml-sm-3, + .mx-sm-3 { + margin-left: 1rem !important; + } + .m-sm-4 { + margin: 1.5rem !important; + } + .mt-sm-4, + .my-sm-4 { + margin-top: 1.5rem !important; + } + .mr-sm-4, + .mx-sm-4 { + margin-right: 1.5rem !important; + } + .mb-sm-4, + .my-sm-4 { + margin-bottom: 1.5rem !important; + } + .ml-sm-4, + .mx-sm-4 { + margin-left: 1.5rem !important; + } + .m-sm-5 { + margin: 3rem !important; + } + .mt-sm-5, + .my-sm-5 { + margin-top: 3rem !important; + } + .mr-sm-5, + .mx-sm-5 { + margin-right: 3rem !important; + } + .mb-sm-5, + .my-sm-5 { + margin-bottom: 3rem !important; + } + .ml-sm-5, + .mx-sm-5 { + margin-left: 3rem !important; + } + .p-sm-0 { + padding: 0 !important; + } + .pt-sm-0, + .py-sm-0 { + padding-top: 0 !important; + } + .pr-sm-0, + .px-sm-0 { + padding-right: 0 !important; + } + .pb-sm-0, + .py-sm-0 { + padding-bottom: 0 !important; + } + .pl-sm-0, + .px-sm-0 { + padding-left: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .pt-sm-1, + .py-sm-1 { + padding-top: 0.25rem !important; + } + .pr-sm-1, + .px-sm-1 { + padding-right: 0.25rem !important; + } + .pb-sm-1, + .py-sm-1 { + padding-bottom: 0.25rem !important; + } + .pl-sm-1, + .px-sm-1 { + padding-left: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .pt-sm-2, + .py-sm-2 { + padding-top: 0.5rem !important; + } + .pr-sm-2, + .px-sm-2 { + padding-right: 0.5rem !important; + } + .pb-sm-2, + .py-sm-2 { + padding-bottom: 0.5rem !important; + } + .pl-sm-2, + .px-sm-2 { + padding-left: 0.5rem !important; + } + .p-sm-3 { + padding: 1rem !important; + } + .pt-sm-3, + .py-sm-3 { + padding-top: 1rem !important; + } + .pr-sm-3, + .px-sm-3 { + padding-right: 1rem !important; + } + .pb-sm-3, + .py-sm-3 { + padding-bottom: 1rem !important; + } + .pl-sm-3, + .px-sm-3 { + padding-left: 1rem !important; + } + .p-sm-4 { + padding: 1.5rem !important; + } + .pt-sm-4, + .py-sm-4 { + padding-top: 1.5rem !important; + } + .pr-sm-4, + .px-sm-4 { + padding-right: 1.5rem !important; + } + .pb-sm-4, + .py-sm-4 { + padding-bottom: 1.5rem !important; + } + .pl-sm-4, + .px-sm-4 { + padding-left: 1.5rem !important; + } + .p-sm-5 { + padding: 3rem !important; + } + .pt-sm-5, + .py-sm-5 { + padding-top: 3rem !important; + } + .pr-sm-5, + .px-sm-5 { + padding-right: 3rem !important; + } + .pb-sm-5, + .py-sm-5 { + padding-bottom: 3rem !important; + } + .pl-sm-5, + .px-sm-5 { + padding-left: 3rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mt-sm-auto, + .my-sm-auto { + margin-top: auto !important; + } + .mr-sm-auto, + .mx-sm-auto { + margin-right: auto !important; + } + .mb-sm-auto, + .my-sm-auto { + margin-bottom: auto !important; + } + .ml-sm-auto, + .mx-sm-auto { + margin-left: auto !important; + } +} + +@media (min-width: 768px) { + .m-md-0 { + margin: 0 !important; + } + .mt-md-0, + .my-md-0 { + margin-top: 0 !important; + } + .mr-md-0, + .mx-md-0 { + margin-right: 0 !important; + } + .mb-md-0, + .my-md-0 { + margin-bottom: 0 !important; + } + .ml-md-0, + .mx-md-0 { + margin-left: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .mt-md-1, + .my-md-1 { + margin-top: 0.25rem !important; + } + .mr-md-1, + .mx-md-1 { + margin-right: 0.25rem !important; + } + .mb-md-1, + .my-md-1 { + margin-bottom: 0.25rem !important; + } + .ml-md-1, + .mx-md-1 { + margin-left: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .mt-md-2, + .my-md-2 { + margin-top: 0.5rem !important; + } + .mr-md-2, + .mx-md-2 { + margin-right: 0.5rem !important; + } + .mb-md-2, + .my-md-2 { + margin-bottom: 0.5rem !important; + } + .ml-md-2, + .mx-md-2 { + margin-left: 0.5rem !important; + } + .m-md-3 { + margin: 1rem !important; + } + .mt-md-3, + .my-md-3 { + margin-top: 1rem !important; + } + .mr-md-3, + .mx-md-3 { + margin-right: 1rem !important; + } + .mb-md-3, + .my-md-3 { + margin-bottom: 1rem !important; + } + .ml-md-3, + .mx-md-3 { + margin-left: 1rem !important; + } + .m-md-4 { + margin: 1.5rem !important; + } + .mt-md-4, + .my-md-4 { + margin-top: 1.5rem !important; + } + .mr-md-4, + .mx-md-4 { + margin-right: 1.5rem !important; + } + .mb-md-4, + .my-md-4 { + margin-bottom: 1.5rem !important; + } + .ml-md-4, + .mx-md-4 { + margin-left: 1.5rem !important; + } + .m-md-5 { + margin: 3rem !important; + } + .mt-md-5, + .my-md-5 { + margin-top: 3rem !important; + } + .mr-md-5, + .mx-md-5 { + margin-right: 3rem !important; + } + .mb-md-5, + .my-md-5 { + margin-bottom: 3rem !important; + } + .ml-md-5, + .mx-md-5 { + margin-left: 3rem !important; + } + .p-md-0 { + padding: 0 !important; + } + .pt-md-0, + .py-md-0 { + padding-top: 0 !important; + } + .pr-md-0, + .px-md-0 { + padding-right: 0 !important; + } + .pb-md-0, + .py-md-0 { + padding-bottom: 0 !important; + } + .pl-md-0, + .px-md-0 { + padding-left: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .pt-md-1, + .py-md-1 { + padding-top: 0.25rem !important; + } + .pr-md-1, + .px-md-1 { + padding-right: 0.25rem !important; + } + .pb-md-1, + .py-md-1 { + padding-bottom: 0.25rem !important; + } + .pl-md-1, + .px-md-1 { + padding-left: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .pt-md-2, + .py-md-2 { + padding-top: 0.5rem !important; + } + .pr-md-2, + .px-md-2 { + padding-right: 0.5rem !important; + } + .pb-md-2, + .py-md-2 { + padding-bottom: 0.5rem !important; + } + .pl-md-2, + .px-md-2 { + padding-left: 0.5rem !important; + } + .p-md-3 { + padding: 1rem !important; + } + .pt-md-3, + .py-md-3 { + padding-top: 1rem !important; + } + .pr-md-3, + .px-md-3 { + padding-right: 1rem !important; + } + .pb-md-3, + .py-md-3 { + padding-bottom: 1rem !important; + } + .pl-md-3, + .px-md-3 { + padding-left: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .pt-md-4, + .py-md-4 { + padding-top: 1.5rem !important; + } + .pr-md-4, + .px-md-4 { + padding-right: 1.5rem !important; + } + .pb-md-4, + .py-md-4 { + padding-bottom: 1.5rem !important; + } + .pl-md-4, + .px-md-4 { + padding-left: 1.5rem !important; + } + .p-md-5 { + padding: 3rem !important; + } + .pt-md-5, + .py-md-5 { + padding-top: 3rem !important; + } + .pr-md-5, + .px-md-5 { + padding-right: 3rem !important; + } + .pb-md-5, + .py-md-5 { + padding-bottom: 3rem !important; + } + .pl-md-5, + .px-md-5 { + padding-left: 3rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mt-md-auto, + .my-md-auto { + margin-top: auto !important; + } + .mr-md-auto, + .mx-md-auto { + margin-right: auto !important; + } + .mb-md-auto, + .my-md-auto { + margin-bottom: auto !important; + } + .ml-md-auto, + .mx-md-auto { + margin-left: auto !important; + } +} + +@media (min-width: 992px) { + .m-lg-0 { + margin: 0 !important; + } + .mt-lg-0, + .my-lg-0 { + margin-top: 0 !important; + } + .mr-lg-0, + .mx-lg-0 { + margin-right: 0 !important; + } + .mb-lg-0, + .my-lg-0 { + margin-bottom: 0 !important; + } + .ml-lg-0, + .mx-lg-0 { + margin-left: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .mt-lg-1, + .my-lg-1 { + margin-top: 0.25rem !important; + } + .mr-lg-1, + .mx-lg-1 { + margin-right: 0.25rem !important; + } + .mb-lg-1, + .my-lg-1 { + margin-bottom: 0.25rem !important; + } + .ml-lg-1, + .mx-lg-1 { + margin-left: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .mt-lg-2, + .my-lg-2 { + margin-top: 0.5rem !important; + } + .mr-lg-2, + .mx-lg-2 { + margin-right: 0.5rem !important; + } + .mb-lg-2, + .my-lg-2 { + margin-bottom: 0.5rem !important; + } + .ml-lg-2, + .mx-lg-2 { + margin-left: 0.5rem !important; + } + .m-lg-3 { + margin: 1rem !important; + } + .mt-lg-3, + .my-lg-3 { + margin-top: 1rem !important; + } + .mr-lg-3, + .mx-lg-3 { + margin-right: 1rem !important; + } + .mb-lg-3, + .my-lg-3 { + margin-bottom: 1rem !important; + } + .ml-lg-3, + .mx-lg-3 { + margin-left: 1rem !important; + } + .m-lg-4 { + margin: 1.5rem !important; + } + .mt-lg-4, + .my-lg-4 { + margin-top: 1.5rem !important; + } + .mr-lg-4, + .mx-lg-4 { + margin-right: 1.5rem !important; + } + .mb-lg-4, + .my-lg-4 { + margin-bottom: 1.5rem !important; + } + .ml-lg-4, + .mx-lg-4 { + margin-left: 1.5rem !important; + } + .m-lg-5 { + margin: 3rem !important; + } + .mt-lg-5, + .my-lg-5 { + margin-top: 3rem !important; + } + .mr-lg-5, + .mx-lg-5 { + margin-right: 3rem !important; + } + .mb-lg-5, + .my-lg-5 { + margin-bottom: 3rem !important; + } + .ml-lg-5, + .mx-lg-5 { + margin-left: 3rem !important; + } + .p-lg-0 { + padding: 0 !important; + } + .pt-lg-0, + .py-lg-0 { + padding-top: 0 !important; + } + .pr-lg-0, + .px-lg-0 { + padding-right: 0 !important; + } + .pb-lg-0, + .py-lg-0 { + padding-bottom: 0 !important; + } + .pl-lg-0, + .px-lg-0 { + padding-left: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .pt-lg-1, + .py-lg-1 { + padding-top: 0.25rem !important; + } + .pr-lg-1, + .px-lg-1 { + padding-right: 0.25rem !important; + } + .pb-lg-1, + .py-lg-1 { + padding-bottom: 0.25rem !important; + } + .pl-lg-1, + .px-lg-1 { + padding-left: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .pt-lg-2, + .py-lg-2 { + padding-top: 0.5rem !important; + } + .pr-lg-2, + .px-lg-2 { + padding-right: 0.5rem !important; + } + .pb-lg-2, + .py-lg-2 { + padding-bottom: 0.5rem !important; + } + .pl-lg-2, + .px-lg-2 { + padding-left: 0.5rem !important; + } + .p-lg-3 { + padding: 1rem !important; + } + .pt-lg-3, + .py-lg-3 { + padding-top: 1rem !important; + } + .pr-lg-3, + .px-lg-3 { + padding-right: 1rem !important; + } + .pb-lg-3, + .py-lg-3 { + padding-bottom: 1rem !important; + } + .pl-lg-3, + .px-lg-3 { + padding-left: 1rem !important; + } + .p-lg-4 { + padding: 1.5rem !important; + } + .pt-lg-4, + .py-lg-4 { + padding-top: 1.5rem !important; + } + .pr-lg-4, + .px-lg-4 { + padding-right: 1.5rem !important; + } + .pb-lg-4, + .py-lg-4 { + padding-bottom: 1.5rem !important; + } + .pl-lg-4, + .px-lg-4 { + padding-left: 1.5rem !important; + } + .p-lg-5 { + padding: 3rem !important; + } + .pt-lg-5, + .py-lg-5 { + padding-top: 3rem !important; + } + .pr-lg-5, + .px-lg-5 { + padding-right: 3rem !important; + } + .pb-lg-5, + .py-lg-5 { + padding-bottom: 3rem !important; + } + .pl-lg-5, + .px-lg-5 { + padding-left: 3rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mt-lg-auto, + .my-lg-auto { + margin-top: auto !important; + } + .mr-lg-auto, + .mx-lg-auto { + margin-right: auto !important; + } + .mb-lg-auto, + .my-lg-auto { + margin-bottom: auto !important; + } + .ml-lg-auto, + .mx-lg-auto { + margin-left: auto !important; + } +} + +@media (min-width: 1200px) { + .m-xl-0 { + margin: 0 !important; + } + .mt-xl-0, + .my-xl-0 { + margin-top: 0 !important; + } + .mr-xl-0, + .mx-xl-0 { + margin-right: 0 !important; + } + .mb-xl-0, + .my-xl-0 { + margin-bottom: 0 !important; + } + .ml-xl-0, + .mx-xl-0 { + margin-left: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .mt-xl-1, + .my-xl-1 { + margin-top: 0.25rem !important; + } + .mr-xl-1, + .mx-xl-1 { + margin-right: 0.25rem !important; + } + .mb-xl-1, + .my-xl-1 { + margin-bottom: 0.25rem !important; + } + .ml-xl-1, + .mx-xl-1 { + margin-left: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .mt-xl-2, + .my-xl-2 { + margin-top: 0.5rem !important; + } + .mr-xl-2, + .mx-xl-2 { + margin-right: 0.5rem !important; + } + .mb-xl-2, + .my-xl-2 { + margin-bottom: 0.5rem !important; + } + .ml-xl-2, + .mx-xl-2 { + margin-left: 0.5rem !important; + } + .m-xl-3 { + margin: 1rem !important; + } + .mt-xl-3, + .my-xl-3 { + margin-top: 1rem !important; + } + .mr-xl-3, + .mx-xl-3 { + margin-right: 1rem !important; + } + .mb-xl-3, + .my-xl-3 { + margin-bottom: 1rem !important; + } + .ml-xl-3, + .mx-xl-3 { + margin-left: 1rem !important; + } + .m-xl-4 { + margin: 1.5rem !important; + } + .mt-xl-4, + .my-xl-4 { + margin-top: 1.5rem !important; + } + .mr-xl-4, + .mx-xl-4 { + margin-right: 1.5rem !important; + } + .mb-xl-4, + .my-xl-4 { + margin-bottom: 1.5rem !important; + } + .ml-xl-4, + .mx-xl-4 { + margin-left: 1.5rem !important; + } + .m-xl-5 { + margin: 3rem !important; + } + .mt-xl-5, + .my-xl-5 { + margin-top: 3rem !important; + } + .mr-xl-5, + .mx-xl-5 { + margin-right: 3rem !important; + } + .mb-xl-5, + .my-xl-5 { + margin-bottom: 3rem !important; + } + .ml-xl-5, + .mx-xl-5 { + margin-left: 3rem !important; + } + .p-xl-0 { + padding: 0 !important; + } + .pt-xl-0, + .py-xl-0 { + padding-top: 0 !important; + } + .pr-xl-0, + .px-xl-0 { + padding-right: 0 !important; + } + .pb-xl-0, + .py-xl-0 { + padding-bottom: 0 !important; + } + .pl-xl-0, + .px-xl-0 { + padding-left: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .pt-xl-1, + .py-xl-1 { + padding-top: 0.25rem !important; + } + .pr-xl-1, + .px-xl-1 { + padding-right: 0.25rem !important; + } + .pb-xl-1, + .py-xl-1 { + padding-bottom: 0.25rem !important; + } + .pl-xl-1, + .px-xl-1 { + padding-left: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .pt-xl-2, + .py-xl-2 { + padding-top: 0.5rem !important; + } + .pr-xl-2, + .px-xl-2 { + padding-right: 0.5rem !important; + } + .pb-xl-2, + .py-xl-2 { + padding-bottom: 0.5rem !important; + } + .pl-xl-2, + .px-xl-2 { + padding-left: 0.5rem !important; + } + .p-xl-3 { + padding: 1rem !important; + } + .pt-xl-3, + .py-xl-3 { + padding-top: 1rem !important; + } + .pr-xl-3, + .px-xl-3 { + padding-right: 1rem !important; + } + .pb-xl-3, + .py-xl-3 { + padding-bottom: 1rem !important; + } + .pl-xl-3, + .px-xl-3 { + padding-left: 1rem !important; + } + .p-xl-4 { + padding: 1.5rem !important; + } + .pt-xl-4, + .py-xl-4 { + padding-top: 1.5rem !important; + } + .pr-xl-4, + .px-xl-4 { + padding-right: 1.5rem !important; + } + .pb-xl-4, + .py-xl-4 { + padding-bottom: 1.5rem !important; + } + .pl-xl-4, + .px-xl-4 { + padding-left: 1.5rem !important; + } + .p-xl-5 { + padding: 3rem !important; + } + .pt-xl-5, + .py-xl-5 { + padding-top: 3rem !important; + } + .pr-xl-5, + .px-xl-5 { + padding-right: 3rem !important; + } + .pb-xl-5, + .py-xl-5 { + padding-bottom: 3rem !important; + } + .pl-xl-5, + .px-xl-5 { + padding-left: 3rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mt-xl-auto, + .my-xl-auto { + margin-top: auto !important; + } + .mr-xl-auto, + .mx-xl-auto { + margin-right: auto !important; + } + .mb-xl-auto, + .my-xl-auto { + margin-bottom: auto !important; + } + .ml-xl-auto, + .mx-xl-auto { + margin-left: auto !important; + } +} + +.text-justify { + text-align: justify !important; +} + +.text-nowrap { + white-space: nowrap !important; +} + +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.text-left { + text-align: left !important; +} + +.text-right { + text-align: right !important; +} + +.text-center { + text-align: center !important; +} + +@media (min-width: 576px) { + .text-sm-left { + text-align: left !important; + } + .text-sm-right { + text-align: right !important; + } + .text-sm-center { + text-align: center !important; + } +} + +@media (min-width: 768px) { + .text-md-left { + text-align: left !important; + } + .text-md-right { + text-align: right !important; + } + .text-md-center { + text-align: center !important; + } +} + +@media (min-width: 992px) { + .text-lg-left { + text-align: left !important; + } + .text-lg-right { + text-align: right !important; + } + .text-lg-center { + text-align: center !important; + } +} + +@media (min-width: 1200px) { + .text-xl-left { + text-align: left !important; + } + .text-xl-right { + text-align: right !important; + } + .text-xl-center { + text-align: center !important; + } +} + +.text-lowercase { + text-transform: lowercase !important; +} + +.text-uppercase { + text-transform: uppercase !important; +} + +.text-capitalize { + text-transform: capitalize !important; +} + +.font-weight-light { + font-weight: 300 !important; +} + +.font-weight-normal { + font-weight: 400 !important; +} + +.font-weight-bold { + font-weight: 700 !important; +} + +.font-italic { + font-style: italic !important; +} + +.text-white { + color: #fff !important; +} + +.text-primary { + color: #007bff !important; +} + +a.text-primary:hover, a.text-primary:focus { + color: #0062cc !important; +} + +.text-secondary { + color: #6c757d !important; +} + +a.text-secondary:hover, a.text-secondary:focus { + color: #545b62 !important; +} + +.text-success { + color: #28a745 !important; +} + +a.text-success:hover, a.text-success:focus { + color: #1e7e34 !important; +} + +.text-info { + color: #17a2b8 !important; +} + +a.text-info:hover, a.text-info:focus { + color: #117a8b !important; +} + +.text-warning { + color: #ffc107 !important; +} + +a.text-warning:hover, a.text-warning:focus { + color: #d39e00 !important; +} + +.text-danger { + color: #dc3545 !important; +} + +a.text-danger:hover, a.text-danger:focus { + color: #bd2130 !important; +} + +.text-light { + color: #f8f9fa !important; +} + +a.text-light:hover, a.text-light:focus { + color: #dae0e5 !important; +} + +.text-dark { + color: #343a40 !important; +} + +a.text-dark:hover, a.text-dark:focus { + color: #1d2124 !important; +} + +.text-muted { + color: #6c757d !important; +} + +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} + +.visible { + visibility: visible !important; +} + +.invisible { + visibility: hidden !important; +} + +@media print { + *, + *::before, + *::after { + text-shadow: none !important; + box-shadow: none !important; + } + a:not(.btn) { + text-decoration: underline; + } + abbr[title]::after { + content: " (" attr(title) ")"; + } + pre { + white-space: pre-wrap !important; + } + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + @page { + size: a3; + } + body { + min-width: 992px !important; + } + .container { + min-width: 992px !important; + } + .navbar { + display: none; + } + .badge { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table td, + .table th { + background-color: #fff !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #ddd !important; + } +} +/*# sourceMappingURL=bootstrap.css.map */ \ No newline at end of file diff --git a/static/vendor/bootstrap/css/bootstrap.css.map b/static/vendor/bootstrap/css/bootstrap.css.map new file mode 100644 index 000000000..a4532ecc7 --- /dev/null +++ b/static/vendor/bootstrap/css/bootstrap.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_root.scss","../../scss/_reboot.scss","bootstrap.css","../../scss/_variables.scss","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_functions.scss","../../scss/_forms.scss","../../scss/mixins/_transition.scss","../../scss/mixins/_forms.scss","../../scss/mixins/_gradients.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/utilities/_align.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_background.scss","../../scss/utilities/_borders.scss","../../scss/mixins/_clearfix.scss","../../scss/utilities/_display.scss","../../scss/utilities/_embed.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/mixins/_float.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/mixins/_visibility.scss","../../scss/_print.scss"],"names":[],"mappings":"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AAkB;IAClB,cAAa;IACb,sBf+GwC;Ie9GxC,eAAc;GACf;EA5DL;IA+DM,0BAAmB;IAAnB,uBAAmB;IAAnB,oBAAmB;IACnB,yBAAuB;IAAvB,sBAAuB;IAAvB,wBAAuB;GACxB;EAjEL;IAmEM,iBAAgB;GACjB;ChByuDJ;;AoB7iED;EACE,sBAAqB;EACrB,iBnBsO+B;EmBrO/B,mBAAkB;EAClB,oBAAmB;EACnB,uBAAsB;EACtB,0BAAiB;EAAjB,uBAAiB;EAAjB,sBAAiB;EAAjB,kBAAiB;EACjB,8BAA2C;ECsF3C,0BpBkOkC;EoBjOlC,gBpBqIgC;EoBpIhC,iBpB6I+B;EoB1I7B,uBpByGgC;EgB5M9B,sIhBoX6I;CmBxUlJ;;AlB/BC;EkBCE,sBAAqB;ClBEtB;;AkBfH;EAkBI,WAAU;EACV,iDnBWa;CmBVd;;AApBH;EAyBI,cnB8U6B;CmB5U9B;;AA3BH;EA+BI,gBAAe;CAChB;;AAhCH;EAoCI,uBAAsB;CAMvB;;AAIH;;EAEE,qBAAoB;CACrB;;AAQC;ECzDA,YpBKa;EkBLX,0BlB8Ba;EoB5Bf,sBpB4Be;CmB6Bd;;AlBnDD;EmBFE,YpBDW;EkBLX,0BEDoF;EASpF,sBATyH;CnBSrG;;AmBGtB;EAMI,gDpBaW;CoBXd;;AAGD;EAEE,YpBnBW;EoBoBX,0BpBKa;EoBJb,sBpBIa;CoBHd;;AAED;;EAGE,YpB3BW;EoB4BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,gDpBdS;CoBgBZ;;ADWH;ECzDA,YpBKa;EkBLX,0BlBWc;EoBThB,sBpBSgB;CmBgDf;;AlBnDD;EmBFE,YpBDW;EkBLX,0BEDoF;EASpF,sBATyH;CnBSrG;;AmBGtB;EAMI,kDpBNY;CoBQf;;AAGD;EAEE,YpBnBW;EoBoBX,0BpBdc;EoBed,sBpBfc;CoBgBf;;AAED;;EAGE,YpB3BW;EoB4BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,kDpBjCU;CoBmCb;;ADWH;ECzDA,YpBKa;EkBLX,0BlBqCa;EoBnCf,sBpBmCe;CmBsBd;;AlBnDD;EmBFE,YpBDW;EkBLX,0BEDoF;EASpF,sBATyH;CnBSrG;;AmBGtB;EAMI,gDpBoBW;CoBlBd;;AAGD;EAEE,YpBnBW;EoBoBX,0BpBYa;EoBXb,sBpBWa;CoBVd;;AAED;;EAGE,YpB3BW;EoB4BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,gDpBPS;CoBSZ;;ADWH;ECzDA,YpBKa;EkBLX,0BlBuCa;EoBrCf,sBpBqCe;CmBoBd;;AlBnDD;EmBFE,YpBDW;EkBLX,0BEDoF;EASpF,sBATyH;CnBSrG;;AmBGtB;EAMI,iDpBsBW;CoBpBd;;AAGD;EAEE,YpBnBW;EoBoBX,0BpBca;EoBbb,sBpBaa;CoBZd;;AAED;;EAGE,YpB3BW;EoB4BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,iDpBLS;CoBOZ;;ADWH;ECzDA,epBcgB;EkBdd,0BlBoCa;EoBlCf,sBpBkCe;CmBuBd;;AlBnDD;EmBFE,epBQc;EkBdd,0BEDoF;EASpF,sBATyH;CnBSrG;;AmBGtB;EAMI,gDpBmBW;CoBjBd;;AAGD;EAEE,epBVc;EoBWd,0BpBWa;EoBVb,sBpBUa;CoBTd;;AAED;;EAGE,epBlBc;EoBmBd,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,gDpBRS;CoBUZ;;ADWH;ECzDA,YpBKa;EkBLX,0BlBkCa;EoBhCf,sBpBgCe;CmByBd;;AlBnDD;EmBFE,YpBDW;EkBLX,0BEDoF;EASpF,sBATyH;CnBSrG;;AmBGtB;EAMI,gDpBiBW;CoBfd;;AAGD;EAEE,YpBnBW;EoBoBX,0BpBSa;EoBRb,sBpBQa;CoBPd;;AAED;;EAGE,YpB3BW;EoB4BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,gDpBVS;CoBYZ;;ADWH;ECzDA,epBcgB;EkBdd,0BlBMc;EoBJhB,sBpBIgB;CmBqDf;;AlBnDD;EmBFE,epBQc;EkBdd,0BEDoF;EASpF,sBATyH;CnBSrG;;AmBGtB;EAMI,kDpBXY;CoBaf;;AAGD;EAEE,epBVc;EoBWd,0BpBnBc;EoBoBd,sBpBpBc;CoBqBf;;AAED;;EAGE,epBlBc;EoBmBd,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,kDpBtCU;CoBwCb;;ADWH;ECzDA,YpBKa;EkBLX,0BlBac;EoBXhB,sBpBWgB;CmB8Cf;;AlBnDD;EmBFE,YpBDW;EkBLX,0BEDoF;EASpF,sBATyH;CnBSrG;;AmBGtB;EAMI,+CpBJY;CoBMf;;AAGD;EAEE,YpBnBW;EoBoBX,0BpBZc;EoBad,sBpBbc;CoBcf;;AAED;;EAGE,YpB3BW;EoB4BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,+CpB/BU;CoBiCb;;ADiBH;ECZA,epBrBe;EoBsBf,8BAA6B;EAC7B,uBAAsB;EACtB,sBpBxBe;CmBmCd;;ACTD;EACE,YpBpDW;EoBqDX,0BpB5Ba;EoB6Bb,sBpB7Ba;CoB8Bd;;AAED;EAEE,gDpBlCa;CoBmCd;;AAED;EAEE,epBvCa;EoBwCb,8BAA6B;CAC9B;;AAED;;EAGE,YpBvEW;EoBwEX,0BpB/Ca;EoBgDb,sBpBhDa;CoB0Dd;;AARC;;EAKI,gDpBvDS;CoByDZ;;ADxBH;ECZA,epBxCgB;EoByChB,8BAA6B;EAC7B,uBAAsB;EACtB,sBpB3CgB;CmBsDf;;ACTD;EACE,YpBpDW;EoBqDX,0BpB/Cc;EoBgDd,sBpBhDc;CoBiDf;;AAED;EAEE,kDpBrDc;CoBsDf;;AAED;EAEE,epB1Dc;EoB2Dd,8BAA6B;CAC9B;;AAED;;EAGE,YpBvEW;EoBwEX,0BpBlEc;EoBmEd,sBpBnEc;CoB6Ef;;AARC;;EAKI,kDpB1EU;CoB4Eb;;ADxBH;ECZA,epBde;EoBef,8BAA6B;EAC7B,uBAAsB;EACtB,sBpBjBe;CmB4Bd;;ACTD;EACE,YpBpDW;EoBqDX,0BpBrBa;EoBsBb,sBpBtBa;CoBuBd;;AAED;EAEE,gDpB3Ba;CoB4Bd;;AAED;EAEE,epBhCa;EoBiCb,8BAA6B;CAC9B;;AAED;;EAGE,YpBvEW;EoBwEX,0BpBxCa;EoByCb,sBpBzCa;CoBmDd;;AARC;;EAKI,gDpBhDS;CoBkDZ;;ADxBH;ECZA,epBZe;EoBaf,8BAA6B;EAC7B,uBAAsB;EACtB,sBpBfe;CmB0Bd;;ACTD;EACE,YpBpDW;EoBqDX,0BpBnBa;EoBoBb,sBpBpBa;CoBqBd;;AAED;EAEE,iDpBzBa;CoB0Bd;;AAED;EAEE,epB9Ba;EoB+Bb,8BAA6B;CAC9B;;AAED;;EAGE,YpBvEW;EoBwEX,0BpBtCa;EoBuCb,sBpBvCa;CoBiDd;;AARC;;EAKI,iDpB9CS;CoBgDZ;;ADxBH;ECZA,epBfe;EoBgBf,8BAA6B;EAC7B,uBAAsB;EACtB,sBpBlBe;CmB6Bd;;ACTD;EACE,epB3Cc;EoB4Cd,0BpBtBa;EoBuBb,sBpBvBa;CoBwBd;;AAED;EAEE,gDpB5Ba;CoB6Bd;;AAED;EAEE,epBjCa;EoBkCb,8BAA6B;CAC9B;;AAED;;EAGE,epB9Dc;EoB+Dd,0BpBzCa;EoB0Cb,sBpB1Ca;CoBoDd;;AARC;;EAKI,gDpBjDS;CoBmDZ;;ADxBH;ECZA,epBjBe;EoBkBf,8BAA6B;EAC7B,uBAAsB;EACtB,sBpBpBe;CmB+Bd;;ACTD;EACE,YpBpDW;EoBqDX,0BpBxBa;EoByBb,sBpBzBa;CoB0Bd;;AAED;EAEE,gDpB9Ba;CoB+Bd;;AAED;EAEE,epBnCa;EoBoCb,8BAA6B;CAC9B;;AAED;;EAGE,YpBvEW;EoBwEX,0BpB3Ca;EoB4Cb,sBpB5Ca;CoBsDd;;AARC;;EAKI,gDpBnDS;CoBqDZ;;ADxBH;ECZA,epB7CgB;EoB8ChB,8BAA6B;EAC7B,uBAAsB;EACtB,sBpBhDgB;CmB2Df;;ACTD;EACE,epB3Cc;EoB4Cd,0BpBpDc;EoBqDd,sBpBrDc;CoBsDf;;AAED;EAEE,kDpB1Dc;CoB2Df;;AAED;EAEE,epB/Dc;EoBgEd,8BAA6B;CAC9B;;AAED;;EAGE,epB9Dc;EoB+Dd,0BpBvEc;EoBwEd,sBpBxEc;CoBkFf;;AARC;;EAKI,kDpB/EU;CoBiFb;;ADxBH;ECZA,epBtCgB;EoBuChB,8BAA6B;EAC7B,uBAAsB;EACtB,sBpBzCgB;CmBoDf;;ACTD;EACE,YpBpDW;EoBqDX,0BpB7Cc;EoB8Cd,sBpB9Cc;CoB+Cf;;AAED;EAEE,+CpBnDc;CoBoDf;;AAED;EAEE,epBxDc;EoByDd,8BAA6B;CAC9B;;AAED;;EAGE,YpBvEW;EoB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wBhCqmBwC;EgCpmBxC,kBhCoM+B;EgCnM/B,kBhCwmBsC;EgCvmBtC,ehCwBe;EgCvBf,uBhCFa;EgCGb,0BhCAgB;CgCmBjB;;AA3BD;EAWI,ehCsIgD;EgCrIhD,sBAAqB;EACrB,0BhCNc;EgCOd,sBhCNc;CgCOf;;AAfH;EAkBI,WAAU;EACV,WAAU;EACV,iDhCUa;CgCTd;;AArBH;EAyBI,gBAAe;CAChB;;AAGH;EAGM,eAAc;E1BPhB,gCNkLgC;EMjLhC,mCNiLgC;CgCzK/B;;AALL;E1BlBI,iCNgMgC;EM/LhC,oCN+LgC;CgCpK/B;;AAVL;EAcI,WAAU;EACV,YhCvCW;EgCwCX,0BhCfa;EgCgBb,sBhChBa;CgCiBd;;AAlBH;EAqBI,ehCvCc;EgCwCd,qBAAoB;EAEpB,aAAY;EACZ,uBhCjDW;EgCkDX,sBhC/Cc;CgCgDf;;AC3DD;EACE,wBjC8mBsC;EiC7mBtC,mBjCqOkD;EiCpOlD,iBjCqM6B;CiCpM9B;;AAIG;E3BoBF,+BNmL+B;EMlL/B,kCNkL+B;CiCrM5B;;AAGD;E3BCF,gCNiM+B;EMhM/B,mCNgM+B;CiChM5B;;AAfL;EACE,wBjC4mBqC;EiC3mBrC,oBjCsOkD;EiCrOlD,iBjCsM6B;CiCrM9B;;AAIG;E3BoBF,+BNoL+B;EMnL/B,kCNmL+B;CiCtM5B;;AAGD;E3BCF,gCNkM+B;EMjM/B,mCNiM+B;CiCjM5B;;ACbP;EACE,sBAAqB;EACrB,sBlC6sBsC;EkC5sBtC,elCysBqC;EkCxsBrC,iBlCsO+B;EkCrO/B,eAAc;EACd,mBAAkB;EAClB,oBAAmB;EACnB,yBAAwB;E5BTtB,uBN6MgC;CkC7LnC;;AAfD;EAaI,cAAa;CACd;;AAIH;EACE,mBAAkB;EAClB,UAAS;CACV;;AAMD;EACE,qBlCsrBsC;EkCrrBtC,oBlCqrBsC;EMntBpC,qBNstBqC;CkCtrBxC;;AAOC;EC1CA,YnCUa;EmCTb,0BnCkCe;CkCSd;;AjC3BD;EkCZI,YnCKS;EmCJT,sBAAqB;EACrB,0BAAkC;ClCarC;;AiCsBD;EC1CA,YnCUa;EmCTb,0BnCegB;CkC4Bf;;AjC3BD;EkCZI,YnCKS;EmCJT,sBAAqB;EACrB,0BAAkC;ClCarC;;AiCsBD;EC1CA,YnCUa;EmCTb,0BnCyCe;CkCEd;;AjC3BD;EkCZI,YnCKS;EmCJT,sBAAqB;EACrB,0BAAkC;ClCarC;;AiCsBD;EC1CA,YnCUa;EmCTb,0BnC2Ce;CkCAd;;AjC3BD;EkCZI,YnCKS;EmCJT,sBAAqB;EACrB,0BAAkC;ClCarC;;AiCsBD;EC1CA,enCmBgB;EmClBhB,0BnCwCe;CkCGd;;AjC3BD;EkCZI,enCcY;EmCbZ,sBAAqB;EACrB,0BAAkC;ClCarC;;AiCsBD;EC1CA,YnCUa;EmCTb,0BnCsCe;CkCKd;;AjC3BD;EkCZI,YnCKS;EmCJT,sBAAqB;EACrB,0BAAkC;ClCarC;;AiCsBD;EC1CA,enCmBgB;EmClBhB,0BnCUgB;CkCiCf;;AjC3BD;EkCZI,enCcY;EmCbZ,sBAAqB;EACrB,0BAAkC;ClCarC;;AiCsBD;EC1CA,YnCUa;EmCTb,0BnCiBgB;CkC0Bf;;AjC3BD;EkCZI,YnCKS;EmCJT,sBAAqB;EACrB,0BAAkC;ClCarC;;AmCrBH;EACE,mBAAoD;EACpD,oBpCyoBsC;EoCxoBtC,0BpCUgB;EMTd,sBN8M+B;CoCzMlC;;A1BmDG;E0B5DJ;IAOI,mBpCooBoC;GoCloBvC;CrC+yIA;;AqC7yID;EACE,iBAAgB;EAChB,gBAAe;E9BTb,iB8BUsB;CACzB;;ACXD;EACE,mBAAkB;EAClB,yBrC2vByC;EqC1vBzC,oBrC2vBsC;EqC1vBtC,8BAA6C;E/BJ3C,uBN6MgC;CqCvMnC;;AAGD;EAEE,eAAc;CACf;;AAGD;EACE,iBrC2N+B;CqC1NhC;;AAOD;EACE,oBAAwD;CAUzD;;AAXD;EAKI,mBAAkB;EAClB,OAAM;EACN,SAAQ;EACR,yBrC6tBuC;EqC5tBvC,eAAc;CACf;;AASD;EC9CA,exBmFgE;EI9E9D,0BJ8E8D;EwBjFhE,sBxBiFgE;CuBnC/D;;AC5CD;EACE,0BAAqC;CACtC;;AAED;EACE,eAA0B;CAC3B;;ADoCD;EC9CA,exBmFgE;EI9E9D,0BJ8E8D;EwBjFhE,sBxBiFgE;CuBnC/D;;AC5CD;EACE,0BAAqC;C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yCTM,e5B2E0D;E4B1E1D,0BAAyC;CzCW9C;;AyClBD;EAWM,YAAW;EACX,0B5BqE0D;E4BpE1D,sB5BoE0D;C4BnE3D;;AAdL;EACE,e5BgF8D;E4B/E9D,0B5B+E8D;C4BjE/D;;AzCDD;EyCTM,e5B2E0D;E4B1E1D,0BAAyC;CzCW9C;;AyClBD;EAWM,YAAW;EACX,0B5BqE0D;E4BpE1D,sB5BoE0D;C4BnE3D;;AAdL;EACE,e5BgF8D;E4B/E9D,0B5B+E8D;C4BjE/D;;AzCDD;EyCTM,e5B2E0D;E4B1E1D,0BAAyC;CzCW9C;;AyClBD;EAWM,YAAW;EACX,0B5BqE0D;E4BpE1D,sB5BoE0D;C4BnE3D;;AAdL;EACE,e5BgF8D;E4B/E9D,0B5B+E8D;C4BjE/D;;AzCDD;EyCTM,e5B2E0D;E4B1E1D,0BAAyC;CzCW9C;;AyClBD;EAWM,YAAW;EACX,0B5BqE0D;E4BpE1D,sB5BoE0D;C4BnE3D;;AAdL;EACE,e5BgF8D;E4B/E9D,0B5B+E8D;C4BjE/D;;AzCDD;EyCTM,e5B2E0D;E4B1E1D,0BAAyC;CzCW9C;;AyClBD;EAWM,YAAW;EACX,0B5BqE0D;E4BpE1D,sB5BoE0D;C4BnE3D;;AAdL;EACE,e5BgF8D;E4B/E9D,0B5B+E8D;C4BjE/D;;AzCDD;EyCTM,e5B2E0D;E4B1E1D,0BAAyC;CzCW9C;;AyClBD;EAWM,YAAW;EACX,0B5BqE0D;E4BpE1D,sB5BoE0D;C4BnE3D;;ACjBP;EACE,aAAY;EACZ,kB3Cq2BuD;E2Cp2BvD,iB3C4O+B;E2C3O/B,eAAc;EACd,Y3CgBa;E2Cfb,0B3CKa;E2CJb,YAAW;CAYZ;;A1CDC;E0CRE,Y3CWW;E2CVX,sBAAqB;EACrB,aAAY;C1CSb;;A0CrBH;EAiBI,gBAAe;CAChB;;AASH;EACE,WAAU;EACV,8BAA6B;EAC7B,UAAS;EACT,yBAAwB;CACzB;;ACzBD;EACE,iBAAgB;CACjB;;AAGD;EACE,gBAAe;EACf,OAAM;EACN,SAAQ;EACR,UAAS;EACT,QAAO;EACP,c5CmiBsC;E4CliBtC,cAAa;EACb,iBAAgB;EAGhB,WAAU;CASX;;AAJC;EACE,mBA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","file":"bootstrap.css","sourcesContent":["/*!\n * Bootstrap v4.0.0 (https://getbootstrap.com)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"code\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"input-group\";\n@import \"custom-forms\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"jumbotron\";\n@import \"alert\";\n@import \"progress\";\n@import \"media\";\n@import \"list-group\";\n@import \"close\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"utilities\";\n@import \"print\";\n",":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n @each $bp, $value in $grid-breakpoints {\n --breakpoint-#{$bp}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so\n// we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n// 6. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -ms-text-size-adjust: 100%; // 4\n -ms-overflow-style: scrollbar; // 5\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0); // 6\n}\n\n// IE10+ doesn't honor `` in some cases.\n@at-root {\n @-ms-viewport {\n width: device-width;\n }\n}\n\n// stylelint-disable selector-list-comma-newline-after\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use the\n// the `inherit` value on things like `` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n font-size: $font-size-base;\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `

`-`

` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Remove the bottom border in Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Duplicate behavior to the data-* attribute for our tooltip plugin\n\nabbr[title],\nabbr[data-original-title] { // 4\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 1\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic; // Add the correct font style in Android 4.3-\n}\n\n// stylelint-disable font-weight-notation\nb,\nstrong {\n font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n// stylelint-enable font-weight-notation\n\nsmall {\n font-size: 80%; // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n -webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\n// stylelint-disable font-family-no-duplicate-names\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; // Correct the inheritance and scaling of font size in all browsers.\n font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n}\n// stylelint-enable font-family-no-duplicate-names\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // We have @viewport set which causes scrollbars to overlap content in IE11 and Edge, so\n // we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg:not(:root) {\n overflow: hidden; // Hide the overflow in IE\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $text-muted;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `` alignment by inheriting from the ``, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: .5rem;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\nhtml [type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `

`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding and cancel buttons in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap v4.0.0 (https://getbootstrap.com)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 992px;\n --breakpoint-xl: 1200px;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-family: inherit;\n font-weight: 500;\n line-height: 1.2;\n color: inherit;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: 400;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014 \\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #6c757d;\n}\n\ncode,\nkbd,\npre,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\ncode {\n font-size: 87.5%;\n color: #e83e8c;\n word-break: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 87.5%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\npre {\n display: block;\n font-size: 87.5%;\n color: #212529;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 13;\n}\n\n.order-0 {\n order: 0;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 13;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 13;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 13;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 13;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 1rem;\n background-color: transparent;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #dee2e6;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #dee2e6;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table .table {\n background-color: #fff;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #b8daff;\n}\n\n.table-hover .table-primary:hover {\n background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #212529;\n border-color: #32383e;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #212529;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #32383e;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.form-control {\n display: block;\n width: 100%;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\nselect.form-control:not([size]):not([multiple]) {\n height: calc(2.25rem + 2px);\n}\n\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n margin-bottom: 0;\n line-height: 1.5;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .input-group-sm > .form-control-plaintext.form-control,\n.input-group-sm > .input-group-prepend > .form-control-plaintext.input-group-text,\n.input-group-sm > .input-group-append > .form-control-plaintext.input-group-text,\n.input-group-sm > .input-group-prepend > .form-control-plaintext.btn,\n.input-group-sm > .input-group-append > .form-control-plaintext.btn, .form-control-plaintext.form-control-lg, .input-group-lg > .form-control-plaintext.form-control,\n.input-group-lg > .input-group-prepend > .form-control-plaintext.input-group-text,\n.input-group-lg > .input-group-append > .form-control-plaintext.input-group-text,\n.input-group-lg > .input-group-prepend > .form-control-plaintext.btn,\n.input-group-lg > .input-group-append > .form-control-plaintext.btn {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm, .input-group-sm > .form-control,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\nselect.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]),\n.input-group-sm > .input-group-prepend > select.input-group-text:not([size]):not([multiple]),\n.input-group-sm > .input-group-append > select.input-group-text:not([size]):not([multiple]),\n.input-group-sm > .input-group-prepend > select.btn:not([size]):not([multiple]),\n.input-group-sm > .input-group-append > select.btn:not([size]):not([multiple]) {\n height: calc(1.8125rem + 2px);\n}\n\n.form-control-lg, .input-group-lg > .form-control,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\nselect.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]),\n.input-group-lg > .input-group-prepend > select.input-group-text:not([size]):not([multiple]),\n.input-group-lg > .input-group-append > select.input-group-text:not([size]):not([multiple]),\n.input-group-lg > .input-group-prepend > select.btn:not([size]):not([multiple]),\n.input-group-lg > .input-group-append > select.btn:not([size]):not([multiple]) {\n height: calc(2.875rem + 2px);\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-check {\n position: relative;\n display: block;\n padding-left: 1.25rem;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.3rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input:disabled ~ .form-check-label {\n color: #6c757d;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0;\n margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: 0.3125rem;\n margin-left: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: .5rem;\n margin-top: .1rem;\n font-size: .875rem;\n line-height: 1;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.8);\n border-radius: .2rem;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid, .was-validated\n.custom-select:valid,\n.custom-select.is-valid {\n border-color: #28a745;\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus, .was-validated\n.custom-select:valid:focus,\n.custom-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-control:valid ~ .valid-feedback,\n.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,\n.form-control.is-valid ~ .valid-tooltip, .was-validated\n.custom-select:valid ~ .valid-feedback,\n.was-validated\n.custom-select:valid ~ .valid-tooltip,\n.custom-select.is-valid ~ .valid-feedback,\n.custom-select.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n background-color: #71dd8a;\n}\n\n.was-validated .custom-control-input:valid ~ .valid-feedback,\n.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback,\n.custom-control-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n background-color: #34ce57;\n}\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label::before, .custom-file-input.is-valid ~ .custom-file-label::before {\n border-color: inherit;\n}\n\n.was-validated .custom-file-input:valid ~ .valid-feedback,\n.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback,\n.custom-file-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: .5rem;\n margin-top: .1rem;\n font-size: .875rem;\n line-height: 1;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.8);\n border-radius: .2rem;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid, .was-validated\n.custom-select:invalid,\n.custom-select.is-invalid {\n border-color: #dc3545;\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus, .was-validated\n.custom-select:invalid:focus,\n.custom-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-control:invalid ~ .invalid-feedback,\n.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,\n.form-control.is-invalid ~ .invalid-tooltip, .was-validated\n.custom-select:invalid ~ .invalid-feedback,\n.was-validated\n.custom-select:invalid ~ .invalid-tooltip,\n.custom-select.is-invalid ~ .invalid-feedback,\n.custom-select.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n background-color: #efa2a9;\n}\n\n.was-validated .custom-control-input:invalid ~ .invalid-feedback,\n.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback,\n.custom-control-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n background-color: #e4606d;\n}\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label::before, .custom-file-input.is-invalid ~ .custom-file-label::before {\n border-color: inherit;\n}\n\n.was-validated .custom-file-input:invalid ~ .invalid-feedback,\n.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback,\n.custom-file-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group {\n width: auto;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n align-items: center;\n justify-content: center;\n }\n .form-inline .custom-control-label {\n margin-bottom: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n user-select: none;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n.btn:hover, .btn:focus {\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\n.btn:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\n.btn:not(:disabled):not(.disabled):active, .btn:not(:disabled):not(.disabled).active {\n background-image: none;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0062cc;\n border-color: #005cbf;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-primary {\n color: #007bff;\n background-color: transparent;\n background-image: none;\n border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n background-color: transparent;\n background-image: none;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n background-color: transparent;\n background-image: none;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n background-color: transparent;\n background-image: none;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n background-color: transparent;\n background-image: none;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n background-color: transparent;\n background-image: none;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n background-color: transparent;\n background-image: none;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n background-color: transparent;\n background-image: none;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n background-color: transparent;\n border-color: transparent;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n border-color: transparent;\n box-shadow: none;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n opacity: 0;\n transition: opacity 0.15s linear;\n}\n\n.fade.show {\n opacity: 1;\n}\n\n.collapse {\n display: none;\n}\n\n.collapse.show {\n display: block;\n}\n\ntr.collapse.show {\n display: table-row;\n}\n\ntbody.collapse.show {\n display: table-row-group;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n.dropup,\n.dropdown {\n position: relative;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropup .dropdown-menu {\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n width: 0;\n height: 0;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 0 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 1;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group,\n.btn-group-vertical .btn + .btn,\n.btn-group-vertical .btn + .btn-group,\n.btn-group-vertical .btn-group + .btn,\n.btn-group-vertical .btn-group + .btn-group {\n margin-left: -1px;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical .btn,\n.btn-group-vertical .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .custom-select,\n.input-group > .custom-file {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n margin-bottom: 0;\n}\n\n.input-group > .form-control:focus,\n.input-group > .custom-select:focus,\n.input-group > .custom-file:focus {\n z-index: 3;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .custom-select,\n.input-group > .form-control + .custom-file,\n.input-group > .custom-select + .form-control,\n.input-group > .custom-select + .custom-select,\n.input-group > .custom-select + .custom-file,\n.input-group > .custom-file + .form-control,\n.input-group > .custom-file + .custom-select,\n.input-group > .custom-file + .custom-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .custom-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .custom-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .custom-file {\n display: flex;\n align-items: center;\n}\n\n.input-group > .custom-file:not(:last-child) .custom-file-label,\n.input-group > .custom-file:not(:last-child) .custom-file-label::before {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .custom-file:not(:first-child) .custom-file-label,\n.input-group > .custom-file:not(:first-child) .custom-file-label::before {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.custom-control {\n position: relative;\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: 1rem;\n}\n\n.custom-control-input {\n position: absolute;\n z-index: -1;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-label::before {\n color: #fff;\n background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:active ~ .custom-control-label::before {\n color: #fff;\n background-color: #b3d7ff;\n}\n\n.custom-control-input:disabled ~ .custom-control-label {\n color: #6c757d;\n}\n\n.custom-control-input:disabled ~ .custom-control-label::before {\n background-color: #e9ecef;\n}\n\n.custom-control-label {\n margin-bottom: 0;\n}\n\n.custom-control-label::before {\n position: absolute;\n top: 0.25rem;\n left: 0;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n content: \"\";\n user-select: none;\n background-color: #dee2e6;\n}\n\n.custom-control-label::after {\n position: absolute;\n top: 0.25rem;\n left: 0;\n display: block;\n width: 1rem;\n height: 1rem;\n content: \"\";\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 50% 50%;\n}\n\n.custom-checkbox .custom-control-label::before {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E\");\n}\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-radio .custom-control-label::before {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::before {\n background-color: #007bff;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E\");\n}\n\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\") no-repeat right 0.75rem center;\n background-size: 8px 10px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.custom-select:focus {\n border-color: #80bdff;\n outline: 0;\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075), 0 0 5px rgba(128, 189, 255, 0.5);\n}\n\n.custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.custom-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n opacity: 0;\n}\n\n.custom-select-sm {\n height: calc(1.8125rem + 2px);\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n font-size: 75%;\n}\n\n.custom-select-lg {\n height: calc(2.875rem + 2px);\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n font-size: 125%;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(2.25rem + 2px);\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(2.25rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.custom-file-input:focus ~ .custom-file-control {\n border-color: #80bdff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-file-input:focus ~ .custom-file-control::before {\n border-color: #80bdff;\n}\n\n.custom-file-input:lang(en) ~ .custom-file-label::after {\n content: \"Browse\";\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.custom-file-label::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: calc(calc(2.25rem + 2px) - 1px * 2);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n content: \"Browse\";\n background-color: #e9ecef;\n border-left: 1px solid #ced4da;\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #007bff;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar > .container,\n.navbar > .container-fluid {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575.98px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n .navbar-expand-sm .dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n}\n\n@media (max-width: 767.98px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n .navbar-expand-md .dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n}\n\n@media (max-width: 991.98px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n .navbar-expand-lg .dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n}\n\n@media (max-width: 1199.98px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n .navbar-expand-xl .dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n}\n\n.navbar-expand {\n flex-flow: row nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-expand .dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n color: #fff;\n}\n\n.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n flex: 1 1 auto;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n border-top: 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img {\n width: 100%;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img-top {\n width: 100%;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img-bottom {\n width: 100%;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck {\n display: flex;\n flex-direction: column;\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n display: flex;\n flex: 1 0 0%;\n flex-direction: column;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group {\n display: flex;\n flex-direction: column;\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:first-child {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:first-child .card-img-top,\n .card-group > .card:first-child .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:first-child .card-img-bottom,\n .card-group > .card:first-child .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:last-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:last-child .card-img-top,\n .card-group > .card:last-child .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:last-child .card-img-bottom,\n .card-group > .card:last-child .card-footer {\n border-bottom-left-radius: 0;\n }\n .card-group > .card:only-child {\n border-radius: 0.25rem;\n }\n .card-group > .card:only-child .card-img-top,\n .card-group > .card:only-child .card-header {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n }\n .card-group > .card:only-child .card-img-bottom,\n .card-group > .card:only-child .card-footer {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n }\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) {\n border-radius: 0;\n }\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top,\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-header,\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-footer {\n border-radius: 0;\n }\n}\n\n.card-columns .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n }\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #007bff;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n color: #0056b3;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 2;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.page-link:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 1;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-primary {\n color: #fff;\n background-color: #007bff;\n}\n\n.badge-primary[href]:hover, .badge-primary[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #0062cc;\n}\n\n.badge-secondary {\n color: #fff;\n background-color: #6c757d;\n}\n\n.badge-secondary[href]:hover, .badge-secondary[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #545b62;\n}\n\n.badge-success {\n color: #fff;\n background-color: #28a745;\n}\n\n.badge-success[href]:hover, .badge-success[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #1e7e34;\n}\n\n.badge-info {\n color: #fff;\n background-color: #17a2b8;\n}\n\n.badge-info[href]:hover, .badge-info[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #117a8b;\n}\n\n.badge-warning {\n color: #212529;\n background-color: #ffc107;\n}\n\n.badge-warning[href]:hover, .badge-warning[href]:focus {\n color: #212529;\n text-decoration: none;\n background-color: #d39e00;\n}\n\n.badge-danger {\n color: #fff;\n background-color: #dc3545;\n}\n\n.badge-danger[href]:hover, .badge-danger[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #bd2130;\n}\n\n.badge-light {\n color: #212529;\n background-color: #f8f9fa;\n}\n\n.badge-light[href]:hover, .badge-light[href]:focus {\n color: #212529;\n text-decoration: none;\n background-color: #dae0e5;\n}\n\n.badge-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.badge-dark[href]:hover, .badge-dark[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #1d2124;\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n\n.alert-primary hr {\n border-top-color: #9fcdff;\n}\n\n.alert-primary .alert-link {\n color: #002752;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary hr {\n border-top-color: #c8cbcf;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success hr {\n border-top-color: #b1dfbb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info hr {\n border-top-color: #abdde5;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning hr {\n border-top-color: #ffe8a1;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n border-top-color: #f1b0b7;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light hr {\n border-top-color: #ececf6;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n color: #fff;\n text-align: center;\n background-color: #007bff;\n transition: width 0.6s ease;\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n.media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item:hover, .list-group-item:focus {\n z-index: 1;\n text-decoration: none;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.list-group-flush .list-group-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n\n.list-group-flush:first-child .list-group-item:first-child {\n border-top: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom: 0;\n}\n\n.list-group-item-primary {\n color: #004085;\n background-color: #b8daff;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #004085;\n background-color: #9fcdff;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #004085;\n border-color: #004085;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:hover, .close:focus {\n color: #000;\n text-decoration: none;\n opacity: .75;\n}\n\n.close:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -25%);\n}\n\n.modal.show .modal-dialog {\n transform: translate(0, 0);\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - (0.5rem * 2));\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 1rem;\n border-bottom: 1px solid #e9ecef;\n border-top-left-radius: 0.3rem;\n border-top-right-radius: 0.3rem;\n}\n\n.modal-header .close {\n padding: 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding: 1rem;\n border-top: 1px solid #e9ecef;\n}\n\n.modal-footer > :not(:first-child) {\n margin-left: .25rem;\n}\n\n.modal-footer > :not(:last-child) {\n margin-right: .25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-centered {\n min-height: calc(100% - (1.75rem * 2));\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg {\n max-width: 800px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .arrow::before, .popover .arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top .arrow, .bs-popover-auto[x-placement^=\"top\"] .arrow {\n bottom: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-top .arrow::before, .bs-popover-auto[x-placement^=\"top\"] .arrow::before,\n.bs-popover-top .arrow::after, .bs-popover-auto[x-placement^=\"top\"] .arrow::after {\n border-width: 0.5rem 0.5rem 0;\n}\n\n.bs-popover-top .arrow::before, .bs-popover-auto[x-placement^=\"top\"] .arrow::before {\n bottom: 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top .arrow::after, .bs-popover-auto[x-placement^=\"top\"] .arrow::after {\n bottom: 1px;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right .arrow, .bs-popover-auto[x-placement^=\"right\"] .arrow {\n left: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right .arrow::before, .bs-popover-auto[x-placement^=\"right\"] .arrow::before,\n.bs-popover-right .arrow::after, .bs-popover-auto[x-placement^=\"right\"] .arrow::after {\n border-width: 0.5rem 0.5rem 0.5rem 0;\n}\n\n.bs-popover-right .arrow::before, .bs-popover-auto[x-placement^=\"right\"] .arrow::before {\n left: 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right .arrow::after, .bs-popover-auto[x-placement^=\"right\"] .arrow::after {\n left: 1px;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom .arrow, .bs-popover-auto[x-placement^=\"bottom\"] .arrow {\n top: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] .arrow::before,\n.bs-popover-bottom .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] .arrow::after {\n border-width: 0 0.5rem 0.5rem 0.5rem;\n}\n\n.bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] .arrow::before {\n top: 0;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] .arrow::after {\n top: 1px;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left .arrow, .bs-popover-auto[x-placement^=\"left\"] .arrow {\n right: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left .arrow::before, .bs-popover-auto[x-placement^=\"left\"] .arrow::before,\n.bs-popover-left .arrow::after, .bs-popover-auto[x-placement^=\"left\"] .arrow::after {\n border-width: 0.5rem 0 0.5rem 0.5rem;\n}\n\n.bs-popover-left .arrow::before, .bs-popover-auto[x-placement^=\"left\"] .arrow::before {\n right: 0;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left .arrow::after, .bs-popover-auto[x-placement^=\"left\"] .arrow::after {\n right: 1px;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n color: inherit;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-item {\n position: relative;\n display: none;\n align-items: center;\n width: 100%;\n transition: transform 0.6s ease;\n backface-visibility: hidden;\n perspective: 1000px;\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next,\n.carousel-item-prev {\n position: absolute;\n top: 0;\n}\n\n.carousel-item-next.carousel-item-left,\n.carousel-item-prev.carousel-item-right {\n transform: translateX(0);\n}\n\n@supports (transform-style: preserve-3d) {\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n transform: translate3d(0, 0, 0);\n }\n}\n\n.carousel-item-next,\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n@supports (transform-style: preserve-3d) {\n .carousel-item-next,\n .active.carousel-item-right {\n transform: translate3d(100%, 0, 0);\n }\n}\n\n.carousel-item-prev,\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n@supports (transform-style: preserve-3d) {\n .carousel-item-prev,\n .active.carousel-item-left {\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: .9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: transparent no-repeat center center;\n background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 10px;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n position: relative;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n background-color: rgba(255, 255, 255, 0.5);\n}\n\n.carousel-indicators li::before {\n position: absolute;\n top: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators li::after {\n position: absolute;\n bottom: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators .active {\n background-color: #fff;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-primary {\n background-color: #007bff !important;\n}\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n background-color: #0062cc !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n background-color: #545b62 !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n background-color: #1e7e34 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n background-color: #117a8b !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n background-color: #d39e00 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n background-color: #bd2130 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n background-color: #1d2124 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports (position: sticky) {\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n clip-path: inset(50%);\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n clip-path: none;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\na.text-primary:hover, a.text-primary:focus {\n color: #0062cc !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\na.text-secondary:hover, a.text-secondary:focus {\n color: #545b62 !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\na.text-success:hover, a.text-success:focus {\n color: #1e7e34 !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\na.text-info:hover, a.text-info:focus {\n color: #117a8b !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\na.text-warning:hover, a.text-warning:focus {\n color: #d39e00 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\na.text-danger:hover, a.text-danger:focus {\n color: #bd2130 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\na.text-light:hover, a.text-light:focus {\n color: #dae0e5 !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\na.text-dark:hover, a.text-dark:focus {\n color: #1d2124 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a:not(.btn) {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n @page {\n size: a3;\n }\n body {\n min-width: 992px !important;\n }\n .container {\n min-width: 992px !important;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n\n//\n// Color system\n//\n\n// stylelint-disable\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n$grays: map-merge((\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n), $grays);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n$colors: map-merge((\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n), $colors);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n$theme-colors: map-merge((\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n), $theme-colors);\n// stylelint-enable\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-print-styles: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n// stylelint-disable\n$spacer: 1rem !default;\n$spacers: () !default;\n$spacers: map-merge((\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n), $spacers);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n$sizes: map-merge((\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%\n), $sizes);\n// stylelint-enable\n\n// Body\n//\n// Settings for the `` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints);\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n\n// Fonts\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: ($font-size-base * 1.25) !default;\n$font-size-sm: ($font-size-base * .875) !default;\n\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: ($spacer / 2) !default;\n$headings-font-family: inherit !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: inherit !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: ($font-size-base * 1.25) !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-font-size: ($font-size-base * 1.25) !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-bg: transparent !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $gray-300 !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-bg: $gray-900 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($gray-900, 7.5%) !default;\n$table-dark-color: $body-bg !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-line-height: $input-btn-line-height !default;\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: ($font-size-base * $input-btn-line-height) + ($input-btn-padding-y * 2) !default;\n$input-height: calc(#{$input-height-inner} + #{$input-height-border}) !default;\n\n$input-height-inner-sm: ($font-size-sm * $input-btn-line-height-sm) + ($input-btn-padding-y-sm * 2) !default;\n$input-height-sm: calc(#{$input-height-inner-sm} + #{$input-height-border}) !default;\n\n$input-height-inner-lg: ($font-size-lg * $input-btn-line-height-lg) + ($input-btn-padding-y-lg * 2) !default;\n$input-height-lg: calc(#{$input-height-inner-lg} + #{$input-height-border}) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-control-gutter: 1.5rem !default;\n$custom-control-spacer-x: 1rem !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $gray-300 !default;\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-control-indicator-disabled-bg: $gray-200 !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n\n$custom-control-indicator-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-select-padding-y: .375rem !default;\n$custom-select-padding-x: .75rem !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-line-height: $input-btn-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $white !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-select-border-width: $input-btn-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-box-shadow: inset 0 1px 2px rgba($black, .075), 0 0 5px rgba($custom-select-focus-border-color, .5) !default;\n\n$custom-select-font-size-sm: 75% !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-font-size-lg: 125% !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$custom-file-padding-y: $input-btn-padding-y !default;\n$custom-file-padding-x: $input-btn-padding-x !default;\n$custom-file-line-height: $input-btn-line-height !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-btn-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n// Navbar\n\n$navbar-padding-y: ($spacer / 2) !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: ($font-size-base * $line-height-base + $nav-link-padding-y * 2) !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: ($grid-gutter-width / 2) !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $gray-200 !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding: 1rem !default;\n\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-transition: transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: ($font-size-base * .75) !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n// List group\n\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: \"/\" !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$carousel-transition: transform .6s ease !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Printing\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","// stylelint-disable indentation\n\n// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Origally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS—an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular psuedo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover {\n &:hover { @content; }\n}\n\n@mixin hover-focus {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n","// stylelint-disable declaration-no-important, selector-list-comma-newline-after\n\n//\n// Headings\n//\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1, .h1 { font-size: $h1-font-size; }\nh2, .h2 { font-size: $h2-font-size; }\nh3, .h3 { font-size: $h3-font-size; }\nh4, .h4 { font-size: $h4-font-size; }\nh5, .h5 { font-size: $h5-font-size; }\nh6, .h6 { font-size: $h6-font-size; }\n\n.lead {\n font-size: $lead-font-size;\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n font-size: $display1-size;\n font-weight: $display1-weight;\n line-height: $display-line-height;\n}\n.display-2 {\n font-size: $display2-size;\n font-weight: $display2-weight;\n line-height: $display-line-height;\n}\n.display-3 {\n font-size: $display3-size;\n font-weight: $display3-weight;\n line-height: $display-line-height;\n}\n.display-4 {\n font-size: $display4-size;\n font-weight: $display4-weight;\n line-height: $display-line-height;\n}\n\n\n//\n// Horizontal rules\n//\n\nhr {\n margin-top: $hr-margin-y;\n margin-bottom: $hr-margin-y;\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n}\n\n\n//\n// Emphasis\n//\n\nsmall,\n.small {\n font-size: $small-font-size;\n font-weight: $font-weight-normal;\n}\n\nmark,\n.mark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled;\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $spacer;\n font-size: $blockquote-font-size;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%; // back to default font-size\n color: $blockquote-small-color;\n\n &::before {\n content: \"\\2014 \\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all ``s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid;\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid;\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: ($spacer / 2);\n line-height: 1;\n}\n\n.figure-caption {\n font-size: $figure-caption-font-size;\n color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size.\n\n// stylelint-disable indentation, media-query-list-comma-newline-after\n@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {\n background-image: url($file-1x);\n\n // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,\n // but doesn't convert dppx=>dpi.\n // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.\n // Compatibility info: https://caniuse.com/#feat=css-media-resolution\n @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx\n only screen and (min-resolution: 2dppx) { // Standardized\n background-image: url($file-2x);\n background-size: $width-1x $height-1x;\n }\n}\n","// Single side border-radius\n\n@mixin border-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-radius: $radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n","// Inline and block code styles\ncode,\nkbd,\npre,\nsamp {\n font-family: $font-family-monospace;\n}\n\n// Inline code\ncode {\n font-size: $code-font-size;\n color: $code-color;\n word-break: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n font-size: $kbd-font-size;\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n @include box-shadow($kbd-box-shadow);\n\n kbd {\n padding: 0;\n font-size: 100%;\n font-weight: $nested-kbd-font-weight;\n @include box-shadow(none);\n }\n}\n\n// Blocks of code\npre {\n display: block;\n font-size: $code-font-size;\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: $pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container() {\n width: 100%;\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row() {\n display: flex;\n flex-wrap: wrap;\n margin-right: ($grid-gutter-width / -2);\n margin-left: ($grid-gutter-width / -2);\n}\n\n@mixin make-col-ready() {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n min-height: 1px; // Prevent collapsing\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02px, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n min-height: 1px; // Prevent columns from collapsing when empty\n padding-right: ($gutter / 2);\n padding-left: ($gutter / 2);\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: $spacer;\n background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n th,\n td {\n padding: $table-cell-padding;\n vertical-align: top;\n border-top: $table-border-width solid $table-border-color;\n }\n\n thead th {\n vertical-align: bottom;\n border-bottom: (2 * $table-border-width) solid $table-border-color;\n }\n\n tbody + tbody {\n border-top: (2 * $table-border-width) solid $table-border-color;\n }\n\n .table {\n background-color: $body-bg;\n }\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n th,\n td {\n padding: $table-cell-padding-sm;\n }\n}\n\n\n// Bordered version\n//\n// Add borders all around the table and between all the columns.\n\n.table-bordered {\n border: $table-border-width solid $table-border-color;\n\n th,\n td {\n border: $table-border-width solid $table-border-color;\n }\n\n thead {\n th,\n td {\n border-bottom-width: (2 * $table-border-width);\n }\n }\n}\n\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n tbody tr:nth-of-type(odd) {\n background-color: $table-accent-bg;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n tbody tr {\n @include hover {\n background-color: $table-hover-bg;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n @include table-row-variant($color, theme-color-level($color, -9));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Dark styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.table {\n .thead-dark {\n th {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n border-color: $table-dark-border-color;\n }\n }\n\n .thead-light {\n th {\n color: $table-head-color;\n background-color: $table-head-bg;\n border-color: $table-border-color;\n }\n }\n}\n\n.table-dark {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n\n th,\n td,\n thead th {\n border-color: $table-dark-border-color;\n }\n\n &.table-bordered {\n border: 0;\n }\n\n &.table-striped {\n tbody tr:nth-of-type(odd) {\n background-color: $table-dark-accent-bg;\n }\n }\n\n &.table-hover {\n tbody tr {\n @include hover {\n background-color: $table-dark-hover-bg;\n }\n }\n }\n}\n\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n.table-responsive {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar; // See https://github.com/twbs/bootstrap/pull/10057\n\n // Prevent double border on horizontal scroll due to use of `display: block;`\n > .table-bordered {\n border: 0;\n }\n }\n }\n }\n}\n","// Tables\n\n@mixin table-row-variant($state, $background) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table-#{$state} {\n &,\n > th,\n > td {\n background-color: $background;\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover {\n $hover-background: darken($background, 5%);\n\n .table-#{$state} {\n @include hover {\n background-color: $hover-background;\n\n > td,\n > th {\n background-color: $hover-background;\n }\n }\n }\n }\n}\n","// Bootstrap functions\n//\n// Utility mixins and functions for evalutating source code across our variables, maps, and mixins.\n\n// Ascending\n// Used to evaluate Sass maps like our grid breakpoints.\n@mixin _assert-ascending($map, $map-name) {\n $prev-key: null;\n $prev-num: null;\n @each $key, $num in $map {\n @if $prev-num == null {\n // Do nothing\n } @else if not comparable($prev-num, $num) {\n @warn \"Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n } @else if $prev-num >= $num {\n @warn \"Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n }\n $prev-key: $key;\n $prev-num: $num;\n }\n}\n\n// Starts at zero\n// Another grid mixin that ensures the min-width of the lowest breakpoint starts at 0.\n@mixin _assert-starts-at-zero($map) {\n $values: map-values($map);\n $first-value: nth($values, 1);\n @if $first-value != 0 {\n @warn \"First breakpoint in `$grid-breakpoints` must start at 0, but starts at #{$first-value}.\";\n }\n}\n\n// Replace `$search` with `$replace` in `$string`\n// Used on our SVG icon backgrounds for custom forms.\n//\n// @author Hugo Giraudel\n// @param {String} $string - Initial string\n// @param {String} $search - Substring to replace\n// @param {String} $replace ('') - New value\n// @return {String} - Updated string\n@function str-replace($string, $search, $replace: \"\") {\n $index: str-index($string, $search);\n\n @if $index {\n @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);\n }\n\n @return $string;\n}\n\n// Color contrast\n@function color-yiq($color) {\n $r: red($color);\n $g: green($color);\n $b: blue($color);\n\n $yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000;\n\n @if ($yiq >= $yiq-contrasted-threshold) {\n @return $yiq-text-dark;\n } @else {\n @return $yiq-text-light;\n }\n}\n\n// Retrieve color Sass maps\n@function color($key: \"blue\") {\n @return map-get($colors, $key);\n}\n\n@function theme-color($key: \"primary\") {\n @return map-get($theme-colors, $key);\n}\n\n@function gray($key: \"100\") {\n @return map-get($grays, $key);\n}\n\n// Request a theme color level\n@function theme-color-level($color-name: \"primary\", $level: 0) {\n $color: theme-color($color-name);\n $color-base: if($level > 0, #000, #fff);\n $level: abs($level);\n\n @return mix($color-base, $color, $level * $theme-color-interval);\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n padding: $input-padding-y $input-padding-x;\n font-size: $font-size-base;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n\n // Note: This has no effect on `s in CSS.\n @if $enable-rounded {\n // Manually use the if/else instead of the mixin to account for iOS override\n border-radius: $input-border-radius;\n } @else {\n // Otherwise undo the iOS default\n border-radius: 0;\n }\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Unstyle the caret on ` receives focus\n // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to\n // match the appearance of the native widget.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n}\n\n// Make file inputs better match text inputs by forcing them to new lines.\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n\n//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: calc(#{$input-padding-y} + #{$input-border-width});\n padding-bottom: calc(#{$input-padding-y} + #{$input-border-width});\n margin-bottom: 0; // Override the `
',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent"},f="show",d="out",_={HIDE:"hide"+o,HIDDEN:"hidden"+o,SHOW:"show"+o,SHOWN:"shown"+o,INSERTED:"inserted"+o,CLICK:"click"+o,FOCUSIN:"focusin"+o,FOCUSOUT:"focusout"+o,MOUSEENTER:"mouseenter"+o,MOUSELEAVE:"mouseleave"+o},g="fade",p="show",m=".tooltip-inner",v=".arrow",E="hover",T="focus",y="click",C="manual",I=function(){function a(t,e){if("undefined"==typeof n)throw new TypeError("Bootstrap tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var I=a.prototype;return I.enable=function(){this._isEnabled=!0},I.disable=function(){this._isEnabled=!1},I.toggleEnabled=function(){this._isEnabled=!this._isEnabled},I.toggle=function(e){if(this._isEnabled)if(e){var n=this.constructor.DATA_KEY,i=t(e.currentTarget).data(n);i||(i=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(n,i)),i._activeTrigger.click=!i._activeTrigger.click,i._isWithActiveTrigger()?i._enter(null,i):i._leave(null,i)}else{if(t(this.getTipElement()).hasClass(p))return void this._leave(null,this);this._enter(null,this)}},I.dispose=function(){clearTimeout(this._timeout),t.removeData(this.element,this.constructor.DATA_KEY),t(this.element).off(this.constructor.EVENT_KEY),t(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&t(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,null!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},I.show=function(){var e=this;if("none"===t(this.element).css("display"))throw new Error("Please use show on visible elements");var i=t.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){t(this.element).trigger(i);var s=t.contains(this.element.ownerDocument.documentElement,this.element);if(i.isDefaultPrevented()||!s)return;var r=this.getTipElement(),o=P.getUID(this.constructor.NAME);r.setAttribute("id",o),this.element.setAttribute("aria-describedby",o),this.setContent(),this.config.animation&&t(r).addClass(g);var l="function"==typeof this.config.placement?this.config.placement.call(this,r,this.element):this.config.placement,h=this._getAttachment(l);this.addAttachmentClass(h);var c=!1===this.config.container?document.body:t(this.config.container);t(r).data(this.constructor.DATA_KEY,this),t.contains(this.element.ownerDocument.documentElement,this.tip)||t(r).appendTo(c),t(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new n(this.element,r,{placement:h,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:v},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){e._handlePopperPlacementChange(t)}}),t(r).addClass(p),"ontouchstart"in document.documentElement&&t("body").children().on("mouseover",null,t.noop);var u=function(){e.config.animation&&e._fixTransition();var n=e._hoverState;e._hoverState=null,t(e.element).trigger(e.constructor.Event.SHOWN),n===d&&e._leave(null,e)};P.supportsTransitionEnd()&&t(this.tip).hasClass(g)?t(this.tip).one(P.TRANSITION_END,u).emulateTransitionEnd(a._TRANSITION_DURATION):u()}},I.hide=function(e){var n=this,i=this.getTipElement(),s=t.Event(this.constructor.Event.HIDE),r=function(){n._hoverState!==f&&i.parentNode&&i.parentNode.removeChild(i),n._cleanTipClass(),n.element.removeAttribute("aria-describedby"),t(n.element).trigger(n.constructor.Event.HIDDEN),null!==n._popper&&n._popper.destroy(),e&&e()};t(this.element).trigger(s),s.isDefaultPrevented()||(t(i).removeClass(p),"ontouchstart"in document.documentElement&&t("body").children().off("mouseover",null,t.noop),this._activeTrigger[y]=!1,this._activeTrigger[T]=!1,this._activeTrigger[E]=!1,P.supportsTransitionEnd()&&t(this.tip).hasClass(g)?t(i).one(P.TRANSITION_END,r).emulateTransitionEnd(150):r(),this._hoverState="")},I.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},I.isWithContent=function(){return Boolean(this.getTitle())},I.addAttachmentClass=function(e){t(this.getTipElement()).addClass("bs-tooltip-"+e)},I.getTipElement=function(){return this.tip=this.tip||t(this.config.template)[0],this.tip},I.setContent=function(){var e=t(this.getTipElement());this.setElementContent(e.find(m),this.getTitle()),e.removeClass(g+" "+p)},I.setElementContent=function(e,n){var i=this.config.html;"object"==typeof n&&(n.nodeType||n.jquery)?i?t(n).parent().is(e)||e.empty().append(n):e.text(t(n).text()):e[i?"html":"text"](n)},I.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},I._getAttachment=function(t){return c[t.toUpperCase()]},I._setListeners=function(){var e=this;this.config.trigger.split(" ").forEach(function(n){if("click"===n)t(e.element).on(e.constructor.Event.CLICK,e.config.selector,function(t){return e.toggle(t)});else if(n!==C){var i=n===E?e.constructor.Event.MOUSEENTER:e.constructor.Event.FOCUSIN,s=n===E?e.constructor.Event.MOUSELEAVE:e.constructor.Event.FOCUSOUT;t(e.element).on(i,e.config.selector,function(t){return e._enter(t)}).on(s,e.config.selector,function(t){return e._leave(t)})}t(e.element).closest(".modal").on("hide.bs.modal",function(){return e.hide()})}),this.config.selector?this.config=r({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},I._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},I._enter=function(e,n){var i=this.constructor.DATA_KEY;(n=n||t(e.currentTarget).data(i))||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusin"===e.type?T:E]=!0),t(n.getTipElement()).hasClass(p)||n._hoverState===f?n._hoverState=f:(clearTimeout(n._timeout),n._hoverState=f,n.config.delay&&n.config.delay.show?n._timeout=setTimeout(function(){n._hoverState===f&&n.show()},n.config.delay.show):n.show())},I._leave=function(e,n){var i=this.constructor.DATA_KEY;(n=n||t(e.currentTarget).data(i))||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusout"===e.type?T:E]=!1),n._isWithActiveTrigger()||(clearTimeout(n._timeout),n._hoverState=d,n.config.delay&&n.config.delay.hide?n._timeout=setTimeout(function(){n._hoverState===d&&n.hide()},n.config.delay.hide):n.hide())},I._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},I._getConfig=function(n){return"number"==typeof(n=r({},this.constructor.Default,t(this.element).data(),n)).delay&&(n.delay={show:n.delay,hide:n.delay}),"number"==typeof n.title&&(n.title=n.title.toString()),"number"==typeof n.content&&(n.content=n.content.toString()),P.typeCheckConfig(e,n,this.constructor.DefaultType),n},I._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},I._cleanTipClass=function(){var e=t(this.getTipElement()),n=e.attr("class").match(l);null!==n&&n.length>0&&e.removeClass(n.join(""))},I._handlePopperPlacementChange=function(t){this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},I._fixTransition=function(){var e=this.getTipElement(),n=this.config.animation;null===e.getAttribute("x-placement")&&(t(e).removeClass(g),this.config.animation=!1,this.hide(),this.show(),this.config.animation=n)},a._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(i),s="object"==typeof e&&e;if((n||!/dispose|hide/.test(e))&&(n||(n=new a(this,s),t(this).data(i,n)),"string"==typeof e)){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}})},s(a,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return u}},{key:"NAME",get:function(){return e}},{key:"DATA_KEY",get:function(){return i}},{key:"Event",get:function(){return _}},{key:"EVENT_KEY",get:function(){return o}},{key:"DefaultType",get:function(){return h}}]),a}();return t.fn[e]=I._jQueryInterface,t.fn[e].Constructor=I,t.fn[e].noConflict=function(){return t.fn[e]=a,I._jQueryInterface},I}(e),x=function(t){var e="popover",n="bs.popover",i="."+n,o=t.fn[e],a=new RegExp("(^|\\s)bs-popover\\S+","g"),l=r({},U.Default,{placement:"right",trigger:"click",content:"",template:''}),h=r({},U.DefaultType,{content:"(string|element|function)"}),c="fade",u="show",f=".popover-header",d=".popover-body",_={HIDE:"hide"+i,HIDDEN:"hidden"+i,SHOW:"show"+i,SHOWN:"shown"+i,INSERTED:"inserted"+i,CLICK:"click"+i,FOCUSIN:"focusin"+i,FOCUSOUT:"focusout"+i,MOUSEENTER:"mouseenter"+i,MOUSELEAVE:"mouseleave"+i},g=function(r){var o,g;function p(){return r.apply(this,arguments)||this}g=r,(o=p).prototype=Object.create(g.prototype),o.prototype.constructor=o,o.__proto__=g;var m=p.prototype;return m.isWithContent=function(){return this.getTitle()||this._getContent()},m.addAttachmentClass=function(e){t(this.getTipElement()).addClass("bs-popover-"+e)},m.getTipElement=function(){return this.tip=this.tip||t(this.config.template)[0],this.tip},m.setContent=function(){var e=t(this.getTipElement());this.setElementContent(e.find(f),this.getTitle());var n=this._getContent();"function"==typeof n&&(n=n.call(this.element)),this.setElementContent(e.find(d),n),e.removeClass(c+" "+u)},m._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},m._cleanTipClass=function(){var e=t(this.getTipElement()),n=e.attr("class").match(a);null!==n&&n.length>0&&e.removeClass(n.join(""))},p._jQueryInterface=function(e){return this.each(function(){var i=t(this).data(n),s="object"==typeof e?e:null;if((i||!/destroy|hide/.test(e))&&(i||(i=new p(this,s),t(this).data(n,i)),"string"==typeof e)){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}})},s(p,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return l}},{key:"NAME",get:function(){return e}},{key:"DATA_KEY",get:function(){return n}},{key:"Event",get:function(){return _}},{key:"EVENT_KEY",get:function(){return i}},{key:"DefaultType",get:function(){return h}}]),p}(U);return t.fn[e]=g._jQueryInterface,t.fn[e].Constructor=g,t.fn[e].noConflict=function(){return t.fn[e]=o,g._jQueryInterface},g}(e),K=function(t){var e="scrollspy",n="bs.scrollspy",i="."+n,o=t.fn[e],a={offset:10,method:"auto",target:""},l={offset:"number",method:"string",target:"(string|element)"},h={ACTIVATE:"activate"+i,SCROLL:"scroll"+i,LOAD_DATA_API:"load"+i+".data-api"},c="dropdown-item",u="active",f={DATA_SPY:'[data-spy="scroll"]',ACTIVE:".active",NAV_LIST_GROUP:".nav, .list-group",NAV_LINKS:".nav-link",NAV_ITEMS:".nav-item",LIST_ITEMS:".list-group-item",DROPDOWN:".dropdown",DROPDOWN_ITEMS:".dropdown-item",DROPDOWN_TOGGLE:".dropdown-toggle"},d="offset",_="position",g=function(){function o(e,n){var i=this;this._element=e,this._scrollElement="BODY"===e.tagName?window:e,this._config=this._getConfig(n),this._selector=this._config.target+" "+f.NAV_LINKS+","+this._config.target+" "+f.LIST_ITEMS+","+this._config.target+" "+f.DROPDOWN_ITEMS,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,t(this._scrollElement).on(h.SCROLL,function(t){return i._process(t)}),this.refresh(),this._process()}var g=o.prototype;return g.refresh=function(){var e=this,n=this._scrollElement===this._scrollElement.window?d:_,i="auto"===this._config.method?n:this._config.method,s=i===_?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),t.makeArray(t(this._selector)).map(function(e){var n,r=P.getSelectorFromElement(e);if(r&&(n=t(r)[0]),n){var o=n.getBoundingClientRect();if(o.width||o.height)return[t(n)[i]().top+s,r]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},g.dispose=function(){t.removeData(this._element,n),t(this._scrollElement).off(i),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},g._getConfig=function(n){if("string"!=typeof(n=r({},a,n)).target){var i=t(n.target).attr("id");i||(i=P.getUID(e),t(n.target).attr("id",i)),n.target="#"+i}return P.typeCheckConfig(e,n,l),n},g._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},g._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},g._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},g._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t0)return this._activeTarget=null,void this._clear();for(var s=this._offsets.length;s--;){this._activeTarget!==this._targets[s]&&t>=this._offsets[s]&&("undefined"==typeof this._offsets[s+1]||t=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(e),t.Util=P,t.Alert=L,t.Button=R,t.Carousel=j,t.Collapse=H,t.Dropdown=W,t.Modal=M,t.Popover=x,t.Scrollspy=K,t.Tab=V,t.Tooltip=U,Object.defineProperty(t,"__esModule",{value:!0})}); +//# sourceMappingURL=bootstrap.min.js.map \ No newline at end of file diff --git a/static/vendor/bootstrap/js/bootstrap.min.js.map b/static/vendor/bootstrap/js/bootstrap.min.js.map new file mode 100644 index 000000000..a2100fa39 --- /dev/null +++ b/static/vendor/bootstrap/js/bootstrap.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../rollupPluginBabelHelpers","../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/index.js"],"names":["_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_createClass","Constructor","protoProps","staticProps","prototype","_extends","assign","arguments","source","hasOwnProperty","call","apply","this","$","NAME","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","Event","ClassName","Alert","DATA_API_KEY","Selector","Button","Util","transition","transitionEndEmulator","duration","called","one","TRANSITION_END","triggerTransitionEnd","_this","prefix","Math","random","document","getElementById","element","selector","getAttribute","charAt","escapeSelector","substr","replace","find","err","offsetHeight","trigger","end","Boolean","obj","nodeType","componentName","config","configTypes","property","expectedTypes","value","valueType","isElement","toString","match","toLowerCase","RegExp","test","Error","toUpperCase","window","QUnit","fn","emulateTransitionEnd","supportsTransitionEnd","event","special","is","handleObj","handler","_element","close","rootElement","_getRootElement","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","getSelectorFromElement","parent","closest","closeEvent","CLOSE","removeClass","hasClass","_destroyElement","detach","CLOSED","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","CLICK_DATA_API","noConflict","toggle","triggerChangeEvent","addAriaPressed","input","type","checked","activeElement","hasAttribute","classList","contains","focus","setAttribute","toggleClass","button","FOCUS_BLUR_DATA_API","Carousel","Default","DefaultType","Direction","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","_config","_getConfig","_indicatorsElement","INDICATORS","_addEventListeners","next","_slide","nextWhenVisible","hidden","css","prev","pause","NEXT_PREV","cycle","interval","setInterval","visibilityState","bind","to","index","ACTIVE_ITEM","activeIndex","_getItemIndex","SLID","direction","off","typeCheckConfig","keyboard","KEYDOWN","_this2","_keydown","MOUSEENTER","MOUSELEAVE","documentElement","TOUCHEND","setTimeout","tagName","which","makeArray","ITEM","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","wrap","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","SLIDE","_setActiveIndicatorElement","ACTIVE","nextIndicator","children","addClass","directionalClassName","orderClassName","activeElementIndex","nextElement","nextElementIndex","isCycling","slidEvent","reflow","_this3","action","slide","TypeError","_dataApiClickHandler","slideIndex","DATA_SLIDE","LOAD_DATA_API","DATA_RIDE","$carousel","Collapse","Dimension","_isTransitioning","_triggerArray","id","tabToggles","DATA_TOGGLE","elem","filter","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","ACTIVES","not","startEvent","SHOW","dimension","_getDimension","style","attr","setTransitioning","complete","SHOWN","scrollSize","slice","HIDE","getBoundingClientRect","HIDDEN","isTransitioning","jquery","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","$target","Dropdown","REGEXP_KEYDOWN","ARROW_UP_KEYCODE","AttachmentMap","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","_getParentFromElement","isActive","_clearMenus","showEvent","Popper","boundary","_getPopperConfig","noop","destroy","update","scheduleUpdate","CLICK","stopPropagation","constructor","_getPlacement","$parentDropdown","placement","offsetConf","offset","offsets","flip","toggles","context","dropdownMenu","hideEvent","parentNode","_dataApiKeydownHandler","items","get","KEYDOWN_DATA_API","KEYUP_DATA_API","e","Modal","_dialog","DIALOG","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_originalBodyPadding","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","body","_setEscapeEvent","_setResizeEvent","CLICK_DISMISS","DATA_DISMISS","MOUSEDOWN_DISMISS","MOUSEUP_DISMISS","_showBackdrop","_showElement","FOCUSIN","_hideModal","handleUpdate","Node","ELEMENT_NODE","appendChild","display","removeAttribute","scrollTop","_enforceFocus","shownEvent","transitionComplete","_this4","has","KEYDOWN_DISMISS","RESIZE","_this6","_resetAdjustments","_resetScrollbar","_this7","_removeBackdrop","callback","animate","backdrop","doAnimate","createElement","className","appendTo","_this8","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","rect","left","right","innerWidth","_getScrollbarWidth","FIXED_CONTENT","actualPadding","calculatedPadding","parseFloat","_this9","STICKY_CONTENT","actualMargin","marginRight","calculatedMargin","NAVBAR_TOGGLER","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","removeChild","Tooltip","BSCLS_PREFIX_REGEX","HoverState","Trigger","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","isWithContent","isInTheDom","ownerDocument","tipId","getUID","setContent","animation","attachment","_getAttachment","addAttachmentClass","container","INSERTED","fallbackPlacement","originalPlacement","_handlePopperPlacementChange","_fixTransition","prevHoverState","_TRANSITION_DURATION","_cleanTipClass","getTitle","CLASS_PREFIX","template","$tip","setElementContent","content","html","empty","append","text","title","split","forEach","eventIn","eventOut","FOCUSOUT","_fixTitle","titleType","delay","tabClass","join","initConfigAnimation","Popover","subClass","superClass","create","__proto__","_getContent","ScrollSpy","OffsetMethod","_scrollElement","NAV_LINKS","LIST_ITEMS","DROPDOWN_ITEMS","_offsets","_targets","_activeTarget","_scrollHeight","SCROLL","_process","refresh","autoMethod","offsetMethod","method","offsetBase","_getScrollTop","_getScrollHeight","map","targetSelector","targetBCR","height","top","item","sort","a","b","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","queries","$link","DROPDOWN","DROPDOWN_TOGGLE","parents","NAV_LIST_GROUP","NAV_ITEMS","ACTIVATE","scrollSpys","DATA_SPY","$spy","Tab","previous","listElement","itemSelector","nodeName","hiddenEvent","active","_transitionComplete","dropdownChild","dropdownElement","version"],"mappings":"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","sourcesContent":["export { _createClass as createClass, _extends as extends, _inheritsLoose as inheritsLoose };\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}","import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Util = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n let transition = false\n\n const MAX_UID = 1000000\n\n // Shoutout AngusCroll (https://goo.gl/pxwQGp)\n function toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-zA-Z]+)/)[1].toLowerCase()\n }\n\n function getSpecialTransitionEndEvent() {\n return {\n bindType: transition.end,\n delegateType: transition.end,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n }\n\n function transitionEndTest() {\n if (typeof window !== 'undefined' && window.QUnit) {\n return false\n }\n\n return {\n end: 'transitionend'\n }\n }\n\n function transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n }\n\n function setTransitionEndSupport() {\n transition = transitionEndTest()\n\n $.fn.emulateTransitionEnd = transitionEndEmulator\n\n if (Util.supportsTransitionEnd()) {\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n }\n }\n\n function escapeId(selector) {\n // We escape IDs in case of special selectors (selector = '#myId:something')\n // $.escapeSelector does not exist in jQuery < 3\n selector = typeof $.escapeSelector === 'function' ? $.escapeSelector(selector).substr(1)\n : selector.replace(/(:|\\.|\\[|\\]|,|=|@)/g, '\\\\$1')\n\n return selector\n }\n\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n const Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n if (!selector || selector === '#') {\n selector = element.getAttribute('href') || ''\n }\n\n // If it's an ID\n if (selector.charAt(0) === '#') {\n selector = escapeId(selector)\n }\n\n try {\n const $selector = $(document).find(selector)\n return $selector.length > 0 ? selector : null\n } catch (err) {\n return null\n }\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(transition.end)\n },\n\n supportsTransitionEnd() {\n return Boolean(transition)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n }\n }\n\n setTransitionEndSupport()\n\n return Util\n})($)\n\nexport default Util\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Alert = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'alert'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.alert'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n\n const Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n }\n\n const Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n element = element || this._element\n\n const rootElement = this._getRootElement(element)\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = $(selector)[0]\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!Util.supportsTransitionEnd() ||\n !$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(TRANSITION_DURATION)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n )\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Alert._jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n }\n\n return Alert\n})($)\n\nexport default Alert\n","import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Button = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'button'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.button'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n }\n\n const Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLE : '[data-toggle=\"buttons\"]',\n INPUT : 'input',\n ACTIVE : '.active',\n BUTTON : '.btn'\n }\n\n const Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Button {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLE\n )[0]\n\n if (rootElement) {\n const input = $(this._element).find(Selector.INPUT)[0]\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n $(this._element).hasClass(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = $(rootElement).find(Selector.ACTIVE)[0]\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n input.checked = !$(this._element).hasClass(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !$(this._element).hasClass(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n event.preventDefault()\n\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Button._jQueryInterface\n $.fn[NAME].Constructor = Button\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n }\n\n return Button\n})($)\n\nexport default Button\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Carousel = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'carousel'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.carousel'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 600\n const ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\n const ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\n const TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\n const Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true\n }\n\n const DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean'\n }\n\n const Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n }\n\n const Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item'\n }\n\n const Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n\n this._isPaused = false\n this._isSliding = false\n\n this.touchTimeout = null\n\n this._config = this._getConfig(config)\n this._element = $(element)[0]\n this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0]\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if ($(this._element).find(Selector.NEXT_PREV)[0] &&\n Util.supportsTransitionEnd()) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex\n ? Direction.NEXT\n : Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n if ('ontouchstart' in document.documentElement) {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n $(this._element).on(Event.TOUCHEND, () => {\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n })\n }\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = $.makeArray($(element).parent().find(Selector.ITEM))\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1\n ? this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex($(this._element).find(Selector.ACTIVE_ITEM)[0])\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n $(this._indicatorsElement)\n .find(Selector.ACTIVE)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if (Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n $(window).on(Event.LOAD_DATA_API, () => {\n $(Selector.DATA_RIDE).each(function () {\n const $carousel = $(this)\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n })\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Carousel._jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n }\n\n return Carousel\n})($)\n\nexport default Carousel\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Collapse = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'collapse'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.collapse'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 600\n\n const Default = {\n toggle : true,\n parent : ''\n }\n\n const DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n }\n\n const Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n }\n\n const Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n }\n\n const Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = $.makeArray($(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n const tabToggles = $(Selector.DATA_TOGGLE)\n for (let i = 0; i < tabToggles.length; i++) {\n const elem = tabToggles[i]\n const selector = Util.getSelectorFromElement(elem)\n if (selector !== null && $(selector).filter(element).length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = $.makeArray(\n $(this._parent)\n .find(Selector.ACTIVES)\n .filter(`[data-parent=\"${this._config.parent}\"]`)\n )\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length > 0) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n if (!Util.supportsTransitionEnd()) {\n complete()\n return\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n if (this._triggerArray.length > 0) {\n for (let i = 0; i < this._triggerArray.length; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n if (selector !== null) {\n const $elem = $(selector)\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n\n if (!Util.supportsTransitionEnd()) {\n complete()\n return\n }\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let parent = null\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = $(this._config.parent)[0]\n }\n\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n $(parent).find(selector).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n\n if (triggerArray.length > 0) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? $(selector)[0] : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$this.data(),\n ...typeof config === 'object' && config\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n $(selector).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Collapse._jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n }\n\n return Collapse\n})($)\n\nexport default Collapse\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Dropdown = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'dropdown'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.dropdown'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n const SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\n const TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\n const ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\n const ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\n const RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\n const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n DROPRIGHT : 'dropright',\n DROPLEFT : 'dropleft',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left',\n POSITION_STATIC : 'position-static'\n }\n\n const Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled)'\n }\n\n const AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end',\n RIGHT : 'right-start',\n RIGHTEND : 'right-end',\n LEFT : 'left-start',\n LEFTEND : 'left-end'\n }\n\n const Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent'\n }\n\n const DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this._element)\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)')\n }\n let element = this._element\n // For dropup with alignment we use the parent as popper container\n if ($(parent).hasClass(ClassName.DROPUP)) {\n if ($(this._menu).hasClass(ClassName.MENULEFT) || $(this._menu).hasClass(ClassName.MENURIGHT)) {\n element = parent\n }\n }\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(ClassName.POSITION_STATIC)\n }\n this._popper = new Popper(element, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n $('body').children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n this._menu = $(parent).find(Selector.MENU)[0]\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element).parent()\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getPopperConfig() {\n const offsetConf = {}\n if (typeof this._config.offset === 'function') {\n offsetConf.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets) || {}\n }\n return data\n }\n } else {\n offsetConf.offset = this._config.offset\n }\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: offsetConf,\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n return popperConfig\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = $.makeArray($(Selector.DATA_TOGGLE))\n for (let i = 0; i < toggles.length; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $('body').children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n $(dropdownMenu).removeClass(ClassName.SHOW)\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = $(selector)[0]\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) ||\n isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = $(parent).find(Selector.DATA_TOGGLE)[0]\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = $(parent).find(Selector.VISIBLE_ITEMS).get()\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Dropdown._jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n }\n\n return Dropdown\n})($, Popper)\n\nexport default Dropdown\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Modal = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'modal'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.modal'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 300\n const BACKDROP_TRANSITION_DURATION = 150\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\n const Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n }\n\n const DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n DIALOG : '.modal-dialog',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT : '.sticky-top',\n NAVBAR_TOGGLER : '.navbar-toggler'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = $(element).find(Selector.DIALOG)[0]\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._originalBodyPadding = 0\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isTransitioning || this._isShown) {\n return\n }\n\n if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n $(document.body).addClass(ClassName.OPEN)\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (this._isTransitioning || !this._isShown) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n\n const transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n if (transition) {\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n $(window, document, this._element, this._backdrop).off(EVENT_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.FADE)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.scrollTop = 0\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // Guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE)\n ? ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n const doAnimate = Util.supportsTransitionEnd() && animate\n\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n $(this._backdrop).addClass(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (doAnimate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!doAnimate) {\n callback()\n return\n }\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if (Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.FADE)) {\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n $(Selector.FIXED_CONTENT).each((index, element) => {\n const actualPadding = $(element)[0].style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element).data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(Selector.STICKY_CONTENT).each((index, element) => {\n const actualMargin = $(element)[0].style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust navbar-toggler margin\n $(Selector.NAVBAR_TOGGLER).each((index, element) => {\n const actualMargin = $(element)[0].style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) + this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $('body').css('padding-right')\n $('body').data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n $(Selector.FIXED_CONTENT).each((index, element) => {\n const padding = $(element).data('padding-right')\n if (typeof padding !== 'undefined') {\n $(element).css('padding-right', padding).removeData('padding-right')\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n $(`${Selector.STICKY_CONTENT}, ${Selector.NAVBAR_TOGGLER}`).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $('body').data('padding-right')\n if (typeof padding !== 'undefined') {\n $('body').css('padding-right', padding).removeData('padding-right')\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Modal.Default,\n ...$(this).data(),\n ...typeof config === 'object' && config\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = $(selector)[0]\n }\n\n const config = $(target).data(DATA_KEY)\n ? 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Modal._jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n }\n\n return Modal\n})($)\n\nexport default Modal\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tooltip = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tooltip'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.tooltip'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n const CLASS_PREFIX = 'bs-tooltip'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)',\n boundary : '(string|element)'\n }\n\n const AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n }\n\n const Default = {\n animation : true,\n template : '
' +\n '
' +\n '
',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip',\n boundary : 'scrollParent'\n }\n\n const HoverState = {\n SHOW : 'show',\n OUT : 'out'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner',\n ARROW : '.arrow'\n }\n\n const Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tooltip {\n constructor(element, config) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal')\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const isInTheDom = $.contains(\n this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function'\n ? this.config.placement.call(this, tip, this.element)\n : this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this.config.container === false ? document.body : $(this.config.container)\n\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, {\n placement: attachment,\n modifiers: {\n offset: {\n offset: this.config.offset\n },\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: Selector.ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: (data) => {\n this._handlePopperPlacementChange(data)\n }\n })\n\n $(tip).addClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $('body').children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(Tooltip._TRANSITION_DURATION)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $('body').children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if (Util.supportsTransitionEnd() &&\n $(this.tip).hasClass(ClassName.FADE)) {\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle())\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n setElementContent($element, content) {\n const html = this.config.html\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n } else {\n $element[html ? 'html' : 'text'](content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function'\n ? this.config.title.call(this.element)\n : this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSEENTER\n : this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSELEAVE\n : this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n () => this.hide()\n )\n })\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n if (this.element.getAttribute('title') ||\n titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this.element).data(),\n ...config\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(data) {\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(data.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n $(tip).removeClass(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tooltip._jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n }\n\n return Tooltip\n})($, Popper)\n\nexport default Tooltip\n","import $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Popover = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'popover'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.popover'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const CLASS_PREFIX = 'bs-popover'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const Default = {\n ...Tooltip.Default,\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '
' +\n '
' +\n '

' +\n '
'\n }\n\n const DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n }\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TITLE : '.popover-header',\n CONTENT : '.popover-body'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(Selector.CONTENT), content)\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /destroy|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Popover._jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n }\n\n return Popover\n})($)\n\nexport default Popover\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst ScrollSpy = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'scrollspy'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.scrollspy'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Default = {\n offset : 10,\n method : 'auto',\n target : ''\n }\n\n const DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n }\n\n const Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active'\n }\n\n const Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n NAV_LIST_GROUP : '.nav, .list-group',\n NAV_LINKS : '.nav-link',\n NAV_ITEMS : '.nav-item',\n LIST_ITEMS : '.list-group-item',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n }\n\n const OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window\n ? OffsetMethod.OFFSET : OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto'\n ? autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION\n ? this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = $.makeArray($(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = $(targetSelector)[0]\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window\n ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window\n ? window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n let queries = this._selector.split(',')\n // eslint-disable-next-line arrow-body-style\n queries = queries.map((selector) => {\n return `${selector}[data-target=\"${target}\"],` +\n `${selector}[href=\"${target}\"]`\n })\n\n const $link = $(queries.join(','))\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n $link.addClass(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(ClassName.ACTIVE)\n // Set triggered links parents as active\n // With both
    and