#2 add pelican test output scripts
Merged 6 years ago by mattdm. Opened 6 years ago by ryanlerch.
fedora-docs/ ryanlerch/package-maintainer-docs test-output  into  master

file added
+4
@@ -0,0 +1,4 @@ 

+ *.pyc

+ pelican.pid

+ srv.pid

+ output/

file added
+11
@@ -0,0 +1,11 @@ 

+ # packaging docs 

+ 

+ ## Running the server for writing new articles

+ 

+ Running the pelican development server is useful when writing new articles. The steps to

+ get it running are:

+ 

+ 1. Install pelican: `sudo dnf install pelican GitPython`

+ 2. Check out the packagin docs source (from your fork or the main repo)

+ 3. In the main folder of the checked out repo, run `./develop_server.sh start`

+ and your local copy of the Docs Fedora will be at http://localhost:8000/

file added
+103
@@ -0,0 +1,103 @@ 

+ #!/usr/bin/env bash

+ ##

+ # This section should match your Makefile

+ ##

+ PY=${PY:-python}

+ PELICAN=${PELICAN:-pelican}

+ PELICANOPTS=

+ 

+ BASEDIR=$(pwd)

+ INPUTDIR=$BASEDIR/content

+ OUTPUTDIR=$BASEDIR/output

+ CONFFILE=$BASEDIR/pelicanconf.py

+ 

+ ###

+ # Don't change stuff below here unless you are sure

+ ###

+ 

+ SRV_PID=$BASEDIR/srv.pid

+ PELICAN_PID=$BASEDIR/pelican.pid

+ 

+ function usage(){

+   echo "usage: $0 (stop) (start) (restart) [port]"

+   echo "This starts Pelican in debug and reload mode and then launches"

+   echo "an HTTP server to help site development. It doesn't read"

+   echo "your Pelican settings, so if you edit any paths in your Makefile"

+   echo "you will need to edit your settings as well."

+   exit 3

+ }

+ 

+ function alive() {

+   kill -0 $1 >/dev/null 2>&1

+ }

+ 

+ function shut_down(){

+   PID=$(cat $SRV_PID)

+   if [[ $? -eq 0 ]]; then

+     if alive $PID; then

+       echo "Stopping HTTP server"

+       kill $PID

+     else

+       echo "Stale PID, deleting"

+     fi

+     rm $SRV_PID

+   else

+     echo "HTTP server PIDFile not found"

+   fi

+ 

+   PID=$(cat $PELICAN_PID)

+   if [[ $? -eq 0 ]]; then

+     if alive $PID; then

+       echo "Killing Pelican"

+       kill $PID

+     else

+       echo "Stale PID, deleting"

+     fi

+     rm $PELICAN_PID

+   else

+     echo "Pelican PIDFile not found"

+   fi

+ }

+ 

+ function start_up(){

+   local port=$1

+   echo "Starting up Pelican and HTTP server"

+   shift

+   $PELICAN --debug --autoreload -r $INPUTDIR -o $OUTPUTDIR -s $CONFFILE $PELICANOPTS &

+   pelican_pid=$!

+   echo $pelican_pid > $PELICAN_PID

+   cd $OUTPUTDIR

+   $PY -m pelican.server $port &

+   srv_pid=$!

+   echo $srv_pid > $SRV_PID

+   cd $BASEDIR

+   sleep 1

+   if ! alive $pelican_pid ; then

+     echo "Pelican didn't start. Is the Pelican package installed?"

+     return 1

+   elif ! alive $srv_pid ; then

+     echo "The HTTP server didn't start. Is there another service using port" $port "?"

+     return 1

+   fi

+   echo 'Pelican and HTTP server processes now running in background.'

+ }

+ 

+ ###

+ #  MAIN

+ ###

+ [[ ($# -eq 0) || ($# -gt 2) ]] && usage

+ port=''

+ [[ $# -eq 2 ]] && port=$2

+ 

+ if [[ $1 == "stop" ]]; then

+   shut_down

+ elif [[ $1 == "restart" ]]; then

+   shut_down

+   start_up $port

+ elif [[ $1 == "start" ]]; then

+   if ! start_up $port; then

+     shut_down

+   fi

+ else

+   usage

+ fi

file added
+46
@@ -0,0 +1,46 @@ 

+ # -*- coding: utf-8 -*- #

+ from __future__ import unicode_literals

+ 

+ AUTHOR = u'The Fedora Project'

+ SITENAME = u'Fedora Documentation'

+ SITEURL = 'https://docs.pagure.org/docs-fedora/'

+ 

+ PATH = 'content'

+ ARTICLE_EXCLUDES = ['modules']

+ TIMEZONE = 'Europe/Paris'

+ 

+ DEFAULT_LANG = u'en'

+ 

+ THEME = 'theme'

+ 

+ # Feed generation is usually not desired when developing

+ FEED_ALL_ATOM = None

+ CATEGORY_FEED_ATOM = None

+ TRANSLATION_FEED_ATOM = None

+ AUTHOR_FEED_ATOM = None

+ AUTHOR_FEED_RSS = None

+ 

+ # Blogroll

+ LINKS = (('Pelican', 'http://getpelican.com/'),

+          ('Python.org', 'http://python.org/'),

+          ('Jinja2', 'http://jinja.pocoo.org/'),

+          ('You can modify those links in your config file', '#'),)

+ 

+ # Social widget

+ SOCIAL = (('You can add links in your config file', '#'),

+           ('Another social link', '#'),)

+ 

+ DEFAULT_PAGINATION = False

+ 

+ PLUGIN_PATHS = ['plugins']

+ PLUGINS = ['asciidoc_reader', 'filetime_from_git', 'tipue_search', 'related_posts']

+ 

+ STATIC_PATHS = ['images']

+ 

+ DIRECT_TEMPLATES = (('index', 'tags', 'categories', 'authors', 'archives', 'search', 'all_articles'))

+ 

+ PAGINATED_DIRECT_TEMPLATES = ['index', 'all_articles']

+ 

+ # Uncomment following line if you want document-relative URLs when developing

+ RELATIVE_URLS = True

+ 

@@ -0,0 +1,49 @@ 

+ AsciiDoc Reader

+ ###############

+ 

+ This plugin allows you to use `AsciiDoc <http://www.methods.co.nz/asciidoc/>`_

+ to write your posts. File extension should be ``.asc``, ``.adoc``,

+ or ``.asciidoc``.

+ 

+ Dependency

+ ----------

+ 

+ There are two command line utilities commonly used to render AsciiDoc:

+ ``asciidoc`` and ``asciidoctor``. One of the two will need to be installed and

+ on the PATH.

+ 

+ **Note**: The ``asciidoctor`` utility is recommended since the original

+ ``asciidoc`` is no longer maintained.

+ 

+ Settings

+ --------

+ 

+ ========================================  =======================================================

+ Setting name (followed by default value)  What does it do?

+ ========================================  =======================================================

+ ``ASCIIDOC_CMD = asciidoc``               Selects which utility to use for rendering. Will

+                                           autodetect utility if not provided.

+ ``ASCIIDOC_OPTIONS = []``                 A list of options to pass to AsciiDoc. See the `manpage

+                                           <http://www.methods.co.nz/asciidoc/manpage.html>`_.

+ ========================================  =======================================================

+ 

+ Example file header

+ -------------------

+ 

+ Following the `example <https://github.com/getpelican/pelican/blob/master/docs/content.rst#file-metadata>`_ in the main pelican documentation:

+ 

+ .. code-block:: none

+ 

+   = My super title

+ 

+   :date: 2010-10-03 10:20

+   :modified: 2010-10-04 18:40

+   :tags: thats, awesome

+   :category: yeah

+   :slug: my-super-post

+   :authors: Alexis Metaireau, Conan Doyle

+   :summary: Short version for index and feeds

+ 

+   == title level 2

+ 

+   and so on...

@@ -0,0 +1,1 @@ 

+ from .asciidoc_reader import *

@@ -0,0 +1,89 @@ 

+ # -*- coding: utf-8 -*-

+ """

+ AsciiDoc Reader

+ ===============

+ 

+ This plugin allows you to use AsciiDoc to write your posts.

+ File extension should be ``.asc``, ``.adoc``, or ``asciidoc``.

+ """

+ 

+ from pelican.readers import BaseReader

+ from pelican import signals

+ import os

+ import re

+ import subprocess

+ 

+ def call(cmd):

+     """Calls a CLI command and returns the stdout as string."""

+     return subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True).communicate()[0].decode('utf-8')

+ 

+ def default():

+     """Attempt to find the default AsciiDoc utility."""

+     for cmd in ALLOWED_CMDS:

+         if len(call(cmd + " --help")):

+             return cmd

+ 

+ ALLOWED_CMDS = ["asciidoc", "asciidoctor"]

+ 

+ ENABLED = None != default()

+ 

+ class AsciiDocReader(BaseReader):

+     """Reader for AsciiDoc files."""

+ 

+     enabled = ENABLED

+     file_extensions = ['asc', 'adoc', 'asciidoc']

+     default_options = ['--no-header-footer']

+ 

+     def read(self, source_path):

+         """Parse content and metadata of AsciiDoc files."""

+         cmd = self._get_cmd()

+         content = ""

+         if cmd:

+             optlist = self.settings.get('ASCIIDOC_OPTIONS', []) + self.default_options

+             options = " ".join(optlist)

+             content = call("%s %s -o - %s" % (cmd, options, source_path))

+         metadata = self._read_metadata(source_path)

+         return content, metadata

+ 

+     def _get_cmd(self):

+         """Returns the AsciiDoc utility command to use for rendering or None if

+         one cannot be found."""

+         if self.settings.get('ASCIIDOC_CMD') in ALLOWED_CMDS:

+             return self.settings.get('ASCIIDOC_CMD')

+         return default()

+ 

+     def _read_metadata(self, source_path):

+         """Parses the AsciiDoc file at the given `source_path` and returns found

+         metadata."""

+         metadata = {}

+         with open(source_path) as fi:

+             prev = ""

+             for line in fi.readlines():

+                 # Parse for doc title.

+                 if 'title' not in metadata.keys():

+                     title = ""

+                     if line.startswith("= "):

+                         title = line[2:].strip()

+                     elif line.count("=") == len(prev.strip()):

+                         title = prev.strip()

+                     if title:

+                         metadata['title'] = self.process_metadata('title', title)

+ 

+                 # Parse for other metadata.

+                 regexp = re.compile(r"^:[A-z]+:\s*[A-z0-9]")

+                 if regexp.search(line):

+                     toks = line.split(":", 2)

+                     key = toks[1].strip().lower()

+                     val = toks[2].strip()

+                     if key == 'tags' or key == 'fedoraversions':

+                         val = val.split(',')

+                     metadata[key] = self.process_metadata(key, val)

+                 prev = line

+         return metadata

+ 

+ def add_reader(readers):

+     for ext in AsciiDocReader.file_extensions:

+         readers.reader_classes[ext] = AsciiDocReader

+ 

+ def register():

+     signals.readers_init.connect(add_reader)

@@ -0,0 +1,70 @@ 

+ # -*- coding: utf-8 -*-

+ from __future__ import unicode_literals

+ 

+ import datetime

+ import os

+ 

+ from pelican.readers import Readers

+ from pelican.tests.support import unittest, get_settings

+ 

+ from .asciidoc_reader import ENABLED

+ 

+ CUR_DIR = os.path.dirname(__file__)

+ CONTENT_PATH = os.path.join(CUR_DIR, 'test_data')

+ 

+ @unittest.skipUnless(ENABLED, "asciidoc isn't installed")

+ class AsciiDocReaderTest(unittest.TestCase):

+     def read_file(self, path, **kwargs):

+         # Isolate from future API changes to readers.read_file

+         r = Readers(settings=get_settings(**kwargs))

+         return r.read_file(base_path=CONTENT_PATH, path=path)

+ 

+     def test_article_with_asc_extension(self):

+         # Ensure the asc extension is being processed by the correct reader

+         page = self.read_file(

+             path='article_with_asc_extension.asc')

+         expected = ('<div class="sect1">'

+                     '<h2 id="_used_for_pelican_test">'

+                     'Used for pelican test</h2>'

+                     '<div class="sectionbody">'

+                     '<div class="paragraph">'

+                     '<p>The quick brown fox jumped over '

+                     'the lazy dog&#8217;s back.</p>'

+                     '</div></div></div>')

+         actual = "".join(page.content.splitlines())

+         expected = "".join(expected.splitlines())

+         self.assertEqual(actual, expected)

+         expected = {

+             'category': 'Blog',

+             'author': 'Author O. Article',

+             'title': 'Test AsciiDoc File Header',

+             'date': datetime.datetime(2011, 9, 15, 9, 5),

+             'tags': ['Linux', 'Python', 'Pelican'],

+         }

+         for key, value in expected.items():

+             self.assertEqual(value, page.metadata[key], (

+                 'Metadata attribute \'%s\' does not match expected value.\n'

+                 'Expected: %s\n'

+                 'Actual: %s') % (key, value, page.metadata[key]))

+ 

+     def test_article_with_asc_options(self):

+         # test to ensure the ASCIIDOC_OPTIONS is being used

+         page = self.read_file(path='article_with_asc_options.asc',

+             ASCIIDOC_OPTIONS=["-a revision=1.0.42"])

+         expected = ('<div class="sect1">'

+                     '<h2 id="_used_for_pelican_test">'

+                     'Used for pelican test</h2>'

+                     '<div class="sectionbody">'

+                     '<div class="paragraph">'

+                     '<p>version 1.0.42</p></div>'

+                     '<div class="paragraph">'

+                     '<p>The quick brown fox jumped over '

+                     'the lazy dog&#8217;s back.</p>'

+                     '</div></div></div>')

+         actual = "".join(page.content.splitlines())

+         expected = "".join(expected.splitlines())

+         self.assertEqual(actual, expected)

+ 

+ 

+ if __name__ == '__main__':

+     unittest.main()

@@ -0,0 +1,11 @@ 

+ Test AsciiDoc File Header

+ =========================

+ :Author: Author O. Article

+ :Email: <author@nowhere.com>

+ :Date: 2011-09-15 09:05

+ :Category: Blog

+ :Tags: Linux, Python, Pelican

+ 

+ == Used for pelican test

+ 

+ The quick brown fox jumped over the lazy dog's back.

@@ -0,0 +1,7 @@ 

+ = Test AsciiDoc File Header

+ 

+ == Used for pelican test

+ 

+ version {revision}

+ 

+ The quick brown fox jumped over the lazy dog's back.

@@ -0,0 +1,22 @@ 

+ Category Metadata

+ -----------------

+ 

+ A plugin to read metadata for each category from an index file in that

+ category's directory.

+ 

+ For this plugin to work properly, your articles should not have a

+ Category: tag in their metadata; instead, they should be stored in

+ (subdirectories of) per-category directories.  Each per-category

+ directory must have a file named 'index.ext' at its top level, where

+ .ext is any extension that will be picked up by an article reader.

+ The metadata of that article becomes the metadata for the category,

+ copied over verbatim, with three special cases:

+ 

+  * The category's name is set to the article's title.

+  * The category's slug is set to the name of the parent directory

+    of the index.ext file.

+  * The _text_ of the article is stored as category.description.

+ 

+ You can use this, for example, to control the slug used for each

+ category independently of its name, or to add a description at the top

+ of each category page.

@@ -0,0 +1,1 @@ 

+ from .category_meta import *

@@ -0,0 +1,130 @@ 

+ '''Copyright 2014, 2015 Zack Weinberg

+ 

+ Category Metadata

+ -----------------

+ 

+ A plugin to read metadata for each category from an index file in that

+ category's directory.

+ 

+ For this plugin to work properly, your articles should not have a

+ Category: tag in their metadata; instead, they should be stored in

+ (subdirectories of) per-category directories.  Each per-category

+ directory must have a file named 'index.ext' at its top level, where

+ .ext is any extension that will be picked up by an article reader.

+ The metadata of that article becomes the metadata for the category,

+ copied over verbatim, with three special cases:

+ 

+  * The category's name is set to the article's title.

+  * The category's slug is set to the name of the parent directory

+    of the index.ext file.

+  * The _text_ of the article is stored as category.description.

+ '''

+ 

+ from pelican import signals

+ import os

+ import re

+ 

+ import logging

+ logger = logging.getLogger(__name__)

+ 

+ ### CORE BUG: https://github.com/getpelican/pelican/issues/1547

+ ### Content.url_format does not honor category.slug (or author.slug).

+ ### The sanest way to work around this is to dynamically redefine each

+ ### article's class to a subclass of itself with the bug fixed.

+ ###

+ ### Core was fixed in rev 822fb134e041c6938c253dd4db71813c4d0dc74a,

+ ### which is not yet in any release, so we dynamically detect whether

+ ### the installed version of Pelican still has the bug.

+ 

+ patched_subclasses = {}

+ def make_patched_subclass(klass):

+     if klass.__name__ not in patched_subclasses:

+         class PatchedContent(klass):

+             @property

+             def url_format(self):

+                 metadata = super(PatchedContent, self).url_format

+                 if hasattr(self, 'author'):

+                     metadata['author'] = self.author.slug

+                 if hasattr(self, 'category'):

+                     metadata['category'] = self.category.slug

+ 

+                 return metadata

+         # Code in core uses Content class names as keys for things.

+         PatchedContent.__name__ = klass.__name__

+         patched_subclasses[klass.__name__] = PatchedContent

+     return patched_subclasses[klass.__name__]

+ 

+ def patch_urlformat(cont):

+     # Test whether this content object needs to be patched.

+     md = cont.url_format

+     if ((hasattr(cont, 'author') and cont.author.slug != md['author']) or

+         (hasattr(cont, 'category') and cont.category.slug != md['category'])):

+         logger.debug("Detected bug 1547, applying workaround.")

+         cont.__class__ = make_patched_subclass(cont.__class__)

+ 

+ ### END OF BUG WORKAROUND

+ 

+ def make_category(article, slug):

+     # Reuse the article's existing category object.

+     category = article.category

+ 

+     # Setting a category's name resets its slug, so do that first.

+     category.name = article.title

+     category.slug = slug

+     category.summary = article.summary

+ 

+     # Description from article text.

+     # XXX Relative URLs in the article content may not be handled correctly.

+     setattr(category, 'description', article.content)

+ 

+     # Metadata, to the extent that this makes sense.

+     for k, v in article.metadata.items():

+         if k not in ('path', 'slug', 'category', 'name', 'title',

+                      'description', 'reader'):

+             setattr(category, k, v)

+ 

+     logger.debug("Category: %s -> %s", category.slug, category.name)

+     return category

+ 

+ def pretaxonomy_hook(generator):

+     """This hook is invoked before the generator's .categories property is

+        filled in. Each article has already been assigned a category

+        object, but these objects are _not_ unique per category and so are

+        not safe to tack metadata onto (as is).

+ 

+        The category metadata we're looking for is represented as an

+        Article object, one per directory, whose filename is 'index.ext'.

+     """

+ 

+     category_objects = {}

+     real_articles = []

+ 

+     for article in generator.articles:

+         dirname, fname = os.path.split(article.source_path)

+         fname, _ = os.path.splitext(fname)

+         if fname == 'index':

+             category_objects[dirname] = \

+                 make_category(article, os.path.basename(dirname))

+         else:

+             real_articles.append(article)

+ 

+     category_assignment = \

+         re.compile("^(" +

+                    "|".join(re.escape(prefix)

+                             for prefix in category_objects.keys()) +

+                    ")/")

+ 

+     for article in real_articles:

+         m = category_assignment.match(article.source_path)

+         if not m or m.group(1) not in category_objects:

+             logger.error("No category assignment for %s (%s)",

+                          article, article.source_path)

+             continue

+ 

+         article.category = category_objects[m.group(1)]

+         patch_urlformat(article)

+ 

+     generator.articles = real_articles

+ 

+ def register():

+     signals.article_generator_pretaxonomy.connect(pretaxonomy_hook)

@@ -0,0 +1,60 @@ 

+ Use Git commit to determine page date

+ ======================================

+ If the blog content is managed by git repo, this plugin will set articles'

+ and pages' ``metadata['date']`` according to git commit. This plugin depends

+ on python package ``gitpython``, install::

+ 

+     pip install gitpython

+ 

+ The date is determined via the following logic:

+ 

+ * if a file is not tracked by Git, or a file is staged but never committed

+     - metadata['date'] = filesystem time

+     - metadata['modified'] = filesystem time

+ * if a file is tracked, but no changes in staging area or working directory

+     - metadata['date'] = first commit time

+     - metadata['modified'] = last commit time

+ * if a file is tracked, and has changes in stage area or working directory

+     - metadata['date'] = first commit time

+     - metadata['modified'] = filesystem time

+ 

+ When this module is enabled, ``date`` and ``modified`` will be determined

+ by Git status; no need to manually set in article/page metadata. And

+ operations like copy and move will not affect the generated results.

+ 

+ If you don't want a given article or page to use the Git time, set the

+ metadata to ``gittime: off`` to disable it.

+ 

+ Other options

+ -------------

+ 

+ ### GIT_HISTORY_FOLLOWS_RENAME (default True)

+ You can also set GIT_HISTORY_FOLLOWS_RENAME to True in your pelican config to 

+ make the plugin follow file renames i.e. ensure the creation date matches

+ the original file creation date, not the date is was renamed.

+ 

+ ### GIT_GENERATE_PERMALINK (default False)

+ Use in combination with permalink plugin to generate permalinks using the original

+ commit sha 

+ 

+ ### GIT_SHA_METADATA (default True)

+ Adds sha of current and oldest commit to metadata

+ 

+ ### GIT_FILETIME_FROM_GIT (default True)

+ Enable filetime from git behaviour

+ 

+ Content specific options

+ ------------------------

+ Adding metadata `gittime` = False will prevent the plugin trying to setting filetime for this

+ content.

+ 

+ Adding metadata `git_permalink` = False will prevent the plugin from adding permalink for this

+ content.

+ 

+ FAQ

+ ---

+ 

+ ### Q. I get a GitCommandError: 'git rev-list ...' when I run the plugin. What's up?

+ Be sure to use the correct gitpython module for your distros git binary.

+ Using the GIT_HISTORY_FOLLOWS_RENAME option to True may also make your problem go away as it uses

+ a different method to find commits.

@@ -0,0 +1,1 @@ 

+ from .registration import *

@@ -0,0 +1,108 @@ 

+ # -*- coding: utf-8 -*-

+ import base64

+ import hashlib

+ import os

+ import logging

+ from pelican.utils import strftime

+ from .utils import string_to_bool

+ from .utils import datetime_from_timestamp

+ from .registration import content_git_object_init

+ 

+ 

+ logger = logging.getLogger(__name__)

+ 

+ 

+ @content_git_object_init.connect

+ def filetime_from_git(content, git_content):

+     '''

+     Update modification and creation times from git

+     '''

+     if not content.settings['GIT_FILETIME_FROM_GIT']:

+         # Disabled for everything

+         return

+ 

+     if not string_to_bool(content.metadata.get('gittime', 'yes')):

+         # Disable for this content

+         return

+ 

+     path = content.source_path

+     fs_creation_time = datetime_from_timestamp(os.stat(path).st_ctime, content)

+     fs_modified_time = datetime_from_timestamp(os.stat(path).st_mtime, content)

+ 

+     # 1. file is not managed by git

+     #    date: fs time

+     # 2. file is staged, but has no commits

+     #    date: fs time

+     # 3. file is managed, and clean

+     #    date: first commit time, update: last commit time or None

+     # 4. file is managed, but dirty

+     #    date: first commit time, update: fs time

+     if git_content.is_managed_by_git():

+         if git_content.is_committed():

+             content.date = git_content.get_oldest_commit_date()

+ 

+             if git_content.is_modified():

+                 content.modified = fs_modified_time

+             else:

+                 content.modified = git_content.get_newest_commit_date()

+         else:

+             # File isn't committed

+             content.date = fs_creation_time

+     else:

+         # file is not managed by git

+         content.date = fs_creation_time

+ 

+     # Clean up content attributes

+     if not hasattr(content, 'modified'):

+         content.modified = content.date

+ 

+     if hasattr(content, 'date'):

+         content.locale_date = strftime(content.date, content.date_format)

+ 

+     if hasattr(content, 'modified'):

+         content.locale_modified = strftime(

+             content.modified, content.date_format)

+ 

+ 

+ @content_git_object_init.connect

+ def git_sha_metadata(content, git_content):

+     '''

+     Add sha metadata to content

+     '''

+     if not content.settings['GIT_SHA_METADATA']:

+         return

+ 

+     if not git_content.is_committed():

+         return

+ 

+     content.metadata['gitsha_newest'] = str(git_content.get_newest_commit())

+     content.metadata['gitsha_oldest'] = str(git_content.get_oldest_commit())

+ 

+ 

+ @content_git_object_init.connect

+ def git_permalink(content, git_content):

+     '''

+     Add git based permalink id to content metadata

+     '''

+     if not content.settings['GIT_GENERATE_PERMALINK']:

+         return

+ 

+     if not string_to_bool(content.metadata.get('git_permalink', 'yes')):

+         # Disable for this content

+         return

+ 

+     if not git_content.is_committed():

+         return

+ 

+     permalink_hash = hashlib.sha1()

+     permalink_hash.update(str(git_content.get_oldest_commit()))

+     permalink_hash.update(str(git_content.get_oldest_filename()))

+     git_permalink_id = base64.urlsafe_b64encode(permalink_hash.digest())

+     permalink_id_metadata_key = content.settings['PERMALINK_ID_METADATA_KEY']

+ 

+     if permalink_id_metadata_key in content.metadata:

+         content.metadata[permalink_id_metadata_key] = (

+             ','.join((

+                 content.metadata[permalink_id_metadata_key], git_permalink_id)))

+     else:

+         content.metadata[permalink_id_metadata_key] = git_permalink_id

@@ -0,0 +1,99 @@ 

+ # -*- coding: utf-8 -*-

+ """

+ Wraps a content object to provide some git information

+ """

+ import logging

+ from pelican.utils import memoized

+ from .git_wrapper import git_wrapper

+ 

+ DEV_LOGGER = logging.getLogger(__name__)

+ 

+ 

+ class GitContentAdapter(object):

+     """

+     Wraps a content object to provide some git information

+     """

+     def __init__(self, content):

+         self.content = content

+         self.git = git_wrapper('.')

+         self.tz_name = content.settings.get('TIMEZONE', None)

+         self.follow = content.settings['GIT_HISTORY_FOLLOWS_RENAME']

+ 

+     @memoized

+     def is_committed(self):

+         '''

+         Is committed

+         '''

+         return len(self.get_commits()) > 0

+ 

+     @memoized

+     def is_modified(self):

+         '''

+         Has content been modified since last commit

+         '''

+         return self.git.is_file_modified(self.content.source_path)

+ 

+     @memoized

+     def is_managed_by_git(self):

+         '''

+         Is content stored in a file managed by git

+         '''

+         return self.git.is_file_managed_by_git(self.content.source_path)

+ 

+     @memoized

+     def get_commits(self):

+         '''

+         Get all commits involving this filename

+         :returns: List of commits newest to oldest

+         '''

+         if not self.is_managed_by_git():

+             return []

+         return self.git.get_commits(self.content.source_path, self.follow)

+ 

+     @memoized

+     def get_oldest_commit(self):

+         '''

+         Get oldest commit involving this file

+ 

+         :returns: Oldest commit

+         '''

+         return self.git.get_commits(self.content.source_path, self.follow)[-1]

+ 

+     @memoized

+     def get_newest_commit(self):

+         '''

+         Get oldest commit involving this file

+ 

+         :returns: Newest commit

+         '''

+         return self.git.get_commits(self.content.source_path, follow=False)[0]

+ 

+     @memoized

+     def get_oldest_filename(self):

+         '''

+         Get the original filename of this content. Implies follow

+         '''

+         commit_and_name_iter = self.git.get_commits_and_names_iter(

+             self.content.source_path)

+         _commit, name = commit_and_name_iter.next()

+         return name

+ 

+     @memoized

+     def get_oldest_commit_date(self):

+         '''

+         Get datetime of oldest commit involving this file

+ 

+         :returns: Datetime of oldest commit

+         '''

+         oldest_commit = self.get_oldest_commit()

+         return self.git.get_commit_date(oldest_commit, self.tz_name)

+ 

+     @memoized

+     def get_newest_commit_date(self):

+         '''

+         Get datetime of newest commit involving this file

+ 

+         :returns: Datetime of newest commit

+         '''

+         newest_commit = self.get_newest_commit()

+         return self.git.get_commit_date(newest_commit, self.tz_name)

@@ -0,0 +1,162 @@ 

+ # -*- coding: utf-8 -*-

+ """

+ Wrap python git interface for compatibility with older/newer version

+ """

+ try:

+     from itertools import zip_longest

+ except ImportError:

+     from six.moves import zip_longest

+ import logging

+ import os

+ from time import mktime

+ from datetime import datetime

+ from pelican.utils import set_date_tzinfo

+ from git import Git, Repo

+ 

+ DEV_LOGGER = logging.getLogger(__name__)

+ 

+ 

+ def grouper(iterable, n, fillvalue=None):

+     '''

+     Collect data into fixed-length chunks or blocks

+     '''

+     # grouper('ABCDEFG', 3, 'x') --> ABC DEF Gxx

+     args = [iter(iterable)] * n

+     return zip_longest(fillvalue=fillvalue, *args)

+ 

+ 

+ class _GitWrapperCommon(object):

+     '''

+     Wrap git module to provide a more stable interface across versions

+     '''

+     def __init__(self, repo_path):

+         self.git = Git()

+         self.repo = Repo(os.path.abspath('.'))

+ 

+     def is_file_managed_by_git(self, path):

+         '''

+         :param path: Path to check

+         :returns: True if path is managed by git

+         '''

+         status, _stdout, _stderr = self.git.execute(

+             ['git', 'ls-files', path, '--error-unmatch'],

+             with_extended_output=True,

+             with_exceptions=False)

+         return status == 0

+ 

+     def is_file_modified(self, path):

+         '''

+         Does a file have local changes not yet committed

+ 

+         :returns: True if file has local changes

+         '''

+         status, _stdout, _stderr = self.git.execute(

+             ['git', 'diff', '--quiet', 'HEAD', path],

+             with_extended_output=True,

+             with_exceptions=False)

+         return status != 0

+ 

+     def get_commits_following(self, path):

+         '''

+         Get all commits including path following the file through

+         renames

+ 

+         :param path: Path which we will find commits for

+         :returns: Sequence of commit objects. Newest to oldest

+         '''

+         return [

+             commit for commit, _ in self.get_commits_and_names_iter(

+                 path)]

+ 

+     def get_commits_and_names_iter(self, path):

+         '''

+         Get all commits including a given path following renames

+         '''

+         log_result = self.git.log(

+             '--pretty=%H',

+             '--follow',

+             '--name-only',

+             '--',

+             path).splitlines()

+ 

+         for commit_sha, _, filename in grouper(log_result, 3):

+             yield self.repo.commit(commit_sha), filename

+ 

+     def get_commits(self, path, follow=False):

+         '''

+         Get all commits including path

+ 

+         :param path: Path which we will find commits for

+         :param bool follow: If True we will follow path through renames

+ 

+         :returns: Sequence of commit objects. Newest to oldest

+         '''

+         if follow:

+             return self.get_commits_following(path)

+         else:

+             return self._get_commits(path)

+ 

+ 

+ class _GitWrapperLegacy(_GitWrapperCommon):

+     def _get_commits(self, path):

+         '''

+         Get all commits including path without following renames

+ 

+         :param path: Path which we will find commits for

+ 

+         :returns: Sequence of commit objects. Newest to oldest

+         '''

+         return self.repo.commits(path=path)

+ 

+     @staticmethod

+     def get_commit_date(commit, tz_name):

+         '''

+         Get datetime of commit comitted_date

+         '''

+         return set_date_tzinfo(

+             datetime.fromtimestamp(mktime(commit.committed_date)),

+             tz_name=tz_name)

+ 

+ 

+ class _GitWrapper(_GitWrapperCommon):

+     def _get_commits(self, path):

+         '''

+         Get all commits including path without following renames

+ 

+         :param path: Path which we will find commits for

+ 

+         :returns: Sequence of commit objects. Newest to oldest

+ 

+         .. NOTE ::

+             If this fails it could be that your gitpython version is out of sync with the git

+             binary on your distro. Make sure you use the correct gitpython version.

+ 

+             Alternatively enabling GIT_FILETIME_FOLLOW may also make your problem go away.

+         '''

+         return list(self.repo.iter_commits(paths=path))

+ 

+     @staticmethod

+     def get_commit_date(commit, tz_name):

+         '''

+         Get datetime of commit comitted_date

+         '''

+         return set_date_tzinfo(

+             datetime.fromtimestamp(commit.committed_date),

+             tz_name=tz_name)

+ 

+ 

+ _wrapper_cache = {}

+ 

+ 

+ def git_wrapper(path):

+     '''

+     Get appropriate wrapper factory and cache instance for path

+     '''

+     path = os.path.abspath(path)

+     if path not in _wrapper_cache:

+         if hasattr(Repo, 'commits'):

+             _wrapper_cache[path] = _GitWrapperLegacy(path)

+         else:

+             _wrapper_cache[path] = _GitWrapper(path)

+ 

+     return _wrapper_cache[path]

@@ -0,0 +1,30 @@ 

+ # -*- coding: utf-8 -*-

+ """

+ Handle registration and setup for plugin

+ """

+ import logging

+ from blinker import signal

+ from .content_adapter import GitContentAdapter

+ from pelican import signals

+ 

+ DEV_LOGGER = logging.getLogger(__name__)

+ 

+ content_git_object_init = signal('content_git_object_init')

+ 

+ def send_content_git_object_init(content):

+     content_git_object_init.send(content, git_content=GitContentAdapter(content))

+ 

+ 

+ def setup_option_defaults(pelican_inst):

+     pelican_inst.settings.setdefault('GIT_FILETIME_FROM_GIT', True)

+     pelican_inst.settings.setdefault('GIT_HISTORY_FOLLOWS_RENAME', True)

+     pelican_inst.settings.setdefault('GIT_SHA_METADATA', True)

+     pelican_inst.settings.setdefault('GIT_GENERATE_PERMALINK', False)

+ 

+ 

+ def register():

+     signals.content_object_init.connect(send_content_git_object_init)

+     signals.initialized.connect(setup_option_defaults)

+ 

+     # Import actions

+     from . import actions

@@ -0,0 +1,39 @@ 

+ # -*- coding: utf-8 -*-

+ """

+ Utility functions

+ """

+ from datetime import datetime

+ import logging

+ from pelican.utils import set_date_tzinfo

+ 

+ DEV_LOGGER = logging.getLogger(__name__)

+ 

+ 

+ STRING_BOOLS = {

+     'yes': True,

+     'no': False,

+     'true': True,

+     'false': False,

+     '0': False,

+     '1': True,

+     'on': True,

+     'off': False,

+ }

+ 

+ 

+ def string_to_bool(string):

+     '''

+     Convert a string to a bool based

+     '''

+     return STRING_BOOLS[string.strip().lower()]

+ 

+ 

+ def datetime_from_timestamp(timestamp, content):

+     """

+     Helper function to add timezone information to datetime,

+     so that datetime is comparable to other datetime objects in recent versions

+     that now also have timezone information.

+     """

+     return set_date_tzinfo(

+         datetime.fromtimestamp(timestamp),

+         tz_name=content.settings.get('TIMEZONE', None))

@@ -0,0 +1,34 @@ 

+ Related posts

+ -------------

+ 

+ This plugin adds the ``related_posts`` variable to the article's context.

+ By default, up to 5 articles are listed. You can customize this value by 

+ defining ``RELATED_POSTS_MAX`` in your settings file::

+ 

+     RELATED_POSTS_MAX = 10

+ 

+ You can then use the ``article.related_posts`` variable in your templates.

+ For example::

+ 

+     {% if article.related_posts %}

+         <ul>

+         {% for related_post in article.related_posts %}

+             <li><a href="{{ SITEURL }}/{{ related_post.url }}">{{ related_post.title }}</a></li>

+         {% endfor %}

+         </ul>

+     {% endif %}

+ 

+ 

+ Your related posts should share a common tag. You can also use ``related_posts:`` in your post's meta data.

+ The 'related_posts:' meta data works together with your existing slugs::

+ 

+     related_posts: slug1, slug2, slug3, ... slugN

+ 

+ ``N`` represents the ``RELATED_POSTS_MAX``.

+ 

+ Additionally, you can specify::

+ 

+     RELATED_POSTS_SKIP_SAME_CATEGORY = True

+ 

+ in your settings file. With this setting, ``article.related_posts`` will

+ contain only related posts from categories other than the original article's.

@@ -0,0 +1,1 @@ 

+ from .related_posts import *

@@ -0,0 +1,56 @@ 

+ """

+ Related posts plugin for Pelican

+ ================================

+ 

+ Adds related_posts variable to article's context

+ """

+ 

+ from pelican import signals

+ from collections import Counter

+ from itertools import chain

+ 

+ 

+ def add_related_posts(generator):

+     # get the max number of entries from settings

+     # or fall back to default (5)

+     numentries = generator.settings.get('RELATED_POSTS_MAX', 5)

+     # Skip all posts in the same category as the article

+     skipcategory = generator.settings.get('RELATED_POSTS_SKIP_SAME_CATEGORY', False)

+     for article in chain(generator.articles, generator.drafts):

+         # set priority in case of forced related posts

+         if hasattr(article,'related_posts'):

+             # split slugs 

+             related_posts = article.related_posts.split(',')

+             posts = [] 

+             # get related articles

+             for slug in related_posts:

+                 i = 0

+                 slug = slug.strip()

+                 for a in generator.articles:

+                     if i >= numentries: # break in case there are max related psots

+                         break

+                     if a.slug == slug:

+                         posts.append(a)

+                         i += 1

+ 

+             article.related_posts = posts

+         else:

+             # no tag, no relation

+             if not hasattr(article, 'tags'):

+                 continue

+ 

+             # score = number of common tags

+             related = chain(*(generator.tags[tag] for tag in article.tags))

+             if skipcategory:

+                 related = (other for other in related

+                                  if other.category != article.category)

+             scores = Counter(related)

+ 

+             # remove itself

+             scores.pop(article, None)

+ 

+             article.related_posts = [other for other, count 

+                 in scores.most_common(numentries)]

+ 

+ def register():

+     signals.article_generator_finalized.connect(add_related_posts)

@@ -0,0 +1,67 @@ 

+ Tipue Search

+ ============

+ 

+ A Pelican plugin to serialize generated HTML to JSON that can be used by jQuery plugin - Tipue Search.

+ 

+ Copyright (c) Talha Mansoor

+ 

+ Author          | Talha Mansoor

+ ----------------|-----

+ Author Email    | talha131@gmail.com 

+ Author Homepage | http://onCrashReboot.com 

+ Github Account  | https://github.com/talha131 

+ 

+ Why do you need it?

+ ===================

+ 

+ Static sites do not offer search feature out of the box. [Tipue Search](http://www.tipue.com/search/)

+ is a jQuery plugin that search the static site without using any third party service, like DuckDuckGo or Google.

+ 

+ Tipue Search offers 4 search modes. Its [JSON search mode](http://www.tipue.com/search/docs/json/) is the best search mode

+ especially for large sites.

+ 

+ Tipue's JSON search mode requires the textual content of site in JSON format.

+ 

+ Requirements

+ ============

+ 

+ Tipue Search requires BeautifulSoup.

+ 

+ ```bash

+ pip install beautifulsoup4

+ ```

+ 

+ How Tipue Search works

+ =========================

+ 

+ Tipue Search serializes the generated HTML into JSON. Format of JSON is as follows

+ 

+ ```python

+ {

+     "pages": [

+         { 

+             "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet. Duis sagittis ipsum. Praesent mauris. Fusce nec tellus sed augue semper porta. Mauris massa. Vestibulum lacinia arcu eget nulla. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Curabitur sodales ligula in libero.",

+             "tags": "Example Category",

+             "url" : "http://oncrashreboot.com/plugin-example.html",

+             "title": "Everything you want to know about Lorem Ipsum"

+         },

+         { 

+             "text": "Sed dignissim lacinia nunc. Curabitur tortor. Pellentesque nibh. Aenean quam. In scelerisque sem at dolor. Maecenas mattis. Sed convallis tristique sem. Proin ut ligula vel nunc egestas porttitor. Morbi lectus risus, iaculis vel, suscipit quis, luctus non, massa. Fusce ac turpis quis ligula lacinia aliquet. Mauris ipsum. Nulla metus metus, ullamcorper vel, tincidunt sed, euismod in, nibh.",

+             "tags": "Example Category",

+             "url" : "http://oncrashreboot.com/plugin-example-2.html",

+             "title": "Review of the book Lorem Ipsum"

+         }

+     ]

+ }

+ ```

+ 

+ JSON is written to file `tipuesearch_content.json` which is created in the root of `output` directory.

+ 

+ How to use

+ ==========

+ 

+ To utilize JSON Search mode, your theme needs to have Tipue Search properly configured in it. [Official documentation](http://www.tipue.com/search/docs/#json) has the required details.

+ 

+ Pelican [Elegant Theme](https://github.com/talha131/pelican-elegant) and [Plumage

+ theme](https://github.com/kdeldycke/plumage) have Tipue Search configured. You can view their

+ code to understand the configuration.

@@ -0,0 +1,1 @@ 

+ from .tipue_search import *

@@ -0,0 +1,114 @@ 

+ # -*- coding: utf-8 -*-

+ """

+ Tipue Search

+ ============

+ 

+ A Pelican plugin to serialize generated HTML to JSON

+ that can be used by jQuery plugin - Tipue Search.

+ 

+ Copyright (c) Talha Mansoor

+ """

+ 

+ from __future__ import unicode_literals

+ 

+ import os.path

+ import json

+ from bs4 import BeautifulSoup

+ from codecs import open

+ try:

+     from urlparse import urljoin

+ except ImportError:

+     from urllib.parse import urljoin

+ 

+ from pelican import signals

+ 

+ 

+ class Tipue_Search_JSON_Generator(object):

+ 

+     def __init__(self, context, settings, path, theme, output_path, *null):

+ 

+         self.output_path = output_path

+         self.context = context

+         self.siteurl = settings.get('SITEURL')

+         self.tpages = settings.get('TEMPLATE_PAGES')

+         self.output_path = output_path

+         self.json_nodes = []

+ 

+ 

+     def create_json_node(self, page):

+ 

+         if getattr(page, 'status', 'published') != 'published':

+             return

+ 

+         soup_title = BeautifulSoup(page.title.replace('&nbsp;', ' '), 'html.parser')

+         page_title = soup_title.get_text(' ', strip=True).replace('“', '"').replace('”', '"').replace('’', "'").replace('^', '&#94;')

+ 

+         soup_text = BeautifulSoup(page.content, 'html.parser')

+         page_text = soup_text.get_text(' ', strip=True).replace('“', '"').replace('”', '"').replace('’', "'").replace('¶', ' ').replace('^', '&#94;')

+         page_text = ' '.join(page_text.split())

+ 

+         if getattr(page, 'category', 'None') == 'None':

+             page_category = ''

+         else:

+             page_category = page.category.name

+ 

+         page_url = self.siteurl + '/' + page.url

+ 

+         node = {'title': page_title,

+                 'text': page_text,

+                 'tags': page_category,

+                 'url': page_url}

+ 

+         self.json_nodes.append(node)

+ 

+ 

+     def create_tpage_node(self, srclink):

+ 

+         srcfile = open(os.path.join(self.output_path, self.tpages[srclink]), encoding='utf-8')

+         soup = BeautifulSoup(srcfile, 'html.parser')

+         page_text = soup.get_text()

+ 

+         # What happens if there is not a title.

+         if soup.title is not None:

+             page_title = soup.title.string

+         else:

+             page_title = ''

+ 

+         # Should set default category?

+         page_category = ''

+ 

+         page_url = urljoin(self.siteurl, self.tpages[srclink])

+ 

+         node = {'title': page_title,

+                 'text': page_text,

+                 'tags': page_category,

+                 'url': page_url}

+ 

+         self.json_nodes.append(node)

+ 

+ 

+     def generate_output(self, writer):

+         path = os.path.join(self.output_path, 'tipuesearch_content.json')

+ 

+         pages = self.context['pages'] + self.context['articles']

+ 

+         for article in self.context['articles']:

+             pages += article.translations

+ 

+         for srclink in self.tpages:

+             self.create_tpage_node(srclink)

+ 

+         for page in pages:

+             self.create_json_node(page)

+         root_node = {'pages': self.json_nodes}

+ 

+         with open(path, 'w', encoding='utf-8') as fd:

+             json.dump(root_node, fd, separators=(',', ':'), ensure_ascii=False)

+ 

+ 

+ def get_generators(generators):

+     return Tipue_Search_JSON_Generator

+ 

+ 

+ def register():

+     signals.get_generators.connect(get_generators)

file added
+24
@@ -0,0 +1,24 @@ 

+ #!/usr/bin/env python

+ # -*- coding: utf-8 -*- #

+ from __future__ import unicode_literals

+ 

+ # This file is only used if you use `make publish` or

+ # explicitly specify it as your config file.

+ 

+ import os

+ import sys

+ sys.path.append(os.curdir)

+ from pelicanconf import *

+ 

+ SITEURL = ''

+ RELATIVE_URLS = False

+ 

+ FEED_ALL_ATOM = 'feeds/all.atom.xml'

+ CATEGORY_FEED_ATOM = 'feeds/%s.atom.xml'

+ 

+ DELETE_OUTPUT_DIRECTORY = True

+ 

+ # Following items are often useful when publishing

+ 

+ #DISQUS_SITENAME = ""

+ #GOOGLE_ANALYTICS = ""

@@ -0,0 +1,590 @@ 

+ @import url(https://maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css);

+ /* ------------------------------------------------------------

+ Image: "Spin" https://www.flickr.com/photos/eflon/3655695161/

+ Author: eflon https://www.flickr.com/photos/eflon/

+ License: https://creativecommons.org/licenses/by/2.0/

+ ---------------------------------------------------------------*/

+ .attribution {

+   text-align: center;

+   position: relative;

+   bottom: -20px;

+ }

+ .attribution .btn {

+   color: #808080;

+   color: rgba(175,175,175, .65);

+   font-size: 11px;

+ }

+ .attribution .btn:hover {

+   text-decoration: none;

+   color: #aaa;

+ }

+ .popover-content {

+   font-size: 12px;

+   line-height: 1.3;

+   font-weight: normal;

+ }

+ 

+ @media screen and (max-width: 980px) {

+   body {

+     margin-bottom: 200px;

+   }

+   footer {

+     text-align: center;

+   }

+   footer .text-right {

+     text-align: center !important;

+   }

+   #footer_social .first {

+     margin-left: 0;

+   }

+   #footer_social > a {

+     top: 24px;

+   }

+ }

+ 

+ .fa-inverse:hover {

+   color: #ccc;

+ }

+ 

+ .collapse a.active {

+   background-color: #DEEAF4;

+   color: #000;

+   position: relative;

+ }

+ 

+ .collapse a.active:hover {

+   text-decoration: none;

+ }

+ 

+ .collapse a.active:before {

+   background-color: #A0C3E5;

+   content: "";

+   display: inline-block;

+   height: 100%;

+   left: 0;

+   position: absolute;

+   top: 0;

+   width: 3px;

+ }

+ 

+ .main h2, .main .h2 {

+   border-top: 0px;

+   padding-top: 10px;

+   font-size: 28px;

+ }

+ 

+ .page-header .img-responsive {

+   display: inline;

+ }

+ 

+ .docs-content h1,

+ .docs-content h2,

+ .docs-content h3,

+ .docs-content h4,

+ .docs-content h5,

+ .docs-content h6

+  {

+   font-weight: bold;

+   color: #444;

+ }

+ 

+ .docs-content h1{

+   font-size: 1.5rem

+ }

+ .docs-content h2{

+   font-size: 1.3rem

+ }

+ .docs-content h3{

+   font-size: 1.1rem

+ }

+ .docs-content h4,

+ .docs-content h5,

+ .docs-content h6{

+   font-size: 1rem;

+ }

+ 

+ .docs-content .page-header h1 {

+   line-height: 1.5rem;

+   padding-bottom: 0.2em;

+   margin-bottom: 0.7em;

+   border-bottom: 1px solid #ccc;

+ 

+ }

+ 

+ 

+ nav .breadcrumb{

+   background: none;

+   font-size:0.8em;

+   padding-left:10px;

+   padding-bottom:0px;

+ }

+ 

+ .nav > li  > a.hover{

+   background-color: none;

+ }

+ 

+ .breadcrumb-item + .breadcrumb-item::before{

+   content: '\f054';

+   font-family: FontAwesome;

+   font-size: 0.8em;

+ }

+ 

+ h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {

+   position: relative;

+ }

+ 

+ h2 > a.anchor, h3 > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor {

+   display: block;

+   font-weight: normal;

+   margin-left: -1.5ex;

+   position: absolute;

+   text-align: center;

+   text-decoration: none !important;

+   visibility: hidden;

+   width: 1.5ex;

+   z-index: 1001;

+ }

+ 

+ h2 > a.anchor:before, h3 > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before {

+   content: "\f0c1";

+   display: block;

+   font-family: FontAwesome;

+   font-size: 0.7em;

+   -webkit-font-smoothing: antialiased;

+   -moz-osx-font-smoothing: grayscale;

+   padding-top: 0.2em;

+ }

+ 

+ h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before {

+   font-size: 1em;

+ }

+ 

+ h2:hover > a.anchor,

+ h2 > a.anchor:hover,

+ h3:hover > a.anchor,

+ h3 > a.anchor:hover,

+ h4:hover > a.anchor,

+ h4 > a.anchor:hover,

+ h5:hover > a.anchor,

+ h5 > a.anchor:hover,

+ h6:hover > a.anchor,

+ h6 > a.anchor:hover {

+   visibility: visible;

+ }

+ 

+ .main {

+   border-left: 1px solid #e7e7e7;

+   margin-left: -1px;

+   padding-left: 25px;

+ }

+ 

+ 

+ @media (min-width: 768px) {

+   .main {

+     padding-left: 30px;

+   }

+ }

+ 

+ .masthead, .footer{

+   position: relative;

+   z-index: 1;

+ }

+ 

+ .footer a{

+   color:#aaa

+ }

+ 

+ .footer{

+   font-size:0.8em;

+ }

+ 

+ .footer h3{

+   font-size:1.3em;

+   font-weight: bold;

+   text-transform: uppercase;

+ }

+ 

+ /*

+  * Sidebar

+  */

+ 

+  .docs-sidebar{

+   background: #eee;

+   box-shadow: -3000px 0 0 3000px #eee;

+  }

+ 

+ .nav-header {

+   font-size: 16px;

+ }

+ 

+ .nav-header ul {

+   font-size: 14px;

+   padding-left:1em;

+ }

+ 

+ .nav-header ul li a {

+   display: block;

+   padding: 3px 0px 4px 7px;

+   font-size: 13px;

+   font-weight: normal;

+ }

+ 

+ .nav-sidebar .fa {

+   text-align: center;

+   top: -1px;

+   width: 14px;

+ }

+ 

+ .docs-sidebar li a {

+   color: #555;

+ }

+ 

+ .nav-sidebar li a:hover {

+   color: #000;

+ }

+ 

+ .nav-sidebar ul li ul.nav-tertiary li a {

+   padding-left: 50px;

+ }

+ 

+ .nav-sidebar > li > a {

+   padding: 7px 0;

+ }

+ 

+ .nav-sidebar > li > a:focus, .nav-sidebar > li > a:hover {

+   background: transparent;

+ }

+ 

+ .sidebar {

+   font-weight: 300;

+   display: none;

+   padding-top: 13px;

+ }

+ 

+ @media screen and (max-width: 767px) {

+   .sidebar {

+     padding-left: 30px;

+     padding-right: 0;

+   }

+ }

+ 

+ @media screen and (min-width: 768px) {

+   .sidebar {

+     border-right: 1px solid #e7e7e7;

+     display: block;

+   }

+ }

+ 

+  /* Remnants of Asciidoctor default stylesheet - remove styles as needed */

+ 

+ #map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; }

+ .left { float: left !important; }

+ .right { float: right !important; }

+ .text-left { text-align: left !important; }

+ .text-right { text-align: right !important; }

+ .text-center { text-align: center !important; }

+ .text-justify { text-align: justify !important; }

+ .hide { display: none; }

+ .subheader, #content #toctitle, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: #7a2518; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; }

+ abbr, acronym { text-transform: uppercase; font-size: 90%; color: #333333; border-bottom: 1px dotted #dddddd; cursor: help; }

+ abbr { text-transform: none; }

+ blockquote { margin: 0 0 1.25em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 3px solid #487c58; }

+ blockquote cite { display: block; font-size: inherit; color: #454545; }

+ blockquote cite:before { content: "\2014 \0020"; }

+ blockquote cite a, blockquote cite a:visited { color: #454545; }

+ blockquote, blockquote p { line-height: 1.6; color: #6e6e6e; }

+ @media only screen and (min-width: 768px) {

+   #toctitle, .sidebarblock > .content > .title { line-height: 1.4; }

+   #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; }

+ }

+ table { background: white; margin-bottom: 1.25em; border: solid 1px #dddddd; }

+ table thead, table tfoot { background: whitesmoke; font-weight: bold; }

+ table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #333333; text-align: left; }

+ table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #333333; }

+ table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f9f9f9; }

+ table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.6; }

+ .clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; }

+ .clearfix:after, .float-group:after { clear: both; }

+ *:not(pre) > code { font-size: inherit; padding: 0; white-space: nowrap; background-color: inherit; border: 0 solid #dddddd; -webkit-border-radius: 4px; border-radius: 4px; text-shadow: none; line-height: 1; }

+ .keyseq { color: #666666; }

+ kbd:not(.keyseq) { display: inline-block; color: #333333; font-size: 0.75em; line-height: 1.4; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 2px white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 2px white inset; margin: -0.15em 0.15em 0 0.15em; padding: 0.2em 0.6em 0.2em 0.5em; vertical-align: middle; white-space: nowrap; }

+ .keyseq kbd:first-child { margin-left: 0; }

+ .keyseq kbd:last-child { margin-right: 0; }

+ .menuseq, .menu { color: #1a1a1a; }

+ b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; }

+ b.button:before { content: "["; padding: 0 3px 0 2px; }

+ b.button:after { content: "]"; padding: 0 2px 0 3px; }

+ p a > code:hover { color: #561309; }

+ #header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 0.9375em; padding-right: 0.9375em; }

+ #header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; }

+ #header:after, #content:after, #footnotes:after, #footer:after { clear: both; }

+ #content:before { content: none; }

+ #header { margin-bottom: 2.5em; }

+ #header > h1 { color: black; font-weight: 300; border-bottom: 1px solid #d8d8d8; margin-bottom: -28px; padding-bottom: 32px; }

+ #header span { color: #6e6e6e; }

+ #header #revnumber { text-transform: capitalize; }

+ #header br { display: none; }

+ #header br + span { padding-left: 3px; }

+ #header br + span:before { content: "\2013 \0020"; }

+ #header br + span.author { padding-left: 0; }

+ #header br + span.author:before { content: ", "; }

+ #toc { border-bottom: 3px double #e5e5e5; padding-top: 1em; padding-bottom: 1.25em; }

+ #toc > ul { margin-left: 0.25em; }

+ #toc ul.sectlevel0 > li > a { font-style: italic; }

+ #toc ul.sectlevel0 ul.sectlevel1 { margin-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; }

+ #toc ul { font-family: "Open Sans", "DejaVu Sans", "Sans", sans-serif; list-style-type: none; }

+ #toc a { text-decoration: none; }

+ #toc a:active { text-decoration: underline; }

+ #toctitle { color: #7a2518; }

+ @media only screen and (min-width: 768px) { body.toc2 { padding-left: 15em; padding-right: 0; }

+   #toc.toc2 { background-color: #fafaf9; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #e5e5e5; border-bottom: 0; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; }

+   #toc.toc2 #toctitle { margin-top: 0; font-size: 1.2em; }

+   #toc.toc2 > ul { font-size: .90em; margin-bottom: 0; }

+   #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; }

+   #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; }

+   body.toc2.toc-right { padding-left: 0; padding-right: 15em; }

+   body.toc2.toc-right #toc.toc2 { border-right: 0; border-left: 1px solid #e5e5e5; left: auto; right: 0; } }

+ @media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; }

+   #toc.toc2 { width: 20em; }

+   #toc.toc2 #toctitle { font-size: 1.375em; }

+   #toc.toc2 > ul { font-size: 0.95em; }

+   #toc.toc2 ul ul { padding-left: 1.25em; }

+   body.toc2.toc-right { padding-left: 0; padding-right: 20em; } }

+ #content #toc { border-style: solid; border-width: 1px; border-color: #e3e3dd; margin-bottom: 1.25em; padding: 1.25em; background: #fafaf9; border-width: 0; -webkit-border-radius: 4px; border-radius: 4px; }

+ #content #toc > :first-child { margin-top: 0; }

+ #content #toc > :last-child { margin-bottom: 0; }

+ #content #toctitle { font-size: 1.375em; }

+ #footer { max-width: 100%; background-color: #333333; padding: 1.25em; }

+ #footer-text { color: #cccccc; line-height: 1.44; }

+ .audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .verseblock, .videoblock { margin-bottom: 2.5em; }

+ .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; font-family: "Noto Serif", "DejaVu Serif", "Serif", serif; font-weight: normal; font-style: italic; }

+ table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; }

+ table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; }

+ .admonitionblock > table { border: 0; background: none; width: 100%; }

+ .admonitionblock > table td.icon { text-align: center; width: 80px; }

+ .admonitionblock > table td.icon img { max-width: none; }

+ .admonitionblock > table td.icon .title { font-weight: 300; text-transform: uppercase; }

+ .admonitionblock > table td.content { padding-left: 0; padding-right: 1.25em; color: #6e6e6e; }

+ .admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; }

+ .exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: white; -webkit-border-radius: 4px; border-radius: 4px; }

+ .exampleblock > .content > :first-child { margin-top: 0; }

+ .exampleblock > .content > :last-child { margin-bottom: 0; }

+ .exampleblock > .content h1, .exampleblock > .content h2, .exampleblock > .content h3, .exampleblock > .content #toctitle, .sidebarblock.exampleblock > .content > .title, .exampleblock > .content h4, .exampleblock > .content h5, .exampleblock > .content h6, .exampleblock > .content p { color: #333333; }

+ .exampleblock > .content h1, .exampleblock > .content h2, .exampleblock > .content h3, .exampleblock > .content #toctitle, .sidebarblock.exampleblock > .content > .title, .exampleblock > .content h4, .exampleblock > .content h5, .exampleblock > .content h6 { line-height: 1; margin-bottom: 0.625em; }

+ .exampleblock > .content h1.subheader, .exampleblock > .content h2.subheader, .exampleblock > .content h3.subheader, .exampleblock > .content .subheader#toctitle, .sidebarblock.exampleblock > .content > .subheader.title, .exampleblock > .content h4.subheader, .exampleblock > .content h5.subheader, .exampleblock > .content h6.subheader { line-height: 1.4; }

+ .exampleblock.result > .content { -webkit-box-shadow: 0 1px 8px #e3e3dd; box-shadow: 0 1px 8px #e3e3dd; }

+ .sidebarblock { border-style: solid; border-width: 1px; border-color: #e3e3dd; margin-top: -1.0em; margin-bottom: 1.6em; margin-left: 1em; padding: .5em; background: #F1F3F5; -webkit-border-radius: 4px; border-radius: 4px; overflow-x: auto; float: right; width: 40%; }

+ .sidebarblock > :first-child { margin-top: 0; }

+ .sidebarblock > :last-child { margin-bottom: 0; }

+ .sidebarblock h1, .sidebarblock h2, .sidebarblock h3, .sidebarblock #toctitle, .sidebarblock > .content > .title, .sidebarblock h4, .sidebarblock h5, .sidebarblock h6, .sidebarblock p { color: #333333; }

+ .sidebarblock h1, .sidebarblock h2, .sidebarblock h3, .sidebarblock #toctitle, .sidebarblock > .content > .title, .sidebarblock h4, .sidebarblock h5, .sidebarblock h6 { line-height: 1; margin-bottom: 0.625em; }

+ .sidebarblock h1.subheader, .sidebarblock h2.subheader, .sidebarblock h3.subheader, .sidebarblock .subheader#toctitle, .sidebarblock > .content > .subheader.title, .sidebarblock h4.subheader, .sidebarblock h5.subheader, .sidebarblock h6.subheader { line-height: 1.4; }

+ .sidebarblock > .content > .title { color: inherit; font-size: 28px; font-weight: 500; margin-top: 0; line-height: 1.6; }

+ .width50 { width: 50% ! important}

+ .exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; }

+ .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 0px; background-color: #F0F3F5; -webkit-border-radius: 5px; border-radius: 5px; padding: 1.5em 2.5em; word-wrap: break-word; }

+ .literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; }

+ .literalblock pre > code, .literalblock pre[class] > code, .listingblock pre > code, .listingblock pre[class] > code { display: block; }

+ .listingblock > .content { position: relative; }

+ .listingblock:hover code[class*=" language-"]:before { text-transform: uppercase; font-size: 0.9em; color: #999; position: absolute; top: 0.375em; right: 0.375em; }

+ .listingblock:hover code.asciidoc:before { content: "asciidoc"; }

+ .listingblock:hover code.clojure:before { content: "clojure"; }

+ .listingblock:hover code.css:before { content: "css"; }

+ .listingblock:hover code.go:before { content: "go"; }

+ .listingblock:hover code.groovy:before { content: "groovy"; }

+ .listingblock:hover code.html:before { content: "html"; }

+ .listingblock:hover code.java:before { content: "java"; }

+ .listingblock:hover code.javascript:before { content: "javascript"; }

+ .listingblock:hover code.python:before { content: "python"; }

+ .listingblock:hover code.ruby:before { content: "ruby"; }

+ .listingblock:hover code.sass:before { content: "sass"; }

+ .listingblock:hover code.scss:before { content: "scss"; }

+ .listingblock:hover code.xml:before { content: "xml"; }

+ .listingblock:hover code.yaml:before { content: "yaml"; }

+ .listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; }

+ .listingblock.terminal pre .command:not([data-prompt]):before { content: '$'; }

+ table.pyhltable { border: 0; margin-bottom: 0; }

+ table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; }

+ table.pyhltable td.code { padding-left: .75em; padding-right: 0; }

+ .highlight.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #d8d8d8; }

+ .highlight.pygments .lineno { display: inline-block; margin-right: .25em; }

+ table.pyhltable .linenodiv { background-color: transparent !important; padding-right: 0 !important; }

+ .quoteblock { margin: 0 0 1.25em 0; padding: 0.5625em 1.25em 0 1.1875em; border-left: 3px solid #487c58; }

+ .quoteblock blockquote { margin: 0 0 1.25em 0; padding: 0 0 0.625em 0; border: 0; }

+ .quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; }

+ .quoteblock .attribution { margin-top: -0.625em; padding-bottom: 0.625em; font-size: inherit; color: #454545; line-height: 1.6; }

+ .quoteblock .attribution br { display: none; }

+ .quoteblock .attribution cite { display: block; }

+ table.tableblock { max-width: 100%; }

+ table.tableblock td .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; }

+ table.spread { width: 100%; }

+ table.tableblock, th.tableblock, td.tableblock { border: 0 solid #dddddd; }

+ table.grid-all th.tableblock, table.grid-all td.tableblock { border-width: 0 1px 1px 0; }

+ table.grid-all tfoot > tr > th.tableblock, table.grid-all tfoot > tr > td.tableblock { border-width: 1px 1px 0 0; }

+ table.grid-cols th.tableblock, table.grid-cols td.tableblock { border-width: 0 1px 0 0; }

+ table.grid-all * > tr > .tableblock:last-child, table.grid-cols * > tr > .tableblock:last-child { border-right-width: 0; }

+ table.grid-rows th.tableblock, table.grid-rows td.tableblock { border-width: 0 0 1px 0; }

+ table.grid-all tbody > tr:last-child > th.tableblock, table.grid-all tbody > tr:last-child > td.tableblock, table.grid-all thead:last-child > tr > th.tableblock, table.grid-rows tbody > tr:last-child > th.tableblock, table.grid-rows tbody > tr:last-child > td.tableblock, table.grid-rows thead:last-child > tr > th.tableblock { border-bottom-width: 0; }

+ table.grid-rows tfoot > tr > th.tableblock, table.grid-rows tfoot > tr > td.tableblock { border-width: 1px 0 0 0; }

+ table.frame-all { border-width: 1px; }

+ table.frame-sides { border-width: 0 1px; }

+ table.frame-topbot { border-width: 1px 0; }

+ th.halign-left, td.halign-left { text-align: left; }

+ th.halign-right, td.halign-right { text-align: right; }

+ th.halign-center, td.halign-center { text-align: center; }

+ th.valign-top, td.valign-top { vertical-align: top; }

+ th.valign-bottom, td.valign-bottom { vertical-align: bottom; }

+ th.valign-middle, td.valign-middle { vertical-align: middle; }

+ table thead th, table tfoot th { font-weight: bold; }

+ tbody tr th { display: table-cell; line-height: 1.6; background: whitesmoke; }

+ tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #333333; font-weight: bold; }

+ td > div.verse { white-space: pre; }

+ ul.unstyled, ol.unnumbered, ul.checklist, ul.none { list-style-type: none; }

+ ul.unstyled, ol.unnumbered, ul.checklist { margin-left: 0.625em; }

+ ul.checklist li > p:first-child > .fa-check-square-o:first-child, ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; }

+ ul.checklist li > p:first-child > input[type="checkbox"]:first-child { position: relative; top: 1px; }

+ ul.inline { margin: 0 auto 0.625em auto; margin-left: -1.375em; margin-right: 0; padding: 0; list-style: none; overflow: hidden; }

+ ul.inline > li { list-style: none; float: left; margin-left: 1.375em; display: block; }

+ ul.inline > li > * { display: block; }

+ .unstyled dl dt { font-weight: normal; font-style: normal; }

+ ol.arabic { list-style-type: decimal; }

+ ol.decimal { list-style-type: decimal-leading-zero; }

+ ol.loweralpha { list-style-type: lower-alpha; }

+ ol.upperalpha { list-style-type: upper-alpha; }

+ ol.lowerroman { list-style-type: lower-roman; }

+ ol.upperroman { list-style-type: upper-roman; }

+ ol.lowergreek { list-style-type: lower-greek; }

+ .hdlist > table, .colist > table { border: 0; background: none; }

+ .hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; }

+ td.hdlist1 { padding-right: .75em; font-weight: bold; }

+ td.hdlist1, td.hdlist2 { vertical-align: top; }

+ .literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; }

+ .colist > table tr > td:first-of-type { padding: 0 .75em; line-height: 1; }

+ .colist > table tr > td:last-of-type { padding: 0.25em 0; }

+ .qanda > ol > li > p > em:only-child { color: #1d4b8f; }

+ .thumb, .th { line-height: 0; display: inline-block; border: solid 4px white; -webkit-box-shadow: 0 0 0 1px #dddddd; box-shadow: 0 0 0 1px #dddddd; }

+ .imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; }

+ .imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; }

+ .imageblock > .title { margin-bottom: 0; }

+ .imageblock.thumb, .imageblock.th { border-width: 6px; }

+ .imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; }

+ .image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; }

+ .image.left { margin-right: 0.625em; }

+ .image.right { margin-left: 0.625em; }

+ a.image { text-decoration: none; }

+ span.footnote, span.footnoteref { vertical-align: super; font-size: 0.875em; }

+ span.footnote a, span.footnoteref a { text-decoration: none; }

+ span.footnote a:active, span.footnoteref a:active { text-decoration: underline; }

+ #footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; }

+ #footnotes hr { width: 20%; min-width: 6.25em; margin: -.25em 0 .75em 0; border-width: 1px 0 0 0; }

+ #footnotes .footnote { padding: 0 0.375em; line-height: 1.3; font-size: 0.875em; margin-left: 1.2em; text-indent: -1.2em; margin-bottom: .2em; }

+ #footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; }

+ #footnotes .footnote:last-of-type { margin-bottom: 0; }

+ #content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; }

+ .gist .file-data > table { border: none; background: #fff; width: 100%; margin-bottom: 0; }

+ .gist .file-data > table td.line-data { width: 99%; }

+ div.unbreakable { page-break-inside: avoid; }

+ .replaceable { font-style: italic; font-color: inherit; font-family: inherit; }

+ .parameter { font-style: italic; font-family: monospace; }

+ .userinput { font-weight: bold; font-family: monospace; }

+ .envar { font-weight: bold; font-family: monospace; font-size: 90%; }

+ .sysitem { font-weight: bold; font-size: 90%; }

+ .package { font-weight: bold; font-size: 90%; }

+ .filename { font-weight: bold; font-style: italic; font-size: 90%; }

+ .big { font-size: larger; }

+ .small { font-size: smaller; }

+ .underline { text-decoration: underline; }

+ .overline { text-decoration: overline; }

+ .line-through { text-decoration: line-through; }

+ .aqua { color: #00bfbf; }

+ .aqua-background { background-color: #00fafa; }

+ .black { color: black; }

+ .black-background { background-color: black; }

+ .blue { color: #0000bf; }

+ .blue-background { background-color: #0000fa; }

+ .fuchsia { color: #bf00bf; }

+ .fuchsia-background { background-color: #fa00fa; }

+ .gray { color: #606060; }

+ .gray-background { background-color: #7d7d7d; }

+ .green { color: #006000; }

+ .green-background { background-color: #007d00; }

+ .lime { color: #00bf00; }

+ .lime-background { background-color: #00fa00; }

+ .maroon { color: #600000; }

+ .maroon-background { background-color: #7d0000; }

+ .navy { color: #000060; }

+ .navy-background { background-color: #00007d; }

+ .olive { color: #606000; }

+ .olive-background { background-color: #7d7d00; }

+ .purple { color: #600060; }

+ .purple-background { background-color: #7d007d; }

+ .red { color: #bf0000; }

+ .red-background { background-color: #fa0000; }

+ .silver { color: #909090; }

+ .silver-background { background-color: #bcbcbc; }

+ .teal { color: #006060; }

+ .teal-background { background-color: #007d7d; }

+ .white { color: #bfbfbf; }

+ .white-background { background-color: #fafafa; }

+ .yellow { color: #bfbf00; }

+ .yellow-background { background-color: #fafa00; }

+ span.icon > .fa { cursor: default; }

+ .admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; cursor: default; }

+ .admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #4E9FDD; }

+ .admonitionblock td.icon .icon-tip:before { content: "\f0eb"; color: #2C8596; }

+ .admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #ec7a08; }

+ .admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #ec7a08; }

+ .admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #c00; }

+ .conum[data-value] { display: inline-block; color: white !important; background-color: #333333; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; width: 20px; height: 20px; font-size: 12px; line-height: 20px; font-family: "Open Sans", "Sans", sans-serif; font-style: normal; font-weight: bold; text-indent: -1px; }

+ .conum[data-value] * { color: white !important; }

+ .conum[data-value] + b { display: none; }

+ .conum[data-value]:after { content: attr(data-value); }

+ pre .conum[data-value] { position: relative; top: -2px; }

+ b.conum * { color: inherit !important; }

+ .conum:not([data-value]):empty { display: none; }

+ .print-only { display: none !important; }

+ @media print { @page { margin: 1.25cm 0.75cm; }

+   * { -webkit-box-shadow: none !important; box-shadow: none !important; text-shadow: none !important; }

+   a, a:visited { color: inherit !important; text-decoration: underline !important; }

+   a[href^="http:"]:after, a[href^="https:"]:after { content: " (" attr(href) ")"; }

+   a[href^="#"], a[href^="#"]:visited, a[href^="mailto:"], a[href^="mailto:"]:visited { text-decoration: none !important; }

+   abbr[title]:after { content: " (" attr(title) ")"; }

+   pre, blockquote { page-break-inside: avoid; }

+   code { color: #191919; }

+   thead { display: table-header-group; }

+   tr, img { page-break-inside: avoid; }

+   img { max-width: 100% !important; }

+   p { orphans: 3; widows: 3; }

+   h2, h3, #toctitle, .sidebarblock > .content > .title, #toctitle, .sidebarblock > .content > .title { page-break-after: avoid; }

+   #toc, .sidebarblock { background: none !important; }

+   #toc { border-bottom: 1px solid #d8d8d8 !important; padding-bottom: 0 !important; }

+   .sect1 { padding-bottom: 0 !important; }

+   .sect1 + .sect1 { border: none !important; }

+   body.book #header { text-align: center; }

+   body.book #header > h1 { border: none !important; margin: 2.5em 0 1em 0; padding: 0; }

+   body.book #header span { line-height: 1.6; }

+   body.book #header br { display: block; }

+   body.book #header br + span { padding-left: 0; }

+   body.book #header br + span:before { content: none !important; }

+   body.book #toc { border: none !important; text-align: left !important; padding: 0 !important; }

+   #footer { background: none !important; }

+   #footer-text { color: #333333 !important; }

+   .hide-on-print { display: none !important; }

+   .print-only { display: block !important; }

+   .hide-for-print { display: none !important; }

+   .show-for-print { display: inherit !important; } }

+ 

+ .corner-ribbon{

+   width: 16em;

+   background:  #3c6eb4 ;

+   position: absolute;

+   top: 3em;

+   right: -4em;

+   text-align: center;

+   line-height: 5ex;

+   color: #dedede;

+   transform: rotate(45deg);

+   -webkit-transform: rotate(45deg);

+   z-index: 999;

+ }

+ .corner-ribbon a { color: #FFFFFF; }

empty or binary file added
@@ -0,0 +1,133 @@ 

+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>

+ <!-- Created with Inkscape (http://www.inkscape.org/) -->

+ 

+ <svg

+    xmlns:dc="http://purl.org/dc/elements/1.1/"

+    xmlns:cc="http://creativecommons.org/ns#"

+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

+    xmlns:svg="http://www.w3.org/2000/svg"

+    xmlns="http://www.w3.org/2000/svg"

+    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"

+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"

+    width="53mm"

+    height="10.58333mm"

+    viewBox="0 0 53 10.58333"

+    id="svg2"

+    version="1.1"

+    inkscape:version="0.92.0 r"

+    sodipodi:docname="docs-fedora-logo.svg"

+    inkscape:export-filename="/home/rlerch/Source/docs-fedora/theme/static/docs-fedora-logo.png"

+    inkscape:export-xdpi="192.00006"

+    inkscape:export-ydpi="192.00006">

+   <defs

+      id="defs4" />

+   <sodipodi:namedview

+      id="base"

+      pagecolor="#ffffff"

+      bordercolor="#666666"

+      borderopacity="1.0"

+      inkscape:pageopacity="0.0"

+      inkscape:pageshadow="2"

+      inkscape:zoom="2.8284272"

+      inkscape:cx="161.60848"

+      inkscape:cy="-3.2019881"

+      inkscape:document-units="mm"

+      inkscape:current-layer="g4624"

+      showgrid="false"

+      fit-margin-top="0"

+      fit-margin-left="0"

+      fit-margin-right="0"

+      fit-margin-bottom="0"

+      inkscape:window-width="1920"

+      inkscape:window-height="1136"

+      inkscape:window-x="1920"

+      inkscape:window-y="27"

+      inkscape:window-maximized="1"

+      inkscape:snap-bbox="true"

+      inkscape:bbox-nodes="true"

+      inkscape:snap-page="true"

+      inkscape:snap-global="false" />

+   <metadata

+      id="metadata7">

+     <rdf:RDF>

+       <cc:Work

+          rdf:about="">

+         <dc:format>image/svg+xml</dc:format>

+         <dc:type

+            rdf:resource="http://purl.org/dc/dcmitype/StillImage" />

+         <dc:title />

+       </cc:Work>

+     </rdf:RDF>

+   </metadata>

+   <g

+      inkscape:label="Layer 1"

+      inkscape:groupmode="layer"

+      id="layer1"

+      transform="translate(-48.767028,-31.073165)">

+     <g

+        id="g4595"

+        transform="matrix(0.45619308,0,0,0.45619308,26.519847,-9.145808)">

+       <g

+          id="g4624"

+          transform="matrix(0.92003825,0,0,0.92003825,3.8994993,8.9046582)">

+         <text

+            id="text4225"

+            y="106.6515"

+            x="48.655697"

+            style="font-style:normal;font-weight:normal;font-size:11.49793434px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#555753;fill-opacity:1;stroke:none;stroke-width:0.34780943px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"

+            xml:space="preserve"><tspan

+              style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Montserrat;-inkscape-font-specification:Montserrat;fill:#555753;fill-opacity:1;stroke-width:0.34780943px"

+              y="106.6515"

+              x="48.655697"

+              id="tspan4227"

+              sodipodi:role="line">DOCUMENTATION</tspan></text>

+         <g

+            transform="matrix(0.1527149,0,0,0.1527149,49.003427,86.308841)"

+            id="g4488">

+           <g

+              transform="translate(-266.55899,-345.34488)"

+              id="layer1-0">

+             <path

+                inkscape:connector-curvature="0"

+                d="m 316.7736,397.581 c 0,0 0,0 -20.53889,0 0.3327,4.45245 3.92157,7.77609 8.70715,7.77609 3.38983,0 6.31456,-1.39616 8.64094,-3.65507 0.46553,-0.46679 0.99726,-0.59962 1.59519,-0.59962 0.79781,0 1.59561,0.39932 2.12692,1.06388 0.3327,0.46553 0.53216,0.99726 0.53216,1.52857 0,0.73118 -0.3327,1.52857 -0.93106,2.12734 -2.7919,2.99052 -7.51086,4.98503 -12.16403,4.98503 -8.44149,0 -15.22074,-6.77967 -15.22074,-15.22158 0,-8.44149 6.58022,-15.22074 15.02171,-15.22074 8.37529,0 14.62323,6.51317 14.62323,15.08749 0,1.26418 -1.12924,2.12861 -2.39258,2.12861 z m -12.23065,-11.76512 c -4.45329,0 -7.51085,2.92473 -8.17499,7.17731 10.03626,0 16.35083,0 16.35083,0 -0.59836,-4.05355 -3.78874,-7.17731 -8.17584,-7.17731 z"

+                id="path11"

+                style="fill:#3c6eb4" />

+             <path

+                inkscape:connector-curvature="0"

+                d="m 375.46344,410.80807 c -8.44106,0 -15.22074,-6.77968 -15.22074,-15.22159 0,-8.44149 6.77968,-15.22074 15.22074,-15.22074 8.44234,0 15.22159,6.77925 15.22159,15.22074 -4.2e-4,8.44149 -6.77968,15.22159 -15.22159,15.22159 z m 0,-24.65992 c -5.31688,0 -8.77377,4.25427 -8.77377,9.43833 0,5.18364 3.45689,9.43833 8.77377,9.43833 5.31731,0 8.77504,-4.25469 8.77504,-9.43833 -4.2e-4,-5.18406 -3.45773,-9.43833 -8.77504,-9.43833 z"

+                id="path13"

+                style="fill:#3c6eb4" />

+             <path

+                inkscape:connector-curvature="0"

+                d="m 412.66183,380.36574 c -4.45963,0 -7.40966,1.319 -10.01391,4.62956 l -0.24036,-1.53995 v 0 c -0.20198,-1.60743 -1.57326,-2.84926 -3.23382,-2.84926 -1.80139,0 -3.26206,1.459 -3.26206,3.26081 0,0.003 0,0.005 0,0.008 v 0 0.003 0 23.40712 c 0,1.79464 1.46194,3.25743 3.257,3.25743 1.79465,0 3.25744,-1.46279 3.25744,-3.25743 v -12.56209 c 0,-5.71621 4.98502,-8.57432 10.23613,-8.57432 1.59519,0 2.85726,-1.32953 2.85726,-2.92515 0,-1.59561 -1.26207,-2.85726 -2.85768,-2.85726 z"

+                id="path15"

+                style="fill:#3c6eb4" />

+             <path

+                inkscape:connector-curvature="0"

+                d="m 447.02614,395.58648 c 0.0666,-8.17541 -5.78326,-15.22074 -15.222,-15.22074 -8.44192,0 -15.28779,6.77925 -15.28779,15.22074 0,8.44191 6.64684,15.22159 14.68985,15.22159 4.01434,0 7.62682,-2.06621 9.23846,-4.22518 l 0.79359,2.01434 v 0 c 0.42589,1.13177 1.5176,1.93717 2.7978,1.93717 1.65001,0 2.98756,-1.33671 2.99009,-2.98545 v 0 -7.80687 0 z m -15.222,9.43833 c -5.31773,0 -8.77419,-4.25469 -8.77419,-9.43833 0,-5.18406 3.45604,-9.43833 8.77419,-9.43833 5.3173,0 8.77419,4.25427 8.77419,9.43833 0,5.18364 -3.45689,9.43833 -8.77419,9.43833 z"

+                id="path17"

+                style="fill:#3c6eb4" />

+             <path

+                inkscape:connector-curvature="0"

+                d="m 355.01479,368.3337 c 0,-1.7938 -1.46194,-3.18997 -3.25659,-3.18997 -1.79422,0 -3.25743,1.39659 -3.25743,3.18997 v 17.1499 c -1.66097,-3.05756 -5.25026,-5.11786 -9.50495,-5.11786 -8.64052,0 -14.42336,6.51318 -14.42336,15.22074 0,8.70757 5.98229,15.22159 14.42336,15.22159 3.76555,0 7.03057,-1.55429 8.98587,-4.25554 l 0.72317,1.83428 c 0.44782,1.25912 1.64917,2.16024 3.06051,2.16024 1.78621,0 3.24984,-1.45435 3.24984,-3.24815 0,-0.005 0,-0.009 0,-0.0139 v 0 -38.95128 h -4.2e-4 z m -15.22116,36.69111 c -5.31731,0 -8.70715,-4.25469 -8.70715,-9.43833 0,-5.18406 3.38984,-9.43833 8.70715,-9.43833 5.31773,0 8.70714,4.0544 8.70714,9.43833 0,5.38309 -3.38941,9.43833 -8.70714,9.43833 z"

+                id="path19"

+                style="fill:#3c6eb4" />

+             <path

+                inkscape:connector-curvature="0"

+                d="m 287.21553,365.34023 c -0.59414,-0.0877 -1.19966,-0.13198 -1.80097,-0.13198 -6.73118,0 -12.20746,5.4767 -12.20746,12.20788 v 3.8132 h -3.98903 c -1.46237,0 -2.65908,1.19671 -2.65908,2.65781 0,1.46321 1.19671,2.93738 2.65908,2.93738 h 3.98819 v 20.46004 c 0,1.79464 1.46236,3.25743 3.25658,3.25743 1.79507,0 3.25744,-1.46279 3.25744,-3.25743 v -20.46004 h 4.40986 c 1.46194,0 2.65823,-1.47417 2.65823,-2.93738 0,-1.46152 -1.19629,-2.65823 -2.65823,-2.65823 h -4.40733 v -3.8132 c 0,-3.13852 2.55323,-6.11469 5.69175,-6.11469 0.28294,0 0.56757,0.0211 0.84672,0.062 1.78031,0.26355 3.4358,-0.54269 3.70019,-2.32342 0.2627,-1.77904 -0.96606,-3.43538 -2.74594,-3.69935 z"

+                id="path21"

+                style="fill:#3c6eb4" />

+           </g>

+           <path

+              inkscape:connector-curvature="0"

+              d="m 181.98344,61.675273 h 2.81558 v 0.37898 h -1.18152 v 2.94935 h -0.45254 v -2.94935 h -1.18152 v -0.37898 m 3.26144,0 h 0.67101 l 0.84937,2.26496 0.85381,-2.26496 h 0.67102 v 3.32833 h -0.43917 v -2.9226 l -0.85828,2.28279 h -0.45255 l -0.85827,-2.28279 v 2.9226 h -0.43694 v -3.32833"

+              id="path2391"

+              style="fill:#294172;enable-background:new" />

+         </g>

+         <g

+            id="g5902"

+            transform="translate(0,4.7546837)" />

+       </g>

+     </g>

+   </g>

+ </svg>

@@ -0,0 +1,115 @@ 

+ .tipue_search_content_title{

+ 	margin-top:1em;

+ }

+ 

+ 

+ .tipue_search_content_url{

+ 	display:none;

+ }

+ 

+ .tipue_search_content_text{

+ 	font-size:0.8em;

+ }

+ 

+ .tipue_search_content_bold{

+ 	font-weight:bold;

+ 	background-color: #4fcafa

+ }

+ 

+ .entry-content img {max-width:100%;}

+ .entry-content h1 {font-size:1.3em; font-weight: bold;}

+ 

+ .bodycontent-sidebar{

+ 	background: linear-gradient(90deg, #FFF 50%, #EEE 50%);

+ }

+ 

+ .bodycontent, .left-pane{

+ 	min-height:500px;

+ }

+ 

+ .badge-sidebar{

+ 	width:100%;

+ 	font-size:1em;

+ 	margin-top:0.3em;

+ 	text-align:left;

+ }

+ 

+ .badge-tagfilter{

+ 	font-size:0.9em;

+ 	margin:0.1em;

+ }

+ 

+ .badge-default{

+ 	color: #666;

+ }

+ 

+ .badge{

+ padding: 0.5em;

+ }

+ .sidebar{

+ 	font-size:0.8em;

+ }

+ 

+ .header-sidebar{

+ 	font-weight:bold;

+ 	color:#555;

+ }

+ 

+ .notblue, .entry-title a{

+ 	color:inherit;

+ }

+ 

+ .entry-title{

+ 	font-weight:bold;

+ }

+ 

+ .tagsort-active{

+ 	background-color: #5cb85c;

+ 	color: white;

+ }

+ 

+ .tagsort-tag{

+ 	cursor:pointer;

+ }

+ 

+ .footer a{

+ 	color:#aaa

+   }

+   

+   .footer{

+ 	font-size:0.8em;

+   }

+   

+   .footer h3{

+ 	font-size:1.3em;

+ 	font-weight: bold;

+ 	text-transform: uppercase;

+   }

+ 

+   nav .breadcrumb{

+ 	background: none;

+ 	font-size:0.8em;

+ 	padding-left:10px;

+ 	padding-bottom:0px;

+   }

+   

+   .nav > li  > a.hover{

+ 	background-color: none;

+   }

+   

+   .breadcrumb-item + .breadcrumb-item::before{

+ 	content: '\f054';

+ 	font-family: FontAwesome;

+ 	font-size: 0.8em;

+ 	color: #868e96;

+ 	}

+ 	

+ 	.qd-toc li{

+ 		line-height:1em;

+ 		padding-top: 0.6em;

+ 	}

+ 

+ 	.qd-toc li a{

+ 		color:#444;

+ 		font-weight: 400;

+ 	} 

\ No newline at end of file

empty or binary file added
The added file is too large to be shown here, see it at: theme/static/fedora-bootstrap.css
The added file is too large to be shown here, see it at: theme/static/fedora-bootstrap.js
@@ -0,0 +1,6 @@ 

+ /*!

+  * Bootstrap v4.0.0-alpha.6 (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)

+  *//*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}code,kbd,samp{font-family:monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}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{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}[hidden],template{display:none}@media print{*,:after,:before,blockquote:first-letter,blockquote:first-line,div:first-letter,div:first-line,li:first-letter,li:first-line,p:first-letter,p:first-line{text-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}abbr[title]:after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.badge{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}}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}@-ms-viewport{width:device-width}html{-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}body{font-family:Open Sans;font-size:1rem;font-weight:400;line-height:1.5;color:#373a3c;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}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]{cursor:help}address{font-style:normal;line-height:inherit}address,dl,ol,ul{margin-bottom:1rem}dl,ol,ul{margin-top:0}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}a{color:#0275d8;text-decoration:none}a:focus,a:hover{color:#014c8c;text-decoration:underline}a:not([href]):not([tabindex]),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{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle}[role=button]{cursor:pointer}[role=button],a,area,button,input,label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse;background-color:transparent}caption{padding-top:.75rem;padding-bottom:.75rem;color:#d5d5d5;caption-side:bottom}caption,th{text-align:left}label{display:inline-block;margin-bottom:.5rem}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,select,textarea{line-height:inherit}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit}input[type=search]{-webkit-appearance:none}output{display:inline-block}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1,h1{font-size:2rem}.h2,h2{font-size:1.75rem}.h3,h3{font-size:1.5rem}.h4,h4{font-size:1.25rem}.h5,.h6,h5,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem}.display-1,.display-2{font-weight:300;line-height:1.1}.display-2{font-size:5.5rem}.display-3{font-size:4.5rem}.display-3,.display-4{font-weight:300;line-height:1.1}.display-4{font-size:3.5rem}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:5px}.initialism{font-size:90%;text-transform:uppercase}.blockquote{padding:.5rem 1rem;margin-bottom:1rem;font-size:1.25rem;border-left:.25rem solid #eceeef}.blockquote-footer{display:block;font-size:80%;color:#d5d5d5}.blockquote-footer:before{content:"\2014   \A0"}.blockquote-reverse{padding-right:1rem;padding-left:0;text-align:right;border-right:.25rem solid #eceeef;border-left:0}.blockquote-reverse .blockquote-footer:before{content:""}.blockquote-reverse .blockquote-footer:after{content:"\A0   \2014"}.img-fluid,.img-thumbnail{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #ddd;border-radius:.25rem;transition:all .2s ease-in-out}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#d5d5d5}code,kbd,pre,samp{font-family:Hack,monospace}code{padding:.2rem .4rem;font-size:90%;color:#bd4147;background-color:#f3f3f3;border-radius:.25rem}a>code{padding:0;color:inherit;background-color:inherit}kbd{padding:.2rem .4rem;font-size:90%;color:#fff;background-color:#373a3c;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;margin-top:0;margin-bottom:1rem;font-size:90%;color:#586e75}pre code{padding:0;font-size:inherit;color:inherit;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{position:relative;margin-left:auto;margin-right:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container{padding-right:15px;padding-left:15px}}@media (min-width:576px){.container{width:540px;max-width:100%}}@media (min-width:768px){.container{width:45pc;max-width:100%}}@media (min-width:992px){.container{width:60pc;max-width:100%}}@media (min-width:1200px){.container{width:855pt;max-width:100%}}.container-fluid{position:relative;margin-left:auto;margin-right:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container-fluid{padding-right:15px;padding-left:15px}}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}@media (min-width:576px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:768px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:992px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:1200px){.row{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-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12,.col-lg,.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-md,.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-sm,.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-xl,.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{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:576px){.col,.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-lg,.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-md,.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-sm,.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-xl,.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{padding-right:15px;padding-left:15px}}@media (min-width:768px){.col,.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-lg,.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-md,.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-sm,.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-xl,.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{padding-right:15px;padding-left:15px}}@media (min-width:992px){.col,.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-lg,.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-md,.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-sm,.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-xl,.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{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.col,.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-lg,.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-md,.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-sm,.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-xl,.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{padding-right:15px;padding-left:15px}}.col{flex-basis:0;flex-grow:1;max-width:100%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 8.33333%;max-width:8.33333%}.col-2{flex:0 0 16.66667%;max-width:16.66667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.33333%;max-width:33.33333%}.col-5{flex:0 0 41.66667%;max-width:41.66667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.33333%;max-width:58.33333%}.col-8{flex:0 0 66.66667%;max-width:66.66667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.33333%;max-width:83.33333%}.col-11{flex:0 0 91.66667%;max-width:91.66667%}.col-12{flex:0 0 100%;max-width:100%}.pull-0{right:auto}.pull-1{right:8.33333%}.pull-2{right:16.66667%}.pull-3{right:25%}.pull-4{right:33.33333%}.pull-5{right:41.66667%}.pull-6{right:50%}.pull-7{right:58.33333%}.pull-8{right:66.66667%}.pull-9{right:75%}.pull-10{right:83.33333%}.pull-11{right:91.66667%}.pull-12{right:100%}.push-0{left:auto}.push-1{left:8.33333%}.push-2{left:16.66667%}.push-3{left:25%}.push-4{left:33.33333%}.push-5{left:41.66667%}.push-6{left:50%}.push-7{left:58.33333%}.push-8{left:66.66667%}.push-9{left:75%}.push-10{left:83.33333%}.push-11{left:91.66667%}.push-12{left:100%}.offset-1{margin-left:8.33333%}.offset-2{margin-left:16.66667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333%}.offset-5{margin-left:41.66667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333%}.offset-8{margin-left:66.66667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333%}.offset-11{margin-left:91.66667%}@media (min-width:576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 8.33333%;max-width:8.33333%}.col-sm-2{flex:0 0 16.66667%;max-width:16.66667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.33333%;max-width:33.33333%}.col-sm-5{flex:0 0 41.66667%;max-width:41.66667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.33333%;max-width:58.33333%}.col-sm-8{flex:0 0 66.66667%;max-width:66.66667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.33333%;max-width:83.33333%}.col-sm-11{flex:0 0 91.66667%;max-width:91.66667%}.col-sm-12{flex:0 0 100%;max-width:100%}.pull-sm-0{right:auto}.pull-sm-1{right:8.33333%}.pull-sm-2{right:16.66667%}.pull-sm-3{right:25%}.pull-sm-4{right:33.33333%}.pull-sm-5{right:41.66667%}.pull-sm-6{right:50%}.pull-sm-7{right:58.33333%}.pull-sm-8{right:66.66667%}.pull-sm-9{right:75%}.pull-sm-10{right:83.33333%}.pull-sm-11{right:91.66667%}.pull-sm-12{right:100%}.push-sm-0{left:auto}.push-sm-1{left:8.33333%}.push-sm-2{left:16.66667%}.push-sm-3{left:25%}.push-sm-4{left:33.33333%}.push-sm-5{left:41.66667%}.push-sm-6{left:50%}.push-sm-7{left:58.33333%}.push-sm-8{left:66.66667%}.push-sm-9{left:75%}.push-sm-10{left:83.33333%}.push-sm-11{left:91.66667%}.push-sm-12{left:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333%}.offset-sm-2{margin-left:16.66667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333%}.offset-sm-5{margin-left:41.66667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333%}.offset-sm-8{margin-left:66.66667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333%}.offset-sm-11{margin-left:91.66667%}}@media (min-width:768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 8.33333%;max-width:8.33333%}.col-md-2{flex:0 0 16.66667%;max-width:16.66667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.33333%;max-width:33.33333%}.col-md-5{flex:0 0 41.66667%;max-width:41.66667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.33333%;max-width:58.33333%}.col-md-8{flex:0 0 66.66667%;max-width:66.66667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.33333%;max-width:83.33333%}.col-md-11{flex:0 0 91.66667%;max-width:91.66667%}.col-md-12{flex:0 0 100%;max-width:100%}.pull-md-0{right:auto}.pull-md-1{right:8.33333%}.pull-md-2{right:16.66667%}.pull-md-3{right:25%}.pull-md-4{right:33.33333%}.pull-md-5{right:41.66667%}.pull-md-6{right:50%}.pull-md-7{right:58.33333%}.pull-md-8{right:66.66667%}.pull-md-9{right:75%}.pull-md-10{right:83.33333%}.pull-md-11{right:91.66667%}.pull-md-12{right:100%}.push-md-0{left:auto}.push-md-1{left:8.33333%}.push-md-2{left:16.66667%}.push-md-3{left:25%}.push-md-4{left:33.33333%}.push-md-5{left:41.66667%}.push-md-6{left:50%}.push-md-7{left:58.33333%}.push-md-8{left:66.66667%}.push-md-9{left:75%}.push-md-10{left:83.33333%}.push-md-11{left:91.66667%}.push-md-12{left:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333%}.offset-md-2{margin-left:16.66667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333%}.offset-md-5{margin-left:41.66667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333%}.offset-md-8{margin-left:66.66667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333%}.offset-md-11{margin-left:91.66667%}}@media (min-width:992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 8.33333%;max-width:8.33333%}.col-lg-2{flex:0 0 16.66667%;max-width:16.66667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.33333%;max-width:33.33333%}.col-lg-5{flex:0 0 41.66667%;max-width:41.66667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.33333%;max-width:58.33333%}.col-lg-8{flex:0 0 66.66667%;max-width:66.66667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.33333%;max-width:83.33333%}.col-lg-11{flex:0 0 91.66667%;max-width:91.66667%}.col-lg-12{flex:0 0 100%;max-width:100%}.pull-lg-0{right:auto}.pull-lg-1{right:8.33333%}.pull-lg-2{right:16.66667%}.pull-lg-3{right:25%}.pull-lg-4{right:33.33333%}.pull-lg-5{right:41.66667%}.pull-lg-6{right:50%}.pull-lg-7{right:58.33333%}.pull-lg-8{right:66.66667%}.pull-lg-9{right:75%}.pull-lg-10{right:83.33333%}.pull-lg-11{right:91.66667%}.pull-lg-12{right:100%}.push-lg-0{left:auto}.push-lg-1{left:8.33333%}.push-lg-2{left:16.66667%}.push-lg-3{left:25%}.push-lg-4{left:33.33333%}.push-lg-5{left:41.66667%}.push-lg-6{left:50%}.push-lg-7{left:58.33333%}.push-lg-8{left:66.66667%}.push-lg-9{left:75%}.push-lg-10{left:83.33333%}.push-lg-11{left:91.66667%}.push-lg-12{left:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333%}.offset-lg-2{margin-left:16.66667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333%}.offset-lg-5{margin-left:41.66667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333%}.offset-lg-8{margin-left:66.66667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333%}.offset-lg-11{margin-left:91.66667%}}@media (min-width:1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 8.33333%;max-width:8.33333%}.col-xl-2{flex:0 0 16.66667%;max-width:16.66667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.33333%;max-width:33.33333%}.col-xl-5{flex:0 0 41.66667%;max-width:41.66667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.33333%;max-width:58.33333%}.col-xl-8{flex:0 0 66.66667%;max-width:66.66667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.33333%;max-width:83.33333%}.col-xl-11{flex:0 0 91.66667%;max-width:91.66667%}.col-xl-12{flex:0 0 100%;max-width:100%}.pull-xl-0{right:auto}.pull-xl-1{right:8.33333%}.pull-xl-2{right:16.66667%}.pull-xl-3{right:25%}.pull-xl-4{right:33.33333%}.pull-xl-5{right:41.66667%}.pull-xl-6{right:50%}.pull-xl-7{right:58.33333%}.pull-xl-8{right:66.66667%}.pull-xl-9{right:75%}.pull-xl-10{right:83.33333%}.pull-xl-11{right:91.66667%}.pull-xl-12{right:100%}.push-xl-0{left:auto}.push-xl-1{left:8.33333%}.push-xl-2{left:16.66667%}.push-xl-3{left:25%}.push-xl-4{left:33.33333%}.push-xl-5{left:41.66667%}.push-xl-6{left:50%}.push-xl-7{left:58.33333%}.push-xl-8{left:66.66667%}.push-xl-9{left:75%}.push-xl-10{left:83.33333%}.push-xl-11{left:91.66667%}.push-xl-12{left:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333%}.offset-xl-2{margin-left:16.66667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333%}.offset-xl-5{margin-left:41.66667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333%}.offset-xl-8{margin-left:66.66667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333%}.offset-xl-11{margin-left:91.66667%}}.table{width:100%;max-width:100%;margin-bottom:1rem}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #eceeef}.table thead th{vertical-align:bottom;border-bottom:2px solid #eceeef}.table tbody+tbody{border-top:2px solid #eceeef}.table .table{background-color:#fff}.table-sm td,.table-sm th{padding:.3rem}.table-bordered,.table-bordered td,.table-bordered th{border:1px solid #eceeef}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-active,.table-active>td,.table-active>th,.table-hover .table-active:hover,.table-hover .table-active:hover>td,.table-hover .table-active:hover>th,.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.table-success,.table-success>td,.table-success>th{background-color:#dff0d8}.table-hover .table-success:hover,.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#d0e9c6}.table-info,.table-info>td,.table-info>th{background-color:#d9edf7}.table-hover .table-info:hover,.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#c4e3f3}.table-warning,.table-warning>td,.table-warning>th{background-color:#fcf8e3}.table-hover .table-warning:hover,.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#faf2cc}.table-danger,.table-danger>td,.table-danger>th{background-color:#f2dede}.table-hover .table-danger:hover,.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#ebcccc}.thead-inverse th{color:#fff;background-color:#373a3c}.thead-default th{color:#55595c;background-color:#eceeef}.table-inverse{color:#fff;background-color:#373a3c}.table-inverse td,.table-inverse th,.table-inverse thead th{border-color:#fff}.table-inverse.table-bordered{border:0}.table-responsive{display:block;width:100%;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive.table-bordered{border:0}.form-control{display:block;width:100%;padding:.5rem .75rem;font-size:1rem;line-height:1.25;color:#55595c;background-color:#fff;background-image:none;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#55595c;background-color:#fff;border-color:#5cb3fd;outline:0}.form-control::placeholder{color:#d5d5d5;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#eceeef;opacity:1}.form-control:disabled{cursor:not-allowed}select.form-control:not([size]):not([multiple]){height:calc(2.25rem + 2px)}select.form-control:focus::-ms-value{color:#55595c;background-color:#fff}.form-control-file,.form-control-range{display:block}.col-form-label{padding-top:calc(.5rem - 1px * 2);padding-bottom:calc(.5rem - 1px * 2);margin-bottom:0}.col-form-label-lg{padding-top:calc(.75rem - 1px * 2);padding-bottom:calc(.75rem - 1px * 2);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem - 1px * 2);padding-bottom:calc(.25rem - 1px * 2);font-size:.875rem}.col-form-legend{font-size:1rem}.col-form-legend,.form-control-static{padding-top:.5rem;padding-bottom:.5rem;margin-bottom:0}.form-control-static{line-height:1.25;border:solid transparent;border-width:1px 0}.form-control-static.form-control-lg,.form-control-static.form-control-sm,.input-group-lg>.form-control-static.form-control,.input-group-lg>.form-control-static.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.input-group-sm>.form-control-static.form-control,.input-group-sm>.form-control-static.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn{padding-right:0;padding-left:0}.form-control-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-sm>.input-group-btn>select.btn:not([size]):not([multiple]),.input-group-sm>select.form-control:not([size]):not([multiple]),.input-group-sm>select.input-group-addon:not([size]):not([multiple]),select.form-control-sm:not([size]):not([multiple]){height:1.8125rem}.form-control-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.input-group-lg>.input-group-btn>select.btn:not([size]):not([multiple]),.input-group-lg>select.form-control:not([size]):not([multiple]),.input-group-lg>select.input-group-addon:not([size]):not([multiple]),select.form-control-lg:not([size]):not([multiple]){height:3.16667rem}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-check{position:relative;display:block;margin-bottom:.5rem}.form-check.disabled .form-check-label{color:#d5d5d5;cursor:not-allowed}.form-check-label{padding-left:1.25rem;margin-bottom:0;cursor:pointer}.form-check-input{position:absolute;margin-top:.25rem;margin-left:-1.25rem}.form-check-input:only-child{position:static}.form-check-inline{display:inline-block}.form-check-inline .form-check-label{vertical-align:middle}.form-check-inline+.form-check-inline{margin-left:.75rem}.form-control-feedback{margin-top:.25rem}.form-control-danger,.form-control-success,.form-control-warning{padding-right:2.25rem;background-repeat:no-repeat;background-position:center right .5625rem;background-size:1.125rem 1.125rem}.has-success .col-form-label,.has-success .custom-control,.has-success .form-check-label,.has-success .form-control-feedback,.has-success .form-control-label{color:#5cb85c}.has-success .form-control{border-color:#5cb85c}.has-success .input-group-addon{color:#5cb85c;border-color:#5cb85c;background-color:#eaf6ea}.has-success .form-control-success{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='%235cb85c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E")}.has-warning .col-form-label,.has-warning .custom-control,.has-warning .form-check-label,.has-warning .form-control-feedback,.has-warning .form-control-label{color:#f0ad4e}.has-warning .form-control{border-color:#f0ad4e}.has-warning .input-group-addon{color:#f0ad4e;border-color:#f0ad4e;background-color:#fff}.has-warning .form-control-warning{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='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E")}.has-danger .col-form-label,.has-danger .custom-control,.has-danger .form-check-label,.has-danger .form-control-feedback,.has-danger .form-control-label{color:#d9534f}.has-danger .form-control{border-color:#d9534f}.has-danger .input-group-addon{color:#d9534f;border-color:#d9534f;background-color:#fdf7f7}.has-danger .form-control-danger{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E")}.form-inline{display:flex;flex-flow:row wrap;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{justify-content:center}.form-inline .form-group,.form-inline label{display:flex;align-items:center;margin-bottom:0}.form-inline .form-group{flex:0 0 auto;flex-flow:row wrap}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{width:auto}.form-inline .form-control-label{margin-bottom:0;vertical-align:middle}.form-inline .form-check{display:flex;align-items:center;justify-content:center;width:auto;margin-top:0;margin-bottom:0}.form-inline .form-check-label{padding-left:0}.form-inline .form-check-input{position:relative;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{display:flex;align-items:center;justify-content:center;padding-left:0}.form-inline .custom-control-indicator{position:static;display:inline-block;margin-right:.25rem;vertical-align:text-bottom}.form-inline .has-feedback .form-control-feedback{top:0}}.btn{display:inline-block;font-weight:400;line-height:1.25;text-align:center;white-space:nowrap;vertical-align:middle;user-select:none;border:1px solid transparent;padding:.5rem 1rem;font-size:1rem;border-radius:.25rem;transition:all .2s ease-in-out}.btn:focus,.btn:hover{text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 2px rgba(2,117,216,.25)}.btn.disabled,.btn:disabled{cursor:not-allowed;opacity:.65}.btn.active,.btn:active{background-image:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-primary:hover{color:#fff;background-color:#025aa5;border-color:#01549b}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 2px rgba(2,117,216,.5)}.btn-primary.disabled,.btn-primary:disabled{background-color:#0275d8;border-color:#0275d8}.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#025aa5;background-image:none;border-color:#01549b}.btn-secondary{color:#373a3c;background-color:#fff;border-color:#ccc}.btn-secondary:hover{color:#373a3c;background-color:#e6e6e6;border-color:#adadad}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 2px hsla(0,0%,80%,.5)}.btn-secondary.disabled,.btn-secondary:disabled{background-color:#fff;border-color:#ccc}.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{color:#373a3c;background-color:#e6e6e6;background-image:none;border-color:#adadad}.btn-info{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#2aabd2}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 2px rgba(91,192,222,.5)}.btn-info.disabled,.btn-info:disabled{background-color:#5bc0de;border-color:#5bc0de}.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;background-image:none;border-color:#2aabd2}.btn-success{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#419641}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 2px rgba(92,184,92,.5)}.btn-success.disabled,.btn-success:disabled{background-color:#5cb85c;border-color:#5cb85c}.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;background-image:none;border-color:#419641}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#eb9316}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 2px rgba(240,173,78,.5)}.btn-warning.disabled,.btn-warning:disabled{background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;background-image:none;border-color:#eb9316}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#c12e2a}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 2px rgba(217,83,79,.5)}.btn-danger.disabled,.btn-danger:disabled{background-color:#d9534f;border-color:#d9534f}.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;background-image:none;border-color:#c12e2a}.btn-outline-primary{color:#0275d8;background-image:none;background-color:transparent;border-color:#0275d8}.btn-outline-primary:hover{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 2px rgba(2,117,216,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0275d8;background-color:transparent}.btn-outline-primary.active,.btn-outline-primary:active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-outline-secondary{color:#ccc;background-image:none;background-color:transparent;border-color:#ccc}.btn-outline-secondary:hover{color:#fff;background-color:#ccc;border-color:#ccc}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 2px hsla(0,0%,80%,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#ccc;background-color:transparent}.btn-outline-secondary.active,.btn-outline-secondary:active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#ccc;border-color:#ccc}.btn-outline-info{color:#5bc0de;background-image:none;background-color:transparent;border-color:#5bc0de}.btn-outline-info:hover{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 2px rgba(91,192,222,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#5bc0de;background-color:transparent}.btn-outline-info.active,.btn-outline-info:active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-outline-success{color:#5cb85c;background-image:none;background-color:transparent;border-color:#5cb85c}.btn-outline-success:hover{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 2px rgba(92,184,92,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#5cb85c;background-color:transparent}.btn-outline-success.active,.btn-outline-success:active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-outline-warning{color:#f0ad4e;background-image:none;background-color:transparent;border-color:#f0ad4e}.btn-outline-warning:hover{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 2px rgba(240,173,78,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#f0ad4e;background-color:transparent}.btn-outline-warning.active,.btn-outline-warning:active,.show>.btn-outline-warning.dropdown-toggle{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-outline-danger{color:#d9534f;background-image:none;background-color:transparent;border-color:#d9534f}.btn-outline-danger:hover{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 2px rgba(217,83,79,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#d9534f;background-color:transparent}.btn-outline-danger.active,.btn-outline-danger:active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-link{font-weight:400;color:#0275d8;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link:disabled{background-color:transparent}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#014c8c;text-decoration:underline;background-color:transparent}.btn-link:disabled{color:#d5d5d5}.btn-link:disabled:focus,.btn-link:disabled:hover{text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;transition:opacity .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{height:0;overflow:hidden;transition:height .35s ease}.collapsing,.dropdown,.dropup{position:relative}.dropdown-toggle:after{display:inline-block;width:0;height:0;margin-left:.3em;vertical-align:middle;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-left:.3em solid transparent}.dropdown-toggle:focus{outline:0}.dropup .dropdown-toggle:after{border-top:0;border-bottom:.3em solid}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#373a3c;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-divider{height:1px;margin:.5rem 0;overflow:hidden;background-color:#eceeef}.dropdown-item{display:block;width:100%;padding:3px 1.5rem;clear:both;font-weight:400;color:#373a3c;text-align:inherit;white-space:nowrap;background:none;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#2b2d2f;text-decoration:none;background-color:#f3f3f3}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0275d8}.dropdown-item.disabled,.dropdown-item:disabled{color:#d5d5d5;cursor:not-allowed;background-color:transparent}.show>.dropdown-menu{display:block}.show>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#d5d5d5;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.dropup .dropdown-menu{top:auto;bottom:100%;margin-bottom:.125rem}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:0 1 auto}.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,.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:flex;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.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-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-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-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn+.dropdown-toggle-split:after{margin-left:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:1.125rem;padding-left:1.125rem}.btn-group-vertical{display:inline-flex;flex-direction:column;align-items:flex-start;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(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0}.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-right-radius:0;border-top-left-radius:0}[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:flex;width:100%}.input-group .form-control{position:relative;z-index:2;flex:1 1 auto;width:1%;margin-bottom:0}.input-group .form-control:active,.input-group .form-control:focus,.input-group .form-control:hover{z-index:3}.input-group .form-control,.input-group-addon,.input-group-btn{display:flex;flex-direction:column;justify-content:center}.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{white-space:nowrap;vertical-align:middle}.input-group-addon{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.25;color:#55595c;text-align:center;background-color:#eceeef;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.input-group-addon.form-control-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-addon.form-control-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:not(:last-child),.input-group-addon:not(:last-child),.input-group-btn:not(:first-child)>.btn-group:not(:last-child)>.btn,.input-group-btn:not(:first-child)>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:not(:last-child)>.btn,.input-group-btn:not(:last-child)>.btn-group>.btn,.input-group-btn:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:not(:last-child){border-right:0}.input-group .form-control:not(:first-child),.input-group-addon:not(:first-child),.input-group-btn:not(:first-child)>.btn,.input-group-btn:not(:first-child)>.btn-group>.btn,.input-group-btn:not(:first-child)>.dropdown-toggle,.input-group-btn:not(:last-child)>.btn-group:not(:first-child)>.btn,.input-group-btn:not(:last-child)>.btn:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.form-control+.input-group-addon:not(:first-child){border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative;flex:1}.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:3}.input-group-btn:not(:last-child)>.btn,.input-group-btn:not(:last-child)>.btn-group{margin-right:-1px}.input-group-btn:not(:first-child)>.btn,.input-group-btn:not(:first-child)>.btn-group{z-index:2;margin-left:-1px}.input-group-btn:not(:first-child)>.btn-group:active,.input-group-btn:not(:first-child)>.btn-group:focus,.input-group-btn:not(:first-child)>.btn-group:hover,.input-group-btn:not(:first-child)>.btn:active,.input-group-btn:not(:first-child)>.btn:focus,.input-group-btn:not(:first-child)>.btn:hover{z-index:3}.custom-control{position:relative;display:inline-flex;min-height:1.5rem;padding-left:1.5rem;margin-right:1rem;cursor:pointer}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-indicator{color:#fff;background-color:#0275d8}.custom-control-input:focus~.custom-control-indicator{box-shadow:0 0 0 1px #fff,0 0 0 3px #0275d8}.custom-control-input:active~.custom-control-indicator{color:#fff;background-color:#8fcafe}.custom-control-input:disabled~.custom-control-indicator{cursor:not-allowed;background-color:#eceeef}.custom-control-input:disabled~.custom-control-description{color:#d5d5d5;cursor:not-allowed}.custom-control-indicator{position:absolute;top:.25rem;left:0;display:block;width:1rem;height:1rem;pointer-events:none;user-select:none;background-color:#ddd;background-repeat:no-repeat;background-position:center center;background-size:50% 50%}.custom-checkbox .custom-control-indicator{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-indicator{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-indicator{background-color:#0275d8;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-radio .custom-control-indicator{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-indicator{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-controls-stacked{display:flex;flex-direction:column}.custom-controls-stacked .custom-control{margin-bottom:.25rem}.custom-controls-stacked .custom-control+.custom-control{margin-left:0}.custom-select{display:inline-block;max-width:100%;height:calc(2.25rem + 2px);padding:.375rem 1.75rem .375rem .75rem;line-height:1.25;color:#55595c;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='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center;background-size:8px 10px;border:1px solid rgba(0,0,0,.15);border-radius:.25rem;-moz-appearance:none;-webkit-appearance:none}.custom-select:focus{border-color:#5cb3fd;outline:0}.custom-select:focus::-ms-value{color:#55595c;background-color:#fff}.custom-select:disabled{color:#d5d5d5;cursor:not-allowed;background-color:#eceeef}.custom-select::-ms-expand{opacity:0}.custom-select-sm{padding-top:.375rem;padding-bottom:.375rem;font-size:75%}.custom-file{position:relative;display:inline-block;max-width:100%;height:2.5rem;margin-bottom:0;cursor:pointer}.custom-file-input{min-width:14rem;max-width:100%;height:2.5rem;margin:0;filter:alpha(opacity=0);opacity:0}.custom-file-control{position:absolute;top:0;right:0;left:0;z-index:5;height:2.5rem;padding:.5rem 1rem;line-height:1.5;color:#55595c;pointer-events:none;user-select:none;background-color:#fff;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.custom-file-control:lang(en):after{content:"Choose file..."}.custom-file-control:before{position:absolute;top:-1px;right:-1px;bottom:-1px;z-index:6;display:block;height:2.5rem;padding:.5rem 1rem;line-height:1.5;color:#55595c;background-color:#eceeef;border:1px solid rgba(0,0,0,.15);border-radius:0 .25rem .25rem 0}.custom-file-control:lang(en):before{content:"Browse"}.nav{display:flex;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5em 1em}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#d5d5d5;cursor:not-allowed}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-right-radius:.25rem;border-top-left-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#eceeef #eceeef #ddd}.nav-tabs .nav-link.disabled{color:#d5d5d5;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#55595c;background-color:#fff;border-color:#ddd #ddd #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-item.show .nav-link,.nav-pills .nav-link.active{color:#fff;cursor:default;background-color:#0275d8}.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified .nav-item{flex:1 1 100%;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-direction:column;padding:.5rem 1rem}.navbar-brand{display:inline-block;padding-top:.25rem;padding-bottom:.25rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-text{display:inline-block;padding-top:.425rem;padding-bottom:.425rem}.navbar-toggler{align-self:flex-start;padding:.25rem .75rem;font-size:1.25rem;line-height:1;background:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.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%}.navbar-toggler-left{position:absolute;left:1rem}.navbar-toggler-right{position:absolute;right:1rem}@media (max-width:575px){.navbar-toggleable .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable>.container{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-toggleable{flex-direction:row;flex-wrap:nowrap;align-items:center}.navbar-toggleable .navbar-nav{flex-direction:row}.navbar-toggleable .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable>.container{display:flex;flex-wrap:nowrap;align-items:center}.navbar-toggleable .navbar-collapse{display:flex!important;width:100%}.navbar-toggleable .navbar-toggler{display:none}}@media (max-width:767px){.navbar-toggleable-sm .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-sm>.container{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-toggleable-sm{flex-direction:row;flex-wrap:nowrap;align-items:center}.navbar-toggleable-sm .navbar-nav{flex-direction:row}.navbar-toggleable-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-sm>.container{display:flex;flex-wrap:nowrap;align-items:center}.navbar-toggleable-sm .navbar-collapse{display:flex!important;width:100%}.navbar-toggleable-sm .navbar-toggler{display:none}}@media (max-width:991px){.navbar-toggleable-md .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-md>.container{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-toggleable-md{flex-direction:row;flex-wrap:nowrap;align-items:center}.navbar-toggleable-md .navbar-nav{flex-direction:row}.navbar-toggleable-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-md>.container{display:flex;flex-wrap:nowrap;align-items:center}.navbar-toggleable-md .navbar-collapse{display:flex!important;width:100%}.navbar-toggleable-md .navbar-toggler{display:none}}@media (max-width:1199px){.navbar-toggleable-lg .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-lg>.container{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-toggleable-lg{flex-direction:row;flex-wrap:nowrap;align-items:center}.navbar-toggleable-lg .navbar-nav{flex-direction:row}.navbar-toggleable-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-lg>.container{display:flex;flex-wrap:nowrap;align-items:center}.navbar-toggleable-lg .navbar-collapse{display:flex!important;width:100%}.navbar-toggleable-lg .navbar-toggler{display:none}}.navbar-toggleable-xl{flex-direction:row;flex-wrap:nowrap;align-items:center}.navbar-toggleable-xl .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-xl>.container{padding-right:0;padding-left:0}.navbar-toggleable-xl .navbar-nav{flex-direction:row}.navbar-toggleable-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-xl>.container{display:flex;flex-wrap:nowrap;align-items:center}.navbar-toggleable-xl .navbar-collapse{display:flex!important;width:100%}.navbar-toggleable-xl .navbar-toggler{display:none}.navbar-light .navbar-brand,.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover,.navbar-light .navbar-toggler,.navbar-light .navbar-toggler:focus,.navbar-light .navbar-toggler:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.open,.navbar-light .navbar-nav .open>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' 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 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-toggler,.navbar-inverse .navbar-toggler:focus,.navbar-inverse .navbar-toggler:hover{color:#fff}.navbar-inverse .navbar-nav .nav-link{color:hsla(0,0%,100%,.5)}.navbar-inverse .navbar-nav .nav-link:focus,.navbar-inverse .navbar-nav .nav-link:hover{color:hsla(0,0%,100%,.75)}.navbar-inverse .navbar-nav .nav-link.disabled{color:hsla(0,0%,100%,.25)}.navbar-inverse .navbar-nav .active>.nav-link,.navbar-inverse .navbar-nav .nav-link.active,.navbar-inverse .navbar-nav .nav-link.open,.navbar-inverse .navbar-nav .open>.nav-link{color:#fff}.navbar-inverse .navbar-toggler{border-color:hsla(0,0%,100%,.1)}.navbar-inverse .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' 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 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E")}.navbar-inverse .navbar-text{color:hsla(0,0%,100%,.5)}.card{position:relative;display:flex;flex-direction:column;background-color:#fff;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card-block{flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem}.card-subtitle,.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card>.list-group:first-child .list-group-item:first-child{border-top-right-radius:.25rem;border-top-left-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:#f3f3f3;border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.75rem 1.25rem;background-color:#f3f3f3;border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-bottom:-.75rem;border-bottom:0}.card-header-pills,.card-header-tabs{margin-right:-.625rem;margin-left:-.625rem}.card-primary{background-color:#0275d8;border-color:#0275d8}.card-primary .card-footer,.card-primary .card-header{background-color:transparent}.card-success{background-color:#5cb85c;border-color:#5cb85c}.card-success .card-footer,.card-success .card-header{background-color:transparent}.card-info{background-color:#5bc0de;border-color:#5bc0de}.card-info .card-footer,.card-info .card-header{background-color:transparent}.card-warning{background-color:#f0ad4e;border-color:#f0ad4e}.card-warning .card-footer,.card-warning .card-header{background-color:transparent}.card-danger{background-color:#d9534f;border-color:#d9534f}.card-danger .card-footer,.card-danger .card-header,.card-outline-primary{background-color:transparent}.card-outline-primary{border-color:#0275d8}.card-outline-secondary{background-color:transparent;border-color:#ccc}.card-outline-info{background-color:transparent;border-color:#5bc0de}.card-outline-success{background-color:transparent;border-color:#5cb85c}.card-outline-warning{background-color:transparent;border-color:#f0ad4e}.card-outline-danger{background-color:transparent;border-color:#d9534f}.card-inverse{color:hsla(0,0%,100%,.65)}.card-inverse .card-footer,.card-inverse .card-header{background-color:transparent;border-color:hsla(0,0%,100%,.2)}.card-inverse .card-blockquote,.card-inverse .card-footer,.card-inverse .card-header,.card-inverse .card-title{color:#fff}.card-inverse .card-blockquote .blockquote-footer,.card-inverse .card-link,.card-inverse .card-subtitle,.card-inverse .card-text{color:hsla(0,0%,100%,.65)}.card-inverse .card-link:focus,.card-inverse .card-link:hover{color:#fff}.card-blockquote{padding:0;margin-bottom:0;border-left:0}.card-img{border-radius:calc(.25rem - 1px)}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img-top{border-top-right-radius:calc(.25rem - 1px);border-top-left-radius:calc(.25rem - 1px)}.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}@media (min-width:576px){.card-deck{display:flex;flex-flow:row wrap}.card-deck .card{display:flex;flex:1 0 0;flex-direction:column}.card-deck .card:not(:first-child){margin-left:15px}.card-deck .card:not(:last-child){margin-right:15px}}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group .card{flex:1 0 0}.card-group .card+.card{margin-left:0;border-left:0}.card-group .card:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.card-group .card:first-child .card-img-top{border-top-right-radius:0}.card-group .card:first-child .card-img-bottom{border-bottom-right-radius:0}.card-group .card:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.card-group .card:last-child .card-img-top{border-top-left-radius:0}.card-group .card:last-child .card-img-bottom{border-bottom-left-radius:0}.card-group .card:not(:first-child):not(:last-child),.card-group .card:not(:first-child):not(:last-child) .card-img-bottom,.card-group .card:not(:first-child):not(:last-child) .card-img-top{border-radius:0}}@media (min-width:576px){.card-columns{column-count:3;column-gap:1.25rem}.card-columns .card{display:inline-block;width:100%;margin-bottom:.75rem}}.breadcrumb{padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#eceeef;border-radius:.25rem}.breadcrumb:after{display:block;content:"";clear:both}.breadcrumb-item{float:left}.breadcrumb-item+.breadcrumb-item:before{display:inline-block;padding-right:.5rem;padding-left:.5rem;color:#d5d5d5;content:"/"}.breadcrumb-item+.breadcrumb-item:hover:before{text-decoration:underline;text-decoration:none}.breadcrumb-item.active{color:#d5d5d5}.pagination{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-item:first-child .page-link{margin-left:0;border-bottom-left-radius:.25rem;border-top-left-radius:.25rem}.page-item:last-child .page-link{border-bottom-right-radius:.25rem;border-top-right-radius:.25rem}.page-item.active .page-link{z-index:2;color:#fff;background-color:#0275d8;border-color:#0275d8}.page-item.disabled .page-link{color:#d5d5d5;pointer-events:none;cursor:not-allowed;background-color:#fff;border-color:#ddd}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#0275d8;background-color:#fff;border:1px solid #ddd}.page-link:focus,.page-link:hover{color:#014c8c;text-decoration:none;background-color:#eceeef;border-color:#ddd}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-bottom-left-radius:.3rem;border-top-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-bottom-right-radius:.3rem;border-top-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-bottom-left-radius:.2rem;border-top-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-bottom-right-radius:.2rem;border-top-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-default{background-color:#d5d5d5}.badge-default[href]:focus,.badge-default[href]:hover{background-color:#bcbcbc}.badge-primary{background-color:#0275d8}.badge-primary[href]:focus,.badge-primary[href]:hover{background-color:#025aa5}.badge-success{background-color:#5cb85c}.badge-success[href]:focus,.badge-success[href]:hover{background-color:#449d44}.badge-info{background-color:#5bc0de}.badge-info[href]:focus,.badge-info[href]:hover{background-color:#31b0d5}.badge-warning{background-color:#f0ad4e}.badge-warning[href]:focus,.badge-warning[href]:hover{background-color:#ec971f}.badge-danger{background-color:#d9534f}.badge-danger[href]:focus,.badge-danger[href]:hover{background-color:#c9302c}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#eceeef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-hr{border-top-color:#d0d5d8}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible .close{position:relative;top:-.75rem;right:-1.25rem;padding:.75rem 1.25rem;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d0e9c6;color:#3c763d}.alert-success hr{border-top-color:#c1e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bcdff1;color:#31708f}.alert-info hr{border-top-color:#a6d5ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faf2cc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7ecb5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebcccc;color:#a94442}.alert-danger hr{border-top-color:#e4b9b9}.alert-danger .alert-link{color:#843534}@keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}.progress{display:flex;overflow:hidden;font-size:.75rem;line-height:1rem;text-align:center;background-color:#eceeef;border-radius:.25rem}.progress-bar{height:1rem;color:#fff;background-color:#0275d8}.progress-bar-striped{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{animation:progress-bar-stripes 1s linear infinite}.media{display:flex;align-items:flex-start}.media-body{flex:1}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#55595c;text-align:inherit}.list-group-item-action .list-group-item-heading{color:#373a3c}.list-group-item-action:focus,.list-group-item-action:hover{color:#55595c;text-decoration:none;background-color:#f3f3f3}.list-group-item-action:active{color:#373a3c;background-color:#eceeef}.list-group-item{position:relative;display:flex;flex-flow:row wrap;align-items:center;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-right-radius:.25rem;border-top-left-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item:focus,.list-group-item:hover{text-decoration:none}.list-group-item.disabled,.list-group-item:disabled{color:#d5d5d5;cursor:not-allowed;background-color:#fff}.list-group-item.disabled .list-group-item-heading,.list-group-item:disabled .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item:disabled .list-group-item-text{color:#d5d5d5}.list-group-item.active{z-index:2;color:#fff;background-color:#0275d8;border-color:#0275d8}.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{color:inherit}.list-group-item.active .list-group-item-text{color:#daeeff}.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-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,button.list-group-item-success.active{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,button.list-group-item-info.active{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,button.list-group-item-warning.active{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,button.list-group-item-danger.active{color:#fff;background-color:#a94442;border-color:#a94442}.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 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-21by9:before{padding-top:42.85714%}.embed-responsive-16by9:before{padding-top:56.25%}.embed-responsive-4by3:before{padding-top:75%}.embed-responsive-1by1:before{padding-top:100%}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.75}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal,.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;outline:0}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0, -25%)}.modal.show .modal-dialog{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;display:flex;flex-direction:column;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.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:.5}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:15px;border-bottom:1px solid #eceeef}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:15px}.modal-footer{display:flex;align-items:center;justify-content:flex-end;padding:15px;border-top:1px solid #eceeef}.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:30px auto}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg{max-width:50pc}}.tooltip{position:absolute;z-index:1070;display:block;font-family:Open Sans;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip.bs-tether-element-attached-bottom,.tooltip.tooltip-top{padding:5px 0;margin-top:-3px}.tooltip.bs-tether-element-attached-bottom .tooltip-inner:before,.tooltip.tooltip-top .tooltip-inner:before{bottom:0;left:50%;margin-left:-5px;content:"";border-width:5px 5px 0;border-top-color:#000}.tooltip.bs-tether-element-attached-left,.tooltip.tooltip-right{padding:0 5px;margin-left:3px}.tooltip.bs-tether-element-attached-left .tooltip-inner:before,.tooltip.tooltip-right .tooltip-inner:before{top:50%;left:0;margin-top:-5px;content:"";border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.bs-tether-element-attached-top,.tooltip.tooltip-bottom{padding:5px 0;margin-top:3px}.tooltip.bs-tether-element-attached-top .tooltip-inner:before,.tooltip.tooltip-bottom .tooltip-inner:before{top:0;left:50%;margin-left:-5px;content:"";border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bs-tether-element-attached-right,.tooltip.tooltip-left{padding:0 5px;margin-left:-3px}.tooltip.bs-tether-element-attached-right .tooltip-inner:before,.tooltip.tooltip-left .tooltip-inner:before{top:50%;right:0;margin-top:-5px;content:"";border-width:5px 0 5px 5px;border-left-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.tooltip-inner:before{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;padding:1px;font-family:Open Sans;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover.bs-tether-element-attached-bottom,.popover.popover-top{margin-top:-10px}.popover.bs-tether-element-attached-bottom:after,.popover.bs-tether-element-attached-bottom:before,.popover.popover-top:after,.popover.popover-top:before{left:50%;border-bottom-width:0}.popover.bs-tether-element-attached-bottom:before,.popover.popover-top:before{bottom:-11px;margin-left:-11px;border-top-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-bottom:after,.popover.popover-top:after{bottom:-10px;margin-left:-10px;border-top-color:#fff}.popover.bs-tether-element-attached-left,.popover.popover-right{margin-left:10px}.popover.bs-tether-element-attached-left:after,.popover.bs-tether-element-attached-left:before,.popover.popover-right:after,.popover.popover-right:before{top:50%;border-left-width:0}.popover.bs-tether-element-attached-left:before,.popover.popover-right:before{left:-11px;margin-top:-11px;border-right-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-left:after,.popover.popover-right:after{left:-10px;margin-top:-10px;border-right-color:#fff}.popover.bs-tether-element-attached-top,.popover.popover-bottom{margin-top:10px}.popover.bs-tether-element-attached-top:after,.popover.bs-tether-element-attached-top:before,.popover.popover-bottom:after,.popover.popover-bottom:before{left:50%;border-top-width:0}.popover.bs-tether-element-attached-top:before,.popover.popover-bottom:before{top:-11px;margin-left:-11px;border-bottom-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-top:after,.popover.popover-bottom:after{top:-10px;margin-left:-10px;border-bottom-color:#f7f7f7}.popover.bs-tether-element-attached-top .popover-title:before,.popover.popover-bottom .popover-title:before{position:absolute;top:0;left:50%;display:block;width:20px;margin-left:-10px;content:"";border-bottom:1px solid #f7f7f7}.popover.bs-tether-element-attached-right,.popover.popover-left{margin-left:-10px}.popover.bs-tether-element-attached-right:after,.popover.bs-tether-element-attached-right:before,.popover.popover-left:after,.popover.popover-left:before{top:50%;border-right-width:0}.popover.bs-tether-element-attached-right:before,.popover.popover-left:before{right:-11px;margin-top:-11px;border-left-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-right:after,.popover.popover-left:after{right:-10px;margin-top:-10px;border-left-color:#fff}.popover-title{padding:8px 14px;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-right-radius:calc(.3rem - 1px);border-top-left-radius:calc(.3rem - 1px)}.popover-title:empty{display:none}.popover-content{padding:9px 14px}.popover:after,.popover:before{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover:before{content:"";border-width:11px}.popover:after{content:"";border-width:10px}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-item{position:relative;display:none;width:100%}@media (-webkit-transform-3d){.carousel-item{transition:transform .6s ease-in-out;backface-visibility:hidden;perspective:750pt}}@supports (transform:translate3d(0,0,0)){.carousel-item{transition:transform .6s ease-in-out;backface-visibility:hidden;perspective:750pt}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:flex}.carousel-item-next,.carousel-item-prev{position:absolute;top:0}@media (-webkit-transform-3d){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{transform:translate3d(0,0,0)}.active.carousel-item-right,.carousel-item-next{transform:translate3d(100%,0,0)}.active.carousel-item-left,.carousel-item-prev{transform:translate3d(-100%,0,0)}}@supports (transform:translate3d(0,0,0)){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{transform:translate3d(0,0,0)}.active.carousel-item-right,.carousel-item-next{transform:translate3d(100%,0,0)}.active.carousel-item-left,.carousel-item-prev{transform:translate3d(-100%,0,0)}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-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='M4 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='M1.5 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:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{position:relative;flex:1 0 auto;max-width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:hsla(0,0%,100%,.5)}.carousel-indicators li:before{top:-10px}.carousel-indicators li:after,.carousel-indicators li:before{position:absolute;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators li:after{bottom:-10px}.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-faded{background-color:#f7f7f7}.bg-primary{background-color:#0275d8!important}a.bg-primary:focus,a.bg-primary:hover{background-color:#025aa5!important}.bg-success{background-color:#5cb85c!important}a.bg-success:focus,a.bg-success:hover{background-color:#449d44!important}.bg-info{background-color:#5bc0de!important}a.bg-info:focus,a.bg-info:hover{background-color:#31b0d5!important}.bg-warning{background-color:#f0ad4e!important}a.bg-warning:focus,a.bg-warning:hover{background-color:#ec971f!important}.bg-danger{background-color:#d9534f!important}a.bg-danger:focus,a.bg-danger:hover{background-color:#c9302c!important}.bg-inverse{background-color:#373a3c!important}a.bg-inverse:focus,a.bg-inverse:hover{background-color:#1f2021!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}.rounded{border-radius:.25rem}.rounded-top{border-top-left-radius:.25rem}.rounded-right,.rounded-top{border-top-right-radius:.25rem}.rounded-bottom,.rounded-right{border-bottom-right-radius:.25rem}.rounded-bottom,.rounded-left{border-bottom-left-radius:.25rem}.rounded-left{border-top-left-radius:.25rem}.rounded-circle{border-radius:50%}.rounded-0{border-radius:0}.clearfix:after{display:block;content:"";clear:both}.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-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{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-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{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-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{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-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{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-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}}.flex-first{order:-1}.flex-last{order:1}.flex-unordered{order:0}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}@media (min-width:576px){.flex-sm-first{order:-1}.flex-sm-last{order:1}.flex-sm-unordered{order:0}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}}@media (min-width:768px){.flex-md-first{order:-1}.flex-md-last{order:1}.flex-md-unordered{order:0}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}}@media (min-width:992px){.flex-lg-first{order:-1}.flex-lg-last{order:1}.flex-lg-unordered{order:0}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}}@media (min-width:1200px){.flex-xl-first{order:-1}.flex-xl-last{order:1}.flex-xl-unordered{order:0}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{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}}.fixed-top{top:0}.fixed-bottom,.fixed-top{position:fixed;right:0;left:0;z-index:1030}.fixed-bottom{bottom:0}.sticky-top{position:sticky;top:0;z-index:1030}.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}.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{margin-top:0!important}.mr-0{margin-right:0!important}.mb-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.mx-0{margin-right:0!important}.my-0{margin-top:0!important;margin-bottom:0!important}.m-1{margin:.25rem!important}.mt-1{margin-top:.25rem!important}.mr-1{margin-right:.25rem!important}.mb-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.mx-1{margin-right:.25rem!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-2{margin:.5rem!important}.mt-2{margin-top:.5rem!important}.mr-2{margin-right:.5rem!important}.mb-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.mx-2{margin-right:.5rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-3{margin:1rem!important}.mt-3{margin-top:1rem!important}.mr-3{margin-right:1rem!important}.mb-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.mx-3{margin-right:1rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-4{margin:1.5rem!important}.mt-4{margin-top:1.5rem!important}.mr-4{margin-right:1.5rem!important}.mb-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.mx-4{margin-right:1.5rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-5{margin:3rem!important}.mt-5{margin-top:3rem!important}.mr-5{margin-right:3rem!important}.mb-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.mx-5{margin-right:3rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-0{padding:0!important}.pt-0{padding-top:0!important}.pr-0{padding-right:0!important}.pb-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.px-0{padding-right:0!important}.py-0{padding-top:0!important;padding-bottom:0!important}.p-1{padding:.25rem!important}.pt-1{padding-top:.25rem!important}.pr-1{padding-right:.25rem!important}.pb-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.px-1{padding-right:.25rem!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-2{padding:.5rem!important}.pt-2{padding-top:.5rem!important}.pr-2{padding-right:.5rem!important}.pb-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.px-2{padding-right:.5rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-3{padding:1rem!important}.pt-3{padding-top:1rem!important}.pr-3{padding-right:1rem!important}.pb-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.px-3{padding-right:1rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-4{padding:1.5rem!important}.pt-4{padding-top:1.5rem!important}.pr-4{padding-right:1.5rem!important}.pb-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.px-4{padding-right:1.5rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-5{padding:3rem!important}.pt-5{padding-top:3rem!important}.pr-5{padding-right:3rem!important}.pb-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.px-5{padding-right:3rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-auto{margin:auto!important}.mt-auto{margin-top:auto!important}.mr-auto{margin-right:auto!important}.mb-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}.mx-auto{margin-right:auto!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0{margin-top:0!important}.mr-sm-0{margin-right:0!important}.mb-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.mx-sm-0{margin-right:0!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1{margin-top:.25rem!important}.mr-sm-1{margin-right:.25rem!important}.mb-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.mx-sm-1{margin-right:.25rem!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2{margin-top:.5rem!important}.mr-sm-2{margin-right:.5rem!important}.mb-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.mx-sm-2{margin-right:.5rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3{margin-top:1rem!important}.mr-sm-3{margin-right:1rem!important}.mb-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.mx-sm-3{margin-right:1rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4{margin-top:1.5rem!important}.mr-sm-4{margin-right:1.5rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.mx-sm-4{margin-right:1.5rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5{margin-top:3rem!important}.mr-sm-5{margin-right:3rem!important}.mb-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.mx-sm-5{margin-right:3rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0{padding-top:0!important}.pr-sm-0{padding-right:0!important}.pb-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.px-sm-0{padding-right:0!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1{padding-top:.25rem!important}.pr-sm-1{padding-right:.25rem!important}.pb-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.px-sm-1{padding-right:.25rem!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2{padding-top:.5rem!important}.pr-sm-2{padding-right:.5rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.px-sm-2{padding-right:.5rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3{padding-top:1rem!important}.pr-sm-3{padding-right:1rem!important}.pb-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.px-sm-3{padding-right:1rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4{padding-top:1.5rem!important}.pr-sm-4{padding-right:1.5rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.px-sm-4{padding-right:1.5rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5{padding-top:3rem!important}.pr-sm-5{padding-right:3rem!important}.pb-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.px-sm-5{padding-right:3rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto{margin-top:auto!important}.mr-sm-auto{margin-right:auto!important}.mb-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}.mx-sm-auto{margin-right:auto!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0{margin-top:0!important}.mr-md-0{margin-right:0!important}.mb-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.mx-md-0{margin-right:0!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.m-md-1{margin:.25rem!important}.mt-md-1{margin-top:.25rem!important}.mr-md-1{margin-right:.25rem!important}.mb-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.mx-md-1{margin-right:.25rem!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2{margin-top:.5rem!important}.mr-md-2{margin-right:.5rem!important}.mb-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.mx-md-2{margin-right:.5rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3{margin-top:1rem!important}.mr-md-3{margin-right:1rem!important}.mb-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.mx-md-3{margin-right:1rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4{margin-top:1.5rem!important}.mr-md-4{margin-right:1.5rem!important}.mb-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.mx-md-4{margin-right:1.5rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5{margin-top:3rem!important}.mr-md-5{margin-right:3rem!important}.mb-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.mx-md-5{margin-right:3rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-md-0{padding:0!important}.pt-md-0{padding-top:0!important}.pr-md-0{padding-right:0!important}.pb-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.px-md-0{padding-right:0!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.p-md-1{padding:.25rem!important}.pt-md-1{padding-top:.25rem!important}.pr-md-1{padding-right:.25rem!important}.pb-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.px-md-1{padding-right:.25rem!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2{padding-top:.5rem!important}.pr-md-2{padding-right:.5rem!important}.pb-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.px-md-2{padding-right:.5rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3{padding-top:1rem!important}.pr-md-3{padding-right:1rem!important}.pb-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.px-md-3{padding-right:1rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4{padding-top:1.5rem!important}.pr-md-4{padding-right:1.5rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.px-md-4{padding-right:1.5rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5{padding-top:3rem!important}.pr-md-5{padding-right:3rem!important}.pb-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.px-md-5{padding-right:3rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto{margin-top:auto!important}.mr-md-auto{margin-right:auto!important}.mb-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}.mx-md-auto{margin-right:auto!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0{margin-top:0!important}.mr-lg-0{margin-right:0!important}.mb-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.mx-lg-0{margin-right:0!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1{margin-top:.25rem!important}.mr-lg-1{margin-right:.25rem!important}.mb-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.mx-lg-1{margin-right:.25rem!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2{margin-top:.5rem!important}.mr-lg-2{margin-right:.5rem!important}.mb-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.mx-lg-2{margin-right:.5rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3{margin-top:1rem!important}.mr-lg-3{margin-right:1rem!important}.mb-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.mx-lg-3{margin-right:1rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4{margin-top:1.5rem!important}.mr-lg-4{margin-right:1.5rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.mx-lg-4{margin-right:1.5rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5{margin-top:3rem!important}.mr-lg-5{margin-right:3rem!important}.mb-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.mx-lg-5{margin-right:3rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0{padding-top:0!important}.pr-lg-0{padding-right:0!important}.pb-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.px-lg-0{padding-right:0!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1{padding-top:.25rem!important}.pr-lg-1{padding-right:.25rem!important}.pb-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.px-lg-1{padding-right:.25rem!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2{padding-top:.5rem!important}.pr-lg-2{padding-right:.5rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.px-lg-2{padding-right:.5rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3{padding-top:1rem!important}.pr-lg-3{padding-right:1rem!important}.pb-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.px-lg-3{padding-right:1rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4{padding-top:1.5rem!important}.pr-lg-4{padding-right:1.5rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.px-lg-4{padding-right:1.5rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5{padding-top:3rem!important}.pr-lg-5{padding-right:3rem!important}.pb-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.px-lg-5{padding-right:3rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto{margin-top:auto!important}.mr-lg-auto{margin-right:auto!important}.mb-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}.mx-lg-auto{margin-right:auto!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0{margin-top:0!important}.mr-xl-0{margin-right:0!important}.mb-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.mx-xl-0{margin-right:0!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1{margin-top:.25rem!important}.mr-xl-1{margin-right:.25rem!important}.mb-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.mx-xl-1{margin-right:.25rem!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2{margin-top:.5rem!important}.mr-xl-2{margin-right:.5rem!important}.mb-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.mx-xl-2{margin-right:.5rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3{margin-top:1rem!important}.mr-xl-3{margin-right:1rem!important}.mb-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.mx-xl-3{margin-right:1rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4{margin-top:1.5rem!important}.mr-xl-4{margin-right:1.5rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.mx-xl-4{margin-right:1.5rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5{margin-top:3rem!important}.mr-xl-5{margin-right:3rem!important}.mb-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.mx-xl-5{margin-right:3rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0{padding-top:0!important}.pr-xl-0{padding-right:0!important}.pb-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.px-xl-0{padding-right:0!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1{padding-top:.25rem!important}.pr-xl-1{padding-right:.25rem!important}.pb-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.px-xl-1{padding-right:.25rem!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2{padding-top:.5rem!important}.pr-xl-2{padding-right:.5rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.px-xl-2{padding-right:.5rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3{padding-top:1rem!important}.pr-xl-3{padding-right:1rem!important}.pb-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.px-xl-3{padding-right:1rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4{padding-top:1.5rem!important}.pr-xl-4{padding-right:1.5rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.px-xl-4{padding-right:1.5rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5{padding-top:3rem!important}.pr-xl-5{padding-right:3rem!important}.pb-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.px-xl-5{padding-right:3rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto{margin-top:auto!important}.mr-xl-auto{margin-right:auto!important}.mb-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}.mx-xl-auto{margin-right:auto!important}.my-xl-auto{margin-top:auto!important;margin-bottom: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-normal{font-weight:400}.font-weight-bold{font-weight:700}.font-italic{font-style:italic}.text-white{color:#fff!important}.text-muted{color:#d5d5d5!important}a.text-muted:focus,a.text-muted:hover{color:#bcbcbc!important}.text-primary{color:#0275d8!important}a.text-primary:focus,a.text-primary:hover{color:#025aa5!important}.text-success{color:#5cb85c!important}a.text-success:focus,a.text-success:hover{color:#449d44!important}.text-info{color:#5bc0de!important}a.text-info:focus,a.text-info:hover{color:#31b0d5!important}.text-warning{color:#f0ad4e!important}a.text-warning:focus,a.text-warning:hover{color:#ec971f!important}.text-danger{color:#d9534f!important}a.text-danger:focus,a.text-danger:hover{color:#c9302c!important}.text-gray-dark{color:#373a3c!important}a.text-gray-dark:focus,a.text-gray-dark:hover{color:#1f2021!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.invisible{visibility:hidden!important}.hidden-xs-up{display:none!important}@media (max-width:575px){.hidden-xs-down{display:none!important}}@media (min-width:576px){.hidden-sm-up{display:none!important}}@media (max-width:767px){.hidden-sm-down{display:none!important}}@media (min-width:768px){.hidden-md-up{display:none!important}}@media (max-width:991px){.hidden-md-down{display:none!important}}@media (min-width:992px){.hidden-lg-up{display:none!important}}@media (max-width:1199px){.hidden-lg-down{display:none!important}}@media (min-width:1200px){.hidden-xl-up{display:none!important}}.hidden-xl-down,.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}}.container-narrow{position:relative;margin-left:auto;margin-right:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container-narrow{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container-narrow{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container-narrow{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container-narrow{padding-right:15px;padding-left:15px}}@media (min-width:576px){.container-narrow{max-width:34rem}}@media (min-width:768px){.container-narrow{max-width:45rem}}@media (min-width:992px){.container-narrow{max-width:45rem}}@media (min-width:1200px){.container-narrow{max-width:45rem}}.nav-underline .nav-item.active,.nav-underline .nav-item.active:hover{box-shadow:0 -3px 0 0 #0275d8 inset}.nav-underline .nav-item.active .nav-link,.nav-underline .nav-item.active:hover .nav-link{color:#0275d8}.nav-underline li:hover{box-shadow:0 -3px 0 0 #ddd inset}.nav-underline li{padding-top:.2rem;padding-bottom:.2rem}.navbar-underline{background-color:#d5d5d5;border-top:1px solid #c8c8c8}pre{background-color:#fdf6e3;padding:1rem}.table-expand-col{min-width:100%}body{background-color:#373a3c}.card-success{background-color:#dff0d8;border-color:#d0e9c6;color:#3c763d}.card-success hr{border-top-color:#c1e2b3}.card-success .alert-link{color:#2b542c}.card-success .card-header{background-color:#d0e9c6;border-bottom:1px solid #c1e2b3}.card-info{background-color:#d9edf7;border-color:#bcdff1;color:#31708f}.card-info hr{border-top-color:#a6d5ec}.card-info .alert-link{color:#245269}.card-info .card-header{background-color:#c4e3f3;border-bottom:1px solid #afd9ee}.card-primary{background-color:#d9edf7;border-color:#bcdff1;color:#31708f}.card-primary hr{border-top-color:#a6d5ec}.card-primary .alert-link{color:#245269}.card-primary .card-header{background-color:#c4e3f3;border-bottom:1px solid #afd9ee}.card-warning{background-color:#fcf8e3;border-color:#faf2cc;color:#8a6d3b}.card-warning hr{border-top-color:#f7ecb5}.card-warning .alert-link{color:#66512c}.card-warning .card-header{background-color:#faf2cc;border-bottom:1px solid #f7ecb5}.card-danger{background-color:#f2dede;border-color:#ebcccc;color:#a94442}.card-danger hr{border-top-color:#e4b9b9}.card-danger .alert-link{color:#843534}.card-danger .card-header{background-color:#ebcccc;border-bottom:1px solid #e4b9b9}.masthead{background-image:linear-gradient(to bottom,#eee 0%,#ddd 100%);background-repeat:repeat-x;padding-top:10px;padding-bottom:10px}.subheader{background:#f3f3f3;border-bottom:1px solid #d5d5d5}.subheader .nav-tabs{margin-bottom:-1px}.footer{background-color:#373a3c}.bodycontent{background:#fff}.document-docutils>.section{padding-bottom:1rem}.document-docutils pre .comment{color:#586e75}.document-docutils pre .error,.document-docutils pre .generic{color:#93a1a1}.document-docutils pre .keyword{color:#859900}.document-docutils pre .literal,.document-docutils pre .name{color:#93a1a1}.document-docutils pre .operator{color:#859900}.document-docutils pre .other{color:#cb4b16}.document-docutils pre .punctuation{color:#93a1a1}.document-docutils pre .comment.multiline{color:#586e75}.document-docutils pre .comment.preproc{color:#859900}.document-docutils pre .comment.single{color:#586e75}.document-docutils pre .comment.special{color:#859900}.document-docutils pre .generic.deleted{color:#2aa198}.document-docutils pre .generic.emph{color:#93a1a1;font-style:italic}.document-docutils pre .generic.error{color:#dc322f}.document-docutils pre .generic.heading{color:#cb4b16}.document-docutils pre .generic.inserted{color:#859900}.document-docutils pre .generic.output,.document-docutils pre .generic.prompt{color:#93a1a1}.document-docutils pre .generic.strong{color:#93a1a1;font-weight:700}.document-docutils pre .generic.subheading{color:#cb4b16}.document-docutils pre .generic.traceback{color:#93a1a1}.document-docutils pre .keyword.constant{color:#cb4b16}.document-docutils pre .keyword.declaration{color:#268bd2}.document-docutils pre .keyword.namespace,.document-docutils pre .keyword.pseudo{color:#859900}.document-docutils pre .keyword.reserved{color:#268bd2}.document-docutils pre .keyword.type{color:#dc322f}.document-docutils pre .literal.date{color:#93a1a1}.document-docutils pre .literal.number,.document-docutils pre .literal.string{color:#2aa198}.document-docutils pre .name.attribute{color:#93a1a1}.document-docutils pre .name.builtin{color:#b58900}.document-docutils pre .name.class{color:#268bd2}.document-docutils pre .name.constant{color:#cb4b16}.document-docutils pre .name.decorator{color:#268bd2}.document-docutils pre .name.entity,.document-docutils pre .name.exception{color:#cb4b16}.document-docutils pre .name.function{color:#268bd2}.document-docutils pre .name.label,.document-docutils pre .name.namespace,.document-docutils pre .name.other,.document-docutils pre .name.property{color:#93a1a1}.document-docutils pre .name.tag,.document-docutils pre .name.variable{color:#268bd2}.document-docutils pre .operator.word{color:#859900}.document-docutils pre .text.whitespace{color:#93a1a1}.document-docutils pre .literal.number.float,.document-docutils pre .literal.number.hex,.document-docutils pre .literal.number.integer,.document-docutils pre .literal.number.oct{color:#2aa198}.document-docutils pre .literal.string.backtick{color:#586e75}.document-docutils pre .literal.string.char{color:#2aa198}.document-docutils pre .literal.string.doc{color:#93a1a1}.document-docutils pre .literal.string.double{color:#2aa198}.document-docutils pre .literal.string.escape{color:#cb4b16}.document-docutils pre .literal.string.heredoc{color:#93a1a1}.document-docutils pre .literal.string.interpol,.document-docutils pre .literal.string.other{color:#2aa198}.document-docutils pre .literal.string.regex{color:#dc322f}.document-docutils pre .literal.string.single,.document-docutils pre .literal.string.symbol{color:#2aa198}.document-docutils pre .name.builtin.pseudo,.document-docutils pre .name.variable.class,.document-docutils pre .name.variable.global,.document-docutils pre .name.variable.instance{color:#268bd2}.document-docutils pre .literal.number.integer.long{color:#2aa198} 

\ No newline at end of file

@@ -0,0 +1,8 @@ 

+ !function(t){function e(i){if(n[i])return n[i].exports;var o=n[i]={exports:{},id:i,loaded:!1};return t[i].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){"use strict";n(1),n(2),n(3)},function(t,e,n){var i,o;/*! tether 1.4.0 */

+ !function(r,s){i=s,o="function"==typeof i?i.call(e,n,e,t):i,!(void 0!==o&&(t.exports=o))}(this,function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t){var e=t.getBoundingClientRect(),n={};for(var i in e)n[i]=e[i];if(t.ownerDocument!==document){var r=t.ownerDocument.defaultView.frameElement;if(r){var s=o(r);n.top+=s.top,n.bottom+=s.top,n.left+=s.left,n.right+=s.left}}return n}function r(t){var e=getComputedStyle(t)||{},n=e.position,i=[];if("fixed"===n)return[t];for(var o=t;(o=o.parentNode)&&o&&1===o.nodeType;){var r=void 0;try{r=getComputedStyle(o)}catch(t){}if("undefined"==typeof r||null===r)return i.push(o),i;var s=r,a=s.overflow,l=s.overflowX,h=s.overflowY;/(auto|scroll)/.test(a+h+l)&&("absolute"!==n||["relative","absolute","fixed"].indexOf(r.position)>=0)&&i.push(o)}return i.push(t.ownerDocument.body),t.ownerDocument!==document&&i.push(t.ownerDocument.defaultView),i}function s(){b&&document.body.removeChild(b),b=null}function a(t){var e=void 0;t===document?(e=document,t=document.documentElement):e=t.ownerDocument;var n=e.documentElement,i=o(t),r=D();return i.top-=r.top,i.left-=r.left,"undefined"==typeof i.width&&(i.width=document.body.scrollWidth-i.left-i.right),"undefined"==typeof i.height&&(i.height=document.body.scrollHeight-i.top-i.bottom),i.top=i.top-n.clientTop,i.left=i.left-n.clientLeft,i.right=e.body.clientWidth-i.width-i.left,i.bottom=e.body.clientHeight-i.height-i.top,i}function l(t){return t.offsetParent||document.documentElement}function h(){if(w)return w;var t=document.createElement("div");t.style.width="100%",t.style.height="200px";var e=document.createElement("div");f(e.style,{position:"absolute",top:0,left:0,pointerEvents:"none",visibility:"hidden",width:"200px",height:"150px",overflow:"hidden"}),e.appendChild(t),document.body.appendChild(e);var n=t.offsetWidth;e.style.overflow="scroll";var i=t.offsetWidth;n===i&&(i=e.clientWidth),document.body.removeChild(e);var o=n-i;return w={width:o,height:o}}function f(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],e=[];return Array.prototype.push.apply(e,arguments),e.slice(1).forEach(function(e){if(e)for(var n in e)({}).hasOwnProperty.call(e,n)&&(t[n]=e[n])}),t}function u(t,e){if("undefined"!=typeof t.classList)e.split(" ").forEach(function(e){e.trim()&&t.classList.remove(e)});else{var n=new RegExp("(^| )"+e.split(" ").join("|")+"( |$)","gi"),i=p(t).replace(n," ");g(t,i)}}function c(t,e){if("undefined"!=typeof t.classList)e.split(" ").forEach(function(e){e.trim()&&t.classList.add(e)});else{u(t,e);var n=p(t)+(" "+e);g(t,n)}}function d(t,e){if("undefined"!=typeof t.classList)return t.classList.contains(e);var n=p(t);return new RegExp("(^| )"+e+"( |$)","gi").test(n)}function p(t){return t.className instanceof t.ownerDocument.defaultView.SVGAnimatedString?t.className.baseVal:t.className}function g(t,e){t.setAttribute("class",e)}function m(t,e,n){n.forEach(function(n){e.indexOf(n)===-1&&d(t,n)&&u(t,n)}),e.forEach(function(e){d(t,e)||c(t,e)})}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function v(t,e){var n=arguments.length<=2||void 0===arguments[2]?1:arguments[2];return t+n>=e&&e>=t-n}function E(){return"undefined"!=typeof performance&&"undefined"!=typeof performance.now?performance.now():+new Date}function y(){for(var t={top:0,left:0},e=arguments.length,n=Array(e),i=0;i<e;i++)n[i]=arguments[i];return n.forEach(function(e){var n=e.top,i=e.left;"string"==typeof n&&(n=parseFloat(n,10)),"string"==typeof i&&(i=parseFloat(i,10)),t.top+=n,t.left+=i}),t}function T(t,e){return"string"==typeof t.left&&t.left.indexOf("%")!==-1&&(t.left=parseFloat(t.left,10)/100*e.width),"string"==typeof t.top&&t.top.indexOf("%")!==-1&&(t.top=parseFloat(t.top,10)/100*e.height),t}function C(t,e){return"scrollParent"===e?e=t.scrollParents[0]:"window"===e&&(e=[pageXOffset,pageYOffset,innerWidth+pageXOffset,innerHeight+pageYOffset]),e===document&&(e=e.documentElement),"undefined"!=typeof e.nodeType&&!function(){var t=e,n=a(e),i=n,o=getComputedStyle(e);if(e=[i.left,i.top,n.width+i.left,n.height+i.top],t.ownerDocument!==document){var r=t.ownerDocument.defaultView;e[0]+=r.pageXOffset,e[1]+=r.pageYOffset,e[2]+=r.pageXOffset,e[3]+=r.pageYOffset}z.forEach(function(t,n){t=t[0].toUpperCase()+t.substr(1),"Top"===t||"Left"===t?e[n]+=parseFloat(o["border"+t+"Width"]):e[n]-=parseFloat(o["border"+t+"Width"])})}(),e}var A=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),O=void 0;"undefined"==typeof O&&(O={modules:[]});var b=null,I=function(){var t=0;return function(){return++t}}(),S={},D=function(){var t=b;t&&document.body.contains(t)||(t=document.createElement("div"),t.setAttribute("data-tether-id",I()),f(t.style,{top:0,left:0,position:"absolute"}),document.body.appendChild(t),b=t);var e=t.getAttribute("data-tether-id");return"undefined"==typeof S[e]&&(S[e]=o(t),L(function(){delete S[e]})),S[e]},w=null,N=[],L=function(t){N.push(t)},P=function(){for(var t=void 0;t=N.pop();)t()},H=function(){function t(){i(this,t)}return A(t,[{key:"on",value:function(t,e,n){var i=!(arguments.length<=3||void 0===arguments[3])&&arguments[3];"undefined"==typeof this.bindings&&(this.bindings={}),"undefined"==typeof this.bindings[t]&&(this.bindings[t]=[]),this.bindings[t].push({handler:e,ctx:n,once:i})}},{key:"once",value:function(t,e,n){this.on(t,e,n,!0)}},{key:"off",value:function(t,e){if("undefined"!=typeof this.bindings&&"undefined"!=typeof this.bindings[t])if("undefined"==typeof e)delete this.bindings[t];else for(var n=0;n<this.bindings[t].length;)this.bindings[t][n].handler===e?this.bindings[t].splice(n,1):++n}},{key:"trigger",value:function(t){if("undefined"!=typeof this.bindings&&this.bindings[t]){for(var e=0,n=arguments.length,i=Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];for(;e<this.bindings[t].length;){var r=this.bindings[t][e],s=r.handler,a=r.ctx,l=r.once,h=a;"undefined"==typeof h&&(h=this),s.apply(h,i),l?this.bindings[t].splice(e,1):++e}}}}]),t}();O.Utils={getActualBoundingClientRect:o,getScrollParents:r,getBounds:a,getOffsetParent:l,extend:f,addClass:c,removeClass:u,hasClass:d,updateClasses:m,defer:L,flush:P,uniqueId:I,Evented:H,getScrollBarSize:h,removeUtilElements:s};var k=function(){function t(t,e){var n=[],i=!0,o=!1,r=void 0;try{for(var s,a=t[Symbol.iterator]();!(i=(s=a.next()).done)&&(n.push(s.value),!e||n.length!==e);i=!0);}catch(t){o=!0,r=t}finally{try{!i&&a.return&&a.return()}finally{if(o)throw r}}return n}return function(e,n){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),A=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),W=function(t,e,n){for(var i=!0;i;){var o=t,r=e,s=n;i=!1,null===o&&(o=Function.prototype);var a=Object.getOwnPropertyDescriptor(o,r);if(void 0!==a){if("value"in a)return a.value;var l=a.get;if(void 0===l)return;return l.call(s)}var h=Object.getPrototypeOf(o);if(null===h)return;t=h,e=r,n=s,i=!0,a=h=void 0}};if("undefined"==typeof O)throw new Error("You must include the utils.js file before tether.js");var R=O.Utils,r=R.getScrollParents,a=R.getBounds,l=R.getOffsetParent,f=R.extend,c=R.addClass,u=R.removeClass,m=R.updateClasses,L=R.defer,P=R.flush,h=R.getScrollBarSize,s=R.removeUtilElements,x=function(){if("undefined"==typeof document)return"";for(var t=document.createElement("div"),e=["transform","WebkitTransform","OTransform","MozTransform","msTransform"],n=0;n<e.length;++n){var i=e[n];if(void 0!==t.style[i])return i}}(),M=[],V=function(){M.forEach(function(t){t.position(!1)}),P()};!function(){var t=null,e=null,n=null,i=function i(){return"undefined"!=typeof e&&e>16?(e=Math.min(e-16,250),void(n=setTimeout(i,250))):void("undefined"!=typeof t&&E()-t<10||(null!=n&&(clearTimeout(n),n=null),t=E(),V(),e=E()-t))};"undefined"!=typeof window&&"undefined"!=typeof window.addEventListener&&["resize","scroll","touchmove"].forEach(function(t){window.addEventListener(t,i)})}();var j={center:"center",left:"right",right:"left"},F={middle:"middle",top:"bottom",bottom:"top"},U={top:0,left:0,middle:"50%",center:"50%",bottom:"100%",right:"100%"},B=function(t,e){var n=t.left,i=t.top;return"auto"===n&&(n=j[e.left]),"auto"===i&&(i=F[e.top]),{left:n,top:i}},K=function(t){var e=t.left,n=t.top;return"undefined"!=typeof U[t.left]&&(e=U[t.left]),"undefined"!=typeof U[t.top]&&(n=U[t.top]),{left:e,top:n}},G=function(t){var e=t.split(" "),n=k(e,2),i=n[0],o=n[1];return{top:i,left:o}},Q=G,Y=function(t){function e(t){var n=this;i(this,e),W(Object.getPrototypeOf(e.prototype),"constructor",this).call(this),this.position=this.position.bind(this),M.push(this),this.history=[],this.setOptions(t,!1),O.modules.forEach(function(t){"undefined"!=typeof t.initialize&&t.initialize.call(n)}),this.position()}return _(e,t),A(e,[{key:"getClass",value:function(){var t=arguments.length<=0||void 0===arguments[0]?"":arguments[0],e=this.options.classes;return"undefined"!=typeof e&&e[t]?this.options.classes[t]:this.options.classPrefix?this.options.classPrefix+"-"+t:t}},{key:"setOptions",value:function(t){var e=this,n=arguments.length<=1||void 0===arguments[1]||arguments[1],i={offset:"0 0",targetOffset:"0 0",targetAttachment:"auto auto",classPrefix:"tether"};this.options=f(i,t);var o=this.options,s=o.element,a=o.target,l=o.targetModifier;if(this.element=s,this.target=a,this.targetModifier=l,"viewport"===this.target?(this.target=document.body,this.targetModifier="visible"):"scroll-handle"===this.target&&(this.target=document.body,this.targetModifier="scroll-handle"),["element","target"].forEach(function(t){if("undefined"==typeof e[t])throw new Error("Tether Error: Both element and target must be defined");"undefined"!=typeof e[t].jquery?e[t]=e[t][0]:"string"==typeof e[t]&&(e[t]=document.querySelector(e[t]))}),c(this.element,this.getClass("element")),this.options.addTargetClasses!==!1&&c(this.target,this.getClass("target")),!this.options.attachment)throw new Error("Tether Error: You must provide an attachment");this.targetAttachment=Q(this.options.targetAttachment),this.attachment=Q(this.options.attachment),this.offset=G(this.options.offset),this.targetOffset=G(this.options.targetOffset),"undefined"!=typeof this.scrollParents&&this.disable(),"scroll-handle"===this.targetModifier?this.scrollParents=[this.target]:this.scrollParents=r(this.target),this.options.enabled!==!1&&this.enable(n)}},{key:"getTargetBounds",value:function(){if("undefined"==typeof this.targetModifier)return a(this.target);if("visible"===this.targetModifier){if(this.target===document.body)return{top:pageYOffset,left:pageXOffset,height:innerHeight,width:innerWidth};var t=a(this.target),e={height:t.height,width:t.width,top:t.top,left:t.left};return e.height=Math.min(e.height,t.height-(pageYOffset-t.top)),e.height=Math.min(e.height,t.height-(t.top+t.height-(pageYOffset+innerHeight))),e.height=Math.min(innerHeight,e.height),e.height-=2,e.width=Math.min(e.width,t.width-(pageXOffset-t.left)),e.width=Math.min(e.width,t.width-(t.left+t.width-(pageXOffset+innerWidth))),e.width=Math.min(innerWidth,e.width),e.width-=2,e.top<pageYOffset&&(e.top=pageYOffset),e.left<pageXOffset&&(e.left=pageXOffset),e}if("scroll-handle"===this.targetModifier){var t=void 0,n=this.target;n===document.body?(n=document.documentElement,t={left:pageXOffset,top:pageYOffset,height:innerHeight,width:innerWidth}):t=a(n);var i=getComputedStyle(n),o=n.scrollWidth>n.clientWidth||[i.overflow,i.overflowX].indexOf("scroll")>=0||this.target!==document.body,r=0;o&&(r=15);var s=t.height-parseFloat(i.borderTopWidth)-parseFloat(i.borderBottomWidth)-r,e={width:15,height:.975*s*(s/n.scrollHeight),left:t.left+t.width-parseFloat(i.borderLeftWidth)-15},l=0;s<408&&this.target===document.body&&(l=-11e-5*Math.pow(s,2)-.00727*s+22.58),this.target!==document.body&&(e.height=Math.max(e.height,24));var h=this.target.scrollTop/(n.scrollHeight-s);return e.top=h*(s-e.height-l)+t.top+parseFloat(i.borderTopWidth),this.target===document.body&&(e.height=Math.max(e.height,24)),e}}},{key:"clearCache",value:function(){this._cache={}}},{key:"cache",value:function(t,e){return"undefined"==typeof this._cache&&(this._cache={}),"undefined"==typeof this._cache[t]&&(this._cache[t]=e.call(this)),this._cache[t]}},{key:"enable",value:function(){var t=this,e=arguments.length<=0||void 0===arguments[0]||arguments[0];this.options.addTargetClasses!==!1&&c(this.target,this.getClass("enabled")),c(this.element,this.getClass("enabled")),this.enabled=!0,this.scrollParents.forEach(function(e){e!==t.target.ownerDocument&&e.addEventListener("scroll",t.position)}),e&&this.position()}},{key:"disable",value:function(){var t=this;u(this.target,this.getClass("enabled")),u(this.element,this.getClass("enabled")),this.enabled=!1,"undefined"!=typeof this.scrollParents&&this.scrollParents.forEach(function(e){e.removeEventListener("scroll",t.position)})}},{key:"destroy",value:function(){var t=this;this.disable(),M.forEach(function(e,n){e===t&&M.splice(n,1)}),0===M.length&&s()}},{key:"updateAttachClasses",value:function(t,e){var n=this;t=t||this.attachment,e=e||this.targetAttachment;var i=["left","top","bottom","right","middle","center"];"undefined"!=typeof this._addAttachClasses&&this._addAttachClasses.length&&this._addAttachClasses.splice(0,this._addAttachClasses.length),"undefined"==typeof this._addAttachClasses&&(this._addAttachClasses=[]);var o=this._addAttachClasses;t.top&&o.push(this.getClass("element-attached")+"-"+t.top),t.left&&o.push(this.getClass("element-attached")+"-"+t.left),e.top&&o.push(this.getClass("target-attached")+"-"+e.top),e.left&&o.push(this.getClass("target-attached")+"-"+e.left);var r=[];i.forEach(function(t){r.push(n.getClass("element-attached")+"-"+t),r.push(n.getClass("target-attached")+"-"+t)}),L(function(){"undefined"!=typeof n._addAttachClasses&&(m(n.element,n._addAttachClasses,r),n.options.addTargetClasses!==!1&&m(n.target,n._addAttachClasses,r),delete n._addAttachClasses)})}},{key:"position",value:function(){var t=this,e=arguments.length<=0||void 0===arguments[0]||arguments[0];if(this.enabled){this.clearCache();var n=B(this.targetAttachment,this.attachment);this.updateAttachClasses(this.attachment,n);var i=this.cache("element-bounds",function(){return a(t.element)}),o=i.width,r=i.height;if(0===o&&0===r&&"undefined"!=typeof this.lastSize){var s=this.lastSize;o=s.width,r=s.height}else this.lastSize={width:o,height:r};var f=this.cache("target-bounds",function(){return t.getTargetBounds()}),u=f,c=T(K(this.attachment),{width:o,height:r}),d=T(K(n),u),p=T(this.offset,{width:o,height:r}),g=T(this.targetOffset,u);c=y(c,p),d=y(d,g);for(var m=f.left+d.left-c.left,_=f.top+d.top-c.top,v=0;v<O.modules.length;++v){var E=O.modules[v],C=E.position.call(this,{left:m,top:_,targetAttachment:n,targetPos:f,elementPos:i,offset:c,targetOffset:d,manualOffset:p,manualTargetOffset:g,scrollbarSize:S,attachment:this.attachment});if(C===!1)return!1;"undefined"!=typeof C&&"object"==typeof C&&(_=C.top,m=C.left)}var A={page:{top:_,left:m},viewport:{top:_-pageYOffset,bottom:pageYOffset-_-r+innerHeight,left:m-pageXOffset,right:pageXOffset-m-o+innerWidth}},b=this.target.ownerDocument,I=b.defaultView,S=void 0;return I.innerHeight>b.documentElement.clientHeight&&(S=this.cache("scrollbar-size",h),A.viewport.bottom-=S.height),I.innerWidth>b.documentElement.clientWidth&&(S=this.cache("scrollbar-size",h),A.viewport.right-=S.width),["","static"].indexOf(b.body.style.position)!==-1&&["","static"].indexOf(b.body.parentElement.style.position)!==-1||(A.page.bottom=b.body.scrollHeight-_-r,A.page.right=b.body.scrollWidth-m-o),"undefined"!=typeof this.options.optimizations&&this.options.optimizations.moveElement!==!1&&"undefined"==typeof this.targetModifier&&!function(){var e=t.cache("target-offsetparent",function(){return l(t.target)}),n=t.cache("target-offsetparent-bounds",function(){return a(e)}),i=getComputedStyle(e),o=n,r={};if(["Top","Left","Bottom","Right"].forEach(function(t){r[t.toLowerCase()]=parseFloat(i["border"+t+"Width"])}),n.right=b.body.scrollWidth-n.left-o.width+r.right,n.bottom=b.body.scrollHeight-n.top-o.height+r.bottom,A.page.top>=n.top+r.top&&A.page.bottom>=n.bottom&&A.page.left>=n.left+r.left&&A.page.right>=n.right){var s=e.scrollTop,h=e.scrollLeft;A.offset={top:A.page.top-n.top+s-r.top,left:A.page.left-n.left+h-r.left}}}(),this.move(A),this.history.unshift(A),this.history.length>3&&this.history.pop(),e&&P(),!0}}},{key:"move",value:function(t){var e=this;if("undefined"!=typeof this.element.parentNode){var n={};for(var i in t){n[i]={};for(var o in t[i]){for(var r=!1,s=0;s<this.history.length;++s){var a=this.history[s];if("undefined"!=typeof a[i]&&!v(a[i][o],t[i][o])){r=!0;break}}r||(n[i][o]=!0)}}var h={top:"",left:"",right:"",bottom:""},u=function(t,n){var i="undefined"!=typeof e.options.optimizations,o=i?e.options.optimizations.gpu:null;if(o!==!1){var r=void 0,s=void 0;if(t.top?(h.top=0,r=n.top):(h.bottom=0,r=-n.bottom),t.left?(h.left=0,s=n.left):(h.right=0,s=-n.right),window.matchMedia){var a=window.matchMedia("only screen and (min-resolution: 1.3dppx)").matches||window.matchMedia("only screen and (-webkit-min-device-pixel-ratio: 1.3)").matches;a||(s=Math.round(s),r=Math.round(r))}h[x]="translateX("+s+"px) translateY("+r+"px)","msTransform"!==x&&(h[x]+=" translateZ(0)")}else t.top?h.top=n.top+"px":h.bottom=n.bottom+"px",t.left?h.left=n.left+"px":h.right=n.right+"px"},c=!1;if((n.page.top||n.page.bottom)&&(n.page.left||n.page.right)?(h.position="absolute",u(n.page,t.page)):(n.viewport.top||n.viewport.bottom)&&(n.viewport.left||n.viewport.right)?(h.position="fixed",u(n.viewport,t.viewport)):"undefined"!=typeof n.offset&&n.offset.top&&n.offset.left?!function(){h.position="absolute";var i=e.cache("target-offsetparent",function(){return l(e.target)});l(e.element)!==i&&L(function(){e.element.parentNode.removeChild(e.element),i.appendChild(e.element)}),u(n.offset,t.offset),c=!0}():(h.position="absolute",u({top:!0,left:!0},t.page)),!c)if(this.options.bodyElement)this.options.bodyElement.appendChild(this.element);else{for(var d=!0,p=this.element.parentNode;p&&1===p.nodeType&&"BODY"!==p.tagName;){if("static"!==getComputedStyle(p).position){d=!1;break}p=p.parentNode}d||(this.element.parentNode.removeChild(this.element),this.element.ownerDocument.body.appendChild(this.element))}var g={},m=!1;for(var o in h){var _=h[o],E=this.element.style[o];E!==_&&(m=!0,g[o]=_)}m&&L(function(){f(e.element.style,g),e.trigger("repositioned")})}}}]),e}(H);Y.modules=[],O.position=V;var X=f(Y,O),k=function(){function t(t,e){var n=[],i=!0,o=!1,r=void 0;try{for(var s,a=t[Symbol.iterator]();!(i=(s=a.next()).done)&&(n.push(s.value),!e||n.length!==e);i=!0);}catch(t){o=!0,r=t}finally{try{!i&&a.return&&a.return()}finally{if(o)throw r}}return n}return function(e,n){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),R=O.Utils,a=R.getBounds,f=R.extend,m=R.updateClasses,L=R.defer,z=["left","top","right","bottom"];O.modules.push({position:function(t){var e=this,n=t.top,i=t.left,o=t.targetAttachment;if(!this.options.constraints)return!0;var r=this.cache("element-bounds",function(){return a(e.element)}),s=r.height,l=r.width;if(0===l&&0===s&&"undefined"!=typeof this.lastSize){var h=this.lastSize;l=h.width,s=h.height}var u=this.cache("target-bounds",function(){return e.getTargetBounds()}),c=u.height,d=u.width,p=[this.getClass("pinned"),this.getClass("out-of-bounds")];this.options.constraints.forEach(function(t){var e=t.outOfBoundsClass,n=t.pinnedClass;e&&p.push(e),n&&p.push(n)}),p.forEach(function(t){["left","top","right","bottom"].forEach(function(e){p.push(t+"-"+e)})});var g=[],_=f({},o),v=f({},this.attachment);return this.options.constraints.forEach(function(t){var r=t.to,a=t.attachment,h=t.pin;"undefined"==typeof a&&(a="");var f=void 0,u=void 0;if(a.indexOf(" ")>=0){var p=a.split(" "),m=k(p,2);u=m[0],f=m[1]}else f=u=a;var E=C(e,r);"target"!==u&&"both"!==u||(n<E[1]&&"top"===_.top&&(n+=c,_.top="bottom"),n+s>E[3]&&"bottom"===_.top&&(n-=c,_.top="top")),"together"===u&&("top"===_.top&&("bottom"===v.top&&n<E[1]?(n+=c,_.top="bottom",n+=s,v.top="top"):"top"===v.top&&n+s>E[3]&&n-(s-c)>=E[1]&&(n-=s-c,_.top="bottom",v.top="bottom")),"bottom"===_.top&&("top"===v.top&&n+s>E[3]?(n-=c,_.top="top",n-=s,v.top="bottom"):"bottom"===v.top&&n<E[1]&&n+(2*s-c)<=E[3]&&(n+=s-c,_.top="top",v.top="top")),"middle"===_.top&&(n+s>E[3]&&"top"===v.top?(n-=s,v.top="bottom"):n<E[1]&&"bottom"===v.top&&(n+=s,v.top="top"))),"target"!==f&&"both"!==f||(i<E[0]&&"left"===_.left&&(i+=d,_.left="right"),i+l>E[2]&&"right"===_.left&&(i-=d,_.left="left")),"together"===f&&(i<E[0]&&"left"===_.left?"right"===v.left?(i+=d,_.left="right",i+=l,v.left="left"):"left"===v.left&&(i+=d,_.left="right",i-=l,v.left="right"):i+l>E[2]&&"right"===_.left?"left"===v.left?(i-=d,_.left="left",i-=l,v.left="right"):"right"===v.left&&(i-=d,_.left="left",i+=l,v.left="left"):"center"===_.left&&(i+l>E[2]&&"left"===v.left?(i-=l,v.left="right"):i<E[0]&&"right"===v.left&&(i+=l,v.left="left"))),"element"!==u&&"both"!==u||(n<E[1]&&"bottom"===v.top&&(n+=s,v.top="top"),n+s>E[3]&&"top"===v.top&&(n-=s,v.top="bottom")),"element"!==f&&"both"!==f||(i<E[0]&&("right"===v.left?(i+=l,v.left="left"):"center"===v.left&&(i+=l/2,v.left="left")),i+l>E[2]&&("left"===v.left?(i-=l,v.left="right"):"center"===v.left&&(i-=l/2,v.left="right"))),"string"==typeof h?h=h.split(",").map(function(t){return t.trim()}):h===!0&&(h=["top","left","right","bottom"]),h=h||[];var y=[],T=[];n<E[1]&&(h.indexOf("top")>=0?(n=E[1],y.push("top")):T.push("top")),n+s>E[3]&&(h.indexOf("bottom")>=0?(n=E[3]-s,y.push("bottom")):T.push("bottom")),i<E[0]&&(h.indexOf("left")>=0?(i=E[0],y.push("left")):T.push("left")),i+l>E[2]&&(h.indexOf("right")>=0?(i=E[2]-l,y.push("right")):T.push("right")),y.length&&!function(){var t=void 0;t="undefined"!=typeof e.options.pinnedClass?e.options.pinnedClass:e.getClass("pinned"),g.push(t),y.forEach(function(e){g.push(t+"-"+e)})}(),T.length&&!function(){var t=void 0;t="undefined"!=typeof e.options.outOfBoundsClass?e.options.outOfBoundsClass:e.getClass("out-of-bounds"),g.push(t),T.forEach(function(e){g.push(t+"-"+e)})}(),(y.indexOf("left")>=0||y.indexOf("right")>=0)&&(v.left=_.left=!1),(y.indexOf("top")>=0||y.indexOf("bottom")>=0)&&(v.top=_.top=!1),_.top===o.top&&_.left===o.left&&v.top===e.attachment.top&&v.left===e.attachment.left||(e.updateAttachClasses(v,_),e.trigger("update",{attachment:v,targetAttachment:_}))}),L(function(){e.options.addTargetClasses!==!1&&m(e.target,g,p),m(e.element,g,p)}),{top:n,left:i}}});var R=O.Utils,a=R.getBounds,m=R.updateClasses,L=R.defer;O.modules.push({position:function(t){var e=this,n=t.top,i=t.left,o=this.cache("element-bounds",function(){return a(e.element)}),r=o.height,s=o.width,l=this.getTargetBounds(),h=n+r,f=i+s,u=[];n<=l.bottom&&h>=l.top&&["left","right"].forEach(function(t){var e=l[t];e!==i&&e!==f||u.push(t)}),i<=l.right&&f>=l.left&&["top","bottom"].forEach(function(t){var e=l[t];e!==n&&e!==h||u.push(t)});var c=[],d=[],p=["left","top","right","bottom"];return c.push(this.getClass("abutted")),p.forEach(function(t){c.push(e.getClass("abutted")+"-"+t)}),u.length&&d.push(this.getClass("abutted")),u.forEach(function(t){d.push(e.getClass("abutted")+"-"+t)}),L(function(){e.options.addTargetClasses!==!1&&m(e.target,d,c),m(e.element,d,c)}),!0}});var k=function(){function t(t,e){var n=[],i=!0,o=!1,r=void 0;try{for(var s,a=t[Symbol.iterator]();!(i=(s=a.next()).done)&&(n.push(s.value),!e||n.length!==e);i=!0);}catch(t){o=!0,r=t}finally{try{!i&&a.return&&a.return()}finally{if(o)throw r}}return n}return function(e,n){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();return O.modules.push({position:function(t){var e=t.top,n=t.left;if(this.options.shift){var i=this.options.shift;"function"==typeof this.options.shift&&(i=this.options.shift.call(this,{top:e,left:n}));var o=void 0,r=void 0;if("string"==typeof i){i=i.split(" "),i[1]=i[1]||i[0];var s=i,a=k(s,2);o=a[0],r=a[1],o=parseFloat(o,10),r=parseFloat(r,10)}else o=i.top,r=i.left;return e+=o,n+=r,{top:e,left:n}}}}),X})},function(t,e,n){(function(t){/*!

+ 	 * Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)

+ 	 * Copyright 2011-2017 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)

+ 	 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)

+ 	 */

+ if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");+function(t){var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||e[0]>=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(jQuery),+function(){function e(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function n(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),s=function(t){function e(t){return{}.toString.call(t).match(/\s([a-zA-Z]+)/)[1].toLowerCase()}function n(t){return(t[0]||t).nodeType}function i(){return{bindType:a.end,delegateType:a.end,handle:function(e){if(t(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}}}function o(){if(window.QUnit)return!1;var t=document.createElement("bootstrap");for(var e in h)if(void 0!==t.style[e])return{end:h[e]};return!1}function r(e){var n=this,i=!1;return t(this).one(f.TRANSITION_END,function(){i=!0}),setTimeout(function(){i||f.triggerTransitionEnd(n)},e),this}function s(){a=o(),t.fn.emulateTransitionEnd=r,f.supportsTransitionEnd()&&(t.event.special[f.TRANSITION_END]=i())}var a=!1,l=1e6,h={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},f={TRANSITION_END:"bsTransitionEnd",getUID:function(t){do t+=~~(Math.random()*l);while(document.getElementById(t));return t},getSelectorFromElement:function(t){var e=t.getAttribute("data-target");return e||(e=t.getAttribute("href")||"",e=/^#[a-z]/i.test(e)?e:null),e},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(e){t(e).trigger(a.end)},supportsTransitionEnd:function(){return Boolean(a)},typeCheckConfig:function(t,i,o){for(var r in o)if(o.hasOwnProperty(r)){var s=o[r],a=i[r],l=a&&n(a)?"element":e(a);if(!new RegExp(s).test(l))throw new Error(t.toUpperCase()+": "+('Option "'+r+'" provided type "'+l+'" ')+('but expected type "'+s+'".'))}}};return s(),f}(jQuery),a=(function(t){var e="alert",n="4.0.0-alpha.6",o="bs.alert",a="."+o,l=".data-api",h=t.fn[e],f=150,u={DISMISS:'[data-dismiss="alert"]'},c={CLOSE:"close"+a,CLOSED:"closed"+a,CLICK_DATA_API:"click"+a+l},d={ALERT:"alert",FADE:"fade",SHOW:"show"},p=function(){function e(t){i(this,e),this._element=t}return e.prototype.close=function(t){t=t||this._element;var e=this._getRootElement(t),n=this._triggerCloseEvent(e);n.isDefaultPrevented()||this._removeElement(e)},e.prototype.dispose=function(){t.removeData(this._element,o),this._element=null},e.prototype._getRootElement=function(e){var n=s.getSelectorFromElement(e),i=!1;return n&&(i=t(n)[0]),i||(i=t(e).closest("."+d.ALERT)[0]),i},e.prototype._triggerCloseEvent=function(e){var n=t.Event(c.CLOSE);return t(e).trigger(n),n},e.prototype._removeElement=function(e){var n=this;return t(e).removeClass(d.SHOW),s.supportsTransitionEnd()&&t(e).hasClass(d.FADE)?void t(e).one(s.TRANSITION_END,function(t){return n._destroyElement(e,t)}).emulateTransitionEnd(f):void this._destroyElement(e)},e.prototype._destroyElement=function(e){t(e).detach().trigger(c.CLOSED).remove()},e._jQueryInterface=function(n){return this.each(function(){var i=t(this),r=i.data(o);r||(r=new e(this),i.data(o,r)),"close"===n&&r[n](this)})},e._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},r(e,null,[{key:"VERSION",get:function(){return n}}]),e}();return t(document).on(c.CLICK_DATA_API,u.DISMISS,p._handleDismiss(new p)),t.fn[e]=p._jQueryInterface,t.fn[e].Constructor=p,t.fn[e].noConflict=function(){return t.fn[e]=h,p._jQueryInterface},p}(jQuery),function(t){var e="button",n="4.0.0-alpha.6",o="bs.button",s="."+o,a=".data-api",l=t.fn[e],h={ACTIVE:"active",BUTTON:"btn",FOCUS:"focus"},f={DATA_TOGGLE_CARROT:'[data-toggle^="button"]',DATA_TOGGLE:'[data-toggle="buttons"]',INPUT:"input",ACTIVE:".active",BUTTON:".btn"},u={CLICK_DATA_API:"click"+s+a,FOCUS_BLUR_DATA_API:"focus"+s+a+" "+("blur"+s+a)},c=function(){function e(t){i(this,e),this._element=t}return e.prototype.toggle=function(){var e=!0,n=t(this._element).closest(f.DATA_TOGGLE)[0];if(n){var i=t(this._element).find(f.INPUT)[0];if(i){if("radio"===i.type)if(i.checked&&t(this._element).hasClass(h.ACTIVE))e=!1;else{var o=t(n).find(f.ACTIVE)[0];o&&t(o).removeClass(h.ACTIVE)}e&&(i.checked=!t(this._element).hasClass(h.ACTIVE),t(i).trigger("change")),i.focus()}}this._element.setAttribute("aria-pressed",!t(this._element).hasClass(h.ACTIVE)),e&&t(this._element).toggleClass(h.ACTIVE)},e.prototype.dispose=function(){t.removeData(this._element,o),this._element=null},e._jQueryInterface=function(n){return this.each(function(){var i=t(this).data(o);i||(i=new e(this),t(this).data(o,i)),"toggle"===n&&i[n]()})},r(e,null,[{key:"VERSION",get:function(){return n}}]),e}();return t(document).on(u.CLICK_DATA_API,f.DATA_TOGGLE_CARROT,function(e){e.preventDefault();var n=e.target;t(n).hasClass(h.BUTTON)||(n=t(n).closest(f.BUTTON)),c._jQueryInterface.call(t(n),"toggle")}).on(u.FOCUS_BLUR_DATA_API,f.DATA_TOGGLE_CARROT,function(e){var n=t(e.target).closest(f.BUTTON)[0];t(n).toggleClass(h.FOCUS,/^focus(in)?$/.test(e.type))}),t.fn[e]=c._jQueryInterface,t.fn[e].Constructor=c,t.fn[e].noConflict=function(){return t.fn[e]=l,c._jQueryInterface},c}(jQuery),function(t){var e="carousel",n="4.0.0-alpha.6",a="bs.carousel",l="."+a,h=".data-api",f=t.fn[e],u=600,c=37,d=39,p={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0},g={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean"},m={NEXT:"next",PREV:"prev",LEFT:"left",RIGHT:"right"},_={SLIDE:"slide"+l,SLID:"slid"+l,KEYDOWN:"keydown"+l,MOUSEENTER:"mouseenter"+l,MOUSELEAVE:"mouseleave"+l,LOAD_DATA_API:"load"+l+h,CLICK_DATA_API:"click"+l+h},v={CAROUSEL:"carousel",ACTIVE:"active",SLIDE:"slide",RIGHT:"carousel-item-right",LEFT:"carousel-item-left",NEXT:"carousel-item-next",PREV:"carousel-item-prev",ITEM:"carousel-item"},E={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",NEXT_PREV:".carousel-item-next, .carousel-item-prev",INDICATORS:".carousel-indicators",DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},y=function(){function h(e,n){i(this,h),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this._config=this._getConfig(n),this._element=t(e)[0],this._indicatorsElement=t(this._element).find(E.INDICATORS)[0],this._addEventListeners()}return h.prototype.next=function(){if(this._isSliding)throw new Error("Carousel is sliding");this._slide(m.NEXT)},h.prototype.nextWhenVisible=function(){document.hidden||this.next()},h.prototype.prev=function(){if(this._isSliding)throw new Error("Carousel is sliding");this._slide(m.PREVIOUS)},h.prototype.pause=function(e){e||(this._isPaused=!0),t(this._element).find(E.NEXT_PREV)[0]&&s.supportsTransitionEnd()&&(s.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},h.prototype.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},h.prototype.to=function(e){var n=this;this._activeElement=t(this._element).find(E.ACTIVE_ITEM)[0];var i=this._getItemIndex(this._activeElement);if(!(e>this._items.length-1||e<0)){if(this._isSliding)return void t(this._element).one(_.SLID,function(){return n.to(e)});if(i===e)return this.pause(),void this.cycle();var o=e>i?m.NEXT:m.PREVIOUS;this._slide(o,this._items[e])}},h.prototype.dispose=function(){t(this._element).off(l),t.removeData(this._element,a),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},h.prototype._getConfig=function(n){return n=t.extend({},p,n),s.typeCheckConfig(e,n,g),n},h.prototype._addEventListeners=function(){var e=this;this._config.keyboard&&t(this._element).on(_.KEYDOWN,function(t){return e._keydown(t)}),"hover"!==this._config.pause||"ontouchstart"in document.documentElement||t(this._element).on(_.MOUSEENTER,function(t){return e.pause(t)}).on(_.MOUSELEAVE,function(t){return e.cycle(t)})},h.prototype._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case c:t.preventDefault(),this.prev();break;case d:t.preventDefault(),this.next();break;default:return}},h.prototype._getItemIndex=function(e){return this._items=t.makeArray(t(e).parent().find(E.ITEM)),this._items.indexOf(e)},h.prototype._getItemByDirection=function(t,e){var n=t===m.NEXT,i=t===m.PREVIOUS,o=this._getItemIndex(e),r=this._items.length-1,s=i&&0===o||n&&o===r;if(s&&!this._config.wrap)return e;var a=t===m.PREVIOUS?-1:1,l=(o+a)%this._items.length;return l===-1?this._items[this._items.length-1]:this._items[l]},h.prototype._triggerSlideEvent=function(e,n){var i=t.Event(_.SLIDE,{relatedTarget:e,direction:n});return t(this._element).trigger(i),i},h.prototype._setActiveIndicatorElement=function(e){if(this._indicatorsElement){t(this._indicatorsElement).find(E.ACTIVE).removeClass(v.ACTIVE);var n=this._indicatorsElement.children[this._getItemIndex(e)];n&&t(n).addClass(v.ACTIVE)}},h.prototype._slide=function(e,n){var i=this,o=t(this._element).find(E.ACTIVE_ITEM)[0],r=n||o&&this._getItemByDirection(e,o),a=Boolean(this._interval),l=void 0,h=void 0,f=void 0;if(e===m.NEXT?(l=v.LEFT,h=v.NEXT,f=m.LEFT):(l=v.RIGHT,h=v.PREV,f=m.RIGHT),r&&t(r).hasClass(v.ACTIVE))return void(this._isSliding=!1);var c=this._triggerSlideEvent(r,f);if(!c.isDefaultPrevented()&&o&&r){this._isSliding=!0,a&&this.pause(),this._setActiveIndicatorElement(r);var d=t.Event(_.SLID,{relatedTarget:r,direction:f});s.supportsTransitionEnd()&&t(this._element).hasClass(v.SLIDE)?(t(r).addClass(h),s.reflow(r),t(o).addClass(l),t(r).addClass(l),t(o).one(s.TRANSITION_END,function(){t(r).removeClass(l+" "+h).addClass(v.ACTIVE),t(o).removeClass(v.ACTIVE+" "+h+" "+l),i._isSliding=!1,setTimeout(function(){return t(i._element).trigger(d)},0)}).emulateTransitionEnd(u)):(t(o).removeClass(v.ACTIVE),t(r).addClass(v.ACTIVE),this._isSliding=!1,t(this._element).trigger(d)),a&&this.cycle()}},h._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(a),i=t.extend({},p,t(this).data());"object"===("undefined"==typeof e?"undefined":o(e))&&t.extend(i,e);var r="string"==typeof e?e:i.slide;if(n||(n=new h(this,i),t(this).data(a,n)),"number"==typeof e)n.to(e);else if("string"==typeof r){if(void 0===n[r])throw new Error('No method named "'+r+'"');n[r]()}else i.interval&&(n.pause(),n.cycle())})},h._dataApiClickHandler=function(e){var n=s.getSelectorFromElement(this);if(n){var i=t(n)[0];if(i&&t(i).hasClass(v.CAROUSEL)){var o=t.extend({},t(i).data(),t(this).data()),r=this.getAttribute("data-slide-to");r&&(o.interval=!1),h._jQueryInterface.call(t(i),o),r&&t(i).data(a).to(r),e.preventDefault()}}},r(h,null,[{key:"VERSION",get:function(){return n}},{key:"Default",get:function(){return p}}]),h}();return t(document).on(_.CLICK_DATA_API,E.DATA_SLIDE,y._dataApiClickHandler),t(window).on(_.LOAD_DATA_API,function(){t(E.DATA_RIDE).each(function(){var e=t(this);y._jQueryInterface.call(e,e.data())})}),t.fn[e]=y._jQueryInterface,t.fn[e].Constructor=y,t.fn[e].noConflict=function(){return t.fn[e]=f,y._jQueryInterface},y}(jQuery),function(t){var e="collapse",n="4.0.0-alpha.6",a="bs.collapse",l="."+a,h=".data-api",f=t.fn[e],u=600,c={toggle:!0,parent:""},d={toggle:"boolean",parent:"string"},p={SHOW:"show"+l,SHOWN:"shown"+l,HIDE:"hide"+l,HIDDEN:"hidden"+l,CLICK_DATA_API:"click"+l+h},g={SHOW:"show",COLLAPSE:"collapse",COLLAPSING:"collapsing",COLLAPSED:"collapsed"},m={WIDTH:"width",HEIGHT:"height"},_={ACTIVES:".card > .show, .card > .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]'},v=function(){function l(e,n){i(this,l),this._isTransitioning=!1,this._element=e,this._config=this._getConfig(n),this._triggerArray=t.makeArray(t('[data-toggle="collapse"][href="#'+e.id+'"],'+('[data-toggle="collapse"][data-target="#'+e.id+'"]'))),this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}return l.prototype.toggle=function(){t(this._element).hasClass(g.SHOW)?this.hide():this.show()},l.prototype.show=function(){var e=this;if(this._isTransitioning)throw new Error("Collapse is transitioning");if(!t(this._element).hasClass(g.SHOW)){var n=void 0,i=void 0;if(this._parent&&(n=t.makeArray(t(this._parent).find(_.ACTIVES)),n.length||(n=null)),!(n&&(i=t(n).data(a),i&&i._isTransitioning))){var o=t.Event(p.SHOW);if(t(this._element).trigger(o),!o.isDefaultPrevented()){n&&(l._jQueryInterface.call(t(n),"hide"),i||t(n).data(a,null));var r=this._getDimension();t(this._element).removeClass(g.COLLAPSE).addClass(g.COLLAPSING),this._element.style[r]=0,this._element.setAttribute("aria-expanded",!0),this._triggerArray.length&&t(this._triggerArray).removeClass(g.COLLAPSED).attr("aria-expanded",!0),this.setTransitioning(!0);var h=function(){t(e._element).removeClass(g.COLLAPSING).addClass(g.COLLAPSE).addClass(g.SHOW),e._element.style[r]="",e.setTransitioning(!1),t(e._element).trigger(p.SHOWN)};if(!s.supportsTransitionEnd())return void h();var f=r[0].toUpperCase()+r.slice(1),c="scroll"+f;t(this._element).one(s.TRANSITION_END,h).emulateTransitionEnd(u),this._element.style[r]=this._element[c]+"px"}}}},l.prototype.hide=function(){var e=this;if(this._isTransitioning)throw new Error("Collapse is transitioning");if(t(this._element).hasClass(g.SHOW)){var n=t.Event(p.HIDE);if(t(this._element).trigger(n),!n.isDefaultPrevented()){var i=this._getDimension(),o=i===m.WIDTH?"offsetWidth":"offsetHeight";this._element.style[i]=this._element[o]+"px",s.reflow(this._element),t(this._element).addClass(g.COLLAPSING).removeClass(g.COLLAPSE).removeClass(g.SHOW),this._element.setAttribute("aria-expanded",!1),this._triggerArray.length&&t(this._triggerArray).addClass(g.COLLAPSED).attr("aria-expanded",!1),this.setTransitioning(!0);var r=function(){e.setTransitioning(!1),t(e._element).removeClass(g.COLLAPSING).addClass(g.COLLAPSE).trigger(p.HIDDEN)};return this._element.style[i]="",s.supportsTransitionEnd()?void t(this._element).one(s.TRANSITION_END,r).emulateTransitionEnd(u):void r()}}},l.prototype.setTransitioning=function(t){this._isTransitioning=t},l.prototype.dispose=function(){t.removeData(this._element,a),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},l.prototype._getConfig=function(n){return n=t.extend({},c,n),n.toggle=Boolean(n.toggle),s.typeCheckConfig(e,n,d),n},l.prototype._getDimension=function(){var e=t(this._element).hasClass(m.WIDTH);return e?m.WIDTH:m.HEIGHT},l.prototype._getParent=function(){var e=this,n=t(this._config.parent)[0],i='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]';return t(n).find(i).each(function(t,n){e._addAriaAndCollapsedClass(l._getTargetFromElement(n),[n])}),n},l.prototype._addAriaAndCollapsedClass=function(e,n){if(e){var i=t(e).hasClass(g.SHOW);e.setAttribute("aria-expanded",i),n.length&&t(n).toggleClass(g.COLLAPSED,!i).attr("aria-expanded",i)}},l._getTargetFromElement=function(e){var n=s.getSelectorFromElement(e);return n?t(n)[0]:null},l._jQueryInterface=function(e){return this.each(function(){var n=t(this),i=n.data(a),r=t.extend({},c,n.data(),"object"===("undefined"==typeof e?"undefined":o(e))&&e);if(!i&&r.toggle&&/show|hide/.test(e)&&(r.toggle=!1),i||(i=new l(this,r),n.data(a,i)),"string"==typeof e){if(void 0===i[e])throw new Error('No method named "'+e+'"');i[e]()}})},r(l,null,[{key:"VERSION",get:function(){return n}},{key:"Default",get:function(){return c}}]),l}();return t(document).on(p.CLICK_DATA_API,_.DATA_TOGGLE,function(e){e.preventDefault();var n=v._getTargetFromElement(this),i=t(n).data(a),o=i?"toggle":t(this).data();v._jQueryInterface.call(t(n),o)}),t.fn[e]=v._jQueryInterface,t.fn[e].Constructor=v,t.fn[e].noConflict=function(){return t.fn[e]=f,v._jQueryInterface},v}(jQuery),function(t){var e="dropdown",n="4.0.0-alpha.6",o="bs.dropdown",a="."+o,l=".data-api",h=t.fn[e],f=27,u=38,c=40,d=3,p={HIDE:"hide"+a,HIDDEN:"hidden"+a,SHOW:"show"+a,SHOWN:"shown"+a,CLICK:"click"+a,CLICK_DATA_API:"click"+a+l,FOCUSIN_DATA_API:"focusin"+a+l,KEYDOWN_DATA_API:"keydown"+a+l},g={BACKDROP:"dropdown-backdrop",DISABLED:"disabled",SHOW:"show"},m={BACKDROP:".dropdown-backdrop",DATA_TOGGLE:'[data-toggle="dropdown"]',FORM_CHILD:".dropdown form",ROLE_MENU:'[role="menu"]',ROLE_LISTBOX:'[role="listbox"]',NAVBAR_NAV:".navbar-nav",VISIBLE_ITEMS:'[role="menu"] li:not(.disabled) a, [role="listbox"] li:not(.disabled) a'},_=function(){function e(t){i(this,e),this._element=t,this._addEventListeners()}return e.prototype.toggle=function(){if(this.disabled||t(this).hasClass(g.DISABLED))return!1;var n=e._getParentFromElement(this),i=t(n).hasClass(g.SHOW);if(e._clearMenus(),i)return!1;if("ontouchstart"in document.documentElement&&!t(n).closest(m.NAVBAR_NAV).length){var o=document.createElement("div");o.className=g.BACKDROP,t(o).insertBefore(this),t(o).on("click",e._clearMenus)}var r={relatedTarget:this},s=t.Event(p.SHOW,r);return t(n).trigger(s),!s.isDefaultPrevented()&&(this.focus(),this.setAttribute("aria-expanded",!0),t(n).toggleClass(g.SHOW),t(n).trigger(t.Event(p.SHOWN,r)),!1)},e.prototype.dispose=function(){t.removeData(this._element,o),t(this._element).off(a),this._element=null},e.prototype._addEventListeners=function(){t(this._element).on(p.CLICK,this.toggle)},e._jQueryInterface=function(n){return this.each(function(){var i=t(this).data(o);if(i||(i=new e(this),t(this).data(o,i)),"string"==typeof n){if(void 0===i[n])throw new Error('No method named "'+n+'"');i[n].call(this)}})},e._clearMenus=function(n){if(!n||n.which!==d){var i=t(m.BACKDROP)[0];i&&i.parentNode.removeChild(i);for(var o=t.makeArray(t(m.DATA_TOGGLE)),r=0;r<o.length;r++){var s=e._getParentFromElement(o[r]),a={relatedTarget:o[r]};if(t(s).hasClass(g.SHOW)&&!(n&&("click"===n.type&&/input|textarea/i.test(n.target.tagName)||"focusin"===n.type)&&t.contains(s,n.target))){var l=t.Event(p.HIDE,a);t(s).trigger(l),l.isDefaultPrevented()||(o[r].setAttribute("aria-expanded","false"),t(s).removeClass(g.SHOW).trigger(t.Event(p.HIDDEN,a)))}}}},e._getParentFromElement=function(e){var n=void 0,i=s.getSelectorFromElement(e);return i&&(n=t(i)[0]),n||e.parentNode},e._dataApiKeydownHandler=function(n){if(/(38|40|27|32)/.test(n.which)&&!/input|textarea/i.test(n.target.tagName)&&(n.preventDefault(),n.stopPropagation(),!this.disabled&&!t(this).hasClass(g.DISABLED))){var i=e._getParentFromElement(this),o=t(i).hasClass(g.SHOW);if(!o&&n.which!==f||o&&n.which===f){if(n.which===f){var r=t(i).find(m.DATA_TOGGLE)[0];t(r).trigger("focus")}return void t(this).trigger("click")}var s=t(i).find(m.VISIBLE_ITEMS).get();if(s.length){var a=s.indexOf(n.target);n.which===u&&a>0&&a--,n.which===c&&a<s.length-1&&a++,a<0&&(a=0),s[a].focus()}}},r(e,null,[{key:"VERSION",get:function(){return n}}]),e}();return t(document).on(p.KEYDOWN_DATA_API,m.DATA_TOGGLE,_._dataApiKeydownHandler).on(p.KEYDOWN_DATA_API,m.ROLE_MENU,_._dataApiKeydownHandler).on(p.KEYDOWN_DATA_API,m.ROLE_LISTBOX,_._dataApiKeydownHandler).on(p.CLICK_DATA_API+" "+p.FOCUSIN_DATA_API,_._clearMenus).on(p.CLICK_DATA_API,m.DATA_TOGGLE,_.prototype.toggle).on(p.CLICK_DATA_API,m.FORM_CHILD,function(t){t.stopPropagation()}),t.fn[e]=_._jQueryInterface,t.fn[e].Constructor=_,t.fn[e].noConflict=function(){return t.fn[e]=h,_._jQueryInterface},_}(jQuery),function(t){var e="modal",n="4.0.0-alpha.6",a="bs.modal",l="."+a,h=".data-api",f=t.fn[e],u=300,c=150,d=27,p={backdrop:!0,keyboard:!0,focus:!0,show:!0},g={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},m={HIDE:"hide"+l,HIDDEN:"hidden"+l,SHOW:"show"+l,SHOWN:"shown"+l,FOCUSIN:"focusin"+l,RESIZE:"resize"+l,CLICK_DISMISS:"click.dismiss"+l,KEYDOWN_DISMISS:"keydown.dismiss"+l,MOUSEUP_DISMISS:"mouseup.dismiss"+l,MOUSEDOWN_DISMISS:"mousedown.dismiss"+l,CLICK_DATA_API:"click"+l+h},_={SCROLLBAR_MEASURER:"modal-scrollbar-measure",BACKDROP:"modal-backdrop",OPEN:"modal-open",FADE:"fade",SHOW:"show"},v={DIALOG:".modal-dialog",DATA_TOGGLE:'[data-toggle="modal"]',DATA_DISMISS:'[data-dismiss="modal"]',FIXED_CONTENT:".fixed-top, .fixed-bottom, .is-fixed, .sticky-top"},E=function(){function h(e,n){i(this,h),this._config=this._getConfig(n),this._element=e,this._dialog=t(e).find(v.DIALOG)[0],this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._originalBodyPadding=0,this._scrollbarWidth=0}return h.prototype.toggle=function(t){return this._isShown?this.hide():this.show(t)},h.prototype.show=function(e){var n=this;if(this._isTransitioning)throw new Error("Modal is transitioning");s.supportsTransitionEnd()&&t(this._element).hasClass(_.FADE)&&(this._isTransitioning=!0);var i=t.Event(m.SHOW,{relatedTarget:e});t(this._element).trigger(i),this._isShown||i.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),t(document.body).addClass(_.OPEN),this._setEscapeEvent(),this._setResizeEvent(),t(this._element).on(m.CLICK_DISMISS,v.DATA_DISMISS,function(t){return n.hide(t)}),t(this._dialog).on(m.MOUSEDOWN_DISMISS,function(){t(n._element).one(m.MOUSEUP_DISMISS,function(e){t(e.target).is(n._element)&&(n._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return n._showElement(e)}))},h.prototype.hide=function(e){var n=this;if(e&&e.preventDefault(),this._isTransitioning)throw new Error("Modal is transitioning");var i=s.supportsTransitionEnd()&&t(this._element).hasClass(_.FADE);i&&(this._isTransitioning=!0);var o=t.Event(m.HIDE);t(this._element).trigger(o),this._isShown&&!o.isDefaultPrevented()&&(this._isShown=!1,this._setEscapeEvent(),this._setResizeEvent(),t(document).off(m.FOCUSIN),t(this._element).removeClass(_.SHOW),t(this._element).off(m.CLICK_DISMISS),t(this._dialog).off(m.MOUSEDOWN_DISMISS),i?t(this._element).one(s.TRANSITION_END,function(t){return n._hideModal(t)}).emulateTransitionEnd(u):this._hideModal())},h.prototype.dispose=function(){t.removeData(this._element,a),t(window,document,this._element,this._backdrop).off(l),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._originalBodyPadding=null,this._scrollbarWidth=null},h.prototype._getConfig=function(n){return n=t.extend({},p,n),s.typeCheckConfig(e,n,g),n},h.prototype._showElement=function(e){var n=this,i=s.supportsTransitionEnd()&&t(this._element).hasClass(_.FADE);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.scrollTop=0,i&&s.reflow(this._element),t(this._element).addClass(_.SHOW),this._config.focus&&this._enforceFocus();var o=t.Event(m.SHOWN,{relatedTarget:e}),r=function(){n._config.focus&&n._element.focus(),n._isTransitioning=!1,t(n._element).trigger(o)};i?t(this._dialog).one(s.TRANSITION_END,r).emulateTransitionEnd(u):r()},h.prototype._enforceFocus=function(){var e=this;t(document).off(m.FOCUSIN).on(m.FOCUSIN,function(n){document===n.target||e._element===n.target||t(e._element).has(n.target).length||e._element.focus()})},h.prototype._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?t(this._element).on(m.KEYDOWN_DISMISS,function(t){t.which===d&&e.hide()}):this._isShown||t(this._element).off(m.KEYDOWN_DISMISS)},h.prototype._setResizeEvent=function(){var e=this;this._isShown?t(window).on(m.RESIZE,function(t){return e._handleUpdate(t)}):t(window).off(m.RESIZE)},h.prototype._hideModal=function(){var e=this;this._element.style.display="none",this._element.setAttribute("aria-hidden","true"),this._isTransitioning=!1,this._showBackdrop(function(){t(document.body).removeClass(_.OPEN),e._resetAdjustments(),e._resetScrollbar(),t(e._element).trigger(m.HIDDEN)})},h.prototype._removeBackdrop=function(){this._backdrop&&(t(this._backdrop).remove(),this._backdrop=null)},h.prototype._showBackdrop=function(e){var n=this,i=t(this._element).hasClass(_.FADE)?_.FADE:"";if(this._isShown&&this._config.backdrop){var o=s.supportsTransitionEnd()&&i;if(this._backdrop=document.createElement("div"),this._backdrop.className=_.BACKDROP,i&&t(this._backdrop).addClass(i),t(this._backdrop).appendTo(document.body),t(this._element).on(m.CLICK_DISMISS,function(t){return n._ignoreBackdropClick?void(n._ignoreBackdropClick=!1):void(t.target===t.currentTarget&&("static"===n._config.backdrop?n._element.focus():n.hide()))}),o&&s.reflow(this._backdrop),t(this._backdrop).addClass(_.SHOW),!e)return;if(!o)return void e();t(this._backdrop).one(s.TRANSITION_END,e).emulateTransitionEnd(c)}else if(!this._isShown&&this._backdrop){t(this._backdrop).removeClass(_.SHOW);var r=function(){n._removeBackdrop(),e&&e()};s.supportsTransitionEnd()&&t(this._element).hasClass(_.FADE)?t(this._backdrop).one(s.TRANSITION_END,r).emulateTransitionEnd(c):r()}else e&&e()},h.prototype._handleUpdate=function(){this._adjustDialog()},h.prototype._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},h.prototype._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},h.prototype._checkScrollbar=function(){this._isBodyOverflowing=document.body.clientWidth<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},h.prototype._setScrollbar=function(){var e=parseInt(t(v.FIXED_CONTENT).css("padding-right")||0,10);this._originalBodyPadding=document.body.style.paddingRight||"",this._isBodyOverflowing&&(document.body.style.paddingRight=e+this._scrollbarWidth+"px")},h.prototype._resetScrollbar=function(){document.body.style.paddingRight=this._originalBodyPadding},h.prototype._getScrollbarWidth=function(){var t=document.createElement("div");t.className=_.SCROLLBAR_MEASURER,document.body.appendChild(t);var e=t.offsetWidth-t.clientWidth;return document.body.removeChild(t),e},h._jQueryInterface=function(e,n){return this.each(function(){var i=t(this).data(a),r=t.extend({},h.Default,t(this).data(),"object"===("undefined"==typeof e?"undefined":o(e))&&e);if(i||(i=new h(this,r),t(this).data(a,i)),"string"==typeof e){if(void 0===i[e])throw new Error('No method named "'+e+'"');i[e](n)}else r.show&&i.show(n)})},r(h,null,[{key:"VERSION",get:function(){return n}},{key:"Default",get:function(){return p}}]),h}();return t(document).on(m.CLICK_DATA_API,v.DATA_TOGGLE,function(e){var n=this,i=void 0,o=s.getSelectorFromElement(this);o&&(i=t(o)[0]);var r=t(i).data(a)?"toggle":t.extend({},t(i).data(),t(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||e.preventDefault();var l=t(i).one(m.SHOW,function(e){e.isDefaultPrevented()||l.one(m.HIDDEN,function(){t(n).is(":visible")&&n.focus()})});E._jQueryInterface.call(t(i),r,this)}),t.fn[e]=E._jQueryInterface,t.fn[e].Constructor=E,t.fn[e].noConflict=function(){return t.fn[e]=f,E._jQueryInterface},E}(jQuery),function(t){var e="scrollspy",n="4.0.0-alpha.6",a="bs.scrollspy",l="."+a,h=".data-api",f=t.fn[e],u={offset:10,method:"auto",target:""},c={offset:"number",method:"string",target:"(string|element)"},d={ACTIVATE:"activate"+l,SCROLL:"scroll"+l,LOAD_DATA_API:"load"+l+h},p={DROPDOWN_ITEM:"dropdown-item",DROPDOWN_MENU:"dropdown-menu",NAV_LINK:"nav-link",NAV:"nav",ACTIVE:"active"},g={DATA_SPY:'[data-spy="scroll"]',ACTIVE:".active",LIST_ITEM:".list-item",LI:"li",LI_DROPDOWN:"li.dropdown",NAV_LINKS:".nav-link",DROPDOWN:".dropdown",DROPDOWN_ITEMS:".dropdown-item",DROPDOWN_TOGGLE:".dropdown-toggle"},m={OFFSET:"offset",POSITION:"position"},_=function(){function h(e,n){var o=this;i(this,h),this._element=e,this._scrollElement="BODY"===e.tagName?window:e,this._config=this._getConfig(n),this._selector=this._config.target+" "+g.NAV_LINKS+","+(this._config.target+" "+g.DROPDOWN_ITEMS),this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,t(this._scrollElement).on(d.SCROLL,function(t){return o._process(t)}),this.refresh(),this._process()}return h.prototype.refresh=function(){var e=this,n=this._scrollElement!==this._scrollElement.window?m.POSITION:m.OFFSET,i="auto"===this._config.method?n:this._config.method,o=i===m.POSITION?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight();var r=t.makeArray(t(this._selector));r.map(function(e){var n=void 0,r=s.getSelectorFromElement(e);return r&&(n=t(r)[0]),n&&(n.offsetWidth||n.offsetHeight)?[t(n)[i]().top+o,r]: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])})},h.prototype.dispose=function(){t.removeData(this._element,a),t(this._scrollElement).off(l),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},h.prototype._getConfig=function(n){if(n=t.extend({},u,n),"string"!=typeof n.target){var i=t(n.target).attr("id");i||(i=s.getUID(e),t(n.target).attr("id",i)),n.target="#"+i}return s.typeCheckConfig(e,n,c),n},h.prototype._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},h.prototype._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},h.prototype._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.offsetHeight},h.prototype._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];return void(this._activeTarget!==i&&this._activate(i))}if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){var r=this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&(void 0===this._offsets[o+1]||t<this._offsets[o+1]);r&&this._activate(this._targets[o])}},h.prototype._activate=function(e){this._activeTarget=e,this._clear();var n=this._selector.split(",");n=n.map(function(t){return t+'[data-target="'+e+'"],'+(t+'[href="'+e+'"]')});var i=t(n.join(","));i.hasClass(p.DROPDOWN_ITEM)?(i.closest(g.DROPDOWN).find(g.DROPDOWN_TOGGLE).addClass(p.ACTIVE),i.addClass(p.ACTIVE)):i.parents(g.LI).find("> "+g.NAV_LINKS).addClass(p.ACTIVE),t(this._scrollElement).trigger(d.ACTIVATE,{relatedTarget:e})},h.prototype._clear=function(){t(this._selector).filter(g.ACTIVE).removeClass(p.ACTIVE)},h._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(a),i="object"===("undefined"==typeof e?"undefined":o(e))&&e;

+ if(n||(n=new h(this,i),t(this).data(a,n)),"string"==typeof e){if(void 0===n[e])throw new Error('No method named "'+e+'"');n[e]()}})},r(h,null,[{key:"VERSION",get:function(){return n}},{key:"Default",get:function(){return u}}]),h}();return t(window).on(d.LOAD_DATA_API,function(){for(var e=t.makeArray(t(g.DATA_SPY)),n=e.length;n--;){var i=t(e[n]);_._jQueryInterface.call(i,i.data())}}),t.fn[e]=_._jQueryInterface,t.fn[e].Constructor=_,t.fn[e].noConflict=function(){return t.fn[e]=f,_._jQueryInterface},_}(jQuery),function(t){var e="tab",n="4.0.0-alpha.6",o="bs.tab",a="."+o,l=".data-api",h=t.fn[e],f=150,u={HIDE:"hide"+a,HIDDEN:"hidden"+a,SHOW:"show"+a,SHOWN:"shown"+a,CLICK_DATA_API:"click"+a+l},c={DROPDOWN_MENU:"dropdown-menu",ACTIVE:"active",DISABLED:"disabled",FADE:"fade",SHOW:"show"},d={A:"a",LI:"li",DROPDOWN:".dropdown",LIST:"ul:not(.dropdown-menu), ol:not(.dropdown-menu), nav:not(.dropdown-menu)",FADE_CHILD:"> .nav-item .fade, > .fade",ACTIVE:".active",ACTIVE_CHILD:"> .nav-item > .active, > .active",DATA_TOGGLE:'[data-toggle="tab"], [data-toggle="pill"]',DROPDOWN_TOGGLE:".dropdown-toggle",DROPDOWN_ACTIVE_CHILD:"> .dropdown-menu .active"},p=function(){function e(t){i(this,e),this._element=t}return e.prototype.show=function(){var e=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&t(this._element).hasClass(c.ACTIVE)||t(this._element).hasClass(c.DISABLED))){var n=void 0,i=void 0,o=t(this._element).closest(d.LIST)[0],r=s.getSelectorFromElement(this._element);o&&(i=t.makeArray(t(o).find(d.ACTIVE)),i=i[i.length-1]);var a=t.Event(u.HIDE,{relatedTarget:this._element}),l=t.Event(u.SHOW,{relatedTarget:i});if(i&&t(i).trigger(a),t(this._element).trigger(l),!l.isDefaultPrevented()&&!a.isDefaultPrevented()){r&&(n=t(r)[0]),this._activate(this._element,o);var h=function(){var n=t.Event(u.HIDDEN,{relatedTarget:e._element}),o=t.Event(u.SHOWN,{relatedTarget:i});t(i).trigger(n),t(e._element).trigger(o)};n?this._activate(n,n.parentNode,h):h()}}},e.prototype.dispose=function(){t.removeClass(this._element,o),this._element=null},e.prototype._activate=function(e,n,i){var o=this,r=t(n).find(d.ACTIVE_CHILD)[0],a=i&&s.supportsTransitionEnd()&&(r&&t(r).hasClass(c.FADE)||Boolean(t(n).find(d.FADE_CHILD)[0])),l=function(){return o._transitionComplete(e,r,a,i)};r&&a?t(r).one(s.TRANSITION_END,l).emulateTransitionEnd(f):l(),r&&t(r).removeClass(c.SHOW)},e.prototype._transitionComplete=function(e,n,i,o){if(n){t(n).removeClass(c.ACTIVE);var r=t(n.parentNode).find(d.DROPDOWN_ACTIVE_CHILD)[0];r&&t(r).removeClass(c.ACTIVE),n.setAttribute("aria-expanded",!1)}if(t(e).addClass(c.ACTIVE),e.setAttribute("aria-expanded",!0),i?(s.reflow(e),t(e).addClass(c.SHOW)):t(e).removeClass(c.FADE),e.parentNode&&t(e.parentNode).hasClass(c.DROPDOWN_MENU)){var a=t(e).closest(d.DROPDOWN)[0];a&&t(a).find(d.DROPDOWN_TOGGLE).addClass(c.ACTIVE),e.setAttribute("aria-expanded",!0)}o&&o()},e._jQueryInterface=function(n){return this.each(function(){var i=t(this),r=i.data(o);if(r||(r=new e(this),i.data(o,r)),"string"==typeof n){if(void 0===r[n])throw new Error('No method named "'+n+'"');r[n]()}})},r(e,null,[{key:"VERSION",get:function(){return n}}]),e}();return t(document).on(u.CLICK_DATA_API,d.DATA_TOGGLE,function(e){e.preventDefault(),p._jQueryInterface.call(t(this),"show")}),t.fn[e]=p._jQueryInterface,t.fn[e].Constructor=p,t.fn[e].noConflict=function(){return t.fn[e]=h,p._jQueryInterface},p}(jQuery),function(e){if("undefined"==typeof t)throw new Error("Bootstrap tooltips require Tether (http://tether.io/)");var n="tooltip",a="4.0.0-alpha.6",l="bs.tooltip",h="."+l,f=e.fn[n],u=150,c="bs-tether",d={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:"0 0",constraints:[],container:!1},p={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"string",constraints:"array",container:"(string|element|boolean)"},g={TOP:"bottom center",RIGHT:"middle left",BOTTOM:"top center",LEFT:"middle right"},m={SHOW:"show",OUT:"out"},_={HIDE:"hide"+h,HIDDEN:"hidden"+h,SHOW:"show"+h,SHOWN:"shown"+h,INSERTED:"inserted"+h,CLICK:"click"+h,FOCUSIN:"focusin"+h,FOCUSOUT:"focusout"+h,MOUSEENTER:"mouseenter"+h,MOUSELEAVE:"mouseleave"+h},v={FADE:"fade",SHOW:"show"},E={TOOLTIP:".tooltip",TOOLTIP_INNER:".tooltip-inner"},y={element:!1,enabled:!1},T={HOVER:"hover",FOCUS:"focus",CLICK:"click",MANUAL:"manual"},C=function(){function f(t,e){i(this,f),this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._isTransitioning=!1,this._tether=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}return f.prototype.enable=function(){this._isEnabled=!0},f.prototype.disable=function(){this._isEnabled=!1},f.prototype.toggleEnabled=function(){this._isEnabled=!this._isEnabled},f.prototype.toggle=function(t){if(t){var n=this.constructor.DATA_KEY,i=e(t.currentTarget).data(n);i||(i=new this.constructor(t.currentTarget,this._getDelegateConfig()),e(t.currentTarget).data(n,i)),i._activeTrigger.click=!i._activeTrigger.click,i._isWithActiveTrigger()?i._enter(null,i):i._leave(null,i)}else{if(e(this.getTipElement()).hasClass(v.SHOW))return void this._leave(null,this);this._enter(null,this)}},f.prototype.dispose=function(){clearTimeout(this._timeout),this.cleanupTether(),e.removeData(this.element,this.constructor.DATA_KEY),e(this.element).off(this.constructor.EVENT_KEY),e(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&e(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._tether=null,this.element=null,this.config=null,this.tip=null},f.prototype.show=function(){var n=this;if("none"===e(this.element).css("display"))throw new Error("Please use show on visible elements");var i=e.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){if(this._isTransitioning)throw new Error("Tooltip is transitioning");e(this.element).trigger(i);var o=e.contains(this.element.ownerDocument.documentElement,this.element);if(i.isDefaultPrevented()||!o)return;var r=this.getTipElement(),a=s.getUID(this.constructor.NAME);r.setAttribute("id",a),this.element.setAttribute("aria-describedby",a),this.setContent(),this.config.animation&&e(r).addClass(v.FADE);var l="function"==typeof this.config.placement?this.config.placement.call(this,r,this.element):this.config.placement,h=this._getAttachment(l),u=this.config.container===!1?document.body:e(this.config.container);e(r).data(this.constructor.DATA_KEY,this).appendTo(u),e(this.element).trigger(this.constructor.Event.INSERTED),this._tether=new t({attachment:h,element:r,target:this.element,classes:y,classPrefix:c,offset:this.config.offset,constraints:this.config.constraints,addTargetClasses:!1}),s.reflow(r),this._tether.position(),e(r).addClass(v.SHOW);var d=function(){var t=n._hoverState;n._hoverState=null,n._isTransitioning=!1,e(n.element).trigger(n.constructor.Event.SHOWN),t===m.OUT&&n._leave(null,n)};if(s.supportsTransitionEnd()&&e(this.tip).hasClass(v.FADE))return this._isTransitioning=!0,void e(this.tip).one(s.TRANSITION_END,d).emulateTransitionEnd(f._TRANSITION_DURATION);d()}},f.prototype.hide=function(t){var n=this,i=this.getTipElement(),o=e.Event(this.constructor.Event.HIDE);if(this._isTransitioning)throw new Error("Tooltip is transitioning");var r=function(){n._hoverState!==m.SHOW&&i.parentNode&&i.parentNode.removeChild(i),n.element.removeAttribute("aria-describedby"),e(n.element).trigger(n.constructor.Event.HIDDEN),n._isTransitioning=!1,n.cleanupTether(),t&&t()};e(this.element).trigger(o),o.isDefaultPrevented()||(e(i).removeClass(v.SHOW),this._activeTrigger[T.CLICK]=!1,this._activeTrigger[T.FOCUS]=!1,this._activeTrigger[T.HOVER]=!1,s.supportsTransitionEnd()&&e(this.tip).hasClass(v.FADE)?(this._isTransitioning=!0,e(i).one(s.TRANSITION_END,r).emulateTransitionEnd(u)):r(),this._hoverState="")},f.prototype.isWithContent=function(){return Boolean(this.getTitle())},f.prototype.getTipElement=function(){return this.tip=this.tip||e(this.config.template)[0]},f.prototype.setContent=function(){var t=e(this.getTipElement());this.setElementContent(t.find(E.TOOLTIP_INNER),this.getTitle()),t.removeClass(v.FADE+" "+v.SHOW),this.cleanupTether()},f.prototype.setElementContent=function(t,n){var i=this.config.html;"object"===("undefined"==typeof n?"undefined":o(n))&&(n.nodeType||n.jquery)?i?e(n).parent().is(t)||t.empty().append(n):t.text(e(n).text()):t[i?"html":"text"](n)},f.prototype.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},f.prototype.cleanupTether=function(){this._tether&&this._tether.destroy()},f.prototype._getAttachment=function(t){return g[t.toUpperCase()]},f.prototype._setListeners=function(){var t=this,n=this.config.trigger.split(" ");n.forEach(function(n){if("click"===n)e(t.element).on(t.constructor.Event.CLICK,t.config.selector,function(e){return t.toggle(e)});else if(n!==T.MANUAL){var i=n===T.HOVER?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,o=n===T.HOVER?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;e(t.element).on(i,t.config.selector,function(e){return t._enter(e)}).on(o,t.config.selector,function(e){return t._leave(e)})}e(t.element).closest(".modal").on("hide.bs.modal",function(){return t.hide()})}),this.config.selector?this.config=e.extend({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},f.prototype._fixTitle=function(){var t=o(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",""))},f.prototype._enter=function(t,n){var i=this.constructor.DATA_KEY;return n=n||e(t.currentTarget).data(i),n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),e(t.currentTarget).data(i,n)),t&&(n._activeTrigger["focusin"===t.type?T.FOCUS:T.HOVER]=!0),e(n.getTipElement()).hasClass(v.SHOW)||n._hoverState===m.SHOW?void(n._hoverState=m.SHOW):(clearTimeout(n._timeout),n._hoverState=m.SHOW,n.config.delay&&n.config.delay.show?void(n._timeout=setTimeout(function(){n._hoverState===m.SHOW&&n.show()},n.config.delay.show)):void n.show())},f.prototype._leave=function(t,n){var i=this.constructor.DATA_KEY;if(n=n||e(t.currentTarget).data(i),n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),e(t.currentTarget).data(i,n)),t&&(n._activeTrigger["focusout"===t.type?T.FOCUS:T.HOVER]=!1),!n._isWithActiveTrigger())return clearTimeout(n._timeout),n._hoverState=m.OUT,n.config.delay&&n.config.delay.hide?void(n._timeout=setTimeout(function(){n._hoverState===m.OUT&&n.hide()},n.config.delay.hide)):void n.hide()},f.prototype._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},f.prototype._getConfig=function(t){return t=e.extend({},this.constructor.Default,e(this.element).data(),t),t.delay&&"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),s.typeCheckConfig(n,t,this.constructor.DefaultType),t},f.prototype._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},f._jQueryInterface=function(t){return this.each(function(){var n=e(this).data(l),i="object"===("undefined"==typeof t?"undefined":o(t))&&t;if((n||!/dispose|hide/.test(t))&&(n||(n=new f(this,i),e(this).data(l,n)),"string"==typeof t)){if(void 0===n[t])throw new Error('No method named "'+t+'"');n[t]()}})},r(f,null,[{key:"VERSION",get:function(){return a}},{key:"Default",get:function(){return d}},{key:"NAME",get:function(){return n}},{key:"DATA_KEY",get:function(){return l}},{key:"Event",get:function(){return _}},{key:"EVENT_KEY",get:function(){return h}},{key:"DefaultType",get:function(){return p}}]),f}();return e.fn[n]=C._jQueryInterface,e.fn[n].Constructor=C,e.fn[n].noConflict=function(){return e.fn[n]=f,C._jQueryInterface},C}(jQuery));(function(t){var s="popover",l="4.0.0-alpha.6",h="bs.popover",f="."+h,u=t.fn[s],c=t.extend({},a.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),d=t.extend({},a.DefaultType,{content:"(string|element|function)"}),p={FADE:"fade",SHOW:"show"},g={TITLE:".popover-title",CONTENT:".popover-content"},m={HIDE:"hide"+f,HIDDEN:"hidden"+f,SHOW:"show"+f,SHOWN:"shown"+f,INSERTED:"inserted"+f,CLICK:"click"+f,FOCUSIN:"focusin"+f,FOCUSOUT:"focusout"+f,MOUSEENTER:"mouseenter"+f,MOUSELEAVE:"mouseleave"+f},_=function(a){function u(){return i(this,u),e(this,a.apply(this,arguments))}return n(u,a),u.prototype.isWithContent=function(){return this.getTitle()||this._getContent()},u.prototype.getTipElement=function(){return this.tip=this.tip||t(this.config.template)[0]},u.prototype.setContent=function(){var e=t(this.getTipElement());this.setElementContent(e.find(g.TITLE),this.getTitle()),this.setElementContent(e.find(g.CONTENT),this._getContent()),e.removeClass(p.FADE+" "+p.SHOW),this.cleanupTether()},u.prototype._getContent=function(){return this.element.getAttribute("data-content")||("function"==typeof this.config.content?this.config.content.call(this.element):this.config.content)},u._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(h),i="object"===("undefined"==typeof e?"undefined":o(e))?e:null;if((n||!/destroy|hide/.test(e))&&(n||(n=new u(this,i),t(this).data(h,n)),"string"==typeof e)){if(void 0===n[e])throw new Error('No method named "'+e+'"');n[e]()}})},r(u,null,[{key:"VERSION",get:function(){return l}},{key:"Default",get:function(){return c}},{key:"NAME",get:function(){return s}},{key:"DATA_KEY",get:function(){return h}},{key:"Event",get:function(){return m}},{key:"EVENT_KEY",get:function(){return f}},{key:"DefaultType",get:function(){return d}}]),u}(a);return t.fn[s]=_._jQueryInterface,t.fn[s].Constructor=_,t.fn[s].noConflict=function(){return t.fn[s]=u,_._jQueryInterface},_})(jQuery)}()}).call(e,n(1))},function(t,e){}]); 

\ No newline at end of file

@@ -0,0 +1,205 @@ 

+ .hll {

+ background-color:#eee;

+ }

+ .c {

+ color:#408090;

+ font-style:italic;

+ }

+ .err {

+ border:1px solid #FF0000;

+ }

+ .k {

+ color:#007020;

+ font-weight:bold;

+ }

+ .o {

+ color:#666666;

+ }

+ .cm {

+ color:#408090;

+ font-style:italic;

+ }

+ .cp {

+ color:#007020;

+ }

+ .c1 {

+ color:#408090;

+ font-style:italic;

+ }

+ .cs {

+ background-color:#FFF0F0;

+ color:#408090;

+ }

+ .gd {

+ color:#A00000;

+ }

+ .ge {

+ font-style:italic;

+ }

+ .gr {

+ color:#FF0000;

+ }

+ .gh {

+ color:#000080;

+ font-weight:bold;

+ }

+ .gi {

+ color:#00A000;

+ }

+ .go {

+ color:#303030;

+ }

+ .gp {

+ color:#C65D09;

+ font-weight:bold;

+ }

+ .gs {

+ font-weight:bold;

+ }

+ .gu {

+ color:#800080;

+ font-weight:bold;

+ }

+ .gt {

+ color:#0040D0;

+ }

+ .kc {

+ color:#007020;

+ font-weight:bold;

+ }

+ .kd {

+ color:#007020;

+ font-weight:bold;

+ }

+ .kn {

+ color:#007020;

+ font-weight:bold;

+ }

+ .kp {

+ color:#007020;

+ }

+ .kr {

+ color:#007020;

+ font-weight:bold;

+ }

+ .kt {

+ color:#902000;

+ }

+ .m {

+ color:#208050;

+ }

+ .s {

+ color:#4070A0;

+ }

+ .na {

+ color:#4070A0;

+ }

+ .nb {

+ color:#007020;

+ }

+ .nc {

+ color:#0E84B5;

+ font-weight:bold;

+ }

+ .no {

+ color:#60ADD5;

+ }

+ .nd {

+ color:#555555;

+ font-weight:bold;

+ }

+ .ni {

+ color:#D55537;

+ font-weight:bold;

+ }

+ .ne {

+ color:#007020;

+ }

+ .nf {

+ color:#06287E;

+ }

+ .nl {

+ color:#002070;

+ font-weight:bold;

+ }

+ .nn {

+ color:#0E84B5;

+ font-weight:bold;

+ }

+ .nt {

+ color:#062873;

+ font-weight:bold;

+ }

+ .nv {

+ color:#BB60D5;

+ }

+ .ow {

+ color:#007020;

+ font-weight:bold;

+ }

+ .w {

+ color:#BBBBBB;

+ }

+ .mf {

+ color:#208050;

+ }

+ .mh {

+ color:#208050;

+ }

+ .mi {

+ color:#208050;

+ }

+ .mo {

+ color:#208050;

+ }

+ .sb {

+ color:#4070A0;

+ }

+ .sc {

+ color:#4070A0;

+ }

+ .sd {

+ color:#4070A0;

+ font-style:italic;

+ }

+ .s2 {

+ color:#4070A0;

+ }

+ .se {

+ color:#4070A0;

+ font-weight:bold;

+ }

+ .sh {

+ color:#4070A0;

+ }

+ .si {

+ color:#70A0D0;

+ font-style:italic;

+ }

+ .sx {

+ color:#C65D09;

+ }

+ .sr {

+ color:#235388;

+ }

+ .s1 {

+ color:#4070A0;

+ }

+ .ss {

+ color:#517918;

+ }

+ .bp {

+ color:#007020;

+ }

+ .vc {

+ color:#BB60D5;

+ }

+ .vg {

+ color:#BB60D5;

+ }

+ .vi {

+ color:#BB60D5;

+ }

+ .il {

+ color:#208050;

+ }

empty or binary file added
@@ -0,0 +1,1 @@ 

+ !function(e){e.fn.tagSort=function(t){var s={items:".item-tagsort",tagElement:"span",tagClassPrefix:!1,itemTagsView:!1,itemTagsSeperator:" ",itemTagsElement:!1,sortType:"exclusive",fadeTime:0,reset:!1};t=e.extend(s,t);var i={generateTags:function(s){var a={},n={pointers:[],tags:[]},o=e(document.createElement(t.tagElement));return s.each(function(s){$element=e(this);var r=$element.data("item-tags"),c=r.match(/,\s+/)?r.split(", "):r.split(",");e.each(c,function(n,r){var c=r.toLowerCase();a[c]||(a[c]=[],i.container.append(t.tagClassPrefix!==!1?o.clone().text(r).addClass((t.tagClassPrefix+r.toLowerCase()).replace(/[!\"#$%&'\(\)\*\+,\.\/:;<=>\?\@\[\\\]\^`\{\|\}~]/g,"")):o.clone().text(r))),t.itemTagsView!==!1&&(t.itemTagsElement!==!1?$element.find(t.itemTagsView).append(e(document.createElement(t.itemTagsElement)).clone().text(r)):$element.find(t.itemTagsView).append(n>0?t.itemTagsSeperator+r:r)),a[c].push(s)}),"exclusive"==t.sortType&&(n.pointers.push(s),n.tags.push(c))}),"inclusive"==t.sortType||"single"==t.sortType?a:"exclusive"==t.sortType?n:void 0},exclusiveSort:function(t){var s=[[],[]];return e.each(t.pointers,function(a,n){var o=!0;i.container.find(".tagsort-active").each(function(i){-1==t.tags[a].indexOf(e(this).text())&&(o=!1,s[0].push(n))}),1==o&&s[1].push(n)}),s},inclusiveSort:function(t,s){var a=[s,[]];return i.container.find(".tagsort-active").each(function(s){e.each(t[e(this).text().toLowerCase()],function(e,t){a[0].splice(a[0].indexOf(t),1),a[1].push(t)})}),a},showElements:function(s,i){e.each(s,function(e,s){i.eq(s).fadeIn(t.fadeTime)})},hideElements:function(s,i){e.each(s,function(e,s){i.eq(s).fadeOut(t.fadeTime)})},inititalize:function(s){i.container=s;for(var a,n=e(t.items),o=[],r=t.reset,c=0;c<n.length;c++)o.push(c);i.tags=i.generateTags(n,i.container);var l=i.container.find(t.tagElement);l.click(function(){"single"==t.sortType?e(this).hasClass("tagsort-active")?e(this).toggleClass("tagsort-active"):(e(".tagsort-active").removeClass("tagsort-active"),e(this).toggleClass("tagsort-active"),a=i.inclusiveSort(i.tags,o.slice())):(e(this).toggleClass("tagsort-active"),a="inclusive"==t.sortType?i.inclusiveSort(i.tags,o.slice()):i.exclusiveSort(i.tags)),l.hasClass("tagsort-active")||(a=[[],o.slice()]),a[0].length>0&&i.hideElements(a[0],n),a[1].length>0&&i.showElements(a[1],n)}),r&&e(r).click(function(){e(".tagsort-active").removeClass("tagsort-active"),a=[[],o.slice()],i.showElements(a[1],n)})}};return i.inititalize(this),e(this)}}(jQuery); 

\ No newline at end of file

@@ -0,0 +1,461 @@ 

+ /*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */

+ 

+ /**

+  * 1. Change the default font family in all browsers (opinionated).

+  * 2. Correct the line height in all browsers.

+  * 3. Prevent adjustments of font size after orientation changes in

+  *    IE on Windows Phone and in iOS.

+  */

+ 

+ /* Document

+    ========================================================================== */

+ 

+ html {

+   font-family: sans-serif; /* 1 */

+   line-height: 1.15; /* 2 */

+   -ms-text-size-adjust: 100%; /* 3 */

+   -webkit-text-size-adjust: 100%; /* 3 */

+ }

+ 

+ /* Sections

+    ========================================================================== */

+ 

+ /**

+  * Remove the margin in all browsers (opinionated).

+  */

+ 

+ body {

+   margin: 0;

+ }

+ 

+ /**

+  * Add the correct display in IE 9-.

+  */

+ 

+ article,

+ aside,

+ footer,

+ header,

+ nav,

+ section {

+   display: block;

+ }

+ 

+ /**

+  * Correct the font size and margin on `h1` elements within `section` and

+  * `article` contexts in Chrome, Firefox, and Safari.

+  */

+ 

+ h1 {

+   font-size: 2em;

+   margin: 0.67em 0;

+ }

+ 

+ /* Grouping content

+    ========================================================================== */

+ 

+ /**

+  * Add the correct display in IE 9-.

+  * 1. Add the correct display in IE.

+  */

+ 

+ figcaption,

+ figure,

+ main { /* 1 */

+   display: block;

+ }

+ 

+ /**

+  * Add the correct margin in IE 8.

+  */

+ 

+ figure {

+   margin: 1em 40px;

+ }

+ 

+ /**

+  * 1. Add the correct box sizing in Firefox.

+  * 2. Show the overflow in Edge and IE.

+  */

+ 

+ hr {

+   box-sizing: content-box; /* 1 */

+   height: 0; /* 1 */

+   overflow: visible; /* 2 */

+ }

+ 

+ /**

+  * 1. Correct the inheritance and scaling of font size in all browsers.

+  * 2. Correct the odd `em` font sizing in all browsers.

+  */

+ 

+ pre {

+   font-family: monospace, monospace; /* 1 */

+   font-size: 1em; /* 2 */

+ }

+ 

+ /* Text-level semantics

+    ========================================================================== */

+ 

+ /**

+  * 1. Remove the gray background on active links in IE 10.

+  * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.

+  */

+ 

+ a {

+   background-color: transparent; /* 1 */

+   -webkit-text-decoration-skip: objects; /* 2 */

+ }

+ 

+ /**

+  * Remove the outline on focused links when they are also active or hovered

+  * in all browsers (opinionated).

+  */

+ 

+ a:active,

+ a:hover {

+   outline-width: 0;

+ }

+ 

+ /**

+  * 1. Remove the bottom border in Firefox 39-.

+  * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.

+  */

+ 

+ abbr[title] {

+   border-bottom: none; /* 1 */

+   text-decoration: underline; /* 2 */

+   text-decoration: underline dotted; /* 2 */

+ }

+ 

+ /**

+  * Prevent the duplicate application of `bolder` by the next rule in Safari 6.

+  */

+ 

+ b,

+ strong {

+   font-weight: inherit;

+ }

+ 

+ /**

+  * Add the correct font weight in Chrome, Edge, and Safari.

+  */

+ 

+ b,

+ strong {

+   font-weight: bolder;

+ }

+ 

+ /**

+  * 1. Correct the inheritance and scaling of font size in all browsers.

+  * 2. Correct the odd `em` font sizing in all browsers.

+  */

+ 

+ code,

+ kbd,

+ samp {

+   font-family: monospace, monospace; /* 1 */

+   font-size: 1em; /* 2 */

+ }

+ 

+ /**

+  * Add the correct font style in Android 4.3-.

+  */

+ 

+ dfn {

+   font-style: italic;

+ }

+ 

+ /**

+  * Add the correct background and color in IE 9-.

+  */

+ 

+ mark {

+   background-color: #ff0;

+   color: #000;

+ }

+ 

+ /**

+  * Add the correct font size in all browsers.

+  */

+ 

+ small {

+   font-size: 80%;

+ }

+ 

+ /**

+  * Prevent `sub` and `sup` elements from affecting the line height in

+  * all browsers.

+  */

+ 

+ sub,

+ sup {

+   font-size: 75%;

+   line-height: 0;

+   position: relative;

+   vertical-align: baseline;

+ }

+ 

+ sub {

+   bottom: -0.25em;

+ }

+ 

+ sup {

+   top: -0.5em;

+ }

+ 

+ /* Embedded content

+    ========================================================================== */

+ 

+ /**

+  * Add the correct display in IE 9-.

+  */

+ 

+ audio,

+ video {

+   display: inline-block;

+ }

+ 

+ /**

+  * Add the correct display in iOS 4-7.

+  */

+ 

+ audio:not([controls]) {

+   display: none;

+   height: 0;

+ }

+ 

+ /**

+  * Remove the border on images inside links in IE 10-.

+  */

+ 

+ img {

+   border-style: none;

+ }

+ 

+ /**

+  * Hide the overflow in IE.

+  */

+ 

+ svg:not(:root) {

+   overflow: hidden;

+ }

+ 

+ /* Forms

+    ========================================================================== */

+ 

+ /**

+  * 1. Change the font styles in all browsers (opinionated).

+  * 2. Remove the margin in Firefox and Safari.

+  */

+ 

+ button,

+ input,

+ optgroup,

+ select,

+ textarea {

+   font-family: sans-serif; /* 1 */

+   font-size: 100%; /* 1 */

+   line-height: 1.15; /* 1 */

+   margin: 0; /* 2 */

+ }

+ 

+ /**

+  * Show the overflow in IE.

+  * 1. Show the overflow in Edge.

+  */

+ 

+ button,

+ input { /* 1 */

+   overflow: visible;

+ }

+ 

+ /**

+  * Remove the inheritance of text transform in Edge, Firefox, and IE.

+  * 1. Remove the inheritance of text transform in Firefox.

+  */

+ 

+ button,

+ select { /* 1 */

+   text-transform: none;

+ }

+ 

+ /**

+  * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`

+  *    controls in Android 4.

+  * 2. Correct the inability to style clickable types in iOS and Safari.

+  */

+ 

+ button,

+ html [type="button"], /* 1 */

+ [type="reset"],

+ [type="submit"] {

+   -webkit-appearance: button; /* 2 */

+ }

+ 

+ /**

+  * Remove the inner border and padding in Firefox.

+  */

+ 

+ button::-moz-focus-inner,

+ [type="button"]::-moz-focus-inner,

+ [type="reset"]::-moz-focus-inner,

+ [type="submit"]::-moz-focus-inner {

+   border-style: none;

+   padding: 0;

+ }

+ 

+ /**

+  * Restore the focus styles unset by the previous rule.

+  */

+ 

+ button:-moz-focusring,

+ [type="button"]:-moz-focusring,

+ [type="reset"]:-moz-focusring,

+ [type="submit"]:-moz-focusring {

+   outline: 1px dotted ButtonText;

+ }

+ 

+ /**

+  * Change the border, margin, and padding in all browsers (opinionated).

+  */

+ 

+ fieldset {

+   border: 1px solid #c0c0c0;

+   margin: 0 2px;

+   padding: 0.35em 0.625em 0.75em;

+ }

+ 

+ /**

+  * 1. Correct the text wrapping in Edge and IE.

+  * 2. Correct the color inheritance from `fieldset` elements in IE.

+  * 3. Remove the padding so developers are not caught out when they zero out

+  *    `fieldset` elements in all browsers.

+  */

+ 

+ legend {

+   box-sizing: border-box; /* 1 */

+   color: inherit; /* 2 */

+   display: table; /* 1 */

+   max-width: 100%; /* 1 */

+   padding: 0; /* 3 */

+   white-space: normal; /* 1 */

+ }

+ 

+ /**

+  * 1. Add the correct display in IE 9-.

+  * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.

+  */

+ 

+ progress {

+   display: inline-block; /* 1 */

+   vertical-align: baseline; /* 2 */

+ }

+ 

+ /**

+  * Remove the default vertical scrollbar in IE.

+  */

+ 

+ textarea {

+   overflow: auto;

+ }

+ 

+ /**

+  * 1. Add the correct box sizing in IE 10-.

+  * 2. Remove the padding in IE 10-.

+  */

+ 

+ [type="checkbox"],

+ [type="radio"] {

+   box-sizing: border-box; /* 1 */

+   padding: 0; /* 2 */

+ }

+ 

+ /**

+  * Correct the cursor style of increment and decrement buttons in Chrome.

+  */

+ 

+ [type="number"]::-webkit-inner-spin-button,

+ [type="number"]::-webkit-outer-spin-button {

+   height: auto;

+ }

+ 

+ /**

+  * 1. Correct the odd appearance in Chrome and Safari.

+  * 2. Correct the outline style in Safari.

+  */

+ 

+ [type="search"] {

+   -webkit-appearance: textfield; /* 1 */

+   outline-offset: -2px; /* 2 */

+ }

+ 

+ /**

+  * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.

+  */

+ 

+ [type="search"]::-webkit-search-cancel-button,

+ [type="search"]::-webkit-search-decoration {

+   -webkit-appearance: none;

+ }

+ 

+ /**

+  * 1. Correct the inability to style clickable types in iOS and Safari.

+  * 2. Change font properties to `inherit` in Safari.

+  */

+ 

+ ::-webkit-file-upload-button {

+   -webkit-appearance: button; /* 1 */

+   font: inherit; /* 2 */

+ }

+ 

+ /* Interactive

+    ========================================================================== */

+ 

+ /*

+  * Add the correct display in IE 9-.

+  * 1. Add the correct display in Edge, IE, and Firefox.

+  */

+ 

+ details, /* 1 */

+ menu {

+   display: block;

+ }

+ 

+ /*

+  * Add the correct display in all browsers.

+  */

+ 

+ summary {

+   display: list-item;

+ }

+ 

+ /* Scripting

+    ========================================================================== */

+ 

+ /**

+  * Add the correct display in IE 9-.

+  */

+ 

+ canvas {

+   display: inline-block;

+ }

+ 

+ /**

+  * Add the correct display in IE.

+  */

+ 

+ template {

+   display: none;

+ }

+ 

+ /* Hidden

+    ========================================================================== */

+ 

+ /**

+  * Add the correct display in IE 10-.

+  */

+ 

+ [hidden] {

+   display: none;

+ }

@@ -0,0 +1,182 @@ 

+ 

+ /*

+ Tipue Search 6.0

+ Copyright (c) 2017 Tipue

+ Tipue Search is released under the MIT License

+ http://www.tipue.com/search

+ */

+ 

+ 

+ /* fonts */

+ 

+ 

+ 

+ 

+ /* search results */

+ 

+ 

+ #tipue_search_results_count

+ {

+ 	color: #333;

+ }

+ #tipue_search_warning

+ {

+      color: #333;    

+ 	margin: 7px 0;

+ }

+ #tipue_search_warning a

+ {

+      color: #5396ea;

+      text-decoration: none;

+ }

+ .tipue_search_content_title

+ {

+      color: #666;    

+ 	margin-top: 21px;

+ }

+ .tipue_search_content_title a

+ {

+      text-decoration: none;

+      font-weight:bold;

+ }

+ .tipue_search_content_url

+ {

+      word-wrap: break-word;

+      hyphens: auto;

+ }

+ .tipue_search_content_url a, .tipue_search_related_text a

+ {

+      color: #5396ea;

+      text-decoration: none;

+ }

+ .tipue_search_content_text

+ {

+ 	color: #333;

+      word-wrap: break-word;

+      hyphens: auto;

+      margin-top: 5px;

+ }

+ .tipue_search_content_bold

+ {

+      color: #333;

+ }

+ .tipue_search_content_debug

+ {

+ 	color: #333;

+      margin: 5px 0;

+ }

+ .tipue_search_related_title

+ {

+ 	color: #333;

+      margin: 26px 0 7px 0;

+ }

+ .tipue_search_related_cols

+ {

+      -webkit-columns: 230px 2;

+      -moz-columns: 230px 2;

+      columns: 230px 2;

+ }

+ 

+ #tipue_search_foot

+ {

+      margin: 51px 0 21px 0;

+      height: 50px;

+ }

+ #tipue_search_foot_boxes

+ {

+ 	padding: 0;

+ 	margin: 0;

+ 	cursor: pointer;

+ }

+ #tipue_search_foot_boxes li

+ {

+ 	list-style: none;

+ 	margin: 0;

+ 	padding: 0;

+ 	display: inline;

+ }

+ #tipue_search_foot_boxes li a

+ {

+ 	padding: 10px 17px 11px 17px;

+      background-color: #fff;

+      border: 1px solid #e3e3e3;

+      border-radius: 1px;

+ 	color: #333;

+ 	margin-right: 7px;

+ 	text-decoration: none;

+ 	text-align: center;

+ }

+ #tipue_search_foot_boxes li.current

+ {

+ 	padding: 10px 17px 11px 17px;

+      background: #f6f6f6;

+      border: 1px solid #e3e3e3;

+      border-radius: 1px;

+ 	color: #333;

+ 	margin-right: 7px;

+ 	text-align: center;

+ }

+ #tipue_search_foot_boxes li a:hover

+ {

+      background: #f6f6f6;

+ }

+ 

+ 

+ /* spinner */

+ 

+ 

+ .tipue_search_spinner

+ {

+      width: 50px;

+      height: 28px;

+ }

+ .tipue_search_spinner > div

+ {

+      background-color: #e3e3e3;

+      height: 100%;

+      width: 2px;

+      display: inline-block;

+      margin-right: 2px;

+      -webkit-animation: stretchdelay 1.2s infinite ease-in-out;

+      animation: stretchdelay 1.2s infinite ease-in-out;

+ }

+ .tipue_search_spinner .tipue_search_rect2

+ {

+      -webkit-animation-delay: -1.1s;

+      animation-delay: -1.1s;

+ }

+ .tipue_search_spinner .tipue_search_rect3

+ {

+      -webkit-animation-delay: -1.0s;

+      animation-delay: -1.0s;

+ }

+ @-webkit-keyframes stretchdelay

+ {

+      0%, 40%, 100%

+      {

+           -webkit-transform: scaleY(0.4)

+      }  

+      20%

+      {

+           -webkit-transform: scaleY(1.0)

+      }

+ }

+ @keyframes stretchdelay

+ {

+      0%, 40%, 100%

+      { 

+           transform: scaleY(0.4);

+           -webkit-transform: scaleY(0.4);

+      }

+      20%

+      { 

+           transform: scaleY(1.0);

+           -webkit-transform: scaleY(1.0);

+      }

+ }

+ 

+ 

+ 

+ 

+ 

+ 

empty or binary file added
@@ -0,0 +1,605 @@ 

+ 

+ /*

+ Tipue Search 6.0

+ Copyright (c) 2017 Tipue

+ Tipue Search is released under the MIT License

+ http://www.tipue.com/search

+ */

+ 

+ 

+ (function($) {

+ 

+      $.fn.tipuesearch = function(options) {

+ 

+           var set = $.extend( {

+           

+           'contentLocation'        : 'tipuesearch/tipuesearch_content.json',

+           'contextBuffer'          : 60,

+           'contextLength'          : 60,

+           'contextStart'           : 90,

+           'debug'                  : false,

+           'descriptiveWords'       : 25,

+           'highlightTerms'         : true,

+           'liveContent'            : '*',

+           'liveDescription'        : '*',

+           'minimumLength'          : 3,

+           'mode'                   : 'static',

+           'newWindow'              : false,

+           'show'                   : 9,

+           'showContext'            : true,

+           'showRelated'            : true,

+           'showTime'               : true,

+           'showTitleCount'         : true,

+           'showURL'                : true,

+           'wholeWords'             : true

+           

+           }, options);

+           

+           return this.each(function() {

+ 

+                var tipuesearch_in = {

+                     pages: []

+                };

+                $.ajaxSetup({

+                     async: false

+                });

+                var tipuesearch_t_c = 0;

+                

+                $('#tipue_search_content').hide().html('<div class="tipue_search_spinner"><div class="tipue_search_rect1"></div><div class="tipue_search_rect2"></div><div class="rect3"></div></div>').show();

+                

+                if (set.mode == 'live')

+                {

+                     for (var i = 0; i < tipuesearch_pages.length; i++)

+                     {

+                          $.get(tipuesearch_pages[i]).done(function(html)                             

+                          {

+                               var cont = $(set.liveContent, html).text();

+                               cont = cont.replace(/\s+/g, ' ');

+                               var desc = $(set.liveDescription, html).text();

+                               desc = desc.replace(/\s+/g, ' ');

+                                                                  

+                               var t_1 = html.toLowerCase().indexOf('<title>');

+                               var t_2 = html.toLowerCase().indexOf('</title>', t_1 + 7);

+                               if (t_1 != -1 && t_2 != -1)

+                               {

+                                    var tit = html.slice(t_1 + 7, t_2);

+                               }

+                               else

+                               {

+                                    var tit = tipuesearch_string_1;

+                               }

+ 

+                               tipuesearch_in.pages.push(

+                               {

+                                    "title": tit,

+                                    "text": desc,

+                                    "tags": cont,

+                                    "url": tipuesearch_pages[i] 

+                               });    

+                          });

+                     }

+                }

+                

+                if (set.mode == 'json')

+                {

+                     $.getJSON(set.contentLocation).done(function(json)

+                     {

+                          tipuesearch_in = $.extend({}, json);

+                     });

+                }

+ 

+                if (set.mode == 'static')

+                {

+                     tipuesearch_in = $.extend({}, tipuesearch);

+                }                              

+                

+                var tipue_search_w = '';

+                if (set.newWindow)

+                {

+                     tipue_search_w = ' target="_blank"';      

+                }

+ 

+                function getURLP(name)

+                {

+                     var _locSearch = location.search;

+                     var _splitted = (new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(_locSearch)||[,""]);

+                     var searchString = _splitted[1].replace(/\+/g, '%20');

+                     try

+                     {

+                          searchString = decodeURIComponent(searchString);

+                     }

+                     catch(e)

+                     {

+                          searchString = unescape(searchString);

+                     }

+                     return searchString || null;

+                }

+                

+                if (getURLP('q'))

+                {

+                     $('#tipue_search_input').val(getURLP('q'));

+                     getTipueSearch(0, true);

+                }               

+                

+                $(this).keyup(function(event)

+                {

+                     if(event.keyCode == '13')

+                     {

+                          getTipueSearch(0, true);

+                     }

+                });

+                

+ 

+                function getTipueSearch(start, replace)

+                {

+                     var out = '';

+                     var results = '';

+                     var show_replace = false;

+                     var show_stop = false;

+                     var standard = true;

+                     var c = 0;

+                     found = [];

+                     

+                     var d_o = $('#tipue_search_input').val();

+                     var d = d_o.toLowerCase();

+                     d = $.trim(d);

+                     

+                     if ((d.match("^\"") && d.match("\"$")) || (d.match("^'") && d.match("'$")))

+                     {

+                          standard = false;

+                     }

+                     

+                     var d_w = d.split(' ');

+                     

+                     if (standard)

+                     {

+                          d = '';

+                          for (var i = 0; i < d_w.length; i++)

+                          {

+                               var a_w = true;

+                               for (var f = 0; f < tipuesearch_stop_words.length; f++)

+                               {

+                                    if (d_w[i] == tipuesearch_stop_words[f])

+                                    {

+                                         a_w = false;

+                                         show_stop = true;          

+                                    }

+                               }

+                               if (a_w)

+                               {

+                                    d = d + ' ' + d_w[i];

+                               }

+                          }

+                          d = $.trim(d);

+                          d_w = d.split(' ');

+                     }

+                     else

+                     {

+                          d = d.substring(1, d.length - 1);

+                     }

+                

+                     if (d.length >= set.minimumLength)

+                     {

+                          if (standard)

+                          {

+                               if (replace)

+                               {

+                                    var d_r = d;

+                                    for (var i = 0; i < d_w.length; i++)

+                                    {

+                                         for (var f = 0; f < tipuesearch_replace.words.length; f++)

+                                         {

+                                              if (d_w[i] == tipuesearch_replace.words[f].word)

+                                              {

+                                                   d = d.replace(d_w[i], tipuesearch_replace.words[f].replace_with);

+                                                   show_replace = true;

+                                              }

+                                         }

+                                    }

+                                    d_w = d.split(' ');

+                               }                   

+                     

+                               var d_t = d;

+                               for (var i = 0; i < d_w.length; i++)

+                               {

+                                    for (var f = 0; f < tipuesearch_stem.words.length; f++)

+                                    {

+                                         if (d_w[i] == tipuesearch_stem.words[f].word)

+                                         {

+                                              d_t = d_t + ' ' + tipuesearch_stem.words[f].stem;

+                                         }

+                                    }

+                               }

+                               d_w = d_t.split(' ');

+ 

+                               for (var i = 0; i < tipuesearch_in.pages.length; i++)

+                               {

+                                    var score = 0;

+                                    var s_t = tipuesearch_in.pages[i].text;

+                                    for (var f = 0; f < d_w.length; f++)

+                                    {

+                                         if (set.wholeWords)

+                                         {

+                                              var pat = new RegExp('\\b' + d_w[f] + '\\b', 'gi');

+                                         }

+                                         else

+                                         {

+                                              var pat = new RegExp(d_w[f], 'gi');

+                                         }

+                                         if (tipuesearch_in.pages[i].title.search(pat) != -1)

+                                         {

+                                              var m_c = tipuesearch_in.pages[i].title.match(pat).length;

+                                              score += (20 * m_c);

+                                         }

+                                         if (tipuesearch_in.pages[i].text.search(pat) != -1)

+                                         {

+                                              var m_c = tipuesearch_in.pages[i].text.match(pat).length;

+                                              score += (20 * m_c);

+                                         }

+                                         

+                                         if (tipuesearch_in.pages[i].tags.search(pat) != -1)

+                                         {

+                                              var m_c = tipuesearch_in.pages[i].tags.match(pat).length;

+                                              score += (10 * m_c);

+                                         }

+ 

+                                         if (tipuesearch_in.pages[i].url.search(pat) != -1)

+                                         {

+                                              score += 20;

+                                         }

+                                         

+                                         if (score != 0)

+                                         {

+                                              for (var e = 0; e < tipuesearch_weight.weight.length; e++)

+                                              {

+                                                   if (tipuesearch_in.pages[i].url == tipuesearch_weight.weight[e].url)

+                                                   {

+                                                        score += tipuesearch_weight.weight[e].score;

+                                                   }

+                                              }

+                                         }

+                                         

+                                         if (d_w[f].match('^-'))

+                                         {

+                                              pat = new RegExp(d_w[f].substring(1), 'i');

+                                              if (tipuesearch_in.pages[i].title.search(pat) != -1 || tipuesearch_in.pages[i].text.search(pat) != -1 || tipuesearch_in.pages[i].tags.search(pat) != -1)

+                                              {

+                                                   score = 0;     

+                                              }    

+                                         }

+                                    }

+                                    

+                                    if (score != 0)

+                                    {

+                                         found.push(

+                                         {

+                                              "score": score,

+                                              "title": tipuesearch_in.pages[i].title,

+                                              "desc": s_t,

+                                              "url": tipuesearch_in.pages[i].url 

+                                         });

+                                         c++;                                                                   

+                                    }

+                               }

+                          }

+                          else

+                          {

+                               for (var i = 0; i < tipuesearch_in.pages.length; i++)

+                               {

+                                    var score = 0;

+                                    var s_t = tipuesearch_in.pages[i].text;

+                                    var pat = new RegExp(d, 'gi');

+                                    if (tipuesearch_in.pages[i].title.search(pat) != -1)

+                                    {

+                                         var m_c = tipuesearch_in.pages[i].title.match(pat).length;

+                                         score += (20 * m_c);

+                                    }

+                                    if (tipuesearch_in.pages[i].text.search(pat) != -1)

+                                    {

+                                         var m_c = tipuesearch_in.pages[i].text.match(pat).length;

+                                         score += (20 * m_c);

+                                    }

+                                    

+                                    if (tipuesearch_in.pages[i].tags.search(pat) != -1)

+                                    {

+                                         var m_c = tipuesearch_in.pages[i].tags.match(pat).length;

+                                         score += (10 * m_c);

+                                    }

+                               

+                                    if (tipuesearch_in.pages[i].url.search(pat) != -1)

+                                    {

+                                         score += 20;

+                                    }

+                                    

+                                    if (score != 0)

+                                    {

+                                         for (var e = 0; e < tipuesearch_weight.weight.length; e++)

+                                         {

+                                              if (tipuesearch_in.pages[i].url == tipuesearch_weight.weight[e].url)

+                                              {

+                                                   score += tipuesearch_weight.weight[e].score;

+                                              }

+                                         }

+                                    }

+                               

+                                    if (score != 0)

+                                    {

+                                         found.push(

+                                         {

+                                              "score": score,

+                                              "title": tipuesearch_in.pages[i].title,

+                                              "desc": s_t,

+                                              "url": tipuesearch_in.pages[i].url

+                                         });

+                                         c++;                                                                  

+                                    }                              

+                               }

+                          }                         

+                          

+                          if (c != 0)

+                          {

+                               if (set.showTitleCount && tipuesearch_t_c == 0)

+                               {

+                                    var title = document.title;

+                                    document.title = '(' + c + ') ' + title;

+                                    tipuesearch_t_c++;

+                               }                         

+                          

+                               if (show_replace)

+                               {

+                                    out += '<div id="tipue_search_warning">' + tipuesearch_string_2 + ' ' + d + '. ' + tipuesearch_string_3 + ' <a id="tipue_search_replaced">' + d_r + '</a></div>';

+                               }

+                               if (c == 1)

+                               {

+                                    out += '<div id="tipue_search_results_count">' + tipuesearch_string_4;

+                               }

+                               else

+                               {

+                                    c_c = c.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");

+                                    out += '<div id="tipue_search_results_count">' + c_c + ' ' + tipuesearch_string_5;

+                               }

+                               if (set.showTime)

+                               {

+                                    var endTimer = new Date().getTime();

+                                    var time = (endTimer - startTimer) / 1000;

+                                    out += ' (' + time.toFixed(2) + ' ' + tipuesearch_string_14 + ')';

+                                    set.showTime = false;

+                               }

+                               out += '</div>';

+                               

+                               found.sort(function(a, b) { return b.score - a.score } );

+                               

+                               var l_o = 0;

+                               for (var i = 0; i < found.length; i++)

+                               {

+                                    if (l_o >= start && l_o < set.show + start)

+                                    {                                   

+                                         out += '<div class="tipue_search_content_title"><a href="' + found[i].url + '"' + tipue_search_w + '>' +  found[i].title + '</a></div>';

+  

+                                         if (set.debug)

+                                         {                                             

+                                              out += '<div class="tipue_search_content_debug">Score: ' + found[i].score + '</div>';

+                                         }

+                                         

+                                         if (set.showURL)

+                                         {

+                                              var s_u = found[i].url.toLowerCase();

+                                              if (s_u.indexOf('http://') == 0)

+                                              {

+                                                   s_u = s_u.slice(7);

+                                              }                                             

+                                              out += '<div class="tipue_search_content_url"><a href="' + found[i].url + '"' + tipue_search_w + '>' + s_u + '</a></div>';

+                                         }

+                                         

+                                         if (found[i].desc)

+                                         {                                        

+                                              var t = found[i].desc;

+ 

+                                              if (set.showContext)

+                                              {

+                                                   d_w = d.split(' ');

+                                                   var s_1 = found[i].desc.toLowerCase().indexOf(d_w[0]);

+                                                   if (s_1 > set.contextStart)

+                                                   {

+                                                        var t_1 = t.substr(s_1 - set.contextBuffer);

+                                                        var s_2 = t_1.indexOf(' ');

+                                                        t_1 = t.substr(s_1 - set.contextBuffer + s_2);

+                                                        t_1 = $.trim(t_1);

+                                                        

+                                                        if (t_1.length > set.contextLength)

+                                                        {                                                      

+                                                             t = '... ' + t_1;

+                                                        }

+                                                   }   

+                                              }

+                                              

+                                              if (standard)

+                                              {

+                                                   d_w = d.split(' ');

+                                                   for (var f = 0; f < d_w.length; f++)

+                                                   {

+                                                        if (set.highlightTerms)

+                                                        {

+                                                             var patr = new RegExp('(' + d_w[f] + ')', 'gi');

+                                                             t = t.replace(patr, "<span class=\"h0011\">$1</span>");

+                                                        }

+                                                   }

+                                              }

+                                              else if (set.highlightTerms)

+                                              {

+                                                   var patr = new RegExp('(' + d + ')', 'gi');

+                                                   t = t.replace(patr, "<span class=\"h0011\">$1</span>");

+                                              }

+                                                                                   

+                                              var t_d = '';

+                                              var t_w = t.split(' ');

+                                              if (t_w.length < set.descriptiveWords)

+                                              {

+                                                   t_d = t;

+                                              }

+                                              else

+                                              {

+                                                   for (var f = 0; f < set.descriptiveWords; f++)

+                                                   {

+                                                        t_d += t_w[f] + ' '; 	

+                                                   }

+                                              }

+                                              t_d = $.trim(t_d);

+                                              if (t_d.charAt(t_d.length - 1) != '.')

+                                              {

+                                                   t_d += ' ...';

+                                              }

+                                              

+                                              t_d = t_d.replace(/h0011/g, 'tipue_search_content_bold');

+                                              

+                                              out += '<div class="tipue_search_content_text">' + t_d + '</div>';

+                                         }

+                                    }

+                                    l_o++;     

+                               }

+                                    

+                               if (set.showRelated && standard)

+                               {

+                                    f = 0;

+                                    for (var i = 0; i < tipuesearch_related.searches.length; i++)

+                                    {

+                                         if (d == tipuesearch_related.searches[i].search)

+                                         {

+                                              if (show_replace)

+                                              {

+                                                   d_o = d;

+                                              }

+                                              if (!f)

+                                              {

+                                                   out += '<div class="tipue_search_related_title">' + tipuesearch_string_15 + ' <span class="tipue_search_related_bold">' + d_o + '</span></div><div class="tipue_search_related_cols">';

+                                              }

+                                              

+                                              out += '<div class="tipue_search_related_text"><a class="tipue_search_related" id="' + tipuesearch_related.searches[i].related + '">';

+                                              if (tipuesearch_related.searches[i].before)

+                                              {

+                                                   out += '<span class="tipue_search_related_before">' + tipuesearch_related.searches[i].before + '</span> ';    

+                                              }

+                                              out += tipuesearch_related.searches[i].related;

+                                              if (tipuesearch_related.searches[i].after)

+                                              {

+                                                   out += ' <span class="tipue_search_related_after">' + tipuesearch_related.searches[i].after + '</span>';    

+                                              }

+                                              out += '</a></div>';                                            

+                                              f++;         

+                                         }

+                                    }

+                                    if (f)

+                                    {

+                                         out += '</div>';

+                                    }      

+                               }

+                               

+                               if (c > set.show)

+                               {

+                                    var pages = Math.ceil(c / set.show);

+                                    var page = (start / set.show);

+                                    out += '<nav><div id="tipue_search_foot"><ul id="tipue_search_foot_boxes">';

+                                    

+                                    if (start > 0)

+                                    {

+                                        out += '<li role="navigation"><a class="tipue_search_foot_box" accesskey="b" id="' + (start - set.show) + '_' + replace + '">' + tipuesearch_string_6 + '</a></li>'; 

+                                    }

+                                                        

+                                    if (page <= 2)

+                                    {

+                                         var p_b = pages;

+                                         if (pages > 3)

+                                         {

+                                              p_b = 3;

+                                         }                    

+                                         for (var f = 0; f < p_b; f++)

+                                         {

+                                              if (f == page)

+                                              {

+                                                   out += '<li class="current" role="navigation">' + (f + 1) + '</li>';

+                                              }

+                                              else

+                                              {

+                                                   out += '<li role="navigation"><a class="tipue_search_foot_box" id="' + (f * set.show) + '_' + replace + '">' + (f + 1) + '</a></li>';

+                                              }

+                                         }

+                                    }

+                                    else

+                                    {

+                                         var p_b = page + 2;

+                                         if (p_b > pages)

+                                         {

+                                              p_b = pages; 

+                                         }

+                                         for (var f = page - 1; f < p_b; f++)

+                                         {

+                                              if (f == page)

+                                              {

+                                                   out += '<li class="current" role="navigation">' + (f + 1) + '</li>';

+                                              }

+                                              else

+                                              {

+                                                   out += '<li role="navigation"><a class="tipue_search_foot_box" id="' + (f * set.show) + '_' + replace + '">' + (f + 1) + '</a></li>';

+                                              }

+                                         }

+                                    }                         

+                                                       

+                                    if (page + 1 != pages)

+                                    {

+                                        out += '<li role="navigation"><a class="tipue_search_foot_box" accesskey="m" id="' + (start + set.show) + '_' + replace + '">' + tipuesearch_string_7 + '</a></li>'; 

+                                    }                    

+                                    

+                                    out += '</ul></div></nav>';

+                               }                        

+                          }

+                          else

+                          {

+                               out += '<div id="tipue_search_warning">' + tipuesearch_string_8 + '</div>'; 

+                          }

+                     }

+                     else

+                     {

+                          if (show_stop)

+                          {

+                               out += '<div id="tipue_search_warning">' + tipuesearch_string_8 + '. ' + tipuesearch_string_9 + '</div>';     

+                          }

+                          else

+                          {

+                               out += '<div id="tipue_search_warning">' + tipuesearch_string_10 + '</div>';

+                               if (set.minimumLength == 1)

+                               {

+                                    out += '<div id="tipue_search_warning">' + tipuesearch_string_11 + '</div>';

+                               }

+                               else

+                               {

+                                    out += '<div id="tipue_search_warning">' + tipuesearch_string_12 + ' ' + set.minimumLength + ' ' + tipuesearch_string_13 + '</div>';

+                               }

+                          }

+                     }                

+                     

+                     $('#tipue_search_content').hide().html(out).slideDown(200);

+                     

+                     $('#tipue_search_replaced').click(function()

+                     {

+                          getTipueSearch(0, false);

+                     });

+                     

+                     $('.tipue_search_related').click(function()

+                     {

+                          $('#tipue_search_input').val($(this).attr('id'));

+                          getTipueSearch(0, true);

+                     });                

+                

+                     $('.tipue_search_foot_box').click(function()

+                     {

+                          var id_v = $(this).attr('id');

+                          var id_a = id_v.split('_');

+                     

+                          getTipueSearch(parseInt(id_a[0]), id_a[1]);

+                     });                                                       

+                }          

+           

+           });

+      };

+    

+ })(jQuery);

@@ -0,0 +1,178 @@ 

+ (function($){$.fn.tipuesearch=function(options){var set=$.extend({'contentLocation':'tipuesearch/tipuesearch_content.json','contextBuffer':60,'contextLength':60,'contextStart':90,'debug':false,'descriptiveWords':25,'highlightTerms':true,'liveContent':'*','liveDescription':'*','minimumLength':3,'mode':'static','newWindow':false,'show':9,'showContext':true,'showRelated':true,'showTime':true,'showTitleCount':true,'showURL':true,'wholeWords':true},options);return this.each(function(){var tipuesearch_in={pages:[]};$.ajaxSetup({async:false});var tipuesearch_t_c=0;$('#tipue_search_content').hide().html('<div class="tipue_search_spinner"><div class="tipue_search_rect1"></div><div class="tipue_search_rect2"></div><div class="rect3"></div></div>').show();if(set.mode=='live')

+ {for(var i=0;i<tipuesearch_pages.length;i++)

+ {$.get(tipuesearch_pages[i]).done(function(html)

+ {var cont=$(set.liveContent,html).text();cont=cont.replace(/\s+/g,' ');var desc=$(set.liveDescription,html).text();desc=desc.replace(/\s+/g,' ');var t_1=html.toLowerCase().indexOf('<title>');var t_2=html.toLowerCase().indexOf('</title>',t_1+7);if(t_1!=-1&&t_2!=-1)

+ {var tit=html.slice(t_1+7,t_2);}

+ else

+ {var tit=tipuesearch_string_1;}

+ tipuesearch_in.pages.push({"title":tit,"text":desc,"tags":cont,"url":tipuesearch_pages[i]});});}}

+ if(set.mode=='json')

+ {$.getJSON(set.contentLocation).done(function(json)

+ {tipuesearch_in=$.extend({},json);});}

+ if(set.mode=='static')

+ {tipuesearch_in=$.extend({},tipuesearch);}

+ var tipue_search_w='';if(set.newWindow)

+ {tipue_search_w=' target="_blank"';}

+ function getURLP(name)

+ {var _locSearch=location.search;var _splitted=(new RegExp('[?|&]'+name+'='+'([^&;]+?)(&|#|;|$)').exec(_locSearch)||[,""]);var searchString=_splitted[1].replace(/\+/g,'%20');try

+ {searchString=decodeURIComponent(searchString);}

+ catch(e)

+ {searchString=unescape(searchString);}

+ return searchString||null;}

+ if(getURLP('q'))

+ {$('#tipue_search_input').val(getURLP('q'));getTipueSearch(0,true);}

+ $(this).keyup(function(event)

+ {if(event.keyCode=='13')

+ {getTipueSearch(0,true);}});function getTipueSearch(start,replace)

+ {var out='';var results='';var show_replace=false;var show_stop=false;var standard=true;var c=0;found=[];var d_o=$('#tipue_search_input').val();var d=d_o.toLowerCase();d=$.trim(d);if((d.match("^\"")&&d.match("\"$"))||(d.match("^'")&&d.match("'$")))

+ {standard=false;}

+ var d_w=d.split(' ');if(standard)

+ {d='';for(var i=0;i<d_w.length;i++)

+ {var a_w=true;for(var f=0;f<tipuesearch_stop_words.length;f++)

+ {if(d_w[i]==tipuesearch_stop_words[f])

+ {a_w=false;show_stop=true;}}

+ if(a_w)

+ {d=d+' '+d_w[i];}}

+ d=$.trim(d);d_w=d.split(' ');}

+ else

+ {d=d.substring(1,d.length-1);}

+ if(d.length>=set.minimumLength)

+ {if(standard)

+ {if(replace)

+ {var d_r=d;for(var i=0;i<d_w.length;i++)

+ {for(var f=0;f<tipuesearch_replace.words.length;f++)

+ {if(d_w[i]==tipuesearch_replace.words[f].word)

+ {d=d.replace(d_w[i],tipuesearch_replace.words[f].replace_with);show_replace=true;}}}

+ d_w=d.split(' ');}

+ var d_t=d;for(var i=0;i<d_w.length;i++)

+ {for(var f=0;f<tipuesearch_stem.words.length;f++)

+ {if(d_w[i]==tipuesearch_stem.words[f].word)

+ {d_t=d_t+' '+tipuesearch_stem.words[f].stem;}}}

+ d_w=d_t.split(' ');for(var i=0;i<tipuesearch_in.pages.length;i++)

+ {var score=0;var s_t=tipuesearch_in.pages[i].text;for(var f=0;f<d_w.length;f++)

+ {if(set.wholeWords)

+ {var pat=new RegExp('\\b'+d_w[f]+'\\b','gi');}

+ else

+ {var pat=new RegExp(d_w[f],'gi');}

+ if(tipuesearch_in.pages[i].title.search(pat)!=-1)

+ {var m_c=tipuesearch_in.pages[i].title.match(pat).length;score+=(20*m_c);}

+ if(tipuesearch_in.pages[i].text.search(pat)!=-1)

+ {var m_c=tipuesearch_in.pages[i].text.match(pat).length;score+=(20*m_c);}

+ if(tipuesearch_in.pages[i].tags.search(pat)!=-1)

+ {var m_c=tipuesearch_in.pages[i].tags.match(pat).length;score+=(10*m_c);}

+ if(tipuesearch_in.pages[i].url.search(pat)!=-1)

+ {score+=20;}

+ if(score!=0)

+ {for(var e=0;e<tipuesearch_weight.weight.length;e++)

+ {if(tipuesearch_in.pages[i].url==tipuesearch_weight.weight[e].url)

+ {score+=tipuesearch_weight.weight[e].score;}}}

+ if(d_w[f].match('^-'))

+ {pat=new RegExp(d_w[f].substring(1),'i');if(tipuesearch_in.pages[i].title.search(pat)!=-1||tipuesearch_in.pages[i].text.search(pat)!=-1||tipuesearch_in.pages[i].tags.search(pat)!=-1)

+ {score=0;}}}

+ if(score!=0)

+ {found.push({"score":score,"title":tipuesearch_in.pages[i].title,"desc":s_t,"url":tipuesearch_in.pages[i].url});c++;}}}

+ else

+ {for(var i=0;i<tipuesearch_in.pages.length;i++)

+ {var score=0;var s_t=tipuesearch_in.pages[i].text;var pat=new RegExp(d,'gi');if(tipuesearch_in.pages[i].title.search(pat)!=-1)

+ {var m_c=tipuesearch_in.pages[i].title.match(pat).length;score+=(20*m_c);}

+ if(tipuesearch_in.pages[i].text.search(pat)!=-1)

+ {var m_c=tipuesearch_in.pages[i].text.match(pat).length;score+=(20*m_c);}

+ if(tipuesearch_in.pages[i].tags.search(pat)!=-1)

+ {var m_c=tipuesearch_in.pages[i].tags.match(pat).length;score+=(10*m_c);}

+ if(tipuesearch_in.pages[i].url.search(pat)!=-1)

+ {score+=20;}

+ if(score!=0)

+ {for(var e=0;e<tipuesearch_weight.weight.length;e++)

+ {if(tipuesearch_in.pages[i].url==tipuesearch_weight.weight[e].url)

+ {score+=tipuesearch_weight.weight[e].score;}}}

+ if(score!=0)

+ {found.push({"score":score,"title":tipuesearch_in.pages[i].title,"desc":s_t,"url":tipuesearch_in.pages[i].url});c++;}}}

+ if(c!=0)

+ {if(set.showTitleCount&&tipuesearch_t_c==0)

+ {var title=document.title;document.title='('+c+') '+title;tipuesearch_t_c++;}

+ if(show_replace)

+ {out+='<div id="tipue_search_warning">'+tipuesearch_string_2+' '+d+'. '+tipuesearch_string_3+' <a id="tipue_search_replaced">'+d_r+'</a></div>';}

+ if(c==1)

+ {out+='<div id="tipue_search_results_count">'+tipuesearch_string_4;}

+ else

+ {c_c=c.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",");out+='<div id="tipue_search_results_count">'+c_c+' '+tipuesearch_string_5;}

+ if(set.showTime)

+ {var endTimer=new Date().getTime();var time=(endTimer-startTimer)/ 1000;out+=' ('+time.toFixed(2)+' '+tipuesearch_string_14+')';set.showTime=false;}

+ out+='</div>';found.sort(function(a,b){return b.score-a.score});var l_o=0;for(var i=0;i<found.length;i++)

+ {if(l_o>=start&&l_o<set.show+start)

+ {out+='<div class="tipue_search_content_title"><a href="'+found[i].url+'"'+tipue_search_w+'>'+found[i].title+'</a></div>';if(set.debug)

+ {out+='<div class="tipue_search_content_debug">Score: '+found[i].score+'</div>';}

+ if(set.showURL)

+ {var s_u=found[i].url.toLowerCase();if(s_u.indexOf('http://')==0)

+ {s_u=s_u.slice(7);}

+ out+='<div class="tipue_search_content_url"><a href="'+found[i].url+'"'+tipue_search_w+'>'+s_u+'</a></div>';}

+ if(found[i].desc)

+ {var t=found[i].desc;if(set.showContext)

+ {d_w=d.split(' ');var s_1=found[i].desc.toLowerCase().indexOf(d_w[0]);if(s_1>set.contextStart)

+ {var t_1=t.substr(s_1-set.contextBuffer);var s_2=t_1.indexOf(' ');t_1=t.substr(s_1-set.contextBuffer+s_2);t_1=$.trim(t_1);if(t_1.length>set.contextLength)

+ {t='... '+t_1;}}}

+ if(standard)

+ {d_w=d.split(' ');for(var f=0;f<d_w.length;f++)

+ {if(set.highlightTerms)

+ {var patr=new RegExp('('+d_w[f]+')','gi');t=t.replace(patr,"<span class=\"h0011\">$1</span>");}}}

+ else if(set.highlightTerms)

+ {var patr=new RegExp('('+d+')','gi');t=t.replace(patr,"<span class=\"h0011\">$1</span>");}

+ var t_d='';var t_w=t.split(' ');if(t_w.length<set.descriptiveWords)

+ {t_d=t;}

+ else

+ {for(var f=0;f<set.descriptiveWords;f++)

+ {t_d+=t_w[f]+' ';}}

+ t_d=$.trim(t_d);if(t_d.charAt(t_d.length-1)!='.')

+ {t_d+=' ...';}

+ t_d=t_d.replace(/h0011/g,'tipue_search_content_bold');out+='<div class="tipue_search_content_text">'+t_d+'</div>';}}

+ l_o++;}

+ if(set.showRelated&&standard)

+ {f=0;for(var i=0;i<tipuesearch_related.searches.length;i++)

+ {if(d==tipuesearch_related.searches[i].search)

+ {if(show_replace)

+ {d_o=d;}

+ if(!f)

+ {out+='<div class="tipue_search_related_title">Searches related to <span class="tipue_search_related_bold">'+d_o+'</span></div><div class="tipue_search_related_cols">';}

+ out+='<div class="tipue_search_related_text"><a class="tipue_search_related" id="'+tipuesearch_related.searches[i].related+'">';if(tipuesearch_related.searches[i].before)

+ {out+='<span class="tipue_search_related_before">'+tipuesearch_related.searches[i].before+'</span> ';}

+ out+=tipuesearch_related.searches[i].related;if(tipuesearch_related.searches[i].after)

+ {out+=' <span class="tipue_search_related_after">'+tipuesearch_related.searches[i].after+'</span>';}

+ out+='</a></div>';f++;}}

+ if(f)

+ {out+='</div>';}}

+ if(c>set.show)

+ {var pages=Math.ceil(c / set.show);var page=(start / set.show);out+='<nav><div id="tipue_search_foot"><ul id="tipue_search_foot_boxes">';if(start>0)

+ {out+='<li role="navigation"><a class="tipue_search_foot_box" accesskey="b" id="'+(start-set.show)+'_'+replace+'">'+tipuesearch_string_6+'</a></li>';}

+ if(page<=2)

+ {var p_b=pages;if(pages>3)

+ {p_b=3;}

+ for(var f=0;f<p_b;f++)

+ {if(f==page)

+ {out+='<li class="current" role="navigation">'+(f+1)+'</li>';}

+ else

+ {out+='<li role="navigation"><a class="tipue_search_foot_box" id="'+(f*set.show)+'_'+replace+'">'+(f+1)+'</a></li>';}}}

+ else

+ {var p_b=page+2;if(p_b>pages)

+ {p_b=pages;}

+ for(var f=page-1;f<p_b;f++)

+ {if(f==page)

+ {out+='<li class="current" role="navigation">'+(f+1)+'</li>';}

+ else

+ {out+='<li role="navigation"><a class="tipue_search_foot_box" id="'+(f*set.show)+'_'+replace+'">'+(f+1)+'</a></li>';}}}

+ if(page+1!=pages)

+ {out+='<li role="navigation"><a class="tipue_search_foot_box" accesskey="m" id="'+(start+set.show)+'_'+replace+'">'+tipuesearch_string_7+'</a></li>';}

+ out+='</ul></div></nav>';}}

+ else

+ {out+='<div id="tipue_search_warning">'+tipuesearch_string_8+'</div>';}}

+ else

+ {if(show_stop)

+ {out+='<div id="tipue_search_warning">'+tipuesearch_string_8+'. '+tipuesearch_string_9+'</div>';}

+ else

+ {out+='<div id="tipue_search_warning">'+tipuesearch_string_10+'</div>';if(set.minimumLength==1)

+ {out+='<div id="tipue_search_warning">'+tipuesearch_string_11+'</div>';}

+ else

+ {out+='<div id="tipue_search_warning">'+tipuesearch_string_12+' '+set.minimumLength+' '+tipuesearch_string_13+'</div>';}}}

+ $('#tipue_search_content').hide().html(out).slideDown(200);$('#tipue_search_replaced').click(function()

+ {getTipueSearch(0,false);});$('.tipue_search_related').click(function()

+ {$('#tipue_search_input').val($(this).attr('id'));getTipueSearch(0,true);});$('.tipue_search_foot_box').click(function()

+ {var id_v=$(this).attr('id');var id_a=id_v.split('_');getTipueSearch(parseInt(id_a[0]),id_a[1]);});}});};})(jQuery); 

\ No newline at end of file

@@ -0,0 +1,19 @@ 

+ 

+ var tipuesearch = {"pages": [

+      {"title": "Tipue", "text": "Tipue is a small web development studio based in North London.", "tags": "jQuery HTML5 CSS", "url": "http://www.tipue.com"},

+      {"title": "Tipue Search, a site search engine jQuery plugin", "text": "Tipue Search is a site search engine jQuery plugin. It's free, open source, responsive and fast. Tipue Search only needs a browser that supports jQuery. It doesn't need MySQL or similar. In Static mode it doesn't even need a web server.", "tags": "JavaScript", "url": "http://www.tipue.com/search"},

+      {"title": "Getting Started with Tipue Search", "text": "Tipue Search usually consists of two parts, the search box and the results page. The results page displays the search results.", "tags": "", "url": "http://www.tipue.com/search/docs/?d=1"},

+      {"title": "Tipue Search Documentation", "text": "Tipue Search is a site search engine jQuery plugin. It's free, open source and responsive. Like jQuery, Tipue Search is released under the MIT License. It's free for both commercial and non-commercial use. Tipue Search uses various modes for loading content. Static mode uses a JavaScript object, while JSON mode uses JSON. Live mode grabs content from a list of pages dynamically.", "tags": "docs help", "url": "http://www.tipue.com/search/docs"},     

+      {"title": "Tipue Search Static mode demo", "text": "Tipue Search is a site search engine jQuery plugin. This is a demo of Static mode. Enter tipue into the search box above.", "tags": "", "url": "http://www.tipue.com/search/demos/static"},

+      {"title": "Tipue Search Live mode demo", "text": "Tipue Search is a site search engine jQuery plugin. This is a demo of Live mode. Enter tipue into the search box above.", "tags": "", "url": "http://www.tipue.com/search/demos/live"},

+      {"title": "Tipue jQuery plugin support", "text": "We offer a range of flexible support plans for our jQuery plugins. We hope to continue offering excellent free support. Get it on Howwl using the hashtag #Tipue or #TipueSupport.", "tags": "", "url": "http://www.tipue.com/support"},

+      {"title": "Tipr, a small and simple jQuery tooltip plugin", "text": "Tipr is a small and simple jQuery tooltip plugin. It works on almost any element, and it's free and open source. Tipr displays attractive tooltips, and it's around 2KB, CSS included. The tooltips can appear above or below almost any HTML element. It also reacts to the size of the viewport.", "tags": "JavaScript", "url": "http://www.tipue.com/tipr"},

+      {"title": "The Tipue blog", "text": "A sporadic blog mostly about CSS, jQuery or HTML5.", "tags": "", "url": "http://www.tipue.com/blog"},

+      {"title": "About Tipue", "text": "Tipue is a small web development studio based in North London, founded in 2001. We design innovative web page add ins and features, more often than not with jQuery. We talk to servers with heavy-duty Perl.", "tags": "", "url": "http://www.tipue.com/is"},     

+      {"title": "The Tipue blog - The complete guide to centering a div", "text": "Every new developer inevitably finds that centering a div isn't as obvious as you'd expect. Centering what's inside a div is easy enough by giving the text-align property a value of center, but then things tend to get a bit sticky. When you get to centering a div vertically, you can end up in a world of CSS hurt.", "tags": "HTML", "url": "http://www.tipue.com/blog/center-a-div"},

+      {"title": "The Tipue blog - Native HTML5 autocomplete with datalist", "text": "This article shows how with the HTML5 datalist element and input list attribute you can easily set up an input box with a custom autocomplete without jQuery, JavaScript or similar.", "tags": "", "url": "http://www.tipue.com/blog/input-list"},

+      {"title": "The Tipue blog - The really simple guide to z-index", "text": "The CSS z-index property often trips up new and even experienced developers. The aim of this article is to boil down a somewhat-complex specification to 3 major points, which should ease most z-index pain.", "tags": "", "url": "http://www.tipue.com/z-index"}

+ ]};

+ 

+ 

+ 

@@ -0,0 +1,80 @@ 

+ 

+ /*

+ Tipue Search 6.0

+ Copyright (c) 2017 Tipue

+ Tipue Search is released under the MIT License

+ http://www.tipue.com/search

+ */

+ 

+ 

+ /*

+ Stop words

+ Stop words list from http://www.ranks.nl/stopwords

+ */

+ 

+ var tipuesearch_stop_words = ["a", "about", "above", "after", "again", "against", "all", "am", "an", "and", "any", "are", "aren't", "as", "at", "be", "because", "been", "before", "being", "below", "between", "both", "but", "by", "can't", "cannot", "could", "couldn't", "did", "didn't", "do", "does", "doesn't", "doing", "don't", "down", "during", "each", "few", "for", "from", "further", "had", "hadn't", "has", "hasn't", "have", "haven't", "having", "he", "he'd", "he'll", "he's", "her", "here", "here's", "hers", "herself", "him", "himself", "his", "how", "how's", "i", "i'd", "i'll", "i'm", "i've", "if", "in", "into", "is", "isn't", "it", "it's", "its", "itself", "let's", "me", "more", "most", "mustn't", "my", "myself", "no", "nor", "not", "of", "off", "on", "once", "only", "or", "other", "ought", "our", "ours", "ourselves", "out", "over", "own", "same", "shan't", "she", "she'd", "she'll", "she's", "should", "shouldn't", "so", "some", "such", "than", "that", "that's", "the", "their", "theirs", "them", "themselves", "then", "there", "there's", "these", "they", "they'd", "they'll", "they're", "they've", "this", "those", "through", "to", "too", "under", "until", "up", "very", "was", "wasn't", "we", "we'd", "we'll", "we're", "we've", "were", "weren't", "what", "what's", "when", "when's", "where", "where's", "which", "while", "who", "who's", "whom", "why", "why's", "with", "won't", "would", "wouldn't", "you", "you'd", "you'll", "you're", "you've", "your", "yours", "yourself", "yourselves"];

+ 

+ 

+ // Word replace

+ 

+ var tipuesearch_replace = {'words': [

+      {'word': 'tip', 'replace_with': 'tipue'},

+      {'word': 'javscript', 'replace_with': 'javascript'},

+      {'word': 'jqeury', 'replace_with': 'jquery'}

+ ]};

+ 

+ 

+ // Weighting

+ 

+ var tipuesearch_weight = {'weight': [

+      {'url': 'http://www.tipue.com', 'score': 20},

+      {'url': 'http://www.tipue.com/search', 'score': 30},

+      {'url': 'http://www.tipue.com/is', 'score': 10}

+ ]};

+ 

+ 

+ // Illogical stemming

+ 

+ var tipuesearch_stem = {'words': [

+      {'word': 'e-mail', 'stem': 'email'},

+      {'word': 'javascript', 'stem': 'jquery'},

+      {'word': 'javascript', 'stem': 'js'}

+ ]};

+ 

+ 

+ // Related searches

+ 

+ var tipuesearch_related = {'searches': [

+      {'search': 'tipue', 'related': 'Tipue Search'},

+      {'search': 'tipue', 'before': 'Tipue Search', 'related': 'Getting Started'},

+      {'search': 'tipue', 'before': 'Tipue', 'related': 'jQuery'},

+      {'search': 'tipue', 'before': 'Tipue', 'related': 'Blog'}

+ ]};

+ 

+ 

+ // Internal strings

+ 

+ var tipuesearch_string_1 = 'No title';

+ var tipuesearch_string_2 = 'Showing results for';

+ var tipuesearch_string_3 = 'Search instead for';

+ var tipuesearch_string_4 = '1 result';

+ var tipuesearch_string_5 = 'results';

+ var tipuesearch_string_6 = 'Back';

+ var tipuesearch_string_7 = 'More';

+ var tipuesearch_string_8 = 'Nothing found.';

+ var tipuesearch_string_9 = 'Common words are largely ignored.';

+ var tipuesearch_string_10 = 'Search too short';

+ var tipuesearch_string_11 = 'Should be one character or more.';

+ var tipuesearch_string_12 = 'Should be';

+ var tipuesearch_string_13 = 'characters or more.';

+ var tipuesearch_string_14 = 'seconds';

+ var tipuesearch_string_15 = 'Searches related to';

+ 

+ 

+ // Internals

+ 

+ 

+ // Timer for showTime

+ 

+ var startTimer = new Date().getTime();

+ 

@@ -0,0 +1,1 @@ 

+ {% extends "article_list.html" %}

@@ -0,0 +1,11 @@ 

+ {% extends "base.html" %}

+ {% block content %}

+ <h1>Archives for {{ SITENAME }}</h1>

+ 

+ <dl>

+ {% for article in dates %}

+     <dt>{{ article.locale_date }}</dt>

+     <dd><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></dd>

+ {% endfor %}

+ </dl>

+ {% endblock %}

@@ -0,0 +1,98 @@ 

+ {% extends "base.html" %}

+ {% block head %}

+   {{ super() }}

+   {% if article.description %}

+     <meta name="description" content="{{article.description}}" />

+   {% endif %}

+ 

+   {% for tag in article.tags %}

+     <meta name="tags" content="{{tag}}" />

+   {% endfor %}

+ {% endblock %}

+ 

+ {% block title %}

+ 	{{article.title}} - {{ super() }}

+ {% endblock %}

+ 

+ {% block breadcrumb_item %}

+ <li class="breadcrumb-item">

+ 	<span>{{article.title}}</span>

+ </li>

+ {% endblock %}

+ 

+ {% block content %}

+ <div class="bodycontent bodycontent-sidebar">

+ <div class="container">

+ 	<div class="row">

+ 		<div class="col-sm-9 pr-5 py-4 left-pane" style="background: #FFF;">

+ 			<section id="content" class="body docs-content">

+ 			  <header>

+ 			    <h2 class="entry-title">

+ 			      <a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark"

+ 			         title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a></h2>

+ 			  </header>

+ 			  <footer class="post-info">

+ 			    {#{% if article.authors %}

+ 			    <address class="vcard author">

+ 			      By {% for author in article.authors %}

+ 			          <a class="url fn" href="{{ SITEURL }}/{{ author.url }}">{{ author }}</a>

+ 			        {% endfor %}

+ 			    </address>

+ 			    {% endif %}#}

+ 			  </footer><!-- /.post-info -->

+ 			  <div class="entry-content">

+ 			    {{ article.content }}

+ 			  </div><!-- /.entry-content -->

+ 			</section>

+ 		</div>

+ 		<div class="col-sm-3 py-3 sidebar">

+ 			<div class="header-sidebar">

+ 				Last Updated

+ 			</div>

+ 			<div>

+ 				{% if article.modified %}

+ 					<time datetime="{{ article.modified.isoformat() }}">

+ 						{{ article.locale_modified }}

+ 					</time>

+ 				{% else %}

+ 					<time datetime="{{ article.date.isoformat() }}">

+ 						{{ article.locale_date }}

+ 					</time>

+ 				{% endif %}

+ 			</div>

+ 			{% if article.fedoraversions %}

+ 			<div class="header-sidebar mt-3">

+ 				Versions

+ 			</div>

+ 			<div>

+ 					{% for version in article.fedoraversions %}

+ 					<span class="badge badge-primary badge-sidebar"><span class="fa fa-bullseye"></span> Fedora {{version}}</span>

+ 					{% endfor %}

+ 			</div>

+ 			{% endif %}

+ 			<div class="header-sidebar mt-3">

+ 				Tags

+ 			</div>

+ 			<div>

+ 			{% for tag in article.tags %}

+ 			<a href="{{ SITEURL }}/{{ tag.url }}" class="badge badge-sidebar badge-default"><span class="fa fa-tag"></span> {{tag}}</a>

+ 			{% endfor %}

+ 			</div>

+ 

+ 			{% if article.related_posts %}

+ 			<div class="header-sidebar mt-3">

+ 				Related Articles

+ 			</div>

+ 			{% for related_post in article.related_posts %}

+ 	        <div><span class="fa fa-file-text-o"></span> <a href="{{ SITEURL }}/{{ related_post.url }}">{{ related_post.title }}</a></div>

+ 	    {% endfor %}

+ 

+ 			{% endif %}

+ 

+ 			{% import 'translations.html' as translations with context %}

+ 			{{ translations.translations_for(article) }}

+ 		</div>

+ 	</div>

+ </div>

+ </div>

+ {% endblock %}

@@ -0,0 +1,55 @@ 

+ {% extends "base.html" %}

+ {% block breadcrumb_item %}

+ <li class="breadcrumb-item">

+ 	<span>All Articles</span>

+ </li>

+ {% endblock %}

+ {% block content %}

+ <div class="bodycontent bodycontent-sidebar">

+ 	<div class="container">

+ 		<div class="row">

+ 			<div class="col-sm-9 pr-5 py-4 left-pane" style="background: #FFF;">

+ {% block content_title %}

+ <h2>All articles</h2>

+ {% endblock %}

+ 

+ {% for article in articles_page.object_list | sort %}

+ <div class="item-to-filter"

+ data-item-tags="{% for tag in article.tags %}{{tag}},{% endfor %}">

+ 	<div class="px-1 pb-4">

+ 	<div class="row px-0 mx-0 justify-content-between">

+ 				<a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark" title="Permalink to {{ article.title|striptags }}">

+ 					<strong>{{ article.title }}</strong>

+ 				</a>

+ 				<small><time class="published" datetime="{{ article.date.isoformat() }}"> {{ article.locale_date }} </time></small>

+ 	</div>

+ 	<div class="row px-0 mx-0 justify-content-between">

+ 				<span>

+ 					<!--<span class="badge badge-default"><span class="fa fa-folder"></span> {{article.category}}</span>-->

+ 					{% for tag in article.tags %}

+ 					<a href="{{ SITEURL }}/{{ tag.url }}" class="badge badge-default"><span class="fa fa-tag"></span> {{tag}}</a>

+ 					{% endfor %}

+ 					{% for version in article.fedoraversions %}

+ 					<span class="badge badge-primary"><span class="fa fa-bullseye"></span> Fedora {{version}}</span>

+ 					{% endfor %}

+ 				</span>

+ 	</div>

+ </div>

+ </div>

+ {% endfor %}

+ </div>

+ <div class="col-sm-3 py-3 sidebar">

+ 	<div class="header-sidebar">

+ 		Filter by Tag

+ 	</div>

+ 	<div>

+ 		<div class="tagsort-taglist"> </div>

+ 	</div>

+ </div>

+ </div>

+ {% if articles_page.has_other_pages() %}

+     {% include 'pagination.html' %}

+ {% endif %}

+ </div>

+ </div>

+ {% endblock content %}

@@ -0,0 +1,7 @@ 

+ {% extends "index.html" %}

+ 

+ {% block title %}{{ SITENAME }} - Articles by {{ author }}{% endblock %}

+ {% block content_title %}

+ <h2>Articles by {{ author }}</h2>

+ {% endblock %}

+ 

@@ -0,0 +1,13 @@ 

+ {% extends "article_list.html" %}

+ 

+ {% block title %}{{ SITENAME }} - Authors{% endblock %}

+ 

+ {% block content %}

+     <h1>Authors on {{ SITENAME }}</h1>

+ 

+     <ul>

+     {%- for author, articles in authors|sort %}

+         <li><a href="{{ SITEURL }}/{{ author.url }}">{{ author }}</a> ({{ articles|count }})</li>

+     {% endfor %}

+     </ul>

+ {% endblock %}

@@ -0,0 +1,179 @@ 

+ <!DOCTYPE html>

+ <html lang="{{ DEFAULT_LANG }}">

+ <head>

+ 	{% block head %}

+ 	<title>{% block title %}{{ SITENAME }} Quick Docs{% endblock title %}</title>

+ 	<meta charset="utf-8" />

+ 	{% if FEED_ALL_ATOM %}

+ 	<link href="{{ FEED_DOMAIN }}/{{ FEED_ALL_ATOM }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Full Atom Feed" />

+ 	{% endif %}

+ 	{% if FEED_ALL_RSS %}

+ 	<link href="{{ FEED_DOMAIN }}/{{ FEED_ALL_RSS }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} Full RSS Feed" />

+ 	{% endif %}

+ 	{% if FEED_ATOM %}

+ 	<link href="{{ FEED_DOMAIN }}/{{ FEED_ATOM }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Atom Feed" />

+ 	{% endif %}

+ 	{% if FEED_RSS %}

+ 	<link href="{{ FEED_DOMAIN }}/{{ FEED_RSS }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} RSS Feed" />

+ 	{% endif %}

+ 	{% if CATEGORY_FEED_ATOM and category %}

+ 	<link href="{{ FEED_DOMAIN }}/{{ CATEGORY_FEED_ATOM|format(category.slug) }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Categories Atom Feed" />

+ 	{% endif %}

+ 	{% if CATEGORY_FEED_RSS and category %}

+ 	<link href="{{ FEED_DOMAIN }}/{{ CATEGORY_FEED_RSS|format(category.slug) }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} Categories RSS Feed" />

+ 	{% endif %}

+ 	{% if TAG_FEED_ATOM and tag %}

+ 	<link href="{{ FEED_DOMAIN }}/{{ TAG_FEED_ATOM|format(tag.slug) }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Tags Atom Feed" />

+ 	{% endif %}

+ 	{% if TAG_FEED_RSS and tag %}

+ 	<link href="{{ FEED_DOMAIN }}/{{ TAG_FEED_RSS|format(tag.slug) }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} Tags RSS Feed" />

+ 	{% endif %}

+ 	<link href="{{ SITEURL }}/theme/fedora-bootstrap.css" type="text/css" rel="stylesheet" />

+ 	<link href="{{ SITEURL }}/theme/asciibinder.css" type="text/css" rel="stylesheet" />

+ 	<link href="{{ SITEURL }}/theme/docs-fedora.css" type="text/css" rel="stylesheet" />

+ 	<link href="{{ SITEURL }}/theme/pygment.css" type="text/css" rel="stylesheet" />

+ 	<link href="https://apps.fedoraproject.org/global/fedora-bootstrap-fonts/hack.css" type="text/css" rel="stylesheet" />

+ 	<link href="https://apps.fedoraproject.org/global/fedora-bootstrap-fonts/open-sans.css" type="text/css" rel="stylesheet" />

+ 	<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css" type="text/css" rel="stylesheet" />

+ 	<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js">

+ 	</script>

+ 	<script type="text/javascript" src="{{ SITEURL }}/theme/fedora-bootstrap.js"></script>

+ 	<script type="text/javascript" src="{{ SITEURL }}/theme/tagsort.min.js"></script>

+ 

+ 	{% endblock head %}

+ </head>

+ 

+ <body id="index" class="home">

+ 	<div class="masthead">

+ 		<div class="container">

+ 			<div><a href="http://docs.fedoraproject.org/"><img src="{{ SITEURL }}/theme/docs_logo.png" height="40px" alt="Fedora Docs"/></a>

+ 				<!--<div class="float-right">

+ 				<form id="searchform" action="{{ SITEURL }}/search.html" onsubmit="return (this.elements['q'].value.length > 0)">

+ 	    		<input id="searchbox" type="text" name="q" size="12" placeholder="Search" class="form-control">

+ 				</form>

+ 			</div>-->

+ 			</div>

+ 			<nav aria-label="breadcrumb">

+ 				<ol class="breadcrumb mb-0">

+ 				  <li class="breadcrumb-item active">

+ 					<a href="http://docs.fedoraproject.org">Home</a>

+ 				  </li>

+ 				  <li class="breadcrumb-item active">

+ 					<a href="{{ SITEURL }}">Fedora Quick Docs</a>

+ 				  </li>

+ 				  {% block breadcrumb_item %}{% endblock %}

+ 				</ol>

+ 			  </nav>

+ 		</div>

+ 

+ 	</div>

+ 

+ 	{#

+ 	<nav id="menu"><ul>

+ 	{% for title, link in MENUITEMS %}

+ 		<li><a href="{{ link }}">{{ title }}</a></li>

+ 	{% endfor %}

+ 	{% if DISPLAY_PAGES_ON_MENU %}

+ 		{% for p in pages %}

+ 		<li{% if p == page %} class="active"{% endif %}><a href="{{ SITEURL }}/{{ p.url }}">{{ p.title }}</a></li>

+ 		{% endfor %}

+ 	{% else %}

+ 		{% if DISPLAY_CATEGORIES_ON_MENU %}

+ 		{% for cat, null in categories %}

+ 			<li{% if cat == category %} class="active"{% endif %}><a href="{{ SITEURL }}/{{ cat.url }}">{{ cat }}</a></li>

+ 		{% endfor %}

+ 		{% endif %}

+ 	{% endif %}

+ 	</ul></nav><!-- /#menu -->

+ 	#}

+ 

+ 	{% block content %}

+ 	{% endblock %}

+ 

+ 	<div class="footer text-white" >

+ 		<div class="foot">

+ 			<div class="container py-4">

+ 				<div class="row footerlinks">

+ 					<div class="col-sm-2 col-xs-4 mt-3 widget">

+ 						<h3 class="widget-title">About</h3>

+ 						<div class="widget-body">

+ 							<dl>

+ 								<dd><a href="https://getfedora.org/">Get Fedora</a></dd>

+ 								<dd><a href="https://getfedora.org/en/sponsors">Sponsors</a></dd>

+ 								<dd><a href="https://fedoramagazine.org">Fedora Magazine</a></dd>

+ 		  <dd><a href="https://fedoraproject.org/wiki/Legal:Main#Legal">Legal</a></dd>

+ 							</dl>

+ 						</div>

+ 					</div>

+   

+ 					<div class="col-sm-2 col-xs-4 mt-3 widget">

+ 						<h3 class="widget-title">Support</h3>

+ 						<div class="widget-body">

+ 							<dl>

+ 								<dd><a href="https://fedoraproject.org/wiki/Communicating_and_getting_help">Get Help</a></dd>

+ 								<dd><a href="https://ask.fedoraproject.org/">Ask Fedora</a></dd>

+ 								<dd><a href="https://fedoraproject.org/wiki/Common_F27_bugs">Common Bugs</a></dd>

+ 								<dd><a href="https://developer.fedoraproject.org/">Fedora Developer Portal</a></dd>

+ 							</dl>

+ 						</div>

+ 					</div>

+   

+ 					<div class="col-sm-2 col-xs-4 mt-3 widget">

+ 						<h3 class="widget-title">Community</h3>

+ 						<div class="widget-body">

+ 							<dl>

+ 								<dd><a href="https://fedoraproject.org/wiki/Join">Join Fedora</a></dd>

+ 								<dd><a href="https://fedoraproject.org/wiki/Overview">About Fedora</a></dd>

+ 								<dd><a href="http://fedoraplanet.org">Planet Fedora</a></dd>

+ 								<dd><a href="https://admin.fedoraproject.org/accounts/">Fedora Account System</a></dd>

+ 							</dl>

+ 						</div>

+ 					</div>

+ 					<div class="col-sm-6 col-xs-12 widget text-right">

+ 						<a href="https://www.facebook.com/TheFedoraProject" class="btn-social btn-outline"><i class="fa fa-fw fa-2x fa-facebook"></i></a>

+ 						<a href="https://plus.google.com/112917221531140868607" class="btn-social btn-outline"><i class="fa fa-fw fa-2x fa-google-plus"></i></a>

+ 						<a href="https://twitter.com/fedora" class="btn-social btn-outline"><i class="fa fa-fw fa-2x fa-twitter"></i></a>

+ 						<p class="pt-3"> 

+ 						  &copy; 2018 Red Hat, Inc. and others. <br/>Please send any comments or corrections 

+ 						  to the <a href="https://pagure.io/fedora-docs/docs-fp-o">documentation team</a>

+ 						</p>

+ 						<p>

+ 						  Fedora is sponsored by Red Hat. <br/>

+ 						  <a href="https://www.redhat.com/en/technologies/linux-platforms/articles/relationship-between-fedora-and-rhel">Learn more about the relationship between Red Hat and Fedora &raquo;</a>

+ 						</p>

+ 						<div class="widget-body">

+ 						  <a href="https://www.redhat.com/"><img height="50px" class="rh-logo" src="{{ SITEURL }}/theme/redhat-logo.png" alt="Red Hat Logo" /></a>

+ 						</div>

+ 					</div>

+ 				</div> <!-- /row of widgets -->

+ 		  </div>

+ 	  </div>

+ 

+ 	<script>

+ 

+ 

+ 	$( document ).ready(function() {

+ 		$('div.tagsort-taglist').tagSort({

+ 		  items:'.item-to-filter',

+ 		  tagClassPrefix: 'badge badge-default badge-tagfilter tagsort-tag '

+ 		});

+ 

+ 		if ($('.docs-content').length){

+ 			var TOC = "<div class='header-sidebar mt-3'>Table of Contents</div><ul class='list-unstyled qd-toc'>";

+ 

+ 			$('.docs-content div.sect1 > h2').each(function(){

+ 				var element = $(this);

+ 				var text = element.text();

+ 				var link = '#'+element.attr("id");	

+ 				TOC += "<li class='pl-1'><a href='"+link+"'>"+text+"</a></li>"

+ 			});

+ 

+ 			TOC += "</ul>";

+ 

+ 			$(".sidebar").prepend(TOC);

+ 		}

+ 

+ });

+ 	</script>

+ </body>

+ </html>

@@ -0,0 +1,11 @@ 

+ {% extends "base.html" %}

+ {% block content %}

+ <ul>

+   {{categories}}

+ {% for category, articles in categories %}

+     {% for article in articles %}

+     <li><a href="{{ SITEURL }}/{{ category.url }}">{{ category }} {{article}}</a></li>

+     {% endfor %}

+ {% endfor %}

+ </ul>

+ {% endblock %}

@@ -0,0 +1,7 @@ 

+ {% extends "article_list.html" %}

+ {% block content_title %}

+ <h3>{{ category.name }} <span class="badge badge-default">{{articles_page.object_list|count}} articles</span></h3>

+ <p>

+ 	{{category.description}}

+ </p>

+ {% endblock %}

@@ -0,0 +1,69 @@ 

+ {% extends "base.html" %}

+ {% block content %}

+ <div class="bodycontent">

+ 	<div class="jumbotron py-4">

+ 		<div class="container">

+ 			<div class="row">

+ 				<div class="col-12">

+ 					<h1 class="display-5 text-center">Fedora Quick Docs</h1>

+ 					<p class="text-center">Quick, article style documentation on how to do things with Fedora</p>

+ 					<div class="row">

+ 						<div class="col-8 offset-2">

+ 							<form id="searchform" action="{{ SITEURL }}/search.html" onsubmit="return (this.elements['q'].value.length > 0)">

+ 								<div class="input-group">

+ 									<input class="form-control" id="searchbox" type="text" name="q" size="12" placeholder="Search Quick Docs" class="form-control">

+ 									<div class="input-group-btn">

+ 										<button class="btn btn-primary" type="submit"><span class="fa fa-search"></span></button>

+ 									</div>

+ 								</div>

+ 							</form>

+ 						</div>

+ 					</div>

+ 				</div>

+ 			</div>

+ 		</div>

+ 	</div>

+ 	<div class="container">

+ 		<div class="row">

+ 			<div class="col-10 offset-1 mb-4">

+ 					<h3 class="display-5 text-center">Browse</h3>

+ 					<a class="badge badge-success" href="{{ SITEURL }}/all_articles.html"><span class="fa fa-list"></span> All Articles</a>&nbsp;&nbsp;

+ {%- for tag, articles in tags|sort %}

+ <a class="badge badge-default" href="{{ SITEURL }}/{{ tag.url }}"><span class="fa fa-tag"></span> {{ tag }} {# {{ articles|count }} #}</a> 

+ {% endfor %}

+ 			</div>

+ 		<div class="col-10 offset-1 mb-4">

+ 				<h3 class="display-5 text-center">Recently updated articles</h3>

+ 

+ {% for article in articles_page.object_list[:5] %}

+ <div class="item-to-filter"

+ data-item-tags="{% for tag in article.tags %}{{tag}},{% endfor %}">

+ 	<div class="px-1 pb-4">

+ 	<div class="row px-0 mx-0 justify-content-between">

+ 				<a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark" title="Permalink to {{ article.title|striptags }}">

+ 					<strong>{{ article.title }}</strong>

+ 				</a>

+ 				<small><time class="published" datetime="{{ article.date.isoformat() }}"> {{ article.locale_date }} </time></small>

+ 	</div>

+ 	<div class="row px-0 mx-0 justify-content-between">

+ 				<span>

+ 					<!--<span class="badge badge-default"><span class="fa fa-folder"></span> {{article.category}}</span>-->

+ 					{% for tag in article.tags %}

+ 					<a href="{{ SITEURL }}/{{ tag.url }}" class="badge badge-default"><span class="fa fa-tag"></span> {{tag}}</a>

+ 					{% endfor %}

+ 					{#{% for version in article.fedoraversions %}

+ 					<span class="badge badge-default"><span class="fa fa-bullseye"></span> Fedora {{version}}</span>

+ 					{% endfor %}#}

+ 				</span>

+ 	</div>

+ </div>

+ </div>

+ {% endfor %}

+ </div>

+ </div>

+ {% if articles_page.has_other_pages() %}

+     {% include 'pagination.html' %}

+ {% endif %}

+ </div>

+ </div>

+ {% endblock content %}

@@ -0,0 +1,15 @@ 

+ {% extends "base.html" %}

+ {% block title %}{{ page.title }}{%endblock%}

+ {% block content %}

+     <h1>{{ page.title }}</h1>

+     {% import 'translations.html' as translations with context %}

+     {{ translations.translations_for(page) }}

+ 

+     {{ page.content }}

+ 

+ 	{% if page.modified %}

+ 		<p>

+ 		Last updated: {{ page.locale_modified }}

+ 		</p>

+ 	{% endif %}

+ {% endblock %}

@@ -0,0 +1,11 @@ 

+ {% if DEFAULT_PAGINATION %}

+ <p class="paginator">

+     {% if articles_page.has_previous() %}

+         <a href="{{ SITEURL }}/{{ articles_previous_page.url }}">&laquo;</a>

+     {% endif %}

+     Page {{ articles_page.number }} / {{ articles_paginator.num_pages }}

+     {% if articles_page.has_next() %}

+         <a href="{{ SITEURL }}/{{ articles_next_page.url }}">&raquo;</a>

+     {% endif %}

+ </p>

+ {% endif %}

@@ -0,0 +1,11 @@ 

+ {% extends "base.html" %}

+ {% block content %}

+ <h1>Archives for {{ period | reverse | join(' ') }}</h1>

+ 

+ <dl>

+ {% for article in dates %}

+     <dt>{{ article.locale_date }}</dt>

+     <dd><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></dd>

+ {% endfor %}

+ </dl>

+ {% endblock %}

@@ -0,0 +1,47 @@ 

+ {% extends 'base.html' %}

+ 

+ {% block title %}

+ Search - {{ SITENAME|striptags }}

+ {% endblock title %}

+ 

+ {% block head %}

+ {{ super() }}

+ <link href="{{ SITEURL }}/theme/tipuesearch/css/tipuesearch.css" type="text/css" rel="stylesheet" />

+ {% endblock %}

+ 

+ {% block breadcrumb_item %}

+ <li class="breadcrumb-item">

+ 	<span>Search</span>

+ </li>

+ {% endblock %}

+ 

+ {% block content %}

+ <script type="text/javascript" src="{{ SITEURL }}/theme/tipuesearch/tipuesearch_set.js"></script>

+ <script type="text/javascript" src="{{ SITEURL }}/theme/tipuesearch/tipuesearch.min.js"></script>

+ 

+ <script>

+ $(document).ready(function() {

+      $('#tipue_search_input').tipuesearch({

+          'show': 10,

+          'mode': 'json',

+          'contentLocation': '{{ SITEURL }}/tipuesearch_content.json'

+      });

+ });

+ </script>

+ 

+ <div class="bodycontent">

+     <div class="container">

+         <div class="row">

+             <div class="col-10 offset-1">

+                 <div class="input-group my-3">

+                     <input class="form-control" id="tipue_search_input" type="text" name="q" size="12" placeholder="Search Quick Docs" class="form-control">

+                     <div class="input-group-btn">

+                         <button id="tipue_search_button" class="btn btn-primary" type="submit"><span class="fa fa-search"></span></button>

+                     </div>

+                 </div>

+                 <div id="tipue_search_content"></div>

+             </div>

+         </div>

+     </div>

+ </div>

+ {% endblock content %}

@@ -0,0 +1,13 @@ 

+ {% extends "article_list.html" %}

+ {% block content_title %}

+ <h3>{{ tag.name }} <span class="badge badge-default">{{articles_page.object_list|count}} articles</span></h3>

+ <p>

+ 	{{tag.description}}

+ </p>

+ {% endblock %}

+ 

+ {% block breadcrumb_item %}

+ <li class="breadcrumb-item">

+ 	<span>Browsing Tag <span class="badge badge-default">{{tag}}</span></span>

+ </li>

+ {% endblock %} 

\ No newline at end of file

@@ -0,0 +1,10 @@ 

+ {% extends "base.html" %}

+ 

+ {% block title %}{{ SITENAME }} - Tags{% endblock %}

+ 

+ {% block content %}

+     <h1>Tags for {{ SITENAME }}</h1>

+     {%- for tag, articles in tags|sort %}

+         <li><a href="{{ SITEURL }}/{{ tag.url }}">{{ tag }}</a> ({{ articles|count }})</li>

+     {% endfor %}

+ {% endblock %}

@@ -0,0 +1,12 @@ 

+ {% macro translations_for(article) %}

+ {% if article.translations %}

+ <div class="header-sidebar mt-3">

+ 	Other Languages

+ </div>

+ <ul>

+ {% for translation in article.translations %}

+ <li><a href="{{ SITEURL }}/{{ translation.url }}">{{ translation.lang }}</a></li>

+ {% endfor %}

+ </ul>

+ {% endif %}

+ {% endmacro %}

no initial comment

Pull-Request has been merged by mattdm

6 years ago
Metadata
Changes Summary 63
+4
file added
.gitignore
+11
file added
README.md
+103
file added
develop_server.sh
+46
file added
pelicanconf.py
+49
file added
plugins/asciidoc_reader/README.rst
+1
file added
plugins/asciidoc_reader/__init__.py
+89
file added
plugins/asciidoc_reader/asciidoc_reader.py
+70
file added
plugins/asciidoc_reader/test_asciidoc_reader.py
+11
file added
plugins/asciidoc_reader/test_data/article_with_asc_extension.asc
+7
file added
plugins/asciidoc_reader/test_data/article_with_asc_options.asc
+22
file added
plugins/category_meta/README.md
+1
file added
plugins/category_meta/__init__.py
+130
file added
plugins/category_meta/category_meta.py
+60
file added
plugins/filetime_from_git/README.rst
+1
file added
plugins/filetime_from_git/__init__.py
+108
file added
plugins/filetime_from_git/actions.py
+99
file added
plugins/filetime_from_git/content_adapter.py
+162
file added
plugins/filetime_from_git/git_wrapper.py
+30
file added
plugins/filetime_from_git/registration.py
+39
file added
plugins/filetime_from_git/utils.py
+34
file added
plugins/related_posts/Readme.rst
+1
file added
plugins/related_posts/__init__.py
+56
file added
plugins/related_posts/related_posts.py
+67
file added
plugins/tipue_search/README.md
+1
file added
plugins/tipue_search/__init__.py
+114
file added
plugins/tipue_search/tipue_search.py
+24
file added
publishconf.py
+590
file added
theme/static/asciibinder.css
+0
file added
theme/static/docs-fedora-logo.png
+133
file added
theme/static/docs-fedora-logo.svg
+115
file added
theme/static/docs-fedora.css
+0
file added
theme/static/docs_logo.png
+6340
file added
theme/static/fedora-bootstrap.css
+5422
file added
theme/static/fedora-bootstrap.js
+6
file added
theme/static/fedora-bootstrap.min.css
+8
file added
theme/static/fedora-bootstrap.min.js
+205
file added
theme/static/pygment.css
+0
file added
theme/static/redhat-logo.png
+1
file added
theme/static/tagsort.min.js
+461
file added
theme/static/tipuesearch/css/normalize.css
+182
file added
theme/static/tipuesearch/css/tipuesearch.css
+0
file added
theme/static/tipuesearch/search.png
+605
file added
theme/static/tipuesearch/tipuesearch.js
+178
file added
theme/static/tipuesearch/tipuesearch.min.js
+19
file added
theme/static/tipuesearch/tipuesearch_content.js
+80
file added
theme/static/tipuesearch/tipuesearch_set.js
+1
file added
theme/templates/all_articles.html
+11
file added
theme/templates/archives.html
+98
file added
theme/templates/article.html
+55
file added
theme/templates/article_list.html
+7
file added
theme/templates/author.html
+13
file added
theme/templates/authors.html
+179
file added
theme/templates/base.html
+11
file added
theme/templates/categories.html
+7
file added
theme/templates/category.html
+69
file added
theme/templates/index.html
+15
file added
theme/templates/page.html
+11
file added
theme/templates/pagination.html
+11
file added
theme/templates/period_archives.html
+47
file added
theme/templates/search.html
+13
file added
theme/templates/tag.html
+10
file added
theme/templates/tags.html
+12
file added
theme/templates/translations.html