Changeset - b9e24c7beb48
[Not reviewed]
CONTRIBUTORS
Show inline comments
 
List of contributors to Kallithea project:
 

	
 
    Mads Kiilerich <mads@kiilerich.com> 2016-2023
 
    Mads Kiilerich <mads@kiilerich.com> 2016-2024
 
    Aristotelis Stageiritis <aristotelis79@gmail.com> 2024
 
    Poesty Li <poesty7450@gmail.com> 2024
 
    Manuel Jacob <me@manueljacob.de> 2019-2020 2022-2023
 
    Mathias De Mare <mathias.de_mare@nokia.com> 2023
 
    qy117121 <mixuan121@gmail.com> 2023
 
    Asterios Dimitriou <steve@pci.gr> 2016-2017 2020 2022
 
    Étienne Gilli <etienne@gilli.io> 2020-2022
 
    Jaime Marquínez Ferrándiz <weblate@jregistros.fastmail.net> 2022
 
    Louis Bertrand <louis.bertrand@durhamcollege.ca> 2022
 
    toras9000 <toras9000@gmail.com> 2022
 
    yzqzss <yzqzss@othing.xyz> 2022
 
    МАН69К <weblate@mah69k.net> 2022
 
    Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> 2014-2021
 
    ssantos <ssantos@web.de> 2018-2021
 
    Private <adamantine.sword@gmail.com> 2019-2021
 
    Étienne Gilli <etienne@gilli.io> 2020-2021
 
    fresh <fresh190@protonmail.com> 2020-2021
 
    robertus <robertuss12@gmail.com> 2020-2021
 
    Eugenia Russell <eugenia.russell2019@gmail.com> 2021
 
    Michalis <michalisntovas@yahoo.gr> 2021
 
    vs <vsuhachev@yandex.ru> 2021
 
    Александр <akonn7@mail.ru> 2021
 
    Allan Nordhøy <epost@anotheragency.no> 2017-2020
 
    Anton Schur <tonich.sh@gmail.com> 2017 2020
 
    Artem <kovalevartem.ru@gmail.com> 2020
 
    David Ignjić <ignjic@gmail.com> 2020
 
    Dennis Fink <dennis.fink@c3l.lu> 2020
 
    J. Lavoie <j.lavoie@net-c.ca> 2020
 
    Ross Thomas <ross@lns-nevasoft.com> 2020
 
    Tim Ooms <tatankat@users.noreply.github.com> 2020
 
    Andrej Shadura <andrew@shadura.me> 2012 2014-2017 2019
 
    Étienne Gilli <etienne.gilli@gmail.com> 2015-2017 2019
 
    Adi Kriegisch <adi@cg.tuwien.ac.at> 2019
 
    Danni Randeris <danniranderis@gmail.com> 2019
 
    Edmund Wong <ewong@crazy-cat.org> 2019
 
    Elizabeth Sherrock <lizzyd710@gmail.com> 2019
 
    Hüseyin Tunç <huseyin.tunc@bulutfon.com> 2019
 
    leela <53352@protonmail.com> 2019
 
    Mateusz Mendel <mendelm9@gmail.com> 2019
 
    Nathan <bonnemainsnathan@gmail.com> 2019
Jenkinsfile
Show inline comments
 
@@ -6,50 +6,50 @@ node {
 
                  strategy: [$class: 'LogRotator',
 
                              artifactDaysToKeepStr: '',
 
                              artifactNumToKeepStr: '10',
 
                              daysToKeepStr: '',
 
                              numToKeepStr: '']]]);
 
    if (isUnix()) {
 
        createvirtualenv = 'rm -r $JENKINS_HOME/venv/$JOB_NAME || true && python3 -m venv $JENKINS_HOME/venv/$JOB_NAME'
 
        activatevirtualenv = '. $JENKINS_HOME/venv/$JOB_NAME/bin/activate'
 
    } else {
 
        createvirtualenv = 'rmdir /s /q %JENKINS_HOME%\\venv\\%JOB_NAME% || true && python3 -m venv %JENKINS_HOME%\\venv\\%JOB_NAME%'
 
        activatevirtualenv = 'call %JENKINS_HOME%\\venv\\%JOB_NAME%\\Scripts\\activate.bat'
 
    }
 

	
 
    stage('checkout') {
 
        checkout scm
 
        if (isUnix()) {
 
            sh 'hg --config extensions.purge= purge --all'
 
        } else {
 
            bat 'hg --config extensions.purge= purge --all'
 
        }
 
    }
 
    stage('virtual env') {
 
        def virtualenvscript = """$createvirtualenv
 
            $activatevirtualenv
 
            python -m pip install --upgrade pip
 
            pip install --upgrade setuptools
 
            python -m pip install --upgrade "pip<24.1"
 
            pip install --upgrade "setuptools<67"
 
            pip install --upgrade pylint
 
            pip install --upgrade pytest-cov
 
            """
 
        if (isUnix()) {
 
            virtualenvscript += """
 
                pip install --upgrade python-ldap
 
                pip install --upgrade python-pam
 
                """
 
            sh virtualenvscript
 
        } else {
 
            bat virtualenvscript
 
        }
 
    }
 
    stage('setup') {
 
        def virtualenvscript = """$activatevirtualenv
 
            pip install --upgrade -e . -r dev_requirements.txt
 
            python setup.py compile_catalog
 
            """
 
        if (isUnix()) {
 
            sh virtualenvscript
 
        } else {
 
            bat virtualenvscript
 
        }
 
        stash name: 'kallithea', useDefaultExcludes: false
dev_requirements.txt
Show inline comments
 
pytest >= 4.6.6, < 6.3
 
pytest-sugar >= 0.9.2, < 0.10
 
pytest-benchmark >= 3.2.2, < 3.3
 
pytest-localserver >= 0.5.0, < 0.6
 
mock >= 3.0.0, < 4.1
 
pytest >= 4.6.6, < 8.3
 
pytest-sugar >= 0.9.2, < 1.1
 
pytest-benchmark >= 3.2.2, < 4.1
 
pytest-localserver >= 0.5.0, < 0.9
 
mock >= 3.0.0, < 5.2
 
Sphinx >= 1.8.0, < 5.2
 
WebTest >= 2.0.6, < 2.1
 
isort == 5.1.2
 
pyflakes == 2.2.0
 
WebTest >= 2.0.6, < 3.1
 
isort == 5.13.2
 
pyflakes == 3.2.0
docs/conf.py
Show inline comments
 
@@ -26,49 +26,49 @@ sys.path.insert(0, os.path.abspath('..')
 

	
 
# If your documentation needs a minimal Sphinx version, state it here.
 
#needs_sphinx = '1.0'
 

	
 
# Add any Sphinx extension module names here, as strings. They can be extensions
 
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
 
extensions = ['sphinx.ext.autodoc', 'sphinx.ext.doctest',
 
              'sphinx.ext.intersphinx', 'sphinx.ext.todo',
 
              'sphinx.ext.viewcode']
 

	
 
# Add any paths that contain templates here, relative to this directory.
 
templates_path = ['_templates']
 

	
 
# The suffix of source filenames.
 
source_suffix = '.rst'
 

	
 
# The encoding of source files.
 
#source_encoding = 'utf-8-sig'
 

	
 
# The master toctree document.
 
master_doc = 'index'
 

	
 
# General information about the project.
 
project = 'Kallithea'
 
copyright = '2010-2023 by various authors, licensed as GPLv3.'
 
copyright = '2010-2024 by various authors, licensed as GPLv3.'
 

	
 
# The version info for the project you're documenting, acts as replacement for
 
# |version| and |release|, also used in various other places throughout the
 
# built documents.
 
#
 
# The short X.Y version.
 
root = os.path.dirname(os.path.dirname(__file__))
 
sys.path.append(root)
 
version = kallithea.__version__
 
# The full version, including alpha/beta/rc tags.
 
release = kallithea.__version__
 

	
 
# The language for content autogenerated by Sphinx. Refer to documentation
 
# for a list of supported languages.
 
#language = None
 

	
 
# There are two options for replacing |today|: either, you set today to some
 
# non-false value, then it is used:
 
#today = ''
 
# Else, today_fmt is used as the format for a strftime call.
 
#today_fmt = '%B %d, %Y'
 

	
 
# List of patterns, relative to source directory, that match files and
 
# directories to ignore when looking for source files.
docs/contributing.rst
Show inline comments
 
@@ -12,49 +12,49 @@ Infrastructure
 
--------------
 

	
 
The main repository is hosted on Our Own Kallithea (aka OOK) at
 
https://kallithea-scm.org/repos/kallithea/, our self-hosted instance
 
of Kallithea.
 

	
 
Please use the `mailing list`_ to send patches or report issues.
 

	
 
We use Weblate_ to translate the user interface messages into languages other
 
than English. Join our project on `Hosted Weblate`_ to help us.
 
To register, you can use your Bitbucket or GitHub account. See :ref:`translations`
 
for more details.
 

	
 

	
 
Getting started
 
---------------
 

	
 
To get started with Kallithea development run the following commands in your
 
bash shell::
 

	
 
        hg clone https://kallithea-scm.org/repos/kallithea
 
        cd kallithea
 
        python3 -m venv venv
 
        . venv/bin/activate
 
        pip install --upgrade pip setuptools
 
        pip install --upgrade "pip<24.1" "setuptools<67"
 
        pip install --upgrade -e . -r dev_requirements.txt python-ldap python-pam
 
        kallithea-cli config-create my.ini
 
        kallithea-cli db-create -c my.ini --user=user --email=user@example.com --password=password --repos=/tmp
 
        kallithea-cli front-end-build
 
        gearbox serve -c my.ini --reload &
 
        firefox http://127.0.0.1:5000/
 

	
 

	
 
Contribution flow
 
-----------------
 

	
 
Starting from an existing Kallithea clone, make sure it is up to date with the
 
latest upstream changes::
 

	
 
        hg pull
 
        hg update
 

	
 
Review the :ref:`contributing-guidelines` and :ref:`coding-guidelines`.
 

	
 
If you are new to Mercurial, refer to Mercurial `Quick Start`_ and `Beginners
 
Guide`_ on the Mercurial wiki.
 

	
 
Now, make some changes and test them (see :ref:`contributing-tests`). Don't
 
forget to add new tests to cover new functionality or bug fixes.
docs/installation.rst
Show inline comments
 
@@ -34,92 +34,92 @@ Git and development packages for the dat
 

	
 
For Debian and Ubuntu, the following command will ensure that a reasonable
 
set of dependencies is installed::
 

	
 
    sudo apt-get install build-essential git libffi-dev python3-dev
 

	
 
For Fedora and RHEL-derivatives, the following command will ensure that a
 
reasonable set of dependencies is installed::
 

	
 
    sudo yum install gcc git libffi-devel python3-devel
 

	
 
.. _installation-source:
 

	
 

	
 
Installation from repository source
 
-----------------------------------
 

	
 
To install Kallithea in a virtualenv using the stable branch of the development
 
repository, use the following commands in your bash shell::
 

	
 
        hg clone https://kallithea-scm.org/repos/kallithea -u stable
 
        cd kallithea
 
        python3 -m venv venv
 
        . venv/bin/activate
 
        pip install --upgrade pip setuptools
 
        pip install --upgrade "pip<24.1" "setuptools<67"
 
        pip install --upgrade -e .
 
        python3 setup.py compile_catalog   # for translation of the UI
 

	
 
.. note::
 
   This will install all Python dependencies into the virtualenv. Kallithea
 
   itself will however only be installed as a pointer to the source location.
 
   The source clone must thus be kept in the same location, and it shouldn't be
 
   updated to other revisions unless you want to upgrade. Edits in the source
 
   tree will have immediate impact (possibly after a restart of the service).
 

	
 
You can now proceed to :ref:`prepare-front-end-files`.
 

	
 
.. _installation-virtualenv:
 

	
 

	
 
Installing a released version in a virtualenv
 
---------------------------------------------
 

	
 
It is highly recommended to use a separate virtualenv for installing Kallithea.
 
This way, all libraries required by Kallithea will be installed separately from your
 
main Python installation and other applications and things will be less
 
problematic when upgrading the system or Kallithea.
 
An additional benefit of virtualenv is that it doesn't require root privileges.
 

	
 
- Don't install as root - install as a dedicated user like ``kallithea``.
 
  If necessary, create the top directory for the virtualenv (like
 
  ``/srv/kallithea/venv``) as root and assign ownership to the user.
 

	
 
  Make a parent folder for the virtualenv (and perhaps also Kallithea
 
  configuration and data files) such as ``/srv/kallithea``. Create the
 
  directory as root if necessary and grant ownership to the ``kallithea`` user.
 

	
 
- Create a new virtual environment, for example in ``/srv/kallithea/venv``,
 
  specifying the right Python binary::
 

	
 
    python3 -m venv /srv/kallithea/venv
 

	
 
- Activate the virtualenv in your current shell session and make sure the
 
  basic requirements are up-to-date by running the following commands in your
 
  bash shell::
 

	
 
    . /srv/kallithea/venv/bin/activate
 
    pip install --upgrade pip setuptools
 
    pip install --upgrade "pip<24.1" "setuptools<67"
 

	
 
.. note:: You can't use UNIX ``sudo`` to source the ``activate`` script; it
 
   will "activate" a shell that terminates immediately.
 

	
 
- Install Kallithea in the activated virtualenv::
 

	
 
    pip install --upgrade kallithea
 

	
 
.. note:: Some dependencies are optional. If you need them, install them in
 
   the virtualenv too::
 

	
 
     pip install --upgrade kallithea python-ldap python-pam psycopg2
 

	
 
   This might require installation of development packages using your
 
   distribution's package manager.
 

	
 
   Alternatively, download a .tar.gz from http://pypi.python.org/pypi/Kallithea,
 
   extract it and install from source by running::
 

	
 
     pip install --upgrade .
 

	
 
- This will install Kallithea together with all other required
 
  Python libraries into the activated virtualenv.
 

	
docs/installation_win.rst
Show inline comments
 
@@ -83,49 +83,49 @@ Step 6 -- Install virtualenv
 
.. note::
 
   A python virtual environment will allow for isolation between the Python packages of your system and those used for Kallithea.
 
   It is strongly recommended to use it to ensure that Kallithea does not change a dependency that other software uses or vice versa.
 

	
 
To create a virtual environment, run::
 

	
 
  python3 -m venv C:\Kallithea\Env
 

	
 
Step 7 -- Install Kallithea
 
^^^^^^^^^^^^^^^^^^^^^^^^^^^
 

	
 
In order to install Kallithea, you need to be able to run "pip install kallithea". It will use pip to install the Kallithea Python package and its dependencies.
 
Some Python packages use managed code and need to be compiled.
 
This can be done on Linux without any special steps. On Windows, you will need to install Microsoft Visual C++ compiler for Python 3.8.
 

	
 
Download and install "Microsoft Visual C++ Compiler for Python 3.8" from http://aka.ms/vcpython27
 

	
 
.. note::
 
  You can also install the dependencies using already compiled Windows binaries packages. A good source of compiled Python packages is http://www.lfd.uci.edu/~gohlke/pythonlibs/. However, not all of the necessary packages for Kallithea are on this site and some are hard to find, so we will stick with using the compiler.
 

	
 
In a command prompt type (adapting paths if necessary)::
 

	
 
  cd C:\Kallithea\Env\Scripts
 
  activate
 
  pip install --upgrade pip setuptools
 
  pip install --upgrade "pip<24.1" "setuptools<67"
 

	
 
The prompt will change into "(Env) C:\\Kallithea\\Env\\Scripts" or similar
 
(depending of your folder structure). Then type::
 

	
 
  pip install kallithea
 

	
 
.. note:: This will take some time. Please wait patiently until it is fully
 
          complete. Some warnings will appear. Don't worry, they are
 
          normal.
 

	
 
Step 8 -- Install Git (optional)
 
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 

	
 
Mercurial being a python package, was installed automatically when doing ``pip install kallithea``.
 

	
 
You need to install Git manually if you want Kallithea to be able to host Git repositories.
 
See http://git-scm.com/book/en/v2/Getting-Started-Installing-Git#Installing-on-Windows for instructions.
 
The location of the Git binaries (like ``c:\path\to\git\bin``) must be
 
added to the ``PATH`` environment variable so ``git.exe`` and other tools like
 
``gzip.exe`` are available.
 

	
 
Step 9 -- Configuring Kallithea
 
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 

	
docs/installation_win_old.rst
Show inline comments
 
@@ -149,49 +149,49 @@ Step 7 -- Install Kallithea
 
Finally, install Kallithea
 

	
 
Close previously opened command prompt/s, and open a Visual Studio 2008
 
Command Prompt (**IMPORTANT!!**). To do so, go to Start Menu, and then open
 
"Microsoft Visual C++ 2008 Express Edition" -> "Visual Studio Tools" ->
 
"Visual Studio 2008 Command Prompt"
 

	
 
.. note::
 

	
 
   64-bit: For 64-bit you need to modify the shortcut that is used to start the
 
   Visual Studio 2008 Command Prompt. Use right-mouse click to open properties.
 

	
 
Change commandline from::
 

	
 
%comspec% /k ""C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"" x86
 

	
 
to::
 

	
 
%comspec% /k ""C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"" amd64
 

	
 
In that CMD (loaded with VS2008 PATHs) type::
 

	
 
  cd C:\Kallithea\Env\Scripts (or similar)
 
  activate
 
  pip install --upgrade pip setuptools
 
  pip install --upgrade "pip<24.1" "setuptools<67"
 

	
 
The prompt will change into "(Env) C:\\Kallithea\\Env\\Scripts" or similar
 
(depending of your folder structure). Then type::
 

	
 
 pip install kallithea
 

	
 
(long step, please wait until fully complete)
 

	
 
Some warnings will appear, don't worry as they are normal.
 

	
 
Step 8 -- Configuring Kallithea
 
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 

	
 
steps taken from http://packages.python.org/Kallithea/setup.html
 

	
 
You have to use the same Visual Studio 2008 command prompt as Step7, so
 
if you closed it reopen it following the same commands (including the
 
"activate" one). When ready, just type::
 

	
 
  cd C:\Kallithea\Bin
 
  kallithea-cli config-create my.ini
 

	
 
Then, you must edit my.ini to fit your needs (network address and
 
port, mail settings, database, whatever). I recommend using NotePad++
kallithea/config/app_cfg.py
Show inline comments
 
@@ -57,48 +57,52 @@ base_config.update_blueprint({
 

	
 
    # Configure Sessions, store data as JSON to avoid pickle security issues
 
    'session.enabled': True,
 
    'session.data_serializer': 'json',
 

	
 
    # Configure the base SQLALchemy Setup
 
    'use_sqlalchemy': True,
 
    'model': kallithea.model.base,
 
    'DBSession': kallithea.model.meta.Session,
 

	
 
    # Configure App without an authentication backend.
 
    'auth_backend': None,
 

	
 
    # Use custom error page for these errors. By default, Turbogears2 does not add
 
    # 400 in this list.
 
    # Explicitly listing all is considered more robust than appending to defaults,
 
    # in light of possible future framework changes.
 
    'errorpage.status_codes': [400, 401, 403, 404],
 

	
 
    # Disable transaction manager -- currently Kallithea takes care of transactions itself
 
    'tm.enabled': False,
 

	
 
    # Set the default i18n source language so TG doesn't search beyond 'en' in Accept-Language.
 
    'i18n.lang': 'en',
 

	
 
    # For TurboGears 2.4.3, define the native language for translations to
 
    # prevent fall-through to languages requested with lower priority.
 
    'i18n.native': ['en', 'en_US', 'en_GB'],
 
})
 

	
 
# DebugBar, a debug toolbar for TurboGears2.
 
# (https://github.com/TurboGears/tgext.debugbar)
 
# To enable it, install 'tgext.debugbar' and 'kajiki', and run Kallithea with
 
# 'debug = true' (not in production!)
 
# See the Kallithea documentation for more information.
 
try:
 
    import kajiki  # only to check its existence
 
    from tgext.debugbar import enable_debugbar
 
    assert kajiki
 
except ImportError:
 
    pass
 
else:
 
    base_config.get_blueprint_value('renderers').append('kajiki')
 
    enable_debugbar(base_config)
 

	
 

	
 
def setup_configuration(app):
 
    config = app.config
 

	
 
    if not kallithea.lib.locales.current_locale_is_valid():
 
        log.error("Terminating ...")
 
        sys.exit(1)
kallithea/controllers/admin/repo_groups.py
Show inline comments
 
@@ -69,55 +69,48 @@ class RepoGroupsController(base.BaseCont
 

	
 
    def __load_data(self, group_id):
 
        """
 
        Load defaults settings for edit, and update
 

	
 
        :param group_id:
 
        """
 
        repo_group = db.RepoGroup.get_or_404(group_id)
 
        data = repo_group.get_dict()
 
        data['group_name'] = repo_group.name
 
        data['owner'] = repo_group.owner.username
 

	
 
        # fill repository group users
 
        for p in repo_group.repo_group_to_perm:
 
            data.update({'u_perm_%s' % p.user.username:
 
                             p.permission.permission_name})
 

	
 
        # fill repository group groups
 
        for p in repo_group.users_group_to_perm:
 
            data.update({'g_perm_%s' % p.users_group.users_group_name:
 
                             p.permission.permission_name})
 

	
 
        return data
 

	
 
    def _revoke_perms_on_yourself(self, form_result):
 
        _up = [u for u in form_result['perms_updates'] if request.authuser.username == u[0]]
 
        _new = [u for u in form_result['perms_new'] if request.authuser.username == u[0]]
 
        if _new and _new[0][1] != 'group.admin' or _up and _up[0][1] != 'group.admin':
 
            return True
 
        return False
 

	
 
    def index(self, format='html'):
 
        _list = db.RepoGroup.query(sorted=True).all()
 
        group_iter = RepoGroupList(_list, perm_level='admin')
 
        repo_groups_data = []
 
        _tmpl_lookup = app_globals.mako_lookup
 
        template = _tmpl_lookup.get_template('data_table/_dt_elements.html')
 

	
 
        def repo_group_name(repo_group_name, children_groups):
 
            return template.get_def("repo_group_name") \
 
                .render_unicode(repo_group_name, children_groups, _=_, webutils=webutils, c=c)
 

	
 
        def repo_group_actions(repo_group_id, repo_group_name, gr_count):
 
            return template.get_def("repo_group_actions") \
 
                .render_unicode(repo_group_id, repo_group_name, gr_count, _=_, webutils=webutils, c=c,
 
                        ungettext=ungettext)
 

	
 
        for repo_gr in group_iter:
 
            children_groups = [g.name for g in repo_gr.parents] + [repo_gr.name]
 
            repo_count = repo_gr.repositories.count()
 
            repo_groups_data.append({
 
                "raw_name": webutils.escape(repo_gr.group_name),
 
                "group_name": repo_group_name(repo_gr.group_name, children_groups),
 
                "desc": webutils.escape(repo_gr.group_description),
 
                "repos": repo_count,
 
@@ -328,76 +321,66 @@ class RepoGroupsController(base.BaseCont
 
    def edit_repo_group_perms(self, group_name):
 
        c.active = 'perms'
 
        c.repo_group = db.RepoGroup.guess_instance(group_name)
 
        self.__load_defaults()
 
        defaults = self.__load_data(c.repo_group.group_id)
 

	
 
        return htmlfill.render(
 
            base.render('admin/repo_groups/repo_group_edit.html'),
 
            defaults=defaults,
 
            encoding="UTF-8",
 
            force_defaults=False
 
        )
 

	
 
    @HasRepoGroupPermissionLevelDecorator('admin')
 
    def update_perms(self, group_name):
 
        """
 
        Update permissions for given repository group
 

	
 
        :param group_name:
 
        """
 

	
 
        c.repo_group = db.RepoGroup.guess_instance(group_name)
 
        valid_recursive_choices = ['none', 'repos', 'groups', 'all']
 
        form_result = RepoGroupPermsForm(valid_recursive_choices)().to_python(request.POST)
 
        if not request.authuser.is_admin:
 
            if self._revoke_perms_on_yourself(form_result):
 
                msg = _('Cannot revoke permission for yourself as admin')
 
                webutils.flash(msg, category='warning')
 
                raise HTTPFound(location=url('edit_repo_group_perms', group_name=group_name))
 
        recursive = form_result['recursive']
 
        # iterate over all members(if in recursive mode) of this groups and
 
        # set the permissions !
 
        # this can be potentially heavy operation
 
        RepoGroupModel()._update_permissions(c.repo_group,
 
                                             form_result['perms_new'],
 
                                             form_result['perms_updates'],
 
                                             recursive)
 
        # TODO: implement this
 
        #action_logger(request.authuser, 'admin_changed_repo_permissions',
 
        #              repo_name, request.ip_addr)
 
        meta.Session().commit()
 
        webutils.flash(_('Repository group permissions updated'), category='success')
 
        raise HTTPFound(location=url('edit_repo_group_perms', group_name=group_name))
 

	
 
    @HasRepoGroupPermissionLevelDecorator('admin')
 
    def delete_perms(self, group_name):
 
        try:
 
            obj_type = request.POST.get('obj_type')
 
            obj_id = None
 
            if obj_type == 'user':
 
                obj_id = safe_int(request.POST.get('user_id'))
 
            elif obj_type == 'user_group':
 
                obj_id = safe_int(request.POST.get('user_group_id'))
 

	
 
            if not request.authuser.is_admin:
 
                if obj_type == 'user' and request.authuser.user_id == obj_id:
 
                    msg = _('Cannot revoke permission for yourself as admin')
 
                    webutils.flash(msg, category='warning')
 
                    raise Exception('revoke admin permission on self')
 
            recursive = request.POST.get('recursive', 'none')
 
            if obj_type == 'user':
 
                RepoGroupModel().delete_permission(repo_group=group_name,
 
                                                   obj=obj_id, obj_type='user',
 
                                                   recursive=recursive)
 
            elif obj_type == 'user_group':
 
                RepoGroupModel().delete_permission(repo_group=group_name,
 
                                                   obj=obj_id,
 
                                                   obj_type='user_group',
 
                                                   recursive=recursive)
 

	
 
            meta.Session().commit()
 
        except Exception:
 
            log.error(traceback.format_exc())
 
            webutils.flash(_('An error occurred during revoking of permission'),
 
                    category='error')
 
            raise HTTPInternalServerError()
kallithea/front-end/package-lock.json
Show inline comments
 
{
 
  "name": "kallithea",
 
  "lockfileVersion": 2,
 
  "lockfileVersion": 3,
 
  "requires": true,
 
  "packages": {
 
    "": {
 
      "name": "kallithea",
 
      "dependencies": {
 
        "at.js": "1.5.4",
 
        "bootstrap": "3.3.7",
 
        "codemirror": "5.49.0",
 
        "datatables.net": "1.10.20",
 
        "datatables.net-bs": "1.10.20",
 
        "jquery": "3.4.1",
 
        "jquery.caret": "0.3.1",
 
        "jquery.flot": "0.8.3",
 
        "select2": "3.5.1",
 
        "at.js": "1.5",
 
        "bootstrap": "3",
 
        "codemirror": "5",
 
        "datatables.net": "1",
 
        "datatables.net-bs": "1",
 
        "jquery": "3",
 
        "jquery.caret": "0.3",
 
        "jquery.flot": "0.8",
 
        "select2": "3",
 
        "select2-bootstrap-css": "1.4.6"
 
      },
 
      "devDependencies": {
 
        "eslint": "6.8.0",
 
        "eslint-plugin-html": "6.0.0",
 
        "less": "3.10.3",
 
        "less-plugin-clean-css": "1.5.1",
 
        "license-checker": "25.0.1"
 
        "eslint": "6",
 
        "eslint-plugin-html": "6",
 
        "less": "3",
 
        "less-plugin-clean-css": "1.5",
 
        "license-checker": "25"
 
      }
 
    },
 
    "node_modules/@babel/code-frame": {
 
      "version": "7.8.3",
 
      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
 
      "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
 
      "version": "7.24.7",
 
      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
 
      "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
 
      "dev": true,
 
      "dependencies": {
 
        "@babel/highlight": "^7.8.3"
 
        "@babel/highlight": "^7.24.7",
 
        "picocolors": "^1.0.0"
 
      },
 
      "engines": {
 
        "node": ">=6.9.0"
 
      }
 
    },
 
    "node_modules/@babel/helper-validator-identifier": {
 
      "version": "7.24.7",
 
      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz",
 
      "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">=6.9.0"
 
      }
 
    },
 
    "node_modules/@babel/highlight": {
 
      "version": "7.8.3",
 
      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
 
      "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
 
      "version": "7.24.7",
 
      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz",
 
      "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==",
 
      "dev": true,
 
      "dependencies": {
 
        "chalk": "^2.0.0",
 
        "esutils": "^2.0.2",
 
        "js-tokens": "^4.0.0"
 
        "@babel/helper-validator-identifier": "^7.24.7",
 
        "chalk": "^2.4.2",
 
        "js-tokens": "^4.0.0",
 
        "picocolors": "^1.0.0"
 
      },
 
      "engines": {
 
        "node": ">=6.9.0"
 
      }
 
    },
 
    "node_modules/abbrev": {
 
      "version": "1.1.1",
 
      "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
 
      "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
 
      "dev": true
 
    },
 
    "node_modules/acorn": {
 
      "version": "7.1.0",
 
      "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz",
 
      "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==",
 
      "version": "7.4.1",
 
      "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
 
      "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
 
      "dev": true,
 
      "bin": {
 
        "acorn": "bin/acorn"
 
      },
 
      "engines": {
 
        "node": ">=0.4.0"
 
      }
 
    },
 
    "node_modules/acorn-jsx": {
 
      "version": "5.1.0",
 
      "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz",
 
      "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==",
 
      "version": "5.3.2",
 
      "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
 
      "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
 
      "dev": true,
 
      "peerDependencies": {
 
        "acorn": "^6.0.0 || ^7.0.0"
 
        "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
 
      }
 
    },
 
    "node_modules/ajv": {
 
      "version": "6.10.2",
 
      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
 
      "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==",
 
      "version": "6.12.6",
 
      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
 
      "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
 
      "dev": true,
 
      "dependencies": {
 
        "fast-deep-equal": "^2.0.1",
 
        "fast-deep-equal": "^3.1.1",
 
        "fast-json-stable-stringify": "^2.0.0",
 
        "json-schema-traverse": "^0.4.1",
 
        "uri-js": "^4.2.2"
 
      },
 
      "funding": {
 
        "type": "github",
 
        "url": "https://github.com/sponsors/epoberezkin"
 
      }
 
    },
 
    "node_modules/amdefine": {
 
      "version": "1.0.1",
 
      "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
 
      "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
 
      "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">=0.4.2"
 
      }
 
    },
 
    "node_modules/ansi-escapes": {
 
      "version": "4.3.0",
 
      "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz",
 
      "integrity": "sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==",
 
      "version": "4.3.2",
 
      "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
 
      "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
 
      "dev": true,
 
      "dependencies": {
 
        "type-fest": "^0.8.1"
 
        "type-fest": "^0.21.3"
 
      },
 
      "engines": {
 
        "node": ">=8"
 
      },
 
      "funding": {
 
        "url": "https://github.com/sponsors/sindresorhus"
 
      }
 
    },
 
    "node_modules/ansi-escapes/node_modules/type-fest": {
 
      "version": "0.21.3",
 
      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
 
      "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">=10"
 
      },
 
      "funding": {
 
        "url": "https://github.com/sponsors/sindresorhus"
 
      }
 
    },
 
    "node_modules/ansi-regex": {
 
      "version": "5.0.0",
 
      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
 
      "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
 
      "version": "4.1.1",
 
      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz",
 
      "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">=8"
 
        "node": ">=6"
 
      }
 
    },
 
    "node_modules/ansi-styles": {
 
      "version": "3.2.1",
 
      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
 
      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
 
      "dev": true,
 
      "dependencies": {
 
        "color-convert": "^1.9.0"
 
      },
 
      "engines": {
 
        "node": ">=4"
 
      }
 
    },
 
    "node_modules/argparse": {
 
      "version": "1.0.10",
 
      "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
 
      "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
 
      "dev": true,
 
      "dependencies": {
 
        "sprintf-js": "~1.0.2"
 
      }
 
    },
 
    "node_modules/array-find-index": {
 
      "version": "1.0.2",
 
      "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
 
      "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
 
      "integrity": "sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">=0.10.0"
 
      }
 
    },
 
    "node_modules/asap": {
 
      "version": "2.0.6",
 
      "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
 
      "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
 
      "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==",
 
      "dev": true
 
    },
 
    "node_modules/asn1": {
 
      "version": "0.2.4",
 
      "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
 
      "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
 
      "dev": true,
 
      "optional": true,
 
      "dependencies": {
 
        "safer-buffer": "~2.1.0"
 
      }
 
    },
 
    "node_modules/assert-plus": {
 
      "version": "1.0.0",
 
      "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
 
      "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
 
      "dev": true,
 
      "optional": true,
 
      "engines": {
 
        "node": ">=0.8"
 
      }
 
    },
 
    "node_modules/astral-regex": {
 
      "version": "1.0.0",
 
      "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
 
      "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">=4"
 
      }
 
    },
 
    "node_modules/asynckit": {
 
      "version": "0.4.0",
 
      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
 
      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "node_modules/at.js": {
 
      "version": "1.5.4",
 
      "resolved": "https://registry.npmjs.org/at.js/-/at.js-1.5.4.tgz",
 
      "integrity": "sha512-G8mgUb/PqShPoH8AyjuxsTGvIr1o716BtQUKDM44C8qN2W615y7KGJ68MlTGamd0J0D/m28emUkzagaHTdrGZw==",
 
      "engines": {
 
        "node": ">= 0.6.0"
 
      },
 
      "peerDependencies": {
 
        "jquery": ">=1.7.0 <4.0.0"
 
      }
 
    },
 
    "node_modules/aws-sign2": {
 
      "version": "0.7.0",
 
      "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
 
      "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
 
      "dev": true,
 
      "optional": true,
 
      "engines": {
 
        "node": "*"
 
      }
 
    },
 
    "node_modules/aws4": {
 
      "version": "1.8.0",
 
      "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
 
      "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "node_modules/balanced-match": {
 
      "version": "1.0.0",
 
      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
 
      "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
 
      "version": "1.0.2",
 
      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
 
      "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
 
      "dev": true
 
    },
 
    "node_modules/bcrypt-pbkdf": {
 
      "version": "1.0.2",
 
      "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
 
      "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
 
      "dev": true,
 
      "optional": true,
 
      "dependencies": {
 
        "tweetnacl": "^0.14.3"
 
      }
 
    },
 
    "node_modules/bootstrap": {
 
      "version": "3.3.7",
 
      "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-3.3.7.tgz",
 
      "integrity": "sha1-WjiTlFSfIzMIdaOxUGVldPip63E=",
 
      "version": "3.4.1",
 
      "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-3.4.1.tgz",
 
      "integrity": "sha512-yN5oZVmRCwe5aKwzRj6736nSmKDX7pLYwsXiCj/EYmo16hODaBiT4En5btW/jhBF/seV+XMx3aYwukYC3A49DA==",
 
      "engines": {
 
        "node": ">=0.10.1"
 
        "node": ">=6"
 
      }
 
    },
 
    "node_modules/brace-expansion": {
 
      "version": "1.1.11",
 
      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
 
      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
 
      "dev": true,
 
      "dependencies": {
 
        "balanced-match": "^1.0.0",
 
        "concat-map": "0.0.1"
 
      }
 
    },
 
    "node_modules/callsites": {
 
      "version": "3.1.0",
 
      "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
 
      "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">=6"
 
      }
 
    },
 
    "node_modules/caseless": {
 
      "version": "0.12.0",
 
      "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
 
      "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "node_modules/chalk": {
 
      "version": "2.4.2",
 
      "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
 
      "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
 
      "dev": true,
 
      "dependencies": {
 
        "ansi-styles": "^3.2.1",
 
        "escape-string-regexp": "^1.0.5",
 
        "supports-color": "^5.3.0"
 
      },
 
      "engines": {
 
        "node": ">=4"
 
      }
 
    },
 
    "node_modules/chardet": {
 
      "version": "0.7.0",
 
      "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
 
      "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
 
      "dev": true
 
    },
 
    "node_modules/clean-css": {
 
      "version": "3.4.28",
 
      "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.28.tgz",
 
      "integrity": "sha1-vxlF6C/ICPVWlebd6uwBQA79A/8=",
 
      "integrity": "sha512-aTWyttSdI2mYi07kWqHi24NUU9YlELFKGOAgFzZjDN1064DMAOy2FBuoyGmkKRlXkbpXd0EVHmiVkbKhKoirTw==",
 
      "dev": true,
 
      "dependencies": {
 
        "commander": "2.8.x",
 
        "source-map": "0.4.x"
 
      },
 
      "bin": {
 
        "cleancss": "bin/cleancss"
 
      },
 
      "engines": {
 
        "node": ">=0.10.0"
 
      }
 
    },
 
    "node_modules/clean-css/node_modules/source-map": {
 
      "version": "0.4.4",
 
      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
 
      "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
 
      "integrity": "sha512-Y8nIfcb1s/7DcobUz1yOO1GSp7gyL+D9zLHDehT7iRESqGSxjJ448Sg7rvfgsRJCnKLdSl11uGf0s9X80cH0/A==",
 
      "dev": true,
 
      "dependencies": {
 
        "amdefine": ">=0.0.4"
 
      },
 
      "engines": {
 
        "node": ">=0.8.0"
 
      }
 
    },
 
    "node_modules/cli-cursor": {
 
      "version": "3.1.0",
 
      "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
 
      "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
 
      "dev": true,
 
      "dependencies": {
 
        "restore-cursor": "^3.1.0"
 
      },
 
      "engines": {
 
        "node": ">=8"
 
      }
 
    },
 
    "node_modules/cli-width": {
 
      "version": "2.2.0",
 
      "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
 
      "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
 
      "dev": true
 
    },
 
    "node_modules/clone": {
 
      "version": "2.1.2",
 
      "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
 
      "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=",
 
      "version": "3.0.0",
 
      "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz",
 
      "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">=0.8"
 
        "node": ">= 10"
 
      }
 
    },
 
    "node_modules/codemirror": {
 
      "version": "5.49.0",
 
      "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.49.0.tgz",
 
      "integrity": "sha512-Hyzr0HToBdZpLBN9dYFO/KlJAsKH37/cXVHPAqa+imml0R92tb9AkmsvjnXL+SluEvjjdfkDgRjc65NG5jnMYA=="
 
      "version": "5.65.17",
 
      "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.65.17.tgz",
 
      "integrity": "sha512-1zOsUx3lzAOu/gnMAZkQ9kpIHcPYOc9y1Fbm2UVk5UBPkdq380nhkelG0qUwm1f7wPvTbndu9ZYlug35EwAZRQ=="
 
    },
 
    "node_modules/color-convert": {
 
      "version": "1.9.3",
 
      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
 
      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
 
      "dev": true,
 
      "dependencies": {
 
        "color-name": "1.1.3"
 
      }
 
    },
 
    "node_modules/color-name": {
 
      "version": "1.1.3",
 
      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
 
      "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
 
      "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
 
      "dev": true
 
    },
 
    "node_modules/combined-stream": {
 
      "version": "1.0.8",
 
      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
 
      "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
 
      "dev": true,
 
      "optional": true,
 
      "dependencies": {
 
        "delayed-stream": "~1.0.0"
 
      },
 
      "engines": {
 
        "node": ">= 0.8"
 
      }
 
    },
 
    "node_modules/commander": {
 
      "version": "2.8.1",
 
      "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz",
 
      "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=",
 
      "integrity": "sha512-+pJLBFVk+9ZZdlAOB5WuIElVPPth47hILFkmGym57aq8kwxsowvByvB0DHs1vQAhyMZzdcpTtF0VDKGkSDR4ZQ==",
 
      "dev": true,
 
      "dependencies": {
 
        "graceful-readlink": ">= 1.0.0"
 
      },
 
      "engines": {
 
        "node": ">= 0.6.x"
 
      }
 
    },
 
    "node_modules/concat-map": {
 
      "version": "0.0.1",
 
      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
 
      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
 
      "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
 
      "dev": true
 
    },
 
    "node_modules/core-util-is": {
 
      "version": "1.0.2",
 
      "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
 
      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
 
    "node_modules/copy-anything": {
 
      "version": "2.0.6",
 
      "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz",
 
      "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==",
 
      "dev": true,
 
      "optional": true
 
      "dependencies": {
 
        "is-what": "^3.14.1"
 
      },
 
      "funding": {
 
        "url": "https://github.com/sponsors/mesqueeb"
 
      }
 
    },
 
    "node_modules/cross-spawn": {
 
      "version": "6.0.5",
 
      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
 
      "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
 
      "dev": true,
 
      "dependencies": {
 
        "nice-try": "^1.0.4",
 
        "path-key": "^2.0.1",
 
        "semver": "^5.5.0",
 
        "shebang-command": "^1.2.0",
 
        "which": "^1.2.9"
 
      },
 
      "engines": {
 
        "node": ">=4.8"
 
      }
 
    },
 
    "node_modules/dashdash": {
 
      "version": "1.14.1",
 
      "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
 
      "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
 
    "node_modules/cross-spawn/node_modules/semver": {
 
      "version": "5.7.2",
 
      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
 
      "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
 
      "dev": true,
 
      "optional": true,
 
      "dependencies": {
 
        "assert-plus": "^1.0.0"
 
      },
 
      "engines": {
 
        "node": ">=0.10"
 
      "bin": {
 
        "semver": "bin/semver"
 
      }
 
    },
 
    "node_modules/datatables.net": {
 
      "version": "1.10.20",
 
      "resolved": "https://registry.npmjs.org/datatables.net/-/datatables.net-1.10.20.tgz",
 
      "integrity": "sha512-4E4S7tTU607N3h0fZPkGmAtr9mwy462u+VJ6gxYZ8MxcRIjZqHy3Dv1GNry7i3zQCktTdWbULVKBbkAJkuHEnQ==",
 
      "version": "1.13.11",
 
      "resolved": "https://registry.npmjs.org/datatables.net/-/datatables.net-1.13.11.tgz",
 
      "integrity": "sha512-AE6RkMXziRaqzPcu/pl3SJXeRa6fmXQG/fVjuRESujvkzqDCYEeKTTpPMuVJSGYJpPi32WGSphVNNY1G4nSN/g==",
 
      "dependencies": {
 
        "jquery": ">=1.7"
 
        "jquery": "1.8 - 4"
 
      }
 
    },
 
    "node_modules/datatables.net-bs": {
 
      "version": "1.10.20",
 
      "resolved": "https://registry.npmjs.org/datatables.net-bs/-/datatables.net-bs-1.10.20.tgz",
 
      "integrity": "sha512-NsMoOOYZ6NlteOpzhltw21lXsNdhjIMbIOxnqmcrb62ntl8eL9pYzk2AeiDXBlIKY4e550ZrExCq3CYKQ9myEg==",
 
      "version": "1.13.11",
 
      "resolved": "https://registry.npmjs.org/datatables.net-bs/-/datatables.net-bs-1.13.11.tgz",
 
      "integrity": "sha512-oZeXzC2Z+pZc9Wpil6XuuwMPMfllSd+hWEauhKr8q7bTM5fGuBKzAVzSr7Tuo1OzMBZ6NkAb+HSBGCGUn5Qbhg==",
 
      "dependencies": {
 
        "datatables.net": "1.10.20",
 
        "jquery": ">=1.7"
 
        "datatables.net": "1.13.11",
 
        "jquery": "1.8 - 4"
 
      }
 
    },
 
    "node_modules/debug": {
 
      "version": "3.2.6",
 
      "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
 
      "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
 
      "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)",
 
      "version": "4.3.5",
 
      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
 
      "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
 
      "dev": true,
 
      "dependencies": {
 
        "ms": "^2.1.1"
 
        "ms": "2.1.2"
 
      },
 
      "engines": {
 
        "node": ">=6.0"
 
      },
 
      "peerDependenciesMeta": {
 
        "supports-color": {
 
          "optional": true
 
        }
 
      }
 
    },
 
    "node_modules/debuglog": {
 
      "version": "1.0.1",
 
      "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz",
 
      "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=",
 
      "integrity": "sha512-syBZ+rnAK3EgMsH2aYEOLUW7mZSY9Gb+0wUMCFsZvcmiz+HigA0LOcq/HoQqVuGG+EKykunc7QG2bzrponfaSw==",
 
      "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.",
 
      "dev": true,
 
      "engines": {
 
        "node": "*"
 
      }
 
    },
 
    "node_modules/deep-is": {
 
      "version": "0.1.3",
 
      "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
 
      "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
 
      "version": "0.1.4",
 
      "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
 
      "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
 
      "dev": true
 
    },
 
    "node_modules/delayed-stream": {
 
      "version": "1.0.0",
 
      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
 
      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
 
      "dev": true,
 
      "optional": true,
 
      "engines": {
 
        "node": ">=0.4.0"
 
      }
 
    },
 
    "node_modules/dezalgo": {
 
      "version": "1.0.3",
 
      "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz",
 
      "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=",
 
      "version": "1.0.4",
 
      "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz",
 
      "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==",
 
      "dev": true,
 
      "dependencies": {
 
        "asap": "^2.0.0",
 
        "wrappy": "1"
 
      }
 
    },
 
    "node_modules/doctrine": {
 
      "version": "3.0.0",
 
      "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
 
      "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
 
      "dev": true,
 
      "dependencies": {
 
        "esutils": "^2.0.2"
 
      },
 
      "engines": {
 
        "node": ">=6.0.0"
 
      }
 
    },
 
    "node_modules/dom-serializer": {
 
      "version": "0.2.2",
 
      "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz",
 
      "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==",
 
      "version": "1.4.1",
 
      "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz",
 
      "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==",
 
      "dev": true,
 
      "dependencies": {
 
        "domelementtype": "^2.0.1",
 
        "domhandler": "^4.2.0",
 
        "entities": "^2.0.0"
 
      },
 
      "funding": {
 
        "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
 
      }
 
    },
 
    "node_modules/dom-serializer/node_modules/domelementtype": {
 
      "version": "2.0.1",
 
      "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz",
 
      "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==",
 
      "dev": true
 
    },
 
    "node_modules/dom-serializer/node_modules/entities": {
 
      "version": "2.0.0",
 
      "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz",
 
      "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==",
 
      "dev": true
 
      "version": "2.2.0",
 
      "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
 
      "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
 
      "dev": true,
 
      "funding": {
 
        "url": "https://github.com/fb55/entities?sponsor=1"
 
      }
 
    },
 
    "node_modules/domelementtype": {
 
      "version": "1.3.1",
 
      "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
 
      "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==",
 
      "dev": true
 
      "version": "2.3.0",
 
      "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
 
      "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
 
      "dev": true,
 
      "funding": [
 
        {
 
          "type": "github",
 
          "url": "https://github.com/sponsors/fb55"
 
        }
 
      ]
 
    },
 
    "node_modules/domhandler": {
 
      "version": "2.4.2",
 
      "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz",
 
      "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==",
 
      "version": "4.3.1",
 
      "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
 
      "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
 
      "dev": true,
 
      "dependencies": {
 
        "domelementtype": "1"
 
        "domelementtype": "^2.2.0"
 
      },
 
      "engines": {
 
        "node": ">= 4"
 
      },
 
      "funding": {
 
        "url": "https://github.com/fb55/domhandler?sponsor=1"
 
      }
 
    },
 
    "node_modules/domutils": {
 
      "version": "1.7.0",
 
      "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
 
      "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==",
 
      "version": "2.8.0",
 
      "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
 
      "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
 
      "dev": true,
 
      "dependencies": {
 
        "dom-serializer": "0",
 
        "domelementtype": "1"
 
      }
 
    },
 
    "node_modules/ecc-jsbn": {
 
      "version": "0.1.2",
 
      "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
 
      "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
 
      "dev": true,
 
      "optional": true,
 
      "dependencies": {
 
        "jsbn": "~0.1.0",
 
        "safer-buffer": "^2.1.0"
 
        "dom-serializer": "^1.0.1",
 
        "domelementtype": "^2.2.0",
 
        "domhandler": "^4.2.0"
 
      },
 
      "funding": {
 
        "url": "https://github.com/fb55/domutils?sponsor=1"
 
      }
 
    },
 
    "node_modules/emoji-regex": {
 
      "version": "8.0.0",
 
      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
 
      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
 
      "dev": true
 
    },
 
    "node_modules/entities": {
 
      "version": "1.1.2",
 
      "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
 
      "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
 
      "dev": true
 
      "version": "3.0.1",
 
      "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz",
 
      "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">=0.12"
 
      },
 
      "funding": {
 
        "url": "https://github.com/fb55/entities?sponsor=1"
 
      }
 
    },
 
    "node_modules/errno": {
 
      "version": "0.1.7",
 
      "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
 
      "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
 
      "version": "0.1.8",
 
      "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz",
 
      "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==",
 
      "dev": true,
 
      "optional": true,
 
      "dependencies": {
 
        "prr": "~1.0.1"
 
      },
 
      "bin": {
 
        "errno": "cli.js"
 
      }
 
    },
 
    "node_modules/escape-string-regexp": {
 
      "version": "1.0.5",
 
      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
 
      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
 
      "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">=0.8.0"
 
      }
 
    },
 
    "node_modules/eslint": {
 
      "version": "6.8.0",
 
      "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz",
 
      "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==",
 
      "dev": true,
 
      "dependencies": {
 
        "@babel/code-frame": "^7.0.0",
 
        "ajv": "^6.10.0",
 
        "chalk": "^2.1.0",
 
        "cross-spawn": "^6.0.5",
 
        "debug": "^4.0.1",
 
        "doctrine": "^3.0.0",
 
        "eslint-scope": "^5.0.0",
 
        "eslint-utils": "^1.4.3",
 
        "eslint-visitor-keys": "^1.1.0",
 
        "espree": "^6.1.2",
 
        "esquery": "^1.0.1",
 
        "esutils": "^2.0.2",
 
        "file-entry-cache": "^5.0.1",
 
@@ -626,3675 +593,1614 @@
 
        "minimatch": "^3.0.4",
 
        "mkdirp": "^0.5.1",
 
        "natural-compare": "^1.4.0",
 
        "optionator": "^0.8.3",
 
        "progress": "^2.0.0",
 
        "regexpp": "^2.0.1",
 
        "semver": "^6.1.2",
 
        "strip-ansi": "^5.2.0",
 
        "strip-json-comments": "^3.0.1",
 
        "table": "^5.2.3",
 
        "text-table": "^0.2.0",
 
        "v8-compile-cache": "^2.0.3"
 
      },
 
      "bin": {
 
        "eslint": "bin/eslint.js"
 
      },
 
      "engines": {
 
        "node": "^8.10.0 || ^10.13.0 || >=11.10.1"
 
      },
 
      "funding": {
 
        "url": "https://opencollective.com/eslint"
 
      }
 
    },
 
    "node_modules/eslint-plugin-html": {
 
      "version": "6.0.0",
 
      "resolved": "https://registry.npmjs.org/eslint-plugin-html/-/eslint-plugin-html-6.0.0.tgz",
 
      "integrity": "sha512-PQcGippOHS+HTbQCStmH5MY1BF2MaU8qW/+Mvo/8xTa/ioeMXdSP+IiaBw2+nh0KEMfYQKuTz1Zo+vHynjwhbg==",
 
      "version": "6.2.0",
 
      "resolved": "https://registry.npmjs.org/eslint-plugin-html/-/eslint-plugin-html-6.2.0.tgz",
 
      "integrity": "sha512-vi3NW0E8AJombTvt8beMwkL1R/fdRWl4QSNRNMhVQKWm36/X0KF0unGNAY4mqUF06mnwVWZcIcerrCnfn9025g==",
 
      "dev": true,
 
      "dependencies": {
 
        "htmlparser2": "^3.10.1"
 
        "htmlparser2": "^7.1.2"
 
      }
 
    },
 
    "node_modules/eslint-scope": {
 
      "version": "5.0.0",
 
      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz",
 
      "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==",
 
      "version": "5.1.1",
 
      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
 
      "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
 
      "dev": true,
 
      "dependencies": {
 
        "esrecurse": "^4.1.0",
 
        "esrecurse": "^4.3.0",
 
        "estraverse": "^4.1.1"
 
      },
 
      "engines": {
 
        "node": ">=8.0.0"
 
      }
 
    },
 
    "node_modules/eslint-utils": {
 
      "version": "1.4.3",
 
      "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz",
 
      "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==",
 
      "dev": true,
 
      "dependencies": {
 
        "eslint-visitor-keys": "^1.1.0"
 
      },
 
      "engines": {
 
        "node": ">=6"
 
      }
 
    },
 
    "node_modules/eslint-visitor-keys": {
 
      "version": "1.1.0",
 
      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz",
 
      "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==",
 
      "version": "1.3.0",
 
      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
 
      "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">=4"
 
      }
 
    },
 
    "node_modules/eslint/node_modules/debug": {
 
      "version": "4.1.1",
 
      "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
 
      "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
 
      "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)",
 
    "node_modules/espree": {
 
      "version": "6.2.1",
 
      "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz",
 
      "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==",
 
      "dev": true,
 
      "dependencies": {
 
        "ms": "^2.1.1"
 
      }
 
    },
 
    "node_modules/eslint/node_modules/semver": {
 
      "version": "6.3.0",
 
      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
 
      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
 
      "dev": true,
 
      "bin": {
 
        "semver": "bin/semver.js"
 
      }
 
    },
 
    "node_modules/espree": {
 
      "version": "6.1.2",
 
      "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.2.tgz",
 
      "integrity": "sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA==",
 
      "dev": true,
 
      "dependencies": {
 
        "acorn": "^7.1.0",
 
        "acorn-jsx": "^5.1.0",
 
        "acorn": "^7.1.1",
 
        "acorn-jsx": "^5.2.0",
 
        "eslint-visitor-keys": "^1.1.0"
 
      },
 
      "engines": {
 
        "node": ">=6.0.0"
 
      }
 
    },
 
    "node_modules/esprima": {
 
      "version": "4.0.1",
 
      "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
 
      "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
 
      "dev": true,
 
      "bin": {
 
        "esparse": "bin/esparse.js",
 
        "esvalidate": "bin/esvalidate.js"
 
      },
 
      "engines": {
 
        "node": ">=4"
 
      }
 
    },
 
    "node_modules/esquery": {
 
      "version": "1.1.0",
 
      "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.1.0.tgz",
 
      "integrity": "sha512-MxYW9xKmROWF672KqjO75sszsA8Mxhw06YFeS5VHlB98KDHbOSurm3ArsjO60Eaf3QmGMCP1yn+0JQkNLo/97Q==",
 
      "version": "1.6.0",
 
      "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz",
 
      "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==",
 
      "dev": true,
 
      "dependencies": {
 
        "estraverse": "^4.0.0"
 
        "estraverse": "^5.1.0"
 
      },
 
      "engines": {
 
        "node": ">=0.6"
 
        "node": ">=0.10"
 
      }
 
    },
 
    "node_modules/esquery/node_modules/estraverse": {
 
      "version": "5.3.0",
 
      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
 
      "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">=4.0"
 
      }
 
    },
 
    "node_modules/esrecurse": {
 
      "version": "4.2.1",
 
      "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
 
      "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
 
      "version": "4.3.0",
 
      "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
 
      "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
 
      "dev": true,
 
      "dependencies": {
 
        "estraverse": "^4.1.0"
 
        "estraverse": "^5.2.0"
 
      },
 
      "engines": {
 
        "node": ">=4.0"
 
      }
 
    },
 
    "node_modules/esrecurse/node_modules/estraverse": {
 
      "version": "5.3.0",
 
      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
 
      "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">=4.0"
 
      }
 
    },
 
    "node_modules/estraverse": {
 
      "version": "4.3.0",
 
      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
 
      "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">=4.0"
 
      }
 
    },
 
    "node_modules/esutils": {
 
      "version": "2.0.3",
 
      "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
 
      "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">=0.10.0"
 
      }
 
    },
 
    "node_modules/extend": {
 
      "version": "3.0.2",
 
      "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
 
      "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "node_modules/external-editor": {
 
      "version": "3.1.0",
 
      "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
 
      "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
 
      "dev": true,
 
      "dependencies": {
 
        "chardet": "^0.7.0",
 
        "iconv-lite": "^0.4.24",
 
        "tmp": "^0.0.33"
 
      },
 
      "engines": {
 
        "node": ">=4"
 
      }
 
    },
 
    "node_modules/extsprintf": {
 
      "version": "1.3.0",
 
      "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
 
      "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
 
      "dev": true,
 
      "engines": [
 
        "node >=0.6.0"
 
      ],
 
      "optional": true
 
    },
 
    "node_modules/fast-deep-equal": {
 
      "version": "2.0.1",
 
      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
 
      "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
 
      "version": "3.1.3",
 
      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
 
      "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
 
      "dev": true
 
    },
 
    "node_modules/fast-json-stable-stringify": {
 
      "version": "2.0.0",
 
      "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
 
      "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
 
      "version": "2.1.0",
 
      "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
 
      "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
 
      "dev": true
 
    },
 
    "node_modules/fast-levenshtein": {
 
      "version": "2.0.6",
 
      "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
 
      "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
 
      "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
 
      "dev": true
 
    },
 
    "node_modules/figures": {
 
      "version": "3.2.0",
 
      "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
 
      "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
 
      "dev": true,
 
      "dependencies": {
 
        "escape-string-regexp": "^1.0.5"
 
      },
 
      "engines": {
 
        "node": ">=8"
 
      },
 
      "funding": {
 
        "url": "https://github.com/sponsors/sindresorhus"
 
      }
 
    },
 
    "node_modules/file-entry-cache": {
 
      "version": "5.0.1",
 
      "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz",
 
      "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==",
 
      "dev": true,
 
      "dependencies": {
 
        "flat-cache": "^2.0.1"
 
      },
 
      "engines": {
 
        "node": ">=4"
 
      }
 
    },
 
    "node_modules/flat-cache": {
 
      "version": "2.0.1",
 
      "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
 
      "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==",
 
      "dev": true,
 
      "dependencies": {
 
        "flatted": "^2.0.0",
 
        "rimraf": "2.6.3",
 
        "write": "1.0.3"
 
      },
 
      "engines": {
 
        "node": ">=4"
 
      }
 
    },
 
    "node_modules/flatted": {
 
      "version": "2.0.1",
 
      "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz",
 
      "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==",
 
      "version": "2.0.2",
 
      "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz",
 
      "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==",
 
      "dev": true
 
    },
 
    "node_modules/forever-agent": {
 
      "version": "0.6.1",
 
      "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
 
      "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
 
      "dev": true,
 
      "optional": true,
 
      "engines": {
 
        "node": "*"
 
      }
 
    },
 
    "node_modules/form-data": {
 
      "version": "2.3.3",
 
      "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
 
      "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
 
      "dev": true,
 
      "optional": true,
 
      "dependencies": {
 
        "asynckit": "^0.4.0",
 
        "combined-stream": "^1.0.6",
 
        "mime-types": "^2.1.12"
 
      },
 
      "engines": {
 
        "node": ">= 0.12"
 
      }
 
    },
 
    "node_modules/fs.realpath": {
 
      "version": "1.0.0",
 
      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
 
      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
 
      "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
 
      "dev": true
 
    },
 
    "node_modules/function-bind": {
 
      "version": "1.1.2",
 
      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
 
      "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
 
      "dev": true,
 
      "funding": {
 
        "url": "https://github.com/sponsors/ljharb"
 
      }
 
    },
 
    "node_modules/functional-red-black-tree": {
 
      "version": "1.0.1",
 
      "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
 
      "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
 
      "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==",
 
      "dev": true
 
    },
 
    "node_modules/getpass": {
 
      "version": "0.1.7",
 
      "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
 
      "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
 
      "dev": true,
 
      "optional": true,
 
      "dependencies": {
 
        "assert-plus": "^1.0.0"
 
      }
 
    },
 
    "node_modules/glob": {
 
      "version": "7.1.6",
 
      "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
 
      "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
 
      "version": "7.2.3",
 
      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
 
      "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
 
      "deprecated": "Glob versions prior to v9 are no longer supported",
 
      "dev": true,
 
      "dependencies": {
 
        "fs.realpath": "^1.0.0",
 
        "inflight": "^1.0.4",
 
        "inherits": "2",
 
        "minimatch": "^3.0.4",
 
        "minimatch": "^3.1.1",
 
        "once": "^1.3.0",
 
        "path-is-absolute": "^1.0.0"
 
      },
 
      "engines": {
 
        "node": "*"
 
      },
 
      "funding": {
 
        "url": "https://github.com/sponsors/isaacs"
 
      }
 
    },
 
    "node_modules/glob-parent": {
 
      "version": "5.1.0",
 
      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz",
 
      "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==",
 
      "version": "5.1.2",
 
      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
 
      "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
 
      "dev": true,
 
      "dependencies": {
 
        "is-glob": "^4.0.1"
 
      },
 
      "engines": {
 
        "node": ">= 6"
 
      }
 
    },
 
    "node_modules/globals": {
 
      "version": "12.3.0",
 
      "resolved": "https://registry.npmjs.org/globals/-/globals-12.3.0.tgz",
 
      "integrity": "sha512-wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw==",
 
      "version": "12.4.0",
 
      "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz",
 
      "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==",
 
      "dev": true,
 
      "dependencies": {
 
        "type-fest": "^0.8.1"
 
      },
 
      "engines": {
 
        "node": ">=8"
 
      },
 
      "funding": {
 
        "url": "https://github.com/sponsors/sindresorhus"
 
      }
 
    },
 
    "node_modules/graceful-fs": {
 
      "version": "4.2.3",
 
      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz",
 
      "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==",
 
      "version": "4.2.11",
 
      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
 
      "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
 
      "dev": true
 
    },
 
    "node_modules/graceful-readlink": {
 
      "version": "1.0.1",
 
      "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
 
      "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=",
 
      "integrity": "sha512-8tLu60LgxF6XpdbK8OW3FA+IfTNBn1ZHGHKF4KQbEeSkajYw5PlYJcKluntgegDPTg8UkHjpet1T82vk6TQ68w==",
 
      "dev": true
 
    },
 
    "node_modules/har-schema": {
 
      "version": "2.0.0",
 
      "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
 
      "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
 
      "dev": true,
 
      "optional": true,
 
      "engines": {
 
        "node": ">=4"
 
      }
 
    },
 
    "node_modules/har-validator": {
 
      "version": "5.1.3",
 
      "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
 
      "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
 
      "deprecated": "this library is no longer supported",
 
      "dev": true,
 
      "optional": true,
 
      "dependencies": {
 
        "ajv": "^6.5.5",
 
        "har-schema": "^2.0.0"
 
      },
 
      "engines": {
 
        "node": ">=6"
 
      }
 
    },
 
    "node_modules/has-flag": {
 
      "version": "3.0.0",
 
      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
 
      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
 
      "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">=4"
 
      }
 
    },
 
    "node_modules/hasown": {
 
      "version": "2.0.2",
 
      "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
 
      "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
 
      "dev": true,
 
      "dependencies": {
 
        "function-bind": "^1.1.2"
 
      },
 
      "engines": {
 
        "node": ">= 0.4"
 
      }
 
    },
 
    "node_modules/hosted-git-info": {
 
      "version": "2.8.5",
 
      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz",
 
      "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==",
 
      "version": "2.8.9",
 
      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
 
      "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
 
      "dev": true
 
    },
 
    "node_modules/htmlparser2": {
 
      "version": "3.10.1",
 
      "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz",
 
      "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==",
 
      "version": "7.2.0",
 
      "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz",
 
      "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==",
 
      "dev": true,
 
      "funding": [
 
        "https://github.com/fb55/htmlparser2?sponsor=1",
 
        {
 
          "type": "github",
 
          "url": "https://github.com/sponsors/fb55"
 
        }
 
      ],
 
      "dependencies": {
 
        "domelementtype": "^1.3.1",
 
        "domhandler": "^2.3.0",
 
        "domutils": "^1.5.1",
 
        "entities": "^1.1.1",
 
        "inherits": "^2.0.1",
 
        "readable-stream": "^3.1.1"
 
      }
 
    },
 
    "node_modules/http-signature": {
 
      "version": "1.2.0",
 
      "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
 
      "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
 
      "dev": true,
 
      "optional": true,
 
      "dependencies": {
 
        "assert-plus": "^1.0.0",
 
        "jsprim": "^1.2.2",
 
        "sshpk": "^1.7.0"
 
      },
 
      "engines": {
 
        "node": ">=0.8",
 
        "npm": ">=1.3.7"
 
        "domelementtype": "^2.0.1",
 
        "domhandler": "^4.2.2",
 
        "domutils": "^2.8.0",
 
        "entities": "^3.0.1"
 
      }
 
    },
 
    "node_modules/iconv-lite": {
 
      "version": "0.4.24",
 
      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
 
      "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
 
      "dev": true,
 
      "dependencies": {
 
        "safer-buffer": ">= 2.1.2 < 3"
 
      },
 
      "engines": {
 
        "node": ">=0.10.0"
 
      }
 
    },
 
    "node_modules/ignore": {
 
      "version": "4.0.6",
 
      "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
 
      "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">= 4"
 
      }
 
    },
 
    "node_modules/image-size": {
 
      "version": "0.5.5",
 
      "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz",
 
      "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=",
 
      "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==",
 
      "dev": true,
 
      "optional": true,
 
      "bin": {
 
        "image-size": "bin/image-size.js"
 
      },
 
      "engines": {
 
        "node": ">=0.10.0"
 
      }
 
    },
 
    "node_modules/import-fresh": {
 
      "version": "3.2.1",
 
      "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
 
      "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
 
      "version": "3.3.0",
 
      "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
 
      "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
 
      "dev": true,
 
      "dependencies": {
 
        "parent-module": "^1.0.0",
 
        "resolve-from": "^4.0.0"
 
      },
 
      "engines": {
 
        "node": ">=6"
 
      },
 
      "funding": {
 
        "url": "https://github.com/sponsors/sindresorhus"
 
      }
 
    },
 
    "node_modules/imurmurhash": {
 
      "version": "0.1.4",
 
      "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
 
      "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
 
      "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">=0.8.19"
 
      }
 
    },
 
    "node_modules/inflight": {
 
      "version": "1.0.6",
 
      "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
 
      "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
 
      "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
 
      "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.",
 
      "dev": true,
 
      "dependencies": {
 
        "once": "^1.3.0",
 
        "wrappy": "1"
 
      }
 
    },
 
    "node_modules/inherits": {
 
      "version": "2.0.4",
 
      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
 
      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
 
      "dev": true
 
    },
 
    "node_modules/inquirer": {
 
      "version": "7.0.4",
 
      "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.4.tgz",
 
      "integrity": "sha512-Bu5Td5+j11sCkqfqmUTiwv+tWisMtP0L7Q8WrqA2C/BbBhy1YTdFrvjjlrKq8oagA/tLQBski2Gcx/Sqyi2qSQ==",
 
      "version": "7.3.3",
 
      "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz",
 
      "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==",
 
      "dev": true,
 
      "dependencies": {
 
        "ansi-escapes": "^4.2.1",
 
        "chalk": "^2.4.2",
 
        "chalk": "^4.1.0",
 
        "cli-cursor": "^3.1.0",
 
        "cli-width": "^2.0.0",
 
        "cli-width": "^3.0.0",
 
        "external-editor": "^3.0.3",
 
        "figures": "^3.0.0",
 
        "lodash": "^4.17.15",
 
        "lodash": "^4.17.19",
 
        "mute-stream": "0.0.8",
 
        "run-async": "^2.2.0",
 
        "rxjs": "^6.5.3",
 
        "run-async": "^2.4.0",
 
        "rxjs": "^6.6.0",
 
        "string-width": "^4.1.0",
 
        "strip-ansi": "^5.1.0",
 
        "strip-ansi": "^6.0.0",
 
        "through": "^2.3.6"
 
      },
 
      "engines": {
 
        "node": ">=6.0.0"
 
        "node": ">=8.0.0"
 
      }
 
    },
 
    "node_modules/inquirer/node_modules/ansi-regex": {
 
      "version": "5.0.1",
 
      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
 
      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">=8"
 
      }
 
    },
 
    "node_modules/inquirer/node_modules/ansi-styles": {
 
      "version": "4.3.0",
 
      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
 
      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
 
      "dev": true,
 
      "dependencies": {
 
        "color-convert": "^2.0.1"
 
      },
 
      "engines": {
 
        "node": ">=8"
 
      },
 
      "funding": {
 
        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
 
      }
 
    },
 
    "node_modules/inquirer/node_modules/chalk": {
 
      "version": "4.1.2",
 
      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
 
      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
 
      "dev": true,
 
      "dependencies": {
 
        "ansi-styles": "^4.1.0",
 
        "supports-color": "^7.1.0"
 
      },
 
      "engines": {
 
        "node": ">=10"
 
      },
 
      "funding": {
 
        "url": "https://github.com/chalk/chalk?sponsor=1"
 
      }
 
    },
 
    "node_modules/inquirer/node_modules/color-convert": {
 
      "version": "2.0.1",
 
      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
 
      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
 
      "dev": true,
 
      "dependencies": {
 
        "color-name": "~1.1.4"
 
      },
 
      "engines": {
 
        "node": ">=7.0.0"
 
      }
 
    },
 
    "node_modules/inquirer/node_modules/color-name": {
 
      "version": "1.1.4",
 
      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
 
      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
 
      "dev": true
 
    },
 
    "node_modules/inquirer/node_modules/has-flag": {
 
      "version": "4.0.0",
 
      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
 
      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">=8"
 
      }
 
    },
 
    "node_modules/inquirer/node_modules/strip-ansi": {
 
      "version": "6.0.1",
 
      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
 
      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
 
      "dev": true,
 
      "dependencies": {
 
        "ansi-regex": "^5.0.1"
 
      },
 
      "engines": {
 
        "node": ">=8"
 
      }
 
    },
 
    "node_modules/inquirer/node_modules/supports-color": {
 
      "version": "7.2.0",
 
      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
 
      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
 
      "dev": true,
 
      "dependencies": {
 
        "has-flag": "^4.0.0"
 
      },
 
      "engines": {
 
        "node": ">=8"
 
      }
 
    },
 
    "node_modules/is-core-module": {
 
      "version": "2.15.0",
 
      "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz",
 
      "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==",
 
      "dev": true,
 
      "dependencies": {
 
        "hasown": "^2.0.2"
 
      },
 
      "engines": {
 
        "node": ">= 0.4"
 
      },
 
      "funding": {
 
        "url": "https://github.com/sponsors/ljharb"
 
      }
 
    },
 
    "node_modules/is-extglob": {
 
      "version": "2.1.1",
 
      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
 
      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
 
      "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">=0.10.0"
 
      }
 
    },
 
    "node_modules/is-fullwidth-code-point": {
 
      "version": "3.0.0",
 
      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
 
      "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">=8"
 
      }
 
    },
 
    "node_modules/is-glob": {
 
      "version": "4.0.1",
 
      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
 
      "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
 
      "version": "4.0.3",
 
      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
 
      "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
 
      "dev": true,
 
      "dependencies": {
 
        "is-extglob": "^2.1.1"
 
      },
 
      "engines": {
 
        "node": ">=0.10.0"
 
      }
 
    },
 
    "node_modules/is-promise": {
 
      "version": "2.1.0",
 
      "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
 
      "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
 
    "node_modules/is-what": {
 
      "version": "3.14.1",
 
      "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz",
 
      "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==",
 
      "dev": true
 
    },
 
    "node_modules/is-typedarray": {
 
      "version": "1.0.0",
 
      "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
 
      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "node_modules/isexe": {
 
      "version": "2.0.0",
 
      "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
 
      "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
 
      "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
 
      "dev": true
 
    },
 
    "node_modules/isstream": {
 
      "version": "0.1.2",
 
      "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
 
      "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "node_modules/jquery": {
 
      "version": "3.4.1",
 
      "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.4.1.tgz",
 
      "integrity": "sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw=="
 
      "version": "3.7.1",
 
      "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz",
 
      "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg=="
 
    },
 
    "node_modules/jquery.caret": {
 
      "version": "0.3.1",
 
      "resolved": "https://registry.npmjs.org/jquery.caret/-/jquery.caret-0.3.1.tgz",
 
      "integrity": "sha1-nAkzGPrzJ+/zIugmyp8yQTaLx7g="
 
      "integrity": "sha512-nS2mjMZzP4e4tIOgeTLSs+jFhUsUVZUPgkUMpi4DlJq9SgKEg6w2jf7q8joMJp6v+voJHXrH8rzAnbyxWHwAeA=="
 
    },
 
    "node_modules/jquery.flot": {
 
      "version": "0.8.3",
 
      "resolved": "https://registry.npmjs.org/jquery.flot/-/jquery.flot-0.8.3.tgz",
 
      "integrity": "sha512-/tEE8J5NjwvStHDaCHkvTJpD7wDS4hE1OEL8xEmhgQfUe0gLUem923PIceNez1mz4yBNx6Hjv7pJcowLNd+nbg=="
 
    },
 
    "node_modules/js-tokens": {
 
      "version": "4.0.0",
 
      "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
 
      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
 
      "dev": true
 
    },
 
    "node_modules/js-yaml": {
 
      "version": "3.13.1",
 
      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
 
      "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
 
      "version": "3.14.1",
 
      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
 
      "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
 
      "dev": true,
 
      "dependencies": {
 
        "argparse": "^1.0.7",
 
        "esprima": "^4.0.0"
 
      },
 
      "bin": {
 
        "js-yaml": "bin/js-yaml.js"
 
      }
 
    },
 
    "node_modules/jsbn": {
 
      "version": "0.1.1",
 
      "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
 
      "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "node_modules/json-parse-better-errors": {
 
      "version": "1.0.2",
 
      "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
 
      "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
 
    "node_modules/json-parse-even-better-errors": {
 
      "version": "2.3.1",
 
      "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
 
      "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
 
      "dev": true
 
    },
 
    "node_modules/json-schema": {
 
      "version": "0.2.3",
 
      "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
 
      "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "node_modules/json-schema-traverse": {
 
      "version": "0.4.1",
 
      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
 
      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
 
      "dev": true
 
    },
 
    "node_modules/json-stable-stringify-without-jsonify": {
 
      "version": "1.0.1",
 
      "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
 
      "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
 
      "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
 
      "dev": true
 
    },
 
    "node_modules/json-stringify-safe": {
 
      "version": "5.0.1",
 
      "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
 
      "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "node_modules/jsprim": {
 
      "version": "1.4.1",
 
      "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
 
      "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
 
      "dev": true,
 
      "engines": [
 
        "node >=0.6.0"
 
      ],
 
      "optional": true,
 
      "dependencies": {
 
        "assert-plus": "1.0.0",
 
        "extsprintf": "1.3.0",
 
        "json-schema": "0.2.3",
 
        "verror": "1.10.0"
 
      }
 
    },
 
    "node_modules/less": {
 
      "version": "3.10.3",
 
      "resolved": "https://registry.npmjs.org/less/-/less-3.10.3.tgz",
 
      "integrity": "sha512-vz32vqfgmoxF1h3K4J+yKCtajH0PWmjkIFgbs5d78E/c/e+UQTnI+lWK+1eQRE95PXM2mC3rJlLSSP9VQHnaow==",
 
      "version": "3.13.1",
 
      "resolved": "https://registry.npmjs.org/less/-/less-3.13.1.tgz",
 
      "integrity": "sha512-SwA1aQXGUvp+P5XdZslUOhhLnClSLIjWvJhmd+Vgib5BFIr9lMNlQwmwUNOjXThF/A0x+MCYYPeWEfeWiLRnTw==",
 
      "dev": true,
 
      "dependencies": {
 
        "clone": "^2.1.2"
 
        "copy-anything": "^2.0.1",
 
        "tslib": "^1.10.0"
 
      },
 
      "bin": {
 
        "lessc": "bin/lessc"
 
      },
 
      "engines": {
 
        "node": ">=6"
 
      },
 
      "optionalDependencies": {
 
        "errno": "^0.1.1",
 
        "graceful-fs": "^4.1.2",
 
        "image-size": "~0.5.0",
 
        "make-dir": "^2.1.0",
 
        "mime": "^1.4.1",
 
        "mkdirp": "^0.5.0",
 
        "promise": "^7.1.1",
 
        "request": "^2.83.0",
 
        "native-request": "^1.0.5",
 
        "source-map": "~0.6.0"
 
      }
 
    },
 
    "node_modules/less-plugin-clean-css": {
 
      "version": "1.5.1",
 
      "resolved": "https://registry.npmjs.org/less-plugin-clean-css/-/less-plugin-clean-css-1.5.1.tgz",
 
      "integrity": "sha1-zFeveqM5iVflbezr5jy2DCNClwM=",
 
      "integrity": "sha512-Pc68AFHAEJO3aAoRvnUTW5iAiAv6y+TQsWLTTwVNqjiDno6xCvxz1AtfQl7Y0MZSpHPalFajM1EU4RB5UVINpw==",
 
      "dev": true,
 
      "dependencies": {
 
        "clean-css": "^3.0.1"
 
      },
 
      "engines": {
 
        "node": ">=0.4.2"
 
      }
 
    },
 
    "node_modules/levn": {
 
      "version": "0.3.0",
 
      "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
 
      "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
 
      "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==",
 
      "dev": true,
 
      "dependencies": {
 
        "prelude-ls": "~1.1.2",
 
        "type-check": "~0.3.2"
 
      },
 
      "engines": {
 
        "node": ">= 0.8.0"
 
      }
 
    },
 
    "node_modules/license-checker": {
 
      "version": "25.0.1",
 
      "resolved": "https://registry.npmjs.org/license-checker/-/license-checker-25.0.1.tgz",
 
      "integrity": "sha512-mET5AIwl7MR2IAKYYoVBBpV0OnkKQ1xGj2IMMeEFIs42QAkEVjRtFZGWmQ28WeU7MP779iAgOaOy93Mn44mn6g==",
 
      "dev": true,
 
      "dependencies": {
 
        "chalk": "^2.4.1",
 
        "debug": "^3.1.0",
 
        "mkdirp": "^0.5.1",
 
        "nopt": "^4.0.1",
 
        "read-installed": "~4.0.3",
 
        "semver": "^5.5.0",
 
        "spdx-correct": "^3.0.0",
 
        "spdx-expression-parse": "^3.0.0",
 
        "spdx-satisfies": "^4.0.0",
 
        "treeify": "^1.1.0"
 
      },
 
      "bin": {
 
        "license-checker": "bin/license-checker"
 
      }
 
    },
 
    "node_modules/license-checker/node_modules/debug": {
 
      "version": "3.2.7",
 
      "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
 
      "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
 
      "dev": true,
 
      "dependencies": {
 
        "ms": "^2.1.1"
 
      }
 
    },
 
    "node_modules/license-checker/node_modules/semver": {
 
      "version": "5.7.2",
 
      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
 
      "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
 
      "dev": true,
 
      "bin": {
 
        "semver": "bin/semver"
 
      }
 
    },
 
    "node_modules/lodash": {
 
      "version": "4.17.15",
 
      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
 
      "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
 
      "version": "4.17.21",
 
      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
 
      "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
 
      "dev": true
 
    },
 
    "node_modules/make-dir": {
 
      "version": "2.1.0",
 
      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
 
      "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
 
      "dev": true,
 
      "optional": true,
 
      "dependencies": {
 
        "pify": "^4.0.1",
 
        "semver": "^5.6.0"
 
      },
 
      "engines": {
 
        "node": ">=6"
 
      }
 
    },
 
    "node_modules/make-dir/node_modules/semver": {
 
      "version": "5.7.2",
 
      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
 
      "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
 
      "dev": true,
 
      "optional": true,
 
      "bin": {
 
        "semver": "bin/semver"
 
      }
 
    },
 
    "node_modules/mime": {
 
      "version": "1.6.0",
 
      "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
 
      "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
 
      "dev": true,
 
      "optional": true,
 
      "bin": {
 
        "mime": "cli.js"
 
      },
 
      "engines": {
 
        "node": ">=4"
 
      }
 
    },
 
    "node_modules/mime-db": {
 
      "version": "1.40.0",
 
      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
 
      "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==",
 
      "dev": true,
 
      "optional": true,
 
      "engines": {
 
        "node": ">= 0.6"
 
      }
 
    },
 
    "node_modules/mime-types": {
 
      "version": "2.1.24",
 
      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz",
 
      "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==",
 
      "dev": true,
 
      "optional": true,
 
      "dependencies": {
 
        "mime-db": "1.40.0"
 
      },
 
      "engines": {
 
        "node": ">= 0.6"
 
      }
 
    },
 
    "node_modules/mimic-fn": {
 
      "version": "2.1.0",
 
      "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
 
      "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">=6"
 
      }
 
    },
 
    "node_modules/minimatch": {
 
      "version": "3.0.4",
 
      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
 
      "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
 
      "version": "3.1.2",
 
      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
 
      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
 
      "dev": true,
 
      "dependencies": {
 
        "brace-expansion": "^1.1.7"
 
      },
 
      "engines": {
 
        "node": "*"
 
      }
 
    },
 
    "node_modules/minimist": {
 
      "version": "0.0.8",
 
      "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
 
      "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
 
      "dev": true
 
      "version": "1.2.8",
 
      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
 
      "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
 
      "dev": true,
 
      "funding": {
 
        "url": "https://github.com/sponsors/ljharb"
 
      }
 
    },
 
    "node_modules/mkdirp": {
 
      "version": "0.5.1",
 
      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
 
      "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
 
      "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)",
 
      "version": "0.5.6",
 
      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
 
      "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
 
      "dev": true,
 
      "dependencies": {
 
        "minimist": "0.0.8"
 
        "minimist": "^1.2.6"
 
      },
 
      "bin": {
 
        "mkdirp": "bin/cmd.js"
 
      }
 
    },
 
    "node_modules/ms": {
 
      "version": "2.1.2",
 
      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
 
      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
 
      "dev": true
 
    },
 
    "node_modules/mute-stream": {
 
      "version": "0.0.8",
 
      "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
 
      "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
 
      "dev": true
 
    },
 
    "node_modules/native-request": {
 
      "version": "1.1.0",
 
      "resolved": "https://registry.npmjs.org/native-request/-/native-request-1.1.0.tgz",
 
      "integrity": "sha512-uZ5rQaeRn15XmpgE0xoPL8YWqcX90VtCFglYwAgkvKM5e8fog+vePLAhHxuuv/gRkrQxIeh5U3q9sMNUrENqWw==",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "node_modules/natural-compare": {
 
      "version": "1.4.0",
 
      "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
 
      "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
 
      "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
 
      "dev": true
 
    },
 
    "node_modules/nice-try": {
 
      "version": "1.0.5",
 
      "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
 
      "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
 
      "dev": true
 
    },
 
    "node_modules/nopt": {
 
      "version": "4.0.1",
 
      "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz",
 
      "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=",
 
      "version": "4.0.3",
 
      "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
 
      "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
 
      "dev": true,
 
      "dependencies": {
 
        "abbrev": "1",
 
        "osenv": "^0.1.4"
 
      },
 
      "bin": {
 
        "nopt": "bin/nopt.js"
 
      }
 
    },
 
    "node_modules/normalize-package-data": {
 
      "version": "2.5.0",
 
      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
 
      "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
 
      "dev": true,
 
      "dependencies": {
 
        "hosted-git-info": "^2.1.4",
 
        "resolve": "^1.10.0",
 
        "semver": "2 || 3 || 4 || 5",
 
        "validate-npm-package-license": "^3.0.1"
 
      }
 
    },
 
    "node_modules/oauth-sign": {
 
      "version": "0.9.0",
 
      "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
 
      "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
 
    "node_modules/normalize-package-data/node_modules/semver": {
 
      "version": "5.7.2",
 
      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
 
      "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
 
      "dev": true,
 
      "optional": true,
 
      "engines": {
 
        "node": "*"
 
      "bin": {
 
        "semver": "bin/semver"
 
      }
 
    },
 
    "node_modules/npm-normalize-package-bin": {
 
      "version": "1.0.1",
 
      "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz",
 
      "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==",
 
      "dev": true
 
    },
 
    "node_modules/once": {
 
      "version": "1.4.0",
 
      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
 
      "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
 
      "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
 
      "dev": true,
 
      "dependencies": {
 
        "wrappy": "1"
 
      }
 
    },
 
    "node_modules/onetime": {
 
      "version": "5.1.0",
 
      "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
 
      "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
 
      "version": "5.1.2",
 
      "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
 
      "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
 
      "dev": true,
 
      "dependencies": {
 
        "mimic-fn": "^2.1.0"
 
      },
 
      "engines": {
 
        "node": ">=6"
 
      },
 
      "funding": {
 
        "url": "https://github.com/sponsors/sindresorhus"
 
      }
 
    },
 
    "node_modules/optionator": {
 
      "version": "0.8.3",
 
      "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
 
      "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
 
      "dev": true,
 
      "dependencies": {
 
        "deep-is": "~0.1.3",
 
        "fast-levenshtein": "~2.0.6",
 
        "levn": "~0.3.0",
 
        "prelude-ls": "~1.1.2",
 
        "type-check": "~0.3.2",
 
        "word-wrap": "~1.2.3"
 
      },
 
      "engines": {
 
        "node": ">= 0.8.0"
 
      }
 
    },
 
    "node_modules/os-homedir": {
 
      "version": "1.0.2",
 
      "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
 
      "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
 
      "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">=0.10.0"
 
      }
 
    },
 
    "node_modules/os-tmpdir": {
 
      "version": "1.0.2",
 
      "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
 
      "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
 
      "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">=0.10.0"
 
      }
 
    },
 
    "node_modules/osenv": {
 
      "version": "0.1.5",
 
      "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
 
      "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
 
      "deprecated": "This package is no longer supported.",
 
      "dev": true,
 
      "dependencies": {
 
        "os-homedir": "^1.0.0",
 
        "os-tmpdir": "^1.0.0"
 
      }
 
    },
 
    "node_modules/parent-module": {
 
      "version": "1.0.1",
 
      "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
 
      "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
 
      "dev": true,
 
      "dependencies": {
 
        "callsites": "^3.0.0"
 
      },
 
      "engines": {
 
        "node": ">=6"
 
      }
 
    },
 
    "node_modules/path-is-absolute": {
 
      "version": "1.0.1",
 
      "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
 
      "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
 
      "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">=0.10.0"
 
      }
 
    },
 
    "node_modules/path-key": {
 
      "version": "2.0.1",
 
      "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
 
      "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
 
      "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">=4"
 
      }
 
    },
 
    "node_modules/path-parse": {
 
      "version": "1.0.6",
 
      "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
 
      "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
 
      "version": "1.0.7",
 
      "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
 
      "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
 
      "dev": true
 
    },
 
    "node_modules/performance-now": {
 
      "version": "2.1.0",
 
      "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
 
      "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
 
    "node_modules/picocolors": {
 
      "version": "1.0.1",
 
      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz",
 
      "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==",
 
      "dev": true
 
    },
 
    "node_modules/pify": {
 
      "version": "4.0.1",
 
      "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
 
      "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
 
      "dev": true,
 
      "optional": true
 
      "optional": true,
 
      "engines": {
 
        "node": ">=6"
 
      }
 
    },
 
    "node_modules/prelude-ls": {
 
      "version": "1.1.2",
 
      "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
 
      "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
 
      "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">= 0.8.0"
 
      }
 
    },
 
    "node_modules/progress": {
 
      "version": "2.0.3",
 
      "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
 
      "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">=0.4.0"
 
      }
 
    },
 
    "node_modules/promise": {
 
      "version": "7.3.1",
 
      "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
 
      "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
 
      "dev": true,
 
      "optional": true,
 
      "dependencies": {
 
        "asap": "~2.0.3"
 
      }
 
    },
 
    "node_modules/prr": {
 
      "version": "1.0.1",
 
      "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
 
      "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "node_modules/psl": {
 
      "version": "1.4.0",
 
      "resolved": "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz",
 
      "integrity": "sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==",
 
      "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "node_modules/punycode": {
 
      "version": "2.1.1",
 
      "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
 
      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
 
      "version": "2.3.1",
 
      "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
 
      "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">=6"
 
      }
 
    },
 
    "node_modules/qs": {
 
      "version": "6.5.2",
 
      "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
 
      "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
 
      "dev": true,
 
      "optional": true,
 
      "engines": {
 
        "node": ">=0.6"
 
      }
 
    },
 
    "node_modules/read-installed": {
 
      "version": "4.0.3",
 
      "resolved": "https://registry.npmjs.org/read-installed/-/read-installed-4.0.3.tgz",
 
      "integrity": "sha1-/5uLZ/GH0eTCm5/rMfayI6zRkGc=",
 
      "integrity": "sha512-O03wg/IYuV/VtnK2h/KXEt9VIbMUFbk3ERG0Iu4FhLZw0EP0T9znqrYDGn6ncbEsXUFaUjiVAWXHzxwt3lhRPQ==",
 
      "deprecated": "This package is no longer supported.",
 
      "dev": true,
 
      "dependencies": {
 
        "debuglog": "^1.0.1",
 
        "read-package-json": "^2.0.0",
 
        "readdir-scoped-modules": "^1.0.0",
 
        "semver": "2 || 3 || 4 || 5",
 
        "slide": "~1.1.3",
 
        "util-extend": "^1.0.1"
 
      },
 
      "optionalDependencies": {
 
        "graceful-fs": "^4.1.2"
 
      }
 
    },
 
    "node_modules/read-installed/node_modules/semver": {
 
      "version": "5.7.2",
 
      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
 
      "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
 
      "dev": true,
 
      "bin": {
 
        "semver": "bin/semver"
 
      }
 
    },
 
    "node_modules/read-package-json": {
 
      "version": "2.1.0",
 
      "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.0.tgz",
 
      "integrity": "sha512-KLhu8M1ZZNkMcrq1+0UJbR8Dii8KZUqB0Sha4mOx/bknfKI/fyrQVrG/YIt2UOtG667sD8+ee4EXMM91W9dC+A==",
 
      "version": "2.1.2",
 
      "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.2.tgz",
 
      "integrity": "sha512-D1KmuLQr6ZSJS0tW8hf3WGpRlwszJOXZ3E8Yd/DNRaM5d+1wVRZdHlpGBLAuovjr28LbWvjpWkBHMxpRGGjzNA==",
 
      "deprecated": "This package is no longer supported. Please use @npmcli/package-json instead.",
 
      "dev": true,
 
      "dependencies": {
 
        "glob": "^7.1.1",
 
        "json-parse-better-errors": "^1.0.1",
 
        "json-parse-even-better-errors": "^2.3.0",
 
        "normalize-package-data": "^2.0.0",
 
        "slash": "^1.0.0"
 
      },
 
      "optionalDependencies": {
 
        "graceful-fs": "^4.1.2"
 
      }
 
    },
 
    "node_modules/readable-stream": {
 
      "version": "3.6.0",
 
      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
 
      "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
 
      "dev": true,
 
      "dependencies": {
 
        "inherits": "^2.0.3",
 
        "string_decoder": "^1.1.1",
 
        "util-deprecate": "^1.0.1"
 
      },
 
      "engines": {
 
        "node": ">= 6"
 
        "npm-normalize-package-bin": "^1.0.0"
 
      }
 
    },
 
    "node_modules/readdir-scoped-modules": {
 
      "version": "1.1.0",
 
      "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz",
 
      "integrity": "sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==",
 
      "deprecated": "This functionality has been moved to @npmcli/fs",
 
      "dev": true,
 
      "dependencies": {
 
        "debuglog": "^1.0.1",
 
        "dezalgo": "^1.0.0",
 
        "graceful-fs": "^4.1.2",
 
        "once": "^1.3.0"
 
      }
 
    },
 
    "node_modules/regexpp": {
 
      "version": "2.0.1",
 
      "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
 
      "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">=6.5.0"
 
      }
 
    },
 
    "node_modules/request": {
 
      "version": "2.88.0",
 
      "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
 
      "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
 
      "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142",
 
      "dev": true,
 
      "optional": true,
 
      "dependencies": {
 
        "aws-sign2": "~0.7.0",
 
        "aws4": "^1.8.0",
 
        "caseless": "~0.12.0",
 
        "combined-stream": "~1.0.6",
 
        "extend": "~3.0.2",
 
        "forever-agent": "~0.6.1",
 
        "form-data": "~2.3.2",
 
        "har-validator": "~5.1.0",
 
        "http-signature": "~1.2.0",
 
        "is-typedarray": "~1.0.0",
 
        "isstream": "~0.1.2",
 
        "json-stringify-safe": "~5.0.1",
 
        "mime-types": "~2.1.19",
 
        "oauth-sign": "~0.9.0",
 
        "performance-now": "^2.1.0",
 
        "qs": "~6.5.2",
 
        "safe-buffer": "^5.1.2",
 
        "tough-cookie": "~2.4.3",
 
        "tunnel-agent": "^0.6.0",
 
        "uuid": "^3.3.2"
 
      },
 
      "engines": {
 
        "node": ">= 4"
 
      }
 
    },
 
    "node_modules/resolve": {
 
      "version": "1.12.0",
 
      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz",
 
      "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==",
 
      "version": "1.22.8",
 
      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
 
      "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
 
      "dev": true,
 
      "dependencies": {
 
        "path-parse": "^1.0.6"
 
        "is-core-module": "^2.13.0",
 
        "path-parse": "^1.0.7",
 
        "supports-preserve-symlinks-flag": "^1.0.0"
 
      },
 
      "bin": {
 
        "resolve": "bin/resolve"
 
      },
 
      "funding": {
 
        "url": "https://github.com/sponsors/ljharb"
 
      }
 
    },
 
    "node_modules/resolve-from": {
 
      "version": "4.0.0",
 
      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
 
      "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">=4"
 
      }
 
    },
 
    "node_modules/restore-cursor": {
 
      "version": "3.1.0",
 
      "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
 
      "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
 
      "dev": true,
 
      "dependencies": {
 
        "onetime": "^5.1.0",
 
        "signal-exit": "^3.0.2"
 
      },
 
      "engines": {
 
        "node": ">=8"
 
      }
 
    },
 
    "node_modules/rimraf": {
 
      "version": "2.6.3",
 
      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
 
      "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
 
      "deprecated": "Rimraf versions prior to v4 are no longer supported",
 
      "dev": true,
 
      "dependencies": {
 
        "glob": "^7.1.3"
 
      },
 
      "bin": {
 
        "rimraf": "bin.js"
 
      }
 
    },
 
    "node_modules/run-async": {
 
      "version": "2.3.0",
 
      "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
 
      "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
 
      "version": "2.4.1",
 
      "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
 
      "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
 
      "dev": true,
 
      "dependencies": {
 
        "is-promise": "^2.1.0"
 
      },
 
      "engines": {
 
        "node": ">=0.12.0"
 
      }
 
    },
 
    "node_modules/rxjs": {
 
      "version": "6.5.4",
 
      "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
 
      "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
 
      "version": "6.6.7",
 
      "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
 
      "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
 
      "dev": true,
 
      "dependencies": {
 
        "tslib": "^1.9.0"
 
      },
 
      "engines": {
 
        "npm": ">=2.0.0"
 
      }
 
    },
 
    "node_modules/safe-buffer": {
 
      "version": "5.2.0",
 
      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz",
 
      "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==",
 
      "dev": true
 
    },
 
    "node_modules/safer-buffer": {
 
      "version": "2.1.2",
 
      "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
 
      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
 
      "dev": true
 
    },
 
    "node_modules/select2": {
 
      "version": "3.5.1",
 
      "resolved": "https://registry.npmjs.org/select2/-/select2-3.5.1.tgz",
 
      "integrity": "sha1-8oGUibvGX9bTKL5yu+K5XdfofP4="
 
      "integrity": "sha512-IFX3UFPpPyK1I1Kuw1R1x+upMyNAZbMlkFhiTnRCRR7ii0KU1brmJMLa3GZcrMWCHiQlm0eKqb6i4XO4pqOrGQ=="
 
    },
 
    "node_modules/select2-bootstrap-css": {
 
      "version": "1.4.6",
 
      "resolved": "https://registry.npmjs.org/select2-bootstrap-css/-/select2-bootstrap-css-1.4.6.tgz",
 
      "integrity": "sha1-XPtoJG9SmcoYWOAe/XiIBMc0mX4="
 
      "integrity": "sha512-BBsisfivUYjwhj3QdWNS15sBqC/DHoszRC4B3GIzJwMNO1pT1uVvwDm5u2TLXi7oj/3S4vIeQ6yAuMa86d7c9A=="
 
    },
 
    "node_modules/semver": {
 
      "version": "5.7.1",
 
      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
 
      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
 
      "version": "6.3.1",
 
      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
 
      "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
 
      "dev": true,
 
      "bin": {
 
        "semver": "bin/semver"
 
        "semver": "bin/semver.js"
 
      }
 
    },
 
    "node_modules/shebang-command": {
 
      "version": "1.2.0",
 
      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
 
      "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
 
      "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==",
 
      "dev": true,
 
      "dependencies": {
 
        "shebang-regex": "^1.0.0"
 
      },
 
      "engines": {
 
        "node": ">=0.10.0"
 
      }
 
    },
 
    "node_modules/shebang-regex": {
 
      "version": "1.0.0",
 
      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
 
      "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
 
      "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">=0.10.0"
 
      }
 
    },
 
    "node_modules/signal-exit": {
 
      "version": "3.0.2",
 
      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
 
      "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
 
      "version": "3.0.7",
 
      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
 
      "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
 
      "dev": true
 
    },
 
    "node_modules/slash": {
 
      "version": "1.0.0",
 
      "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
 
      "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
 
      "dev": true,
 
      "engines": {
 
        "node": ">=0.10.0"
 
      }
 
    },
 
    "node_modules/slice-ansi": {
 
      "version": "2.1.0",
 
      "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
 
      "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
 
      "dev": true,
 
      "dependencies": {
 
        "ansi-styles": "^3.2.0",
 
        "astral-regex": "^1.0.0",
 
        "is-fullwidth-code-point": "^2.0.0"
 
      },
 
      "engines": {
 
        "node": ">=6"
 
      }
 
    },
 
    "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": {
 
      "version": "2.0.0",
 
      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
 
      "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
 
      "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">=4"
 
      }
 
    },
 
    "node_modules/slide": {
 
      "version": "1.1.6",
 
      "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz",
 
      "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=",
 
      "integrity": "sha512-NwrtjCg+lZoqhFU8fOwl4ay2ei8PaqCBOUV3/ektPY9trO1yQ1oXEfmHAhKArUVUr/hOHvy5f6AdP17dCM0zMw==",
 
      "dev": true,
 
      "engines": {
 
        "node": "*"
 
      }
 
    },
 
    "node_modules/source-map": {
 
      "version": "0.6.1",
 
      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
 
      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
 
      "dev": true,
 
      "optional": true,
 
      "engines": {
 
        "node": ">=0.10.0"
 
      }
 
    },
 
    "node_modules/spdx-compare": {
 
      "version": "1.0.0",
 
      "resolved": "https://registry.npmjs.org/spdx-compare/-/spdx-compare-1.0.0.tgz",
 
      "integrity": "sha512-C1mDZOX0hnu0ep9dfmuoi03+eOdDoz2yvK79RxbcrVEG1NO1Ph35yW102DHWKN4pk80nwCgeMmSY5L25VE4D9A==",
 
      "dev": true,
 
      "dependencies": {
 
        "array-find-index": "^1.0.2",
 
        "spdx-expression-parse": "^3.0.0",
 
        "spdx-ranges": "^2.0.0"
 
      }
 
    },
 
    "node_modules/spdx-correct": {
 
      "version": "3.1.0",
 
      "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz",
 
      "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==",
 
      "version": "3.2.0",
 
      "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz",
 
      "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==",
 
      "dev": true,
 
      "dependencies": {
 
        "spdx-expression-parse": "^3.0.0",
 
        "spdx-license-ids": "^3.0.0"
 
      }
 
    },
 
    "node_modules/spdx-exceptions": {
 
      "version": "2.2.0",
 
      "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz",
 
      "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==",
 
      "version": "2.5.0",
 
      "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz",
 
      "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==",
 
      "dev": true
 
    },
 
    "node_modules/spdx-expression-parse": {
 
      "version": "3.0.0",
 
      "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
 
      "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
 
      "version": "3.0.1",
 
      "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
 
      "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
 
      "dev": true,
 
      "dependencies": {
 
        "spdx-exceptions": "^2.1.0",
 
        "spdx-license-ids": "^3.0.0"
 
      }
 
    },
 
    "node_modules/spdx-license-ids": {
 
      "version": "3.0.5",
 
      "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz",
 
      "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==",
 
      "version": "3.0.18",
 
      "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz",
 
      "integrity": "sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==",
 
      "dev": true
 
    },
 
    "node_modules/spdx-ranges": {
 
      "version": "2.1.1",
 
      "resolved": "https://registry.npmjs.org/spdx-ranges/-/spdx-ranges-2.1.1.tgz",
 
      "integrity": "sha512-mcdpQFV7UDAgLpXEE/jOMqvK4LBoO0uTQg0uvXUewmEFhpiZx5yJSZITHB8w1ZahKdhfZqP5GPEOKLyEq5p8XA==",
 
      "dev": true
 
    },
 
    "node_modules/spdx-satisfies": {
 
      "version": "4.0.1",
 
      "resolved": "https://registry.npmjs.org/spdx-satisfies/-/spdx-satisfies-4.0.1.tgz",
 
      "integrity": "sha512-WVzZ/cXAzoNmjCWiEluEA3BjHp5tiUmmhn9MK+X0tBbR9sOqtC6UQwmgCNrAIZvNlMuBUYAaHYfb2oqlF9SwKA==",
 
      "dev": true,
 
      "dependencies": {
 
        "spdx-compare": "^1.0.0",
 
        "spdx-expression-parse": "^3.0.0",
 
        "spdx-ranges": "^2.0.0"
 
      }
 
    },
 
    "node_modules/sprintf-js": {
 
      "version": "1.0.3",
 
      "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
 
      "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
 
      "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
 
      "dev": true
 
    },
 
    "node_modules/sshpk": {
 
      "version": "1.16.1",
 
      "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
 
      "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
 
      "dev": true,
 
      "optional": true,
 
      "dependencies": {
 
        "asn1": "~0.2.3",
 
        "assert-plus": "^1.0.0",
 
        "bcrypt-pbkdf": "^1.0.0",
 
        "dashdash": "^1.12.0",
 
        "ecc-jsbn": "~0.1.1",
 
        "getpass": "^0.1.1",
 
        "jsbn": "~0.1.0",
 
        "safer-buffer": "^2.0.2",
 
        "tweetnacl": "~0.14.0"
 
      },
 
      "bin": {
 
        "sshpk-conv": "bin/sshpk-conv",
 
        "sshpk-sign": "bin/sshpk-sign",
 
        "sshpk-verify": "bin/sshpk-verify"
 
      },
 
      "engines": {
 
        "node": ">=0.10.0"
 
      }
 
    },
 
    "node_modules/string_decoder": {
 
      "version": "1.3.0",
 
      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
 
      "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
 
      "dev": true,
 
      "dependencies": {
 
        "safe-buffer": "~5.2.0"
 
      }
 
    },
 
    "node_modules/string-width": {
 
      "version": "4.2.0",
 
      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
 
      "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
 
      "version": "4.2.3",
 
      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
 
      "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
 
      "dev": true,
 
      "dependencies": {
 
        "emoji-regex": "^8.0.0",
 
        "is-fullwidth-code-point": "^3.0.0",
 
        "strip-ansi": "^6.0.0"
 
        "strip-ansi": "^6.0.1"
 
      },
 
      "engines": {
 
        "node": ">=8"
 
      }
 
    },
 
    "node_modules/string-width/node_modules/ansi-regex": {
 
      "version": "5.0.1",
 
      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
 
      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">=8"
 
      }
 
    },
 
    "node_modules/string-width/node_modules/strip-ansi": {
 
      "version": "6.0.0",
 
      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
 
      "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
 
      "version": "6.0.1",
 
      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
 
      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
 
      "dev": true,
 
      "dependencies": {
 
        "ansi-regex": "^5.0.0"
 
        "ansi-regex": "^5.0.1"
 
      },
 
      "engines": {
 
        "node": ">=8"
 
      }
 
    },
 
    "node_modules/strip-ansi": {
 
      "version": "5.2.0",
 
      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
 
      "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
 
      "dev": true,
 
      "dependencies": {
 
        "ansi-regex": "^4.1.0"
 
      },
 
      "engines": {
 
        "node": ">=6"
 
      }
 
    },
 
    "node_modules/strip-ansi/node_modules/ansi-regex": {
 
      "version": "4.1.0",
 
      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
 
      "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">=6"
 
      }
 
    },
 
    "node_modules/strip-json-comments": {
 
      "version": "3.0.1",
 
      "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz",
 
      "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==",
 
      "version": "3.1.1",
 
      "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
 
      "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">=8"
 
      },
 
      "funding": {
 
        "url": "https://github.com/sponsors/sindresorhus"
 
      }
 
    },
 
    "node_modules/supports-color": {
 
      "version": "5.5.0",
 
      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
 
      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
 
      "dev": true,
 
      "dependencies": {
 
        "has-flag": "^3.0.0"
 
      },
 
      "engines": {
 
        "node": ">=4"
 
      }
 
    },
 
    "node_modules/supports-preserve-symlinks-flag": {
 
      "version": "1.0.0",
 
      "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
 
      "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">= 0.4"
 
      },
 
      "funding": {
 
        "url": "https://github.com/sponsors/ljharb"
 
      }
 
    },
 
    "node_modules/table": {
 
      "version": "5.4.6",
 
      "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
 
      "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
 
      "dev": true,
 
      "dependencies": {
 
        "ajv": "^6.10.2",
 
        "lodash": "^4.17.14",
 
        "slice-ansi": "^2.1.0",
 
        "string-width": "^3.0.0"
 
      },
 
      "engines": {
 
        "node": ">=6.0.0"
 
      }
 
    },
 
    "node_modules/table/node_modules/emoji-regex": {
 
      "version": "7.0.3",
 
      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
 
      "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
 
      "dev": true
 
    },
 
    "node_modules/table/node_modules/is-fullwidth-code-point": {
 
      "version": "2.0.0",
 
      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
 
      "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
 
      "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">=4"
 
      }
 
    },
 
    "node_modules/table/node_modules/string-width": {
 
      "version": "3.1.0",
 
      "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
 
      "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
 
      "dev": true,
 
      "dependencies": {
 
        "emoji-regex": "^7.0.1",
 
        "is-fullwidth-code-point": "^2.0.0",
 
        "strip-ansi": "^5.1.0"
 
      },
 
      "engines": {
 
        "node": ">=6"
 
      }
 
    },
 
    "node_modules/text-table": {
 
      "version": "0.2.0",
 
      "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
 
      "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
 
      "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
 
      "dev": true
 
    },
 
    "node_modules/through": {
 
      "version": "2.3.8",
 
      "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
 
      "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
 
      "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==",
 
      "dev": true
 
    },
 
    "node_modules/tmp": {
 
      "version": "0.0.33",
 
      "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
 
      "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
 
      "dev": true,
 
      "dependencies": {
 
        "os-tmpdir": "~1.0.2"
 
      },
 
      "engines": {
 
        "node": ">=0.6.0"
 
      }
 
    },
 
    "node_modules/tough-cookie": {
 
      "version": "2.4.3",
 
      "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
 
      "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
 
      "dev": true,
 
      "optional": true,
 
      "dependencies": {
 
        "psl": "^1.1.24",
 
        "punycode": "^1.4.1"
 
      },
 
      "engines": {
 
        "node": ">=0.8"
 
      }
 
    },
 
    "node_modules/tough-cookie/node_modules/punycode": {
 
      "version": "1.4.1",
 
      "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
 
      "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "node_modules/treeify": {
 
      "version": "1.1.0",
 
      "resolved": "https://registry.npmjs.org/treeify/-/treeify-1.1.0.tgz",
 
      "integrity": "sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">=0.6"
 
      }
 
    },
 
    "node_modules/tslib": {
 
      "version": "1.11.0",
 
      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.0.tgz",
 
      "integrity": "sha512-BmndXUtiTn/VDDrJzQE7Mm22Ix3PxgLltW9bSNLoeCY31gnG2OPx0QqJnuc9oMIKioYrz487i6K9o4Pdn0j+Kg==",
 
      "version": "1.14.1",
 
      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
 
      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
 
      "dev": true
 
    },
 
    "node_modules/tunnel-agent": {
 
      "version": "0.6.0",
 
      "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
 
      "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
 
      "dev": true,
 
      "optional": true,
 
      "dependencies": {
 
        "safe-buffer": "^5.0.1"
 
      },
 
      "engines": {
 
        "node": "*"
 
      }
 
    },
 
    "node_modules/tweetnacl": {
 
      "version": "0.14.5",
 
      "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
 
      "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "node_modules/type-check": {
 
      "version": "0.3.2",
 
      "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
 
      "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
 
      "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==",
 
      "dev": true,
 
      "dependencies": {
 
        "prelude-ls": "~1.1.2"
 
      },
 
      "engines": {
 
        "node": ">= 0.8.0"
 
      }
 
    },
 
    "node_modules/type-fest": {
 
      "version": "0.8.1",
 
      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
 
      "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">=8"
 
      }
 
    },
 
    "node_modules/uri-js": {
 
      "version": "4.2.2",
 
      "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
 
      "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
 
      "version": "4.4.1",
 
      "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
 
      "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
 
      "dev": true,
 
      "dependencies": {
 
        "punycode": "^2.1.0"
 
      }
 
    },
 
    "node_modules/util-deprecate": {
 
      "version": "1.0.2",
 
      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
 
      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
 
      "dev": true
 
    },
 
    "node_modules/util-extend": {
 
      "version": "1.0.3",
 
      "resolved": "https://registry.npmjs.org/util-extend/-/util-extend-1.0.3.tgz",
 
      "integrity": "sha1-p8IW0mdUUWljeztu3GypEZ4v+T8=",
 
      "integrity": "sha512-mLs5zAK+ctllYBj+iAQvlDCwoxU/WDOUaJkcFudeiAX6OajC6BKXJUa9a+tbtkC11dz2Ufb7h0lyvIOVn4LADA==",
 
      "dev": true
 
    },
 
    "node_modules/uuid": {
 
      "version": "3.3.3",
 
      "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz",
 
      "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==",
 
      "deprecated": "Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.",
 
      "dev": true,
 
      "optional": true,
 
      "bin": {
 
        "uuid": "bin/uuid"
 
      }
 
    },
 
    "node_modules/v8-compile-cache": {
 
      "version": "2.1.0",
 
      "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz",
 
      "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==",
 
      "version": "2.4.0",
 
      "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz",
 
      "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==",
 
      "dev": true
 
    },
 
    "node_modules/validate-npm-package-license": {
 
      "version": "3.0.4",
 
      "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
 
      "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
 
      "dev": true,
 
      "dependencies": {
 
        "spdx-correct": "^3.0.0",
 
        "spdx-expression-parse": "^3.0.0"
 
      }
 
    },
 
    "node_modules/verror": {
 
      "version": "1.10.0",
 
      "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
 
      "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
 
      "dev": true,
 
      "engines": [
 
        "node >=0.6.0"
 
      ],
 
      "optional": true,
 
      "dependencies": {
 
        "assert-plus": "^1.0.0",
 
        "core-util-is": "1.0.2",
 
        "extsprintf": "^1.2.0"
 
      }
 
    },
 
    "node_modules/which": {
 
      "version": "1.3.1",
 
      "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
 
      "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
 
      "dev": true,
 
      "dependencies": {
 
        "isexe": "^2.0.0"
 
      },
 
      "bin": {
 
        "which": "bin/which"
 
      }
 
    },
 
    "node_modules/word-wrap": {
 
      "version": "1.2.3",
 
      "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
 
      "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
 
      "version": "1.2.5",
 
      "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
 
      "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
 
      "dev": true,
 
      "engines": {
 
        "node": ">=0.10.0"
 
      }
 
    },
 
    "node_modules/wrappy": {
 
      "version": "1.0.2",
 
      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
 
      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
 
      "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
 
      "dev": true
 
    },
 
    "node_modules/write": {
 
      "version": "1.0.3",
 
      "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz",
 
      "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==",
 
      "dev": true,
 
      "dependencies": {
 
        "mkdirp": "^0.5.1"
 
      },
 
      "engines": {
 
        "node": ">=4"
 
      }
 
    }
 
  },
 
  "dependencies": {
 
    "@babel/code-frame": {
 
      "version": "7.8.3",
 
      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
 
      "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
 
      "dev": true,
 
      "requires": {
 
        "@babel/highlight": "^7.8.3"
 
      }
 
    },
 
    "@babel/highlight": {
 
      "version": "7.8.3",
 
      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
 
      "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
 
      "dev": true,
 
      "requires": {
 
        "chalk": "^2.0.0",
 
        "esutils": "^2.0.2",
 
        "js-tokens": "^4.0.0"
 
      }
 
    },
 
    "abbrev": {
 
      "version": "1.1.1",
 
      "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
 
      "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
 
      "dev": true
 
    },
 
    "acorn": {
 
      "version": "7.1.0",
 
      "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz",
 
      "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==",
 
      "dev": true
 
    },
 
    "acorn-jsx": {
 
      "version": "5.1.0",
 
      "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz",
 
      "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==",
 
      "dev": true,
 
      "requires": {}
 
    },
 
    "ajv": {
 
      "version": "6.10.2",
 
      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
 
      "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==",
 
      "dev": true,
 
      "requires": {
 
        "fast-deep-equal": "^2.0.1",
 
        "fast-json-stable-stringify": "^2.0.0",
 
        "json-schema-traverse": "^0.4.1",
 
        "uri-js": "^4.2.2"
 
      }
 
    },
 
    "amdefine": {
 
      "version": "1.0.1",
 
      "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
 
      "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
 
      "dev": true
 
    },
 
    "ansi-escapes": {
 
      "version": "4.3.0",
 
      "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz",
 
      "integrity": "sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==",
 
      "dev": true,
 
      "requires": {
 
        "type-fest": "^0.8.1"
 
      }
 
    },
 
    "ansi-regex": {
 
      "version": "5.0.0",
 
      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
 
      "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
 
      "dev": true
 
    },
 
    "ansi-styles": {
 
      "version": "3.2.1",
 
      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
 
      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
 
      "dev": true,
 
      "requires": {
 
        "color-convert": "^1.9.0"
 
      }
 
    },
 
    "argparse": {
 
      "version": "1.0.10",
 
      "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
 
      "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
 
      "dev": true,
 
      "requires": {
 
        "sprintf-js": "~1.0.2"
 
      }
 
    },
 
    "array-find-index": {
 
      "version": "1.0.2",
 
      "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
 
      "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
 
      "dev": true
 
    },
 
    "asap": {
 
      "version": "2.0.6",
 
      "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
 
      "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
 
      "dev": true
 
    },
 
    "asn1": {
 
      "version": "0.2.4",
 
      "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
 
      "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
 
      "dev": true,
 
      "optional": true,
 
      "requires": {
 
        "safer-buffer": "~2.1.0"
 
      }
 
    },
 
    "assert-plus": {
 
      "version": "1.0.0",
 
      "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
 
      "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "astral-regex": {
 
      "version": "1.0.0",
 
      "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
 
      "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
 
      "dev": true
 
    },
 
    "asynckit": {
 
      "version": "0.4.0",
 
      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
 
      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "at.js": {
 
      "version": "1.5.4",
 
      "resolved": "https://registry.npmjs.org/at.js/-/at.js-1.5.4.tgz",
 
      "integrity": "sha512-G8mgUb/PqShPoH8AyjuxsTGvIr1o716BtQUKDM44C8qN2W615y7KGJ68MlTGamd0J0D/m28emUkzagaHTdrGZw==",
 
      "requires": {}
 
    },
 
    "aws-sign2": {
 
      "version": "0.7.0",
 
      "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
 
      "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "aws4": {
 
      "version": "1.8.0",
 
      "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
 
      "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "balanced-match": {
 
      "version": "1.0.0",
 
      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
 
      "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
 
      "dev": true
 
    },
 
    "bcrypt-pbkdf": {
 
      "version": "1.0.2",
 
      "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
 
      "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
 
      "dev": true,
 
      "optional": true,
 
      "requires": {
 
        "tweetnacl": "^0.14.3"
 
      }
 
    },
 
    "bootstrap": {
 
      "version": "3.3.7",
 
      "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-3.3.7.tgz",
 
      "integrity": "sha1-WjiTlFSfIzMIdaOxUGVldPip63E="
 
    },
 
    "brace-expansion": {
 
      "version": "1.1.11",
 
      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
 
      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
 
      "dev": true,
 
      "requires": {
 
        "balanced-match": "^1.0.0",
 
        "concat-map": "0.0.1"
 
      }
 
    },
 
    "callsites": {
 
      "version": "3.1.0",
 
      "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
 
      "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
 
      "dev": true
 
    },
 
    "caseless": {
 
      "version": "0.12.0",
 
      "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
 
      "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "chalk": {
 
      "version": "2.4.2",
 
      "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
 
      "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
 
      "dev": true,
 
      "requires": {
 
        "ansi-styles": "^3.2.1",
 
        "escape-string-regexp": "^1.0.5",
 
        "supports-color": "^5.3.0"
 
      }
 
    },
 
    "chardet": {
 
      "version": "0.7.0",
 
      "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
 
      "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
 
      "dev": true
 
    },
 
    "clean-css": {
 
      "version": "3.4.28",
 
      "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.28.tgz",
 
      "integrity": "sha1-vxlF6C/ICPVWlebd6uwBQA79A/8=",
 
      "dev": true,
 
      "requires": {
 
        "commander": "2.8.x",
 
        "source-map": "0.4.x"
 
      },
 
      "dependencies": {
 
        "source-map": {
 
          "version": "0.4.4",
 
          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
 
          "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
 
          "dev": true,
 
          "requires": {
 
            "amdefine": ">=0.0.4"
 
          }
 
        }
 
      }
 
    },
 
    "cli-cursor": {
 
      "version": "3.1.0",
 
      "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
 
      "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
 
      "dev": true,
 
      "requires": {
 
        "restore-cursor": "^3.1.0"
 
      }
 
    },
 
    "cli-width": {
 
      "version": "2.2.0",
 
      "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
 
      "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
 
      "dev": true
 
    },
 
    "clone": {
 
      "version": "2.1.2",
 
      "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
 
      "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=",
 
      "dev": true
 
    },
 
    "codemirror": {
 
      "version": "5.49.0",
 
      "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.49.0.tgz",
 
      "integrity": "sha512-Hyzr0HToBdZpLBN9dYFO/KlJAsKH37/cXVHPAqa+imml0R92tb9AkmsvjnXL+SluEvjjdfkDgRjc65NG5jnMYA=="
 
    },
 
    "color-convert": {
 
      "version": "1.9.3",
 
      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
 
      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
 
      "dev": true,
 
      "requires": {
 
        "color-name": "1.1.3"
 
      }
 
    },
 
    "color-name": {
 
      "version": "1.1.3",
 
      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
 
      "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
 
      "dev": true
 
    },
 
    "combined-stream": {
 
      "version": "1.0.8",
 
      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
 
      "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
 
      "dev": true,
 
      "optional": true,
 
      "requires": {
 
        "delayed-stream": "~1.0.0"
 
      }
 
    },
 
    "commander": {
 
      "version": "2.8.1",
 
      "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz",
 
      "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=",
 
      "dev": true,
 
      "requires": {
 
        "graceful-readlink": ">= 1.0.0"
 
      }
 
    },
 
    "concat-map": {
 
      "version": "0.0.1",
 
      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
 
      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
 
      "dev": true
 
    },
 
    "core-util-is": {
 
      "version": "1.0.2",
 
      "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
 
      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "cross-spawn": {
 
      "version": "6.0.5",
 
      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
 
      "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
 
      "dev": true,
 
      "requires": {
 
        "nice-try": "^1.0.4",
 
        "path-key": "^2.0.1",
 
        "semver": "^5.5.0",
 
        "shebang-command": "^1.2.0",
 
        "which": "^1.2.9"
 
      }
 
    },
 
    "dashdash": {
 
      "version": "1.14.1",
 
      "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
 
      "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
 
      "dev": true,
 
      "optional": true,
 
      "requires": {
 
        "assert-plus": "^1.0.0"
 
      }
 
    },
 
    "datatables.net": {
 
      "version": "1.10.20",
 
      "resolved": "https://registry.npmjs.org/datatables.net/-/datatables.net-1.10.20.tgz",
 
      "integrity": "sha512-4E4S7tTU607N3h0fZPkGmAtr9mwy462u+VJ6gxYZ8MxcRIjZqHy3Dv1GNry7i3zQCktTdWbULVKBbkAJkuHEnQ==",
 
      "requires": {
 
        "jquery": ">=1.7"
 
      }
 
    },
 
    "datatables.net-bs": {
 
      "version": "1.10.20",
 
      "resolved": "https://registry.npmjs.org/datatables.net-bs/-/datatables.net-bs-1.10.20.tgz",
 
      "integrity": "sha512-NsMoOOYZ6NlteOpzhltw21lXsNdhjIMbIOxnqmcrb62ntl8eL9pYzk2AeiDXBlIKY4e550ZrExCq3CYKQ9myEg==",
 
      "requires": {
 
        "datatables.net": "1.10.20",
 
        "jquery": ">=1.7"
 
      }
 
    },
 
    "debug": {
 
      "version": "3.2.6",
 
      "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
 
      "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
 
      "dev": true,
 
      "requires": {
 
        "ms": "^2.1.1"
 
      }
 
    },
 
    "debuglog": {
 
      "version": "1.0.1",
 
      "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz",
 
      "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=",
 
      "dev": true
 
    },
 
    "deep-is": {
 
      "version": "0.1.3",
 
      "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
 
      "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
 
      "dev": true
 
    },
 
    "delayed-stream": {
 
      "version": "1.0.0",
 
      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
 
      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "dezalgo": {
 
      "version": "1.0.3",
 
      "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz",
 
      "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=",
 
      "dev": true,
 
      "requires": {
 
        "asap": "^2.0.0",
 
        "wrappy": "1"
 
      }
 
    },
 
    "doctrine": {
 
      "version": "3.0.0",
 
      "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
 
      "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
 
      "dev": true,
 
      "requires": {
 
        "esutils": "^2.0.2"
 
      }
 
    },
 
    "dom-serializer": {
 
      "version": "0.2.2",
 
      "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz",
 
      "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==",
 
      "dev": true,
 
      "requires": {
 
        "domelementtype": "^2.0.1",
 
        "entities": "^2.0.0"
 
      },
 
      "dependencies": {
 
        "domelementtype": {
 
          "version": "2.0.1",
 
          "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz",
 
          "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==",
 
          "dev": true
 
        },
 
        "entities": {
 
          "version": "2.0.0",
 
          "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz",
 
          "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==",
 
          "dev": true
 
        }
 
      }
 
    },
 
    "domelementtype": {
 
      "version": "1.3.1",
 
      "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
 
      "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==",
 
      "dev": true
 
    },
 
    "domhandler": {
 
      "version": "2.4.2",
 
      "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz",
 
      "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==",
 
      "dev": true,
 
      "requires": {
 
        "domelementtype": "1"
 
      }
 
    },
 
    "domutils": {
 
      "version": "1.7.0",
 
      "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
 
      "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==",
 
      "dev": true,
 
      "requires": {
 
        "dom-serializer": "0",
 
        "domelementtype": "1"
 
      }
 
    },
 
    "ecc-jsbn": {
 
      "version": "0.1.2",
 
      "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
 
      "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
 
      "dev": true,
 
      "optional": true,
 
      "requires": {
 
        "jsbn": "~0.1.0",
 
        "safer-buffer": "^2.1.0"
 
      }
 
    },
 
    "emoji-regex": {
 
      "version": "8.0.0",
 
      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
 
      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
 
      "dev": true
 
    },
 
    "entities": {
 
      "version": "1.1.2",
 
      "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
 
      "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
 
      "dev": true
 
    },
 
    "errno": {
 
      "version": "0.1.7",
 
      "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
 
      "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
 
      "dev": true,
 
      "optional": true,
 
      "requires": {
 
        "prr": "~1.0.1"
 
      }
 
    },
 
    "escape-string-regexp": {
 
      "version": "1.0.5",
 
      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
 
      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
 
      "dev": true
 
    },
 
    "eslint": {
 
      "version": "6.8.0",
 
      "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz",
 
      "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==",
 
      "dev": true,
 
      "requires": {
 
        "@babel/code-frame": "^7.0.0",
 
        "ajv": "^6.10.0",
 
        "chalk": "^2.1.0",
 
        "cross-spawn": "^6.0.5",
 
        "debug": "^4.0.1",
 
        "doctrine": "^3.0.0",
 
        "eslint-scope": "^5.0.0",
 
        "eslint-utils": "^1.4.3",
 
        "eslint-visitor-keys": "^1.1.0",
 
        "espree": "^6.1.2",
 
        "esquery": "^1.0.1",
 
        "esutils": "^2.0.2",
 
        "file-entry-cache": "^5.0.1",
 
        "functional-red-black-tree": "^1.0.1",
 
        "glob-parent": "^5.0.0",
 
        "globals": "^12.1.0",
 
        "ignore": "^4.0.6",
 
        "import-fresh": "^3.0.0",
 
        "imurmurhash": "^0.1.4",
 
        "inquirer": "^7.0.0",
 
        "is-glob": "^4.0.0",
 
        "js-yaml": "^3.13.1",
 
        "json-stable-stringify-without-jsonify": "^1.0.1",
 
        "levn": "^0.3.0",
 
        "lodash": "^4.17.14",
 
        "minimatch": "^3.0.4",
 
        "mkdirp": "^0.5.1",
 
        "natural-compare": "^1.4.0",
 
        "optionator": "^0.8.3",
 
        "progress": "^2.0.0",
 
        "regexpp": "^2.0.1",
 
        "semver": "^6.1.2",
 
        "strip-ansi": "^5.2.0",
 
        "strip-json-comments": "^3.0.1",
 
        "table": "^5.2.3",
 
        "text-table": "^0.2.0",
 
        "v8-compile-cache": "^2.0.3"
 
      },
 
      "dependencies": {
 
        "debug": {
 
          "version": "4.1.1",
 
          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
 
          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
 
          "dev": true,
 
          "requires": {
 
            "ms": "^2.1.1"
 
          }
 
        },
 
        "semver": {
 
          "version": "6.3.0",
 
          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
 
          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
 
          "dev": true
 
        }
 
      }
 
    },
 
    "eslint-plugin-html": {
 
      "version": "6.0.0",
 
      "resolved": "https://registry.npmjs.org/eslint-plugin-html/-/eslint-plugin-html-6.0.0.tgz",
 
      "integrity": "sha512-PQcGippOHS+HTbQCStmH5MY1BF2MaU8qW/+Mvo/8xTa/ioeMXdSP+IiaBw2+nh0KEMfYQKuTz1Zo+vHynjwhbg==",
 
      "dev": true,
 
      "requires": {
 
        "htmlparser2": "^3.10.1"
 
      }
 
    },
 
    "eslint-scope": {
 
      "version": "5.0.0",
 
      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz",
 
      "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==",
 
      "dev": true,
 
      "requires": {
 
        "esrecurse": "^4.1.0",
 
        "estraverse": "^4.1.1"
 
      }
 
    },
 
    "eslint-utils": {
 
      "version": "1.4.3",
 
      "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz",
 
      "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==",
 
      "dev": true,
 
      "requires": {
 
        "eslint-visitor-keys": "^1.1.0"
 
      }
 
    },
 
    "eslint-visitor-keys": {
 
      "version": "1.1.0",
 
      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz",
 
      "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==",
 
      "dev": true
 
    },
 
    "espree": {
 
      "version": "6.1.2",
 
      "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.2.tgz",
 
      "integrity": "sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA==",
 
      "dev": true,
 
      "requires": {
 
        "acorn": "^7.1.0",
 
        "acorn-jsx": "^5.1.0",
 
        "eslint-visitor-keys": "^1.1.0"
 
      }
 
    },
 
    "esprima": {
 
      "version": "4.0.1",
 
      "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
 
      "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
 
      "dev": true
 
    },
 
    "esquery": {
 
      "version": "1.1.0",
 
      "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.1.0.tgz",
 
      "integrity": "sha512-MxYW9xKmROWF672KqjO75sszsA8Mxhw06YFeS5VHlB98KDHbOSurm3ArsjO60Eaf3QmGMCP1yn+0JQkNLo/97Q==",
 
      "dev": true,
 
      "requires": {
 
        "estraverse": "^4.0.0"
 
      }
 
    },
 
    "esrecurse": {
 
      "version": "4.2.1",
 
      "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
 
      "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
 
      "dev": true,
 
      "requires": {
 
        "estraverse": "^4.1.0"
 
      }
 
    },
 
    "estraverse": {
 
      "version": "4.3.0",
 
      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
 
      "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
 
      "dev": true
 
    },
 
    "esutils": {
 
      "version": "2.0.3",
 
      "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
 
      "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
 
      "dev": true
 
    },
 
    "extend": {
 
      "version": "3.0.2",
 
      "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
 
      "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "external-editor": {
 
      "version": "3.1.0",
 
      "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
 
      "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
 
      "dev": true,
 
      "requires": {
 
        "chardet": "^0.7.0",
 
        "iconv-lite": "^0.4.24",
 
        "tmp": "^0.0.33"
 
      }
 
    },
 
    "extsprintf": {
 
      "version": "1.3.0",
 
      "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
 
      "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "fast-deep-equal": {
 
      "version": "2.0.1",
 
      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
 
      "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
 
      "dev": true
 
    },
 
    "fast-json-stable-stringify": {
 
      "version": "2.0.0",
 
      "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
 
      "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
 
      "dev": true
 
    },
 
    "fast-levenshtein": {
 
      "version": "2.0.6",
 
      "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
 
      "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
 
      "dev": true
 
    },
 
    "figures": {
 
      "version": "3.2.0",
 
      "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
 
      "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
 
      "dev": true,
 
      "requires": {
 
        "escape-string-regexp": "^1.0.5"
 
      }
 
    },
 
    "file-entry-cache": {
 
      "version": "5.0.1",
 
      "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz",
 
      "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==",
 
      "dev": true,
 
      "requires": {
 
        "flat-cache": "^2.0.1"
 
      }
 
    },
 
    "flat-cache": {
 
      "version": "2.0.1",
 
      "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
 
      "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==",
 
      "dev": true,
 
      "requires": {
 
        "flatted": "^2.0.0",
 
        "rimraf": "2.6.3",
 
        "write": "1.0.3"
 
      }
 
    },
 
    "flatted": {
 
      "version": "2.0.1",
 
      "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz",
 
      "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==",
 
      "dev": true
 
    },
 
    "forever-agent": {
 
      "version": "0.6.1",
 
      "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
 
      "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "form-data": {
 
      "version": "2.3.3",
 
      "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
 
      "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
 
      "dev": true,
 
      "optional": true,
 
      "requires": {
 
        "asynckit": "^0.4.0",
 
        "combined-stream": "^1.0.6",
 
        "mime-types": "^2.1.12"
 
      }
 
    },
 
    "fs.realpath": {
 
      "version": "1.0.0",
 
      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
 
      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
 
      "dev": true
 
    },
 
    "functional-red-black-tree": {
 
      "version": "1.0.1",
 
      "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
 
      "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
 
      "dev": true
 
    },
 
    "getpass": {
 
      "version": "0.1.7",
 
      "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
 
      "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
 
      "dev": true,
 
      "optional": true,
 
      "requires": {
 
        "assert-plus": "^1.0.0"
 
      }
 
    },
 
    "glob": {
 
      "version": "7.1.6",
 
      "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
 
      "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
 
      "dev": true,
 
      "requires": {
 
        "fs.realpath": "^1.0.0",
 
        "inflight": "^1.0.4",
 
        "inherits": "2",
 
        "minimatch": "^3.0.4",
 
        "once": "^1.3.0",
 
        "path-is-absolute": "^1.0.0"
 
      }
 
    },
 
    "glob-parent": {
 
      "version": "5.1.0",
 
      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz",
 
      "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==",
 
      "dev": true,
 
      "requires": {
 
        "is-glob": "^4.0.1"
 
      }
 
    },
 
    "globals": {
 
      "version": "12.3.0",
 
      "resolved": "https://registry.npmjs.org/globals/-/globals-12.3.0.tgz",
 
      "integrity": "sha512-wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw==",
 
      "dev": true,
 
      "requires": {
 
        "type-fest": "^0.8.1"
 
      }
 
    },
 
    "graceful-fs": {
 
      "version": "4.2.3",
 
      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz",
 
      "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==",
 
      "dev": true
 
    },
 
    "graceful-readlink": {
 
      "version": "1.0.1",
 
      "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
 
      "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=",
 
      "dev": true
 
    },
 
    "har-schema": {
 
      "version": "2.0.0",
 
      "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
 
      "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "har-validator": {
 
      "version": "5.1.3",
 
      "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
 
      "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
 
      "dev": true,
 
      "optional": true,
 
      "requires": {
 
        "ajv": "^6.5.5",
 
        "har-schema": "^2.0.0"
 
      }
 
    },
 
    "has-flag": {
 
      "version": "3.0.0",
 
      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
 
      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
 
      "dev": true
 
    },
 
    "hosted-git-info": {
 
      "version": "2.8.5",
 
      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz",
 
      "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==",
 
      "dev": true
 
    },
 
    "htmlparser2": {
 
      "version": "3.10.1",
 
      "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz",
 
      "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==",
 
      "dev": true,
 
      "requires": {
 
        "domelementtype": "^1.3.1",
 
        "domhandler": "^2.3.0",
 
        "domutils": "^1.5.1",
 
        "entities": "^1.1.1",
 
        "inherits": "^2.0.1",
 
        "readable-stream": "^3.1.1"
 
      }
 
    },
 
    "http-signature": {
 
      "version": "1.2.0",
 
      "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
 
      "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
 
      "dev": true,
 
      "optional": true,
 
      "requires": {
 
        "assert-plus": "^1.0.0",
 
        "jsprim": "^1.2.2",
 
        "sshpk": "^1.7.0"
 
      }
 
    },
 
    "iconv-lite": {
 
      "version": "0.4.24",
 
      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
 
      "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
 
      "dev": true,
 
      "requires": {
 
        "safer-buffer": ">= 2.1.2 < 3"
 
      }
 
    },
 
    "ignore": {
 
      "version": "4.0.6",
 
      "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
 
      "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
 
      "dev": true
 
    },
 
    "image-size": {
 
      "version": "0.5.5",
 
      "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz",
 
      "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "import-fresh": {
 
      "version": "3.2.1",
 
      "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
 
      "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
 
      "dev": true,
 
      "requires": {
 
        "parent-module": "^1.0.0",
 
        "resolve-from": "^4.0.0"
 
      }
 
    },
 
    "imurmurhash": {
 
      "version": "0.1.4",
 
      "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
 
      "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
 
      "dev": true
 
    },
 
    "inflight": {
 
      "version": "1.0.6",
 
      "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
 
      "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
 
      "dev": true,
 
      "requires": {
 
        "once": "^1.3.0",
 
        "wrappy": "1"
 
      }
 
    },
 
    "inherits": {
 
      "version": "2.0.4",
 
      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
 
      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
 
      "dev": true
 
    },
 
    "inquirer": {
 
      "version": "7.0.4",
 
      "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.4.tgz",
 
      "integrity": "sha512-Bu5Td5+j11sCkqfqmUTiwv+tWisMtP0L7Q8WrqA2C/BbBhy1YTdFrvjjlrKq8oagA/tLQBski2Gcx/Sqyi2qSQ==",
 
      "dev": true,
 
      "requires": {
 
        "ansi-escapes": "^4.2.1",
 
        "chalk": "^2.4.2",
 
        "cli-cursor": "^3.1.0",
 
        "cli-width": "^2.0.0",
 
        "external-editor": "^3.0.3",
 
        "figures": "^3.0.0",
 
        "lodash": "^4.17.15",
 
        "mute-stream": "0.0.8",
 
        "run-async": "^2.2.0",
 
        "rxjs": "^6.5.3",
 
        "string-width": "^4.1.0",
 
        "strip-ansi": "^5.1.0",
 
        "through": "^2.3.6"
 
      }
 
    },
 
    "is-extglob": {
 
      "version": "2.1.1",
 
      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
 
      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
 
      "dev": true
 
    },
 
    "is-fullwidth-code-point": {
 
      "version": "3.0.0",
 
      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
 
      "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
 
      "dev": true
 
    },
 
    "is-glob": {
 
      "version": "4.0.1",
 
      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
 
      "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
 
      "dev": true,
 
      "requires": {
 
        "is-extglob": "^2.1.1"
 
      }
 
    },
 
    "is-promise": {
 
      "version": "2.1.0",
 
      "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
 
      "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
 
      "dev": true
 
    },
 
    "is-typedarray": {
 
      "version": "1.0.0",
 
      "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
 
      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "isexe": {
 
      "version": "2.0.0",
 
      "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
 
      "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
 
      "dev": true
 
    },
 
    "isstream": {
 
      "version": "0.1.2",
 
      "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
 
      "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "jquery": {
 
      "version": "3.4.1",
 
      "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.4.1.tgz",
 
      "integrity": "sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw=="
 
    },
 
    "jquery.caret": {
 
      "version": "0.3.1",
 
      "resolved": "https://registry.npmjs.org/jquery.caret/-/jquery.caret-0.3.1.tgz",
 
      "integrity": "sha1-nAkzGPrzJ+/zIugmyp8yQTaLx7g="
 
    },
 
    "jquery.flot": {
 
      "version": "0.8.3",
 
      "resolved": "https://registry.npmjs.org/jquery.flot/-/jquery.flot-0.8.3.tgz",
 
      "integrity": "sha512-/tEE8J5NjwvStHDaCHkvTJpD7wDS4hE1OEL8xEmhgQfUe0gLUem923PIceNez1mz4yBNx6Hjv7pJcowLNd+nbg=="
 
    },
 
    "js-tokens": {
 
      "version": "4.0.0",
 
      "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
 
      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
 
      "dev": true
 
    },
 
    "js-yaml": {
 
      "version": "3.13.1",
 
      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
 
      "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
 
      "dev": true,
 
      "requires": {
 
        "argparse": "^1.0.7",
 
        "esprima": "^4.0.0"
 
      }
 
    },
 
    "jsbn": {
 
      "version": "0.1.1",
 
      "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
 
      "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "json-parse-better-errors": {
 
      "version": "1.0.2",
 
      "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
 
      "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
 
      "dev": true
 
    },
 
    "json-schema": {
 
      "version": "0.2.3",
 
      "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
 
      "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "json-schema-traverse": {
 
      "version": "0.4.1",
 
      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
 
      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
 
      "dev": true
 
    },
 
    "json-stable-stringify-without-jsonify": {
 
      "version": "1.0.1",
 
      "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
 
      "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
 
      "dev": true
 
    },
 
    "json-stringify-safe": {
 
      "version": "5.0.1",
 
      "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
 
      "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "jsprim": {
 
      "version": "1.4.1",
 
      "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
 
      "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
 
      "dev": true,
 
      "optional": true,
 
      "requires": {
 
        "assert-plus": "1.0.0",
 
        "extsprintf": "1.3.0",
 
        "json-schema": "0.2.3",
 
        "verror": "1.10.0"
 
      }
 
    },
 
    "less": {
 
      "version": "3.10.3",
 
      "resolved": "https://registry.npmjs.org/less/-/less-3.10.3.tgz",
 
      "integrity": "sha512-vz32vqfgmoxF1h3K4J+yKCtajH0PWmjkIFgbs5d78E/c/e+UQTnI+lWK+1eQRE95PXM2mC3rJlLSSP9VQHnaow==",
 
      "dev": true,
 
      "requires": {
 
        "clone": "^2.1.2",
 
        "errno": "^0.1.1",
 
        "graceful-fs": "^4.1.2",
 
        "image-size": "~0.5.0",
 
        "mime": "^1.4.1",
 
        "mkdirp": "^0.5.0",
 
        "promise": "^7.1.1",
 
        "request": "^2.83.0",
 
        "source-map": "~0.6.0"
 
      }
 
    },
 
    "less-plugin-clean-css": {
 
      "version": "1.5.1",
 
      "resolved": "https://registry.npmjs.org/less-plugin-clean-css/-/less-plugin-clean-css-1.5.1.tgz",
 
      "integrity": "sha1-zFeveqM5iVflbezr5jy2DCNClwM=",
 
      "dev": true,
 
      "requires": {
 
        "clean-css": "^3.0.1"
 
      }
 
    },
 
    "levn": {
 
      "version": "0.3.0",
 
      "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
 
      "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
 
      "dev": true,
 
      "requires": {
 
        "prelude-ls": "~1.1.2",
 
        "type-check": "~0.3.2"
 
      }
 
    },
 
    "license-checker": {
 
      "version": "25.0.1",
 
      "resolved": "https://registry.npmjs.org/license-checker/-/license-checker-25.0.1.tgz",
 
      "integrity": "sha512-mET5AIwl7MR2IAKYYoVBBpV0OnkKQ1xGj2IMMeEFIs42QAkEVjRtFZGWmQ28WeU7MP779iAgOaOy93Mn44mn6g==",
 
      "dev": true,
 
      "requires": {
 
        "chalk": "^2.4.1",
 
        "debug": "^3.1.0",
 
        "mkdirp": "^0.5.1",
 
        "nopt": "^4.0.1",
 
        "read-installed": "~4.0.3",
 
        "semver": "^5.5.0",
 
        "spdx-correct": "^3.0.0",
 
        "spdx-expression-parse": "^3.0.0",
 
        "spdx-satisfies": "^4.0.0",
 
        "treeify": "^1.1.0"
 
      }
 
    },
 
    "lodash": {
 
      "version": "4.17.15",
 
      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
 
      "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
 
      "dev": true
 
    },
 
    "mime": {
 
      "version": "1.6.0",
 
      "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
 
      "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "mime-db": {
 
      "version": "1.40.0",
 
      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
 
      "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "mime-types": {
 
      "version": "2.1.24",
 
      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz",
 
      "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==",
 
      "dev": true,
 
      "optional": true,
 
      "requires": {
 
        "mime-db": "1.40.0"
 
      }
 
    },
 
    "mimic-fn": {
 
      "version": "2.1.0",
 
      "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
 
      "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
 
      "dev": true
 
    },
 
    "minimatch": {
 
      "version": "3.0.4",
 
      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
 
      "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
 
      "dev": true,
 
      "requires": {
 
        "brace-expansion": "^1.1.7"
 
      }
 
    },
 
    "minimist": {
 
      "version": "0.0.8",
 
      "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
 
      "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
 
      "dev": true
 
    },
 
    "mkdirp": {
 
      "version": "0.5.1",
 
      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
 
      "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
 
      "dev": true,
 
      "requires": {
 
        "minimist": "0.0.8"
 
      }
 
    },
 
    "ms": {
 
      "version": "2.1.2",
 
      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
 
      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
 
      "dev": true
 
    },
 
    "mute-stream": {
 
      "version": "0.0.8",
 
      "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
 
      "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
 
      "dev": true
 
    },
 
    "natural-compare": {
 
      "version": "1.4.0",
 
      "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
 
      "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
 
      "dev": true
 
    },
 
    "nice-try": {
 
      "version": "1.0.5",
 
      "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
 
      "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
 
      "dev": true
 
    },
 
    "nopt": {
 
      "version": "4.0.1",
 
      "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz",
 
      "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=",
 
      "dev": true,
 
      "requires": {
 
        "abbrev": "1",
 
        "osenv": "^0.1.4"
 
      }
 
    },
 
    "normalize-package-data": {
 
      "version": "2.5.0",
 
      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
 
      "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
 
      "dev": true,
 
      "requires": {
 
        "hosted-git-info": "^2.1.4",
 
        "resolve": "^1.10.0",
 
        "semver": "2 || 3 || 4 || 5",
 
        "validate-npm-package-license": "^3.0.1"
 
      }
 
    },
 
    "oauth-sign": {
 
      "version": "0.9.0",
 
      "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
 
      "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "once": {
 
      "version": "1.4.0",
 
      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
 
      "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
 
      "dev": true,
 
      "requires": {
 
        "wrappy": "1"
 
      }
 
    },
 
    "onetime": {
 
      "version": "5.1.0",
 
      "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
 
      "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
 
      "dev": true,
 
      "requires": {
 
        "mimic-fn": "^2.1.0"
 
      }
 
    },
 
    "optionator": {
 
      "version": "0.8.3",
 
      "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
 
      "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
 
      "dev": true,
 
      "requires": {
 
        "deep-is": "~0.1.3",
 
        "fast-levenshtein": "~2.0.6",
 
        "levn": "~0.3.0",
 
        "prelude-ls": "~1.1.2",
 
        "type-check": "~0.3.2",
 
        "word-wrap": "~1.2.3"
 
      }
 
    },
 
    "os-homedir": {
 
      "version": "1.0.2",
 
      "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
 
      "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
 
      "dev": true
 
    },
 
    "os-tmpdir": {
 
      "version": "1.0.2",
 
      "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
 
      "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
 
      "dev": true
 
    },
 
    "osenv": {
 
      "version": "0.1.5",
 
      "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
 
      "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
 
      "dev": true,
 
      "requires": {
 
        "os-homedir": "^1.0.0",
 
        "os-tmpdir": "^1.0.0"
 
      }
 
    },
 
    "parent-module": {
 
      "version": "1.0.1",
 
      "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
 
      "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
 
      "dev": true,
 
      "requires": {
 
        "callsites": "^3.0.0"
 
      }
 
    },
 
    "path-is-absolute": {
 
      "version": "1.0.1",
 
      "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
 
      "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
 
      "dev": true
 
    },
 
    "path-key": {
 
      "version": "2.0.1",
 
      "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
 
      "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
 
      "dev": true
 
    },
 
    "path-parse": {
 
      "version": "1.0.6",
 
      "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
 
      "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
 
      "dev": true
 
    },
 
    "performance-now": {
 
      "version": "2.1.0",
 
      "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
 
      "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "prelude-ls": {
 
      "version": "1.1.2",
 
      "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
 
      "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
 
      "dev": true
 
    },
 
    "progress": {
 
      "version": "2.0.3",
 
      "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
 
      "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
 
      "dev": true
 
    },
 
    "promise": {
 
      "version": "7.3.1",
 
      "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
 
      "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
 
      "dev": true,
 
      "optional": true,
 
      "requires": {
 
        "asap": "~2.0.3"
 
      }
 
    },
 
    "prr": {
 
      "version": "1.0.1",
 
      "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
 
      "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "psl": {
 
      "version": "1.4.0",
 
      "resolved": "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz",
 
      "integrity": "sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "punycode": {
 
      "version": "2.1.1",
 
      "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
 
      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
 
      "dev": true
 
    },
 
    "qs": {
 
      "version": "6.5.2",
 
      "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
 
      "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "read-installed": {
 
      "version": "4.0.3",
 
      "resolved": "https://registry.npmjs.org/read-installed/-/read-installed-4.0.3.tgz",
 
      "integrity": "sha1-/5uLZ/GH0eTCm5/rMfayI6zRkGc=",
 
      "dev": true,
 
      "requires": {
 
        "debuglog": "^1.0.1",
 
        "graceful-fs": "^4.1.2",
 
        "read-package-json": "^2.0.0",
 
        "readdir-scoped-modules": "^1.0.0",
 
        "semver": "2 || 3 || 4 || 5",
 
        "slide": "~1.1.3",
 
        "util-extend": "^1.0.1"
 
      }
 
    },
 
    "read-package-json": {
 
      "version": "2.1.0",
 
      "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.0.tgz",
 
      "integrity": "sha512-KLhu8M1ZZNkMcrq1+0UJbR8Dii8KZUqB0Sha4mOx/bknfKI/fyrQVrG/YIt2UOtG667sD8+ee4EXMM91W9dC+A==",
 
      "dev": true,
 
      "requires": {
 
        "glob": "^7.1.1",
 
        "graceful-fs": "^4.1.2",
 
        "json-parse-better-errors": "^1.0.1",
 
        "normalize-package-data": "^2.0.0",
 
        "slash": "^1.0.0"
 
      }
 
    },
 
    "readable-stream": {
 
      "version": "3.6.0",
 
      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
 
      "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
 
      "dev": true,
 
      "requires": {
 
        "inherits": "^2.0.3",
 
        "string_decoder": "^1.1.1",
 
        "util-deprecate": "^1.0.1"
 
      }
 
    },
 
    "readdir-scoped-modules": {
 
      "version": "1.1.0",
 
      "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz",
 
      "integrity": "sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==",
 
      "dev": true,
 
      "requires": {
 
        "debuglog": "^1.0.1",
 
        "dezalgo": "^1.0.0",
 
        "graceful-fs": "^4.1.2",
 
        "once": "^1.3.0"
 
      }
 
    },
 
    "regexpp": {
 
      "version": "2.0.1",
 
      "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
 
      "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==",
 
      "dev": true
 
    },
 
    "request": {
 
      "version": "2.88.0",
 
      "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
 
      "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
 
      "dev": true,
 
      "optional": true,
 
      "requires": {
 
        "aws-sign2": "~0.7.0",
 
        "aws4": "^1.8.0",
 
        "caseless": "~0.12.0",
 
        "combined-stream": "~1.0.6",
 
        "extend": "~3.0.2",
 
        "forever-agent": "~0.6.1",
 
        "form-data": "~2.3.2",
 
        "har-validator": "~5.1.0",
 
        "http-signature": "~1.2.0",
 
        "is-typedarray": "~1.0.0",
 
        "isstream": "~0.1.2",
 
        "json-stringify-safe": "~5.0.1",
 
        "mime-types": "~2.1.19",
 
        "oauth-sign": "~0.9.0",
 
        "performance-now": "^2.1.0",
 
        "qs": "~6.5.2",
 
        "safe-buffer": "^5.1.2",
 
        "tough-cookie": "~2.4.3",
 
        "tunnel-agent": "^0.6.0",
 
        "uuid": "^3.3.2"
 
      }
 
    },
 
    "resolve": {
 
      "version": "1.12.0",
 
      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz",
 
      "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==",
 
      "dev": true,
 
      "requires": {
 
        "path-parse": "^1.0.6"
 
      }
 
    },
 
    "resolve-from": {
 
      "version": "4.0.0",
 
      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
 
      "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
 
      "dev": true
 
    },
 
    "restore-cursor": {
 
      "version": "3.1.0",
 
      "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
 
      "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
 
      "dev": true,
 
      "requires": {
 
        "onetime": "^5.1.0",
 
        "signal-exit": "^3.0.2"
 
      }
 
    },
 
    "rimraf": {
 
      "version": "2.6.3",
 
      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
 
      "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
 
      "dev": true,
 
      "requires": {
 
        "glob": "^7.1.3"
 
      }
 
    },
 
    "run-async": {
 
      "version": "2.3.0",
 
      "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
 
      "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
 
      "dev": true,
 
      "requires": {
 
        "is-promise": "^2.1.0"
 
      }
 
    },
 
    "rxjs": {
 
      "version": "6.5.4",
 
      "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
 
      "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
 
      "dev": true,
 
      "requires": {
 
        "tslib": "^1.9.0"
 
      }
 
    },
 
    "safe-buffer": {
 
      "version": "5.2.0",
 
      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz",
 
      "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==",
 
      "dev": true
 
    },
 
    "safer-buffer": {
 
      "version": "2.1.2",
 
      "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
 
      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
 
      "dev": true
 
    },
 
    "select2": {
 
      "version": "3.5.1",
 
      "resolved": "https://registry.npmjs.org/select2/-/select2-3.5.1.tgz",
 
      "integrity": "sha1-8oGUibvGX9bTKL5yu+K5XdfofP4="
 
    },
 
    "select2-bootstrap-css": {
 
      "version": "1.4.6",
 
      "resolved": "https://registry.npmjs.org/select2-bootstrap-css/-/select2-bootstrap-css-1.4.6.tgz",
 
      "integrity": "sha1-XPtoJG9SmcoYWOAe/XiIBMc0mX4="
 
    },
 
    "semver": {
 
      "version": "5.7.1",
 
      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
 
      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
 
      "dev": true
 
    },
 
    "shebang-command": {
 
      "version": "1.2.0",
 
      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
 
      "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
 
      "dev": true,
 
      "requires": {
 
        "shebang-regex": "^1.0.0"
 
      }
 
    },
 
    "shebang-regex": {
 
      "version": "1.0.0",
 
      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
 
      "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
 
      "dev": true
 
    },
 
    "signal-exit": {
 
      "version": "3.0.2",
 
      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
 
      "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
 
      "dev": true
 
    },
 
    "slash": {
 
      "version": "1.0.0",
 
      "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
 
      "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
 
      "dev": true
 
    },
 
    "slice-ansi": {
 
      "version": "2.1.0",
 
      "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
 
      "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
 
      "dev": true,
 
      "requires": {
 
        "ansi-styles": "^3.2.0",
 
        "astral-regex": "^1.0.0",
 
        "is-fullwidth-code-point": "^2.0.0"
 
      },
 
      "dependencies": {
 
        "is-fullwidth-code-point": {
 
          "version": "2.0.0",
 
          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
 
          "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
 
          "dev": true
 
        }
 
      }
 
    },
 
    "slide": {
 
      "version": "1.1.6",
 
      "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz",
 
      "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=",
 
      "dev": true
 
    },
 
    "source-map": {
 
      "version": "0.6.1",
 
      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
 
      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "spdx-compare": {
 
      "version": "1.0.0",
 
      "resolved": "https://registry.npmjs.org/spdx-compare/-/spdx-compare-1.0.0.tgz",
 
      "integrity": "sha512-C1mDZOX0hnu0ep9dfmuoi03+eOdDoz2yvK79RxbcrVEG1NO1Ph35yW102DHWKN4pk80nwCgeMmSY5L25VE4D9A==",
 
      "dev": true,
 
      "requires": {
 
        "array-find-index": "^1.0.2",
 
        "spdx-expression-parse": "^3.0.0",
 
        "spdx-ranges": "^2.0.0"
 
      }
 
    },
 
    "spdx-correct": {
 
      "version": "3.1.0",
 
      "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz",
 
      "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==",
 
      "dev": true,
 
      "requires": {
 
        "spdx-expression-parse": "^3.0.0",
 
        "spdx-license-ids": "^3.0.0"
 
      }
 
    },
 
    "spdx-exceptions": {
 
      "version": "2.2.0",
 
      "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz",
 
      "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==",
 
      "dev": true
 
    },
 
    "spdx-expression-parse": {
 
      "version": "3.0.0",
 
      "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
 
      "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
 
      "dev": true,
 
      "requires": {
 
        "spdx-exceptions": "^2.1.0",
 
        "spdx-license-ids": "^3.0.0"
 
      }
 
    },
 
    "spdx-license-ids": {
 
      "version": "3.0.5",
 
      "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz",
 
      "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==",
 
      "dev": true
 
    },
 
    "spdx-ranges": {
 
      "version": "2.1.1",
 
      "resolved": "https://registry.npmjs.org/spdx-ranges/-/spdx-ranges-2.1.1.tgz",
 
      "integrity": "sha512-mcdpQFV7UDAgLpXEE/jOMqvK4LBoO0uTQg0uvXUewmEFhpiZx5yJSZITHB8w1ZahKdhfZqP5GPEOKLyEq5p8XA==",
 
      "dev": true
 
    },
 
    "spdx-satisfies": {
 
      "version": "4.0.1",
 
      "resolved": "https://registry.npmjs.org/spdx-satisfies/-/spdx-satisfies-4.0.1.tgz",
 
      "integrity": "sha512-WVzZ/cXAzoNmjCWiEluEA3BjHp5tiUmmhn9MK+X0tBbR9sOqtC6UQwmgCNrAIZvNlMuBUYAaHYfb2oqlF9SwKA==",
 
      "dev": true,
 
      "requires": {
 
        "spdx-compare": "^1.0.0",
 
        "spdx-expression-parse": "^3.0.0",
 
        "spdx-ranges": "^2.0.0"
 
      }
 
    },
 
    "sprintf-js": {
 
      "version": "1.0.3",
 
      "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
 
      "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
 
      "dev": true
 
    },
 
    "sshpk": {
 
      "version": "1.16.1",
 
      "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
 
      "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
 
      "dev": true,
 
      "optional": true,
 
      "requires": {
 
        "asn1": "~0.2.3",
 
        "assert-plus": "^1.0.0",
 
        "bcrypt-pbkdf": "^1.0.0",
 
        "dashdash": "^1.12.0",
 
        "ecc-jsbn": "~0.1.1",
 
        "getpass": "^0.1.1",
 
        "jsbn": "~0.1.0",
 
        "safer-buffer": "^2.0.2",
 
        "tweetnacl": "~0.14.0"
 
      }
 
    },
 
    "string_decoder": {
 
      "version": "1.3.0",
 
      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
 
      "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
 
      "dev": true,
 
      "requires": {
 
        "safe-buffer": "~5.2.0"
 
      }
 
    },
 
    "string-width": {
 
      "version": "4.2.0",
 
      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
 
      "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
 
      "dev": true,
 
      "requires": {
 
        "emoji-regex": "^8.0.0",
 
        "is-fullwidth-code-point": "^3.0.0",
 
        "strip-ansi": "^6.0.0"
 
      },
 
      "dependencies": {
 
        "strip-ansi": {
 
          "version": "6.0.0",
 
          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
 
          "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
 
          "dev": true,
 
          "requires": {
 
            "ansi-regex": "^5.0.0"
 
          }
 
        }
 
      }
 
    },
 
    "strip-ansi": {
 
      "version": "5.2.0",
 
      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
 
      "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
 
      "dev": true,
 
      "requires": {
 
        "ansi-regex": "^4.1.0"
 
      },
 
      "dependencies": {
 
        "ansi-regex": {
 
          "version": "4.1.0",
 
          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
 
          "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
 
          "dev": true
 
        }
 
      }
 
    },
 
    "strip-json-comments": {
 
      "version": "3.0.1",
 
      "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz",
 
      "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==",
 
      "dev": true
 
    },
 
    "supports-color": {
 
      "version": "5.5.0",
 
      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
 
      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
 
      "dev": true,
 
      "requires": {
 
        "has-flag": "^3.0.0"
 
      }
 
    },
 
    "table": {
 
      "version": "5.4.6",
 
      "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
 
      "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
 
      "dev": true,
 
      "requires": {
 
        "ajv": "^6.10.2",
 
        "lodash": "^4.17.14",
 
        "slice-ansi": "^2.1.0",
 
        "string-width": "^3.0.0"
 
      },
 
      "dependencies": {
 
        "emoji-regex": {
 
          "version": "7.0.3",
 
          "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
 
          "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
 
          "dev": true
 
        },
 
        "is-fullwidth-code-point": {
 
          "version": "2.0.0",
 
          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
 
          "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
 
          "dev": true
 
        },
 
        "string-width": {
 
          "version": "3.1.0",
 
          "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
 
          "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
 
          "dev": true,
 
          "requires": {
 
            "emoji-regex": "^7.0.1",
 
            "is-fullwidth-code-point": "^2.0.0",
 
            "strip-ansi": "^5.1.0"
 
          }
 
        }
 
      }
 
    },
 
    "text-table": {
 
      "version": "0.2.0",
 
      "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
 
      "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
 
      "dev": true
 
    },
 
    "through": {
 
      "version": "2.3.8",
 
      "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
 
      "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
 
      "dev": true
 
    },
 
    "tmp": {
 
      "version": "0.0.33",
 
      "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
 
      "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
 
      "dev": true,
 
      "requires": {
 
        "os-tmpdir": "~1.0.2"
 
      }
 
    },
 
    "tough-cookie": {
 
      "version": "2.4.3",
 
      "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
 
      "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
 
      "dev": true,
 
      "optional": true,
 
      "requires": {
 
        "psl": "^1.1.24",
 
        "punycode": "^1.4.1"
 
      },
 
      "dependencies": {
 
        "punycode": {
 
          "version": "1.4.1",
 
          "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
 
          "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
 
          "dev": true,
 
          "optional": true
 
        }
 
      }
 
    },
 
    "treeify": {
 
      "version": "1.1.0",
 
      "resolved": "https://registry.npmjs.org/treeify/-/treeify-1.1.0.tgz",
 
      "integrity": "sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A==",
 
      "dev": true
 
    },
 
    "tslib": {
 
      "version": "1.11.0",
 
      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.0.tgz",
 
      "integrity": "sha512-BmndXUtiTn/VDDrJzQE7Mm22Ix3PxgLltW9bSNLoeCY31gnG2OPx0QqJnuc9oMIKioYrz487i6K9o4Pdn0j+Kg==",
 
      "dev": true
 
    },
 
    "tunnel-agent": {
 
      "version": "0.6.0",
 
      "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
 
      "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
 
      "dev": true,
 
      "optional": true,
 
      "requires": {
 
        "safe-buffer": "^5.0.1"
 
      }
 
    },
 
    "tweetnacl": {
 
      "version": "0.14.5",
 
      "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
 
      "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "type-check": {
 
      "version": "0.3.2",
 
      "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
 
      "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
 
      "dev": true,
 
      "requires": {
 
        "prelude-ls": "~1.1.2"
 
      }
 
    },
 
    "type-fest": {
 
      "version": "0.8.1",
 
      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
 
      "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
 
      "dev": true
 
    },
 
    "uri-js": {
 
      "version": "4.2.2",
 
      "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
 
      "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
 
      "dev": true,
 
      "requires": {
 
        "punycode": "^2.1.0"
 
      }
 
    },
 
    "util-deprecate": {
 
      "version": "1.0.2",
 
      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
 
      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
 
      "dev": true
 
    },
 
    "util-extend": {
 
      "version": "1.0.3",
 
      "resolved": "https://registry.npmjs.org/util-extend/-/util-extend-1.0.3.tgz",
 
      "integrity": "sha1-p8IW0mdUUWljeztu3GypEZ4v+T8=",
 
      "dev": true
 
    },
 
    "uuid": {
 
      "version": "3.3.3",
 
      "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz",
 
      "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==",
 
      "dev": true,
 
      "optional": true
 
    },
 
    "v8-compile-cache": {
 
      "version": "2.1.0",
 
      "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz",
 
      "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==",
 
      "dev": true
 
    },
 
    "validate-npm-package-license": {
 
      "version": "3.0.4",
 
      "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
 
      "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
 
      "dev": true,
 
      "requires": {
 
        "spdx-correct": "^3.0.0",
 
        "spdx-expression-parse": "^3.0.0"
 
      }
 
    },
 
    "verror": {
 
      "version": "1.10.0",
 
      "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
 
      "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
 
      "dev": true,
 
      "optional": true,
 
      "requires": {
 
        "assert-plus": "^1.0.0",
 
        "core-util-is": "1.0.2",
 
        "extsprintf": "^1.2.0"
 
      }
 
    },
 
    "which": {
 
      "version": "1.3.1",
 
      "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
 
      "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
 
      "dev": true,
 
      "requires": {
 
        "isexe": "^2.0.0"
 
      }
 
    },
 
    "word-wrap": {
 
      "version": "1.2.3",
 
      "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
 
      "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
 
      "dev": true
 
    },
 
    "wrappy": {
 
      "version": "1.0.2",
 
      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
 
      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
 
      "dev": true
 
    },
 
    "write": {
 
      "version": "1.0.3",
 
      "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz",
 
      "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==",
 
      "dev": true,
 
      "requires": {
 
        "mkdirp": "^0.5.1"
 
      }
 
    }
 
  }
 
}
kallithea/front-end/package.json
Show inline comments
 
{
 
  "name": "kallithea",
 
  "private": true,
 
  "dependencies": {
 
    "at.js": "1.5.4",
 
    "bootstrap": "3.3.7",
 
    "codemirror": "5.49.0",
 
    "datatables.net": "1.10.20",
 
    "datatables.net-bs": "1.10.20",
 
    "jquery": "3.4.1",
 
    "jquery.caret": "0.3.1",
 
    "jquery.flot": "0.8.3",
 
    "select2": "3.5.1",
 
    "at.js": "1.5",
 
    "bootstrap": "3",
 
    "codemirror": "5",
 
    "datatables.net": "1",
 
    "datatables.net-bs": "1",
 
    "jquery": "3",
 
    "jquery.caret": "0.3",
 
    "jquery.flot": "0.8",
 
    "select2": "3",
 
    "select2-bootstrap-css": "1.4.6"
 
  },
 
  "devDependencies": {
 
    "eslint": "6.8.0",
 
    "eslint-plugin-html": "6.0.0",
 
    "less": "3.10.3",
 
    "less-plugin-clean-css": "1.5.1",
 
    "license-checker": "25.0.1"
 
    "eslint": "6",
 
    "eslint-plugin-html": "6",
 
    "less": "3",
 
    "less-plugin-clean-css": "1.5",
 
    "license-checker": "25"
 
  }
 
}
kallithea/i18n/be/LC_MESSAGES/kallithea.po
Show inline comments
 
@@ -360,51 +360,48 @@ msgstr "Адбылася памылка падчас абнаўлення прывілеяў"
 
msgid "Error occurred during creation of repository group %s"
 
msgstr "Адбылася памылка пры стварэнні групы рэпазітароў %s"
 

	
 
msgid "Created repository group %s"
 
msgstr "Створаная новая група рэпазітароў %s"
 

	
 
msgid "Updated repository group %s"
 
msgstr "Група рэпазітароў %s абноўленая"
 

	
 
msgid "Error occurred during update of repository group %s"
 
msgstr "Адбылася памылка пры абнаўленні групы рэпазітароў %s"
 

	
 
msgid "This group contains %s repositories and cannot be deleted"
 
msgstr "Група ўтрымлівае %s рэпазітароў і не можа быць выдаленая"
 

	
 
msgid "This group contains %s subgroups and cannot be deleted"
 
msgstr "Група ўтрымлівае ў сабе %s падгруп і не можа быць выдаленая"
 

	
 
msgid "Removed repository group %s"
 
msgstr "Група рэпазітароў %s выдаленая"
 

	
 
msgid "Error occurred during deletion of repository group %s"
 
msgstr "Памылка пры выдаленні групы рэпазітароў %s"
 

	
 
msgid "Cannot revoke permission for yourself as admin"
 
msgstr "Адміністратар не можа адклікаць свае прывелеі"
 

	
 
msgid "Repository group permissions updated"
 
msgstr "Прывілеі групы рэпазітароў абноўленыя"
 

	
 
msgid "An error occurred during revoking of permission"
 
msgstr "Памылка пры водгуку прывелея"
 

	
 
msgid "Error creating repository %s"
 
msgstr "Памылка пры стварэнні рэпазітара %s"
 

	
 
msgid "Created repository %s from %s"
 
msgstr "Рэпазітар %s створаны з %s"
 

	
 
msgid "Forked repository %s as %s"
 
msgstr "Зроблены форк рэпазітара %s на %s"
 

	
 
msgid "Created repository %s"
 
msgstr "Рэпазітар %s створаны"
 

	
 
msgid "Repository %s updated successfully"
 
msgstr "Рэпазітар %s паспяхова абноўлены"
 

	
 
msgid "Error occurred during update of repository %s"
 
msgstr "Памылка падчас абнаўлення рэпазітара %s"
 

	
 
@@ -498,48 +495,51 @@ msgstr "Запланаванае пераіндэксаванне базы Whoosh"
 
msgid "Created user group %s"
 
msgstr "Створана група карыстальнікаў %s"
 

	
 
msgid "Error occurred during creation of user group %s"
 
msgstr "Памылка пры стварэнні групы карыстальнікаў %s"
 

	
 
msgid "Updated user group %s"
 
msgstr "Група карыстальнікаў %s абноўленая"
 

	
 
msgid "Error occurred during update of user group %s"
 
msgstr "Памылка пры абнаўленні групы карыстальнікаў %s"
 

	
 
msgid "Successfully deleted user group"
 
msgstr "Група карыстальнікаў паспяхова выдаленая"
 

	
 
msgid "An error occurred during deletion of user group"
 
msgstr "Памылка пры выдаленні групы карыстальнікаў"
 

	
 
msgid "Target group cannot be the same"
 
msgstr "Мэтавая група не можа быць той жа самай"
 

	
 
msgid "User group permissions updated"
 
msgstr "Прывілеі групы карыстальнікаў абноўленыя"
 

	
 
msgid "Cannot revoke permission for yourself as admin"
 
msgstr "Адміністратар не можа адклікаць свае прывелеі"
 

	
 
msgid "Updated permissions"
 
msgstr "Абноўленыя прывілеі"
 

	
 
msgid "An error occurred during permissions saving"
 
msgstr "Памылка пры захаванні прывілеяў"
 

	
 
msgid "Created user %s"
 
msgstr "Карыстальнік %s створаны"
 

	
 
msgid "Error occurred during creation of user %s"
 
msgstr "Памылка пры стварэнні карыстальніка %s"
 

	
 
msgid "User updated successfully"
 
msgstr "Карыстальнік паспяхова абноўлены"
 

	
 
msgid "Successfully deleted user"
 
msgstr "Карыстальнік паспяхова выдалены"
 

	
 
msgid "An error occurred during deletion of user"
 
msgstr "Памылка пры выдаленні карыстальніка"
 

	
 
msgid "Added IP address %s to user whitelist"
 
msgstr "Дададзены IP %s у белы спіс карыстальніка"
 

	
kallithea/i18n/da/LC_MESSAGES/kallithea.po
Show inline comments
 
@@ -392,51 +392,48 @@ msgstr "Der opstod en fejl under opdater
 
msgid "Error occurred during creation of repository group %s"
 
msgstr "Der opstod en fejl under oprettelse af repository-gruppen %s"
 

	
 
msgid "Created repository group %s"
 
msgstr "Oprettet repository-gruppen %s"
 

	
 
msgid "Updated repository group %s"
 
msgstr "Opdateret repository-gruppen %s"
 

	
 
msgid "Error occurred during update of repository group %s"
 
msgstr "Der opstod en fejl under opdatering af repository-gruppen %s"
 

	
 
msgid "This group contains %s repositories and cannot be deleted"
 
msgstr "Denne gruppe indeholder %s repositories og kan ikke slettes"
 

	
 
msgid "This group contains %s subgroups and cannot be deleted"
 
msgstr "Denne gruppe indeholder %s undergrupper og kan ikke slettes"
 

	
 
msgid "Removed repository group %s"
 
msgstr "Fjernet repository-gruppen %s"
 

	
 
msgid "Error occurred during deletion of repository group %s"
 
msgstr "Der opstod en fejl under sletning af repository-gruppen %s"
 

	
 
msgid "Cannot revoke permission for yourself as admin"
 
msgstr "Kan ikke tilbagekalde tilladelse for én selv som admin"
 

	
 
msgid "Repository group permissions updated"
 
msgstr "Repository-gruppe tilladelser opdateret"
 

	
 
msgid "An error occurred during revoking of permission"
 
msgstr "Der opstod en fejl under tilbagekaldelse af tilladelse"
 

	
 
msgid "Error creating repository %s"
 
msgstr "Fejl ved oprettelse af repository %s"
 

	
 
msgid "Created repository %s from %s"
 
msgstr "Oprettet repository %s fra %s"
 

	
 
msgid "Forked repository %s as %s"
 
msgstr "Forked repository %s som %s"
 

	
 
msgid "Created repository %s"
 
msgstr "Oprettet repository %s"
 

	
 
msgid "Repository %s updated successfully"
 
msgstr "Repository %s opdateret"
 

	
 
msgid "Error occurred during update of repository %s"
 
msgstr "Der opstod en fejl under opdatering af repository %s"
 

	
 
@@ -532,48 +529,51 @@ msgstr "Der opstod en fejl under oprette
 
msgid "Whoosh reindex task scheduled"
 
msgstr "Whoosh reindex-opgave skeduleret"
 

	
 
msgid "Created user group %s"
 
msgstr "Oprettet brugergruppe %s"
 

	
 
msgid "Error occurred during creation of user group %s"
 
msgstr "Der opstod en fejl under oprettelse af brugergruppe %s"
 

	
 
msgid "Updated user group %s"
 
msgstr "Opdateret brugergruppe %s"
 

	
 
msgid "Error occurred during update of user group %s"
 
msgstr "Der opstod en fejl under opdatering af brugergruppe %s"
 

	
 
msgid "Successfully deleted user group"
 
msgstr "Brugergruppe slettet succesfuldt"
 

	
 
msgid "An error occurred during deletion of user group"
 
msgstr "Der opstod en fejl under sletning af brugergruppe"
 

	
 
msgid "User group permissions updated"
 
msgstr "Brugergrupper-tilladelser opdateret"
 

	
 
msgid "Cannot revoke permission for yourself as admin"
 
msgstr "Kan ikke tilbagekalde tilladelse for én selv som admin"
 

	
 
msgid "Updated permissions"
 
msgstr "Tilladelser opdateret"
 

	
 
msgid "An error occurred during permissions saving"
 
msgstr "Der opstod en fejl under gemning af tilladelser"
 

	
 
msgid "Created user %s"
 
msgstr "Bruger %s oprettet"
 

	
 
msgid "Error occurred during creation of user %s"
 
msgstr "Der opstod en fejl under oprettelse af bruger %s"
 

	
 
msgid "User updated successfully"
 
msgstr "Bruger opdateret"
 

	
 
msgid "Successfully deleted user"
 
msgstr "Slettet bruger"
 

	
 
msgid "An error occurred during deletion of user"
 
msgstr "Der opstod en fejl under sletning af bruger %s"
 

	
 
msgid "The default user cannot be edited"
 
msgstr "Standardbrugeren kan ikke redigeres"
 

	
kallithea/i18n/de/LC_MESSAGES/kallithea.po
Show inline comments
 
@@ -379,51 +379,48 @@ msgstr "Fehler bei der Änderung der globalen Berechtigungen"
 
msgid "Error occurred during creation of repository group %s"
 
msgstr "Fehler bei der Erstellung der Repositoriumsgruppe %s"
 

	
 
msgid "Created repository group %s"
 
msgstr "Repositoriumsgruppe %s erstellt"
 

	
 
msgid "Updated repository group %s"
 
msgstr "Repositoriumsgruppe %s aktualisiert"
 

	
 
msgid "Error occurred during update of repository group %s"
 
msgstr "Fehler bei der Aktualisierung der Repositoriumsgruppe %s"
 

	
 
msgid "This group contains %s repositories and cannot be deleted"
 
msgstr "Die Gruppe enthält %s Repositorys und kann nicht gelöscht werden"
 

	
 
msgid "This group contains %s subgroups and cannot be deleted"
 
msgstr "Diese Gruppe enthält %s Untergruppen und kann nicht gelöscht werden"
 

	
 
msgid "Removed repository group %s"
 
msgstr "Repositoriumsgruppe %s entfernt"
 

	
 
msgid "Error occurred during deletion of repository group %s"
 
msgstr "Fehler beim Löschen der Repositoriumsgruppe %s"
 

	
 
msgid "Cannot revoke permission for yourself as admin"
 
msgstr "Als Administrator kann man sich keine Berechtigungen entziehen"
 

	
 
msgid "Repository group permissions updated"
 
msgstr "Berechtigungen der Repositoriumsgruppe aktualisiert"
 

	
 
msgid "An error occurred during revoking of permission"
 
msgstr "Fehler beim Entzug der Berechtigungen"
 

	
 
msgid "Error creating repository %s"
 
msgstr "Fehler beim Erstellen des Repositoriums %s"
 

	
 
msgid "Created repository %s from %s"
 
msgstr "Repositorium %s von %s erstellt"
 

	
 
msgid "Forked repository %s as %s"
 
msgstr "Aufgespaltenes Repositorium %s zu %s"
 

	
 
msgid "Created repository %s"
 
msgstr "Repositorium erzeugt %s"
 

	
 
msgid "Repository %s updated successfully"
 
msgstr "Repository %s wurde erfolgreich aktualisiert"
 

	
 
msgid "Error occurred during update of repository %s"
 
msgstr "Fehler bei der Aktualisierung des Repositoriums %s"
 

	
 
@@ -529,48 +526,51 @@ msgstr "Nutzergruppe %s erstellt"
 

	
 
msgid "Error occurred during creation of user group %s"
 
msgstr ""
 
"Es ist ein Fehler während der Erstellung der Nutzergruppe %s aufgetreten"
 

	
 
msgid "Updated user group %s"
 
msgstr "Aktualisierte Nutzergruppe %s"
 

	
 
msgid "Error occurred during update of user group %s"
 
msgstr ""
 
"Während des Updates der Benutzergruppe %s ist ein Fehler aufgetreten"
 

	
 
msgid "Successfully deleted user group"
 
msgstr "Die Nutzergruppe wurde erfolgreich entfernt"
 

	
 
msgid "An error occurred during deletion of user group"
 
msgstr "Während des Löschens der Benutzergruppe ist ein Fehler aufgetreten"
 

	
 
msgid "Target group cannot be the same"
 
msgstr "Zielgruppe kann nicht die gleiche Gruppe sein"
 

	
 
msgid "User group permissions updated"
 
msgstr "Berechtigungen der Benutzergruppe wurden aktualisiert"
 

	
 
msgid "Cannot revoke permission for yourself as admin"
 
msgstr "Als Administrator kann man sich keine Berechtigungen entziehen"
 

	
 
msgid "Updated permissions"
 
msgstr "Berechtigungen wurden aktualisiert"
 

	
 
msgid "An error occurred during permissions saving"
 
msgstr ""
 
"Es ist ein Fehler während des Speicherns der Berechtigungen aufgetreten"
 

	
 
msgid "Created user %s"
 
msgstr "Nutzer %s erstellt"
 

	
 
msgid "Error occurred during creation of user %s"
 
msgstr "Während des Erstellens des Benutzers %s ist ein Fehler aufgetreten"
 

	
 
msgid "User updated successfully"
 
msgstr "Der Benutzer wurde erfolgreich aktualisiert"
 

	
 
msgid "Successfully deleted user"
 
msgstr "Der Nutzer wurde erfolgreich gelöscht"
 

	
 
msgid "An error occurred during deletion of user"
 
msgstr "Während der Löschen des Benutzers trat ein Fehler auf"
 

	
 
msgid "The default user cannot be edited"
 
msgstr "Der Standard-Benutzer kann nicht bearbeitet werden"
kallithea/i18n/el/LC_MESSAGES/kallithea.po
Show inline comments
 
@@ -278,48 +278,54 @@ msgstr "Το αίτημα έλξης έχει ήδη συγχωνευτεί με το %s."
 

	
 
msgid "This pull request has been closed and can not be updated."
 
msgstr "Αυτό το αίτημα έλξης έχει κλείσει και δεν μπορεί να ενημερωθεί."
 

	
 
msgid "The following additional changes are available on %s:"
 
msgstr "Οι επιπλέον ακόλουθες αλλαγές είναι διαθέσιμες στο %s:"
 

	
 
msgid "No additional changesets found for iterating on this pull request."
 
msgstr ""
 
"Δεν βρέθηκαν επιπλέον σετ αλλαγών στην προσέγγιση αυτού του αιτήματος "
 
"έλξης."
 

	
 
msgid "Note: Branch %s has another head: %s."
 
msgstr "Σημείωση: Ο κλάδος %s έχει άλλη κεφαλή (head): %s."
 

	
 
msgid "Git pull requests don't support iterating yet."
 
msgstr "Αιτήματα έλξης του git δεν υποστηρίζουν ακόμα ενημερώσεις."
 

	
 
msgid ""
 
"Error: some changesets not found when displaying pull request from %s."
 
msgstr ""
 
"Σφάλμα: κάποια σετ αλλαγών δεν βρέθηκαν όταν εμφανιζόταν αυτό το αίτημα "
 
"έλξης από το %s."
 

	
 
msgid "%d additional changesets are not shown."
 
msgstr "%d επιπλέον σύνολα αλλαγών δεν εμφανίζονται."
 

	
 
msgid "%d changesets available for merging are not shown."
 
msgstr "%d σύνολα αλλαγών δεν εμφανίζονται για συγχώνευση."
 

	
 
msgid "The diff can't be shown - the PR revisions could not be found."
 
msgstr ""
 
"Οι διαφορές δεν μπορούν να εμφανιστούν - οι αναθεωρήσεις δεν βρέθηκαν."
 

	
 
msgid "Invalid search query. Try quoting it."
 
msgstr "Άκυρο αίτημα αναζήτησης. Δοκιμάστε με εισαγωγικά."
 

	
 
msgid "The server has no search index."
 
msgstr "Ο διακομιστής δεν έχει ευρετήριο αναζήτησης."
 

	
 
msgid "An error occurred during search operation."
 
msgstr "Παρουσιάστηκε σφάλμα κατά τη λειτουργία αναζήτησης."
 

	
 
msgid "No data ready yet"
 
msgstr "Δεν υπάρχουν ακόμα έτοιμα δεδομένα"
 

	
 
msgid "Statistics are disabled for this repository"
 
msgstr "Τα στατιστικά είναι απενεργοποιημένα για αυτό το αποθετήριο"
 

	
 
msgid "Auth settings updated successfully"
 
msgstr "Οι ρυθμίσεις εξουσιοδότησης ενημερώθηκαν επιτυχώς"
 

	
 
msgid "error occurred during update of auth settings"
 
msgstr ""
 
@@ -441,51 +447,48 @@ msgstr "Παρουσιάστηκε σφάλμα κατά την ενημέρωση δικαιωμάτων"
 
msgid "Error occurred during creation of repository group %s"
 
msgstr "Συνέβηκε κάποιο λάθος κατά την δημιουργία της ομάδας αποθετηρίου %s"
 

	
 
msgid "Created repository group %s"
 
msgstr "Δημιουργήθηκε η ομάδα αποθετηρίου %s"
 

	
 
msgid "Updated repository group %s"
 
msgstr "Ενημερώθηκε η ομάδα αποθετηρίου %s"
 

	
 
msgid "Error occurred during update of repository group %s"
 
msgstr "Παρουσιάστηκε σφάλμα κατά την ενημέρωση της ομάδας αποθετηρίων %s"
 

	
 
msgid "This group contains %s repositories and cannot be deleted"
 
msgstr "Αυτή η ομάδα περιέχει %s αποθετήρια και δε μπορεί να διαγραφεί"
 

	
 
msgid "This group contains %s subgroups and cannot be deleted"
 
msgstr "Αυτή η ομάδα περιέχει %s υποομάδες και δε μπορεί να διαγραφεί"
 

	
 
msgid "Removed repository group %s"
 
msgstr "Αφαιρέθηκε η ομάδα αποθετηρίου %s"
 

	
 
msgid "Error occurred during deletion of repository group %s"
 
msgstr "Παρουσιάστηκε σφάλμα κατά τη διαγραφή της ομάδας αποθετηρίων %s"
 

	
 
msgid "Cannot revoke permission for yourself as admin"
 
msgstr "Δεν μπορείτε να ανακαλέσετε την άδεια σας ως διαχειριστής"
 

	
 
msgid "Repository group permissions updated"
 
msgstr "Τα δικαιώματα της ομάδας αποθετηρίου ενημερώθηκαν"
 

	
 
msgid "An error occurred during revoking of permission"
 
msgstr "Παρουσιάστηκε σφάλμα κατά την ανάκληση του δικαιώματος"
 

	
 
msgid "Error creating repository %s"
 
msgstr "Σφάλμα κατά τη δημιουργία αποθετηρίου %s"
 

	
 
msgid "Created repository %s from %s"
 
msgstr "Δημιουργήθηκε το αποθετήριο %s από το %s"
 

	
 
msgid "Forked repository %s as %s"
 
msgstr "Κλωνοποιήθηκε το αποθετηρίο %s ως %s"
 

	
 
msgid "Created repository %s"
 
msgstr "Δημιουργήθηκε το αποθετήριο %s"
 

	
 
msgid "Repository %s updated successfully"
 
msgstr "Το αποθετήριο %s ενημερώθηκε επιτυχώς"
 

	
 
msgid "Error occurred during update of repository %s"
 
msgstr "Παρουσιάστηκε σφάλμα κατά την ενημέρωση του αποθετηρίου %s"
 

	
 
@@ -599,48 +602,51 @@ msgstr "Προγραμματίστηκε η αναδημιουργία ευρετηρίου για το Whoosh"
 
msgid "Created user group %s"
 
msgstr "Δημιουργήθηκε η ομάδα χρηστών %s"
 

	
 
msgid "Error occurred during creation of user group %s"
 
msgstr "Παρουσιάστηκε σφάλμα κατά τη δημιουργία της ομάδας χρηστών %s"
 

	
 
msgid "Updated user group %s"
 
msgstr "Ενημερώθηκε η ομάδα χρηστών %s"
 

	
 
msgid "Error occurred during update of user group %s"
 
msgstr "Παρουσιάστηκε σφάλμα κατά την ενημέρωση της ομάδας χρηστών %s"
 

	
 
msgid "Successfully deleted user group"
 
msgstr "Η ομάδα χρηστών διαγράφηκε επιτυχώς"
 

	
 
msgid "An error occurred during deletion of user group"
 
msgstr "Παρουσιάστηκε σφάλμα κατά την διαγραφή της ομάδας χρηστών"
 

	
 
msgid "Target group cannot be the same"
 
msgstr "Η ομάδα προορισμός δεν μπορεί να είναι η ίδια"
 

	
 
msgid "User group permissions updated"
 
msgstr "Τα δικαιώματα της ομάδας χρηστών ενημερώθηκαν"
 

	
 
msgid "Cannot revoke permission for yourself as admin"
 
msgstr "Δεν μπορείτε να ανακαλέσετε την άδεια σας ως διαχειριστής"
 

	
 
msgid "Updated permissions"
 
msgstr "Τα δικαιώματα ενημερώθηκαν"
 

	
 
msgid "An error occurred during permissions saving"
 
msgstr "Παρουσιάστηκε σφάλμα κατά την αποθήκευση των δικαιωμάτων"
 

	
 
msgid "Created user %s"
 
msgstr "Δημιουργήθηκε ο χρήστης %s"
 

	
 
msgid "Error occurred during creation of user %s"
 
msgstr "Παρουσιάστηκε σφάλμα κατά την δημιουργία του χρήστη %s"
 

	
 
msgid "User updated successfully"
 
msgstr "Ο χρήστης ενημερώθηκε επιτυχώς"
 

	
 
msgid "Successfully deleted user"
 
msgstr "Ο χρήστης διαγράφηκε επιτυχώς"
 

	
 
msgid "An error occurred during deletion of user"
 
msgstr "Παρουσιάστηκε σφάλμα κατά τη διαγραφή του χρήστη"
 

	
 
msgid "The default user cannot be edited"
 
msgstr "Δεν μπορεί να γίνει επεξεργασία στον προεπιλεγμένο χρήστη"
 

	
 
@@ -2080,48 +2086,64 @@ msgstr "Τα επιπλέον πεδία είναι απενεργοποιημένα."
 
msgid "Private Repository"
 
msgstr "Ιδιωτικό Αποθετήριο"
 

	
 
msgid "Fork of repository"
 
msgstr "Κλώνος αποθετηρίου"
 

	
 
msgid "Remote repository URL"
 
msgstr "Διεύθυνση URL απομακρυσμένου αποθετηρίου"
 

	
 
msgid "Pull Changes from Remote Repository"
 
msgstr "Τραβήξτε τις αλλαγές από το απομακρυσμένο αποθετήριο"
 

	
 
msgid "Confirm to pull changes from remote repository."
 
msgstr ""
 
"Επιβεβαιώστε ότι θα τραβήξετε αλλαγές από το απομακρυσμένο αποθετήριο "
 
"δεδομένων."
 

	
 
msgid "This repository does not have a remote repository URL."
 
msgstr ""
 
"Αυτό το αποθετήριο δεν έχει διεύθυνση URL απομακρυσμένου αποθετηρίου."
 

	
 
msgid "Permanent URL"
 
msgstr "Μόνιμη διεύθυνση URL"
 

	
 
msgid ""
 
"In case this repository is renamed or moved into another group the "
 
"repository URL changes.\n"
 
"                           Using the above permanent URL guarantees that "
 
"this repository always will be accessible on that URL.\n"
 
"                           This is useful for CI systems, or any other "
 
"cases that you need to hardcode the URL into a 3rd party service."
 
msgstr ""
 
"Σε περίπτωση που αυτό το αποθετήριο μετονομαστεί ή μετακινηθεί σε άλλη "
 
"ομάδα, η διεύθυνση URL του αποθετηρίου αλλάζει.\n"
 
"Χρησιμοποιώντας την παραπάνω μόνιμη διεύθυνση URL εξασφαλίζετε ότι αυτό "
 
"το αποθετήριο θα είναι πάντα προσβάσιμο σε εκείνη τη διεύθυνση.\n"
 
"Αυτό είναι χρήσιμο για συστήματα CI ή οποιεσδήποτε άλλες περιπτώσεις που "
 
"χρειάζεστε να ενσωματώσετε σκληρή κωδικοποίηση της διεύθυνσης URL σε "
 
"υπηρεσία τρίτου."
 

	
 
msgid "Remote repository"
 
msgstr "Απομακρυσμένο αποθετήριο"
 

	
 
msgid ""
 
"Optional: URL of a remote repository. If set, the repository can be "
 
"pulled from this URL."
 
msgstr ""
 
"Προαιρετικό: Διεύθυνση URL ενός απομακρυσμένου αποθετηρίου. Εάν οριστεί, "
 
"το αποθετήριο μπορεί να τραβηχτεί από αυτήν τη διεύθυνση URL."
 

	
 
msgid "Change owner of this repository."
 
msgstr "Αλλάξτε τον κάτοχο αυτού του αποθετηρίου."
 

	
 
msgid "Processed commits"
 
msgstr "Επεξεργασμένα commits"
 

	
 
msgid "Processed progress"
 
msgstr "Επεξεργασμένη πρόοδος"
 

	
 
msgid "Reset Statistics"
 
msgstr "Επαναφορά Στατιστικών"
 

	
 
msgid "Confirm to remove current statistics."
 
msgstr "Επιβεβαιώστε την κατάργηση των τρεχόντων στατιστικών στοιχείων."
 
@@ -2181,79 +2203,111 @@ msgstr ""
 
"HTML (ενδεχομένως με JavaScript ή / και CSS) που θα προστεθούν στο κάτω "
 
"μέρος της κάθε σελίδας. Αυτό μπορεί να χρησιμοποιηθεί για web analytics, "
 
"αλλά και για την προσαρμογή της εμφάνισης, όπως η προσθήκη ενός banner "
 
"στο επάνω μέρος κάθε σελίδας."
 

	
 
msgid "ReCaptcha public key"
 
msgstr "Δημόσιο κλειδί ReCaptcha"
 

	
 
msgid "Public key for reCaptcha system."
 
msgstr "Δημόσιο κλειδί για το σύστημα reCaptcha."
 

	
 
msgid "ReCaptcha private key"
 
msgstr "Ιδιωτικό κλειδί ReCaptcha"
 

	
 
msgid ""
 
"Private key for reCaptcha system. Setting this value will enable captcha "
 
"on registration."
 
msgstr ""
 
"Ιδιωτικό κλειδί για το σύστημα reCaptcha. Ο καθορισμός αυτής της τιμής θα "
 
"ενεργοποιήσει το captcha κατά την εγγραφή."
 

	
 
msgid "Save Settings"
 
msgstr "Αποθήκευση Ρυθμίσεων"
 

	
 
msgid "Custom Global Mercurial Hooks"
 
msgstr "Προσαρμοσμένα Παγκόσμια Αγκίστρια Mercurial"
 

	
 
msgid ""
 
"Hooks can be used to trigger actions on certain events such as push / "
 
"pull. They can trigger Python functions or external applications."
 
msgstr ""
 
"Τα αγκίστρια μπορούν να χρησιμοποιηθούν για να ενεργοποιήσουν ενέργειες "
 
"σε συγκεκριμένα γεγονότα, όπως το push / pull. Μπορούν να ενεργοποιήσουν "
 
"συναρτήσεις Python ή εξωτερικές εφαρμογές."
 

	
 
msgid "Git Hooks"
 
msgstr "Άγκιστρα Git"
 

	
 
msgid ""
 
"Kallithea has no support for custom Git hooks. Kallithea will use Git "
 
"post-receive hooks internally. Installation of these hooks is managed in "
 
"%s."
 
msgstr ""
 
"Η Καλλιθέα δεν υποστηρίζει προσαρμοσμένα αγκίστρια Git. Η Καλλιθέα θα "
 
"χρησιμοποιήσει αγκίστρια μετά την αποστολή (post-receive hooks) του Git "
 
"εσωτερικά. Η εγκατάσταση αυτών των αγκιστριών διαχειρίζεται στο %s."
 

	
 
msgid "Custom Hooks are not enabled"
 
msgstr "Τα προσαρμοσμένα άγκιστρα δεν είναι ενεργά"
 

	
 
msgid "Failed to remove hook"
 
msgstr "Απέτυχε η αφαίρεση γάντζου"
 

	
 
msgid "Rescan options"
 
msgstr "Επιλογές Επανασάρωσης"
 

	
 
msgid "Delete records of missing repositories"
 
msgstr "Διαγραφή εγγραφών αποθετηρίων που λείπουν"
 

	
 
msgid ""
 
"Check this option to remove all comments, pull requests and other records "
 
"related to repositories that no longer exist in the filesystem."
 
msgstr ""
 
"Επιλέξτε αυτήν την επιλογή για να καταργήσετε όλα τα σχόλια, να αιτήματα "
 
"έλξης και άλλες εγγραφές που σχετίζονται με αποθετήρια που δεν υπάρχουν "
 
"πλέον στο σύστημα αρχείων."
 

	
 
msgid "Invalidate cache for all repositories"
 
msgstr "Ακυρώνει την προσωρινή αποθήκευση για όλα τα αποθετήρια"
 

	
 
msgid "Check this to reload data and clear cache keys for all repositories."
 
msgstr ""
 
"Επιλέξτε αυτό για να φορτώσετε ξανά τα δεδομένα και να καταργήστε την "
 
"cache για όλα τα αποθετήρια."
 

	
 
msgid "Install Git hooks"
 
msgstr "Εγκατάσταση Git hooks"
 

	
 
msgid ""
 
"Install Kallithea's internal hooks for all Git repositories where they "
 
"are missing or can be upgraded. Existing hooks that don't seem to come "
 
"from Kallithea will not be touched."
 
msgstr ""
 
"Εγκατάσταση των εσωτερικών αγκιστριών της Καλλιθέας για όλα τα αποθετήρια "
 
"Git όπου αυτά λείπουν ή μπορούν να αναβαθμιστούν. Τα υπάρχοντα αγκίστρια "
 
"που δεν φαίνεται να προέρχονται από την Καλλιθέα δεν θα αλλάξουνε."
 

	
 
msgid "Install and overwrite Git hooks"
 
msgstr "Εγκατάσταση και επανεγγραφή Git hooks"
 

	
 
msgid ""
 
"Install Kallithea's internal hooks for all Git repositories. Existing "
 
"hooks that don't seem to come from Kallithea will be disabled by renaming "
 
"to .bak extension."
 
msgstr ""
 
"Εγκαταστήστε τα εσωτερικά hooks της Kallithea για όλα τα αποθετήρια Git. "
 
"Τα υπάρχοντα hooks που δεν φαίνεται να προέρχονται από την Kallithea θα "
 
"απενεργοποιηθούν με τη μετονομασία σε επέκταση .bak."
 

	
 
msgid "Rescan Repositories"
 
msgstr "Επανασάρωση αποθετηρίων"
 

	
 
msgid "Index build option"
 
msgstr "Επιλογή δημιουργίας ευρετηρίου"
 

	
 
msgid "Build from scratch"
 
msgstr "Κατασκευή από το μηδέν"
 

	
 
msgid ""
 
"This option completely reindexes all of the repositories for proper "
 
"fulltext search capabilities."
 
@@ -2267,48 +2321,51 @@ msgstr "Αναδημιουργία ευρετηρίου"
 
msgid "Checking for updates..."
 
msgstr "Έλεγχος για ενημερώσεις..."
 

	
 
msgid "Kallithea version"
 
msgstr "Έκδοση Καλλιθέας"
 

	
 
msgid "Kallithea configuration file"
 
msgstr "Αρχείο διαμόρφωσης Καλλιθέας"
 

	
 
msgid "Python version"
 
msgstr "Έκδοση Python"
 

	
 
msgid "Platform"
 
msgstr "Πλατφόρμα"
 

	
 
msgid "Git version"
 
msgstr "Έκδοση Git"
 

	
 
msgid "Git path"
 
msgstr "Διαδρομή Git"
 

	
 
msgid "Python Packages"
 
msgstr "Πακέτα Python"
 

	
 
msgid "Mercurial Push Hooks"
 
msgstr "Αγκίστρια Αποστολής (Push Hooks) του Mercurial"
 

	
 
msgid "Show repository size after push"
 
msgstr "Εμφάνιση μεγέθους αποθετηρίου μετά την ώθηση"
 

	
 
msgid "Update repository after push (hg update)"
 
msgstr "Ενημέρωση αποθετηρίου μετά την ώθηση (hg update)"
 

	
 
msgid "Mercurial extensions"
 
msgstr "Επεκτάσεις Mercurial"
 

	
 
msgid "Enable largefiles extension"
 
msgstr "Ενεργοποίηση επέκτασης μεγάλων αρχείων"
 

	
 
msgid "Location of repositories"
 
msgstr "Τοποθεσία αποθετηρίων"
 

	
 
msgid ""
 
"Click to unlock. You must restart Kallithea in order to make this setting "
 
"take effect."
 
msgstr ""
 
"Κάντε κλικ για να ξεκλειδώσετε. Πρέπει να επανεκκινήσετε την Καλλιθέα για "
 
"να εφαρμοστεί αυτή η ρύθμιση."
 

	
 
msgid ""
 
"Filesystem location where repositories are stored. After changing this "
 
@@ -3689,26 +3746,29 @@ msgstr "Λήψη ως zip"
 
msgid "Check this to download archive with subrepos"
 
msgstr "Επιλέξτε αυτό για τη λήψη του αρχείου με τα υπο-αποθετήρια"
 

	
 
msgid "With subrepos"
 
msgstr "Με υπο-αποθετήρια"
 

	
 
msgid "Feed"
 
msgstr "Ροή"
 

	
 
msgid "Latest Changes"
 
msgstr "Τελευταίες Αλλαγές"
 

	
 
msgid "Quick Start"
 
msgstr "Γρήγορη Εκκίνηση"
 

	
 
msgid "Add or upload files directly via Kallithea"
 
msgstr "Προσθέστε ή ανεβάστε αρχεία απευθείας μέσω Καλλιθέας"
 

	
 
msgid "Push new repository"
 
msgstr "Ώθηση νέου αποθετηρίου"
 

	
 
msgid "Existing repository?"
 
msgstr "Υπάρχον αποθετήριο;"
 

	
 
msgid "Readme file from %s"
 
msgstr "Αρχείο README από το %s"
 

	
 
msgid "Download %s as %s"
 
msgstr "Λήψη %s ως %s"

Changeset was too big and was cut off... Show full diff anyway

0 comments (0 inline, 0 general)