You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ma...@apache.org on 2021/03/14 19:16:21 UTC

[archiva-web-content] branch master updated: Changing swagger ui versions for REST api documentation

This is an automated email from the ASF dual-hosted git repository.

martin_s pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/archiva-web-content.git


The following commit(s) were added to refs/heads/master by this push:
     new ae10590  Changing swagger ui versions for REST api documentation
ae10590 is described below

commit ae10590e1e6ab318f746cf73b61615520c334109
Author: Martin Stockhammer <ma...@apache.org>
AuthorDate: Sun Mar 14 20:15:54 2021 +0100

    Changing swagger ui versions for REST api documentation
---
 .../rest-docs-archiva-rest-api/ui/css/print.css    |  1173 +-
 .../rest-docs-archiva-rest-api/ui/css/reset.css    |   126 +-
 .../rest-docs-archiva-rest-api/ui/css/screen.css   |  1280 +-
 .../rest-docs-archiva-rest-api/ui/css/style.css    |   251 +-
 .../ui/css/typography.css                          |    26 -
 .../ui/fonts/DroidSans-Bold.ttf                    |   Bin 0 -> 42480 bytes
 .../ui/fonts/DroidSans.ttf                         |   Bin 0 -> 41028 bytes
 .../ui/images/collapse.gif                         |   Bin 0 -> 69 bytes
 .../ui/images/expand.gif                           |   Bin 0 -> 73 bytes
 .../ui/images/explorer_icons.png                   |   Bin 5763 -> 5115 bytes
 .../ui/images/favicon-16x16.png                    |   Bin 645 -> 445 bytes
 .../ui/images/favicon-32x32.png                    |   Bin 1654 -> 1141 bytes
 .../ui/images/logo_small.png                       |   Bin 770 -> 455 bytes
 .../ui/images/pet_store_api.png                    |   Bin 824 -> 631 bytes
 .../ui/images/wordnik_api.png                      |   Bin 980 -> 670 bytes
 .../2.2.1/rest-docs-archiva-rest-api/ui/index.html |    71 +-
 .../2.2.1/rest-docs-archiva-rest-api/ui/lang/ca.js |    53 +
 .../2.2.1/rest-docs-archiva-rest-api/ui/lang/el.js |    56 +
 .../2.2.1/rest-docs-archiva-rest-api/ui/lang/en.js |     5 +-
 .../2.2.1/rest-docs-archiva-rest-api/ui/lang/es.js |     3 +-
 .../2.2.1/rest-docs-archiva-rest-api/ui/lang/fr.js |    54 +
 .../rest-docs-archiva-rest-api/ui/lang/geo.js      |    56 +
 .../2.2.1/rest-docs-archiva-rest-api/ui/lang/it.js |    52 +
 .../2.2.1/rest-docs-archiva-rest-api/ui/lang/ja.js |    56 +
 .../rest-docs-archiva-rest-api/ui/lang/ko-kr.js    |    53 +
 .../2.2.1/rest-docs-archiva-rest-api/ui/lang/pl.js |    53 +
 .../2.2.1/rest-docs-archiva-rest-api/ui/lang/pt.js |     2 +-
 .../2.2.1/rest-docs-archiva-rest-api/ui/lang/ru.js |    14 +-
 .../2.2.1/rest-docs-archiva-rest-api/ui/lang/tr.js |    53 +
 .../ui/lang/translator.js                          |     4 +-
 .../rest-docs-archiva-rest-api/ui/lang/zh-cn.js    |    56 +
 .../ui/lib/backbone-min.js                         |    16 +-
 .../rest-docs-archiva-rest-api/ui/lib/es5-shim.js  |     1 +
 .../ui/lib/handlebars-4.0.5.js                     |     3 +
 .../ui/lib/highlight.9.1.0.pack.js                 |     1 +
 .../ui/lib/highlight.9.1.0.pack_extended.js        |     1 +
 .../ui/lib/jquery-1.8.0.min.js                     |     5 +-
 .../ui/lib/jquery.ba-bbq.min.js                    |    19 +-
 .../ui/lib/jquery.slideto.min.js                   |     2 +-
 .../ui/lib/jquery.wiggle.min.js                    |     9 +-
 .../ui/lib/js-yaml.min.js                          |     2 +
 .../ui/lib/jsoneditor.min.js                       |     5 +
 .../ui/lib/lodash.min.js                           |     2 +
 .../rest-docs-archiva-rest-api/ui/lib/marked.js    |  1273 +-
 .../ui/lib/object-assign-pollyfill.js              |     1 +
 .../ui/lib/sanitize-html.min.js                    |     4 +
 .../ui/lib/swagger-oauth.js                        |   291 +-
 docs/2.2.1/rest-docs-archiva-rest-api/ui/o2c.html  |     6 +-
 .../rest-docs-archiva-rest-api/ui/swagger-ui.js    | 48941 ++++++++-----------
 .../ui/swagger-ui.min.js                           |    29 +-
 docs/2.2.1/rest-docs-archiva-ui/ui/css/print.css   |  1173 +-
 docs/2.2.1/rest-docs-archiva-ui/ui/css/reset.css   |   126 +-
 docs/2.2.1/rest-docs-archiva-ui/ui/css/screen.css  |  1280 +-
 docs/2.2.1/rest-docs-archiva-ui/ui/css/style.css   |   251 +-
 .../rest-docs-archiva-ui/ui/css/typography.css     |    26 -
 .../ui/fonts/DroidSans-Bold.ttf                    |   Bin 0 -> 42480 bytes
 .../rest-docs-archiva-ui/ui/fonts/DroidSans.ttf    |   Bin 0 -> 41028 bytes
 .../rest-docs-archiva-ui/ui/images/collapse.gif    |   Bin 0 -> 69 bytes
 .../rest-docs-archiva-ui/ui/images/expand.gif      |   Bin 0 -> 73 bytes
 .../ui/images/explorer_icons.png                   |   Bin 5763 -> 5115 bytes
 .../ui/images/favicon-16x16.png                    |   Bin 645 -> 445 bytes
 .../ui/images/favicon-32x32.png                    |   Bin 1654 -> 1141 bytes
 .../rest-docs-archiva-ui/ui/images/logo_small.png  |   Bin 770 -> 455 bytes
 .../ui/images/pet_store_api.png                    |   Bin 824 -> 631 bytes
 .../rest-docs-archiva-ui/ui/images/wordnik_api.png |   Bin 980 -> 670 bytes
 docs/2.2.1/rest-docs-archiva-ui/ui/index.html      |    71 +-
 docs/2.2.1/rest-docs-archiva-ui/ui/lang/ca.js      |    53 +
 docs/2.2.1/rest-docs-archiva-ui/ui/lang/el.js      |    56 +
 docs/2.2.1/rest-docs-archiva-ui/ui/lang/en.js      |     5 +-
 docs/2.2.1/rest-docs-archiva-ui/ui/lang/es.js      |     3 +-
 docs/2.2.1/rest-docs-archiva-ui/ui/lang/fr.js      |    54 +
 docs/2.2.1/rest-docs-archiva-ui/ui/lang/geo.js     |    56 +
 docs/2.2.1/rest-docs-archiva-ui/ui/lang/it.js      |    52 +
 docs/2.2.1/rest-docs-archiva-ui/ui/lang/ja.js      |    56 +
 docs/2.2.1/rest-docs-archiva-ui/ui/lang/ko-kr.js   |    53 +
 docs/2.2.1/rest-docs-archiva-ui/ui/lang/pl.js      |    53 +
 docs/2.2.1/rest-docs-archiva-ui/ui/lang/pt.js      |     2 +-
 docs/2.2.1/rest-docs-archiva-ui/ui/lang/ru.js      |    14 +-
 docs/2.2.1/rest-docs-archiva-ui/ui/lang/tr.js      |    53 +
 .../rest-docs-archiva-ui/ui/lang/translator.js     |     4 +-
 docs/2.2.1/rest-docs-archiva-ui/ui/lang/zh-cn.js   |    56 +
 .../rest-docs-archiva-ui/ui/lib/backbone-min.js    |    16 +-
 docs/2.2.1/rest-docs-archiva-ui/ui/lib/es5-shim.js |     1 +
 .../ui/lib/handlebars-4.0.5.js                     |     3 +
 .../ui/lib/highlight.9.1.0.pack.js                 |     1 +
 .../ui/lib/highlight.9.1.0.pack_extended.js        |     1 +
 .../ui/lib/jquery-1.8.0.min.js                     |     5 +-
 .../ui/lib/jquery.ba-bbq.min.js                    |    19 +-
 .../ui/lib/jquery.slideto.min.js                   |     2 +-
 .../ui/lib/jquery.wiggle.min.js                    |     9 +-
 .../rest-docs-archiva-ui/ui/lib/js-yaml.min.js     |     2 +
 .../rest-docs-archiva-ui/ui/lib/jsoneditor.min.js  |     5 +
 .../rest-docs-archiva-ui/ui/lib/lodash.min.js      |     2 +
 docs/2.2.1/rest-docs-archiva-ui/ui/lib/marked.js   |  1273 +-
 .../ui/lib/object-assign-pollyfill.js              |     1 +
 .../ui/lib/sanitize-html.min.js                    |     4 +
 .../rest-docs-archiva-ui/ui/lib/swagger-oauth.js   |   291 +-
 docs/2.2.1/rest-docs-archiva-ui/ui/o2c.html        |     6 +-
 docs/2.2.1/rest-docs-archiva-ui/ui/swagger-ui.js   | 48941 ++++++++-----------
 .../rest-docs-archiva-ui/ui/swagger-ui.min.js      |    29 +-
 .../rest-docs-redback-rest-api/ui/css/print.css    |  1173 +-
 .../rest-docs-redback-rest-api/ui/css/reset.css    |   126 +-
 .../rest-docs-redback-rest-api/ui/css/screen.css   |  1280 +-
 .../rest-docs-redback-rest-api/ui/css/style.css    |   251 +-
 .../ui/css/typography.css                          |    26 -
 .../ui/fonts/DroidSans-Bold.ttf                    |   Bin 0 -> 42480 bytes
 .../ui/fonts/DroidSans.ttf                         |   Bin 0 -> 41028 bytes
 .../ui/images/collapse.gif                         |   Bin 0 -> 69 bytes
 .../ui/images/expand.gif                           |   Bin 0 -> 73 bytes
 .../ui/images/explorer_icons.png                   |   Bin 5763 -> 5115 bytes
 .../ui/images/favicon-16x16.png                    |   Bin 645 -> 445 bytes
 .../ui/images/favicon-32x32.png                    |   Bin 1654 -> 1141 bytes
 .../ui/images/logo_small.png                       |   Bin 770 -> 455 bytes
 .../ui/images/pet_store_api.png                    |   Bin 824 -> 631 bytes
 .../ui/images/wordnik_api.png                      |   Bin 980 -> 670 bytes
 .../2.2.1/rest-docs-redback-rest-api/ui/index.html |    71 +-
 .../2.2.1/rest-docs-redback-rest-api/ui/lang/ca.js |    53 +
 .../2.2.1/rest-docs-redback-rest-api/ui/lang/el.js |    56 +
 .../2.2.1/rest-docs-redback-rest-api/ui/lang/en.js |     5 +-
 .../2.2.1/rest-docs-redback-rest-api/ui/lang/es.js |     3 +-
 .../2.2.1/rest-docs-redback-rest-api/ui/lang/fr.js |    54 +
 .../rest-docs-redback-rest-api/ui/lang/geo.js      |    56 +
 .../2.2.1/rest-docs-redback-rest-api/ui/lang/it.js |    52 +
 .../2.2.1/rest-docs-redback-rest-api/ui/lang/ja.js |    56 +
 .../rest-docs-redback-rest-api/ui/lang/ko-kr.js    |    53 +
 .../2.2.1/rest-docs-redback-rest-api/ui/lang/pl.js |    53 +
 .../2.2.1/rest-docs-redback-rest-api/ui/lang/pt.js |     2 +-
 .../2.2.1/rest-docs-redback-rest-api/ui/lang/ru.js |    14 +-
 .../2.2.1/rest-docs-redback-rest-api/ui/lang/tr.js |    53 +
 .../ui/lang/translator.js                          |     4 +-
 .../rest-docs-redback-rest-api/ui/lang/zh-cn.js    |    56 +
 .../ui/lib/backbone-min.js                         |    16 +-
 .../rest-docs-redback-rest-api/ui/lib/es5-shim.js  |     1 +
 .../ui/lib/handlebars-4.0.5.js                     |     3 +
 .../ui/lib/highlight.9.1.0.pack.js                 |     1 +
 .../ui/lib/highlight.9.1.0.pack_extended.js        |     1 +
 .../ui/lib/jquery-1.8.0.min.js                     |     5 +-
 .../ui/lib/jquery.ba-bbq.min.js                    |    19 +-
 .../ui/lib/jquery.slideto.min.js                   |     2 +-
 .../ui/lib/jquery.wiggle.min.js                    |     9 +-
 .../ui/lib/js-yaml.min.js                          |     2 +
 .../ui/lib/jsoneditor.min.js                       |     5 +
 .../ui/lib/lodash.min.js                           |     2 +
 .../rest-docs-redback-rest-api/ui/lib/marked.js    |  1273 +-
 .../ui/lib/object-assign-pollyfill.js              |     1 +
 .../ui/lib/sanitize-html.min.js                    |     4 +
 .../ui/lib/swagger-oauth.js                        |   291 +-
 docs/2.2.1/rest-docs-redback-rest-api/ui/o2c.html  |     6 +-
 .../rest-docs-redback-rest-api/ui/swagger-ui.js    | 48941 ++++++++-----------
 .../ui/swagger-ui.min.js                           |    29 +-
 .../rest-docs-archiva-rest-api/ui/css/print.css    |  1173 +-
 .../rest-docs-archiva-rest-api/ui/css/reset.css    |   126 +-
 .../rest-docs-archiva-rest-api/ui/css/screen.css   |  1280 +-
 .../rest-docs-archiva-rest-api/ui/css/style.css    |   251 +-
 .../ui/css/typography.css                          |    26 -
 .../ui/fonts/DroidSans-Bold.ttf                    |   Bin 0 -> 42480 bytes
 .../ui/fonts/DroidSans.ttf                         |   Bin 0 -> 41028 bytes
 .../ui/images/collapse.gif                         |   Bin 0 -> 69 bytes
 .../ui/images/expand.gif                           |   Bin 0 -> 73 bytes
 .../ui/images/explorer_icons.png                   |   Bin 5763 -> 5115 bytes
 .../ui/images/favicon-16x16.png                    |   Bin 645 -> 445 bytes
 .../ui/images/favicon-32x32.png                    |   Bin 1654 -> 1141 bytes
 .../ui/images/logo_small.png                       |   Bin 770 -> 455 bytes
 .../ui/images/pet_store_api.png                    |   Bin 824 -> 631 bytes
 .../ui/images/wordnik_api.png                      |   Bin 980 -> 670 bytes
 .../2.2.3/rest-docs-archiva-rest-api/ui/index.html |    71 +-
 .../2.2.3/rest-docs-archiva-rest-api/ui/lang/ca.js |    53 +
 .../2.2.3/rest-docs-archiva-rest-api/ui/lang/el.js |    56 +
 .../2.2.3/rest-docs-archiva-rest-api/ui/lang/en.js |     5 +-
 .../2.2.3/rest-docs-archiva-rest-api/ui/lang/es.js |     3 +-
 .../2.2.3/rest-docs-archiva-rest-api/ui/lang/fr.js |    54 +
 .../rest-docs-archiva-rest-api/ui/lang/geo.js      |    56 +
 .../2.2.3/rest-docs-archiva-rest-api/ui/lang/it.js |    52 +
 .../2.2.3/rest-docs-archiva-rest-api/ui/lang/ja.js |    56 +
 .../rest-docs-archiva-rest-api/ui/lang/ko-kr.js    |    53 +
 .../2.2.3/rest-docs-archiva-rest-api/ui/lang/pl.js |    53 +
 .../2.2.3/rest-docs-archiva-rest-api/ui/lang/pt.js |     2 +-
 .../2.2.3/rest-docs-archiva-rest-api/ui/lang/ru.js |    14 +-
 .../2.2.3/rest-docs-archiva-rest-api/ui/lang/tr.js |    53 +
 .../ui/lang/translator.js                          |     4 +-
 .../rest-docs-archiva-rest-api/ui/lang/zh-cn.js    |    56 +
 .../ui/lib/backbone-min.js                         |    16 +-
 .../rest-docs-archiva-rest-api/ui/lib/es5-shim.js  |     1 +
 .../ui/lib/handlebars-4.0.5.js                     |     3 +
 .../ui/lib/highlight.9.1.0.pack.js                 |     1 +
 .../ui/lib/highlight.9.1.0.pack_extended.js        |     1 +
 .../ui/lib/jquery-1.8.0.min.js                     |     5 +-
 .../ui/lib/jquery.ba-bbq.min.js                    |    19 +-
 .../ui/lib/jquery.slideto.min.js                   |     2 +-
 .../ui/lib/jquery.wiggle.min.js                    |     9 +-
 .../ui/lib/js-yaml.min.js                          |     2 +
 .../ui/lib/jsoneditor.min.js                       |     5 +
 .../ui/lib/lodash.min.js                           |     2 +
 .../rest-docs-archiva-rest-api/ui/lib/marked.js    |  1273 +-
 .../ui/lib/object-assign-pollyfill.js              |     1 +
 .../ui/lib/sanitize-html.min.js                    |     4 +
 .../ui/lib/swagger-oauth.js                        |   291 +-
 docs/2.2.3/rest-docs-archiva-rest-api/ui/o2c.html  |     6 +-
 .../rest-docs-archiva-rest-api/ui/swagger-ui.js    | 48941 ++++++++-----------
 .../ui/swagger-ui.min.js                           |    29 +-
 docs/2.2.3/rest-docs-archiva-ui/ui/css/print.css   |  1173 +-
 docs/2.2.3/rest-docs-archiva-ui/ui/css/reset.css   |   126 +-
 docs/2.2.3/rest-docs-archiva-ui/ui/css/screen.css  |  1280 +-
 docs/2.2.3/rest-docs-archiva-ui/ui/css/style.css   |   251 +-
 .../rest-docs-archiva-ui/ui/css/typography.css     |    26 -
 .../ui/fonts/DroidSans-Bold.ttf                    |   Bin 0 -> 42480 bytes
 .../rest-docs-archiva-ui/ui/fonts/DroidSans.ttf    |   Bin 0 -> 41028 bytes
 .../rest-docs-archiva-ui/ui/images/collapse.gif    |   Bin 0 -> 69 bytes
 .../rest-docs-archiva-ui/ui/images/expand.gif      |   Bin 0 -> 73 bytes
 .../ui/images/explorer_icons.png                   |   Bin 5763 -> 5115 bytes
 .../ui/images/favicon-16x16.png                    |   Bin 645 -> 445 bytes
 .../ui/images/favicon-32x32.png                    |   Bin 1654 -> 1141 bytes
 .../rest-docs-archiva-ui/ui/images/logo_small.png  |   Bin 770 -> 455 bytes
 .../ui/images/pet_store_api.png                    |   Bin 824 -> 631 bytes
 .../rest-docs-archiva-ui/ui/images/wordnik_api.png |   Bin 980 -> 670 bytes
 docs/2.2.3/rest-docs-archiva-ui/ui/index.html      |    71 +-
 docs/2.2.3/rest-docs-archiva-ui/ui/lang/ca.js      |    53 +
 docs/2.2.3/rest-docs-archiva-ui/ui/lang/el.js      |    56 +
 docs/2.2.3/rest-docs-archiva-ui/ui/lang/en.js      |     5 +-
 docs/2.2.3/rest-docs-archiva-ui/ui/lang/es.js      |     3 +-
 docs/2.2.3/rest-docs-archiva-ui/ui/lang/fr.js      |    54 +
 docs/2.2.3/rest-docs-archiva-ui/ui/lang/geo.js     |    56 +
 docs/2.2.3/rest-docs-archiva-ui/ui/lang/it.js      |    52 +
 docs/2.2.3/rest-docs-archiva-ui/ui/lang/ja.js      |    56 +
 docs/2.2.3/rest-docs-archiva-ui/ui/lang/ko-kr.js   |    53 +
 docs/2.2.3/rest-docs-archiva-ui/ui/lang/pl.js      |    53 +
 docs/2.2.3/rest-docs-archiva-ui/ui/lang/pt.js      |     2 +-
 docs/2.2.3/rest-docs-archiva-ui/ui/lang/ru.js      |    14 +-
 docs/2.2.3/rest-docs-archiva-ui/ui/lang/tr.js      |    53 +
 .../rest-docs-archiva-ui/ui/lang/translator.js     |     4 +-
 docs/2.2.3/rest-docs-archiva-ui/ui/lang/zh-cn.js   |    56 +
 .../rest-docs-archiva-ui/ui/lib/backbone-min.js    |    16 +-
 docs/2.2.3/rest-docs-archiva-ui/ui/lib/es5-shim.js |     1 +
 .../ui/lib/handlebars-4.0.5.js                     |     3 +
 .../ui/lib/highlight.9.1.0.pack.js                 |     1 +
 .../ui/lib/highlight.9.1.0.pack_extended.js        |     1 +
 .../ui/lib/jquery-1.8.0.min.js                     |     5 +-
 .../ui/lib/jquery.ba-bbq.min.js                    |    19 +-
 .../ui/lib/jquery.slideto.min.js                   |     2 +-
 .../ui/lib/jquery.wiggle.min.js                    |     9 +-
 .../rest-docs-archiva-ui/ui/lib/js-yaml.min.js     |     2 +
 .../rest-docs-archiva-ui/ui/lib/jsoneditor.min.js  |     5 +
 .../rest-docs-archiva-ui/ui/lib/lodash.min.js      |     2 +
 docs/2.2.3/rest-docs-archiva-ui/ui/lib/marked.js   |  1273 +-
 .../ui/lib/object-assign-pollyfill.js              |     1 +
 .../ui/lib/sanitize-html.min.js                    |     4 +
 .../rest-docs-archiva-ui/ui/lib/swagger-oauth.js   |   291 +-
 docs/2.2.3/rest-docs-archiva-ui/ui/o2c.html        |     6 +-
 docs/2.2.3/rest-docs-archiva-ui/ui/swagger-ui.js   | 48941 ++++++++-----------
 .../rest-docs-archiva-ui/ui/swagger-ui.min.js      |    29 +-
 .../rest-docs-redback-rest-api/ui/css/print.css    |  1173 +-
 .../rest-docs-redback-rest-api/ui/css/reset.css    |   126 +-
 .../rest-docs-redback-rest-api/ui/css/screen.css   |  1280 +-
 .../rest-docs-redback-rest-api/ui/css/style.css    |   251 +-
 .../ui/css/typography.css                          |    26 -
 .../ui/fonts/DroidSans-Bold.ttf                    |   Bin 0 -> 42480 bytes
 .../ui/fonts/DroidSans.ttf                         |   Bin 0 -> 41028 bytes
 .../ui/images/collapse.gif                         |   Bin 0 -> 69 bytes
 .../ui/images/expand.gif                           |   Bin 0 -> 73 bytes
 .../ui/images/explorer_icons.png                   |   Bin 5763 -> 5115 bytes
 .../ui/images/favicon-16x16.png                    |   Bin 645 -> 445 bytes
 .../ui/images/favicon-32x32.png                    |   Bin 1654 -> 1141 bytes
 .../ui/images/logo_small.png                       |   Bin 770 -> 455 bytes
 .../ui/images/pet_store_api.png                    |   Bin 824 -> 631 bytes
 .../ui/images/wordnik_api.png                      |   Bin 980 -> 670 bytes
 .../2.2.3/rest-docs-redback-rest-api/ui/index.html |    71 +-
 .../2.2.3/rest-docs-redback-rest-api/ui/lang/ca.js |    53 +
 .../2.2.3/rest-docs-redback-rest-api/ui/lang/el.js |    56 +
 .../2.2.3/rest-docs-redback-rest-api/ui/lang/en.js |     5 +-
 .../2.2.3/rest-docs-redback-rest-api/ui/lang/es.js |     3 +-
 .../2.2.3/rest-docs-redback-rest-api/ui/lang/fr.js |    54 +
 .../rest-docs-redback-rest-api/ui/lang/geo.js      |    56 +
 .../2.2.3/rest-docs-redback-rest-api/ui/lang/it.js |    52 +
 .../2.2.3/rest-docs-redback-rest-api/ui/lang/ja.js |    56 +
 .../rest-docs-redback-rest-api/ui/lang/ko-kr.js    |    53 +
 .../2.2.3/rest-docs-redback-rest-api/ui/lang/pl.js |    53 +
 .../2.2.3/rest-docs-redback-rest-api/ui/lang/pt.js |     2 +-
 .../2.2.3/rest-docs-redback-rest-api/ui/lang/ru.js |    14 +-
 .../2.2.3/rest-docs-redback-rest-api/ui/lang/tr.js |    53 +
 .../ui/lang/translator.js                          |     4 +-
 .../rest-docs-redback-rest-api/ui/lang/zh-cn.js    |    56 +
 .../ui/lib/backbone-min.js                         |    16 +-
 .../rest-docs-redback-rest-api/ui/lib/es5-shim.js  |     1 +
 .../ui/lib/handlebars-4.0.5.js                     |     3 +
 .../ui/lib/highlight.9.1.0.pack.js                 |     1 +
 .../ui/lib/highlight.9.1.0.pack_extended.js        |     1 +
 .../ui/lib/jquery-1.8.0.min.js                     |     5 +-
 .../ui/lib/jquery.ba-bbq.min.js                    |    19 +-
 .../ui/lib/jquery.slideto.min.js                   |     2 +-
 .../ui/lib/jquery.wiggle.min.js                    |     9 +-
 .../ui/lib/js-yaml.min.js                          |     2 +
 .../ui/lib/jsoneditor.min.js                       |     5 +
 .../ui/lib/lodash.min.js                           |     2 +
 .../rest-docs-redback-rest-api/ui/lib/marked.js    |  1273 +-
 .../ui/lib/object-assign-pollyfill.js              |     1 +
 .../ui/lib/sanitize-html.min.js                    |     4 +
 .../ui/lib/swagger-oauth.js                        |   291 +-
 docs/2.2.3/rest-docs-redback-rest-api/ui/o2c.html  |     6 +-
 .../rest-docs-redback-rest-api/ui/swagger-ui.js    | 48941 ++++++++-----------
 .../ui/swagger-ui.min.js                           |    29 +-
 .../rest-docs-archiva-rest-api/ui/css/print.css    |  1173 +-
 .../rest-docs-archiva-rest-api/ui/css/reset.css    |   126 +-
 .../rest-docs-archiva-rest-api/ui/css/screen.css   |  1280 +-
 .../rest-docs-archiva-rest-api/ui/css/style.css    |   251 +-
 .../ui/css/typography.css                          |    26 -
 .../ui/fonts/DroidSans-Bold.ttf                    |   Bin 0 -> 42480 bytes
 .../ui/fonts/DroidSans.ttf                         |   Bin 0 -> 41028 bytes
 .../ui/images/collapse.gif                         |   Bin 0 -> 69 bytes
 .../ui/images/expand.gif                           |   Bin 0 -> 73 bytes
 .../ui/images/explorer_icons.png                   |   Bin 5763 -> 5115 bytes
 .../ui/images/favicon-16x16.png                    |   Bin 645 -> 445 bytes
 .../ui/images/favicon-32x32.png                    |   Bin 1654 -> 1141 bytes
 .../ui/images/logo_small.png                       |   Bin 770 -> 455 bytes
 .../ui/images/pet_store_api.png                    |   Bin 824 -> 631 bytes
 .../ui/images/wordnik_api.png                      |   Bin 980 -> 670 bytes
 .../2.2.4/rest-docs-archiva-rest-api/ui/index.html |    69 +-
 .../2.2.4/rest-docs-archiva-rest-api/ui/lang/ca.js |    53 +
 .../2.2.4/rest-docs-archiva-rest-api/ui/lang/el.js |    56 +
 .../2.2.4/rest-docs-archiva-rest-api/ui/lang/en.js |     3 +
 .../2.2.4/rest-docs-archiva-rest-api/ui/lang/es.js |     1 +
 .../2.2.4/rest-docs-archiva-rest-api/ui/lang/fr.js |    54 +
 .../rest-docs-archiva-rest-api/ui/lang/geo.js      |    56 +
 .../2.2.4/rest-docs-archiva-rest-api/ui/lang/it.js |    52 +
 .../2.2.4/rest-docs-archiva-rest-api/ui/lang/ja.js |    56 +
 .../rest-docs-archiva-rest-api/ui/lang/ko-kr.js    |    53 +
 .../2.2.4/rest-docs-archiva-rest-api/ui/lang/pl.js |    53 +
 .../2.2.4/rest-docs-archiva-rest-api/ui/lang/ru.js |    12 +-
 .../2.2.4/rest-docs-archiva-rest-api/ui/lang/tr.js |    53 +
 .../ui/lang/translator.js                          |     2 +-
 .../rest-docs-archiva-rest-api/ui/lang/zh-cn.js    |    56 +
 .../ui/lib/backbone-min.js                         |    16 +-
 .../rest-docs-archiva-rest-api/ui/lib/es5-shim.js  |     1 +
 .../ui/lib/handlebars-4.0.5.js                     |     3 +
 .../ui/lib/highlight.9.1.0.pack.js                 |     1 +
 .../ui/lib/highlight.9.1.0.pack_extended.js        |     1 +
 .../ui/lib/jquery-1.8.0.min.js                     |     5 +-
 .../ui/lib/jquery.ba-bbq.min.js                    |    19 +-
 .../ui/lib/jquery.slideto.min.js                   |     2 +-
 .../ui/lib/jquery.wiggle.min.js                    |     9 +-
 .../ui/lib/js-yaml.min.js                          |     2 +
 .../ui/lib/jsoneditor.min.js                       |     5 +
 .../ui/lib/lodash.min.js                           |     2 +
 .../rest-docs-archiva-rest-api/ui/lib/marked.js    |  1273 +-
 .../ui/lib/object-assign-pollyfill.js              |     1 +
 .../ui/lib/sanitize-html.min.js                    |     4 +
 .../ui/lib/swagger-oauth.js                        |   291 +-
 docs/2.2.4/rest-docs-archiva-rest-api/ui/o2c.html  |     6 +-
 .../rest-docs-archiva-rest-api/ui/swagger-ui.js    | 48939 ++++++++----------
 .../ui/swagger-ui.min.js                           |    29 +-
 docs/2.2.4/rest-docs-archiva-ui/ui/css/print.css   |  1173 +-
 docs/2.2.4/rest-docs-archiva-ui/ui/css/reset.css   |   126 +-
 docs/2.2.4/rest-docs-archiva-ui/ui/css/screen.css  |  1280 +-
 docs/2.2.4/rest-docs-archiva-ui/ui/css/style.css   |   251 +-
 .../rest-docs-archiva-ui/ui/css/typography.css     |    26 -
 .../ui/fonts/DroidSans-Bold.ttf                    |   Bin 0 -> 42480 bytes
 .../rest-docs-archiva-ui/ui/fonts/DroidSans.ttf    |   Bin 0 -> 41028 bytes
 .../rest-docs-archiva-ui/ui/images/collapse.gif    |   Bin 0 -> 69 bytes
 .../rest-docs-archiva-ui/ui/images/expand.gif      |   Bin 0 -> 73 bytes
 .../ui/images/explorer_icons.png                   |   Bin 5763 -> 5115 bytes
 .../ui/images/favicon-16x16.png                    |   Bin 645 -> 445 bytes
 .../ui/images/favicon-32x32.png                    |   Bin 1654 -> 1141 bytes
 .../rest-docs-archiva-ui/ui/images/logo_small.png  |   Bin 770 -> 455 bytes
 .../ui/images/pet_store_api.png                    |   Bin 824 -> 631 bytes
 .../rest-docs-archiva-ui/ui/images/wordnik_api.png |   Bin 980 -> 670 bytes
 docs/2.2.4/rest-docs-archiva-ui/ui/index.html      |    69 +-
 docs/2.2.4/rest-docs-archiva-ui/ui/lang/ca.js      |    53 +
 docs/2.2.4/rest-docs-archiva-ui/ui/lang/el.js      |    56 +
 docs/2.2.4/rest-docs-archiva-ui/ui/lang/en.js      |     3 +
 docs/2.2.4/rest-docs-archiva-ui/ui/lang/es.js      |     1 +
 docs/2.2.4/rest-docs-archiva-ui/ui/lang/fr.js      |    54 +
 docs/2.2.4/rest-docs-archiva-ui/ui/lang/geo.js     |    56 +
 docs/2.2.4/rest-docs-archiva-ui/ui/lang/it.js      |    52 +
 docs/2.2.4/rest-docs-archiva-ui/ui/lang/ja.js      |    56 +
 docs/2.2.4/rest-docs-archiva-ui/ui/lang/ko-kr.js   |    53 +
 docs/2.2.4/rest-docs-archiva-ui/ui/lang/pl.js      |    53 +
 docs/2.2.4/rest-docs-archiva-ui/ui/lang/ru.js      |    12 +-
 docs/2.2.4/rest-docs-archiva-ui/ui/lang/tr.js      |    53 +
 .../rest-docs-archiva-ui/ui/lang/translator.js     |     2 +-
 docs/2.2.4/rest-docs-archiva-ui/ui/lang/zh-cn.js   |    56 +
 .../rest-docs-archiva-ui/ui/lib/backbone-min.js    |    16 +-
 docs/2.2.4/rest-docs-archiva-ui/ui/lib/es5-shim.js |     1 +
 .../ui/lib/handlebars-4.0.5.js                     |     3 +
 .../ui/lib/highlight.9.1.0.pack.js                 |     1 +
 .../ui/lib/highlight.9.1.0.pack_extended.js        |     1 +
 .../ui/lib/jquery-1.8.0.min.js                     |     5 +-
 .../ui/lib/jquery.ba-bbq.min.js                    |    19 +-
 .../ui/lib/jquery.slideto.min.js                   |     2 +-
 .../ui/lib/jquery.wiggle.min.js                    |     9 +-
 .../rest-docs-archiva-ui/ui/lib/js-yaml.min.js     |     2 +
 .../rest-docs-archiva-ui/ui/lib/jsoneditor.min.js  |     5 +
 .../rest-docs-archiva-ui/ui/lib/lodash.min.js      |     2 +
 docs/2.2.4/rest-docs-archiva-ui/ui/lib/marked.js   |  1273 +-
 .../ui/lib/object-assign-pollyfill.js              |     1 +
 .../ui/lib/sanitize-html.min.js                    |     4 +
 .../rest-docs-archiva-ui/ui/lib/swagger-oauth.js   |   291 +-
 docs/2.2.4/rest-docs-archiva-ui/ui/o2c.html        |     6 +-
 docs/2.2.4/rest-docs-archiva-ui/ui/swagger-ui.js   | 48939 ++++++++----------
 .../rest-docs-archiva-ui/ui/swagger-ui.min.js      |    29 +-
 .../rest-docs-redback-rest-api/ui/css/print.css    |  1173 +-
 .../rest-docs-redback-rest-api/ui/css/reset.css    |   126 +-
 .../rest-docs-redback-rest-api/ui/css/screen.css   |  1280 +-
 .../rest-docs-redback-rest-api/ui/css/style.css    |   251 +-
 .../ui/css/typography.css                          |    26 -
 .../ui/fonts/DroidSans-Bold.ttf                    |   Bin 0 -> 42480 bytes
 .../ui/fonts/DroidSans.ttf                         |   Bin 0 -> 41028 bytes
 .../ui/images/collapse.gif                         |   Bin 0 -> 69 bytes
 .../ui/images/expand.gif                           |   Bin 0 -> 73 bytes
 .../ui/images/explorer_icons.png                   |   Bin 5763 -> 5115 bytes
 .../ui/images/favicon-16x16.png                    |   Bin 645 -> 445 bytes
 .../ui/images/favicon-32x32.png                    |   Bin 1654 -> 1141 bytes
 .../ui/images/logo_small.png                       |   Bin 770 -> 455 bytes
 .../ui/images/pet_store_api.png                    |   Bin 824 -> 631 bytes
 .../ui/images/wordnik_api.png                      |   Bin 980 -> 670 bytes
 .../2.2.4/rest-docs-redback-rest-api/ui/index.html |    69 +-
 .../2.2.4/rest-docs-redback-rest-api/ui/lang/ca.js |    53 +
 .../2.2.4/rest-docs-redback-rest-api/ui/lang/el.js |    56 +
 .../2.2.4/rest-docs-redback-rest-api/ui/lang/en.js |     3 +
 .../2.2.4/rest-docs-redback-rest-api/ui/lang/es.js |     1 +
 .../2.2.4/rest-docs-redback-rest-api/ui/lang/fr.js |    54 +
 .../rest-docs-redback-rest-api/ui/lang/geo.js      |    56 +
 .../2.2.4/rest-docs-redback-rest-api/ui/lang/it.js |    52 +
 .../2.2.4/rest-docs-redback-rest-api/ui/lang/ja.js |    56 +
 .../rest-docs-redback-rest-api/ui/lang/ko-kr.js    |    53 +
 .../2.2.4/rest-docs-redback-rest-api/ui/lang/pl.js |    53 +
 .../2.2.4/rest-docs-redback-rest-api/ui/lang/ru.js |    12 +-
 .../2.2.4/rest-docs-redback-rest-api/ui/lang/tr.js |    53 +
 .../ui/lang/translator.js                          |     2 +-
 .../rest-docs-redback-rest-api/ui/lang/zh-cn.js    |    56 +
 .../ui/lib/backbone-min.js                         |    16 +-
 .../rest-docs-redback-rest-api/ui/lib/es5-shim.js  |     1 +
 .../ui/lib/handlebars-4.0.5.js                     |     3 +
 .../ui/lib/highlight.9.1.0.pack.js                 |     1 +
 .../ui/lib/highlight.9.1.0.pack_extended.js        |     1 +
 .../ui/lib/jquery-1.8.0.min.js                     |     5 +-
 .../ui/lib/jquery.ba-bbq.min.js                    |    19 +-
 .../ui/lib/jquery.slideto.min.js                   |     2 +-
 .../ui/lib/jquery.wiggle.min.js                    |     9 +-
 .../ui/lib/js-yaml.min.js                          |     2 +
 .../ui/lib/jsoneditor.min.js                       |     5 +
 .../ui/lib/lodash.min.js                           |     2 +
 .../rest-docs-redback-rest-api/ui/lib/marked.js    |  1273 +-
 .../ui/lib/object-assign-pollyfill.js              |     1 +
 .../ui/lib/sanitize-html.min.js                    |     4 +
 .../ui/lib/swagger-oauth.js                        |   291 +-
 docs/2.2.4/rest-docs-redback-rest-api/ui/o2c.html  |     6 +-
 .../rest-docs-redback-rest-api/ui/swagger-ui.js    | 48939 ++++++++----------
 .../ui/swagger-ui.min.js                           |    29 +-
 .../rest-docs-archiva-rest-api/application.wadl    |  1894 +
 .../archiva-rest-api-php.zip                       |   Bin 0 -> 23482 bytes
 .../archiva-rest-api-xml-client-xml-sources.jar    |   Bin 0 -> 47068 bytes
 .../archiva-rest-api-xml-client.jar                |   Bin 0 -> 55352 bytes
 .../2.2.5/rest-docs-archiva-rest-api/css/style.css |   765 +
 docs/2.2.5/rest-docs-archiva-rest-api/data.html    |   224 +
 .../rest-docs-archiva-rest-api/downloads.html      |   225 +
 docs/2.2.5/rest-docs-archiva-rest-api/index.html   |   281 +
 docs/2.2.5/rest-docs-archiva-rest-api/ns0.xsd      |  1137 +
 .../resource_ArchivaAdministrationService.html     |  1123 +
 ...esource_ArchivaRuntimeConfigurationService.html |   187 +
 .../resource_BrowseService.html                    |  1695 +
 .../resource_CommonServices.html                   |   249 +
 .../resource_ManagedRepositoriesService.html       |   535 +
 .../resource_MergeRepositoriesService.html         |   221 +
 .../resource_NetworkProxyService.html              |   297 +
 .../resource_PingService.html                      |   175 +
 .../resource_PluginsService.html                   |   131 +
 .../resource_ProxyConnectorRuleService.html        |   289 +
 .../resource_ProxyConnectorService.html            |   453 +
 ...esource_RedbackRuntimeConfigurationService.html |   354 +
 .../resource_RemoteRepositoriesService.html        |   405 +
 .../resource_ReportRepositoriesService.html        |   235 +
 .../resource_RepositoriesService.html              |   914 +
 .../resource_RepositoryGroupService.html           |   471 +
 .../resource_SearchService.html                    |   519 +
 .../resource_SystemStatusService.html              |   340 +
 .../rest-docs-archiva-rest-api/resources.html      |   150 +
 .../rest-docs-archiva-rest-api/syntax_xml.html     |   467 +
 .../rest-docs-archiva-rest-api/ui/css/print.css    |     1 +
 .../rest-docs-archiva-rest-api/ui/css/reset.css    |     1 +
 .../rest-docs-archiva-rest-api/ui/css/screen.css   |     1 +
 .../rest-docs-archiva-rest-api/ui/css/style.css    |     1 +
 .../ui/css/typography.css                          |     0
 .../ui/fonts/DroidSans-Bold.ttf                    |   Bin 0 -> 42480 bytes
 .../ui/fonts/DroidSans.ttf                         |   Bin 0 -> 41028 bytes
 .../ui/fonts/droid-sans-v6-latin-700.eot           |   Bin 0 -> 22922 bytes
 .../ui/fonts/droid-sans-v6-latin-700.svg           |   411 +
 .../ui/fonts/droid-sans-v6-latin-700.ttf           |   Bin 0 -> 40513 bytes
 .../ui/fonts/droid-sans-v6-latin-700.woff          |   Bin 0 -> 25992 bytes
 .../ui/fonts/droid-sans-v6-latin-700.woff2         |   Bin 0 -> 11480 bytes
 .../ui/fonts/droid-sans-v6-latin-regular.eot       |   Bin 0 -> 22008 bytes
 .../ui/fonts/droid-sans-v6-latin-regular.svg       |   403 +
 .../ui/fonts/droid-sans-v6-latin-regular.ttf       |   Bin 0 -> 39069 bytes
 .../ui/fonts/droid-sans-v6-latin-regular.woff      |   Bin 0 -> 24868 bytes
 .../ui/fonts/droid-sans-v6-latin-regular.woff2     |   Bin 0 -> 11304 bytes
 .../ui/images/collapse.gif                         |   Bin 0 -> 69 bytes
 .../ui/images/expand.gif                           |   Bin 0 -> 73 bytes
 .../ui/images/explorer_icons.png                   |   Bin 0 -> 5115 bytes
 .../ui/images/favicon-16x16.png                    |   Bin 0 -> 445 bytes
 .../ui/images/favicon-32x32.png                    |   Bin 0 -> 1141 bytes
 .../ui/images/favicon.ico                          |   Bin 0 -> 5430 bytes
 .../ui/images/logo_small.png                       |   Bin 0 -> 455 bytes
 .../ui/images/pet_store_api.png                    |   Bin 0 -> 631 bytes
 .../ui/images/throbber.gif                         |   Bin 0 -> 9257 bytes
 .../ui/images/wordnik_api.png                      |   Bin 0 -> 670 bytes
 .../2.2.5/rest-docs-archiva-rest-api/ui/index.html |   108 +
 .../2.2.5/rest-docs-archiva-rest-api/ui/lang/ca.js |    53 +
 .../2.2.5/rest-docs-archiva-rest-api/ui/lang/el.js |    56 +
 .../2.2.5/rest-docs-archiva-rest-api/ui/lang/en.js |    56 +
 .../2.2.5/rest-docs-archiva-rest-api/ui/lang/es.js |    53 +
 .../2.2.5/rest-docs-archiva-rest-api/ui/lang/fr.js |    54 +
 .../rest-docs-archiva-rest-api/ui/lang/geo.js      |    56 +
 .../2.2.5/rest-docs-archiva-rest-api/ui/lang/it.js |    52 +
 .../2.2.5/rest-docs-archiva-rest-api/ui/lang/ja.js |    56 +
 .../rest-docs-archiva-rest-api/ui/lang/ko-kr.js    |    53 +
 .../2.2.5/rest-docs-archiva-rest-api/ui/lang/pl.js |    53 +
 .../2.2.5/rest-docs-archiva-rest-api/ui/lang/pt.js |    53 +
 .../2.2.5/rest-docs-archiva-rest-api/ui/lang/ru.js |    56 +
 .../2.2.5/rest-docs-archiva-rest-api/ui/lang/tr.js |    53 +
 .../ui/lang/translator.js                          |    39 +
 .../rest-docs-archiva-rest-api/ui/lang/zh-cn.js    |    56 +
 .../ui/lib/backbone-min.js                         |     1 +
 .../rest-docs-archiva-rest-api/ui/lib/es5-shim.js  |     1 +
 .../ui/lib/handlebars-2.0.0.js                     |    28 +
 .../ui/lib/handlebars-4.0.5.js                     |     3 +
 .../ui/lib/highlight.7.3.pack.js                   |     1 +
 .../ui/lib/highlight.9.1.0.pack.js                 |     1 +
 .../ui/lib/highlight.9.1.0.pack_extended.js        |     1 +
 .../ui/lib/jquery-1.8.0.min.js                     |     3 +
 .../ui/lib/jquery.ba-bbq.min.js                    |     1 +
 .../ui/lib/jquery.slideto.min.js                   |     1 +
 .../ui/lib/jquery.wiggle.min.js                    |     1 +
 .../ui/lib/js-yaml.min.js                          |     2 +
 .../ui/lib/jsoneditor.min.js                       |     5 +
 .../ui/lib/lodash.min.js                           |     2 +
 .../rest-docs-archiva-rest-api/ui/lib/marked.js    |     1 +
 .../ui/lib/object-assign-pollyfill.js              |     1 +
 .../ui/lib/sanitize-html.min.js                    |     4 +
 .../ui/lib/swagger-oauth.js                        |     1 +
 .../ui/lib/underscore-min.js                       |     6 +
 .../ui/lib/underscore-min.map                      |     1 +
 docs/2.2.5/rest-docs-archiva-rest-api/ui/o2c.html  |    20 +
 .../rest-docs-archiva-rest-api/ui/swagger-ui.js    | 25340 ++++++++++
 .../ui/swagger-ui.min.js                           |    15 +
 .../rest-docs-archiva-rest-api/ui/swagger.json     |  6759 +++
 ...l_ns0_RBACManagerImplementationInformation.html |   178 +
 .../xml_ns0_abstractImplementationInformation.html |   191 +
 .../xml_ns0_abstractRepository.html                |   229 +
 .../xml_ns0_abstractRepositoryConnector.html       |   331 +
 .../xml_ns0_adminRepositoryConsumer.html           |   189 +
 .../xml_ns0_archivaRepositoryStatistics.html       |   324 +
 .../xml_ns0_archivaRuntimeConfiguration.html       |   180 +
 .../xml_ns0_artifact.html                          |   626 +
 .../xml_ns0_artifactContent.html                   |   172 +
 .../xml_ns0_artifactContentEntry.html              |   210 +
 .../xml_ns0_artifactTransferRequest.html           |   494 +
 .../xml_ns0_browseResult.html                      |   158 +
 .../xml_ns0_browseResultEntry.html                 |   210 +
 .../xml_ns0_cacheConfiguration.html                |   210 +
 .../xml_ns0_cacheEntry.html                        |   248 +
 .../xml_ns0_checksumSearch.html                    |   172 +
 .../xml_ns0_ciManagement.html                      |   172 +
 .../xml_ns0_consumerScanningStatistics.html        |   208 +
 .../xml_ns0_dependency.html                        |   286 +
 .../rest-docs-archiva-rest-api/xml_ns0_entry.html  |   172 +
 .../xml_ns0_facetedMetadata.html                   |   131 +
 .../xml_ns0_fileLockConfiguration.html             |   172 +
 .../xml_ns0_fileType.html                          |   172 +
 .../xml_ns0_groupIdList.html                       |   153 +
 .../xml_ns0_issueManagement.html                   |   172 +
 .../xml_ns0_ldapConfiguration.html                 |   403 +
 .../xml_ns0_ldapGroupMapping.html                  |   172 +
 .../xml_ns0_legacyArtifactPath.html                |   210 +
 .../xml_ns0_license.html                           |   170 +
 .../xml_ns0_mailingList.html                       |   248 +
 .../xml_ns0_managedRepository.html                 |   451 +
 .../xml_ns0_metadataAddRequest.html                |   210 +
 .../xml_ns0_networkConfiguration.html              |   191 +
 .../xml_ns0_networkProxy.html                      |   267 +
 .../xml_ns0_organisationInformation.html           |   191 +
 .../xml_ns0_organization.html                      |   170 +
 .../xml_ns0_policyInformation.html                 |   210 +
 .../xml_ns0_projectVersionMetadata.html            |   392 +
 .../xml_ns0_propertyEntry.html                     |   172 +
 .../xml_ns0_proxyConnector.html                    |   295 +
 .../xml_ns0_proxyConnectorRule.html                |   203 +
 .../xml_ns0_proxyConnectorRuleType.html            |   132 +
 .../xml_ns0_queueEntry.html                        |   172 +
 ...xml_ns0_redbackImplementationsInformations.html |   180 +
 .../xml_ns0_redbackRuntimeConfiguration.html       |   334 +
 .../xml_ns0_remoteRepository.html                  |   495 +
 .../xml_ns0_repositoryGroup.html                   |   229 +
 .../xml_ns0_repositoryProblemFacet.html            |   265 +
 .../xml_ns0_repositoryScanStatistics.html          |   151 +
 .../xml_ns0_repositoryScannerStatistics.html       |   232 +
 .../xml_ns0_repositoryStatistics.html              |   303 +
 .../rest-docs-archiva-rest-api/xml_ns0_scm.html    |   189 +
 .../xml_ns0_searchRequest.html                     |   455 +
 .../xml_ns0_stringList.html                        |   153 +
 .../xml_ns0_treeEntry.html                         |   216 +
 .../xml_ns0_uiConfiguration.html                   |   229 +
 ...l_ns0_userManagerImplementationInformation.html |   178 +
 .../xml_ns0_versionsList.html                      |   151 +
 docs/2.2.5/rest-docs-archiva-ui/application.wadl   |  2119 +
 .../archiva-web-common-gwt-json-overlay.jar        |   Bin 0 -> 46467 bytes
 ...archiva-web-common-json-client-json-sources.jar |   Bin 0 -> 49344 bytes
 .../archiva-web-common-json-client.jar             |   Bin 0 -> 63184 bytes
 .../archiva-web-common-php.zip                     |   Bin 0 -> 25658 bytes
 .../archiva-web-common-xml-client-xml-sources.jar  |   Bin 0 -> 50365 bytes
 .../archiva-web-common-xml-client.jar              |   Bin 0 -> 59375 bytes
 .../rest-docs-archiva-ui/archiva-web-common.rb     |  4886 ++
 docs/2.2.5/rest-docs-archiva-ui/css/style.css      |   765 +
 docs/2.2.5/rest-docs-archiva-ui/data.html          |   365 +
 docs/2.2.5/rest-docs-archiva-ui/downloads.html     |   445 +
 docs/2.2.5/rest-docs-archiva-ui/index.html         |   429 +
 .../json_abstractimplementationinformation.html    |   156 +
 .../json_abstractrepository.html                   |   178 +
 .../json_abstractrepositoryconnector.html          |   247 +
 .../json_adminrepositoryconsumer.html              |   156 +
 .../json_applicationruntimeinfo.html               |   234 +
 .../json_archivarepositorystatistics.html          |   228 +
 .../json_archivaruntimeconfiguration.html          |   156 +
 docs/2.2.5/rest-docs-archiva-ui/json_artifact.html |   386 +
 .../rest-docs-archiva-ui/json_artifactcontent.html |   148 +
 .../json_artifactcontententry.html                 |   168 +
 .../json_artifacttransferrequest.html              |   323 +
 .../rest-docs-archiva-ui/json_browseresult.html    |   148 +
 .../json_browseresultentry.html                    |   168 +
 .../json_cacheconfiguration.html                   |   168 +
 .../rest-docs-archiva-ui/json_cacheentry.html      |   188 +
 .../rest-docs-archiva-ui/json_checksumsearch.html  |   146 +
 .../rest-docs-archiva-ui/json_cimanagement.html    |   148 +
 .../json_consumerscanningstatistics.html           |   166 +
 .../json_cookieinformation.html                    |   178 +
 .../rest-docs-archiva-ui/json_dependency.html      |   208 +
 docs/2.2.5/rest-docs-archiva-ui/json_entry.html    |   146 +
 .../rest-docs-archiva-ui/json_facetedmetadata.html |   159 +
 .../json_filelockconfiguration.html                |   148 +
 .../rest-docs-archiva-ui/json_filemetadata.html    |   228 +
 docs/2.2.5/rest-docs-archiva-ui/json_filetype.html |   148 +
 .../rest-docs-archiva-ui/json_groupidlist.html     |   138 +
 .../rest-docs-archiva-ui/json_issuemanagement.html |   148 +
 .../rest-docs-archiva-ui/json_javascriptlog.html   |   148 +
 .../json_ldapconfiguration.html                    |   277 +
 .../json_ldapgroupmapping.html                     |   148 +
 .../json_legacyartifactpath.html                   |   198 +
 docs/2.2.5/rest-docs-archiva-ui/json_license.html  |   146 +
 .../rest-docs-archiva-ui/json_mailinglist.html     |   188 +
 .../json_managedrepository.html                    |   317 +
 .../json_metadataaddrequest.html                   |   171 +
 .../json_networkconfiguration.html                 |   158 +
 .../rest-docs-archiva-ui/json_networkproxy.html    |   198 +
 .../json_organisationinformation.html              |   158 +
 .../rest-docs-archiva-ui/json_organization.html    |   146 +
 .../json_policyinformation.html                    |   168 +
 .../json_projectversionmetadata.html               |   336 +
 .../rest-docs-archiva-ui/json_propertyentry.html   |   148 +
 .../rest-docs-archiva-ui/json_proxyconnector.html  |   232 +
 .../json_proxyconnectorrule.html                   |   218 +
 .../json_proxyconnectorruletype.html               |   130 +
 .../rest-docs-archiva-ui/json_queueentry.html      |   148 +
 .../json_rbacmanagerimplementationinformation.html |   154 +
 .../json_redbackimplementationsinformations.html   |   164 +
 .../json_redbackruntimeconfiguration.html          |   262 +
 .../json_remoterepository.html                     |   336 +
 .../rest-docs-archiva-ui/json_repositorygroup.html |   178 +
 .../json_repositoryproblemfacet.html               |   216 +
 .../json_repositoryscannerstatistics.html          |   195 +
 .../json_repositoryscanstatistics.html             |   186 +
 .../json_repositorystatistics.html                 |   259 +
 docs/2.2.5/rest-docs-archiva-ui/json_scm.html      |   156 +
 .../rest-docs-archiva-ui/json_searchrequest.html   |   296 +
 .../rest-docs-archiva-ui/json_stringlist.html      |   138 +
 .../2.2.5/rest-docs-archiva-ui/json_treeentry.html |   233 +
 .../rest-docs-archiva-ui/json_uiconfiguration.html |   178 +
 .../json_usermanagerimplementationinformation.html |   154 +
 .../rest-docs-archiva-ui/json_versionslist.html    |   136 +
 docs/2.2.5/rest-docs-archiva-ui/ns0.xsd            |  1209 +
 .../resource_ArchivaAdministrationService.html     |  1123 +
 ...esource_ArchivaRuntimeConfigurationService.html |   187 +
 .../resource_BrowseService.html                    |  1705 +
 .../resource_CommonServices.html                   |   249 +
 .../resource_DataValidatorService.html             |   254 +
 .../resource_FileUploadService.html                |   339 +
 .../resource_JavascriptLogger.html                 |   362 +
 .../resource_ManagedRepositoriesService.html       |   535 +
 .../resource_MergeRepositoriesService.html         |   221 +
 .../resource_NetworkProxyService.html              |   297 +
 .../rest-docs-archiva-ui/resource_PingService.html |   175 +
 .../resource_PluginsService.html                   |   131 +
 .../resource_ProxyConnectorRuleService.html        |   289 +
 .../resource_ProxyConnectorService.html            |   453 +
 ...esource_RedbackRuntimeConfigurationService.html |   354 +
 .../resource_RemoteRepositoriesService.html        |   405 +
 .../resource_ReportRepositoriesService.html        |   235 +
 .../resource_RepositoriesService.html              |   914 +
 .../resource_RepositoryGroupService.html           |   471 +
 .../resource_RuntimeInfoService.html               |   205 +
 .../resource_SearchService.html                    |   534 +
 .../resource_SystemStatusService.html              |   340 +
 docs/2.2.5/rest-docs-archiva-ui/resources.html     |   158 +
 docs/2.2.5/rest-docs-archiva-ui/syntax_json.html   |   491 +
 docs/2.2.5/rest-docs-archiva-ui/syntax_xml.html    |   491 +
 docs/2.2.5/rest-docs-archiva-ui/ui/css/print.css   |     1 +
 docs/2.2.5/rest-docs-archiva-ui/ui/css/reset.css   |     1 +
 docs/2.2.5/rest-docs-archiva-ui/ui/css/screen.css  |     1 +
 docs/2.2.5/rest-docs-archiva-ui/ui/css/style.css   |     1 +
 .../rest-docs-archiva-ui/ui/css/typography.css     |     0
 .../ui/fonts/DroidSans-Bold.ttf                    |   Bin 0 -> 42480 bytes
 .../rest-docs-archiva-ui/ui/fonts/DroidSans.ttf    |   Bin 0 -> 41028 bytes
 .../ui/fonts/droid-sans-v6-latin-700.eot           |   Bin 0 -> 22922 bytes
 .../ui/fonts/droid-sans-v6-latin-700.svg           |   411 +
 .../ui/fonts/droid-sans-v6-latin-700.ttf           |   Bin 0 -> 40513 bytes
 .../ui/fonts/droid-sans-v6-latin-700.woff          |   Bin 0 -> 25992 bytes
 .../ui/fonts/droid-sans-v6-latin-700.woff2         |   Bin 0 -> 11480 bytes
 .../ui/fonts/droid-sans-v6-latin-regular.eot       |   Bin 0 -> 22008 bytes
 .../ui/fonts/droid-sans-v6-latin-regular.svg       |   403 +
 .../ui/fonts/droid-sans-v6-latin-regular.ttf       |   Bin 0 -> 39069 bytes
 .../ui/fonts/droid-sans-v6-latin-regular.woff      |   Bin 0 -> 24868 bytes
 .../ui/fonts/droid-sans-v6-latin-regular.woff2     |   Bin 0 -> 11304 bytes
 .../rest-docs-archiva-ui/ui/images/collapse.gif    |   Bin 0 -> 69 bytes
 .../rest-docs-archiva-ui/ui/images/expand.gif      |   Bin 0 -> 73 bytes
 .../ui/images/explorer_icons.png                   |   Bin 0 -> 5115 bytes
 .../ui/images/favicon-16x16.png                    |   Bin 0 -> 445 bytes
 .../ui/images/favicon-32x32.png                    |   Bin 0 -> 1141 bytes
 .../rest-docs-archiva-ui/ui/images/favicon.ico     |   Bin 0 -> 5430 bytes
 .../rest-docs-archiva-ui/ui/images/logo_small.png  |   Bin 0 -> 455 bytes
 .../ui/images/pet_store_api.png                    |   Bin 0 -> 631 bytes
 .../rest-docs-archiva-ui/ui/images/throbber.gif    |   Bin 0 -> 9257 bytes
 .../rest-docs-archiva-ui/ui/images/wordnik_api.png |   Bin 0 -> 670 bytes
 docs/2.2.5/rest-docs-archiva-ui/ui/index.html      |   108 +
 docs/2.2.5/rest-docs-archiva-ui/ui/lang/ca.js      |    53 +
 docs/2.2.5/rest-docs-archiva-ui/ui/lang/el.js      |    56 +
 docs/2.2.5/rest-docs-archiva-ui/ui/lang/en.js      |    56 +
 docs/2.2.5/rest-docs-archiva-ui/ui/lang/es.js      |    53 +
 docs/2.2.5/rest-docs-archiva-ui/ui/lang/fr.js      |    54 +
 docs/2.2.5/rest-docs-archiva-ui/ui/lang/geo.js     |    56 +
 docs/2.2.5/rest-docs-archiva-ui/ui/lang/it.js      |    52 +
 docs/2.2.5/rest-docs-archiva-ui/ui/lang/ja.js      |    56 +
 docs/2.2.5/rest-docs-archiva-ui/ui/lang/ko-kr.js   |    53 +
 docs/2.2.5/rest-docs-archiva-ui/ui/lang/pl.js      |    53 +
 docs/2.2.5/rest-docs-archiva-ui/ui/lang/pt.js      |    53 +
 docs/2.2.5/rest-docs-archiva-ui/ui/lang/ru.js      |    56 +
 docs/2.2.5/rest-docs-archiva-ui/ui/lang/tr.js      |    53 +
 .../rest-docs-archiva-ui/ui/lang/translator.js     |    39 +
 docs/2.2.5/rest-docs-archiva-ui/ui/lang/zh-cn.js   |    56 +
 .../rest-docs-archiva-ui/ui/lib/backbone-min.js    |     1 +
 docs/2.2.5/rest-docs-archiva-ui/ui/lib/es5-shim.js |     1 +
 .../ui/lib/handlebars-2.0.0.js                     |    28 +
 .../ui/lib/handlebars-4.0.5.js                     |     3 +
 .../ui/lib/highlight.7.3.pack.js                   |     1 +
 .../ui/lib/highlight.9.1.0.pack.js                 |     1 +
 .../ui/lib/highlight.9.1.0.pack_extended.js        |     1 +
 .../ui/lib/jquery-1.8.0.min.js                     |     3 +
 .../ui/lib/jquery.ba-bbq.min.js                    |     1 +
 .../ui/lib/jquery.slideto.min.js                   |     1 +
 .../ui/lib/jquery.wiggle.min.js                    |     1 +
 .../rest-docs-archiva-ui/ui/lib/js-yaml.min.js     |     2 +
 .../rest-docs-archiva-ui/ui/lib/jsoneditor.min.js  |     5 +
 .../rest-docs-archiva-ui/ui/lib/lodash.min.js      |     2 +
 docs/2.2.5/rest-docs-archiva-ui/ui/lib/marked.js   |     1 +
 .../ui/lib/object-assign-pollyfill.js              |     1 +
 .../ui/lib/sanitize-html.min.js                    |     4 +
 .../rest-docs-archiva-ui/ui/lib/swagger-oauth.js   |     1 +
 .../rest-docs-archiva-ui/ui/lib/underscore-min.js  |     6 +
 .../rest-docs-archiva-ui/ui/lib/underscore-min.map |     1 +
 docs/2.2.5/rest-docs-archiva-ui/ui/o2c.html        |    20 +
 docs/2.2.5/rest-docs-archiva-ui/ui/swagger-ui.js   | 25340 ++++++++++
 .../rest-docs-archiva-ui/ui/swagger-ui.min.js      |    15 +
 docs/2.2.5/rest-docs-archiva-ui/ui/swagger.json    | 10043 ++++
 ...l_ns0_RBACManagerImplementationInformation.html |   178 +
 .../xml_ns0_abstractImplementationInformation.html |   189 +
 .../xml_ns0_abstractRepository.html                |   229 +
 .../xml_ns0_abstractRepositoryConnector.html       |   331 +
 .../xml_ns0_adminRepositoryConsumer.html           |   189 +
 .../xml_ns0_applicationRuntimeInfo.html            |   330 +
 .../xml_ns0_archivaRepositoryStatistics.html       |   324 +
 .../xml_ns0_archivaRuntimeConfiguration.html       |   180 +
 .../rest-docs-archiva-ui/xml_ns0_artifact.html     |   626 +
 .../xml_ns0_artifactContent.html                   |   172 +
 .../xml_ns0_artifactContentEntry.html              |   210 +
 .../xml_ns0_artifactTransferRequest.html           |   494 +
 .../rest-docs-archiva-ui/xml_ns0_browseResult.html |   158 +
 .../xml_ns0_browseResultEntry.html                 |   210 +
 .../xml_ns0_cacheConfiguration.html                |   210 +
 .../rest-docs-archiva-ui/xml_ns0_cacheEntry.html   |   248 +
 .../xml_ns0_checksumSearch.html                    |   170 +
 .../rest-docs-archiva-ui/xml_ns0_ciManagement.html |   172 +
 .../xml_ns0_consumerScanningStatistics.html        |   208 +
 .../xml_ns0_cookieInformation.html                 |   229 +
 .../rest-docs-archiva-ui/xml_ns0_dependency.html   |   286 +
 docs/2.2.5/rest-docs-archiva-ui/xml_ns0_entry.html |   170 +
 .../xml_ns0_facetedMetadata.html                   |   131 +
 .../xml_ns0_fileLockConfiguration.html             |   172 +
 .../rest-docs-archiva-ui/xml_ns0_fileMetadata.html |   324 +
 .../rest-docs-archiva-ui/xml_ns0_fileType.html     |   172 +
 .../rest-docs-archiva-ui/xml_ns0_groupIdList.html  |   153 +
 .../xml_ns0_issueManagement.html                   |   172 +
 .../xml_ns0_javascriptLog.html                     |   172 +
 .../xml_ns0_ldapConfiguration.html                 |   403 +
 .../xml_ns0_ldapGroupMapping.html                  |   172 +
 .../xml_ns0_legacyArtifactPath.html                |   210 +
 .../rest-docs-archiva-ui/xml_ns0_license.html      |   170 +
 .../rest-docs-archiva-ui/xml_ns0_mailingList.html  |   248 +
 .../xml_ns0_managedRepository.html                 |   451 +
 .../xml_ns0_metadataAddRequest.html                |   210 +
 .../xml_ns0_networkConfiguration.html              |   191 +
 .../rest-docs-archiva-ui/xml_ns0_networkProxy.html |   267 +
 .../xml_ns0_organisationInformation.html           |   191 +
 .../rest-docs-archiva-ui/xml_ns0_organization.html |   170 +
 .../xml_ns0_policyInformation.html                 |   210 +
 .../xml_ns0_projectVersionMetadata.html            |   392 +
 .../xml_ns0_propertyEntry.html                     |   172 +
 .../xml_ns0_proxyConnector.html                    |   295 +
 .../xml_ns0_proxyConnectorRule.html                |   203 +
 .../xml_ns0_proxyConnectorRuleType.html            |   132 +
 .../rest-docs-archiva-ui/xml_ns0_queueEntry.html   |   172 +
 ...xml_ns0_redbackImplementationsInformations.html |   180 +
 .../xml_ns0_redbackRuntimeConfiguration.html       |   334 +
 .../xml_ns0_remoteRepository.html                  |   495 +
 .../xml_ns0_repositoryGroup.html                   |   229 +
 .../xml_ns0_repositoryProblemFacet.html            |   265 +
 .../xml_ns0_repositoryScanStatistics.html          |   151 +
 .../xml_ns0_repositoryScannerStatistics.html       |   232 +
 .../xml_ns0_repositoryStatistics.html              |   303 +
 docs/2.2.5/rest-docs-archiva-ui/xml_ns0_scm.html   |   189 +
 .../xml_ns0_searchRequest.html                     |   455 +
 .../rest-docs-archiva-ui/xml_ns0_stringList.html   |   153 +
 .../rest-docs-archiva-ui/xml_ns0_treeEntry.html    |   216 +
 .../xml_ns0_uiConfiguration.html                   |   229 +
 ...l_ns0_userManagerImplementationInformation.html |   178 +
 .../rest-docs-archiva-ui/xml_ns0_versionsList.html |   151 +
 .../rest-docs-redback-rest-api/application.wadl    |   870 +
 .../2.2.5/rest-docs-redback-rest-api/css/style.css |   765 +
 docs/2.2.5/rest-docs-redback-rest-api/data.html    |   138 +
 .../rest-docs-redback-rest-api/downloads.html      |   357 +
 .../rest-docs-redback-rest-api/enunciate-common.c  |  1510 +
 .../rest-docs-redback-rest-api/enunciate-common.h  |   532 +
 .../rest-docs-redback-rest-api/enunciate-common.m  |  1662 +
 docs/2.2.5/rest-docs-redback-rest-api/index.html   |   171 +
 docs/2.2.5/rest-docs-redback-rest-api/ns0.xsd      |   226 +
 .../redback-rest-api-dotnet.zip                    |   Bin 0 -> 2605 bytes
 .../redback-rest-api-php.zip                       |   Bin 0 -> 6368 bytes
 .../redback-rest-api-xml-client-xml-sources.jar    |   Bin 0 -> 11953 bytes
 .../redback-rest-api-xml-client.jar                |   Bin 0 -> 14077 bytes
 .../rest-docs-redback-rest-api/redback-rest-api.c  |  8465 ++++
 .../rest-docs-redback-rest-api/redback-rest-api.h  |   933 +
 .../rest-docs-redback-rest-api/redback-rest-api.m  |  8182 ++++
 .../resource_LdapGroupMappingService.html          |   316 +
 .../resource_LoginService.html                     |   382 +
 .../resource_PasswordService.html                  |   247 +
 .../resource_RoleManagementService.html            |  1311 +
 .../resource_UserService.html                      |  1315 +
 .../resource_UtilServices.html                     |   151 +
 .../rest-docs-redback-rest-api/resources.html      |   126 +
 .../rest-docs-redback-rest-api/syntax_xml.html     |   201 +
 .../rest-docs-redback-rest-api/ui/css/print.css    |     1 +
 .../rest-docs-redback-rest-api/ui/css/reset.css    |     1 +
 .../rest-docs-redback-rest-api/ui/css/screen.css   |     1 +
 .../rest-docs-redback-rest-api/ui/css/style.css    |     1 +
 .../ui/css/typography.css                          |     0
 .../ui/fonts/DroidSans-Bold.ttf                    |   Bin 0 -> 42480 bytes
 .../ui/fonts/DroidSans.ttf                         |   Bin 0 -> 41028 bytes
 .../ui/fonts/droid-sans-v6-latin-700.eot           |   Bin 0 -> 22922 bytes
 .../ui/fonts/droid-sans-v6-latin-700.svg           |   411 +
 .../ui/fonts/droid-sans-v6-latin-700.ttf           |   Bin 0 -> 40513 bytes
 .../ui/fonts/droid-sans-v6-latin-700.woff          |   Bin 0 -> 25992 bytes
 .../ui/fonts/droid-sans-v6-latin-700.woff2         |   Bin 0 -> 11480 bytes
 .../ui/fonts/droid-sans-v6-latin-regular.eot       |   Bin 0 -> 22008 bytes
 .../ui/fonts/droid-sans-v6-latin-regular.svg       |   403 +
 .../ui/fonts/droid-sans-v6-latin-regular.ttf       |   Bin 0 -> 39069 bytes
 .../ui/fonts/droid-sans-v6-latin-regular.woff      |   Bin 0 -> 24868 bytes
 .../ui/fonts/droid-sans-v6-latin-regular.woff2     |   Bin 0 -> 11304 bytes
 .../ui/images/collapse.gif                         |   Bin 0 -> 69 bytes
 .../ui/images/expand.gif                           |   Bin 0 -> 73 bytes
 .../ui/images/explorer_icons.png                   |   Bin 0 -> 5115 bytes
 .../ui/images/favicon-16x16.png                    |   Bin 0 -> 445 bytes
 .../ui/images/favicon-32x32.png                    |   Bin 0 -> 1141 bytes
 .../ui/images/favicon.ico                          |   Bin 0 -> 5430 bytes
 .../ui/images/logo_small.png                       |   Bin 0 -> 455 bytes
 .../ui/images/pet_store_api.png                    |   Bin 0 -> 631 bytes
 .../ui/images/throbber.gif                         |   Bin 0 -> 9257 bytes
 .../ui/images/wordnik_api.png                      |   Bin 0 -> 670 bytes
 .../2.2.5/rest-docs-redback-rest-api/ui/index.html |   108 +
 .../2.2.5/rest-docs-redback-rest-api/ui/lang/ca.js |    53 +
 .../2.2.5/rest-docs-redback-rest-api/ui/lang/el.js |    56 +
 .../2.2.5/rest-docs-redback-rest-api/ui/lang/en.js |    56 +
 .../2.2.5/rest-docs-redback-rest-api/ui/lang/es.js |    53 +
 .../2.2.5/rest-docs-redback-rest-api/ui/lang/fr.js |    54 +
 .../rest-docs-redback-rest-api/ui/lang/geo.js      |    56 +
 .../2.2.5/rest-docs-redback-rest-api/ui/lang/it.js |    52 +
 .../2.2.5/rest-docs-redback-rest-api/ui/lang/ja.js |    56 +
 .../rest-docs-redback-rest-api/ui/lang/ko-kr.js    |    53 +
 .../2.2.5/rest-docs-redback-rest-api/ui/lang/pl.js |    53 +
 .../2.2.5/rest-docs-redback-rest-api/ui/lang/pt.js |    53 +
 .../2.2.5/rest-docs-redback-rest-api/ui/lang/ru.js |    56 +
 .../2.2.5/rest-docs-redback-rest-api/ui/lang/tr.js |    53 +
 .../ui/lang/translator.js                          |    39 +
 .../rest-docs-redback-rest-api/ui/lang/zh-cn.js    |    56 +
 .../ui/lib/backbone-min.js                         |     1 +
 .../rest-docs-redback-rest-api/ui/lib/es5-shim.js  |     1 +
 .../ui/lib/handlebars-2.0.0.js                     |    28 +
 .../ui/lib/handlebars-4.0.5.js                     |     3 +
 .../ui/lib/highlight.7.3.pack.js                   |     1 +
 .../ui/lib/highlight.9.1.0.pack.js                 |     1 +
 .../ui/lib/highlight.9.1.0.pack_extended.js        |     1 +
 .../ui/lib/jquery-1.8.0.min.js                     |     3 +
 .../ui/lib/jquery.ba-bbq.min.js                    |     1 +
 .../ui/lib/jquery.slideto.min.js                   |     1 +
 .../ui/lib/jquery.wiggle.min.js                    |     1 +
 .../ui/lib/js-yaml.min.js                          |     2 +
 .../ui/lib/jsoneditor.min.js                       |     5 +
 .../ui/lib/lodash.min.js                           |     2 +
 .../rest-docs-redback-rest-api/ui/lib/marked.js    |     1 +
 .../ui/lib/object-assign-pollyfill.js              |     1 +
 .../ui/lib/sanitize-html.min.js                    |     4 +
 .../ui/lib/swagger-oauth.js                        |     1 +
 .../ui/lib/underscore-min.js                       |     6 +
 .../ui/lib/underscore-min.map                      |     1 +
 docs/2.2.5/rest-docs-redback-rest-api/ui/o2c.html  |    20 +
 .../rest-docs-redback-rest-api/ui/swagger-ui.js    | 25340 ++++++++++
 .../ui/swagger-ui.min.js                           |    15 +
 .../rest-docs-redback-rest-api/ui/swagger.json     |  2277 +
 .../xml_ns0_application.html                       |   208 +
 .../xml_ns0_applicationRoles.html                  |   236 +
 .../xml_ns0_ldapGroupMapping.html                  |   172 +
 .../xml_ns0_ldapGroupMappingUpdateRequest.html     |   154 +
 .../xml_ns0_loginRequest.html                      |   172 +
 .../xml_ns0_operation.html                         |   191 +
 .../xml_ns0_permission.html                        |   199 +
 .../xml_ns0_registrationKey.html                   |   153 +
 .../xml_ns0_resetPasswordRequest.html              |   170 +
 .../xml_ns0_resource.html                          |   191 +
 .../rest-docs-redback-rest-api/xml_ns0_role.html   |   427 +
 .../xml_ns0_roleTemplate.html                      |   248 +
 .../xml_ns0_stringList.html                        |   153 +
 .../rest-docs-redback-rest-api/xml_ns0_user.html   |   455 +
 .../xml_ns0_userRegistrationRequest.html           |   190 +
 936 files changed, 402236 insertions(+), 291813 deletions(-)

diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/css/print.css b/docs/2.2.1/rest-docs-archiva-rest-api/ui/css/print.css
index ea2d0e7..f2e8446 100644
--- a/docs/2.2.1/rest-docs-archiva-rest-api/ui/css/print.css
+++ b/docs/2.2.1/rest-docs-archiva-rest-api/ui/css/print.css
@@ -1,1172 +1 @@
-/* Original style from softwaremaniacs.org (c) Ivan Sagalaev <Ma...@SoftwareManiacs.Org> */
-.swagger-section pre code {
-  display: block;
-  padding: 0.5em;
-  background: #F0F0F0;
-}
-.swagger-section pre code,
-.swagger-section pre .subst,
-.swagger-section pre .tag .title,
-.swagger-section pre .lisp .title,
-.swagger-section pre .clojure .built_in,
-.swagger-section pre .nginx .title {
-  color: black;
-}
-.swagger-section pre .string,
-.swagger-section pre .title,
-.swagger-section pre .constant,
-.swagger-section pre .parent,
-.swagger-section pre .tag .value,
-.swagger-section pre .rules .value,
-.swagger-section pre .rules .value .number,
-.swagger-section pre .preprocessor,
-.swagger-section pre .ruby .symbol,
-.swagger-section pre .ruby .symbol .string,
-.swagger-section pre .aggregate,
-.swagger-section pre .template_tag,
-.swagger-section pre .django .variable,
-.swagger-section pre .smalltalk .class,
-.swagger-section pre .addition,
-.swagger-section pre .flow,
-.swagger-section pre .stream,
-.swagger-section pre .bash .variable,
-.swagger-section pre .apache .tag,
-.swagger-section pre .apache .cbracket,
-.swagger-section pre .tex .command,
-.swagger-section pre .tex .special,
-.swagger-section pre .erlang_repl .function_or_atom,
-.swagger-section pre .markdown .header {
-  color: #800;
-}
-.swagger-section pre .comment,
-.swagger-section pre .annotation,
-.swagger-section pre .template_comment,
-.swagger-section pre .diff .header,
-.swagger-section pre .chunk,
-.swagger-section pre .markdown .blockquote {
-  color: #888;
-}
-.swagger-section pre .number,
-.swagger-section pre .date,
-.swagger-section pre .regexp,
-.swagger-section pre .literal,
-.swagger-section pre .smalltalk .symbol,
-.swagger-section pre .smalltalk .char,
-.swagger-section pre .go .constant,
-.swagger-section pre .change,
-.swagger-section pre .markdown .bullet,
-.swagger-section pre .markdown .link_url {
-  color: #080;
-}
-.swagger-section pre .label,
-.swagger-section pre .javadoc,
-.swagger-section pre .ruby .string,
-.swagger-section pre .decorator,
-.swagger-section pre .filter .argument,
-.swagger-section pre .localvars,
-.swagger-section pre .array,
-.swagger-section pre .attr_selector,
-.swagger-section pre .important,
-.swagger-section pre .pseudo,
-.swagger-section pre .pi,
-.swagger-section pre .doctype,
-.swagger-section pre .deletion,
-.swagger-section pre .envvar,
-.swagger-section pre .shebang,
-.swagger-section pre .apache .sqbracket,
-.swagger-section pre .nginx .built_in,
-.swagger-section pre .tex .formula,
-.swagger-section pre .erlang_repl .reserved,
-.swagger-section pre .prompt,
-.swagger-section pre .markdown .link_label,
-.swagger-section pre .vhdl .attribute,
-.swagger-section pre .clojure .attribute,
-.swagger-section pre .coffeescript .property {
-  color: #8888ff;
-}
-.swagger-section pre .keyword,
-.swagger-section pre .id,
-.swagger-section pre .phpdoc,
-.swagger-section pre .title,
-.swagger-section pre .built_in,
-.swagger-section pre .aggregate,
-.swagger-section pre .css .tag,
-.swagger-section pre .javadoctag,
-.swagger-section pre .phpdoc,
-.swagger-section pre .yardoctag,
-.swagger-section pre .smalltalk .class,
-.swagger-section pre .winutils,
-.swagger-section pre .bash .variable,
-.swagger-section pre .apache .tag,
-.swagger-section pre .go .typename,
-.swagger-section pre .tex .command,
-.swagger-section pre .markdown .strong,
-.swagger-section pre .request,
-.swagger-section pre .status {
-  font-weight: bold;
-}
-.swagger-section pre .markdown .emphasis {
-  font-style: italic;
-}
-.swagger-section pre .nginx .built_in {
-  font-weight: normal;
-}
-.swagger-section pre .coffeescript .javascript,
-.swagger-section pre .javascript .xml,
-.swagger-section pre .tex .formula,
-.swagger-section pre .xml .javascript,
-.swagger-section pre .xml .vbscript,
-.swagger-section pre .xml .css,
-.swagger-section pre .xml .cdata {
-  opacity: 0.5;
-}
-.swagger-section .swagger-ui-wrap {
-  line-height: 1;
-  font-family: "Droid Sans", sans-serif;
-  max-width: 960px;
-  margin-left: auto;
-  margin-right: auto;
-}
-.swagger-section .swagger-ui-wrap b,
-.swagger-section .swagger-ui-wrap strong {
-  font-family: "Droid Sans", sans-serif;
-  font-weight: bold;
-}
-.swagger-section .swagger-ui-wrap q,
-.swagger-section .swagger-ui-wrap blockquote {
-  quotes: none;
-}
-.swagger-section .swagger-ui-wrap p {
-  line-height: 1.4em;
-  padding: 0 0 10px;
-  color: #333333;
-}
-.swagger-section .swagger-ui-wrap q:before,
-.swagger-section .swagger-ui-wrap q:after,
-.swagger-section .swagger-ui-wrap blockquote:before,
-.swagger-section .swagger-ui-wrap blockquote:after {
-  content: none;
-}
-.swagger-section .swagger-ui-wrap .heading_with_menu h1,
-.swagger-section .swagger-ui-wrap .heading_with_menu h2,
-.swagger-section .swagger-ui-wrap .heading_with_menu h3,
-.swagger-section .swagger-ui-wrap .heading_with_menu h4,
-.swagger-section .swagger-ui-wrap .heading_with_menu h5,
-.swagger-section .swagger-ui-wrap .heading_with_menu h6 {
-  display: block;
-  clear: none;
-  float: left;
-  -moz-box-sizing: border-box;
-  -webkit-box-sizing: border-box;
-  -ms-box-sizing: border-box;
-  box-sizing: border-box;
-  width: 60%;
-}
-.swagger-section .swagger-ui-wrap table {
-  border-collapse: collapse;
-  border-spacing: 0;
-}
-.swagger-section .swagger-ui-wrap table thead tr th {
-  padding: 5px;
-  font-size: 0.9em;
-  color: #666666;
-  border-bottom: 1px solid #999999;
-}
-.swagger-section .swagger-ui-wrap table tbody tr:last-child td {
-  border-bottom: none;
-}
-.swagger-section .swagger-ui-wrap table tbody tr.offset {
-  background-color: #f0f0f0;
-}
-.swagger-section .swagger-ui-wrap table tbody tr td {
-  padding: 6px;
-  font-size: 0.9em;
-  border-bottom: 1px solid #cccccc;
-  vertical-align: top;
-  line-height: 1.3em;
-}
-.swagger-section .swagger-ui-wrap ol {
-  margin: 0px 0 10px;
-  padding: 0 0 0 18px;
-  list-style-type: decimal;
-}
-.swagger-section .swagger-ui-wrap ol li {
-  padding: 5px 0px;
-  font-size: 0.9em;
-  color: #333333;
-}
-.swagger-section .swagger-ui-wrap ol,
-.swagger-section .swagger-ui-wrap ul {
-  list-style: none;
-}
-.swagger-section .swagger-ui-wrap h1 a,
-.swagger-section .swagger-ui-wrap h2 a,
-.swagger-section .swagger-ui-wrap h3 a,
-.swagger-section .swagger-ui-wrap h4 a,
-.swagger-section .swagger-ui-wrap h5 a,
-.swagger-section .swagger-ui-wrap h6 a {
-  text-decoration: none;
-}
-.swagger-section .swagger-ui-wrap h1 a:hover,
-.swagger-section .swagger-ui-wrap h2 a:hover,
-.swagger-section .swagger-ui-wrap h3 a:hover,
-.swagger-section .swagger-ui-wrap h4 a:hover,
-.swagger-section .swagger-ui-wrap h5 a:hover,
-.swagger-section .swagger-ui-wrap h6 a:hover {
-  text-decoration: underline;
-}
-.swagger-section .swagger-ui-wrap h1 span.divider,
-.swagger-section .swagger-ui-wrap h2 span.divider,
-.swagger-section .swagger-ui-wrap h3 span.divider,
-.swagger-section .swagger-ui-wrap h4 span.divider,
-.swagger-section .swagger-ui-wrap h5 span.divider,
-.swagger-section .swagger-ui-wrap h6 span.divider {
-  color: #aaaaaa;
-}
-.swagger-section .swagger-ui-wrap a {
-  color: #547f00;
-}
-.swagger-section .swagger-ui-wrap a img {
-  border: none;
-}
-.swagger-section .swagger-ui-wrap article,
-.swagger-section .swagger-ui-wrap aside,
-.swagger-section .swagger-ui-wrap details,
-.swagger-section .swagger-ui-wrap figcaption,
-.swagger-section .swagger-ui-wrap figure,
-.swagger-section .swagger-ui-wrap footer,
-.swagger-section .swagger-ui-wrap header,
-.swagger-section .swagger-ui-wrap hgroup,
-.swagger-section .swagger-ui-wrap menu,
-.swagger-section .swagger-ui-wrap nav,
-.swagger-section .swagger-ui-wrap section,
-.swagger-section .swagger-ui-wrap summary {
-  display: block;
-}
-.swagger-section .swagger-ui-wrap pre {
-  font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace;
-  background-color: #fcf6db;
-  border: 1px solid #e5e0c6;
-  padding: 10px;
-}
-.swagger-section .swagger-ui-wrap pre code {
-  line-height: 1.6em;
-  background: none;
-}
-.swagger-section .swagger-ui-wrap .content > .content-type > div > label {
-  clear: both;
-  display: block;
-  color: #0F6AB4;
-  font-size: 1.1em;
-  margin: 0;
-  padding: 15px 0 5px;
-}
-.swagger-section .swagger-ui-wrap .content pre {
-  font-size: 12px;
-  margin-top: 5px;
-  padding: 5px;
-}
-.swagger-section .swagger-ui-wrap .icon-btn {
-  cursor: pointer;
-}
-.swagger-section .swagger-ui-wrap .info_title {
-  padding-bottom: 10px;
-  font-weight: bold;
-  font-size: 25px;
-}
-.swagger-section .swagger-ui-wrap .footer {
-  margin-top: 20px;
-}
-.swagger-section .swagger-ui-wrap p.big,
-.swagger-section .swagger-ui-wrap div.big p {
-  font-size: 1em;
-  margin-bottom: 10px;
-}
-.swagger-section .swagger-ui-wrap form.fullwidth ol li.string input,
-.swagger-section .swagger-ui-wrap form.fullwidth ol li.url input,
-.swagger-section .swagger-ui-wrap form.fullwidth ol li.text textarea,
-.swagger-section .swagger-ui-wrap form.fullwidth ol li.numeric input {
-  width: 500px !important;
-}
-.swagger-section .swagger-ui-wrap .info_license {
-  padding-bottom: 5px;
-}
-.swagger-section .swagger-ui-wrap .info_tos {
-  padding-bottom: 5px;
-}
-.swagger-section .swagger-ui-wrap .message-fail {
-  color: #cc0000;
-}
-.swagger-section .swagger-ui-wrap .info_url {
-  padding-bottom: 5px;
-}
-.swagger-section .swagger-ui-wrap .info_email {
-  padding-bottom: 5px;
-}
-.swagger-section .swagger-ui-wrap .info_name {
-  padding-bottom: 5px;
-}
-.swagger-section .swagger-ui-wrap .info_description {
-  padding-bottom: 10px;
-  font-size: 15px;
-}
-.swagger-section .swagger-ui-wrap .markdown ol li,
-.swagger-section .swagger-ui-wrap .markdown ul li {
-  padding: 3px 0px;
-  line-height: 1.4em;
-  color: #333333;
-}
-.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.string input,
-.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.url input,
-.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.numeric input {
-  display: block;
-  padding: 4px;
-  width: auto;
-  clear: both;
-}
-.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.string input.title,
-.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.url input.title,
-.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.numeric input.title {
-  font-size: 1.3em;
-}
-.swagger-section .swagger-ui-wrap table.fullwidth {
-  width: 100%;
-}
-.swagger-section .swagger-ui-wrap .model-signature {
-  font-family: "Droid Sans", sans-serif;
-  font-size: 1em;
-  line-height: 1.5em;
-}
-.swagger-section .swagger-ui-wrap .model-signature .signature-nav a {
-  text-decoration: none;
-  color: #AAA;
-}
-.swagger-section .swagger-ui-wrap .model-signature .signature-nav a:hover {
-  text-decoration: underline;
-  color: black;
-}
-.swagger-section .swagger-ui-wrap .model-signature .signature-nav .selected {
-  color: black;
-  text-decoration: none;
-}
-.swagger-section .swagger-ui-wrap .model-signature .propType {
-  color: #5555aa;
-}
-.swagger-section .swagger-ui-wrap .model-signature pre:hover {
-  background-color: #ffffdd;
-}
-.swagger-section .swagger-ui-wrap .model-signature pre {
-  font-size: .85em;
-  line-height: 1.2em;
-  overflow: auto;
-  max-height: 200px;
-  cursor: pointer;
-}
-.swagger-section .swagger-ui-wrap .model-signature ul.signature-nav {
-  display: block;
-  margin: 0;
-  padding: 0;
-}
-.swagger-section .swagger-ui-wrap .model-signature ul.signature-nav li:last-child {
-  padding-right: 0;
-  border-right: none;
-}
-.swagger-section .swagger-ui-wrap .model-signature ul.signature-nav li {
-  float: left;
-  margin: 0 5px 5px 0;
-  padding: 2px 5px 2px 0;
-  border-right: 1px solid #ddd;
-}
-.swagger-section .swagger-ui-wrap .model-signature .propOpt {
-  color: #555;
-}
-.swagger-section .swagger-ui-wrap .model-signature .snippet small {
-  font-size: 0.75em;
-}
-.swagger-section .swagger-ui-wrap .model-signature .propOptKey {
-  font-style: italic;
-}
-.swagger-section .swagger-ui-wrap .model-signature .description .strong {
-  font-weight: bold;
-  color: #000;
-  font-size: .9em;
-}
-.swagger-section .swagger-ui-wrap .model-signature .description div {
-  font-size: 0.9em;
-  line-height: 1.5em;
-  margin-left: 1em;
-}
-.swagger-section .swagger-ui-wrap .model-signature .description .stronger {
-  font-weight: bold;
-  color: #000;
-}
-.swagger-section .swagger-ui-wrap .model-signature .description .propWrap .optionsWrapper {
-  border-spacing: 0;
-  position: absolute;
-  background-color: #ffffff;
-  border: 1px solid #bbbbbb;
-  display: none;
-  font-size: 11px;
-  max-width: 400px;
-  line-height: 30px;
-  color: black;
-  padding: 5px;
-  margin-left: 10px;
-}
-.swagger-section .swagger-ui-wrap .model-signature .description .propWrap .optionsWrapper th {
-  text-align: center;
-  background-color: #eeeeee;
-  border: 1px solid #bbbbbb;
-  font-size: 11px;
-  color: #666666;
-  font-weight: bold;
-  padding: 5px;
-  line-height: 15px;
-}
-.swagger-section .swagger-ui-wrap .model-signature .description .propWrap .optionsWrapper .optionName {
-  font-weight: bold;
-}
-.swagger-section .swagger-ui-wrap .model-signature .description .propDesc.markdown > p:first-child,
-.swagger-section .swagger-ui-wrap .model-signature .description .propDesc.markdown > p:last-child {
-  display: inline;
-}
-.swagger-section .swagger-ui-wrap .model-signature .description .propDesc.markdown > p:not(:first-child):before {
-  display: block;
-  content: '';
-}
-.swagger-section .swagger-ui-wrap .model-signature .description span:last-of-type.propDesc.markdown > p:only-child {
-  margin-right: -3px;
-}
-.swagger-section .swagger-ui-wrap .model-signature .propName {
-  font-weight: bold;
-}
-.swagger-section .swagger-ui-wrap .model-signature .signature-container {
-  clear: both;
-}
-.swagger-section .swagger-ui-wrap .body-textarea {
-  width: 300px;
-  height: 100px;
-  border: 1px solid #aaa;
-}
-.swagger-section .swagger-ui-wrap .markdown p code,
-.swagger-section .swagger-ui-wrap .markdown li code {
-  font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace;
-  background-color: #f0f0f0;
-  color: black;
-  padding: 1px 3px;
-}
-.swagger-section .swagger-ui-wrap .required {
-  font-weight: bold;
-}
-.swagger-section .swagger-ui-wrap input.parameter {
-  width: 300px;
-  border: 1px solid #aaa;
-}
-.swagger-section .swagger-ui-wrap h1 {
-  color: black;
-  font-size: 1.5em;
-  line-height: 1.3em;
-  padding: 10px 0 10px 0;
-  font-family: "Droid Sans", sans-serif;
-  font-weight: bold;
-}
-.swagger-section .swagger-ui-wrap .heading_with_menu {
-  float: none;
-  clear: both;
-  overflow: hidden;
-  display: block;
-}
-.swagger-section .swagger-ui-wrap .heading_with_menu ul {
-  display: block;
-  clear: none;
-  float: right;
-  -moz-box-sizing: border-box;
-  -webkit-box-sizing: border-box;
-  -ms-box-sizing: border-box;
-  box-sizing: border-box;
-  margin-top: 10px;
-}
-.swagger-section .swagger-ui-wrap h2 {
-  color: black;
-  font-size: 1.3em;
-  padding: 10px 0 10px 0;
-}
-.swagger-section .swagger-ui-wrap h2 a {
-  color: black;
-}
-.swagger-section .swagger-ui-wrap h2 span.sub {
-  font-size: 0.7em;
-  color: #999999;
-  font-style: italic;
-}
-.swagger-section .swagger-ui-wrap h2 span.sub a {
-  color: #777777;
-}
-.swagger-section .swagger-ui-wrap span.weak {
-  color: #666666;
-}
-.swagger-section .swagger-ui-wrap .message-success {
-  color: #89BF04;
-}
-.swagger-section .swagger-ui-wrap caption,
-.swagger-section .swagger-ui-wrap th,
-.swagger-section .swagger-ui-wrap td {
-  text-align: left;
-  font-weight: normal;
-  vertical-align: middle;
-}
-.swagger-section .swagger-ui-wrap .code {
-  font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace;
-}
-.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.text textarea {
-  font-family: "Droid Sans", sans-serif;
-  height: 250px;
-  padding: 4px;
-  display: block;
-  clear: both;
-}
-.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.select select {
-  display: block;
-  clear: both;
-}
-.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.boolean {
-  float: none;
-  clear: both;
-  overflow: hidden;
-  display: block;
-}
-.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.boolean label {
-  display: block;
-  float: left;
-  clear: none;
-  margin: 0;
-  padding: 0;
-}
-.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.boolean input {
-  display: block;
-  float: left;
-  clear: none;
-  margin: 0 5px 0 0;
-}
-.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.required label {
-  color: black;
-}
-.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li label {
-  display: block;
-  clear: both;
-  width: auto;
-  padding: 0 0 3px;
-  color: #666666;
-}
-.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li label abbr {
-  padding-left: 3px;
-  color: #888888;
-}
-.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li p.inline-hints {
-  margin-left: 0;
-  font-style: italic;
-  font-size: 0.9em;
-  margin: 0;
-}
-.swagger-section .swagger-ui-wrap form.formtastic fieldset.buttons {
-  margin: 0;
-  padding: 0;
-}
-.swagger-section .swagger-ui-wrap span.blank,
-.swagger-section .swagger-ui-wrap span.empty {
-  color: #888888;
-  font-style: italic;
-}
-.swagger-section .swagger-ui-wrap .markdown h3 {
-  color: #547f00;
-}
-.swagger-section .swagger-ui-wrap .markdown h4 {
-  color: #666666;
-}
-.swagger-section .swagger-ui-wrap .markdown pre {
-  font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace;
-  background-color: #fcf6db;
-  border: 1px solid #e5e0c6;
-  padding: 10px;
-  margin: 0 0 10px 0;
-}
-.swagger-section .swagger-ui-wrap .markdown pre code {
-  line-height: 1.6em;
-}
-.swagger-section .swagger-ui-wrap div.gist {
-  margin: 20px 0 25px 0 !important;
-}
-.swagger-section .swagger-ui-wrap ul#resources {
-  font-family: "Droid Sans", sans-serif;
-  font-size: 0.9em;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource {
-  border-bottom: 1px solid #dddddd;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource:hover div.heading h2 a,
-.swagger-section .swagger-ui-wrap ul#resources li.resource.active div.heading h2 a {
-  color: black;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource:hover div.heading ul.options li a,
-.swagger-section .swagger-ui-wrap ul#resources li.resource.active div.heading ul.options li a {
-  color: #555555;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource:last-child {
-  border-bottom: none;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading {
-  border: 1px solid transparent;
-  float: none;
-  clear: both;
-  overflow: hidden;
-  display: block;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options {
-  overflow: hidden;
-  padding: 0;
-  display: block;
-  clear: none;
-  float: right;
-  margin: 14px 10px 0 0;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li {
-  float: left;
-  clear: none;
-  margin: 0;
-  padding: 2px 10px;
-  border-right: 1px solid #dddddd;
-  color: #666666;
-  font-size: 0.9em;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li a {
-  color: #aaaaaa;
-  text-decoration: none;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li a:hover {
-  text-decoration: underline;
-  color: black;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li a:hover,
-.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li a:active,
-.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li a.active {
-  text-decoration: underline;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li:first-child,
-.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li.first {
-  padding-left: 0;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li:last-child,
-.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li.last {
-  padding-right: 0;
-  border-right: none;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options:first-child,
-.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options.first {
-  padding-left: 0;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading h2 {
-  color: #999999;
-  padding-left: 0;
-  display: block;
-  clear: none;
-  float: left;
-  font-family: "Droid Sans", sans-serif;
-  font-weight: bold;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading h2 a {
-  color: #999999;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading h2 a:hover {
-  color: black;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation {
-  float: none;
-  clear: both;
-  overflow: hidden;
-  display: block;
-  margin: 0 0 10px;
-  padding: 0;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading {
-  float: none;
-  clear: both;
-  overflow: hidden;
-  display: block;
-  margin: 0;
-  padding: 0;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 {
-  display: block;
-  clear: none;
-  float: left;
-  width: auto;
-  margin: 0;
-  padding: 0;
-  line-height: 1.1em;
-  color: black;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 span.path {
-  padding-left: 10px;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 span.path a {
-  color: black;
-  text-decoration: none;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 span.path a:hover {
-  text-decoration: underline;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 span.http_method a {
-  text-transform: uppercase;
-  text-decoration: none;
-  color: white;
-  display: inline-block;
-  width: 50px;
-  font-size: 0.7em;
-  text-align: center;
-  padding: 7px 0 4px;
-  -moz-border-radius: 2px;
-  -webkit-border-radius: 2px;
-  -o-border-radius: 2px;
-  -ms-border-radius: 2px;
-  -khtml-border-radius: 2px;
-  border-radius: 2px;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 span {
-  margin: 0;
-  padding: 0;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading ul.options {
-  overflow: hidden;
-  padding: 0;
-  display: block;
-  clear: none;
-  float: right;
-  margin: 6px 10px 0 0;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading ul.options li {
-  float: left;
-  clear: none;
-  margin: 0;
-  padding: 2px 10px;
-  font-size: 0.9em;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading ul.options li a {
-  text-decoration: none;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading ul.options li.access {
-  color: black;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content {
-  border-top: none;
-  padding: 10px;
-  -moz-border-radius-bottomleft: 6px;
-  -webkit-border-bottom-left-radius: 6px;
-  -o-border-bottom-left-radius: 6px;
-  -ms-border-bottom-left-radius: 6px;
-  -khtml-border-bottom-left-radius: 6px;
-  border-bottom-left-radius: 6px;
-  -moz-border-radius-bottomright: 6px;
-  -webkit-border-bottom-right-radius: 6px;
-  -o-border-bottom-right-radius: 6px;
-  -ms-border-bottom-right-radius: 6px;
-  -khtml-border-bottom-right-radius: 6px;
-  border-bottom-right-radius: 6px;
-  margin: 0 0 20px;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content h4 {
-  font-size: 1.1em;
-  margin: 0;
-  padding: 15px 0 5px;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content div.sandbox_header {
-  float: none;
-  clear: both;
-  overflow: hidden;
-  display: block;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content div.sandbox_header a {
-  padding: 4px 0 0 10px;
-  display: inline-block;
-  font-size: 0.9em;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content div.sandbox_header input.submit {
-  display: block;
-  clear: none;
-  float: left;
-  padding: 6px 8px;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content div.sandbox_header span.response_throbber {
-  background-image: url('../images/throbber.gif');
-  width: 128px;
-  height: 16px;
-  display: block;
-  clear: none;
-  float: right;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content form input[type='text'].error {
-  outline: 2px solid black;
-  outline-color: #cc0000;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content div.response div.block pre {
-  font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace;
-  padding: 10px;
-  font-size: 0.9em;
-  max-height: 400px;
-  overflow-y: auto;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading {
-  background-color: #f9f2e9;
-  border: 1px solid #f0e0ca;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading h3 span.http_method a {
-  background-color: #c5862b;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading ul.options li {
-  border-right: 1px solid #dddddd;
-  border-right-color: #f0e0ca;
-  color: #c5862b;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading ul.options li a {
-  color: #c5862b;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.content {
-  background-color: #faf5ee;
-  border: 1px solid #f0e0ca;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.content h4 {
-  color: #c5862b;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.content div.sandbox_header a {
-  color: #dcb67f;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading {
-  background-color: #fcffcd;
-  border: 1px solid black;
-  border-color: #ffd20f;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading h3 span.http_method a {
-  text-transform: uppercase;
-  background-color: #ffd20f;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading ul.options li {
-  border-right: 1px solid #dddddd;
-  border-right-color: #ffd20f;
-  color: #ffd20f;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading ul.options li a {
-  color: #ffd20f;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.content {
-  background-color: #fcffcd;
-  border: 1px solid black;
-  border-color: #ffd20f;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.content h4 {
-  color: #ffd20f;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.content div.sandbox_header a {
-  color: #6fc992;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading {
-  background-color: #f5e8e8;
-  border: 1px solid #e8c6c7;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading h3 span.http_method a {
-  text-transform: uppercase;
-  background-color: #a41e22;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading ul.options li {
-  border-right: 1px solid #dddddd;
-  border-right-color: #e8c6c7;
-  color: #a41e22;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading ul.options li a {
-  color: #a41e22;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.content {
-  background-color: #f7eded;
-  border: 1px solid #e8c6c7;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.content h4 {
-  color: #a41e22;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.content div.sandbox_header a {
-  color: #c8787a;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading {
-  background-color: #e7f6ec;
-  border: 1px solid #c3e8d1;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading h3 span.http_method a {
-  background-color: #10a54a;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading ul.options li {
-  border-right: 1px solid #dddddd;
-  border-right-color: #c3e8d1;
-  color: #10a54a;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading ul.options li a {
-  color: #10a54a;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.content {
-  background-color: #ebf7f0;
-  border: 1px solid #c3e8d1;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.content h4 {
-  color: #10a54a;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.content div.sandbox_header a {
-  color: #6fc992;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading {
-  background-color: #FCE9E3;
-  border: 1px solid #F5D5C3;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading h3 span.http_method a {
-  background-color: #D38042;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading ul.options li {
-  border-right: 1px solid #dddddd;
-  border-right-color: #f0cecb;
-  color: #D38042;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading ul.options li a {
-  color: #D38042;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.content {
-  background-color: #faf0ef;
-  border: 1px solid #f0cecb;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.content h4 {
-  color: #D38042;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.content div.sandbox_header a {
-  color: #dcb67f;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading {
-  background-color: #e7f0f7;
-  border: 1px solid #c3d9ec;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading h3 span.http_method a {
-  background-color: #0f6ab4;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading ul.options li {
-  border-right: 1px solid #dddddd;
-  border-right-color: #c3d9ec;
-  color: #0f6ab4;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading ul.options li a {
-  color: #0f6ab4;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.content {
-  background-color: #ebf3f9;
-  border: 1px solid #c3d9ec;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.content h4 {
-  color: #0f6ab4;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.content div.sandbox_header a {
-  color: #6fa5d2;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.heading {
-  background-color: #e7f0f7;
-  border: 1px solid #c3d9ec;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.heading h3 span.http_method a {
-  background-color: #0f6ab4;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.heading ul.options li {
-  border-right: 1px solid #dddddd;
-  border-right-color: #c3d9ec;
-  color: #0f6ab4;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.heading ul.options li a {
-  color: #0f6ab4;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.content {
-  background-color: #ebf3f9;
-  border: 1px solid #c3d9ec;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.content h4 {
-  color: #0f6ab4;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.content div.sandbox_header a {
-  color: #6fa5d2;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.content,
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.content,
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.content,
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.content,
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.content,
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.content {
-  border-top: none;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading ul.options li:last-child,
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading ul.options li:last-child,
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading ul.options li:last-child,
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading ul.options li:last-child,
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading ul.options li:last-child,
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading ul.options li:last-child,
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading ul.options li.last,
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading ul.options li.last,
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading ul.options li.last,
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading ul.options li.last,
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading ul.options li.last,
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading ul.options li.last {
-  padding-right: 0;
-  border-right: none;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations ul.options li a:hover,
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations ul.options li a:active,
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations ul.options li a.active {
-  text-decoration: underline;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations ul.options li:first-child,
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations ul.options li.first {
-  padding-left: 0;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations:first-child,
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations.first {
-  padding-left: 0;
-}
-.swagger-section .swagger-ui-wrap p#colophon {
-  margin: 0 15px 40px 15px;
-  padding: 10px 0;
-  font-size: 0.8em;
-  border-top: 1px solid #dddddd;
-  font-family: "Droid Sans", sans-serif;
-  color: #999999;
-  font-style: italic;
-}
-.swagger-section .swagger-ui-wrap p#colophon a {
-  text-decoration: none;
-  color: #547f00;
-}
-.swagger-section .swagger-ui-wrap h3 {
-  color: black;
-  font-size: 1.1em;
-  padding: 10px 0 10px 0;
-}
-.swagger-section .swagger-ui-wrap .markdown ol,
-.swagger-section .swagger-ui-wrap .markdown ul {
-  font-family: "Droid Sans", sans-serif;
-  margin: 5px 0 10px;
-  padding: 0 0 0 18px;
-  list-style-type: disc;
-}
-.swagger-section .swagger-ui-wrap form.form_box {
-  background-color: #ebf3f9;
-  border: 1px solid #c3d9ec;
-  padding: 10px;
-}
-.swagger-section .swagger-ui-wrap form.form_box label {
-  color: #0f6ab4 !important;
-}
-.swagger-section .swagger-ui-wrap form.form_box input[type=submit] {
-  display: block;
-  padding: 10px;
-}
-.swagger-section .swagger-ui-wrap form.form_box p.weak {
-  font-size: 0.8em;
-}
-.swagger-section .swagger-ui-wrap form.form_box p {
-  font-size: 0.9em;
-  padding: 0 0 15px;
-  color: #7e7b6d;
-}
-.swagger-section .swagger-ui-wrap form.form_box p a {
-  color: #646257;
-}
-.swagger-section .swagger-ui-wrap form.form_box p strong {
-  color: black;
-}
-.swagger-section .swagger-ui-wrap .operation-status td.markdown > p:last-child {
-  padding-bottom: 0;
-}
-.swagger-section .title {
-  font-style: bold;
-}
-.swagger-section .secondary_form {
-  display: none;
-}
-.swagger-section .main_image {
-  display: block;
-  margin-left: auto;
-  margin-right: auto;
-}
-.swagger-section .oauth_body {
-  margin-left: 100px;
-  margin-right: 100px;
-}
-.swagger-section .oauth_submit {
-  text-align: center;
-}
-.swagger-section .api-popup-dialog {
-  z-index: 10000;
-  position: absolute;
-  width: 500px;
-  background: #FFF;
-  padding: 20px;
-  border: 1px solid #ccc;
-  border-radius: 5px;
-  display: none;
-  font-size: 13px;
-  color: #777;
-}
-.swagger-section .api-popup-dialog .api-popup-title {
-  font-size: 24px;
-  padding: 10px 0;
-}
-.swagger-section .api-popup-dialog .api-popup-title {
-  font-size: 24px;
-  padding: 10px 0;
-}
-.swagger-section .api-popup-dialog p.error-msg {
-  padding-left: 5px;
-  padding-bottom: 5px;
-}
-.swagger-section .api-popup-dialog button.api-popup-authbtn {
-  height: 30px;
-}
-.swagger-section .api-popup-dialog button.api-popup-cancel {
-  height: 30px;
-}
-.swagger-section .api-popup-scopes {
-  padding: 10px 20px;
-}
-.swagger-section .api-popup-scopes li {
-  padding: 5px 0;
-  line-height: 20px;
-}
-.swagger-section .api-popup-scopes .api-scope-desc {
-  padding-left: 20px;
-  font-style: italic;
-}
-.swagger-section .api-popup-scopes li input {
-  position: relative;
-  top: 2px;
-}
-.swagger-section .api-popup-actions {
-  padding-top: 10px;
-}
-#header {
-  display: none;
-}
-.swagger-section .swagger-ui-wrap .model-signature pre {
-  max-height: none;
-}
-.swagger-section .swagger-ui-wrap .body-textarea {
-  width: 100px;
-}
-.swagger-section .swagger-ui-wrap input.parameter {
-  width: 100px;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options {
-  display: none;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints {
-  display: block !important;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content {
-  display: block !important;
-}
\ No newline at end of file
+.swagger-section pre code{display:block;padding:.5em;background:#f0f0f0}.swagger-section pre .clojure .built_in,.swagger-section pre .lisp .title,.swagger-section pre .nginx .title,.swagger-section pre .subst,.swagger-section pre .tag .title,.swagger-section pre code{color:#000}.swagger-section pre .addition,.swagger-section pre .aggregate,.swagger-section pre .apache .cbracket,.swagger-section pre .apache .tag,.swagger-section pre .bash .variable,.swagger-section pre .constant,.swagger- [...]
\ No newline at end of file
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/css/reset.css b/docs/2.2.1/rest-docs-archiva-rest-api/ui/css/reset.css
index ba62d6d..40dc830 100644
--- a/docs/2.2.1/rest-docs-archiva-rest-api/ui/css/reset.css
+++ b/docs/2.2.1/rest-docs-archiva-rest-api/ui/css/reset.css
@@ -1,125 +1 @@
-/* http://meyerweb.com/eric/tools/css/reset/ v2.0 | 20110126 */
-html,
-body,
-div,
-span,
-applet,
-object,
-iframe,
-h1,
-h2,
-h3,
-h4,
-h5,
-h6,
-p,
-blockquote,
-pre,
-a,
-abbr,
-acronym,
-address,
-big,
-cite,
-code,
-del,
-dfn,
-em,
-img,
-ins,
-kbd,
-q,
-s,
-samp,
-small,
-strike,
-strong,
-sub,
-sup,
-tt,
-var,
-b,
-u,
-i,
-center,
-dl,
-dt,
-dd,
-ol,
-ul,
-li,
-fieldset,
-form,
-label,
-legend,
-table,
-caption,
-tbody,
-tfoot,
-thead,
-tr,
-th,
-td,
-article,
-aside,
-canvas,
-details,
-embed,
-figure,
-figcaption,
-footer,
-header,
-hgroup,
-menu,
-nav,
-output,
-ruby,
-section,
-summary,
-time,
-mark,
-audio,
-video {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-size: 100%;
-  font: inherit;
-  vertical-align: baseline;
-}
-/* HTML5 display-role reset for older browsers */
-article,
-aside,
-details,
-figcaption,
-figure,
-footer,
-header,
-hgroup,
-menu,
-nav,
-section {
-  display: block;
-}
-body {
-  line-height: 1;
-}
-ol,
-ul {
-  list-style: none;
-}
-blockquote,
-q {
-  quotes: none;
-}
-blockquote:before,
-blockquote:after,
-q:before,
-q:after {
-  content: '';
-  content: none;
-}
-table {
-  border-collapse: collapse;
-  border-spacing: 0;
-}
\ No newline at end of file
+a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}a [...]
\ No newline at end of file
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/css/screen.css b/docs/2.2.1/rest-docs-archiva-rest-api/ui/css/screen.css
index 2343b92..1f069f6 100644
--- a/docs/2.2.1/rest-docs-archiva-rest-api/ui/css/screen.css
+++ b/docs/2.2.1/rest-docs-archiva-rest-api/ui/css/screen.css
@@ -1,1279 +1 @@
-/* Original style from softwaremaniacs.org (c) Ivan Sagalaev <Ma...@SoftwareManiacs.Org> */
-.swagger-section pre code {
-  display: block;
-  padding: 0.5em;
-  background: #F0F0F0;
-}
-.swagger-section pre code,
-.swagger-section pre .subst,
-.swagger-section pre .tag .title,
-.swagger-section pre .lisp .title,
-.swagger-section pre .clojure .built_in,
-.swagger-section pre .nginx .title {
-  color: black;
-}
-.swagger-section pre .string,
-.swagger-section pre .title,
-.swagger-section pre .constant,
-.swagger-section pre .parent,
-.swagger-section pre .tag .value,
-.swagger-section pre .rules .value,
-.swagger-section pre .rules .value .number,
-.swagger-section pre .preprocessor,
-.swagger-section pre .ruby .symbol,
-.swagger-section pre .ruby .symbol .string,
-.swagger-section pre .aggregate,
-.swagger-section pre .template_tag,
-.swagger-section pre .django .variable,
-.swagger-section pre .smalltalk .class,
-.swagger-section pre .addition,
-.swagger-section pre .flow,
-.swagger-section pre .stream,
-.swagger-section pre .bash .variable,
-.swagger-section pre .apache .tag,
-.swagger-section pre .apache .cbracket,
-.swagger-section pre .tex .command,
-.swagger-section pre .tex .special,
-.swagger-section pre .erlang_repl .function_or_atom,
-.swagger-section pre .markdown .header {
-  color: #800;
-}
-.swagger-section pre .comment,
-.swagger-section pre .annotation,
-.swagger-section pre .template_comment,
-.swagger-section pre .diff .header,
-.swagger-section pre .chunk,
-.swagger-section pre .markdown .blockquote {
-  color: #888;
-}
-.swagger-section pre .number,
-.swagger-section pre .date,
-.swagger-section pre .regexp,
-.swagger-section pre .literal,
-.swagger-section pre .smalltalk .symbol,
-.swagger-section pre .smalltalk .char,
-.swagger-section pre .go .constant,
-.swagger-section pre .change,
-.swagger-section pre .markdown .bullet,
-.swagger-section pre .markdown .link_url {
-  color: #080;
-}
-.swagger-section pre .label,
-.swagger-section pre .javadoc,
-.swagger-section pre .ruby .string,
-.swagger-section pre .decorator,
-.swagger-section pre .filter .argument,
-.swagger-section pre .localvars,
-.swagger-section pre .array,
-.swagger-section pre .attr_selector,
-.swagger-section pre .important,
-.swagger-section pre .pseudo,
-.swagger-section pre .pi,
-.swagger-section pre .doctype,
-.swagger-section pre .deletion,
-.swagger-section pre .envvar,
-.swagger-section pre .shebang,
-.swagger-section pre .apache .sqbracket,
-.swagger-section pre .nginx .built_in,
-.swagger-section pre .tex .formula,
-.swagger-section pre .erlang_repl .reserved,
-.swagger-section pre .prompt,
-.swagger-section pre .markdown .link_label,
-.swagger-section pre .vhdl .attribute,
-.swagger-section pre .clojure .attribute,
-.swagger-section pre .coffeescript .property {
-  color: #8888ff;
-}
-.swagger-section pre .keyword,
-.swagger-section pre .id,
-.swagger-section pre .phpdoc,
-.swagger-section pre .title,
-.swagger-section pre .built_in,
-.swagger-section pre .aggregate,
-.swagger-section pre .css .tag,
-.swagger-section pre .javadoctag,
-.swagger-section pre .phpdoc,
-.swagger-section pre .yardoctag,
-.swagger-section pre .smalltalk .class,
-.swagger-section pre .winutils,
-.swagger-section pre .bash .variable,
-.swagger-section pre .apache .tag,
-.swagger-section pre .go .typename,
-.swagger-section pre .tex .command,
-.swagger-section pre .markdown .strong,
-.swagger-section pre .request,
-.swagger-section pre .status {
-  font-weight: bold;
-}
-.swagger-section pre .markdown .emphasis {
-  font-style: italic;
-}
-.swagger-section pre .nginx .built_in {
-  font-weight: normal;
-}
-.swagger-section pre .coffeescript .javascript,
-.swagger-section pre .javascript .xml,
-.swagger-section pre .tex .formula,
-.swagger-section pre .xml .javascript,
-.swagger-section pre .xml .vbscript,
-.swagger-section pre .xml .css,
-.swagger-section pre .xml .cdata {
-  opacity: 0.5;
-}
-.swagger-section .swagger-ui-wrap {
-  line-height: 1;
-  font-family: "Droid Sans", sans-serif;
-  max-width: 960px;
-  margin-left: auto;
-  margin-right: auto;
-}
-.swagger-section .swagger-ui-wrap b,
-.swagger-section .swagger-ui-wrap strong {
-  font-family: "Droid Sans", sans-serif;
-  font-weight: bold;
-}
-.swagger-section .swagger-ui-wrap q,
-.swagger-section .swagger-ui-wrap blockquote {
-  quotes: none;
-}
-.swagger-section .swagger-ui-wrap p {
-  line-height: 1.4em;
-  padding: 0 0 10px;
-  color: #333333;
-}
-.swagger-section .swagger-ui-wrap q:before,
-.swagger-section .swagger-ui-wrap q:after,
-.swagger-section .swagger-ui-wrap blockquote:before,
-.swagger-section .swagger-ui-wrap blockquote:after {
-  content: none;
-}
-.swagger-section .swagger-ui-wrap .heading_with_menu h1,
-.swagger-section .swagger-ui-wrap .heading_with_menu h2,
-.swagger-section .swagger-ui-wrap .heading_with_menu h3,
-.swagger-section .swagger-ui-wrap .heading_with_menu h4,
-.swagger-section .swagger-ui-wrap .heading_with_menu h5,
-.swagger-section .swagger-ui-wrap .heading_with_menu h6 {
-  display: block;
-  clear: none;
-  float: left;
-  -moz-box-sizing: border-box;
-  -webkit-box-sizing: border-box;
-  -ms-box-sizing: border-box;
-  box-sizing: border-box;
-  width: 60%;
-}
-.swagger-section .swagger-ui-wrap table {
-  border-collapse: collapse;
-  border-spacing: 0;
-}
-.swagger-section .swagger-ui-wrap table thead tr th {
-  padding: 5px;
-  font-size: 0.9em;
-  color: #666666;
-  border-bottom: 1px solid #999999;
-}
-.swagger-section .swagger-ui-wrap table tbody tr:last-child td {
-  border-bottom: none;
-}
-.swagger-section .swagger-ui-wrap table tbody tr.offset {
-  background-color: #f0f0f0;
-}
-.swagger-section .swagger-ui-wrap table tbody tr td {
-  padding: 6px;
-  font-size: 0.9em;
-  border-bottom: 1px solid #cccccc;
-  vertical-align: top;
-  line-height: 1.3em;
-}
-.swagger-section .swagger-ui-wrap ol {
-  margin: 0px 0 10px;
-  padding: 0 0 0 18px;
-  list-style-type: decimal;
-}
-.swagger-section .swagger-ui-wrap ol li {
-  padding: 5px 0px;
-  font-size: 0.9em;
-  color: #333333;
-}
-.swagger-section .swagger-ui-wrap ol,
-.swagger-section .swagger-ui-wrap ul {
-  list-style: none;
-}
-.swagger-section .swagger-ui-wrap h1 a,
-.swagger-section .swagger-ui-wrap h2 a,
-.swagger-section .swagger-ui-wrap h3 a,
-.swagger-section .swagger-ui-wrap h4 a,
-.swagger-section .swagger-ui-wrap h5 a,
-.swagger-section .swagger-ui-wrap h6 a {
-  text-decoration: none;
-}
-.swagger-section .swagger-ui-wrap h1 a:hover,
-.swagger-section .swagger-ui-wrap h2 a:hover,
-.swagger-section .swagger-ui-wrap h3 a:hover,
-.swagger-section .swagger-ui-wrap h4 a:hover,
-.swagger-section .swagger-ui-wrap h5 a:hover,
-.swagger-section .swagger-ui-wrap h6 a:hover {
-  text-decoration: underline;
-}
-.swagger-section .swagger-ui-wrap h1 span.divider,
-.swagger-section .swagger-ui-wrap h2 span.divider,
-.swagger-section .swagger-ui-wrap h3 span.divider,
-.swagger-section .swagger-ui-wrap h4 span.divider,
-.swagger-section .swagger-ui-wrap h5 span.divider,
-.swagger-section .swagger-ui-wrap h6 span.divider {
-  color: #aaaaaa;
-}
-.swagger-section .swagger-ui-wrap a {
-  color: #547f00;
-}
-.swagger-section .swagger-ui-wrap a img {
-  border: none;
-}
-.swagger-section .swagger-ui-wrap article,
-.swagger-section .swagger-ui-wrap aside,
-.swagger-section .swagger-ui-wrap details,
-.swagger-section .swagger-ui-wrap figcaption,
-.swagger-section .swagger-ui-wrap figure,
-.swagger-section .swagger-ui-wrap footer,
-.swagger-section .swagger-ui-wrap header,
-.swagger-section .swagger-ui-wrap hgroup,
-.swagger-section .swagger-ui-wrap menu,
-.swagger-section .swagger-ui-wrap nav,
-.swagger-section .swagger-ui-wrap section,
-.swagger-section .swagger-ui-wrap summary {
-  display: block;
-}
-.swagger-section .swagger-ui-wrap pre {
-  font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace;
-  background-color: #fcf6db;
-  border: 1px solid #e5e0c6;
-  padding: 10px;
-}
-.swagger-section .swagger-ui-wrap pre code {
-  line-height: 1.6em;
-  background: none;
-}
-.swagger-section .swagger-ui-wrap .content > .content-type > div > label {
-  clear: both;
-  display: block;
-  color: #0F6AB4;
-  font-size: 1.1em;
-  margin: 0;
-  padding: 15px 0 5px;
-}
-.swagger-section .swagger-ui-wrap .content pre {
-  font-size: 12px;
-  margin-top: 5px;
-  padding: 5px;
-}
-.swagger-section .swagger-ui-wrap .icon-btn {
-  cursor: pointer;
-}
-.swagger-section .swagger-ui-wrap .info_title {
-  padding-bottom: 10px;
-  font-weight: bold;
-  font-size: 25px;
-}
-.swagger-section .swagger-ui-wrap .footer {
-  margin-top: 20px;
-}
-.swagger-section .swagger-ui-wrap p.big,
-.swagger-section .swagger-ui-wrap div.big p {
-  font-size: 1em;
-  margin-bottom: 10px;
-}
-.swagger-section .swagger-ui-wrap form.fullwidth ol li.string input,
-.swagger-section .swagger-ui-wrap form.fullwidth ol li.url input,
-.swagger-section .swagger-ui-wrap form.fullwidth ol li.text textarea,
-.swagger-section .swagger-ui-wrap form.fullwidth ol li.numeric input {
-  width: 500px !important;
-}
-.swagger-section .swagger-ui-wrap .info_license {
-  padding-bottom: 5px;
-}
-.swagger-section .swagger-ui-wrap .info_tos {
-  padding-bottom: 5px;
-}
-.swagger-section .swagger-ui-wrap .message-fail {
-  color: #cc0000;
-}
-.swagger-section .swagger-ui-wrap .info_url {
-  padding-bottom: 5px;
-}
-.swagger-section .swagger-ui-wrap .info_email {
-  padding-bottom: 5px;
-}
-.swagger-section .swagger-ui-wrap .info_name {
-  padding-bottom: 5px;
-}
-.swagger-section .swagger-ui-wrap .info_description {
-  padding-bottom: 10px;
-  font-size: 15px;
-}
-.swagger-section .swagger-ui-wrap .markdown ol li,
-.swagger-section .swagger-ui-wrap .markdown ul li {
-  padding: 3px 0px;
-  line-height: 1.4em;
-  color: #333333;
-}
-.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.string input,
-.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.url input,
-.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.numeric input {
-  display: block;
-  padding: 4px;
-  width: auto;
-  clear: both;
-}
-.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.string input.title,
-.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.url input.title,
-.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.numeric input.title {
-  font-size: 1.3em;
-}
-.swagger-section .swagger-ui-wrap table.fullwidth {
-  width: 100%;
-}
-.swagger-section .swagger-ui-wrap .model-signature {
-  font-family: "Droid Sans", sans-serif;
-  font-size: 1em;
-  line-height: 1.5em;
-}
-.swagger-section .swagger-ui-wrap .model-signature .signature-nav a {
-  text-decoration: none;
-  color: #AAA;
-}
-.swagger-section .swagger-ui-wrap .model-signature .signature-nav a:hover {
-  text-decoration: underline;
-  color: black;
-}
-.swagger-section .swagger-ui-wrap .model-signature .signature-nav .selected {
-  color: black;
-  text-decoration: none;
-}
-.swagger-section .swagger-ui-wrap .model-signature .propType {
-  color: #5555aa;
-}
-.swagger-section .swagger-ui-wrap .model-signature pre:hover {
-  background-color: #ffffdd;
-}
-.swagger-section .swagger-ui-wrap .model-signature pre {
-  font-size: .85em;
-  line-height: 1.2em;
-  overflow: auto;
-  max-height: 200px;
-  cursor: pointer;
-}
-.swagger-section .swagger-ui-wrap .model-signature ul.signature-nav {
-  display: block;
-  margin: 0;
-  padding: 0;
-}
-.swagger-section .swagger-ui-wrap .model-signature ul.signature-nav li:last-child {
-  padding-right: 0;
-  border-right: none;
-}
-.swagger-section .swagger-ui-wrap .model-signature ul.signature-nav li {
-  float: left;
-  margin: 0 5px 5px 0;
-  padding: 2px 5px 2px 0;
-  border-right: 1px solid #ddd;
-}
-.swagger-section .swagger-ui-wrap .model-signature .propOpt {
-  color: #555;
-}
-.swagger-section .swagger-ui-wrap .model-signature .snippet small {
-  font-size: 0.75em;
-}
-.swagger-section .swagger-ui-wrap .model-signature .propOptKey {
-  font-style: italic;
-}
-.swagger-section .swagger-ui-wrap .model-signature .description .strong {
-  font-weight: bold;
-  color: #000;
-  font-size: .9em;
-}
-.swagger-section .swagger-ui-wrap .model-signature .description div {
-  font-size: 0.9em;
-  line-height: 1.5em;
-  margin-left: 1em;
-}
-.swagger-section .swagger-ui-wrap .model-signature .description .stronger {
-  font-weight: bold;
-  color: #000;
-}
-.swagger-section .swagger-ui-wrap .model-signature .description .propWrap .optionsWrapper {
-  border-spacing: 0;
-  position: absolute;
-  background-color: #ffffff;
-  border: 1px solid #bbbbbb;
-  display: none;
-  font-size: 11px;
-  max-width: 400px;
-  line-height: 30px;
-  color: black;
-  padding: 5px;
-  margin-left: 10px;
-}
-.swagger-section .swagger-ui-wrap .model-signature .description .propWrap .optionsWrapper th {
-  text-align: center;
-  background-color: #eeeeee;
-  border: 1px solid #bbbbbb;
-  font-size: 11px;
-  color: #666666;
-  font-weight: bold;
-  padding: 5px;
-  line-height: 15px;
-}
-.swagger-section .swagger-ui-wrap .model-signature .description .propWrap .optionsWrapper .optionName {
-  font-weight: bold;
-}
-.swagger-section .swagger-ui-wrap .model-signature .description .propDesc.markdown > p:first-child,
-.swagger-section .swagger-ui-wrap .model-signature .description .propDesc.markdown > p:last-child {
-  display: inline;
-}
-.swagger-section .swagger-ui-wrap .model-signature .description .propDesc.markdown > p:not(:first-child):before {
-  display: block;
-  content: '';
-}
-.swagger-section .swagger-ui-wrap .model-signature .description span:last-of-type.propDesc.markdown > p:only-child {
-  margin-right: -3px;
-}
-.swagger-section .swagger-ui-wrap .model-signature .propName {
-  font-weight: bold;
-}
-.swagger-section .swagger-ui-wrap .model-signature .signature-container {
-  clear: both;
-}
-.swagger-section .swagger-ui-wrap .body-textarea {
-  width: 300px;
-  height: 100px;
-  border: 1px solid #aaa;
-}
-.swagger-section .swagger-ui-wrap .markdown p code,
-.swagger-section .swagger-ui-wrap .markdown li code {
-  font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace;
-  background-color: #f0f0f0;
-  color: black;
-  padding: 1px 3px;
-}
-.swagger-section .swagger-ui-wrap .required {
-  font-weight: bold;
-}
-.swagger-section .swagger-ui-wrap input.parameter {
-  width: 300px;
-  border: 1px solid #aaa;
-}
-.swagger-section .swagger-ui-wrap h1 {
-  color: black;
-  font-size: 1.5em;
-  line-height: 1.3em;
-  padding: 10px 0 10px 0;
-  font-family: "Droid Sans", sans-serif;
-  font-weight: bold;
-}
-.swagger-section .swagger-ui-wrap .heading_with_menu {
-  float: none;
-  clear: both;
-  overflow: hidden;
-  display: block;
-}
-.swagger-section .swagger-ui-wrap .heading_with_menu ul {
-  display: block;
-  clear: none;
-  float: right;
-  -moz-box-sizing: border-box;
-  -webkit-box-sizing: border-box;
-  -ms-box-sizing: border-box;
-  box-sizing: border-box;
-  margin-top: 10px;
-}
-.swagger-section .swagger-ui-wrap h2 {
-  color: black;
-  font-size: 1.3em;
-  padding: 10px 0 10px 0;
-}
-.swagger-section .swagger-ui-wrap h2 a {
-  color: black;
-}
-.swagger-section .swagger-ui-wrap h2 span.sub {
-  font-size: 0.7em;
-  color: #999999;
-  font-style: italic;
-}
-.swagger-section .swagger-ui-wrap h2 span.sub a {
-  color: #777777;
-}
-.swagger-section .swagger-ui-wrap span.weak {
-  color: #666666;
-}
-.swagger-section .swagger-ui-wrap .message-success {
-  color: #89BF04;
-}
-.swagger-section .swagger-ui-wrap caption,
-.swagger-section .swagger-ui-wrap th,
-.swagger-section .swagger-ui-wrap td {
-  text-align: left;
-  font-weight: normal;
-  vertical-align: middle;
-}
-.swagger-section .swagger-ui-wrap .code {
-  font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace;
-}
-.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.text textarea {
-  font-family: "Droid Sans", sans-serif;
-  height: 250px;
-  padding: 4px;
-  display: block;
-  clear: both;
-}
-.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.select select {
-  display: block;
-  clear: both;
-}
-.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.boolean {
-  float: none;
-  clear: both;
-  overflow: hidden;
-  display: block;
-}
-.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.boolean label {
-  display: block;
-  float: left;
-  clear: none;
-  margin: 0;
-  padding: 0;
-}
-.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.boolean input {
-  display: block;
-  float: left;
-  clear: none;
-  margin: 0 5px 0 0;
-}
-.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.required label {
-  color: black;
-}
-.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li label {
-  display: block;
-  clear: both;
-  width: auto;
-  padding: 0 0 3px;
-  color: #666666;
-}
-.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li label abbr {
-  padding-left: 3px;
-  color: #888888;
-}
-.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li p.inline-hints {
-  margin-left: 0;
-  font-style: italic;
-  font-size: 0.9em;
-  margin: 0;
-}
-.swagger-section .swagger-ui-wrap form.formtastic fieldset.buttons {
-  margin: 0;
-  padding: 0;
-}
-.swagger-section .swagger-ui-wrap span.blank,
-.swagger-section .swagger-ui-wrap span.empty {
-  color: #888888;
-  font-style: italic;
-}
-.swagger-section .swagger-ui-wrap .markdown h3 {
-  color: #547f00;
-}
-.swagger-section .swagger-ui-wrap .markdown h4 {
-  color: #666666;
-}
-.swagger-section .swagger-ui-wrap .markdown pre {
-  font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace;
-  background-color: #fcf6db;
-  border: 1px solid #e5e0c6;
-  padding: 10px;
-  margin: 0 0 10px 0;
-}
-.swagger-section .swagger-ui-wrap .markdown pre code {
-  line-height: 1.6em;
-}
-.swagger-section .swagger-ui-wrap div.gist {
-  margin: 20px 0 25px 0 !important;
-}
-.swagger-section .swagger-ui-wrap ul#resources {
-  font-family: "Droid Sans", sans-serif;
-  font-size: 0.9em;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource {
-  border-bottom: 1px solid #dddddd;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource:hover div.heading h2 a,
-.swagger-section .swagger-ui-wrap ul#resources li.resource.active div.heading h2 a {
-  color: black;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource:hover div.heading ul.options li a,
-.swagger-section .swagger-ui-wrap ul#resources li.resource.active div.heading ul.options li a {
-  color: #555555;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource:last-child {
-  border-bottom: none;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading {
-  border: 1px solid transparent;
-  float: none;
-  clear: both;
-  overflow: hidden;
-  display: block;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options {
-  overflow: hidden;
-  padding: 0;
-  display: block;
-  clear: none;
-  float: right;
-  margin: 14px 10px 0 0;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li {
-  float: left;
-  clear: none;
-  margin: 0;
-  padding: 2px 10px;
-  border-right: 1px solid #dddddd;
-  color: #666666;
-  font-size: 0.9em;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li a {
-  color: #aaaaaa;
-  text-decoration: none;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li a:hover {
-  text-decoration: underline;
-  color: black;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li a:hover,
-.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li a:active,
-.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li a.active {
-  text-decoration: underline;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li:first-child,
-.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li.first {
-  padding-left: 0;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li:last-child,
-.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li.last {
-  padding-right: 0;
-  border-right: none;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options:first-child,
-.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options.first {
-  padding-left: 0;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading h2 {
-  color: #999999;
-  padding-left: 0;
-  display: block;
-  clear: none;
-  float: left;
-  font-family: "Droid Sans", sans-serif;
-  font-weight: bold;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading h2 a {
-  color: #999999;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading h2 a:hover {
-  color: black;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation {
-  float: none;
-  clear: both;
-  overflow: hidden;
-  display: block;
-  margin: 0 0 10px;
-  padding: 0;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading {
-  float: none;
-  clear: both;
-  overflow: hidden;
-  display: block;
-  margin: 0;
-  padding: 0;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 {
-  display: block;
-  clear: none;
-  float: left;
-  width: auto;
-  margin: 0;
-  padding: 0;
-  line-height: 1.1em;
-  color: black;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 span.path {
-  padding-left: 10px;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 span.path a {
-  color: black;
-  text-decoration: none;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 span.path a:hover {
-  text-decoration: underline;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 span.http_method a {
-  text-transform: uppercase;
-  text-decoration: none;
-  color: white;
-  display: inline-block;
-  width: 50px;
-  font-size: 0.7em;
-  text-align: center;
-  padding: 7px 0 4px;
-  -moz-border-radius: 2px;
-  -webkit-border-radius: 2px;
-  -o-border-radius: 2px;
-  -ms-border-radius: 2px;
-  -khtml-border-radius: 2px;
-  border-radius: 2px;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 span {
-  margin: 0;
-  padding: 0;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading ul.options {
-  overflow: hidden;
-  padding: 0;
-  display: block;
-  clear: none;
-  float: right;
-  margin: 6px 10px 0 0;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading ul.options li {
-  float: left;
-  clear: none;
-  margin: 0;
-  padding: 2px 10px;
-  font-size: 0.9em;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading ul.options li a {
-  text-decoration: none;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading ul.options li.access {
-  color: black;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content {
-  border-top: none;
-  padding: 10px;
-  -moz-border-radius-bottomleft: 6px;
-  -webkit-border-bottom-left-radius: 6px;
-  -o-border-bottom-left-radius: 6px;
-  -ms-border-bottom-left-radius: 6px;
-  -khtml-border-bottom-left-radius: 6px;
-  border-bottom-left-radius: 6px;
-  -moz-border-radius-bottomright: 6px;
-  -webkit-border-bottom-right-radius: 6px;
-  -o-border-bottom-right-radius: 6px;
-  -ms-border-bottom-right-radius: 6px;
-  -khtml-border-bottom-right-radius: 6px;
-  border-bottom-right-radius: 6px;
-  margin: 0 0 20px;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content h4 {
-  font-size: 1.1em;
-  margin: 0;
-  padding: 15px 0 5px;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content div.sandbox_header {
-  float: none;
-  clear: both;
-  overflow: hidden;
-  display: block;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content div.sandbox_header a {
-  padding: 4px 0 0 10px;
-  display: inline-block;
-  font-size: 0.9em;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content div.sandbox_header input.submit {
-  display: block;
-  clear: none;
-  float: left;
-  padding: 6px 8px;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content div.sandbox_header span.response_throbber {
-  background-image: url('../images/throbber.gif');
-  width: 128px;
-  height: 16px;
-  display: block;
-  clear: none;
-  float: right;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content form input[type='text'].error {
-  outline: 2px solid black;
-  outline-color: #cc0000;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content div.response div.block pre {
-  font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace;
-  padding: 10px;
-  font-size: 0.9em;
-  max-height: 400px;
-  overflow-y: auto;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading {
-  background-color: #f9f2e9;
-  border: 1px solid #f0e0ca;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading h3 span.http_method a {
-  background-color: #c5862b;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading ul.options li {
-  border-right: 1px solid #dddddd;
-  border-right-color: #f0e0ca;
-  color: #c5862b;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading ul.options li a {
-  color: #c5862b;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.content {
-  background-color: #faf5ee;
-  border: 1px solid #f0e0ca;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.content h4 {
-  color: #c5862b;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.content div.sandbox_header a {
-  color: #dcb67f;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading {
-  background-color: #fcffcd;
-  border: 1px solid black;
-  border-color: #ffd20f;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading h3 span.http_method a {
-  text-transform: uppercase;
-  background-color: #ffd20f;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading ul.options li {
-  border-right: 1px solid #dddddd;
-  border-right-color: #ffd20f;
-  color: #ffd20f;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading ul.options li a {
-  color: #ffd20f;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.content {
-  background-color: #fcffcd;
-  border: 1px solid black;
-  border-color: #ffd20f;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.content h4 {
-  color: #ffd20f;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.content div.sandbox_header a {
-  color: #6fc992;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading {
-  background-color: #f5e8e8;
-  border: 1px solid #e8c6c7;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading h3 span.http_method a {
-  text-transform: uppercase;
-  background-color: #a41e22;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading ul.options li {
-  border-right: 1px solid #dddddd;
-  border-right-color: #e8c6c7;
-  color: #a41e22;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading ul.options li a {
-  color: #a41e22;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.content {
-  background-color: #f7eded;
-  border: 1px solid #e8c6c7;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.content h4 {
-  color: #a41e22;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.content div.sandbox_header a {
-  color: #c8787a;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading {
-  background-color: #e7f6ec;
-  border: 1px solid #c3e8d1;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading h3 span.http_method a {
-  background-color: #10a54a;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading ul.options li {
-  border-right: 1px solid #dddddd;
-  border-right-color: #c3e8d1;
-  color: #10a54a;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading ul.options li a {
-  color: #10a54a;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.content {
-  background-color: #ebf7f0;
-  border: 1px solid #c3e8d1;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.content h4 {
-  color: #10a54a;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.content div.sandbox_header a {
-  color: #6fc992;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading {
-  background-color: #FCE9E3;
-  border: 1px solid #F5D5C3;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading h3 span.http_method a {
-  background-color: #D38042;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading ul.options li {
-  border-right: 1px solid #dddddd;
-  border-right-color: #f0cecb;
-  color: #D38042;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading ul.options li a {
-  color: #D38042;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.content {
-  background-color: #faf0ef;
-  border: 1px solid #f0cecb;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.content h4 {
-  color: #D38042;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.content div.sandbox_header a {
-  color: #dcb67f;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading {
-  background-color: #e7f0f7;
-  border: 1px solid #c3d9ec;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading h3 span.http_method a {
-  background-color: #0f6ab4;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading ul.options li {
-  border-right: 1px solid #dddddd;
-  border-right-color: #c3d9ec;
-  color: #0f6ab4;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading ul.options li a {
-  color: #0f6ab4;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.content {
-  background-color: #ebf3f9;
-  border: 1px solid #c3d9ec;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.content h4 {
-  color: #0f6ab4;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.content div.sandbox_header a {
-  color: #6fa5d2;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.heading {
-  background-color: #e7f0f7;
-  border: 1px solid #c3d9ec;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.heading h3 span.http_method a {
-  background-color: #0f6ab4;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.heading ul.options li {
-  border-right: 1px solid #dddddd;
-  border-right-color: #c3d9ec;
-  color: #0f6ab4;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.heading ul.options li a {
-  color: #0f6ab4;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.content {
-  background-color: #ebf3f9;
-  border: 1px solid #c3d9ec;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.content h4 {
-  color: #0f6ab4;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.content div.sandbox_header a {
-  color: #6fa5d2;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.content,
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.content,
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.content,
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.content,
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.content,
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.content {
-  border-top: none;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading ul.options li:last-child,
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading ul.options li:last-child,
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading ul.options li:last-child,
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading ul.options li:last-child,
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading ul.options li:last-child,
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading ul.options li:last-child,
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading ul.options li.last,
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading ul.options li.last,
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading ul.options li.last,
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading ul.options li.last,
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading ul.options li.last,
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading ul.options li.last {
-  padding-right: 0;
-  border-right: none;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations ul.options li a:hover,
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations ul.options li a:active,
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations ul.options li a.active {
-  text-decoration: underline;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations ul.options li:first-child,
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations ul.options li.first {
-  padding-left: 0;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations:first-child,
-.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations.first {
-  padding-left: 0;
-}
-.swagger-section .swagger-ui-wrap p#colophon {
-  margin: 0 15px 40px 15px;
-  padding: 10px 0;
-  font-size: 0.8em;
-  border-top: 1px solid #dddddd;
-  font-family: "Droid Sans", sans-serif;
-  color: #999999;
-  font-style: italic;
-}
-.swagger-section .swagger-ui-wrap p#colophon a {
-  text-decoration: none;
-  color: #547f00;
-}
-.swagger-section .swagger-ui-wrap h3 {
-  color: black;
-  font-size: 1.1em;
-  padding: 10px 0 10px 0;
-}
-.swagger-section .swagger-ui-wrap .markdown ol,
-.swagger-section .swagger-ui-wrap .markdown ul {
-  font-family: "Droid Sans", sans-serif;
-  margin: 5px 0 10px;
-  padding: 0 0 0 18px;
-  list-style-type: disc;
-}
-.swagger-section .swagger-ui-wrap form.form_box {
-  background-color: #ebf3f9;
-  border: 1px solid #c3d9ec;
-  padding: 10px;
-}
-.swagger-section .swagger-ui-wrap form.form_box label {
-  color: #0f6ab4 !important;
-}
-.swagger-section .swagger-ui-wrap form.form_box input[type=submit] {
-  display: block;
-  padding: 10px;
-}
-.swagger-section .swagger-ui-wrap form.form_box p.weak {
-  font-size: 0.8em;
-}
-.swagger-section .swagger-ui-wrap form.form_box p {
-  font-size: 0.9em;
-  padding: 0 0 15px;
-  color: #7e7b6d;
-}
-.swagger-section .swagger-ui-wrap form.form_box p a {
-  color: #646257;
-}
-.swagger-section .swagger-ui-wrap form.form_box p strong {
-  color: black;
-}
-.swagger-section .swagger-ui-wrap .operation-status td.markdown > p:last-child {
-  padding-bottom: 0;
-}
-.swagger-section .title {
-  font-style: bold;
-}
-.swagger-section .secondary_form {
-  display: none;
-}
-.swagger-section .main_image {
-  display: block;
-  margin-left: auto;
-  margin-right: auto;
-}
-.swagger-section .oauth_body {
-  margin-left: 100px;
-  margin-right: 100px;
-}
-.swagger-section .oauth_submit {
-  text-align: center;
-}
-.swagger-section .api-popup-dialog {
-  z-index: 10000;
-  position: absolute;
-  width: 500px;
-  background: #FFF;
-  padding: 20px;
-  border: 1px solid #ccc;
-  border-radius: 5px;
-  display: none;
-  font-size: 13px;
-  color: #777;
-}
-.swagger-section .api-popup-dialog .api-popup-title {
-  font-size: 24px;
-  padding: 10px 0;
-}
-.swagger-section .api-popup-dialog .api-popup-title {
-  font-size: 24px;
-  padding: 10px 0;
-}
-.swagger-section .api-popup-dialog p.error-msg {
-  padding-left: 5px;
-  padding-bottom: 5px;
-}
-.swagger-section .api-popup-dialog button.api-popup-authbtn {
-  height: 30px;
-}
-.swagger-section .api-popup-dialog button.api-popup-cancel {
-  height: 30px;
-}
-.swagger-section .api-popup-scopes {
-  padding: 10px 20px;
-}
-.swagger-section .api-popup-scopes li {
-  padding: 5px 0;
-  line-height: 20px;
-}
-.swagger-section .api-popup-scopes .api-scope-desc {
-  padding-left: 20px;
-  font-style: italic;
-}
-.swagger-section .api-popup-scopes li input {
-  position: relative;
-  top: 2px;
-}
-.swagger-section .api-popup-actions {
-  padding-top: 10px;
-}
-.swagger-section .access {
-  float: right;
-}
-.swagger-section .auth {
-  float: right;
-}
-.swagger-section .api-ic {
-  height: 18px;
-  vertical-align: middle;
-  display: inline-block;
-  background: url(../images/explorer_icons.png) no-repeat;
-}
-.swagger-section .api-ic .api_information_panel {
-  position: relative;
-  margin-top: 20px;
-  margin-left: -5px;
-  background: #FFF;
-  border: 1px solid #ccc;
-  border-radius: 5px;
-  display: none;
-  font-size: 13px;
-  max-width: 300px;
-  line-height: 30px;
-  color: black;
-  padding: 5px;
-}
-.swagger-section .api-ic .api_information_panel p .api-msg-enabled {
-  color: green;
-}
-.swagger-section .api-ic .api_information_panel p .api-msg-disabled {
-  color: red;
-}
-.swagger-section .api-ic:hover .api_information_panel {
-  position: absolute;
-  display: block;
-}
-.swagger-section .ic-info {
-  background-position: 0 0;
-  width: 18px;
-  margin-top: -6px;
-  margin-left: 4px;
-}
-.swagger-section .ic-warning {
-  background-position: -60px 0;
-  width: 18px;
-  margin-top: -6px;
-  margin-left: 4px;
-}
-.swagger-section .ic-error {
-  background-position: -30px 0;
-  width: 18px;
-  margin-top: -6px;
-  margin-left: 4px;
-}
-.swagger-section .ic-off {
-  background-position: -90px 0;
-  width: 58px;
-  margin-top: -4px;
-  cursor: pointer;
-}
-.swagger-section .ic-on {
-  background-position: -160px 0;
-  width: 58px;
-  margin-top: -4px;
-  cursor: pointer;
-}
-.swagger-section #header {
-  background-color: #89bf04;
-  padding: 14px;
-}
-.swagger-section #header a#logo {
-  font-size: 1.5em;
-  font-weight: bold;
-  text-decoration: none;
-  background: transparent url(../images/logo_small.png) no-repeat left center;
-  padding: 20px 0 20px 40px;
-  color: white;
-}
-.swagger-section #header form#api_selector {
-  display: block;
-  clear: none;
-  float: right;
-}
-.swagger-section #header form#api_selector .input {
-  display: block;
-  clear: none;
-  float: left;
-  margin: 0 10px 0 0;
-}
-.swagger-section #header form#api_selector .input input#input_apiKey {
-  width: 200px;
-}
-.swagger-section #header form#api_selector .input input#input_baseUrl {
-  width: 400px;
-}
-.swagger-section #header form#api_selector .input a#explore {
-  display: block;
-  text-decoration: none;
-  font-weight: bold;
-  padding: 6px 8px;
-  font-size: 0.9em;
-  color: white;
-  background-color: #547f00;
-  -moz-border-radius: 4px;
-  -webkit-border-radius: 4px;
-  -o-border-radius: 4px;
-  -ms-border-radius: 4px;
-  -khtml-border-radius: 4px;
-  border-radius: 4px;
-}
-.swagger-section #header form#api_selector .input a#explore:hover {
-  background-color: #547f00;
-}
-.swagger-section #header form#api_selector .input input {
-  font-size: 0.9em;
-  padding: 3px;
-  margin: 0;
-}
-.swagger-section #content_message {
-  margin: 10px 15px;
-  font-style: italic;
-  color: #999999;
-}
-.swagger-section #message-bar {
-  min-height: 30px;
-  text-align: center;
-  padding-top: 10px;
-}
\ No newline at end of file
+.swagger-section pre code{display:block;padding:.5em;background:#f0f0f0}.swagger-section pre .clojure .built_in,.swagger-section pre .lisp .title,.swagger-section pre .nginx .title,.swagger-section pre .subst,.swagger-section pre .tag .title,.swagger-section pre code{color:#000}.swagger-section pre .addition,.swagger-section pre .aggregate,.swagger-section pre .apache .cbracket,.swagger-section pre .apache .tag,.swagger-section pre .bash .variable,.swagger-section pre .constant,.swagger- [...]
\ No newline at end of file
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/css/style.css b/docs/2.2.1/rest-docs-archiva-rest-api/ui/css/style.css
index 8031380..52907e4 100644
--- a/docs/2.2.1/rest-docs-archiva-rest-api/ui/css/style.css
+++ b/docs/2.2.1/rest-docs-archiva-rest-api/ui/css/style.css
@@ -1,250 +1 @@
-.swagger-section #header a#logo {
-  font-size: 1.5em;
-  font-weight: bold;
-  text-decoration: none;
-  background: transparent url(../images/logo.png) no-repeat left center;
-  padding: 20px 0 20px 40px;
-}
-#text-head {
-  font-size: 80px;
-  font-family: 'Roboto', sans-serif;
-  color: #ffffff;
-  float: right;
-  margin-right: 20%;
-}
-.navbar-fixed-top .navbar-nav {
-  height: auto;
-}
-.navbar-fixed-top .navbar-brand {
-  height: auto;
-}
-.navbar-header {
-  height: auto;
-}
-.navbar-inverse {
-  background-color: #000;
-  border-color: #000;
-}
-#navbar-brand {
-  margin-left: 20%;
-}
-.navtext {
-  font-size: 10px;
-}
-.h1,
-h1 {
-  font-size: 60px;
-}
-.navbar-default .navbar-header .navbar-brand {
-  color: #a2dfee;
-}
-/* tag titles */
-.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading h2 a {
-  color: #393939;
-  font-family: 'Arvo', serif;
-  font-size: 1.5em;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading h2 a:hover {
-  color: black;
-}
-.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading h2 {
-  color: #525252;
-  padding-left: 0px;
-  display: block;
-  clear: none;
-  float: left;
-  font-family: 'Arvo', serif;
-  font-weight: bold;
-}
-.navbar-default .navbar-collapse,
-.navbar-default .navbar-form {
-  border-color: #0A0A0A;
-}
-.container1 {
-  width: 1500px;
-  margin: auto;
-  margin-top: 0;
-  background-image: url('../images/shield.png');
-  background-repeat: no-repeat;
-  background-position: -40px -20px;
-  margin-bottom: 210px;
-}
-.container-inner {
-  width: 1200px;
-  margin: auto;
-  background-color: rgba(223, 227, 228, 0.75);
-  padding-bottom: 40px;
-  padding-top: 40px;
-  border-radius: 15px;
-}
-.header-content {
-  padding: 0;
-  width: 1000px;
-}
-.title1 {
-  font-size: 80px;
-  font-family: 'Vollkorn', serif;
-  color: #404040;
-  text-align: center;
-  padding-top: 40px;
-  padding-bottom: 100px;
-}
-#icon {
-  margin-top: -18px;
-}
-.subtext {
-  font-size: 25px;
-  font-style: italic;
-  color: #08b;
-  text-align: right;
-  padding-right: 250px;
-}
-.bg-primary {
-  background-color: #00468b;
-}
-.navbar-default .nav > li > a,
-.navbar-default .nav > li > a:focus {
-  color: #08b;
-}
-.navbar-default .nav > li > a,
-.navbar-default .nav > li > a:hover {
-  color: #08b;
-}
-.navbar-default .nav > li > a,
-.navbar-default .nav > li > a:focus:hover {
-  color: #08b;
-}
-.text-faded {
-  font-size: 25px;
-  font-family: 'Vollkorn', serif;
-}
-.section-heading {
-  font-family: 'Vollkorn', serif;
-  font-size: 45px;
-  padding-bottom: 10px;
-}
-hr {
-  border-color: #00468b;
-  padding-bottom: 10px;
-}
-.description {
-  margin-top: 20px;
-  padding-bottom: 200px;
-}
-.description li {
-  font-family: 'Vollkorn', serif;
-  font-size: 25px;
-  color: #525252;
-  margin-left: 28%;
-  padding-top: 5px;
-}
-.gap {
-  margin-top: 200px;
-}
-.troubleshootingtext {
-  color: rgba(255, 255, 255, 0.7);
-  padding-left: 30%;
-}
-.troubleshootingtext li {
-  list-style-type: circle;
-  font-size: 25px;
-  padding-bottom: 5px;
-}
-.overlay {
-  position: absolute;
-  top: 0;
-  left: 0;
-  width: 100%;
-  height: 100%;
-  z-index: 1000;
-}
-.block.response_body.json:hover {
-  cursor: pointer;
-}
-.backdrop {
-  color: blue;
-}
-#myModal {
-  height: 100%;
-}
-.modal-backdrop {
-  bottom: 0;
-  position: fixed;
-}
-.curl {
-  padding: 10px;
-  font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace;
-  font-size: 0.9em;
-  max-height: 400px;
-  margin-top: 5px;
-  overflow-y: auto;
-  background-color: #fcf6db;
-  border: 1px solid #e5e0c6;
-  border-radius: 4px;
-}
-.curl_title {
-  font-size: 1.1em;
-  margin: 0;
-  padding: 15px 0 5px;
-  font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif;
-  font-weight: 500;
-  line-height: 1.1;
-}
-.footer {
-  display: none;
-}
-.swagger-section .swagger-ui-wrap h2 {
-  padding: 0;
-}
-h2 {
-  margin: 0;
-  margin-bottom: 5px;
-}
-.markdown p {
-  font-size: 15px;
-  font-family: 'Arvo', serif;
-}
-.swagger-section .swagger-ui-wrap .code {
-  font-size: 15px;
-  font-family: 'Arvo', serif;
-}
-.swagger-section .swagger-ui-wrap b {
-  font-family: 'Arvo', serif;
-}
-#signin:hover {
-  cursor: pointer;
-}
-.dropdown-menu {
-  padding: 15px;
-}
-.navbar-right .dropdown-menu {
-  left: 0;
-  right: auto;
-}
-#signinbutton {
-  width: 100%;
-  height: 32px;
-  font-size: 13px;
-  font-weight: bold;
-  color: #08b;
-}
-.navbar-default .nav > li .details {
-  color: #000000;
-  text-transform: none;
-  font-size: 15px;
-  font-weight: normal;
-  font-family: 'Open Sans', sans-serif;
-  font-style: italic;
-  line-height: 20px;
-  top: -2px;
-}
-.navbar-default .nav > li .details:hover {
-  color: black;
-}
-#signout {
-  width: 100%;
-  height: 32px;
-  font-size: 13px;
-  font-weight: bold;
-  color: #08b;
-}
\ No newline at end of file
+.swagger-section #header a#logo{font-size:1.5em;font-weight:700;text-decoration:none;padding:20px 0 20px 40px}#text-head{font-size:80px;font-family:Roboto,sans-serif;color:#fff;float:right;margin-right:20%}.navbar-fixed-top .navbar-brand,.navbar-fixed-top .navbar-nav,.navbar-header{height:auto}.navbar-inverse{background-color:#000;border-color:#000}#navbar-brand{margin-left:20%}.navtext{font-size:10px}.h1,h1{font-size:60px}.navbar-default .navbar-header .navbar-brand{color:#a2dfee}.swagg [...]
\ No newline at end of file
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/css/typography.css b/docs/2.2.1/rest-docs-archiva-rest-api/ui/css/typography.css
index 79c9981..e69de29 100644
--- a/docs/2.2.1/rest-docs-archiva-rest-api/ui/css/typography.css
+++ b/docs/2.2.1/rest-docs-archiva-rest-api/ui/css/typography.css
@@ -1,26 +0,0 @@
-/* droid-sans-regular - latin */
-@font-face {
-  font-family: 'Droid Sans';
-  font-style: normal;
-  font-weight: 400;
-  src: url('../fonts/droid-sans-v6-latin-regular.eot'); /* IE9 Compat Modes */
-  src: local('Droid Sans'), local('DroidSans'),
-       url('../fonts/droid-sans-v6-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
-       url('../fonts/droid-sans-v6-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
-       url('../fonts/droid-sans-v6-latin-regular.woff') format('woff'), /* Modern Browsers */
-       url('../fonts/droid-sans-v6-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
-       url('../fonts/droid-sans-v6-latin-regular.svg#DroidSans') format('svg'); /* Legacy iOS */
-}
-/* droid-sans-700 - latin */
-@font-face {
-  font-family: 'Droid Sans';
-  font-style: normal;
-  font-weight: 700;
-  src: url('../fonts/droid-sans-v6-latin-700.eot'); /* IE9 Compat Modes */
-  src: local('Droid Sans Bold'), local('DroidSans-Bold'),
-       url('../fonts/droid-sans-v6-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
-       url('../fonts/droid-sans-v6-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
-       url('../fonts/droid-sans-v6-latin-700.woff') format('woff'), /* Modern Browsers */
-       url('../fonts/droid-sans-v6-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
-       url('../fonts/droid-sans-v6-latin-700.svg#DroidSans') format('svg'); /* Legacy iOS */
-}
\ No newline at end of file
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/fonts/DroidSans-Bold.ttf b/docs/2.2.1/rest-docs-archiva-rest-api/ui/fonts/DroidSans-Bold.ttf
new file mode 100644
index 0000000..036c4d1
Binary files /dev/null and b/docs/2.2.1/rest-docs-archiva-rest-api/ui/fonts/DroidSans-Bold.ttf differ
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/fonts/DroidSans.ttf b/docs/2.2.1/rest-docs-archiva-rest-api/ui/fonts/DroidSans.ttf
new file mode 100644
index 0000000..e517a0c
Binary files /dev/null and b/docs/2.2.1/rest-docs-archiva-rest-api/ui/fonts/DroidSans.ttf differ
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/images/collapse.gif b/docs/2.2.1/rest-docs-archiva-rest-api/ui/images/collapse.gif
new file mode 100644
index 0000000..8843e8c
Binary files /dev/null and b/docs/2.2.1/rest-docs-archiva-rest-api/ui/images/collapse.gif differ
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/images/expand.gif b/docs/2.2.1/rest-docs-archiva-rest-api/ui/images/expand.gif
new file mode 100644
index 0000000..477bf13
Binary files /dev/null and b/docs/2.2.1/rest-docs-archiva-rest-api/ui/images/expand.gif differ
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/images/explorer_icons.png b/docs/2.2.1/rest-docs-archiva-rest-api/ui/images/explorer_icons.png
index ed9d2ff..be43b27 100644
Binary files a/docs/2.2.1/rest-docs-archiva-rest-api/ui/images/explorer_icons.png and b/docs/2.2.1/rest-docs-archiva-rest-api/ui/images/explorer_icons.png differ
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/images/favicon-16x16.png b/docs/2.2.1/rest-docs-archiva-rest-api/ui/images/favicon-16x16.png
index 66b1a5b..0f7e13b 100644
Binary files a/docs/2.2.1/rest-docs-archiva-rest-api/ui/images/favicon-16x16.png and b/docs/2.2.1/rest-docs-archiva-rest-api/ui/images/favicon-16x16.png differ
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/images/favicon-32x32.png b/docs/2.2.1/rest-docs-archiva-rest-api/ui/images/favicon-32x32.png
index 32f319f..b0a3352 100644
Binary files a/docs/2.2.1/rest-docs-archiva-rest-api/ui/images/favicon-32x32.png and b/docs/2.2.1/rest-docs-archiva-rest-api/ui/images/favicon-32x32.png differ
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/images/logo_small.png b/docs/2.2.1/rest-docs-archiva-rest-api/ui/images/logo_small.png
index 5496a65..ce3908e 100644
Binary files a/docs/2.2.1/rest-docs-archiva-rest-api/ui/images/logo_small.png and b/docs/2.2.1/rest-docs-archiva-rest-api/ui/images/logo_small.png differ
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/images/pet_store_api.png b/docs/2.2.1/rest-docs-archiva-rest-api/ui/images/pet_store_api.png
index f9f9cd4..1192ad8 100644
Binary files a/docs/2.2.1/rest-docs-archiva-rest-api/ui/images/pet_store_api.png and b/docs/2.2.1/rest-docs-archiva-rest-api/ui/images/pet_store_api.png differ
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/images/wordnik_api.png b/docs/2.2.1/rest-docs-archiva-rest-api/ui/images/wordnik_api.png
index dca4f14..dc0ddab 100644
Binary files a/docs/2.2.1/rest-docs-archiva-rest-api/ui/images/wordnik_api.png and b/docs/2.2.1/rest-docs-archiva-rest-api/ui/images/wordnik_api.png differ
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/index.html b/docs/2.2.1/rest-docs-archiva-rest-api/ui/index.html
index 8ec091c..06913d6 100644
--- a/docs/2.2.1/rest-docs-archiva-rest-api/ui/index.html
+++ b/docs/2.2.1/rest-docs-archiva-rest-api/ui/index.html
@@ -2,8 +2,8 @@
 <html>
 <head>
   <meta charset="UTF-8">
+  <meta http-equiv="x-ua-compatible" content="IE=edge">
   <title>Swagger UI</title>
-
   <link rel="icon" type="image/png" href="images/favicon-32x32.png" sizes="32x32" />
   <link rel="icon" type="image/png" href="images/favicon-16x16.png" sizes="16x16" />
   <link href='css/typography.css' media='screen' rel='stylesheet' type='text/css'/>
@@ -12,15 +12,18 @@
   <link href='css/reset.css' media='print' rel='stylesheet' type='text/css'/>
   <link href='css/print.css' media='print' rel='stylesheet' type='text/css'/>
 
+  <script src='lib/object-assign-pollyfill.js' type='text/javascript'></script>
   <script src='lib/jquery-1.8.0.min.js' type='text/javascript'></script>
   <script src='lib/jquery.slideto.min.js' type='text/javascript'></script>
   <script src='lib/jquery.wiggle.min.js' type='text/javascript'></script>
   <script src='lib/jquery.ba-bbq.min.js' type='text/javascript'></script>
-  <script src='lib/handlebars-2.0.0.js' type='text/javascript'></script>
-  <script src='lib/underscore-min.js' type='text/javascript'></script>
+  <script src='lib/handlebars-4.0.5.js' type='text/javascript'></script>
+  <script src='lib/lodash.min.js' type='text/javascript'></script>
   <script src='lib/backbone-min.js' type='text/javascript'></script>
   <script src='swagger-ui.js' type='text/javascript'></script>
-  <script src='lib/highlight.7.3.pack.js' type='text/javascript'></script>
+  <script src='lib/highlight.9.1.0.pack.js' type='text/javascript'></script>
+  <script src='lib/highlight.9.1.0.pack_extended.js' type='text/javascript'></script>
+  <script src='lib/jsoneditor.min.js' type='text/javascript'></script>
   <script src='lib/marked.js' type='text/javascript'></script>
   <script src='lib/swagger-oauth.js' type='text/javascript'></script>
 
@@ -34,24 +37,18 @@
       var url = window.location.search.match(/url=([^&]+)/);
       if (url && url.length > 1) {
         url = decodeURIComponent(url[1]);
+      } else {
+        url = window.location.pathname.split('/').slice(0,-1).join("/")+"/swagger.json";
       }
-      else {
-        var baseUrl = document.location.href;
-        //this removes the anchor at the end, if there is one
-        baseUrl = baseUrl.substring(0, (baseUrl.indexOf("#") == -1) ? baseUrl.length : baseUrl.indexOf("#"));
-        //this removes the query after the file name, if there is one
-        baseUrl = baseUrl.substring(0, (baseUrl.indexOf("?") == -1) ? baseUrl.length : baseUrl.indexOf("?"));
-        //this removes everything after the last slash in the path
-        baseUrl = baseUrl.substring(0, (baseUrl.lastIndexOf("/") == -1) ? baseUrl.length : baseUrl.lastIndexOf("/"));
 
-        url = baseUrl + "/swagger.json";
-      }
+      hljs.configure({
+        highlightSizeThreshold: 5000
+      });
 
       // Pre load translate...
       if(window.SwaggerTranslator) {
         window.SwaggerTranslator.translate();
       }
-
       window.swaggerUi = new SwaggerUi({
         url: url,
         dom_id: "swagger-ui-container",
@@ -60,48 +57,28 @@
           if(typeof initOAuth == "function") {
             initOAuth({
               clientId: "your-client-id",
-              clientSecret: "your-client-secret",
+              clientSecret: "your-client-secret-if-required",
               realm: "your-realms",
-              appName: "your-app-name", 
-              scopeSeparator: ","
+              appName: "your-app-name",
+              scopeSeparator: " ",
+              additionalQueryStringParams: {}
             });
           }
 
           if(window.SwaggerTranslator) {
             window.SwaggerTranslator.translate();
           }
-
-          $('pre code').each(function(i, e) {
-            hljs.highlightBlock(e)
-          });
-
-          addApiKeyAuthorization();
         },
         onFailure: function(data) {
           log("Unable to Load SwaggerUI");
         },
         docExpansion: "none",
-        apisSorter: "alpha",
-        showRequestHeaders: false
+        jsonEditor: false,
+        defaultModelRendering: 'schema',
+        showRequestHeaders: false,
+        showOperationIds: false
       });
 
-      function addApiKeyAuthorization(){
-        var key = encodeURIComponent($('#input_apiKey')[0].value);
-        if(key && key.trim() != "") {
-            var apiKeyAuth = new SwaggerClient.ApiKeyAuthorization("api_key", key, "query");
-            window.swaggerUi.api.clientAuthorizations.add("api_key", apiKeyAuth);
-            log("added key " + key);
-        }
-      }
-
-      $('#input_apiKey').change(addApiKeyAuthorization);
-
-      // if you have an apiKey you would like to pre-populate on the page for demonstration purposes...
-      /*
-        var apiKey = "myApiKeyXXXX123456789";
-        $('#input_apiKey').val(apiKey);
-      */
-
       window.swaggerUi.load();
 
       function log() {
@@ -116,11 +93,11 @@
 <body class="swagger-section">
 <div id='header'>
   <div class="swagger-ui-wrap">
-    <a id="logo" href="http://swagger.io">swagger</a>
+    <a id="logo" href="http://swagger.io"><img class="logo__img" alt="swagger" height="30" width="30" src="images/logo_small.png" /><span class="logo__title">swagger</span></a>
     <form id='api_selector'>
       <div class='input'><input placeholder="http://example.com/api" id="input_baseUrl" name="baseUrl" type="text"/></div>
-      <div class='input'><input placeholder="api_key" id="input_apiKey" name="apiKey" type="text"/></div>
-      <div class='input'><a id="explore" href="#" data-sw-translate>Explore</a></div>
+      <div id='auth_container'></div>
+      <div class='input'><a id="explore" class="header__btn" href="#" data-sw-translate>Explore</a></div>
     </form>
   </div>
 </div>
@@ -128,4 +105,4 @@
 <div id="message-bar" class="swagger-ui-wrap" data-sw-translate>&nbsp;</div>
 <div id="swagger-ui-container" class="swagger-ui-wrap"></div>
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/ca.js b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/ca.js
new file mode 100644
index 0000000..f8c815a
--- /dev/null
+++ b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/ca.js
@@ -0,0 +1,53 @@
+'use strict';
+
+/* jshint quotmark: double */
+window.SwaggerTranslator.learn({
+    "Warning: Deprecated":"Advertència: Obsolet",
+    "Implementation Notes":"Notes d'implementació",
+    "Response Class":"Classe de la Resposta",
+    "Status":"Estatus",
+    "Parameters":"Paràmetres",
+    "Parameter":"Paràmetre",
+    "Value":"Valor",
+    "Description":"Descripció",
+    "Parameter Type":"Tipus del Paràmetre",
+    "Data Type":"Tipus de la Dada",
+    "Response Messages":"Missatges de la Resposta",
+    "HTTP Status Code":"Codi d'Estatus HTTP",
+    "Reason":"Raó",
+    "Response Model":"Model de la Resposta",
+    "Request URL":"URL de la Sol·licitud",
+    "Response Body":"Cos de la Resposta",
+    "Response Code":"Codi de la Resposta",
+    "Response Headers":"Capçaleres de la Resposta",
+    "Hide Response":"Amagar Resposta",
+    "Try it out!":"Prova-ho!",
+    "Show/Hide":"Mostrar/Amagar",
+    "List Operations":"Llista Operacions",
+    "Expand Operations":"Expandir Operacions",
+    "Raw":"Cru",
+    "can't parse JSON.  Raw result":"no puc analitzar el JSON.  Resultat cru",
+    "Example Value":"Valor d'Exemple",
+    "Model Schema":"Esquema del Model",
+    "Model":"Model",
+    "apply":"aplicar",
+    "Username":"Nom d'usuari",
+    "Password":"Contrasenya",
+    "Terms of service":"Termes del servei",
+    "Created by":"Creat per",
+    "See more at":"Veure més en",
+    "Contact the developer":"Contactar amb el desenvolupador",
+    "api version":"versió de la api",
+    "Response Content Type":"Tipus de Contingut de la Resposta",
+    "fetching resource":"recollint recurs",
+    "fetching resource list":"recollins llista de recursos",
+    "Explore":"Explorant",
+    "Show Swagger Petstore Example Apis":"Mostrar API d'Exemple Swagger Petstore",
+    "Can't read from server.  It may not have the appropriate access-control-origin settings.":"No es pot llegir del servidor. Potser no teniu la configuració de control d'accés apropiada.",
+    "Please specify the protocol for":"Si us plau, especifiqueu el protocol per a",
+    "Can't read swagger JSON from":"No es pot llegir el JSON de swagger des de",
+    "Finished Loading Resource Information. Rendering Swagger UI":"Finalitzada la càrrega del recurs informatiu. Renderitzant Swagger UI",
+    "Unable to read api":"No es pot llegir l'api",
+    "from path":"des de la ruta",
+    "server returned":"el servidor ha retornat"
+});
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/el.js b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/el.js
new file mode 100644
index 0000000..fcd1ffd
--- /dev/null
+++ b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/el.js
@@ -0,0 +1,56 @@
+'use strict';
+
+/* jshint quotmark: double */
+window.SwaggerTranslator.learn({
+    "Warning: Deprecated":"Προειδοποίηση: Έχει αποσυρθεί",
+    "Implementation Notes":"Σημειώσεις Υλοποίησης",
+    "Response Class":"Απόκριση",
+    "Status":"Κατάσταση",
+    "Parameters":"Παράμετροι",
+    "Parameter":"Παράμετρος",
+    "Value":"Τιμή",
+    "Description":"Περιγραφή",
+    "Parameter Type":"Τύπος Παραμέτρου",
+    "Data Type":"Τύπος Δεδομένων",
+    "Response Messages":"Μηνύματα Απόκρισης",
+    "HTTP Status Code":"Κωδικός Κατάστασης HTTP",
+    "Reason":"Αιτιολογία",
+    "Response Model":"Μοντέλο Απόκρισης",
+    "Request URL":"URL Αιτήματος",
+    "Response Body":"Σώμα Απόκρισης",
+    "Response Code":"Κωδικός Απόκρισης",
+    "Response Headers":"Επικεφαλίδες Απόκρισης",
+    "Hide Response":"Απόκρυψη Απόκρισης",
+    "Headers":"Επικεφαλίδες",
+    "Try it out!":"Δοκιμάστε το!",
+    "Show/Hide":"Εμφάνιση/Απόκρυψη",
+    "List Operations":"Λίστα Λειτουργιών",
+    "Expand Operations":"Ανάπτυξη Λειτουργιών",
+    "Raw":"Ακατέργαστο",
+    "can't parse JSON.  Raw result":"αδυναμία ανάλυσης JSON.  Ακατέργαστο αποτέλεσμα",
+    "Example Value":"Παράδειγμα Τιμής",
+    "Model Schema":"Σχήμα Μοντέλου",
+    "Model":"Μοντέλο",
+    "Click to set as parameter value":"Πατήστε για να θέσετε τιμή παραμέτρου",
+    "apply":"εφαρμογή",
+    "Username":"Όνομα χρήση",
+    "Password":"Κωδικός πρόσβασης",
+    "Terms of service":"Όροι χρήσης",
+    "Created by":"Δημιουργήθηκε από",
+    "See more at":"Δείτε περισσότερα στο",
+    "Contact the developer":"Επικοινωνήστε με τον προγραμματιστή",
+    "api version":"έκδοση api",
+    "Response Content Type":"Τύπος Περιεχομένου Απόκρισης",
+    "Parameter content type:":"Τύπος περιεχομένου παραμέτρου:",
+    "fetching resource":"παραλαβή πόρου",
+    "fetching resource list":"παραλαβή λίστας πόρων",
+    "Explore":"Εξερεύνηση",
+    "Show Swagger Petstore Example Apis":"Εμφάνιση Api Δειγμάτων Petstore του Swagger",
+    "Can't read from server.  It may not have the appropriate access-control-origin settings.":"Αδυναμία ανάγνωσης από τον εξυπηρετητή.  Μπορεί να μην έχει κατάλληλες ρυθμίσεις για access-control-origin.",
+    "Please specify the protocol for":"Παρακαλώ προσδιορίστε το πρωτόκολλο για",
+    "Can't read swagger JSON from":"Αδυναμία ανάγνωσης swagger JSON από",
+    "Finished Loading Resource Information. Rendering Swagger UI":"Ολοκλήρωση Φόρτωσης Πληροφορικών Πόρου. Παρουσίαση Swagger UI",
+    "Unable to read api":"Αδυναμία ανάγνωσης api",
+    "from path":"από το μονοπάτι",
+    "server returned":"ο εξυπηρετηρής επέστρεψε"
+});
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/en.js b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/en.js
index 2835f69..9183136 100644
--- a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/en.js
+++ b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/en.js
@@ -28,8 +28,10 @@ window.SwaggerTranslator.learn({
     "Expand Operations":"Expand Operations",
     "Raw":"Raw",
     "can't parse JSON.  Raw result":"can't parse JSON.  Raw result",
+    "Example Value":"Example Value",
     "Model Schema":"Model Schema",
     "Model":"Model",
+    "Click to set as parameter value":"Click to set as parameter value",
     "apply":"apply",
     "Username":"Username",
     "Password":"Password",
@@ -39,6 +41,7 @@ window.SwaggerTranslator.learn({
     "Contact the developer":"Contact the developer",
     "api version":"api version",
     "Response Content Type":"Response Content Type",
+    "Parameter content type:":"Parameter content type:",
     "fetching resource":"fetching resource",
     "fetching resource list":"fetching resource list",
     "Explore":"Explore",
@@ -50,4 +53,4 @@ window.SwaggerTranslator.learn({
     "Unable to read api":"Unable to read api",
     "from path":"from path",
     "server returned":"server returned"
-});
\ No newline at end of file
+});
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/es.js b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/es.js
index f3169ac..13fa015 100644
--- a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/es.js
+++ b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/es.js
@@ -27,6 +27,7 @@ window.SwaggerTranslator.learn({
     "Expand Operations":"Expandir Operaciones",
     "Raw":"Crudo",
     "can't parse JSON.  Raw result":"no puede parsear el JSON.  Resultado crudo",
+    "Example Value":"Valor de Ejemplo",
     "Model Schema":"Esquema del Modelo",
     "Model":"Modelo",
     "apply":"aplicar",
@@ -49,4 +50,4 @@ window.SwaggerTranslator.learn({
     "Unable to read api":"No se puede leer la api",
     "from path":"desde ruta",
     "server returned":"el servidor retornó"
-});
\ No newline at end of file
+});
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/fr.js b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/fr.js
new file mode 100644
index 0000000..388dff1
--- /dev/null
+++ b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/fr.js
@@ -0,0 +1,54 @@
+'use strict';
+
+/* jshint quotmark: double */
+window.SwaggerTranslator.learn({
+    "Warning: Deprecated":"Avertissement : Obsolète",
+    "Implementation Notes":"Notes d'implémentation",
+    "Response Class":"Classe de la réponse",
+    "Status":"Statut",
+    "Parameters":"Paramètres",
+    "Parameter":"Paramètre",
+    "Value":"Valeur",
+    "Description":"Description",
+    "Parameter Type":"Type du paramètre",
+    "Data Type":"Type de données",
+    "Response Messages":"Messages de la réponse",
+    "HTTP Status Code":"Code de statut HTTP",
+    "Reason":"Raison",
+    "Response Model":"Modèle de réponse",
+    "Request URL":"URL appelée",
+    "Response Body":"Corps de la réponse",
+    "Response Code":"Code de la réponse",
+    "Response Headers":"En-têtes de la réponse",
+    "Hide Response":"Cacher la réponse",
+    "Headers":"En-têtes",
+    "Try it out!":"Testez !",
+    "Show/Hide":"Afficher/Masquer",
+    "List Operations":"Liste des opérations",
+    "Expand Operations":"Développer les opérations",
+    "Raw":"Brut",
+    "can't parse JSON.  Raw result":"impossible de décoder le JSON.  Résultat brut",
+    "Example Value":"Exemple la valeur",
+    "Model Schema":"Définition du modèle",
+    "Model":"Modèle",
+    "apply":"appliquer",
+    "Username":"Nom d'utilisateur",
+    "Password":"Mot de passe",
+    "Terms of service":"Conditions de service",
+    "Created by":"Créé par",
+    "See more at":"Voir plus sur",
+    "Contact the developer":"Contacter le développeur",
+    "api version":"version de l'api",
+    "Response Content Type":"Content Type de la réponse",
+    "fetching resource":"récupération de la ressource",
+    "fetching resource list":"récupération de la liste de ressources",
+    "Explore":"Explorer",
+    "Show Swagger Petstore Example Apis":"Montrer les Apis de l'exemple Petstore de Swagger",
+    "Can't read from server.  It may not have the appropriate access-control-origin settings.":"Impossible de lire à partir du serveur. Il se peut que les réglages access-control-origin ne soient pas appropriés.",
+    "Please specify the protocol for":"Veuillez spécifier un protocole pour",
+    "Can't read swagger JSON from":"Impossible de lire le JSON swagger à partir de",
+    "Finished Loading Resource Information. Rendering Swagger UI":"Chargement des informations terminé. Affichage de Swagger UI",
+    "Unable to read api":"Impossible de lire l'api",
+    "from path":"à partir du chemin",
+    "server returned":"réponse du serveur"
+});
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/geo.js b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/geo.js
new file mode 100644
index 0000000..609c20d
--- /dev/null
+++ b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/geo.js
@@ -0,0 +1,56 @@
+'use strict';
+
+/* jshint quotmark: double */
+window.SwaggerTranslator.learn({
+    "Warning: Deprecated":"ყურადღება: აღარ გამოიყენება",
+    "Implementation Notes":"იმპლემენტაციის აღწერა",
+    "Response Class":"რესპონს კლასი",
+    "Status":"სტატუსი",
+    "Parameters":"პარამეტრები",
+    "Parameter":"პარამეტრი",
+    "Value":"მნიშვნელობა",
+    "Description":"აღწერა",
+    "Parameter Type":"პარამეტრის ტიპი",
+    "Data Type":"მონაცემის ტიპი",
+    "Response Messages":"პასუხი",
+    "HTTP Status Code":"HTTP სტატუსი",
+    "Reason":"მიზეზი",
+    "Response Model":"რესპონს მოდელი",
+    "Request URL":"მოთხოვნის URL",
+    "Response Body":"პასუხის სხეული",
+    "Response Code":"პასუხის კოდი",
+    "Response Headers":"პასუხის ჰედერები",
+    "Hide Response":"დამალე პასუხი",
+    "Headers":"ჰედერები",
+    "Try it out!":"ცადე !",
+    "Show/Hide":"გამოჩენა/დამალვა",
+    "List Operations":"ოპერაციების სია",
+    "Expand Operations":"ოპერაციები ვრცლად",
+    "Raw":"ნედლი",
+    "can't parse JSON.  Raw result":"JSON-ის დამუშავება ვერ მოხერხდა.  ნედლი პასუხი",
+    "Example Value":"მაგალითი",
+    "Model Schema":"მოდელის სტრუქტურა",
+    "Model":"მოდელი",
+    "Click to set as parameter value":"პარამეტრისთვის მნიშვნელობის მისანიჭებლად, დააკლიკე",
+    "apply":"გამოყენება",
+    "Username":"მოხმარებელი",
+    "Password":"პაროლი",
+    "Terms of service":"მომსახურების პირობები",
+    "Created by":"შექმნა",
+    "See more at":"ნახე ვრცლად",
+    "Contact the developer":"დაუკავშირდი დეველოპერს",
+    "api version":"api ვერსია",
+    "Response Content Type":"პასუხის კონტენტის ტიპი",
+    "Parameter content type:":"პარამეტრის კონტენტის ტიპი:",
+    "fetching resource":"რესურსების მიღება",
+    "fetching resource list":"რესურსების სიის მიღება",
+    "Explore":"ნახვა",
+    "Show Swagger Petstore Example Apis":"ნახე Swagger Petstore სამაგალითო Api",
+    "Can't read from server.  It may not have the appropriate access-control-origin settings.":"სერვერთან დაკავშირება ვერ ხერხდება.  შეამოწმეთ access-control-origin.",
+    "Please specify the protocol for":"მიუთითეთ პროტოკოლი",
+    "Can't read swagger JSON from":"swagger JSON წაკითხვა ვერ მოხერხდა",
+    "Finished Loading Resource Information. Rendering Swagger UI":"რესურსების ჩატვირთვა სრულდება. Swagger UI რენდერდება",
+    "Unable to read api":"api წაკითხვა ვერ მოხერხდა",
+    "from path":"მისამართიდან",
+    "server returned":"სერვერმა დააბრუნა"
+});
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/it.js b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/it.js
new file mode 100644
index 0000000..8529c2a
--- /dev/null
+++ b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/it.js
@@ -0,0 +1,52 @@
+'use strict';
+
+/* jshint quotmark: double */
+window.SwaggerTranslator.learn({
+    "Warning: Deprecated":"Attenzione: Deprecato",
+    "Implementation Notes":"Note di implementazione",
+    "Response Class":"Classe della risposta",
+    "Status":"Stato",
+    "Parameters":"Parametri",
+    "Parameter":"Parametro",
+    "Value":"Valore",
+    "Description":"Descrizione",
+    "Parameter Type":"Tipo di parametro",
+    "Data Type":"Tipo di dato",
+    "Response Messages":"Messaggi della risposta",
+    "HTTP Status Code":"Codice stato HTTP",
+    "Reason":"Motivo",
+    "Response Model":"Modello di risposta",
+    "Request URL":"URL della richiesta",
+    "Response Body":"Corpo della risposta",
+    "Response Code":"Oggetto della risposta",
+    "Response Headers":"Intestazioni della risposta",
+    "Hide Response":"Nascondi risposta",
+    "Try it out!":"Provalo!",
+    "Show/Hide":"Mostra/Nascondi",
+    "List Operations":"Mostra operazioni",
+    "Expand Operations":"Espandi operazioni",
+    "Raw":"Grezzo (raw)",
+    "can't parse JSON.  Raw result":"non è possibile parsare il JSON. Risultato grezzo (raw).",
+    "Model Schema":"Schema del modello",
+    "Model":"Modello",
+    "apply":"applica",
+    "Username":"Nome utente",
+    "Password":"Password",
+    "Terms of service":"Condizioni del servizio",
+    "Created by":"Creato da",
+    "See more at":"Informazioni aggiuntive:",
+    "Contact the developer":"Contatta lo sviluppatore",
+    "api version":"versione api",
+    "Response Content Type":"Tipo di contenuto (content type) della risposta",
+    "fetching resource":"recuperando la risorsa",
+    "fetching resource list":"recuperando lista risorse",
+    "Explore":"Esplora",
+    "Show Swagger Petstore Example Apis":"Mostra le api di esempio di Swagger Petstore",
+    "Can't read from server.  It may not have the appropriate access-control-origin settings.":"Non è possibile leggere dal server. Potrebbe non avere le impostazioni di controllo accesso origine (access-control-origin) appropriate.",
+    "Please specify the protocol for":"Si prega di specificare il protocollo per",
+    "Can't read swagger JSON from":"Impossibile leggere JSON swagger da:",
+    "Finished Loading Resource Information. Rendering Swagger UI":"Lettura informazioni risorse termianta. Swagger UI viene mostrata",
+    "Unable to read api":"Impossibile leggere la api",
+    "from path":"da cartella",
+    "server returned":"il server ha restituito"
+});
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/ja.js b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/ja.js
new file mode 100755
index 0000000..1cbeb37
--- /dev/null
+++ b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/ja.js
@@ -0,0 +1,56 @@
+'use strict';
+
+/* jshint quotmark: double */
+window.SwaggerTranslator.learn({
+    "Warning: Deprecated":"警告: 廃止予定",
+    "Implementation Notes":"実装メモ",
+    "Response Class":"レスポンスクラス",
+    "Status":"ステータス",
+    "Parameters":"パラメータ群",
+    "Parameter":"パラメータ",
+    "Value":"値",
+    "Description":"説明",
+    "Parameter Type":"パラメータタイプ",
+    "Data Type":"データタイプ",
+    "Response Messages":"レスポンスメッセージ",
+    "HTTP Status Code":"HTTPステータスコード",
+    "Reason":"理由",
+    "Response Model":"レスポンスモデル",
+    "Request URL":"リクエストURL",
+    "Response Body":"レスポンスボディ",
+    "Response Code":"レスポンスコード",
+    "Response Headers":"レスポンスヘッダ",
+    "Hide Response":"レスポンスを隠す",
+    "Headers":"ヘッダ",
+    "Try it out!":"実際に実行!",
+    "Show/Hide":"表示/非表示",
+    "List Operations":"操作一覧",
+    "Expand Operations":"操作の展開",
+    "Raw":"未加工",
+    "can't parse JSON.  Raw result":"JSONへ解釈できません.  未加工の結果",
+    "Example Value":"値の例",
+    "Model Schema":"モデルスキーマ",
+    "Model":"モデル",
+    "Click to set as parameter value":"パラメータ値と設定するにはクリック",
+    "apply":"実行",
+    "Username":"ユーザ名",
+    "Password":"パスワード",
+    "Terms of service":"サービス利用規約",
+    "Created by":"Created by",
+    "See more at":"詳細を見る",
+    "Contact the developer":"開発者に連絡",
+    "api version":"APIバージョン",
+    "Response Content Type":"レスポンス コンテンツタイプ",
+    "Parameter content type:":"パラメータコンテンツタイプ:",
+    "fetching resource":"リソースの取得",
+    "fetching resource list":"リソース一覧の取得",
+    "Explore":"調査",
+    "Show Swagger Petstore Example Apis":"SwaggerペットストアAPIの表示",
+    "Can't read from server.  It may not have the appropriate access-control-origin settings.":"サーバから読み込めません.  適切なaccess-control-origin設定を持っていない可能性があります.",
+    "Please specify the protocol for":"プロトコルを指定してください",
+    "Can't read swagger JSON from":"次からswagger JSONを読み込めません",
+    "Finished Loading Resource Information. Rendering Swagger UI":"リソース情報の読み込みが完了しました. Swagger UIを描画しています",
+    "Unable to read api":"APIを読み込めません",
+    "from path":"次のパスから",
+    "server returned":"サーバからの返答"
+});
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/ko-kr.js b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/ko-kr.js
new file mode 100644
index 0000000..03c7626
--- /dev/null
+++ b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/ko-kr.js
@@ -0,0 +1,53 @@
+'use strict';
+
+/* jshint quotmark: double */
+window.SwaggerTranslator.learn({
+    "Warning: Deprecated":"경고:폐기예정됨",
+    "Implementation Notes":"구현 노트",
+    "Response Class":"응답 클래스",
+    "Status":"상태",
+    "Parameters":"매개변수들",
+    "Parameter":"매개변수",
+    "Value":"값",
+    "Description":"설명",
+    "Parameter Type":"매개변수 타입",
+    "Data Type":"데이터 타입",
+    "Response Messages":"응답 메세지",
+    "HTTP Status Code":"HTTP 상태 코드",
+    "Reason":"원인",
+    "Response Model":"응답 모델",
+    "Request URL":"요청 URL",
+    "Response Body":"응답 본문",
+    "Response Code":"응답 코드",
+    "Response Headers":"응답 헤더",
+    "Hide Response":"응답 숨기기",
+    "Headers":"헤더",
+    "Try it out!":"써보기!",
+    "Show/Hide":"보이기/숨기기",
+    "List Operations":"목록 작업",
+    "Expand Operations":"전개 작업",
+    "Raw":"원본",
+    "can't parse JSON.  Raw result":"JSON을 파싱할수 없음. 원본결과:",
+    "Model Schema":"모델 스키마",
+    "Model":"모델",
+    "apply":"적용",
+    "Username":"사용자 이름",
+    "Password":"암호",
+    "Terms of service":"이용약관",
+    "Created by":"작성자",
+    "See more at":"추가정보:",
+    "Contact the developer":"개발자에게 문의",
+    "api version":"api버전",
+    "Response Content Type":"응답Content Type",
+    "fetching resource":"리소스 가져오기",
+    "fetching resource list":"리소스 목록 가져오기",
+    "Explore":"탐색",
+    "Show Swagger Petstore Example Apis":"Swagger Petstore 예제 보기",
+    "Can't read from server.  It may not have the appropriate access-control-origin settings.":"서버로부터 읽어들일수 없습니다. access-control-origin 설정이 올바르지 않을수 있습니다.",
+    "Please specify the protocol for":"다음을 위한 프로토콜을 정하세요",
+    "Can't read swagger JSON from":"swagger JSON 을 다음으로 부터 읽을수 없습니다",
+    "Finished Loading Resource Information. Rendering Swagger UI":"리소스 정보 불러오기 완료. Swagger UI 랜더링",
+    "Unable to read api":"api를 읽을 수 없습니다.",
+    "from path":"다음 경로로 부터",
+    "server returned":"서버 응답함."
+});
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/pl.js b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/pl.js
new file mode 100644
index 0000000..ce41e91
--- /dev/null
+++ b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/pl.js
@@ -0,0 +1,53 @@
+'use strict';
+
+/* jshint quotmark: double */
+window.SwaggerTranslator.learn({
+    "Warning: Deprecated":"Uwaga: Wycofane",
+    "Implementation Notes":"Uwagi Implementacji",
+    "Response Class":"Klasa Odpowiedzi",
+    "Status":"Status",
+    "Parameters":"Parametry",
+    "Parameter":"Parametr",
+    "Value":"Wartość",
+    "Description":"Opis",
+    "Parameter Type":"Typ Parametru",
+    "Data Type":"Typ Danych",
+    "Response Messages":"Wiadomości Odpowiedzi",
+    "HTTP Status Code":"Kod Statusu HTTP",
+    "Reason":"Przyczyna",
+    "Response Model":"Model Odpowiedzi",
+    "Request URL":"URL Wywołania",
+    "Response Body":"Treść Odpowiedzi",
+    "Response Code":"Kod Odpowiedzi",
+    "Response Headers":"Nagłówki Odpowiedzi",
+    "Hide Response":"Ukryj Odpowiedź",
+    "Headers":"Nagłówki",
+    "Try it out!":"Wypróbuj!",
+    "Show/Hide":"Pokaż/Ukryj",
+    "List Operations":"Lista Operacji",
+    "Expand Operations":"Rozwiń Operacje",
+    "Raw":"Nieprzetworzone",
+    "can't parse JSON.  Raw result":"nie można przetworzyć pliku JSON.  Nieprzetworzone dane",
+    "Model Schema":"Schemat Modelu",
+    "Model":"Model",
+    "apply":"użyj",
+    "Username":"Nazwa użytkownika",
+    "Password":"Hasło",
+    "Terms of service":"Warunki używania",
+    "Created by":"Utworzone przez",
+    "See more at":"Zobacz więcej na",
+    "Contact the developer":"Kontakt z deweloperem",
+    "api version":"wersja api",
+    "Response Content Type":"Typ Zasobu Odpowiedzi",
+    "fetching resource":"ładowanie zasobu",
+    "fetching resource list":"ładowanie listy zasobów",
+    "Explore":"Eksploruj",
+    "Show Swagger Petstore Example Apis":"Pokaż Przykładowe Api Swagger Petstore",
+    "Can't read from server.  It may not have the appropriate access-control-origin settings.":"Brak połączenia z serwerem. Może on nie mieć odpowiednich ustawień access-control-origin.",
+    "Please specify the protocol for":"Proszę podać protokół dla",
+    "Can't read swagger JSON from":"Nie można odczytać swagger JSON z",
+    "Finished Loading Resource Information. Rendering Swagger UI":"Ukończono Ładowanie Informacji o Zasobie. Renderowanie Swagger UI",
+    "Unable to read api":"Nie można odczytać api",
+    "from path":"ze ścieżki",
+    "server returned":"serwer zwrócił"
+});
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/pt.js b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/pt.js
index 8642050..f2e7c13 100644
--- a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/pt.js
+++ b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/pt.js
@@ -50,4 +50,4 @@ window.SwaggerTranslator.learn({
     "Unable to read api":"Não foi possível ler api",
     "from path":"do caminho",
     "server returned":"servidor retornou"
-});
\ No newline at end of file
+});
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/ru.js b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/ru.js
index a5ec021..592744e 100644
--- a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/ru.js
+++ b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/ru.js
@@ -2,7 +2,7 @@
 
 /* jshint quotmark: double */
 window.SwaggerTranslator.learn({
-    "Warning: Deprecated":"Ворнинг: Депрекейтед",
+    "Warning: Deprecated":"Предупреждение: Устарело",
     "Implementation Notes":"Заметки",
     "Response Class":"Пример ответа",
     "Status":"Статус",
@@ -20,6 +20,7 @@ window.SwaggerTranslator.learn({
     "Response Code":"HTTP код ответа",
     "Response Headers":"Заголовки ответа",
     "Hide Response":"Спрятать ответ",
+    "Headers":"Заголовки",
     "Response Messages":"Что может прийти в ответ",
     "Try it out!":"Попробовать!",
     "Show/Hide":"Показать/Скрыть",
@@ -27,8 +28,10 @@ window.SwaggerTranslator.learn({
     "Expand Operations":"Операции подробно",
     "Raw":"В сыром виде",
     "can't parse JSON.  Raw result":"Не удается распарсить ответ:",
+    "Example Value":"Пример",
     "Model Schema":"Структура",
     "Model":"Описание",
+    "Click to set as parameter value":"Нажмите, чтобы испльзовать в качестве значения параметра",
     "apply":"применить",
     "Username":"Имя пользователя",
     "Password":"Пароль",
@@ -38,15 +41,16 @@ window.SwaggerTranslator.learn({
     "Contact the developer":"Связаться с разработчиком",
     "api version":"Версия API",
     "Response Content Type":"Content Type ответа",
+    "Parameter content type:":"Content Type параметра:",
     "fetching resource":"Получение ресурса",
     "fetching resource list":"Получение ресурсов",
-    "Explore":"Поехали",
+    "Explore":"Показать",
     "Show Swagger Petstore Example Apis":"Показать примеры АПИ",
-    "Can't read from server.  It may not have the appropriate access-control-origin settings.":"Не удается получить ответ от сервера. Возможно, какая-то лажа с настройками доступа",
-    "Please specify the protocol for":"Пожалуйста, укажите протогол для",
+    "Can't read from server. It may not have the appropriate access-control-origin settings.":"Не удается получить ответ от сервера. Возможно, проблема с настройками доступа",
+    "Please specify the protocol for":"Пожалуйста, укажите протокол для",
     "Can't read swagger JSON from":"Не получается прочитать swagger json из",
     "Finished Loading Resource Information. Rendering Swagger UI":"Загрузка информации о ресурсах завершена. Рендерим",
     "Unable to read api":"Не удалось прочитать api",
     "from path":"по адресу",
     "server returned":"сервер сказал"
-});
\ No newline at end of file
+});
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/tr.js b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/tr.js
new file mode 100644
index 0000000..16426a9
--- /dev/null
+++ b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/tr.js
@@ -0,0 +1,53 @@
+'use strict';
+
+/* jshint quotmark: double */
+window.SwaggerTranslator.learn({
+    "Warning: Deprecated":"Uyarı: Deprecated",
+    "Implementation Notes":"Gerçekleştirim Notları",
+    "Response Class":"Dönen Sınıf",
+    "Status":"Statü",
+    "Parameters":"Parametreler",
+    "Parameter":"Parametre",
+    "Value":"Değer",
+    "Description":"Açıklama",
+    "Parameter Type":"Parametre Tipi",
+    "Data Type":"Veri Tipi",
+    "Response Messages":"Dönüş Mesajı",
+    "HTTP Status Code":"HTTP Statü Kodu",
+    "Reason":"Gerekçe",
+    "Response Model":"Dönüş Modeli",
+    "Request URL":"İstek URL",
+    "Response Body":"Dönüş İçeriği",
+    "Response Code":"Dönüş Kodu",
+    "Response Headers":"Dönüş Üst Bilgileri",
+    "Hide Response":"Dönüşü Gizle",
+    "Headers":"Üst Bilgiler",
+    "Try it out!":"Dene!",
+    "Show/Hide":"Göster/Gizle",
+    "List Operations":"Operasyonları Listele",
+    "Expand Operations":"Operasyonları Aç",
+    "Raw":"Ham",
+    "can't parse JSON.  Raw result":"JSON çözümlenemiyor.  Ham sonuç",
+    "Model Schema":"Model Şema",
+    "Model":"Model",
+    "apply":"uygula",
+    "Username":"Kullanıcı Adı",
+    "Password":"Parola",
+    "Terms of service":"Servis şartları",
+    "Created by":"Oluşturan",
+    "See more at":"Daha fazlası için",
+    "Contact the developer":"Geliştirici ile İletişime Geçin",
+    "api version":"api versiyon",
+    "Response Content Type":"Dönüş İçerik Tipi",
+    "fetching resource":"kaynak getiriliyor",
+    "fetching resource list":"kaynak listesi getiriliyor",
+    "Explore":"Keşfet",
+    "Show Swagger Petstore Example Apis":"Swagger Petstore Örnek Api'yi Gör",
+    "Can't read from server.  It may not have the appropriate access-control-origin settings.":"Sunucudan okuma yapılamıyor. Sunucu access-control-origin ayarlarınızı kontrol edin.",
+    "Please specify the protocol for":"Lütfen istenen adres için protokol belirtiniz",
+    "Can't read swagger JSON from":"Swagger JSON bu kaynaktan okunamıyor",
+    "Finished Loading Resource Information. Rendering Swagger UI":"Kaynak baglantısı tamamlandı. Swagger UI gösterime hazırlanıyor",
+    "Unable to read api":"api okunamadı",
+    "from path":"yoldan",
+    "server returned":"sunucuya dönüldü"
+});
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/translator.js b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/translator.js
index 9c58304..ffb879f 100644
--- a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/translator.js
+++ b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/translator.js
@@ -7,7 +7,7 @@
  * after <script src='lang/translator.js' type='text/javascript'></script>.
  * For example - <script src='lang/ru.js' type='text/javascript'></script>
  *
- * If you wish to translate some new texsts you should do two things:
+ * If you wish to translate some new texts you should do two things:
  * 1. Add a new phrase pair ("New Phrase": "New Translation") into your language file (for example lang/ru.js). It will be great if you add it in other language files too.
  * 2. Mark that text it templates this way <anyHtmlTag data-sw-translate>New Phrase</anyHtmlTag> or <anyHtmlTag data-sw-translate value='New Phrase'/>.
  * The main thing here is attribute data-sw-translate. Only inner html, title-attribute and value-attribute are going to translate.
@@ -36,4 +36,4 @@ window.SwaggerTranslator = {
     learn: function(wordsMap) {
       this._words = wordsMap;
     }
-};
\ No newline at end of file
+};
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/zh-cn.js b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/zh-cn.js
new file mode 100644
index 0000000..3af61ad
--- /dev/null
+++ b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lang/zh-cn.js
@@ -0,0 +1,56 @@
+'use strict';
+
+/* jshint quotmark: double */
+window.SwaggerTranslator.learn({
+    "Warning: Deprecated":"警告:已过时",
+    "Implementation Notes":"实现备注",
+    "Response Class":"响应类",
+    "Status":"状态",
+    "Parameters":"参数",
+    "Parameter":"参数",
+    "Value":"值",
+    "Description":"描述",
+    "Parameter Type":"参数类型",
+    "Data Type":"数据类型",
+    "Response Messages":"响应消息",
+    "HTTP Status Code":"HTTP状态码",
+    "Reason":"原因",
+    "Response Model":"响应模型",
+    "Request URL":"请求URL",
+    "Response Body":"响应体",
+    "Response Code":"响应码",
+    "Response Headers":"响应头",
+    "Hide Response":"隐藏响应",
+    "Headers":"头",
+    "Try it out!":"试一下!",
+    "Show/Hide":"显示/隐藏",
+    "List Operations":"显示操作",
+    "Expand Operations":"展开操作",
+    "Raw":"原始",
+    "can't parse JSON.  Raw result":"无法解析JSON. 原始结果",
+    "Example Value":"示例",
+    "Click to set as parameter value":"点击设置参数",
+    "Model Schema":"模型架构",
+    "Model":"模型",
+    "apply":"应用",
+    "Username":"用户名",
+    "Password":"密码",
+    "Terms of service":"服务条款",
+    "Created by":"创建者",
+    "See more at":"查看更多:",
+    "Contact the developer":"联系开发者",
+    "api version":"api版本",
+    "Response Content Type":"响应Content Type",
+    "Parameter content type:":"参数类型:",
+    "fetching resource":"正在获取资源",
+    "fetching resource list":"正在获取资源列表",
+    "Explore":"浏览",
+    "Show Swagger Petstore Example Apis":"显示 Swagger Petstore 示例 Apis",
+    "Can't read from server.  It may not have the appropriate access-control-origin settings.":"无法从服务器读取。可能没有正确设置access-control-origin。",
+    "Please specify the protocol for":"请指定协议:",
+    "Can't read swagger JSON from":"无法读取swagger JSON于",
+    "Finished Loading Resource Information. Rendering Swagger UI":"已加载资源信息。正在渲染Swagger UI",
+    "Unable to read api":"无法读取api",
+    "from path":"从路径",
+    "server returned":"服务器返回"
+});
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/backbone-min.js b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/backbone-min.js
index a3f544b..8eff02e 100644
--- a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/backbone-min.js
+++ b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/backbone-min.js
@@ -1,15 +1 @@
-// Backbone.js 1.1.2
-
-(function(t,e){if(typeof define==="function"&&define.amd){define(["underscore","jquery","exports"],function(i,r,s){t.Backbone=e(t,s,i,r)})}else if(typeof exports!=="undefined"){var i=require("underscore");e(t,exports,i)}else{t.Backbone=e(t,{},t._,t.jQuery||t.Zepto||t.ender||t.$)}})(this,function(t,e,i,r){var s=t.Backbone;var n=[];var a=n.push;var o=n.slice;var h=n.splice;e.VERSION="1.1.2";e.$=r;e.noConflict=function(){t.Backbone=s;return this};e.emulateHTTP=false;e.emulateJSON=false;var  [...]
-
-// From http://stackoverflow.com/a/19431552
-// Compatibility override - Backbone 1.1 got rid of the 'options' binding
-// automatically to views in the constructor - we need to keep that.
-Backbone.View = (function(View) {
-   return View.extend({
-        constructor: function(options) {
-            this.options = options || {};
-            View.apply(this, arguments);
-        }
-    });
-})(Backbone.View);
\ No newline at end of file
+!function(t,e){if("function"==typeof define&&define.amd)define(["underscore","jquery","exports"],function(i,n,s){t.Backbone=e(t,s,i,n)});else if("undefined"!=typeof exports){var i=require("underscore");e(t,exports,i)}else t.Backbone=e(t,{},t._,t.jQuery||t.Zepto||t.ender||t.$)}(this,function(t,e,i,n){var s=t.Backbone,r=[],a=(r.push,r.slice);r.splice;e.VERSION="1.1.2",e.$=n,e.noConflict=function(){return t.Backbone=s,this},e.emulateHTTP=!1,e.emulateJSON=!1;var o=e.Events={on:function(t,e,i [...]
\ No newline at end of file
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/es5-shim.js b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/es5-shim.js
new file mode 100644
index 0000000..4c0fcab
--- /dev/null
+++ b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/es5-shim.js
@@ -0,0 +1 @@
+!function(t,e){"use strict";"function"==typeof define&&define.amd?define(e):"object"==typeof exports?module.exports=e():t.returnExports=e()}(this,function(){var t,e,r=Array,n=r.prototype,o=Object,i=o.prototype,a=Function,u=a.prototype,f=String,s=f.prototype,l=Number,c=l.prototype,h=n.slice,p=n.splice,y=n.push,d=n.unshift,g=n.concat,v=n.join,b=u.call,w=u.apply,T=Math.max,m=Math.min,D=i.toString,x="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag,S=Function.prototype.toString, [...]
\ No newline at end of file
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/handlebars-4.0.5.js b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/handlebars-4.0.5.js
new file mode 100644
index 0000000..57025bc
--- /dev/null
+++ b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/handlebars-4.0.5.js
@@ -0,0 +1,3 @@
+!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.Handlebars=e():t.Handlebars=e()}(this,function(){return function(t){function e(s){if(r[s])return r[s].exports;var i=r[s]={exports:{},id:s,loaded:!1};return t[s].call(i.exports,i,i.exports,e),i.loaded=!0,i.exports}var r={};return e.m=t,e.c=r,e.p="",e(0)}([function(t,e,r){"use strict";function s(){var t=v();return t.compile= [...]
+48:[2,16],51:[2,16],55:[2,16],60:[2,16]},{33:[1,139]},{33:[2,75]},{33:[2,32]},{72:[2,101],77:[2,101]},{14:[2,17],15:[2,17],19:[2,17],29:[2,17],34:[2,17],39:[2,17],44:[2,17],47:[2,17],48:[2,17],51:[2,17],55:[2,17],60:[2,17]}],defaultActions:{4:[2,1],55:[2,55],57:[2,20],61:[2,57],74:[2,81],83:[2,85],87:[2,18],91:[2,89],102:[2,53],105:[2,93],111:[2,19],112:[2,77],117:[2,97],120:[2,63],123:[2,69],124:[2,12],136:[2,75],137:[2,32]},parseError:function(t,e){throw new Error(t)},parse:function(t) [...]
+s.push(i),this.push(this.source.functionCall("container.invokePartial","",s))},assignToHash:function(t){var e=this.popStack(),r=void 0,s=void 0,i=void 0;this.trackIds&&(i=this.popStack()),this.stringParams&&(s=this.popStack(),r=this.popStack());var a=this.hash;r&&(a.contexts[t]=r),s&&(a.types[t]=s),i&&(a.ids[t]=i),a.values[t]=e},pushId:function(t,e,r){"BlockParam"===t?this.pushStackLiteral("blockParams["+e[0]+"].path["+e[1]+"]"+(r?" + "+JSON.stringify("."+r):"")):"PathExpression"===t?thi [...]
\ No newline at end of file
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/highlight.9.1.0.pack.js b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/highlight.9.1.0.pack.js
new file mode 100644
index 0000000..7b00c68
--- /dev/null
+++ b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/highlight.9.1.0.pack.js
@@ -0,0 +1 @@
+!function(e){"undefined"!=typeof exports?e(exports):(self.hljs=e({}),"function"==typeof define&&define.amd&&define("hljs",[],function(){return self.hljs}))}(function(e){function r(e){return e.replace(/&/gm,"&amp;").replace(/</gm,"&lt;").replace(/>/gm,"&gt;")}function t(e){return e.nodeName.toLowerCase()}function n(e,r){var t=e&&e.exec(r);return t&&0==t.index}function a(e){return/^(no-?highlight|plain|text)$/i.test(e)}function c(e){var r,t,n,c=e.className+" ";if(c+=e.parentNode?e.parentNo [...]
\ No newline at end of file
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/highlight.9.1.0.pack_extended.js b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/highlight.9.1.0.pack_extended.js
new file mode 100644
index 0000000..162a224
--- /dev/null
+++ b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/highlight.9.1.0.pack_extended.js
@@ -0,0 +1 @@
+"use strict";!function(){var h,l;h=hljs.configure,hljs.configure=function(l){var i=l.highlightSizeThreshold;hljs.highlightSizeThreshold=i===+i?i:null,h.call(this,l)},l=hljs.highlightBlock,hljs.highlightBlock=function(h){var i=h.innerHTML,g=hljs.highlightSizeThreshold;(null==g||g>i.length)&&l.call(hljs,h)}}();
\ No newline at end of file
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/jquery-1.8.0.min.js b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/jquery-1.8.0.min.js
index 066d72c..e2e2b7f 100644
--- a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/jquery-1.8.0.min.js
+++ b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/jquery-1.8.0.min.js
@@ -1,2 +1,3 @@
-/*! jQuery v@1.8.0 jquery.com | jquery.org/license */
-(function(a,b){function G(a){var b=F[a]={};return p.each(a.split(s),function(a,c){b[c]=!0}),b}function J(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(I,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:+d+""===d?+d:H.test(d)?p.parseJSON(d):d}catch(f){}p.data(a,c,d)}else d=b}return d}function K(a){var b;for(b in a){if(b==="data"&&p.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function ba(){retur [...]
\ No newline at end of file
+!function(e,t){function n(e){var t=he[e]={};return K.each(e.split(te),function(e,n){t[n]=!0}),t}function r(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(me,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r||"false"!==r&&("null"===r?null:+r+""===r?+r:ge.test(r)?K.parseJSON(r):r)}catch(o){}K.data(e,n,r)}else r=t}return r}function i(e){var t;for(t in e)if(("data"!==t||!K.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}function o(){return!1}func [...]
+n}})}),K.attrHooks.contenteditable={get:ye.get,set:function(e,t,n){""===t&&(t="false"),ye.set(e,t,n)}}),K.support.hrefNormalized||K.each(["href","src","width","height"],function(e,n){K.attrHooks[n]=K.extend(K.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return null===r?t:r}})}),K.support.style||(K.attrHooks.style={get:function(e){return e.style.cssText.toLowerCase()||t},set:function(e,t){return e.style.cssText=""+t}}),K.support.optSelected||(K.propHooks.selected=K.extend(K.pro [...]
+Ze.optgroup=Ze.option,Ze.tbody=Ze.tfoot=Ze.colgroup=Ze.caption=Ze.thead,Ze.th=Ze.td,K.support.htmlSerialize||(Ze._default=[1,"X<div>","</div>"]),K.fn.extend({text:function(e){return K.access(this,function(e){return e===t?K.text(this):this.empty().append((this[0]&&this[0].ownerDocument||R).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(K.isFunction(e))return this.each(function(t){K(this).wrapAll(e.call(this,t))});if(this[0]){var t=K(e,this[0].ownerDocument).eq(0).clo [...]
\ No newline at end of file
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/jquery.ba-bbq.min.js b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/jquery.ba-bbq.min.js
index bcbf248..78d1ff5 100644
--- a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/jquery.ba-bbq.min.js
+++ b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/jquery.ba-bbq.min.js
@@ -1,18 +1 @@
-/*
- * jQuery BBQ: Back Button & Query Library - v1.2.1 - 2/17/2010
- * http://benalman.com/projects/jquery-bbq-plugin/
- * 
- * Copyright (c) 2010 "Cowboy" Ben Alman
- * Dual licensed under the MIT and GPL licenses.
- * http://benalman.com/about/license/
- */
-(function($,p){var i,m=Array.prototype.slice,r=decodeURIComponent,a=$.param,c,l,v,b=$.bbq=$.bbq||{},q,u,j,e=$.event.special,d="hashchange",A="querystring",D="fragment",y="elemUrlAttr",g="location",k="href",t="src",x=/^.*\?|#.*$/g,w=/^.*\#/,h,C={};function E(F){return typeof F==="string"}function B(G){var F=m.call(arguments,1);return function(){return G.apply(this,F.concat(m.call(arguments)))}}function n(F){return F.replace(/^[^#]*#?(.*)$/,"$1")}function o(F){return F.replace(/(?:^[^?#]*\ [...]
-/*
- * jQuery hashchange event - v1.2 - 2/11/2010
- * http://benalman.com/projects/jquery-hashchange-plugin/
- * 
- * Copyright (c) 2010 "Cowboy" Ben Alman
- * Dual licensed under the MIT and GPL licenses.
- * http://benalman.com/about/license/
- */
-(function($,i,b){var j,k=$.event.special,c="location",d="hashchange",l="href",f=$.browser,g=document.documentMode,h=f.msie&&(g===b||g<8),e="on"+d in i&&!h;function a(m){m=m||i[c][l];return m.replace(/^[^#]*#?(.*)$/,"$1")}$[d+"Delay"]=100;k[d]=$.extend(k[d],{setup:function(){if(e){return false}$(j.start)},teardown:function(){if(e){return false}$(j.stop)}});j=(function(){var m={},r,n,o,q;function p(){o=q=function(s){return s};if(h){n=$('<iframe src="javascript:0"/>').hide().insertAfter("bo [...]
\ No newline at end of file
+!function(e,t){function n(e){return"string"==typeof e}function r(e){var t=g.call(arguments,1);return function(){return e.apply(this,t.concat(g.call(arguments)))}}function o(e){return e.replace(/^[^#]*#?(.*)$/,"$1")}function a(e){return e.replace(/(?:^[^?#]*\?([^#]*).*$)?.*/,"$1")}function i(r,o,a,i,c){var u,s,p,h,d;return i!==f?(p=a.match(r?/^([^#]*)\#?(.*)$/:/^([^#?]*)\??([^#]*)(#?.*)/),d=p[3]||"",2===c&&n(i)?s=i.replace(r?R:E,""):(h=l(p[2]),i=n(i)?l[r?A:w](i):i,s=2===c?i:1===c?e.extend [...]
\ No newline at end of file
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/jquery.slideto.min.js b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/jquery.slideto.min.js
index e2c8d5f..b15997b 100644
--- a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/jquery.slideto.min.js
+++ b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/jquery.slideto.min.js
@@ -1 +1 @@
-(function(b){b.fn.slideto=function(a){a=b.extend({slide_duration:"slow",highlight_duration:3E3,highlight:true,highlight_color:"#FFFF99"},a);return this.each(function(){obj=b(this);b("body").animate({scrollTop:obj.offset().top},a.slide_duration,function(){a.highlight&&b.ui.version&&obj.effect("highlight",{color:a.highlight_color},a.highlight_duration)})})}})(jQuery);
\ No newline at end of file
+!function(i){i.fn.slideto=function(o){return o=i.extend({slide_duration:"slow",highlight_duration:3e3,highlight:!0,highlight_color:"#FFFF99"},o),this.each(function(){obj=i(this),i("body").animate({scrollTop:obj.offset().top},o.slide_duration,function(){o.highlight&&i.ui.version&&obj.effect("highlight",{color:o.highlight_color},o.highlight_duration)})})}}(jQuery);
\ No newline at end of file
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/jquery.wiggle.min.js b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/jquery.wiggle.min.js
index 2adb0d6..6b4e261 100644
--- a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/jquery.wiggle.min.js
+++ b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/jquery.wiggle.min.js
@@ -1,8 +1 @@
-/*
-jQuery Wiggle
-Author: WonderGroup, Jordan Thomas
-URL: http://labs.wondergroup.com/demos/mini-ui/index.html
-License: MIT (http://en.wikipedia.org/wiki/MIT_License)
-*/
-jQuery.fn.wiggle=function(o){var d={speed:50,wiggles:3,travel:5,callback:null};var o=jQuery.extend(d,o);return this.each(function(){var cache=this;var wrap=jQuery(this).wrap('<div class="wiggle-wrap"></div>').css("position","relative");var calls=0;for(i=1;i<=o.wiggles;i++){jQuery(this).animate({left:"-="+o.travel},o.speed).animate({left:"+="+o.travel*2},o.speed*2).animate({left:"-="+o.travel},o.speed,function(){calls++;if(jQuery(cache).parent().hasClass('wiggle-wrap')){jQuery(cache).pare [...]
-if(calls==o.wiggles&&jQuery.isFunction(o.callback)){o.callback();}});}});};
\ No newline at end of file
+jQuery.fn.wiggle=function(e){var a={speed:50,wiggles:3,travel:5,callback:null},e=jQuery.extend(a,e);return this.each(function(){var a=this,l=(jQuery(this).wrap('<div class="wiggle-wrap"></div>').css("position","relative"),0);for(i=1;i<=e.wiggles;i++)jQuery(this).animate({left:"-="+e.travel},e.speed).animate({left:"+="+2*e.travel},2*e.speed).animate({left:"-="+e.travel},e.speed,function(){l++,jQuery(a).parent().hasClass("wiggle-wrap")&&jQuery(a).parent().replaceWith(a),l==e.wiggles&&jQuer [...]
\ No newline at end of file
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/js-yaml.min.js b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/js-yaml.min.js
new file mode 100644
index 0000000..2514a41
--- /dev/null
+++ b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/js-yaml.min.js
@@ -0,0 +1,2 @@
+!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.jsyaml=t()}}(function(){var t;return function e(t,n,i){function r(a,s){if(!n[a]){if(!t[a]){var c="function"==typeof require&&require;if(!s&&c)return c(a,!0);if(o)return o(a,!0);var u=new Error("Cannot find module '"+a+"'");thro [...]
+predicate:a,represent:o})},{"../type":13,buffer:30}],15:[function(t,e,n){"use strict";function i(t){if(null===t)return!1;var e=t.length;return 4===e&&("true"===t||"True"===t||"TRUE"===t)||5===e&&("false"===t||"False"===t||"FALSE"===t)}function r(t){return"true"===t||"True"===t||"TRUE"===t}function o(t){return"[object Boolean]"===Object.prototype.toString.call(t)}var a=t("../type");e.exports=new a("tag:yaml.org,2002:bool",{kind:"scalar",resolve:i,construct:r,predicate:o,represent:{lowerca [...]
\ No newline at end of file
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/jsoneditor.min.js b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/jsoneditor.min.js
new file mode 100644
index 0000000..21db1ab
--- /dev/null
+++ b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/jsoneditor.min.js
@@ -0,0 +1,5 @@
+!function(){var t;!function(){var e=!1,i=/xyz/.test(function(){window.postMessage("xyz")})?/\b_super\b/:/.*/;return t=function(){},t.extend=function(t){function s(){!e&&this.init&&this.init.apply(this,arguments)}var r=this.prototype;e=!0;var n=new this;e=!1;for(var o in t)n[o]="function"==typeof t[o]&&"function"==typeof r[o]&&i.test(t[o])?function(t,e){return function(){var i=this._super;this._super=r[t];var s=e.apply(this,arguments);return this._super=i,s}}(o,t[o]):t[o];return s.prototy [...]
+var s=this.input_type;("cpp"===s||"c++"===s||"c"===s)&&(s="c_cpp"),this.ace_container=document.createElement("div"),this.ace_container.style.width="100%",this.ace_container.style.position="relative",this.ace_container.style.height="400px",this.input.parentNode.insertBefore(this.ace_container,this.input),this.input.style.display="none",this.ace_editor=window.ace.edit(this.ace_container),this.ace_editor.setValue(this.getValue()),n.plugins.ace.theme&&this.ace_editor.setTheme("ace/theme/"+n. [...]
+this.delete_last_row_button.addEventListener("click",function(e){e.preventDefault(),e.stopPropagation();var i=t.getValue(),s=null;t.rows.length>1&&t.rows[t.rows.length-1].tab===t.active_tab&&(s=t.rows[t.rows.length-2].tab),i.pop(),t.setValue(i),s&&(t.active_tab=s,t.refreshTabs()),t.onChange(!0)}),t.controls.appendChild(this.delete_last_row_button),this.remove_all_rows_button=this.getButton("All","delete","Delete All"),this.remove_all_rows_button.addEventListener("click",function(e){e.pre [...]
+this.preview.appendChild(s)}this.preview.innerHTML+="<br>";var r=this.getButton("Upload","upload","Upload");this.preview.appendChild(r),r.addEventListener("click",function(e){e.preventDefault(),r.setAttribute("disabled","disabled"),t.theme.removeInputError(t.uploader),t.theme.getProgressBar&&(t.progressBar=t.theme.getProgressBar(),t.preview.appendChild(t.progressBar)),t.jsoneditor.options.upload(t.path,i,{success:function(e){t.setValue(e),t.parent?t.parent.onChildEditorChange(t):t.jsoned [...]
+}),n.defaults.resolvers.unshift(function(t){return"any"===t.type?"multiple":void 0}),n.defaults.resolvers.unshift(function(t){return"string"===t.type&&t.media&&"base64"===t.media.binaryEncoding?"base64":void 0}),n.defaults.resolvers.unshift(function(t){return"string"===t.type&&"url"===t.format&&t.options&&t.options.upload===!0&&window.FileReader?"upload":void 0}),n.defaults.resolvers.unshift(function(t){return"array"==t.type&&"table"==t.format?"table":void 0}),n.defaults.resolvers.unshif [...]
\ No newline at end of file
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/lodash.min.js b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/lodash.min.js
new file mode 100644
index 0000000..3625da8
--- /dev/null
+++ b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/lodash.min.js
@@ -0,0 +1,2 @@
+(function(){function n(n,t){if(n!==t){var r=null===n,e=n===x,u=n===n,o=null===t,i=t===x,f=t===t;if(n>t&&!o||!u||r&&!i&&f||e&&f)return 1;if(n<t&&!r||!f||o&&!e&&u||i&&u)return-1}return 0}function t(n,t,r){for(var e=n.length,u=r?e:-1;r?u--:++u<e;)if(t(n[u],u,n))return u;return-1}function r(n,t,r){if(t!==t)return p(n,r);r-=1;for(var e=n.length;++r<e;)if(n[r]===t)return r;return-1}function e(n){return"function"==typeof n||!1}function u(n){return null==n?"":n+""}function o(n,t){for(var r=-1,e= [...]
+Nn.bindKey=Ao,Nn.callback=Le,Nn.chain=te,Nn.chunk=function(n,t,r){t=(r?$r(n,t,r):null==t)?1:ju(xu(t)||1,1),r=0;for(var e=n?n.length:0,u=-1,o=De(du(e/t));r<e;)o[++u]=St(n,r,r+=t);return o},Nn.compact=function(n){for(var t=-1,r=n?n.length:0,e=-1,u=[];++t<r;){var o=n[t];o&&(u[++e]=o)}return u},Nn.constant=function(n){return function(){return n}},Nn.countBy=fo,Nn.create=function(n,t,r){var e=Pu(n);return r&&$r(n,t,r)&&(t=x),t?et(e,t):e},Nn.curry=jo,Nn.curryRight=ko,Nn.debounce=le,Nn.defaults [...]
\ No newline at end of file
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/marked.js b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/marked.js
index c2a678d..c334bff 100644
--- a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/marked.js
+++ b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/marked.js
@@ -1,1272 +1 @@
-/**
- * marked - a markdown parser
- * Copyright (c) 2011-2014, Christopher Jeffrey. (MIT Licensed)
- * https://github.com/chjj/marked
- */
-
-;(function() {
-
-/**
- * Block-Level Grammar
- */
-
-var block = {
-  newline: /^\n+/,
-  code: /^( {4}[^\n]+\n*)+/,
-  fences: noop,
-  hr: /^( *[-*_]){3,} *(?:\n+|$)/,
-  heading: /^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,
-  nptable: noop,
-  lheading: /^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,
-  blockquote: /^( *>[^\n]+(\n(?!def)[^\n]+)*\n*)+/,
-  list: /^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,
-  html: /^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/,
-  def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,
-  table: noop,
-  paragraph: /^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,
-  text: /^[^\n]+/
-};
-
-block.bullet = /(?:[*+-]|\d+\.)/;
-block.item = /^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/;
-block.item = replace(block.item, 'gm')
-  (/bull/g, block.bullet)
-  ();
-
-block.list = replace(block.list)
-  (/bull/g, block.bullet)
-  ('hr', '\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))')
-  ('def', '\\n+(?=' + block.def.source + ')')
-  ();
-
-block.blockquote = replace(block.blockquote)
-  ('def', block.def)
-  ();
-
-block._tag = '(?!(?:'
-  + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code'
-  + '|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo'
-  + '|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|[^\\w\\s@]*@)\\b';
-
-block.html = replace(block.html)
-  ('comment', /<!--[\s\S]*?-->/)
-  ('closed', /<(tag)[\s\S]+?<\/\1>/)
-  ('closing', /<tag(?:"[^"]*"|'[^']*'|[^'">])*?>/)
-  (/tag/g, block._tag)
-  ();
-
-block.paragraph = replace(block.paragraph)
-  ('hr', block.hr)
-  ('heading', block.heading)
-  ('lheading', block.lheading)
-  ('blockquote', block.blockquote)
-  ('tag', '<' + block._tag)
-  ('def', block.def)
-  ();
-
-/**
- * Normal Block Grammar
- */
-
-block.normal = merge({}, block);
-
-/**
- * GFM Block Grammar
- */
-
-block.gfm = merge({}, block.normal, {
-  fences: /^ *(`{3,}|~{3,}) *(\S+)? *\n([\s\S]+?)\s*\1 *(?:\n+|$)/,
-  paragraph: /^/
-});
-
-block.gfm.paragraph = replace(block.paragraph)
-  ('(?!', '(?!'
-    + block.gfm.fences.source.replace('\\1', '\\2') + '|'
-    + block.list.source.replace('\\1', '\\3') + '|')
-  ();
-
-/**
- * GFM + Tables Block Grammar
- */
-
-block.tables = merge({}, block.gfm, {
-  nptable: /^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,
-  table: /^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/
-});
-
-/**
- * Block Lexer
- */
-
-function Lexer(options) {
-  this.tokens = [];
-  this.tokens.links = {};
-  this.options = options || marked.defaults;
-  this.rules = block.normal;
-
-  if (this.options.gfm) {
-    if (this.options.tables) {
-      this.rules = block.tables;
-    } else {
-      this.rules = block.gfm;
-    }
-  }
-}
-
-/**
- * Expose Block Rules
- */
-
-Lexer.rules = block;
-
-/**
- * Static Lex Method
- */
-
-Lexer.lex = function(src, options) {
-  var lexer = new Lexer(options);
-  return lexer.lex(src);
-};
-
-/**
- * Preprocessing
- */
-
-Lexer.prototype.lex = function(src) {
-  src = src
-    .replace(/\r\n|\r/g, '\n')
-    .replace(/\t/g, '    ')
-    .replace(/\u00a0/g, ' ')
-    .replace(/\u2424/g, '\n');
-
-  return this.token(src, true);
-};
-
-/**
- * Lexing
- */
-
-Lexer.prototype.token = function(src, top, bq) {
-  var src = src.replace(/^ +$/gm, '')
-    , next
-    , loose
-    , cap
-    , bull
-    , b
-    , item
-    , space
-    , i
-    , l;
-
-  while (src) {
-    // newline
-    if (cap = this.rules.newline.exec(src)) {
-      src = src.substring(cap[0].length);
-      if (cap[0].length > 1) {
-        this.tokens.push({
-          type: 'space'
-        });
-      }
-    }
-
-    // code
-    if (cap = this.rules.code.exec(src)) {
-      src = src.substring(cap[0].length);
-      cap = cap[0].replace(/^ {4}/gm, '');
-      this.tokens.push({
-        type: 'code',
-        text: !this.options.pedantic
-          ? cap.replace(/\n+$/, '')
-          : cap
-      });
-      continue;
-    }
-
-    // fences (gfm)
-    if (cap = this.rules.fences.exec(src)) {
-      src = src.substring(cap[0].length);
-      this.tokens.push({
-        type: 'code',
-        lang: cap[2],
-        text: cap[3]
-      });
-      continue;
-    }
-
-    // heading
-    if (cap = this.rules.heading.exec(src)) {
-      src = src.substring(cap[0].length);
-      this.tokens.push({
-        type: 'heading',
-        depth: cap[1].length,
-        text: cap[2]
-      });
-      continue;
-    }
-
-    // table no leading pipe (gfm)
-    if (top && (cap = this.rules.nptable.exec(src))) {
-      src = src.substring(cap[0].length);
-
-      item = {
-        type: 'table',
-        header: cap[1].replace(/^ *| *\| *$/g, '').split(/ *\| */),
-        align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */),
-        cells: cap[3].replace(/\n$/, '').split('\n')
-      };
-
-      for (i = 0; i < item.align.length; i++) {
-        if (/^ *-+: *$/.test(item.align[i])) {
-          item.align[i] = 'right';
-        } else if (/^ *:-+: *$/.test(item.align[i])) {
-          item.align[i] = 'center';
-        } else if (/^ *:-+ *$/.test(item.align[i])) {
-          item.align[i] = 'left';
-        } else {
-          item.align[i] = null;
-        }
-      }
-
-      for (i = 0; i < item.cells.length; i++) {
-        item.cells[i] = item.cells[i].split(/ *\| */);
-      }
-
-      this.tokens.push(item);
-
-      continue;
-    }
-
-    // lheading
-    if (cap = this.rules.lheading.exec(src)) {
-      src = src.substring(cap[0].length);
-      this.tokens.push({
-        type: 'heading',
-        depth: cap[2] === '=' ? 1 : 2,
-        text: cap[1]
-      });
-      continue;
-    }
-
-    // hr
-    if (cap = this.rules.hr.exec(src)) {
-      src = src.substring(cap[0].length);
-      this.tokens.push({
-        type: 'hr'
-      });
-      continue;
-    }
-
-    // blockquote
-    if (cap = this.rules.blockquote.exec(src)) {
-      src = src.substring(cap[0].length);
-
-      this.tokens.push({
-        type: 'blockquote_start'
-      });
-
-      cap = cap[0].replace(/^ *> ?/gm, '');
-
-      // Pass `top` to keep the current
-      // "toplevel" state. This is exactly
-      // how markdown.pl works.
-      this.token(cap, top, true);
-
-      this.tokens.push({
-        type: 'blockquote_end'
-      });
-
-      continue;
-    }
-
-    // list
-    if (cap = this.rules.list.exec(src)) {
-      src = src.substring(cap[0].length);
-      bull = cap[2];
-
-      this.tokens.push({
-        type: 'list_start',
-        ordered: bull.length > 1
-      });
-
-      // Get each top-level item.
-      cap = cap[0].match(this.rules.item);
-
-      next = false;
-      l = cap.length;
-      i = 0;
-
-      for (; i < l; i++) {
-        item = cap[i];
-
-        // Remove the list item's bullet
-        // so it is seen as the next token.
-        space = item.length;
-        item = item.replace(/^ *([*+-]|\d+\.) +/, '');
-
-        // Outdent whatever the
-        // list item contains. Hacky.
-        if (~item.indexOf('\n ')) {
-          space -= item.length;
-          item = !this.options.pedantic
-            ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '')
-            : item.replace(/^ {1,4}/gm, '');
-        }
-
-        // Determine whether the next list item belongs here.
-        // Backpedal if it does not belong in this list.
-        if (this.options.smartLists && i !== l - 1) {
-          b = block.bullet.exec(cap[i + 1])[0];
-          if (bull !== b && !(bull.length > 1 && b.length > 1)) {
-            src = cap.slice(i + 1).join('\n') + src;
-            i = l - 1;
-          }
-        }
-
-        // Determine whether item is loose or not.
-        // Use: /(^|\n)(?! )[^\n]+\n\n(?!\s*$)/
-        // for discount behavior.
-        loose = next || /\n\n(?!\s*$)/.test(item);
-        if (i !== l - 1) {
-          next = item.charAt(item.length - 1) === '\n';
-          if (!loose) loose = next;
-        }
-
-        this.tokens.push({
-          type: loose
-            ? 'loose_item_start'
-            : 'list_item_start'
-        });
-
-        // Recurse.
-        this.token(item, false, bq);
-
-        this.tokens.push({
-          type: 'list_item_end'
-        });
-      }
-
-      this.tokens.push({
-        type: 'list_end'
-      });
-
-      continue;
-    }
-
-    // html
-    if (cap = this.rules.html.exec(src)) {
-      src = src.substring(cap[0].length);
-      this.tokens.push({
-        type: this.options.sanitize
-          ? 'paragraph'
-          : 'html',
-        pre: cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style',
-        text: cap[0]
-      });
-      continue;
-    }
-
-    // def
-    if ((!bq && top) && (cap = this.rules.def.exec(src))) {
-      src = src.substring(cap[0].length);
-      this.tokens.links[cap[1].toLowerCase()] = {
-        href: cap[2],
-        title: cap[3]
-      };
-      continue;
-    }
-
-    // table (gfm)
-    if (top && (cap = this.rules.table.exec(src))) {
-      src = src.substring(cap[0].length);
-
-      item = {
-        type: 'table',
-        header: cap[1].replace(/^ *| *\| *$/g, '').split(/ *\| */),
-        align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */),
-        cells: cap[3].replace(/(?: *\| *)?\n$/, '').split('\n')
-      };
-
-      for (i = 0; i < item.align.length; i++) {
-        if (/^ *-+: *$/.test(item.align[i])) {
-          item.align[i] = 'right';
-        } else if (/^ *:-+: *$/.test(item.align[i])) {
-          item.align[i] = 'center';
-        } else if (/^ *:-+ *$/.test(item.align[i])) {
-          item.align[i] = 'left';
-        } else {
-          item.align[i] = null;
-        }
-      }
-
-      for (i = 0; i < item.cells.length; i++) {
-        item.cells[i] = item.cells[i]
-          .replace(/^ *\| *| *\| *$/g, '')
-          .split(/ *\| */);
-      }
-
-      this.tokens.push(item);
-
-      continue;
-    }
-
-    // top-level paragraph
-    if (top && (cap = this.rules.paragraph.exec(src))) {
-      src = src.substring(cap[0].length);
-      this.tokens.push({
-        type: 'paragraph',
-        text: cap[1].charAt(cap[1].length - 1) === '\n'
-          ? cap[1].slice(0, -1)
-          : cap[1]
-      });
-      continue;
-    }
-
-    // text
-    if (cap = this.rules.text.exec(src)) {
-      // Top-level should never reach here.
-      src = src.substring(cap[0].length);
-      this.tokens.push({
-        type: 'text',
-        text: cap[0]
-      });
-      continue;
-    }
-
-    if (src) {
-      throw new
-        Error('Infinite loop on byte: ' + src.charCodeAt(0));
-    }
-  }
-
-  return this.tokens;
-};
-
-/**
- * Inline-Level Grammar
- */
-
-var inline = {
-  escape: /^\\([\\`*{}\[\]()#+\-.!_>])/,
-  autolink: /^<([^ >]+(@|:\/)[^ >]+)>/,
-  url: noop,
-  tag: /^<!--[\s\S]*?-->|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,
-  link: /^!?\[(inside)\]\(href\)/,
-  reflink: /^!?\[(inside)\]\s*\[([^\]]*)\]/,
-  nolink: /^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,
-  strong: /^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,
-  em: /^\b_((?:__|[\s\S])+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
-  code: /^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,
-  br: /^ {2,}\n(?!\s*$)/,
-  del: noop,
-  text: /^[\s\S]+?(?=[\\<!\[_*`]| {2,}\n|$)/
-};
-
-inline._inside = /(?:\[[^\]]*\]|[^\[\]]|\](?=[^\[]*\]))*/;
-inline._href = /\s*<?([\s\S]*?)>?(?:\s+['"]([\s\S]*?)['"])?\s*/;
-
-inline.link = replace(inline.link)
-  ('inside', inline._inside)
-  ('href', inline._href)
-  ();
-
-inline.reflink = replace(inline.reflink)
-  ('inside', inline._inside)
-  ();
-
-/**
- * Normal Inline Grammar
- */
-
-inline.normal = merge({}, inline);
-
-/**
- * Pedantic Inline Grammar
- */
-
-inline.pedantic = merge({}, inline.normal, {
-  strong: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,
-  em: /^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/
-});
-
-/**
- * GFM Inline Grammar
- */
-
-inline.gfm = merge({}, inline.normal, {
-  escape: replace(inline.escape)('])', '~|])')(),
-  url: /^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,
-  del: /^~~(?=\S)([\s\S]*?\S)~~/,
-  text: replace(inline.text)
-    (']|', '~]|')
-    ('|', '|https?://|')
-    ()
-});
-
-/**
- * GFM + Line Breaks Inline Grammar
- */
-
-inline.breaks = merge({}, inline.gfm, {
-  br: replace(inline.br)('{2,}', '*')(),
-  text: replace(inline.gfm.text)('{2,}', '*')()
-});
-
-/**
- * Inline Lexer & Compiler
- */
-
-function InlineLexer(links, options) {
-  this.options = options || marked.defaults;
-  this.links = links;
-  this.rules = inline.normal;
-  this.renderer = this.options.renderer || new Renderer;
-  this.renderer.options = this.options;
-
-  if (!this.links) {
-    throw new
-      Error('Tokens array requires a `links` property.');
-  }
-
-  if (this.options.gfm) {
-    if (this.options.breaks) {
-      this.rules = inline.breaks;
-    } else {
-      this.rules = inline.gfm;
-    }
-  } else if (this.options.pedantic) {
-    this.rules = inline.pedantic;
-  }
-}
-
-/**
- * Expose Inline Rules
- */
-
-InlineLexer.rules = inline;
-
-/**
- * Static Lexing/Compiling Method
- */
-
-InlineLexer.output = function(src, links, options) {
-  var inline = new InlineLexer(links, options);
-  return inline.output(src);
-};
-
-/**
- * Lexing/Compiling
- */
-
-InlineLexer.prototype.output = function(src) {
-  var out = ''
-    , link
-    , text
-    , href
-    , cap;
-
-  while (src) {
-    // escape
-    if (cap = this.rules.escape.exec(src)) {
-      src = src.substring(cap[0].length);
-      out += cap[1];
-      continue;
-    }
-
-    // autolink
-    if (cap = this.rules.autolink.exec(src)) {
-      src = src.substring(cap[0].length);
-      if (cap[2] === '@') {
-        text = cap[1].charAt(6) === ':'
-          ? this.mangle(cap[1].substring(7))
-          : this.mangle(cap[1]);
-        href = this.mangle('mailto:') + text;
-      } else {
-        text = escape(cap[1]);
-        href = text;
-      }
-      out += this.renderer.link(href, null, text);
-      continue;
-    }
-
-    // url (gfm)
-    if (!this.inLink && (cap = this.rules.url.exec(src))) {
-      src = src.substring(cap[0].length);
-      text = escape(cap[1]);
-      href = text;
-      out += this.renderer.link(href, null, text);
-      continue;
-    }
-
-    // tag
-    if (cap = this.rules.tag.exec(src)) {
-      if (!this.inLink && /^<a /i.test(cap[0])) {
-        this.inLink = true;
-      } else if (this.inLink && /^<\/a>/i.test(cap[0])) {
-        this.inLink = false;
-      }
-      src = src.substring(cap[0].length);
-      out += this.options.sanitize
-        ? escape(cap[0])
-        : cap[0];
-      continue;
-    }
-
-    // link
-    if (cap = this.rules.link.exec(src)) {
-      src = src.substring(cap[0].length);
-      this.inLink = true;
-      out += this.outputLink(cap, {
-        href: cap[2],
-        title: cap[3]
-      });
-      this.inLink = false;
-      continue;
-    }
-
-    // reflink, nolink
-    if ((cap = this.rules.reflink.exec(src))
-        || (cap = this.rules.nolink.exec(src))) {
-      src = src.substring(cap[0].length);
-      link = (cap[2] || cap[1]).replace(/\s+/g, ' ');
-      link = this.links[link.toLowerCase()];
-      if (!link || !link.href) {
-        out += cap[0].charAt(0);
-        src = cap[0].substring(1) + src;
-        continue;
-      }
-      this.inLink = true;
-      out += this.outputLink(cap, link);
-      this.inLink = false;
-      continue;
-    }
-
-    // strong
-    if (cap = this.rules.strong.exec(src)) {
-      src = src.substring(cap[0].length);
-      out += this.renderer.strong(this.output(cap[2] || cap[1]));
-      continue;
-    }
-
-    // em
-    if (cap = this.rules.em.exec(src)) {
-      src = src.substring(cap[0].length);
-      out += this.renderer.em(this.output(cap[2] || cap[1]));
-      continue;
-    }
-
-    // code
-    if (cap = this.rules.code.exec(src)) {
-      src = src.substring(cap[0].length);
-      out += this.renderer.codespan(escape(cap[2], true));
-      continue;
-    }
-
-    // br
-    if (cap = this.rules.br.exec(src)) {
-      src = src.substring(cap[0].length);
-      out += this.renderer.br();
-      continue;
-    }
-
-    // del (gfm)
-    if (cap = this.rules.del.exec(src)) {
-      src = src.substring(cap[0].length);
-      out += this.renderer.del(this.output(cap[1]));
-      continue;
-    }
-
-    // text
-    if (cap = this.rules.text.exec(src)) {
-      src = src.substring(cap[0].length);
-      out += escape(this.smartypants(cap[0]));
-      continue;
-    }
-
-    if (src) {
-      throw new
-        Error('Infinite loop on byte: ' + src.charCodeAt(0));
-    }
-  }
-
-  return out;
-};
-
-/**
- * Compile Link
- */
-
-InlineLexer.prototype.outputLink = function(cap, link) {
-  var href = escape(link.href)
-    , title = link.title ? escape(link.title) : null;
-
-  return cap[0].charAt(0) !== '!'
-    ? this.renderer.link(href, title, this.output(cap[1]))
-    : this.renderer.image(href, title, escape(cap[1]));
-};
-
-/**
- * Smartypants Transformations
- */
-
-InlineLexer.prototype.smartypants = function(text) {
-  if (!this.options.smartypants) return text;
-  return text
-    // em-dashes
-    .replace(/--/g, '\u2014')
-    // opening singles
-    .replace(/(^|[-\u2014/(\[{"\s])'/g, '$1\u2018')
-    // closing singles & apostrophes
-    .replace(/'/g, '\u2019')
-    // opening doubles
-    .replace(/(^|[-\u2014/(\[{\u2018\s])"/g, '$1\u201c')
-    // closing doubles
-    .replace(/"/g, '\u201d')
-    // ellipses
-    .replace(/\.{3}/g, '\u2026');
-};
-
-/**
- * Mangle Links
- */
-
-InlineLexer.prototype.mangle = function(text) {
-  var out = ''
-    , l = text.length
-    , i = 0
-    , ch;
-
-  for (; i < l; i++) {
-    ch = text.charCodeAt(i);
-    if (Math.random() > 0.5) {
-      ch = 'x' + ch.toString(16);
-    }
-    out += '&#' + ch + ';';
-  }
-
-  return out;
-};
-
-/**
- * Renderer
- */
-
-function Renderer(options) {
-  this.options = options || {};
-}
-
-Renderer.prototype.code = function(code, lang, escaped) {
-  if (this.options.highlight) {
-    var out = this.options.highlight(code, lang);
-    if (out != null && out !== code) {
-      escaped = true;
-      code = out;
-    }
-  }
-
-  if (!lang) {
-    return '<pre><code>'
-      + (escaped ? code : escape(code, true))
-      + '\n</code></pre>';
-  }
-
-  return '<pre><code class="'
-    + this.options.langPrefix
-    + escape(lang, true)
-    + '">'
-    + (escaped ? code : escape(code, true))
-    + '\n</code></pre>\n';
-};
-
-Renderer.prototype.blockquote = function(quote) {
-  return '<blockquote>\n' + quote + '</blockquote>\n';
-};
-
-Renderer.prototype.html = function(html) {
-  return html;
-};
-
-Renderer.prototype.heading = function(text, level, raw) {
-  return '<h'
-    + level
-    + ' id="'
-    + this.options.headerPrefix
-    + raw.toLowerCase().replace(/[^\w]+/g, '-')
-    + '">'
-    + text
-    + '</h'
-    + level
-    + '>\n';
-};
-
-Renderer.prototype.hr = function() {
-  return this.options.xhtml ? '<hr/>\n' : '<hr>\n';
-};
-
-Renderer.prototype.list = function(body, ordered) {
-  var type = ordered ? 'ol' : 'ul';
-  return '<' + type + '>\n' + body + '</' + type + '>\n';
-};
-
-Renderer.prototype.listitem = function(text) {
-  return '<li>' + text + '</li>\n';
-};
-
-Renderer.prototype.paragraph = function(text) {
-  return '<p>' + text + '</p>\n';
-};
-
-Renderer.prototype.table = function(header, body) {
-  return '<table>\n'
-    + '<thead>\n'
-    + header
-    + '</thead>\n'
-    + '<tbody>\n'
-    + body
-    + '</tbody>\n'
-    + '</table>\n';
-};
-
-Renderer.prototype.tablerow = function(content) {
-  return '<tr>\n' + content + '</tr>\n';
-};
-
-Renderer.prototype.tablecell = function(content, flags) {
-  var type = flags.header ? 'th' : 'td';
-  var tag = flags.align
-    ? '<' + type + ' style="text-align:' + flags.align + '">'
-    : '<' + type + '>';
-  return tag + content + '</' + type + '>\n';
-};
-
-// span level renderer
-Renderer.prototype.strong = function(text) {
-  return '<strong>' + text + '</strong>';
-};
-
-Renderer.prototype.em = function(text) {
-  return '<em>' + text + '</em>';
-};
-
-Renderer.prototype.codespan = function(text) {
-  return '<code>' + text + '</code>';
-};
-
-Renderer.prototype.br = function() {
-  return this.options.xhtml ? '<br/>' : '<br>';
-};
-
-Renderer.prototype.del = function(text) {
-  return '<del>' + text + '</del>';
-};
-
-Renderer.prototype.link = function(href, title, text) {
-  if (this.options.sanitize) {
-    try {
-      var prot = decodeURIComponent(unescape(href))
-        .replace(/[^\w:]/g, '')
-        .toLowerCase();
-    } catch (e) {
-      return '';
-    }
-    if (prot.indexOf('javascript:') === 0) {
-      return '';
-    }
-  }
-  var out = '<a href="' + href + '"';
-  if (title) {
-    out += ' title="' + title + '"';
-  }
-  out += '>' + text + '</a>';
-  return out;
-};
-
-Renderer.prototype.image = function(href, title, text) {
-  var out = '<img src="' + href + '" alt="' + text + '"';
-  if (title) {
-    out += ' title="' + title + '"';
-  }
-  out += this.options.xhtml ? '/>' : '>';
-  return out;
-};
-
-/**
- * Parsing & Compiling
- */
-
-function Parser(options) {
-  this.tokens = [];
-  this.token = null;
-  this.options = options || marked.defaults;
-  this.options.renderer = this.options.renderer || new Renderer;
-  this.renderer = this.options.renderer;
-  this.renderer.options = this.options;
-}
-
-/**
- * Static Parse Method
- */
-
-Parser.parse = function(src, options, renderer) {
-  var parser = new Parser(options, renderer);
-  return parser.parse(src);
-};
-
-/**
- * Parse Loop
- */
-
-Parser.prototype.parse = function(src) {
-  this.inline = new InlineLexer(src.links, this.options, this.renderer);
-  this.tokens = src.reverse();
-
-  var out = '';
-  while (this.next()) {
-    out += this.tok();
-  }
-
-  return out;
-};
-
-/**
- * Next Token
- */
-
-Parser.prototype.next = function() {
-  return this.token = this.tokens.pop();
-};
-
-/**
- * Preview Next Token
- */
-
-Parser.prototype.peek = function() {
-  return this.tokens[this.tokens.length - 1] || 0;
-};
-
-/**
- * Parse Text Tokens
- */
-
-Parser.prototype.parseText = function() {
-  var body = this.token.text;
-
-  while (this.peek().type === 'text') {
-    body += '\n' + this.next().text;
-  }
-
-  return this.inline.output(body);
-};
-
-/**
- * Parse Current Token
- */
-
-Parser.prototype.tok = function() {
-  switch (this.token.type) {
-    case 'space': {
-      return '';
-    }
-    case 'hr': {
-      return this.renderer.hr();
-    }
-    case 'heading': {
-      return this.renderer.heading(
-        this.inline.output(this.token.text),
-        this.token.depth,
-        this.token.text);
-    }
-    case 'code': {
-      return this.renderer.code(this.token.text,
-        this.token.lang,
-        this.token.escaped);
-    }
-    case 'table': {
-      var header = ''
-        , body = ''
-        , i
-        , row
-        , cell
-        , flags
-        , j;
-
-      // header
-      cell = '';
-      for (i = 0; i < this.token.header.length; i++) {
-        flags = { header: true, align: this.token.align[i] };
-        cell += this.renderer.tablecell(
-          this.inline.output(this.token.header[i]),
-          { header: true, align: this.token.align[i] }
-        );
-      }
-      header += this.renderer.tablerow(cell);
-
-      for (i = 0; i < this.token.cells.length; i++) {
-        row = this.token.cells[i];
-
-        cell = '';
-        for (j = 0; j < row.length; j++) {
-          cell += this.renderer.tablecell(
-            this.inline.output(row[j]),
-            { header: false, align: this.token.align[j] }
-          );
-        }
-
-        body += this.renderer.tablerow(cell);
-      }
-      return this.renderer.table(header, body);
-    }
-    case 'blockquote_start': {
-      var body = '';
-
-      while (this.next().type !== 'blockquote_end') {
-        body += this.tok();
-      }
-
-      return this.renderer.blockquote(body);
-    }
-    case 'list_start': {
-      var body = ''
-        , ordered = this.token.ordered;
-
-      while (this.next().type !== 'list_end') {
-        body += this.tok();
-      }
-
-      return this.renderer.list(body, ordered);
-    }
-    case 'list_item_start': {
-      var body = '';
-
-      while (this.next().type !== 'list_item_end') {
-        body += this.token.type === 'text'
-          ? this.parseText()
-          : this.tok();
-      }
-
-      return this.renderer.listitem(body);
-    }
-    case 'loose_item_start': {
-      var body = '';
-
-      while (this.next().type !== 'list_item_end') {
-        body += this.tok();
-      }
-
-      return this.renderer.listitem(body);
-    }
-    case 'html': {
-      var html = !this.token.pre && !this.options.pedantic
-        ? this.inline.output(this.token.text)
-        : this.token.text;
-      return this.renderer.html(html);
-    }
-    case 'paragraph': {
-      return this.renderer.paragraph(this.inline.output(this.token.text));
-    }
-    case 'text': {
-      return this.renderer.paragraph(this.parseText());
-    }
-  }
-};
-
-/**
- * Helpers
- */
-
-function escape(html, encode) {
-  return html
-    .replace(!encode ? /&(?!#?\w+;)/g : /&/g, '&amp;')
-    .replace(/</g, '&lt;')
-    .replace(/>/g, '&gt;')
-    .replace(/"/g, '&quot;')
-    .replace(/'/g, '&#39;');
-}
-
-function unescape(html) {
-  return html.replace(/&([#\w]+);/g, function(_, n) {
-    n = n.toLowerCase();
-    if (n === 'colon') return ':';
-    if (n.charAt(0) === '#') {
-      return n.charAt(1) === 'x'
-        ? String.fromCharCode(parseInt(n.substring(2), 16))
-        : String.fromCharCode(+n.substring(1));
-    }
-    return '';
-  });
-}
-
-function replace(regex, opt) {
-  regex = regex.source;
-  opt = opt || '';
-  return function self(name, val) {
-    if (!name) return new RegExp(regex, opt);
-    val = val.source || val;
-    val = val.replace(/(^|[^\[])\^/g, '$1');
-    regex = regex.replace(name, val);
-    return self;
-  };
-}
-
-function noop() {}
-noop.exec = noop;
-
-function merge(obj) {
-  var i = 1
-    , target
-    , key;
-
-  for (; i < arguments.length; i++) {
-    target = arguments[i];
-    for (key in target) {
-      if (Object.prototype.hasOwnProperty.call(target, key)) {
-        obj[key] = target[key];
-      }
-    }
-  }
-
-  return obj;
-}
-
-
-/**
- * Marked
- */
-
-function marked(src, opt, callback) {
-  if (callback || typeof opt === 'function') {
-    if (!callback) {
-      callback = opt;
-      opt = null;
-    }
-
-    opt = merge({}, marked.defaults, opt || {});
-
-    var highlight = opt.highlight
-      , tokens
-      , pending
-      , i = 0;
-
-    try {
-      tokens = Lexer.lex(src, opt)
-    } catch (e) {
-      return callback(e);
-    }
-
-    pending = tokens.length;
-
-    var done = function(err) {
-      if (err) {
-        opt.highlight = highlight;
-        return callback(err);
-      }
-
-      var out;
-
-      try {
-        out = Parser.parse(tokens, opt);
-      } catch (e) {
-        err = e;
-      }
-
-      opt.highlight = highlight;
-
-      return err
-        ? callback(err)
-        : callback(null, out);
-    };
-
-    if (!highlight || highlight.length < 3) {
-      return done();
-    }
-
-    delete opt.highlight;
-
-    if (!pending) return done();
-
-    for (; i < tokens.length; i++) {
-      (function(token) {
-        if (token.type !== 'code') {
-          return --pending || done();
-        }
-        return highlight(token.text, token.lang, function(err, code) {
-          if (err) return done(err);
-          if (code == null || code === token.text) {
-            return --pending || done();
-          }
-          token.text = code;
-          token.escaped = true;
-          --pending || done();
-        });
-      })(tokens[i]);
-    }
-
-    return;
-  }
-  try {
-    if (opt) opt = merge({}, marked.defaults, opt);
-    return Parser.parse(Lexer.lex(src, opt), opt);
-  } catch (e) {
-    e.message += '\nPlease report this to https://github.com/chjj/marked.';
-    if ((opt || marked.defaults).silent) {
-      return '<p>An error occured:</p><pre>'
-        + escape(e.message + '', true)
-        + '</pre>';
-    }
-    throw e;
-  }
-}
-
-/**
- * Options
- */
-
-marked.options =
-marked.setOptions = function(opt) {
-  merge(marked.defaults, opt);
-  return marked;
-};
-
-marked.defaults = {
-  gfm: true,
-  tables: true,
-  breaks: false,
-  pedantic: false,
-  sanitize: false,
-  smartLists: false,
-  silent: false,
-  highlight: null,
-  langPrefix: 'lang-',
-  smartypants: false,
-  headerPrefix: '',
-  renderer: new Renderer,
-  xhtml: false
-};
-
-/**
- * Expose
- */
-
-marked.Parser = Parser;
-marked.parser = Parser.parse;
-
-marked.Renderer = Renderer;
-
-marked.Lexer = Lexer;
-marked.lexer = Lexer.lex;
-
-marked.InlineLexer = InlineLexer;
-marked.inlineLexer = InlineLexer.output;
-
-marked.parse = marked;
-
-if (typeof module !== 'undefined' && typeof exports === 'object') {
-  module.exports = marked;
-} else if (typeof define === 'function' && define.amd) {
-  define(function() { return marked; });
-} else {
-  this.marked = marked;
-}
-
-}).call(function() {
-  return this || (typeof window !== 'undefined' ? window : global);
-}());
\ No newline at end of file
+(function(){function e(e){this.tokens=[],this.tokens.links={},this.options=e||a.defaults,this.rules=p.normal,this.options.gfm&&(this.options.tables?this.rules=p.tables:this.rules=p.gfm)}function t(e,t){if(this.options=t||a.defaults,this.links=e,this.rules=u.normal,this.renderer=this.options.renderer||new n,this.renderer.options=this.options,!this.links)throw new Error("Tokens array requires a `links` property.");this.options.gfm?this.options.breaks?this.rules=u.breaks:this.rules=u.gfm:th [...]
\ No newline at end of file
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/object-assign-pollyfill.js b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/object-assign-pollyfill.js
new file mode 100644
index 0000000..b34d63c
--- /dev/null
+++ b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/object-assign-pollyfill.js
@@ -0,0 +1 @@
+"function"!=typeof Object.assign&&!function(){Object.assign=function(n){"use strict";if(void 0===n||null===n)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(n),o=1;o<arguments.length;o++){var r=arguments[o];if(void 0!==r&&null!==r)for(var e in r)Object.prototype.hasOwnProperty.call(r,e)&&(t[e]=r[e])}return t}}();
\ No newline at end of file
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/sanitize-html.min.js b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/sanitize-html.min.js
new file mode 100644
index 0000000..ade2508
--- /dev/null
+++ b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/sanitize-html.min.js
@@ -0,0 +1,4 @@
+!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.sanitizeHtml=t()}}(function(){return function t(e,r,n){function i(o,a){if(!r[o]){if(!e[o]){var c="function"==typeof require&&require;if(!a&&c)return c(o,!0);if(s)return s(o,!0);var u=new Error("Cannot find module '"+o+"'");thro [...]
+t.next=null,this._options.withStartIndices&&(t.startIndex=this._parser.startIndex),this._options.withDomLvl1&&(t.__proto__="tag"===t.type?a:o),n?(t.prev=n,n.next=t):t.prev=null,r.push(t),t.parent=e||null},n.prototype.onopentag=function(t,e){var r={type:"script"===t?i.Script:"style"===t?i.Style:i.Tag,name:t,attribs:e,children:[]};this._addDomElement(r),this._tagStack.push(r)},n.prototype.ontext=function(t){var e,r=this._options.normalizeWhitespace||this._options.ignoreWhitespace;!this._ta [...]
+ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",t [...]
+},get ProxyHandler(){return n("ProxyHandler",t("./ProxyHandler.js"))},get DomUtils(){return n("DomUtils",t("domutils"))},get CollectingHandler(){return n("CollectingHandler",t("./CollectingHandler.js"))},DefaultHandler:s,get RssHandler(){return n("RssHandler",this.FeedHandler)},parseDOM:function(t,e){var r=new s(e);return new i(r,e).end(t),r.dom},parseFeed:function(t,r){var n=new e.exports.FeedHandler(r);return new i(n,r).end(t),n.dom},createDomStream:function(t,e,r){var n=new s(t,e,r);r [...]
\ No newline at end of file
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/swagger-oauth.js b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/swagger-oauth.js
index 86bcd3b..7160291 100644
--- a/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/swagger-oauth.js
+++ b/docs/2.2.1/rest-docs-archiva-rest-api/ui/lib/swagger-oauth.js
@@ -1,290 +1 @@
-var appName;
-var popupMask;
-var popupDialog;
-var clientId;
-var realm;
-var oauth2KeyName;
-var redirect_uri;
-var clientSecret;
-var scopeSeparator;
-
-function handleLogin() {
-  var scopes = [];
-
-  var auths = window.swaggerUi.api.authSchemes || window.swaggerUi.api.securityDefinitions;
-  if(auths) {
-    var key;
-    var defs = auths;
-    for(key in defs) {
-      var auth = defs[key];
-      if(auth.type === 'oauth2' && auth.scopes) {
-        oauth2KeyName = key;
-        var scope;
-        if(Array.isArray(auth.scopes)) {
-          // 1.2 support
-          var i;
-          for(i = 0; i < auth.scopes.length; i++) {
-            scopes.push(auth.scopes[i]);
-          }
-        }
-        else {
-          // 2.0 support
-          for(scope in auth.scopes) {
-            scopes.push({scope: scope, description: auth.scopes[scope]});
-          }
-        }
-      }
-    }
-  }
-
-  if(window.swaggerUi.api
-    && window.swaggerUi.api.info) {
-    appName = window.swaggerUi.api.info.title;
-  }
-
-  $('.api-popup-dialog').remove(); 
-  popupDialog = $(
-    [
-      '<div class="api-popup-dialog">',
-      '<div class="api-popup-title">Select OAuth2.0 Scopes</div>',
-      '<div class="api-popup-content">',
-        '<p>Scopes are used to grant an application different levels of access to data on behalf of the end user. Each API may declare one or more scopes.',
-          '<a href="#">Learn how to use</a>',
-        '</p>',
-        '<p><strong>' + appName + '</strong> API requires the following scopes. Select which ones you want to grant to Swagger UI.</p>',
-        '<ul class="api-popup-scopes">',
-        '</ul>',
-        '<p class="error-msg"></p>',
-        '<div class="api-popup-actions"><button class="api-popup-authbtn api-button green" type="button">Authorize</button><button class="api-popup-cancel api-button gray" type="button">Cancel</button></div>',
-      '</div>',
-      '</div>'].join(''));
-  $(document.body).append(popupDialog);
-
-  popup = popupDialog.find('ul.api-popup-scopes').empty();
-  for (i = 0; i < scopes.length; i ++) {
-    scope = scopes[i];
-    str = '<li><input type="checkbox" id="scope_' + i + '" scope="' + scope.scope + '"/>' + '<label for="scope_' + i + '">' + scope.scope;
-    if (scope.description) {
-      str += '<br/><span class="api-scope-desc">' + scope.description + '</span>';
-    }
-    str += '</label></li>';
-    popup.append(str);
-  }
-
-  var $win = $(window),
-    dw = $win.width(),
-    dh = $win.height(),
-    st = $win.scrollTop(),
-    dlgWd = popupDialog.outerWidth(),
-    dlgHt = popupDialog.outerHeight(),
-    top = (dh -dlgHt)/2 + st,
-    left = (dw - dlgWd)/2;
-
-  popupDialog.css({
-    top: (top < 0? 0 : top) + 'px',
-    left: (left < 0? 0 : left) + 'px'
-  });
-
-  popupDialog.find('button.api-popup-cancel').click(function() {
-    popupMask.hide();
-    popupDialog.hide();
-    popupDialog.empty();
-    popupDialog = [];
-  });
-
-  $('button.api-popup-authbtn').unbind();
-  popupDialog.find('button.api-popup-authbtn').click(function() {
-    popupMask.hide();
-    popupDialog.hide();
-
-    var authSchemes = window.swaggerUi.api.authSchemes;
-    var host = window.location;
-    var pathname = location.pathname.substring(0, location.pathname.lastIndexOf("/"));
-    var defaultRedirectUrl = host.protocol + '//' + host.host + pathname + '/o2c.html';
-    var redirectUrl = window.oAuthRedirectUrl || defaultRedirectUrl;
-    var url = null;
-
-    for (var key in authSchemes) {
-      if (authSchemes.hasOwnProperty(key)) {
-        var flow = authSchemes[key].flow;
-
-        if(authSchemes[key].type === 'oauth2' && flow && (flow === 'implicit' || flow === 'accessCode')) {
-          var dets = authSchemes[key];
-          url = dets.authorizationUrl + '?response_type=' + (flow === 'implicit' ? 'token' : 'code');
-          window.swaggerUi.tokenName = dets.tokenName || 'access_token';
-          window.swaggerUi.tokenUrl = (flow === 'accessCode' ? dets.tokenUrl : null);
-        }
-        else if(authSchemes[key].grantTypes) {
-          // 1.2 support
-          var o = authSchemes[key].grantTypes;
-          for(var t in o) {
-            if(o.hasOwnProperty(t) && t === 'implicit') {
-              var dets = o[t];
-              var ep = dets.loginEndpoint.url;
-              url = dets.loginEndpoint.url + '?response_type=token';
-              window.swaggerUi.tokenName = dets.tokenName;
-            }
-            else if (o.hasOwnProperty(t) && t === 'accessCode') {
-              var dets = o[t];
-              var ep = dets.tokenRequestEndpoint.url;
-              url = dets.tokenRequestEndpoint.url + '?response_type=code';
-              window.swaggerUi.tokenName = dets.tokenName;
-            }
-          }
-        }
-      }
-    }
-    var scopes = []
-    var o = $('.api-popup-scopes').find('input:checked');
-
-    for(k =0; k < o.length; k++) {
-      var scope = $(o[k]).attr('scope');
-
-      if (scopes.indexOf(scope) === -1)
-        scopes.push(scope);
-    }
-
-    // Implicit auth recommends a state parameter.
-    var state = Math.random ();
-
-    window.enabledScopes=scopes;
-
-    redirect_uri = redirectUrl;
-
-    url += '&redirect_uri=' + encodeURIComponent(redirectUrl);
-    url += '&realm=' + encodeURIComponent(realm);
-    url += '&client_id=' + encodeURIComponent(clientId);
-    url += '&scope=' + encodeURIComponent(scopes.join(scopeSeparator));
-    url += '&state=' + encodeURIComponent(state);
-
-    window.open(url);
-  });
-
-  popupMask.show();
-  popupDialog.show();
-  return;
-}
-
-
-function handleLogout() {
-  for(key in window.swaggerUi.api.clientAuthorizations.authz){
-    window.swaggerUi.api.clientAuthorizations.remove(key)
-  }
-  window.enabledScopes = null;
-  $('.api-ic.ic-on').addClass('ic-off');
-  $('.api-ic.ic-on').removeClass('ic-on');
-
-  // set the info box
-  $('.api-ic.ic-warning').addClass('ic-error');
-  $('.api-ic.ic-warning').removeClass('ic-warning');
-}
-
-function initOAuth(opts) {
-  var o = (opts||{});
-  var errors = [];
-
-  appName = (o.appName||errors.push('missing appName'));
-  popupMask = (o.popupMask||$('#api-common-mask'));
-  popupDialog = (o.popupDialog||$('.api-popup-dialog'));
-  clientId = (o.clientId||errors.push('missing client id'));
-  clientSecret = (o.clientSecret||errors.push('missing client secret'));
-  realm = (o.realm||errors.push('missing realm'));
-  scopeSeparator = (o.scopeSeparator||' ');
-
-  if(errors.length > 0){
-    log('auth unable initialize oauth: ' + errors);
-    return;
-  }
-
-  $('pre code').each(function(i, e) {hljs.highlightBlock(e)});
-  $('.api-ic').unbind();
-  $('.api-ic').click(function(s) {
-    if($(s.target).hasClass('ic-off'))
-      handleLogin();
-    else {
-      handleLogout();
-    }
-    false;
-  });
-}
-
-window.processOAuthCode = function processOAuthCode(data) {
-  var params = {
-    'client_id': clientId,
-    'client_secret': clientSecret,
-    'code': data.code,
-    'grant_type': 'authorization_code',
-    'redirect_uri': redirect_uri
-  }
-  $.ajax(
-  {
-    url : window.swaggerUi.tokenUrl,
-    type: "POST",
-    data: params,
-    success:function(data, textStatus, jqXHR)
-    {
-      onOAuthComplete(data);
-    },
-    error: function(jqXHR, textStatus, errorThrown)
-    {
-      onOAuthComplete("");
-    }
-  });
-}
-
-window.onOAuthComplete = function onOAuthComplete(token) {
-  if(token) {
-    if(token.error) {
-      var checkbox = $('input[type=checkbox],.secured')
-      checkbox.each(function(pos){
-        checkbox[pos].checked = false;
-      });
-      alert(token.error);
-    }
-    else {
-      var b = token[window.swaggerUi.tokenName];
-      if(b){
-        // if all roles are satisfied
-        var o = null;
-        $.each($('.auth .api-ic .api_information_panel'), function(k, v) {
-          var children = v;
-          if(children && children.childNodes) {
-            var requiredScopes = [];
-            $.each((children.childNodes), function (k1, v1){
-              var inner = v1.innerHTML;
-              if(inner)
-                requiredScopes.push(inner);
-            });
-            var diff = [];
-            for(var i=0; i < requiredScopes.length; i++) {
-              var s = requiredScopes[i];
-              if(window.enabledScopes && window.enabledScopes.indexOf(s) == -1) {
-                diff.push(s);
-              }
-            }
-            if(diff.length > 0){
-              o = v.parentNode.parentNode;
-              $(o.parentNode).find('.api-ic.ic-on').addClass('ic-off');
-              $(o.parentNode).find('.api-ic.ic-on').removeClass('ic-on');
-
-              // sorry, not all scopes are satisfied
-              $(o).find('.api-ic').addClass('ic-warning');
-              $(o).find('.api-ic').removeClass('ic-error');
-            }
-            else {
-              o = v.parentNode.parentNode;
-              $(o.parentNode).find('.api-ic.ic-off').addClass('ic-on');
-              $(o.parentNode).find('.api-ic.ic-off').removeClass('ic-off');
-
-              // all scopes are satisfied
-              $(o).find('.api-ic').addClass('ic-info');
-              $(o).find('.api-ic').removeClass('ic-warning');
-              $(o).find('.api-ic').removeClass('ic-error');
-            }
-          }
-        });
-        window.swaggerUi.api.clientAuthorizations.add(oauth2KeyName, new SwaggerClient.ApiKeyAuthorization('Authorization', 'Bearer ' + b, 'header'));
-      }
-    }
-  }
-}
\ No newline at end of file
+function handleLogin(){var e=[],o=window.swaggerUiAuth.authSchemes||window.swaggerUiAuth.securityDefinitions;if(o){var i,n=o;for(i in n){var a=n[i];if("oauth2"===a.type&&a.scopes){var t;if(Array.isArray(a.scopes)){var p;for(p=0;p<a.scopes.length;p++)e.push(a.scopes[p])}else for(t in a.scopes)e.push({scope:t,description:a.scopes[t],OAuthSchemeKey:i})}}}for(window.swaggerUi.api&&window.swaggerUi.api.info&&(appName=window.swaggerUi.api.info.title),$(".api-popup-dialog").remove(),popupDialog [...]
\ No newline at end of file
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/o2c.html b/docs/2.2.1/rest-docs-archiva-rest-api/ui/o2c.html
index 88e8bf1..0cde1d3 100644
--- a/docs/2.2.1/rest-docs-archiva-rest-api/ui/o2c.html
+++ b/docs/2.2.1/rest-docs-archiva-rest-api/ui/o2c.html
@@ -1,6 +1,6 @@
 <script>
 var qp = null;
-if(window.location.hash) {
+if(/code|token|error/.test(window.location.hash)) {
   qp = location.hash.substring(1);
 }
 else {
@@ -11,10 +11,10 @@ qp = qp ? JSON.parse('{"' + qp.replace(/&/g, '","').replace(/=/g,'":"') + '"}',
     return key===""?value:decodeURIComponent(value) }
   ):{}
 
-if (window.opener.swaggerUi.tokenUrl)
+if (window.opener.swaggerUiAuth.tokenUrl)
     window.opener.processOAuthCode(qp);
 else
     window.opener.onOAuthComplete(qp);
 
 window.close();
-</script>
\ No newline at end of file
+</script>
diff --git a/docs/2.2.1/rest-docs-archiva-rest-api/ui/swagger-ui.js b/docs/2.2.1/rest-docs-archiva-rest-api/ui/swagger-ui.js
index f516c09..a125dd2 100644
--- a/docs/2.2.1/rest-docs-archiva-rest-api/ui/swagger-ui.js
+++ b/docs/2.2.1/rest-docs-archiva-rest-api/ui/swagger-ui.js
@@ -1,315 +1,804 @@
 /**
  * swagger-ui - Swagger UI is a dependency-free collection of HTML, JavaScript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API
- * @version v2.1.2
+ * @version v2.2.9
  * @link http://swagger.io
  * @license Apache-2.0
  */
-(function(){'use strict';
+(function(){/* jshint ignore:start */ 
+ {(function() {
+  var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {};
+templates['apikey_auth'] = template({"1":function(container,depth0,helpers,partials,data) {
+    var stack1;
+
+  return "                <span class=\"key_auth__value\">"
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.value : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "</span>\n";
+},"3":function(container,depth0,helpers,partials,data) {
+    return "                <input placeholder=\"api_key\" class=\"auth_input input_apiKey_entry\" name=\"apiKey\" type=\"text\"/>\n";
+},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
+    var stack1, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing;
+
+  return "<div class=\"key_input_container\">\n    <h3 class=\"auth__title\">Api key authorization</h3>\n    <div class=\"auth__description\">"
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0.description : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "</div>\n    <div>\n        <div class=\"key_auth__field\">\n            <span class=\"key_auth__label\">name:</span>\n            <span class=\"key_auth__value\">"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.name : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "</span>\n        </div>\n        <div class=\"key_auth__field\">\n            <span class=\"key_auth__label\">in:</span>\n            <span class=\"key_auth__value\">"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0["in"] : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "</span>\n        </div>\n        <div class=\"key_auth__field\">\n            <span class=\"key_auth__label\">value:</span>\n"
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.isLogout : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.program(3, data, 0),"data":data})) != null ? stack1 : "")
+    + "        </div>\n    </div>\n</div>\n";
+},"useData":true});
+templates['auth_button'] = template({"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
+    return "<a class='authorize__btn' href=\"#\">Authorize</a>\n";
+},"useData":true});
+templates['auth_button_operation'] = template({"1":function(container,depth0,helpers,partials,data) {
+    return "        authorize__btn_operation_login\n";
+},"3":function(container,depth0,helpers,partials,data) {
+    return "        authorize__btn_operation_logout\n";
+},"5":function(container,depth0,helpers,partials,data) {
+    var stack1;
+
+  return "        <ul class=\"authorize-scopes\">\n"
+    + ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.scopes : depth0),{"name":"each","hash":{},"fn":container.program(6, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + "        </ul>\n";
+},"6":function(container,depth0,helpers,partials,data) {
+    var stack1, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing;
+
+  return "                <li class=\"authorize__scope\" title=\""
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.description : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "\">"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.scope : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "</li>\n";
+},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
+    var stack1, alias1=depth0 != null ? depth0 : {};
+
+  return "<div class=\"authorize__btn authorize__btn_operation\n"
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.isLogout : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.program(3, data, 0),"data":data})) != null ? stack1 : "")
+    + "\">\n"
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.scopes : depth0),{"name":"if","hash":{},"fn":container.program(5, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + "</div>\n";
+},"useData":true});
+templates['auth_view'] = template({"1":function(container,depth0,helpers,partials,data) {
+    return "            <button type=\"button\" class=\"auth__button auth_submit__button\" data-sw-translate>Authorize</button>\n";
+},"3":function(container,depth0,helpers,partials,data) {
+    return "            <button type=\"button\" class=\"auth__button auth_logout__button\" data-sw-translate>Logout</button>\n";
+},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
+    var stack1, alias1=depth0 != null ? depth0 : {};
+
+  return "<div class=\"auth_container\">\n\n    <div class=\"auth_inner\"></div>\n    <div class=\"auth_submit\">\n"
+    + ((stack1 = helpers.unless.call(alias1,(depth0 != null ? depth0.isLogout : depth0),{"name":"unless","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.isAuthorized : depth0),{"name":"if","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + "    </div>\n\n</div>\n";
+},"useData":true});
+templates['basic_auth'] = template({"1":function(container,depth0,helpers,partials,data) {
+    return " - authorized";
+},"3":function(container,depth0,helpers,partials,data) {
+    var stack1;
+
+  return "                <span class=\"basic_auth__value\">"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.username : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "</span>\n";
+},"5":function(container,depth0,helpers,partials,data) {
+    return "                <input required placeholder=\"username\" class=\"basic_auth__username auth_input\" name=\"username\" type=\"text\"/>\n";
+},"7":function(container,depth0,helpers,partials,data) {
+    return "            <div class=\"auth_label\">\n                <span class=\"basic_auth__label\" data-sw-translate>password:</span>\n                <input required placeholder=\"password\" class=\"basic_auth__password auth_input\" name=\"password\" type=\"password\"/></label>\n            </div>\n";
+},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
+    var stack1, alias1=depth0 != null ? depth0 : {};
+
+  return "<div class='basic_auth_container'>\n    <h3 class=\"auth__title\">Basic authentication"
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.isLogout : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + "</h3>\n    <form class=\"basic_input_container\">\n        <div class=\"auth__description\">"
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || helpers.helperMissing).call(alias1,(depth0 != null ? depth0.description : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "</div>\n        <div class=\"auth_label\">\n            <span class=\"basic_auth__label\" data-sw-translate>username:</span>\n"
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.isLogout : depth0),{"name":"if","hash":{},"fn":container.program(3, data, 0),"inverse":container.program(5, data, 0),"data":data})) != null ? stack1 : "")
+    + "        </div>\n"
+    + ((stack1 = helpers.unless.call(alias1,(depth0 != null ? depth0.isLogout : depth0),{"name":"unless","hash":{},"fn":container.program(7, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + "    </form>\n</div>\n";
+},"useData":true});
+templates['content_type'] = template({"1":function(container,depth0,helpers,partials,data) {
+    var stack1;
 
-window.SwaggerUi = Backbone.Router.extend({
+  return ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.produces : depth0),{"name":"each","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "");
+},"2":function(container,depth0,helpers,partials,data) {
+    var stack1, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing;
 
-  dom_id: 'swagger_ui',
+  return "	<option value=\""
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,depth0,{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "\">"
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,depth0,{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "</option>\n";
+},"4":function(container,depth0,helpers,partials,data) {
+    return "  <option value=\"application/json\">application/json</option>\n";
+},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
+    var stack1, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing;
+
+  return "<label data-sw-translate for=\""
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.contentTypeId : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "\">Response Content Type</label>\n<select name=\"contentType\" id=\""
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.contentTypeId : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "\">\n"
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.produces : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.program(4, data, 0),"data":data})) != null ? stack1 : "")
+    + "</select>\n";
+},"useData":true});
+templates['main'] = template({"1":function(container,depth0,helpers,partials,data) {
+    var stack1, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing;
+
+  return "  <div class=\"info_title\">"
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.title : stack1),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "</div>\n  <div class=\"info_description markdown\">"
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.description : stack1),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "</div>\n"
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.externalDocs : depth0),{"name":"if","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + "  "
+    + ((stack1 = helpers["if"].call(alias1,((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.termsOfServiceUrl : stack1),{"name":"if","hash":{},"fn":container.program(4, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + "\n  "
+    + ((stack1 = helpers["if"].call(alias1,((stack1 = ((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.contact : stack1)) != null ? stack1.name : stack1),{"name":"if","hash":{},"fn":container.program(6, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + "\n  "
+    + ((stack1 = helpers["if"].call(alias1,((stack1 = ((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.contact : stack1)) != null ? stack1.url : stack1),{"name":"if","hash":{},"fn":container.program(8, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + "\n  "
+    + ((stack1 = helpers["if"].call(alias1,((stack1 = ((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.contact : stack1)) != null ? stack1.email : stack1),{"name":"if","hash":{},"fn":container.program(10, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + "\n  "
+    + ((stack1 = helpers["if"].call(alias1,((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.license : stack1),{"name":"if","hash":{},"fn":container.program(12, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + "\n";
+},"2":function(container,depth0,helpers,partials,data) {
+    var stack1, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing;
 
-  // Attributes
-  options: null,
-  api: null,
-  headerView: null,
-  mainView: null,
+  return "  <p>"
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,((stack1 = (depth0 != null ? depth0.externalDocs : depth0)) != null ? stack1.description : stack1),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "</p>\n  <a href=\""
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,((stack1 = (depth0 != null ? depth0.externalDocs : depth0)) != null ? stack1.url : stack1),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "\" target=\"_blank\">"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,((stack1 = (depth0 != null ? depth0.externalDocs : depth0)) != null ? stack1.url : stack1),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "</a>\n";
+},"4":function(container,depth0,helpers,partials,data) {
+    var stack1;
 
-  // SwaggerUi accepts all the same options as SwaggerApi
-  initialize: function(options) {
-    options = options || {};
-    if(!options.highlightSizeThreshold) {
-      options.highlightSizeThreshold = 100000;
-    }
+  return "<div class=\"info_tos\"><a target=\"_blank\" href=\""
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || helpers.helperMissing).call(depth0 != null ? depth0 : {},((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.termsOfServiceUrl : stack1),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "\" data-sw-translate>Terms of service</a></div>";
+},"6":function(container,depth0,helpers,partials,data) {
+    var stack1;
 
-    // Allow dom_id to be overridden
-    if (options.dom_id) {
-      this.dom_id = options.dom_id;
-      delete options.dom_id;
-    }
+  return "<div><div class='info_name' style=\"display: inline\" data-sw-translate>Created by </div> "
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || helpers.helperMissing).call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.contact : stack1)) != null ? stack1.name : stack1),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "</div>";
+},"8":function(container,depth0,helpers,partials,data) {
+    var stack1, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing;
 
-    if (!options.supportedSubmitMethods){
-      options.supportedSubmitMethods = [
-        'get',
-        'put',
-        'post',
-        'delete',
-        'head',
-        'options',
-        'patch'
-      ];
-    }
+  return "<div class='info_url' data-sw-translate>See more at <a href=\""
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,((stack1 = ((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.contact : stack1)) != null ? stack1.url : stack1),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "\">"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,((stack1 = ((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.contact : stack1)) != null ? stack1.url : stack1),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "</a></div>";
+},"10":function(container,depth0,helpers,partials,data) {
+    var stack1, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing;
 
-    if (typeof options.oauth2RedirectUrl === 'string') {
-      window.oAuthRedirectUrl = options.oauth2RedirectUrl;
-    }
+  return "<div class='info_email'><a target=\"_parent\" href=\"mailto:"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,((stack1 = ((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.contact : stack1)) != null ? stack1.email : stack1),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "?subject="
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.title : stack1),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "\" data-sw-translate>Contact the developer</a></div>";
+},"12":function(container,depth0,helpers,partials,data) {
+    var stack1, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing;
 
-    // Create an empty div which contains the dom_id
-    if (! $('#' + this.dom_id).length){
-      $('body').append('<div id="' + this.dom_id + '"></div>') ;
-    }
+  return "<div class='info_license'><a target=\"_blank\" href='"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,((stack1 = ((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.license : stack1)) != null ? stack1.url : stack1),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "'>"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,((stack1 = ((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.license : stack1)) != null ? stack1.name : stack1),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "</a></div>";
+},"14":function(container,depth0,helpers,partials,data) {
+    var stack1;
 
-    this.options = options;
+  return "  , <span style=\"font-variant: small-caps\" data-sw-translate>api version</span>: "
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || helpers.helperMissing).call(depth0 != null ? depth0 : {},((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.version : stack1),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "\n    ";
+},"16":function(container,depth0,helpers,partials,data) {
+    var stack1, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing;
 
-    // set marked options
-    marked.setOptions({gfm: true});
+  return "    <span style=\"float:right\"><a target=\"_blank\" href=\""
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.validatorUrl : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "/debug?url="
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.url : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "\"><img id=\"validator\" src=\""
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.validatorUrl : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "?url="
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.url : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "\"></a>\n    </span>\n";
+},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
+    var stack1, alias1=depth0 != null ? depth0 : {};
+
+  return "<div class='info' id='api_info'>\n"
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.info : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + "</div>\n<div class='container' id='resources_container'>\n  <div class='authorize-wrapper'></div>\n\n  <ul id='resources'></ul>\n\n  <div class=\"footer\">\n    <h4 style=\"color: #999\">[ <span style=\"font-variant: small-caps\">base url</span>: "
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || helpers.helperMissing).call(alias1,(depth0 != null ? depth0.basePath : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "\n"
+    + ((stack1 = helpers["if"].call(alias1,((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.version : stack1),{"name":"if","hash":{},"fn":container.program(14, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + "]\n"
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.validatorUrl : depth0),{"name":"if","hash":{},"fn":container.program(16, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + "    </h4>\n    </div>\n</div>\n";
+},"useData":true});
+templates['oauth2'] = template({"1":function(container,depth0,helpers,partials,data) {
+    var stack1;
+
+  return "<p>Authorization URL: "
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.authorizationUrl : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "</p>";
+},"3":function(container,depth0,helpers,partials,data) {
+    var stack1;
+
+  return "<p>Token URL: "
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.tokenUrl : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "</p>";
+},"5":function(container,depth0,helpers,partials,data) {
+    return "        <p>Please input username and password for password flow authorization</p>\n        <fieldset>\n            <div><label>Username: <input class=\"oauth-username\" type=\"text\" name=\"username\"></label></div>\n            <div><label>Password: <input class=\"oauth-password\" type=\"password\" name=\"password\"></label></div>\n        </fieldset>\n";
+},"7":function(container,depth0,helpers,partials,data) {
+    var stack1;
+
+  return "        <p>Setup client authentication."
+    + ((stack1 = helpers["if"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.requireClientAuthenticaiton : depth0),{"name":"if","hash":{},"fn":container.program(8, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + "</p>\n        <fieldset>\n            <div><label>Type:\n                <select class=\"oauth-client-authentication-type\" name=\"client-authentication-type\">\n                    <option value=\"none\" selected>None or other</option>\n                    <option value=\"basic\">Basic auth</option>\n                    <option value=\"request-body\">Request body</option>\n                </select>\n            </label></div>\n            <div class=\"oauth-client-authentication\ [...]
+},"8":function(container,depth0,helpers,partials,data) {
+    return "(Required)";
+},"10":function(container,depth0,helpers,partials,data) {
+    var stack1, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing;
+
+  return "            <li>\n                <input class=\"oauth-scope\" type=\"checkbox\" data-scope=\""
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.scope : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "\" oauthtype=\""
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.OAuthSchemeKey : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "\"/>\n                <label>"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.scope : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "</label><br/>\n                <span class=\"api-scope-desc\">"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.description : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "\n"
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.OAuthSchemeKey : depth0),{"name":"if","hash":{},"fn":container.program(11, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + "                </span>\n            </li>\n";
+},"11":function(container,depth0,helpers,partials,data) {
+    var stack1;
+
+  return "                        ("
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.OAuthSchemeKey : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + ")\n";
+},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
+    var stack1, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing;
+
+  return "<div>\n    <h3 class=\"auth__title\">OAuth2.0</h3>\n    <p>"
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0.description : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "</p>\n    "
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.authorizationUrl : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + "\n    "
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.tokenUrl : depth0),{"name":"if","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + "\n    <p>flow: "
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.flow : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "</p>\n"
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.isPasswordFlow : depth0),{"name":"if","hash":{},"fn":container.program(5, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.clientAuthentication : depth0),{"name":"if","hash":{},"fn":container.program(7, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + "    <p><strong> "
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.appName : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + " </strong> API requires the following scopes. Select which ones you want to grant to Swagger UI.</p>\n    <p>Scopes are used to grant an application different levels of access to data on behalf of the end user. Each API may declare one or more scopes.\n        <a href=\"#\">Learn how to use</a>\n    </p>\n    <ul class=\"api-popup-scopes\">\n"
+    + ((stack1 = helpers.each.call(alias1,(depth0 != null ? depth0.scopes : depth0),{"name":"each","hash":{},"fn":container.program(10, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + "    </ul>\n</div>";
+},"useData":true});
+templates['operation'] = template({"1":function(container,depth0,helpers,partials,data) {
+    return "deprecated";
+},"3":function(container,depth0,helpers,partials,data) {
+    return "            <h4><span data-sw-translate>Warning: Deprecated</span></h4>\n";
+},"5":function(container,depth0,helpers,partials,data) {
+    var stack1;
+
+  return "        <h4><span data-sw-translate>Implementation Notes</span></h4>\n        <div class=\"markdown\">"
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.description : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "</div>\n";
+},"7":function(container,depth0,helpers,partials,data) {
+    return "            <div class='authorize-wrapper authorize-wrapper_operation'></div>\n";
+},"9":function(container,depth0,helpers,partials,data) {
+    var stack1, alias1=depth0 != null ? depth0 : {};
+
+  return "          <div class=\"response-class\">\n            <h4><span data-sw-translate>Response Class</span> (<span data-sw-translate>Status</span> "
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || helpers.helperMissing).call(alias1,(depth0 != null ? depth0.successCode : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + ")</h4>\n              "
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.successDescription : depth0),{"name":"if","hash":{},"fn":container.program(10, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + "\n            <p><span class=\"model-signature\" /></p>\n            <br/>\n            <div class=\"response-content-type\" />\n            </div>\n";
+},"10":function(container,depth0,helpers,partials,data) {
+    var stack1;
+
+  return "<div class=\"markdown\">"
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.successDescription : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "</div>";
+},"12":function(container,depth0,helpers,partials,data) {
+    var stack1;
+
+  return "          <h4 data-sw-translate>Headers</h4>\n          <table class=\"headers\">\n            <thead>\n              <tr>\n                <th style=\"width: 100px; max-width: 100px\" data-sw-translate>Header</th>\n                <th style=\"width: 310px; max-width: 310px\" data-sw-translate>Description</th>\n                <th style=\"width: 200px; max-width: 200px\" data-sw-translate>Type</th>\n                <th style=\"width: 320px; max-width: 320px\" data-sw-translate> [...]
+    + ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.headers : depth0),{"name":"each","hash":{},"fn":container.program(13, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + "            </tbody>\n          </table>\n";
+},"13":function(container,depth0,helpers,partials,data) {
+    var stack1, helper, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing;
+
+  return "              <tr>\n                <td>"
+    + container.escapeExpression(((helper = (helper = helpers.key || (data && data.key)) != null ? helper : alias2),(typeof helper === "function" ? helper.call(alias1,{"name":"key","hash":{},"data":data}) : helper)))
+    + "</td>\n                <td>"
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0.description : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "</td>\n                <td>"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.type : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "</td>\n                <td>"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.other : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "</td>\n              </tr>\n";
+},"15":function(container,depth0,helpers,partials,data) {
+    return "          <h4 data-sw-translate>Parameters</h4>\n          <table class='fullwidth parameters'>\n          <thead>\n            <tr>\n            <th style=\"width: 100px; max-width: 100px\" data-sw-translate>Parameter</th>\n            <th style=\"width: 310px; max-width: 310px\" data-sw-translate>Value</th>\n            <th style=\"width: 200px; max-width: 200px\" data-sw-translate>Description</th>\n            <th style=\"width: 100px; max-width: 100px\" data-sw-translate> [...]
+},"17":function(container,depth0,helpers,partials,data) {
+    return "          <div style='margin:0;padding:0;display:inline'></div>\n          <h4 data-sw-translate>Response Messages</h4>\n          <table class='fullwidth response-messages'>\n            <thead>\n            <tr>\n              <th data-sw-translate>HTTP Status Code</th>\n              <th data-sw-translate>Reason</th>\n              <th data-sw-translate>Response Model</th>\n              <th data-sw-translate>Headers</th>\n            </tr>\n            </thead>\n          [...]
+},"19":function(container,depth0,helpers,partials,data) {
+    return "";
+},"21":function(container,depth0,helpers,partials,data) {
+    return "          <div class='sandbox_header'>\n            <input class='submit' type='submit' value='Try it out!' data-sw-translate/>\n            <a href='#' class='response_hider' style='display:none' data-sw-translate>Hide Response</a>\n            <span class='response_throbber' style='display:none'></span>\n          </div>\n";
+},"23":function(container,depth0,helpers,partials,data) {
+    return "          <h4 data-sw-translate>Request Headers</h4>\n          <div class='block request_headers'></div>\n";
+},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
+    var stack1, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing, alias3=container.escapeExpression;
+
+  return "  <ul class='operations' >\n    <li class='"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.method : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + " operation' id='"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.parentId : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "_"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.nickname : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "'>\n      <div class='heading'>\n        <h3>\n          <span class='http_method'>\n          <a href='#!/"
+    + alias3((helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0.encodedParentId : depth0),{"name":"sanitize","hash":{},"data":data}))
+    + "/"
+    + alias3((helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0.nickname : depth0),{"name":"sanitize","hash":{},"data":data}))
+    + "' class=\"toggleOperation\">"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.method : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "</a>\n          </span>\n          <span class='path'>\n          <a href='#!/"
+    + alias3((helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0.encodedParentId : depth0),{"name":"sanitize","hash":{},"data":data}))
+    + "/"
+    + alias3((helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0.nickname : depth0),{"name":"sanitize","hash":{},"data":data}))
+    + "' class=\"toggleOperation "
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.deprecated : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + "\">"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.path : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "</a>\n          </span>\n        </h3>\n        <ul class='options'>\n          <li>\n          <a href='#!/"
+    + alias3((helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0.encodedParentId : depth0),{"name":"sanitize","hash":{},"data":data}))
+    + "/"
+    + alias3((helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0.nickname : depth0),{"name":"sanitize","hash":{},"data":data}))
+    + "' class=\"toggleOperation\"><span class=\"markdown\">"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.summary : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "</span></a>\n          </li>\n        </ul>\n      </div>\n      <div class='content' id='"
+    + alias3((helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0.encodedParentId : depth0),{"name":"sanitize","hash":{},"data":data}))
+    + "_"
+    + alias3((helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0.nickname : depth0),{"name":"sanitize","hash":{},"data":data}))
+    + "_content' style='display:none'>\n"
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.deprecated : depth0),{"name":"if","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.description : depth0),{"name":"if","hash":{},"fn":container.program(5, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.security : depth0),{"name":"if","hash":{},"fn":container.program(7, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.type : depth0),{"name":"if","hash":{},"fn":container.program(9, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + "\n"
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.headers : depth0),{"name":"if","hash":{},"fn":container.program(12, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + "\n        <form accept-charset='UTF-8' class='sandbox'>\n          <div style='margin:0;padding:0;display:inline'></div>\n"
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.parameters : depth0),{"name":"if","hash":{},"fn":container.program(15, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.responseMessages : depth0),{"name":"if","hash":{},"fn":container.program(17, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.isReadOnly : depth0),{"name":"if","hash":{},"fn":container.program(19, data, 0),"inverse":container.program(21, data, 0),"data":data})) != null ? stack1 : "")
+    + "        </form>\n        <div class='response' style='display:none'>\n          <h4 class='curl'>Curl</h4>\n          <div class='block curl'></div>\n          <h4 data-sw-translate>Request URL</h4>\n          <div class='block request_url'></div>\n"
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.showRequestHeaders : depth0),{"name":"if","hash":{},"fn":container.program(23, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + "          <h4 data-sw-translate>Response Body</h4>\n          <div class='block response_body'></div>\n          <h4 data-sw-translate>Response Code</h4>\n          <div class='block response_code'></div>\n          <h4 data-sw-translate>Response Headers</h4>\n          <div class='block response_headers'></div>\n        </div>\n      </div>\n    </li>\n  </ul>\n";
+},"useData":true});
+templates['param'] = template({"1":function(container,depth0,helpers,partials,data) {
+    var stack1;
 
-    // Set the callbacks
-    var that = this;
-    this.options.success = function() { return that.render(); };
-    this.options.progress = function(d) { return that.showMessage(d); };
-    this.options.failure = function(d) { return that.onLoadFailure(d); };
+  return ((stack1 = helpers["if"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.isFile : depth0),{"name":"if","hash":{},"fn":container.program(2, data, 0),"inverse":container.program(4, data, 0),"data":data})) != null ? stack1 : "");
+},"2":function(container,depth0,helpers,partials,data) {
+    var stack1, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing;
 
-    // Create view to handle the header inputs
-    this.headerView = new SwaggerUi.Views.HeaderView({el: $('#header')});
+  return "			<input type=\"file\" name='"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.name : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "' id='"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.valueId : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "'/>\n			<div class=\"parameter-content-type\" />\n";
+},"4":function(container,depth0,helpers,partials,data) {
+    var stack1;
 
-    // Event handler for when the baseUrl/apiKey is entered by user
-    this.headerView.on('update-swagger-ui', function(data) {
-      return that.updateSwaggerUi(data);
-    });
-  },
+  return ((stack1 = helpers["if"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0["default"] : depth0),{"name":"if","hash":{},"fn":container.program(5, data, 0),"inverse":container.program(7, data, 0),"data":data})) != null ? stack1 : "");
+},"5":function(container,depth0,helpers,partials,data) {
+    var stack1, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing;
 
-  // Set an option after initializing
-  setOption: function(option, value) {
-    this.options[option] = value;
-  },
+  return "				<div class=\"editor_holder\"></div>\n				<textarea class='body-textarea' name='"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.name : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "' id='"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.valueId : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "'>"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0["default"] : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "</textarea>\n        <br />\n        <div class=\"parameter-content-type\" />\n";
+},"7":function(container,depth0,helpers,partials,data) {
+    var stack1, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing;
 
-  // Get the value of a previously set option
-  getOption: function(option) {
-    return this.options[option];
-  },
+  return "				<textarea class='body-textarea' name='"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.name : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "' id='"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.valueId : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "'></textarea>\n				<div class=\"editor_holder\"></div>\n				<br />\n				<div class=\"parameter-content-type\" />\n";
+},"9":function(container,depth0,helpers,partials,data) {
+    var stack1;
+
+  return ((stack1 = helpers["if"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.isFile : depth0),{"name":"if","hash":{},"fn":container.program(2, data, 0),"inverse":container.program(10, data, 0),"data":data})) != null ? stack1 : "");
+},"10":function(container,depth0,helpers,partials,data) {
+    var stack1;
+
+  return ((stack1 = (helpers.renderTextParam || (depth0 && depth0.renderTextParam) || helpers.helperMissing).call(depth0 != null ? depth0 : {},depth0,{"name":"renderTextParam","hash":{},"fn":container.program(11, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "");
+},"11":function(container,depth0,helpers,partials,data) {
+    return "";
+},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
+    var stack1, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing;
+
+  return "<td class='code'><label for='"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.valueId : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "'>"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.name : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "</label></td>\n<td>\n\n"
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.isBody : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.program(9, data, 0),"data":data})) != null ? stack1 : "")
+    + "\n</td>\n<td class=\"markdown\">"
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0.description : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "</td>\n<td>"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.paramType : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "</td>\n<td>\n	<span class=\"model-signature\"></span>\n</td>\n";
+},"useData":true});
+templates['param_list'] = template({"1":function(container,depth0,helpers,partials,data) {
+    return " required";
+},"3":function(container,depth0,helpers,partials,data) {
+    return " multiple=\"multiple\"";
+},"5":function(container,depth0,helpers,partials,data) {
+    return " required ";
+},"7":function(container,depth0,helpers,partials,data) {
+    var stack1;
+
+  return "      <option "
+    + ((stack1 = helpers.unless.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.hasDefault : depth0),{"name":"unless","hash":{},"fn":container.program(8, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + " value=''></option>\n";
+},"8":function(container,depth0,helpers,partials,data) {
+    return "  selected=\"\" ";
+},"10":function(container,depth0,helpers,partials,data) {
+    var stack1, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing;
+
+  return "\n      <option "
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.isDefault : depth0),{"name":"if","hash":{},"fn":container.program(11, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + "  value='"
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0.value : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "'> "
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0.value : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + " "
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.isDefault : depth0),{"name":"if","hash":{},"fn":container.program(13, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + " </option>\n\n";
+},"11":function(container,depth0,helpers,partials,data) {
+    return " selected=\"\"  ";
+},"13":function(container,depth0,helpers,partials,data) {
+    return " (default) ";
+},"15":function(container,depth0,helpers,partials,data) {
+    return "<strong>";
+},"17":function(container,depth0,helpers,partials,data) {
+    return "</strong>";
+},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
+    var stack1, helper, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing;
+
+  return "<td class='code"
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.required : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + "'><label for='"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.valueId : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "'>"
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0.name : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "</label></td>\n<td>\n  <select "
+    + ((stack1 = (helpers.isArray || (depth0 && depth0.isArray) || alias2).call(alias1,depth0,{"name":"isArray","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + " class=\"parameter "
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.required : depth0),{"name":"if","hash":{},"fn":container.program(5, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + "\" name=\""
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0.name : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "\" id=\""
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.valueId : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "\">\n\n"
+    + ((stack1 = helpers.unless.call(alias1,(depth0 != null ? depth0.required : depth0),{"name":"unless","hash":{},"fn":container.program(7, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + "\n"
+    + ((stack1 = helpers.each.call(alias1,((stack1 = (depth0 != null ? depth0.allowableValues : depth0)) != null ? stack1.descriptiveValues : stack1),{"name":"each","hash":{},"fn":container.program(10, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + "\n  </select>\n</td>\n<td class=\"markdown\">"
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.required : depth0),{"name":"if","hash":{},"fn":container.program(15, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + ((stack1 = ((helper = (helper = helpers.description || (depth0 != null ? depth0.description : depth0)) != null ? helper : alias2),(typeof helper === "function" ? helper.call(alias1,{"name":"description","hash":{},"data":data}) : helper))) != null ? stack1 : "")
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.required : depth0),{"name":"if","hash":{},"fn":container.program(17, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + "</td>\n<td>"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.paramType : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "</td>\n<td><span class=\"model-signature\"></span></td>\n";
+},"useData":true});
+templates['param_readonly'] = template({"1":function(container,depth0,helpers,partials,data) {
+    var stack1, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing;
 
-  // Event handler for when url/key is received from user
-  updateSwaggerUi: function(data){
-    this.options.url = data.url;
-    this.load();
-  },
+  return "        <textarea class='body-textarea' readonly='readonly' name='"
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0.name : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "' id='"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.valueId : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "'>"
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0["default"] : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "</textarea>\n        <div class=\"parameter-content-type\" />\n";
+},"3":function(container,depth0,helpers,partials,data) {
+    var stack1;
 
-  // Create an api and render
-  load: function(){
-    // Initialize the API object
-    if (this.mainView) {
-      this.mainView.clear();
-    }
-    var url = this.options.url;
-    if (url && url.indexOf('http') !== 0) {
-      url = this.buildUrl(window.location.href.toString(), url);
-    }
-    if(this.api) {
-      this.options.authorizations = this.api.clientAuthorizations.authz;
-    }
-    this.options.url = url;
-    this.headerView.update(url);
+  return ((stack1 = helpers["if"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0["default"] : depth0),{"name":"if","hash":{},"fn":container.program(4, data, 0),"inverse":container.program(6, data, 0),"data":data})) != null ? stack1 : "");
+},"4":function(container,depth0,helpers,partials,data) {
+    var stack1;
 
-    this.api = new SwaggerClient(this.options);
-  },
+  return "            "
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0["default"] : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "\n";
+},"6":function(container,depth0,helpers,partials,data) {
+    return "            (empty)\n";
+},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
+    var stack1, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing;
 
-  // collapse all sections
-  collapseAll: function(){
-    Docs.collapseEndpointListForResource('');
-  },
+  return "<td class='code'><label for='"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.valueId : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "'>"
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0.name : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "</label></td>\n<td>\n"
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.isBody : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.program(3, data, 0),"data":data})) != null ? stack1 : "")
+    + "</td>\n<td class=\"markdown\">"
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0.description : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "</td>\n<td>"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.paramType : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "</td>\n<td><span class=\"model-signature\"></span></td>\n";
+},"useData":true});
+templates['param_readonly_required'] = template({"1":function(container,depth0,helpers,partials,data) {
+    var stack1, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing;
 
-  // list operations for all sections
-  listAll: function(){
-    Docs.collapseOperationsForResource('');
-  },
+  return "        <textarea class='body-textarea' readonly='readonly' placeholder='(required)' name='"
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0.name : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "' id='"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.valueId : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "'>"
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0["default"] : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "</textarea>\n";
+},"3":function(container,depth0,helpers,partials,data) {
+    var stack1;
 
-  // expand operations for all sections
-  expandAll: function(){
-    Docs.expandOperationsForResource('');
-  },
+  return ((stack1 = helpers["if"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0["default"] : depth0),{"name":"if","hash":{},"fn":container.program(4, data, 0),"inverse":container.program(6, data, 0),"data":data})) != null ? stack1 : "");
+},"4":function(container,depth0,helpers,partials,data) {
+    var stack1;
 
-  // This is bound to success handler for SwaggerApi
-  //  so it gets called when SwaggerApi completes loading
-  render: function(){
-    this.showMessage('Finished Loading Resource Information. Rendering Swagger UI...');
-    this.mainView = new SwaggerUi.Views.MainView({
-      model: this.api,
-      el: $('#' + this.dom_id),
-      swaggerOptions: this.options,
-      router: this
-    }).render();
-    this.showMessage();
-    switch (this.options.docExpansion) {
-      case 'full':
-        this.expandAll(); break;
-      case 'list':
-        this.listAll(); break;
-      default:
-        break;
-    }
-    this.renderGFM();
+  return "            "
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0["default"] : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "\n";
+},"6":function(container,depth0,helpers,partials,data) {
+    return "            (empty)\n";
+},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
+    var stack1, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing;
 
-    if (this.options.onComplete){
-      this.options.onComplete(this.api, this);
-    }
+  return "<td class='code required'><label for='"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.valueId : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "'>"
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0.name : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "</label></td>\n<td>\n"
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.isBody : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.program(3, data, 0),"data":data})) != null ? stack1 : "")
+    + "</td>\n<td class=\"markdown\">"
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0.description : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "</td>\n<td>"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.paramType : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "</td>\n<td><span class=\"model-signature\"></span></td>\n";
+},"useData":true});
+templates['param_required'] = template({"1":function(container,depth0,helpers,partials,data) {
+    var stack1;
 
-    setTimeout(Docs.shebang.bind(this), 100);
-  },
+  return ((stack1 = helpers["if"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.isFile : depth0),{"name":"if","hash":{},"fn":container.program(2, data, 0),"inverse":container.program(4, data, 0),"data":data})) != null ? stack1 : "");
+},"2":function(container,depth0,helpers,partials,data) {
+    var stack1, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing;
 
-  buildUrl: function(base, url){
-    if (url.indexOf('/') === 0) {
-      var parts = base.split('/');
-      base = parts[0] + '//' + parts[2];
-      return base + url;
-    } else {
-      var endOfPath = base.length;
+  return "			<input type=\"file\" name='"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.name : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "' id='"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.valueId : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "'/>\n";
+},"4":function(container,depth0,helpers,partials,data) {
+    var stack1;
 
-      if (base.indexOf('?') > -1){
-        endOfPath = Math.min(endOfPath, base.indexOf('?'));
-      }
+  return ((stack1 = helpers["if"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0["default"] : depth0),{"name":"if","hash":{},"fn":container.program(5, data, 0),"inverse":container.program(7, data, 0),"data":data})) != null ? stack1 : "");
+},"5":function(container,depth0,helpers,partials,data) {
+    var stack1, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing;
 
-      if (base.indexOf('#') > -1){
-        endOfPath = Math.min(endOfPath, base.indexOf('#'));
-      }
+  return "				<div class=\"editor_holder\"></div>\n				<textarea class='body-textarea required' placeholder='(required)' name='"
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0.name : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "' id=\""
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.valueId : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "\">"
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0["default"] : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "</textarea>\n        <br />\n        <div class=\"parameter-content-type\" />\n";
+},"7":function(container,depth0,helpers,partials,data) {
+    var stack1, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing;
 
-      base = base.substring(0, endOfPath);
+  return "				<textarea class='body-textarea required' placeholder='(required)' name='"
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0.name : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "' id='"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.valueId : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "'></textarea>\n				<div class=\"editor_holder\"></div>\n				<br />\n				<div class=\"parameter-content-type\" />\n";
+},"9":function(container,depth0,helpers,partials,data) {
+    var stack1;
 
-      if (base.indexOf('/', base.length - 1 ) !== -1){
-        return base + url;
-      }
+  return ((stack1 = helpers["if"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.isFile : depth0),{"name":"if","hash":{},"fn":container.program(10, data, 0),"inverse":container.program(12, data, 0),"data":data})) != null ? stack1 : "");
+},"10":function(container,depth0,helpers,partials,data) {
+    var stack1, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing;
 
-      return base + '/' + url;
-    }
-  },
+  return "			<input class='parameter required' type='file' name='"
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0.name : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "' id='"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.valueId : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "'/>\n";
+},"12":function(container,depth0,helpers,partials,data) {
+    var stack1;
 
-  // Shows message on topbar of the ui
-  showMessage: function(data){
-    if (data === undefined) {
-      data = '';
-    }
-    var $msgbar = $('#message-bar');
-    $msgbar.removeClass('message-fail');
-    $msgbar.addClass('message-success');
-    $msgbar.html(data);
-    if(window.SwaggerTranslator) {
-      window.SwaggerTranslator.translate($msgbar);
-    }
-  },
+  return ((stack1 = (helpers.renderTextParam || (depth0 && depth0.renderTextParam) || helpers.helperMissing).call(depth0 != null ? depth0 : {},depth0,{"name":"renderTextParam","hash":{},"fn":container.program(13, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "");
+},"13":function(container,depth0,helpers,partials,data) {
+    return "";
+},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
+    var stack1, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing;
 
-  // shows message in red
-  onLoadFailure: function(data){
-    if (data === undefined) {
-      data = '';
-    }
-    $('#message-bar').removeClass('message-success');
-    $('#message-bar').addClass('message-fail');
+  return "<td class='code required'><label for='"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.valueId : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "'>"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.name : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "</label></td>\n<td>\n"
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.isBody : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.program(9, data, 0),"data":data})) != null ? stack1 : "")
+    + "</td>\n<td>\n	<strong><span class=\"markdown\">"
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0.description : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "</span></strong>\n</td>\n<td>"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.paramType : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "</td>\n<td><span class=\"model-signature\"></span></td>\n";
+},"useData":true});
+templates['parameter_content_type'] = template({"1":function(container,depth0,helpers,partials,data) {
+    var stack1;
 
-    var val = $('#message-bar').text(data);
+  return ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.consumes : depth0),{"name":"each","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "");
+},"2":function(container,depth0,helpers,partials,data) {
+    var stack1, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing;
 
-    if (this.options.onFailure) {
-      this.options.onFailure(data);
-    }
+  return "  <option value=\""
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,depth0,{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "\">"
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,depth0,{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "</option>\n";
+},"4":function(container,depth0,helpers,partials,data) {
+    return "  <option value=\"application/json\">application/json</option>\n";
+},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
+    var stack1, helper, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing;
+
+  return "<label for=\""
+    + container.escapeExpression(((helper = (helper = helpers.parameterContentTypeId || (depth0 != null ? depth0.parameterContentTypeId : depth0)) != null ? helper : alias2),(typeof helper === "function" ? helper.call(alias1,{"name":"parameterContentTypeId","hash":{},"data":data}) : helper)))
+    + "\" data-sw-translate>Parameter content type:</label>\n<select name=\"parameterContentType\" id=\""
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0.parameterContentTypeId : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "\">\n"
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.consumes : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.program(4, data, 0),"data":data})) != null ? stack1 : "")
+    + "</select>\n";
+},"useData":true});
+templates['popup'] = template({"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
+    var helper;
 
-    return val;
-  },
+  return "<div class=\"api-popup-dialog-wrapper\">\n    <div class=\"api-popup-title\">"
+    + container.escapeExpression(((helper = (helper = helpers.title || (depth0 != null ? depth0.title : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : {},{"name":"title","hash":{},"data":data}) : helper)))
+    + "</div>\n    <div class=\"api-popup-content\"></div>\n    <p class=\"error-msg\"></p>\n    <div class=\"api-popup-actions\">\n        <button class=\"api-popup-cancel api-button gray\" type=\"button\">Cancel</button>\n    </div>\n</div>\n<div class=\"api-popup-dialog-shadow\"></div>";
+},"useData":true});
+templates['resource'] = template({"1":function(container,depth0,helpers,partials,data) {
+    return " : ";
+},"3":function(container,depth0,helpers,partials,data) {
+    var stack1;
 
-  // Renders GFM for elements with 'markdown' class
-  renderGFM: function(){
-    $('.markdown').each(function(){
-      $(this).html(marked($(this).html()));
-    });
-
-    $('.propDesc', '.model-signature .description').each(function () {
-      $(this).html(marked($(this).html())).addClass('markdown');
-    });
-  }
-
-});
-
-window.SwaggerUi.Views = {};
-
-// don't break backward compatibility with previous versions and warn users to upgrade their code
-(function(){
-  window.authorizations = {
-    add: function() {
-      warn('Using window.authorizations is deprecated. Please use SwaggerUi.api.clientAuthorizations.add().');
-
-      if (typeof window.swaggerUi === 'undefined') {
-        throw new TypeError('window.swaggerUi is not defined');
-      }
-
-      if (window.swaggerUi instanceof SwaggerUi) {
-        window.swaggerUi.api.clientAuthorizations.add.apply(window.swaggerUi.api.clientAuthorizations, arguments);
-      }
-    }
-  };
-
-  window.ApiKeyAuthorization = function() {
-    warn('window.ApiKeyAuthorization is deprecated. Please use SwaggerClient.ApiKeyAuthorization.');
-    SwaggerClient.ApiKeyAuthorization.apply(window, arguments);
-  };
-
-  window.PasswordAuthorization = function() {
-    warn('window.PasswordAuthorization is deprecated. Please use SwaggerClient.PasswordAuthorization.');
-    SwaggerClient.PasswordAuthorization.apply(window, arguments);
-  };
-
-  function warn(message) {
-    if ('console' in window && typeof window.console.warn === 'function') {
-      console.warn(message);
-    }
-  }
-})();
+  return "    <li>\n      <a href='"
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.url : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "' data-sw-translate>Raw</a>\n    </li>\n";
+},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
+    var stack1, helper, options, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing, buffer = 
+  "<div class='heading'>\n  <h2>\n    <a href='#!/"
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0.id : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "' class=\"toggleEndpointList\" data-id=\""
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0.id : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "\">"
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0.name : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "</a> ";
+  stack1 = ((helper = (helper = helpers.summary || (depth0 != null ? depth0.summary : depth0)) != null ? helper : alias2),(options={"name":"summary","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data}),(typeof helper === "function" ? helper.call(alias1,options) : helper));
+  if (!helpers.summary) { stack1 = helpers.blockHelperMissing.call(depth0,stack1,options)}
+  if (stack1 != null) { buffer += stack1; }
+  return buffer + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0.summary : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "\n  </h2>\n  <ul class='options'>\n    <li>\n      <a href='#!/"
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0.id : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "' id='endpointListTogger_"
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0.id : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "' class=\"toggleEndpointList\" data-id=\""
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0.id : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "\" data-sw-translate>Show/Hide</a>\n    </li>\n    <li>\n      <a href='#' class=\"collapseResource\" data-id=\""
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0.id : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "\" data-sw-translate>\n        List Operations\n      </a>\n    </li>\n    <li>\n      <a href='#' class=\"expandResource\" data-id=\""
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0.id : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "\" data-sw-translate>\n        Expand Operations\n      </a>\n    </li>\n"
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.url : depth0),{"name":"if","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + "  </ul>\n</div>\n<ul class='endpoints' id='"
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0.id : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "_endpoint_list' style='display:none'>\n\n</ul>\n";
+},"useData":true});
+templates['response_content_type'] = template({"1":function(container,depth0,helpers,partials,data) {
+    var stack1;
 
+  return ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.produces : depth0),{"name":"each","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "");
+},"2":function(container,depth0,helpers,partials,data) {
+    var stack1, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing;
 
-// UMD
-(function (root, factory) {
-    if (typeof define === 'function' && define.amd) {
-        // AMD. Register as an anonymous module.
-        define(['b'], function (b) {
-            return (root.SwaggerUi = factory(b));
-        });
-    } else if (typeof exports === 'object') {
-        // Node. Does not work with strict CommonJS, but
-        // only CommonJS-like environments that support module.exports,
-        // like Node.
-        module.exports = factory(require('b'));
-    } else {
-        // Browser globals
-        root.SwaggerUi = factory(root.b);
-    }
-}(this, function () {
-    return SwaggerUi;
-}));
+  return "  <option value=\""
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,depth0,{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "\">"
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,depth0,{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "</option>\n";
+},"4":function(container,depth0,helpers,partials,data) {
+    return "  <option value=\"application/json\">application/json</option>\n";
+},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
+    var stack1, helper, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression;
+
+  return "<label data-sw-translate for=\""
+    + alias4(((helper = (helper = helpers.responseContentTypeId || (depth0 != null ? depth0.responseContentTypeId : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"responseContentTypeId","hash":{},"data":data}) : helper)))
+    + "\">Response Content Type</label>\n<select name=\"responseContentType\" id=\""
+    + alias4(((helper = (helper = helpers.responseContentTypeId || (depth0 != null ? depth0.responseContentTypeId : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"responseContentTypeId","hash":{},"data":data}) : helper)))
+    + "\">\n"
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.produces : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.program(4, data, 0),"data":data})) != null ? stack1 : "")
+    + "</select>\n";
+},"useData":true});
+templates['signature'] = template({"1":function(container,depth0,helpers,partials,data) {
+    var stack1, alias1=depth0 != null ? depth0 : {};
+
+  return "\n<div>\n<ul class=\"signature-nav\">\n  <li><a class=\"description-link\" href=\"#\" data-sw-translate>Model</a></li>\n  <li><a class=\"snippet-link\" href=\"#\" data-sw-translate>Example Value</a></li>\n</ul>\n<div>\n\n<div class=\"signature-container\">\n  <div class=\"description\">\n      "
+    + container.escapeExpression((helpers.sanitize || (depth0 && depth0.sanitize) || helpers.helperMissing).call(alias1,(depth0 != null ? depth0.signature : depth0),{"name":"sanitize","hash":{},"data":data}))
+    + "\n  </div>\n\n  <div class=\"snippet\">\n"
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.sampleJSON : depth0),{"name":"if","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.sampleXML : depth0),{"name":"if","hash":{},"fn":container.program(5, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + "  </div>\n</div>\n";
+},"2":function(container,depth0,helpers,partials,data) {
+    var stack1, alias1=depth0 != null ? depth0 : {};
+
+  return "      <div class=\"snippet_json\">\n        <pre><code>"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || helpers.helperMissing).call(alias1,(depth0 != null ? depth0.sampleJSON : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "</code></pre>\n        "
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.isParam : depth0),{"name":"if","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + "\n      </div>\n";
+},"3":function(container,depth0,helpers,partials,data) {
+    return "<small class=\"notice\" data-sw-translate></small>";
+},"5":function(container,depth0,helpers,partials,data) {
+    var stack1, alias1=depth0 != null ? depth0 : {};
+
+  return "    <div class=\"snippet_xml\">\n      <pre><code>"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || helpers.helperMissing).call(alias1,(depth0 != null ? depth0.sampleXML : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "</code></pre>\n      "
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.isParam : depth0),{"name":"if","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + "\n    </div>\n";
+},"7":function(container,depth0,helpers,partials,data) {
+    var stack1;
+
+  return "    "
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.signature : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "\n";
+},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
+    var stack1;
 
-this["Handlebars"] = this["Handlebars"] || {};
-this["Handlebars"]["templates"] = this["Handlebars"]["templates"] || {};
-this["Handlebars"]["templates"]["apikey_button_view"] = Handlebars.template({"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) {
-  var helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression;
-  return "<!--div class='auth_button' id='apikey_button'><img class='auth_icon' alt='apply api key' src='images/apikey.jpeg'></div-->\n<div class='auth_container' id='apikey_container'>\n  <div class='key_input_container'>\n    <div class='auth_label'><label for='input_apiKey_entry'>"
-    + escapeExpression(((helper = (helper = helpers.keyName || (depth0 != null ? depth0.keyName : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"keyName","hash":{},"data":data}) : helper)))
-    + "</label></div>\n    <input placeholder='api_key' class='auth_input' id='input_apiKey_entry' name='apiKey' type='text'/>\n    <div class='auth_submit'><a class='auth_submit_button' id='apply_api_key' href='#' data-sw-translate>apply</a></div>\n  </div>\n</div>\n";
+  return ((stack1 = (helpers.ifCond || (depth0 && depth0.ifCond) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.sampleJSON : depth0),"||",(depth0 != null ? depth0.sampleXML : depth0),{"name":"ifCond","hash":{},"fn":container.program(1, data, 0),"inverse":container.program(7, data, 0),"data":data})) != null ? stack1 : "");
 },"useData":true});
-this["Handlebars"]["templates"]["basic_auth_button_view"] = Handlebars.template({"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) {
-  return "<div class='auth_button' id='basic_auth_button'><img class='auth_icon' src='images/password.jpeg'></div>\n<div class='auth_container' id='basic_auth_container'>\n  <div class='key_input_container'>\n    <div class=\"auth_label\"><label for=\"input_username\" data-sw-translate>Username</label></div>\n    <input placeholder=\"username\" class=\"auth_input\" id=\"input_username\" name=\"username\" type=\"text\"/>\n    <div class=\"auth_label\"><label for=\"password\" data-sw-trans [...]
-  },"useData":true});
-this["Handlebars"]["templates"]["content_type"] = Handlebars.template({"1":function(depth0,helpers,partials,data) {
-  var stack1, buffer = "";
-  stack1 = helpers.each.call(depth0, (depth0 != null ? depth0.produces : depth0), {"name":"each","hash":{},"fn":this.program(2, data),"inverse":this.noop,"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  return buffer;
-},"2":function(depth0,helpers,partials,data) {
-  var stack1, lambda=this.lambda, buffer = "	<option value=\"";
-  stack1 = lambda(depth0, depth0);
-  if (stack1 != null) { buffer += stack1; }
-  buffer += "\">";
-  stack1 = lambda(depth0, depth0);
-  if (stack1 != null) { buffer += stack1; }
-  return buffer + "</option>\n";
-},"4":function(depth0,helpers,partials,data) {
-  return "  <option value=\"application/json\">application/json</option>\n";
-  },"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) {
-  var stack1, helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, buffer = "<label data-sw-translate for=\""
-    + escapeExpression(((helper = (helper = helpers.contentTypeId || (depth0 != null ? depth0.contentTypeId : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"contentTypeId","hash":{},"data":data}) : helper)))
-    + "\">Response Content Type</label>\n<select name=\"contentType\" id=\""
-    + escapeExpression(((helper = (helper = helpers.contentTypeId || (depth0 != null ? depth0.contentTypeId : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"contentTypeId","hash":{},"data":data}) : helper)))
-    + "\">\n";
-  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.produces : depth0), {"name":"if","hash":{},"fn":this.program(1, data),"inverse":this.program(4, data),"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  return buffer + "</select>\n";
+templates['status_code'] = template({"1":function(container,depth0,helpers,partials,data) {
+    var stack1, helper, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing;
+
+  return "      <tr>\n        <td>"
+    + container.escapeExpression(((helper = (helper = helpers.key || (data && data.key)) != null ? helper : alias2),(typeof helper === "function" ? helper.call(alias1,{"name":"key","hash":{},"data":data}) : helper)))
+    + "</td>\n        <td>"
+    + ((stack1 = (helpers.sanitize || (depth0 && depth0.sanitize) || alias2).call(alias1,(depth0 != null ? depth0.description : depth0),{"name":"sanitize","hash":{},"data":data})) != null ? stack1 : "")
+    + "</td>\n        <td>"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.type : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "</td>\n      </tr>\n";
+},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
+    var stack1, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing;
+
+  return "<td width='15%' class='code'>"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.code : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "</td>\n<td class=\"markdown\">"
+    + ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.message : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+    + "</td>\n<td width='50%'><span class=\"model-signature\" /></td>\n<td class=\"headers\">\n  <table>\n    <tbody>\n"
+    + ((stack1 = helpers.each.call(alias1,(depth0 != null ? depth0.headers : depth0),{"name":"each","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + "    </tbody>\n  </table>\n</td>";
 },"useData":true});
+})();} 
+ /* jshint ignore:end */
 'use strict';
 
 
@@ -420,23 +909,24 @@ window.Docs = {
         Docs.expandEndpointListForResource(fragments[0]);
         $("#"+dom_id).slideto({highlight: false});
 
-        // Expand operation
-				var li_dom_id = fragments.join('_');
-				var li_content_dom_id = li_dom_id + "_content";
+            // Expand operation
+            var li_dom_id = fragments.join('_');
+            var li_content_dom_id = li_dom_id + "_content";
 
 
-				Docs.expandOperation($('#'+li_content_dom_id));
-				$('#'+li_dom_id).slideto({highlight: false});
-				break;
+            Docs.expandOperation($('#'+li_content_dom_id));
+            $('#'+li_dom_id).slideto({highlight: false});
+            break;
 		}
-
 	},
 
 	toggleEndpointListForResource: function(resource) {
 		var elem = $('li#resource_' + Docs.escapeResourceName(resource) + ' ul.endpoints');
 		if (elem.is(':visible')) {
+			$.bbq.pushState('#/', 2);
 			Docs.collapseEndpointListForResource(resource);
 		} else {
+            $.bbq.pushState('#/' + resource, 2);
 			Docs.expandEndpointListForResource(resource);
 		}
 	},
@@ -510,6033 +1000,6946 @@ window.Docs = {
 	}
 };
 
-'use strict';
+/*!
+ * https://github.com/es-shims/es5-shim
+ * @license es5-shim Copyright 2009-2015 by contributors, MIT License
+ * see https://github.com/es-shims/es5-shim/blob/master/LICENSE
+ */
 
-Handlebars.registerHelper('sanitize', function(html) {
-    // Strip the script tags from the html, and return it as a Handlebars.SafeString
-    html = html.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, '');
-    return new Handlebars.SafeString(html);
-});
+// vim: ts=4 sts=4 sw=4 expandtab
 
-Handlebars.registerHelper('renderTextParam', function(param) {
-    var result, type = 'text', idAtt = '';
-    var isArray = param.type.toLowerCase() === 'array' || param.allowMultiple;
-    var defaultValue = isArray && Array.isArray(param.default) ? param.default.join('\n') : param.default;
+// Add semicolon to prevent IIFE from being passed as argument to concatenated code.
+;
 
-    var dataVendorExtensions = Object.keys(param).filter(function(property) {
-        // filter X-data- properties
-        return property.match(/^X-data-/i) !== null;
-    }).reduce(function(result, property) {
-        // remove X- from property name, so it results in html attributes like data-foo='bar'
-        return result += ' ' + property.substring(2, property.length) + '=\'' + param[property] + '\'';
-    }, '');
+// UMD (Universal Module Definition)
+// see https://github.com/umdjs/umd/blob/master/templates/returnExports.js
+(function (root, factory) {
+    'use strict';
 
-    if (typeof defaultValue === 'undefined') {
-        defaultValue = '';
+    /* global define, exports, module */
+    if (typeof define === 'function' && define.amd) {
+        // AMD. Register as an anonymous module.
+        define(factory);
+    } else if (typeof exports === 'object') {
+        // Node. Does not work with strict CommonJS, but
+        // only CommonJS-like enviroments that support module.exports,
+        // like Node.
+        module.exports = factory();
+    } else {
+        // Browser globals (root is window)
+        root.returnExports = factory();
     }
+}(this, function () {
+    /**
+     * Brings an environment as close to ECMAScript 5 compliance
+     * as is possible with the facilities of erstwhile engines.
+     *
+     * Annotated ES5: http://es5.github.com/ (specific links below)
+     * ES5 Spec: http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf
+     * Required reading: http://javascriptweblog.wordpress.com/2011/12/05/extending-javascript-natives/
+     */
 
-    if(param.format && param.format === 'password') {
-        type = 'password';
-    }
+    // Shortcut to an often accessed properties, in order to avoid multiple
+    // dereference that costs universally. This also holds a reference to known-good
+    // functions.
+    var $Array = Array;
+    var ArrayPrototype = $Array.prototype;
+    var $Object = Object;
+    var ObjectPrototype = $Object.prototype;
+    var $Function = Function;
+    var FunctionPrototype = $Function.prototype;
+    var $String = String;
+    var StringPrototype = $String.prototype;
+    var $Number = Number;
+    var NumberPrototype = $Number.prototype;
+    var array_slice = ArrayPrototype.slice;
+    var array_splice = ArrayPrototype.splice;
+    var array_push = ArrayPrototype.push;
+    var array_unshift = ArrayPrototype.unshift;
+    var array_concat = ArrayPrototype.concat;
+    var array_join = ArrayPrototype.join;
+    var call = FunctionPrototype.call;
+    var apply = FunctionPrototype.apply;
+    var max = Math.max;
+    var min = Math.min;
+
+    // Having a toString local variable name breaks in Opera so use to_string.
+    var to_string = ObjectPrototype.toString;
+
+    /* global Symbol */
+    /* eslint-disable one-var-declaration-per-line, no-redeclare, max-statements-per-line */
+    var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';
+    var isCallable; /* inlined from https://npmjs.com/is-callable */ var fnToStr = Function.prototype.toString, constructorRegex = /^\s*class /, isES6ClassFn = function isES6ClassFn(value) { try { var fnStr = fnToStr.call(value); var singleStripped = fnStr.replace(/\/\/.*\n/g, ''); var multiStripped = singleStripped.replace(/\/\*[.\s\S]*\*\//g, ''); var spaceStripped = multiStripped.replace(/\n/mg, ' ').replace(/ {2}/g, ' '); return constructorRegex.test(spaceStripped); } catch (e) { ret [...]
+
+    var isRegex; /* inlined from https://npmjs.com/is-regex */ var regexExec = RegExp.prototype.exec, tryRegexExec = function tryRegexExec(value) { try { regexExec.call(value); return true; } catch (e) { return false; } }, regexClass = '[object RegExp]'; isRegex = function isRegex(value) { if (typeof value !== 'object') { return false; } return hasToStringTag ? tryRegexExec(value) : to_string.call(value) === regexClass; };
+    var isString; /* inlined from https://npmjs.com/is-string */ var strValue = String.prototype.valueOf, tryStringObject = function tryStringObject(value) { try { strValue.call(value); return true; } catch (e) { return false; } }, stringClass = '[object String]'; isString = function isString(value) { if (typeof value === 'string') { return true; } if (typeof value !== 'object') { return false; } return hasToStringTag ? tryStringObject(value) : to_string.call(value) === stringClass; };
+    /* eslint-enable one-var-declaration-per-line, no-redeclare, max-statements-per-line */
+
+    /* inlined from http://npmjs.com/define-properties */
+    var supportsDescriptors = $Object.defineProperty && (function () {
+        try {
+            var obj = {};
+            $Object.defineProperty(obj, 'x', { enumerable: false, value: obj });
+            for (var _ in obj) { // jscs:ignore disallowUnusedVariables
+                return false;
+            }
+            return obj.x === obj;
+        } catch (e) { /* this is ES3 */
+            return false;
+        }
+    }());
+    var defineProperties = (function (has) {
+        // Define configurable, writable, and non-enumerable props
+        // if they don't exist.
+        var defineProperty;
+        if (supportsDescriptors) {
+            defineProperty = function (object, name, method, forceAssign) {
+                if (!forceAssign && (name in object)) {
+                    return;
+                }
+                $Object.defineProperty(object, name, {
+                    configurable: true,
+                    enumerable: false,
+                    writable: true,
+                    value: method
+                });
+            };
+        } else {
+            defineProperty = function (object, name, method, forceAssign) {
+                if (!forceAssign && (name in object)) {
+                    return;
+                }
+                object[name] = method;
+            };
+        }
+        return function defineProperties(object, map, forceAssign) {
+            for (var name in map) {
+                if (has.call(map, name)) {
+                    defineProperty(object, name, map[name], forceAssign);
+                }
+            }
+        };
+    }(ObjectPrototype.hasOwnProperty));
 
-    if(param.valueId) {
-        idAtt = ' id=\'' + param.valueId + '\'';
-    }
+    //
+    // Util
+    // ======
+    //
 
-    if(isArray) {
-        result = '<textarea class=\'body-textarea' + (param.required ? ' required' : '') + '\' name=\'' + param.name + '\'' + idAtt + dataVendorExtensions;
-        result += ' placeholder=\'Provide multiple values in new lines' + (param.required ? ' (at least one required).' : '.') + '\'>';
-        result += defaultValue + '</textarea>';
-    } else {
-        var parameterClass = 'parameter';
-        if(param.required) {
-          parameterClass += ' required';
+    /* replaceable with https://npmjs.com/package/es-abstract /helpers/isPrimitive */
+    var isPrimitive = function isPrimitive(input) {
+        var type = typeof input;
+        return input === null || (type !== 'object' && type !== 'function');
+    };
+
+    var isActualNaN = $Number.isNaN || function isActualNaN(x) {
+        return x !== x;
+    };
+
+    var ES = {
+        // ES5 9.4
+        // http://es5.github.com/#x9.4
+        // http://jsperf.com/to-integer
+        /* replaceable with https://npmjs.com/package/es-abstract ES5.ToInteger */
+        ToInteger: function ToInteger(num) {
+            var n = +num;
+            if (isActualNaN(n)) {
+                n = 0;
+            } else if (n !== 0 && n !== (1 / 0) && n !== -(1 / 0)) {
+                n = (n > 0 || -1) * Math.floor(Math.abs(n));
+            }
+            return n;
+        },
+
+        /* replaceable with https://npmjs.com/package/es-abstract ES5.ToPrimitive */
+        ToPrimitive: function ToPrimitive(input) {
+            var val, valueOf, toStr;
+            if (isPrimitive(input)) {
+                return input;
+            }
+            valueOf = input.valueOf;
+            if (isCallable(valueOf)) {
+                val = valueOf.call(input);
+                if (isPrimitive(val)) {
+                    return val;
+                }
+            }
+            toStr = input.toString;
+            if (isCallable(toStr)) {
+                val = toStr.call(input);
+                if (isPrimitive(val)) {
+                    return val;
+                }
+            }
+            throw new TypeError();
+        },
+
+        // ES5 9.9
+        // http://es5.github.com/#x9.9
+        /* replaceable with https://npmjs.com/package/es-abstract ES5.ToObject */
+        ToObject: function (o) {
+            if (o == null) { // this matches both null and undefined
+                throw new TypeError("can't convert " + o + ' to object');
+            }
+            return $Object(o);
+        },
+
+        /* replaceable with https://npmjs.com/package/es-abstract ES5.ToUint32 */
+        ToUint32: function ToUint32(x) {
+            return x >>> 0;
         }
-        result = '<input class=\'' + parameterClass + '\' minlength=\'' + (param.required ? 1 : 0) + '\'';
-        result += ' name=\'' + param.name +'\' placeholder=\'' + (param.required ? '(required)' : '') + '\'' + idAtt + dataVendorExtensions;
-        result += ' type=\'' + type + '\' value=\'' + defaultValue + '\'/>';
-    }
-    return new Handlebars.SafeString(result);
-});
+    };
 
-this["Handlebars"]["templates"]["main"] = Handlebars.template({"1":function(depth0,helpers,partials,data) {
-  var stack1, lambda=this.lambda, escapeExpression=this.escapeExpression, buffer = "  <div class=\"info_title\">"
-    + escapeExpression(lambda(((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.title : stack1), depth0))
-    + "</div>\n  <div class=\"info_description markdown\">";
-  stack1 = lambda(((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.description : stack1), depth0);
-  if (stack1 != null) { buffer += stack1; }
-  buffer += "</div>\n";
-  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.externalDocs : depth0), {"name":"if","hash":{},"fn":this.program(2, data),"inverse":this.noop,"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  buffer += "  ";
-  stack1 = helpers['if'].call(depth0, ((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.termsOfServiceUrl : stack1), {"name":"if","hash":{},"fn":this.program(4, data),"inverse":this.noop,"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  buffer += "\n  ";
-  stack1 = helpers['if'].call(depth0, ((stack1 = ((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.contact : stack1)) != null ? stack1.name : stack1), {"name":"if","hash":{},"fn":this.program(6, data),"inverse":this.noop,"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  buffer += "\n  ";
-  stack1 = helpers['if'].call(depth0, ((stack1 = ((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.contact : stack1)) != null ? stack1.url : stack1), {"name":"if","hash":{},"fn":this.program(8, data),"inverse":this.noop,"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  buffer += "\n  ";
-  stack1 = helpers['if'].call(depth0, ((stack1 = ((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.contact : stack1)) != null ? stack1.email : stack1), {"name":"if","hash":{},"fn":this.program(10, data),"inverse":this.noop,"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  buffer += "\n  ";
-  stack1 = helpers['if'].call(depth0, ((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.license : stack1), {"name":"if","hash":{},"fn":this.program(12, data),"inverse":this.noop,"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  return buffer + "\n";
-},"2":function(depth0,helpers,partials,data) {
-  var stack1, lambda=this.lambda, escapeExpression=this.escapeExpression;
-  return "  <p>"
-    + escapeExpression(lambda(((stack1 = (depth0 != null ? depth0.externalDocs : depth0)) != null ? stack1.description : stack1), depth0))
-    + "</p>\n  <a href=\""
-    + escapeExpression(lambda(((stack1 = (depth0 != null ? depth0.externalDocs : depth0)) != null ? stack1.url : stack1), depth0))
-    + "\" target=\"_blank\">"
-    + escapeExpression(lambda(((stack1 = (depth0 != null ? depth0.externalDocs : depth0)) != null ? stack1.url : stack1), depth0))
-    + "</a>\n";
-},"4":function(depth0,helpers,partials,data) {
-  var stack1, lambda=this.lambda, escapeExpression=this.escapeExpression;
-  return "<div class=\"info_tos\"><a href=\""
-    + escapeExpression(lambda(((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.termsOfServiceUrl : stack1), depth0))
-    + "\" data-sw-translate>Terms of service</a></div>";
-},"6":function(depth0,helpers,partials,data) {
-  var stack1, lambda=this.lambda, escapeExpression=this.escapeExpression;
-  return "<div class='info_name' data-sw-translate>Created by "
-    + escapeExpression(lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.contact : stack1)) != null ? stack1.name : stack1), depth0))
-    + "</div>";
-},"8":function(depth0,helpers,partials,data) {
-  var stack1, lambda=this.lambda, escapeExpression=this.escapeExpression;
-  return "<div class='info_url' data-sw-translate>See more at <a href=\""
-    + escapeExpression(lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.contact : stack1)) != null ? stack1.url : stack1), depth0))
-    + "\">"
-    + escapeExpression(lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.contact : stack1)) != null ? stack1.url : stack1), depth0))
-    + "</a></div>";
-},"10":function(depth0,helpers,partials,data) {
-  var stack1, lambda=this.lambda, escapeExpression=this.escapeExpression;
-  return "<div class='info_email'><a href=\"mailto:"
-    + escapeExpression(lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.contact : stack1)) != null ? stack1.email : stack1), depth0))
-    + "?subject="
-    + escapeExpression(lambda(((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.title : stack1), depth0))
-    + "\" data-sw-translate>Contact the developer</a></div>";
-},"12":function(depth0,helpers,partials,data) {
-  var stack1, lambda=this.lambda, escapeExpression=this.escapeExpression;
-  return "<div class='info_license'><a href='"
-    + escapeExpression(lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.license : stack1)) != null ? stack1.url : stack1), depth0))
-    + "'>"
-    + escapeExpression(lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.license : stack1)) != null ? stack1.name : stack1), depth0))
-    + "</a></div>";
-},"14":function(depth0,helpers,partials,data) {
-  var stack1, lambda=this.lambda, escapeExpression=this.escapeExpression;
-  return "  , <span style=\"font-variant: small-caps\" data-sw-translate>api version</span>: "
-    + escapeExpression(lambda(((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.version : stack1), depth0))
-    + "\n    ";
-},"16":function(depth0,helpers,partials,data) {
-  var helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression;
-  return "    <span style=\"float:right\"><a href=\""
-    + escapeExpression(((helper = (helper = helpers.validatorUrl || (depth0 != null ? depth0.validatorUrl : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"validatorUrl","hash":{},"data":data}) : helper)))
-    + "/debug?url="
-    + escapeExpression(((helper = (helper = helpers.url || (depth0 != null ? depth0.url : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"url","hash":{},"data":data}) : helper)))
-    + "\"><img id=\"validator\" src=\""
-    + escapeExpression(((helper = (helper = helpers.validatorUrl || (depth0 != null ? depth0.validatorUrl : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"validatorUrl","hash":{},"data":data}) : helper)))
-    + "?url="
-    + escapeExpression(((helper = (helper = helpers.url || (depth0 != null ? depth0.url : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"url","hash":{},"data":data}) : helper)))
-    + "\"></a>\n    </span>\n";
-},"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) {
-  var stack1, helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, buffer = "<div class='info' id='api_info'>\n";
-  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.info : depth0), {"name":"if","hash":{},"fn":this.program(1, data),"inverse":this.noop,"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  buffer += "</div>\n<div class='container' id='resources_container'>\n  <ul id='resources'></ul>\n\n  <div class=\"footer\">\n    <h4 style=\"color: #999\">[ <span style=\"font-variant: small-caps\">base url</span>: "
-    + escapeExpression(((helper = (helper = helpers.basePath || (depth0 != null ? depth0.basePath : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"basePath","hash":{},"data":data}) : helper)))
-    + "\n";
-  stack1 = helpers['if'].call(depth0, ((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.version : stack1), {"name":"if","hash":{},"fn":this.program(14, data),"inverse":this.noop,"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  buffer += "]\n";
-  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.validatorUrl : depth0), {"name":"if","hash":{},"fn":this.program(16, data),"inverse":this.noop,"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  return buffer + "    </h4>\n    </div>\n</div>\n";
-},"useData":true});
-this["Handlebars"]["templates"]["operation"] = Handlebars.template({"1":function(depth0,helpers,partials,data) {
-  return "deprecated";
-  },"3":function(depth0,helpers,partials,data) {
-  return "            <h4>Warning: Deprecated</h4>\n";
-  },"5":function(depth0,helpers,partials,data) {
-  var stack1, helper, functionType="function", helperMissing=helpers.helperMissing, buffer = "        <h4>Implementation Notes</h4>\n        <div class=\"markdown\">";
-  stack1 = ((helper = (helper = helpers.description || (depth0 != null ? depth0.description : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"description","hash":{},"data":data}) : helper));
-  if (stack1 != null) { buffer += stack1; }
-  return buffer + "</div>\n";
-},"7":function(depth0,helpers,partials,data) {
-  return "        <div class=\"auth\">\n        <span class=\"api-ic ic-error\">";
-  },"9":function(depth0,helpers,partials,data) {
-  var stack1, buffer = "          <div class=\"api_information_panel\">\n";
-  stack1 = helpers.each.call(depth0, depth0, {"name":"each","hash":{},"fn":this.program(10, data),"inverse":this.noop,"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  return buffer + "          </div>\n";
-},"10":function(depth0,helpers,partials,data) {
-  var stack1, lambda=this.lambda, escapeExpression=this.escapeExpression, buffer = "            <div title='";
-  stack1 = lambda((depth0 != null ? depth0.description : depth0), depth0);
-  if (stack1 != null) { buffer += stack1; }
-  return buffer + "'>"
-    + escapeExpression(lambda((depth0 != null ? depth0.scope : depth0), depth0))
-    + "</div>\n";
-},"12":function(depth0,helpers,partials,data) {
-  return "</span></div>";
-  },"14":function(depth0,helpers,partials,data) {
-  return "        <div class='access'>\n          <span class=\"api-ic ic-off\" title=\"click to authenticate\"></span>\n        </div>\n";
-  },"16":function(depth0,helpers,partials,data) {
-  var helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression;
-  return "          <h4><span data-sw-translate>Response Class</span> (<span data-sw-translate>Status</span> "
-    + escapeExpression(((helper = (helper = helpers.successCode || (depth0 != null ? depth0.successCode : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"successCode","hash":{},"data":data}) : helper)))
-    + ")</h4>\n          <p><span class=\"model-signature\" /></p>\n          <br/>\n          <div class=\"response-content-type\" />\n";
-},"18":function(depth0,helpers,partials,data) {
-  return "          <h4 data-sw-translate>Parameters</h4>\n          <table class='fullwidth'>\n          <thead>\n            <tr>\n            <th style=\"width: 100px; max-width: 100px\" data-sw-translate>Parameter</th>\n            <th style=\"width: 310px; max-width: 310px\" data-sw-translate>Value</th>\n            <th style=\"width: 200px; max-width: 200px\" data-sw-translate>Description</th>\n            <th style=\"width: 100px; max-width: 100px\" data-sw-translate>Parameter Typ [...]
-  },"20":function(depth0,helpers,partials,data) {
-  return "          <div style='margin:0;padding:0;display:inline'></div>\n          <h4 data-sw-translate>Response Messages</h4>\n          <table class='fullwidth'>\n            <thead>\n            <tr>\n              <th data-sw-translate>HTTP Status Code</th>\n              <th data-sw-translate>Reason</th>\n              <th data-sw-translate>Response Model</th>\n              <th data-sw-translate>Headers</th>\n            </tr>\n            </thead>\n            <tbody class=\"op [...]
-  },"22":function(depth0,helpers,partials,data) {
-  return "";
-},"24":function(depth0,helpers,partials,data) {
-  return "          <div class='sandbox_header'>\n            <input class='submit' type='button' value='Try it out!' data-sw-translate/>\n            <a href='#' class='response_hider' style='display:none' data-sw-translate>Hide Response</a>\n            <span class='response_throbber' style='display:none'></span>\n          </div>\n";
-  },"26":function(depth0,helpers,partials,data) {
-  return "          <h4 data-sw-translate>Request Headers</h4>\n          <div class='block request_headers'></div>\n";
-  },"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) {
-  var stack1, helper, options, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, blockHelperMissing=helpers.blockHelperMissing, buffer = "\n  <ul class='operations' >\n    <li class='"
-    + escapeExpression(((helper = (helper = helpers.method || (depth0 != null ? depth0.method : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"method","hash":{},"data":data}) : helper)))
-    + " operation' id='"
-    + escapeExpression(((helper = (helper = helpers.parentId || (depth0 != null ? depth0.parentId : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"parentId","hash":{},"data":data}) : helper)))
-    + "_"
-    + escapeExpression(((helper = (helper = helpers.nickname || (depth0 != null ? depth0.nickname : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"nickname","hash":{},"data":data}) : helper)))
-    + "'>\n      <div class='heading'>\n        <h3>\n          <span class='http_method'>\n          <a href='#!/"
-    + escapeExpression(((helper = (helper = helpers.encodedParentId || (depth0 != null ? depth0.encodedParentId : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"encodedParentId","hash":{},"data":data}) : helper)))
-    + "/"
-    + escapeExpression(((helper = (helper = helpers.nickname || (depth0 != null ? depth0.nickname : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"nickname","hash":{},"data":data}) : helper)))
-    + "' class=\"toggleOperation\">"
-    + escapeExpression(((helper = (helper = helpers.method || (depth0 != null ? depth0.method : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"method","hash":{},"data":data}) : helper)))
-    + "</a>\n          </span>\n          <span class='path'>\n          <a href='#!/"
-    + escapeExpression(((helper = (helper = helpers.encodedParentId || (depth0 != null ? depth0.encodedParentId : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"encodedParentId","hash":{},"data":data}) : helper)))
-    + "/"
-    + escapeExpression(((helper = (helper = helpers.nickname || (depth0 != null ? depth0.nickname : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"nickname","hash":{},"data":data}) : helper)))
-    + "' class=\"toggleOperation ";
-  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.deprecated : depth0), {"name":"if","hash":{},"fn":this.program(1, data),"inverse":this.noop,"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  buffer += "\">"
-    + escapeExpression(((helper = (helper = helpers.path || (depth0 != null ? depth0.path : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"path","hash":{},"data":data}) : helper)))
-    + "</a>\n          </span>\n        </h3>\n        <ul class='options'>\n          <li>\n          <a href='#!/"
-    + escapeExpression(((helper = (helper = helpers.encodedParentId || (depth0 != null ? depth0.encodedParentId : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"encodedParentId","hash":{},"data":data}) : helper)))
-    + "/"
-    + escapeExpression(((helper = (helper = helpers.nickname || (depth0 != null ? depth0.nickname : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"nickname","hash":{},"data":data}) : helper)))
-    + "' class=\"toggleOperation\">";
-  stack1 = ((helper = (helper = helpers.summary || (depth0 != null ? depth0.summary : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"summary","hash":{},"data":data}) : helper));
-  if (stack1 != null) { buffer += stack1; }
-  buffer += "</a>\n          </li>\n        </ul>\n      </div>\n      <div class='content' id='"
-    + escapeExpression(((helper = (helper = helpers.parentId || (depth0 != null ? depth0.parentId : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"parentId","hash":{},"data":data}) : helper)))
-    + "_"
-    + escapeExpression(((helper = (helper = helpers.nickname || (depth0 != null ? depth0.nickname : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"nickname","hash":{},"data":data}) : helper)))
-    + "_content' style='display:none'>\n";
-  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.deprecated : depth0), {"name":"if","hash":{},"fn":this.program(3, data),"inverse":this.noop,"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.description : depth0), {"name":"if","hash":{},"fn":this.program(5, data),"inverse":this.noop,"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  stack1 = ((helper = (helper = helpers.oauth || (depth0 != null ? depth0.oauth : depth0)) != null ? helper : helperMissing),(options={"name":"oauth","hash":{},"fn":this.program(7, data),"inverse":this.noop,"data":data}),(typeof helper === functionType ? helper.call(depth0, options) : helper));
-  if (!helpers.oauth) { stack1 = blockHelperMissing.call(depth0, stack1, options); }
-  if (stack1 != null) { buffer += stack1; }
-  buffer += "\n";
-  stack1 = helpers.each.call(depth0, (depth0 != null ? depth0.oauth : depth0), {"name":"each","hash":{},"fn":this.program(9, data),"inverse":this.noop,"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  buffer += "        ";
-  stack1 = ((helper = (helper = helpers.oauth || (depth0 != null ? depth0.oauth : depth0)) != null ? helper : helperMissing),(options={"name":"oauth","hash":{},"fn":this.program(12, data),"inverse":this.noop,"data":data}),(typeof helper === functionType ? helper.call(depth0, options) : helper));
-  if (!helpers.oauth) { stack1 = blockHelperMissing.call(depth0, stack1, options); }
-  if (stack1 != null) { buffer += stack1; }
-  buffer += "\n";
-  stack1 = ((helper = (helper = helpers.oauth || (depth0 != null ? depth0.oauth : depth0)) != null ? helper : helperMissing),(options={"name":"oauth","hash":{},"fn":this.program(14, data),"inverse":this.noop,"data":data}),(typeof helper === functionType ? helper.call(depth0, options) : helper));
-  if (!helpers.oauth) { stack1 = blockHelperMissing.call(depth0, stack1, options); }
-  if (stack1 != null) { buffer += stack1; }
-  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.type : depth0), {"name":"if","hash":{},"fn":this.program(16, data),"inverse":this.noop,"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  buffer += "        <form accept-charset='UTF-8' class='sandbox'>\n          <div style='margin:0;padding:0;display:inline'></div>\n";
-  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.parameters : depth0), {"name":"if","hash":{},"fn":this.program(18, data),"inverse":this.noop,"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.responseMessages : depth0), {"name":"if","hash":{},"fn":this.program(20, data),"inverse":this.noop,"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.isReadOnly : depth0), {"name":"if","hash":{},"fn":this.program(22, data),"inverse":this.program(24, data),"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  buffer += "        </form>\n        <div class='response' style='display:none'>\n          <h4>Curl</h4>\n          <div class='block curl'></div>\n          <h4 data-sw-translate>Request URL</h4>\n          <div class='block request_url'></div>\n";
-  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.showRequestHeaders : depth0), {"name":"if","hash":{},"fn":this.program(26, data),"inverse":this.noop,"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  return buffer + "          <h4 data-sw-translate>Response Body</h4>\n          <div class='block response_body'></div>\n          <h4 data-sw-translate>Response Code</h4>\n          <div class='block response_code'></div>\n          <h4 data-sw-translate>Response Headers</h4>\n          <div class='block response_headers'></div>\n        </div>\n      </div>\n    </li>\n  </ul>\n";
-},"useData":true});
-this["Handlebars"]["templates"]["param"] = Handlebars.template({"1":function(depth0,helpers,partials,data) {
-  var stack1, buffer = "";
-  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.isFile : depth0), {"name":"if","hash":{},"fn":this.program(2, data),"inverse":this.program(4, data),"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  return buffer;
-},"2":function(depth0,helpers,partials,data) {
-  var helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression;
-  return "			<input type=\"file\" name='"
-    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : helper)))
-    + "' id='"
-    + escapeExpression(((helper = (helper = helpers.valueId || (depth0 != null ? depth0.valueId : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"valueId","hash":{},"data":data}) : helper)))
-    + "'/>\n			<div class=\"parameter-content-type\" />\n";
-},"4":function(depth0,helpers,partials,data) {
-  var stack1, buffer = "";
-  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0['default'] : depth0), {"name":"if","hash":{},"fn":this.program(5, data),"inverse":this.program(7, data),"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  return buffer;
-},"5":function(depth0,helpers,partials,data) {
-  var helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression;
-  return "				<textarea class='body-textarea' name='"
-    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : helper)))
-    + "' id='"
-    + escapeExpression(((helper = (helper = helpers.valueId || (depth0 != null ? depth0.valueId : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"valueId","hash":{},"data":data}) : helper)))
-    + "'>"
-    + escapeExpression(((helper = (helper = helpers['default'] || (depth0 != null ? depth0['default'] : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"default","hash":{},"data":data}) : helper)))
-    + "</textarea>\n        <br />\n        <div class=\"parameter-content-type\" />\n";
-},"7":function(depth0,helpers,partials,data) {
-  var helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression;
-  return "				<textarea class='body-textarea' name='"
-    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : helper)))
-    + "' id='"
-    + escapeExpression(((helper = (helper = helpers.valueId || (depth0 != null ? depth0.valueId : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"valueId","hash":{},"data":data}) : helper)))
-    + "'></textarea>\n				<br />\n				<div class=\"parameter-content-type\" />\n";
-},"9":function(depth0,helpers,partials,data) {
-  var stack1, buffer = "";
-  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.isFile : depth0), {"name":"if","hash":{},"fn":this.program(2, data),"inverse":this.program(10, data),"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  return buffer;
-},"10":function(depth0,helpers,partials,data) {
-  var stack1, helperMissing=helpers.helperMissing, buffer = "";
-  stack1 = ((helpers.renderTextParam || (depth0 && depth0.renderTextParam) || helperMissing).call(depth0, depth0, {"name":"renderTextParam","hash":{},"fn":this.program(11, data),"inverse":this.noop,"data":data}));
-  if (stack1 != null) { buffer += stack1; }
-  return buffer;
-},"11":function(depth0,helpers,partials,data) {
-  return "";
-},"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) {
-  var stack1, helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, buffer = "<td class='code'><label for='"
-    + escapeExpression(((helper = (helper = helpers.valueId || (depth0 != null ? depth0.valueId : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"valueId","hash":{},"data":data}) : helper)))
-    + "'>"
-    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : helper)))
-    + "</label></td>\n<td>\n\n";
-  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.isBody : depth0), {"name":"if","hash":{},"fn":this.program(1, data),"inverse":this.program(9, data),"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  buffer += "\n</td>\n<td class=\"markdown\">";
-  stack1 = ((helper = (helper = helpers.description || (depth0 != null ? depth0.description : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"description","hash":{},"data":data}) : helper));
-  if (stack1 != null) { buffer += stack1; }
-  buffer += "</td>\n<td>";
-  stack1 = ((helper = (helper = helpers.paramType || (depth0 != null ? depth0.paramType : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"paramType","hash":{},"data":data}) : helper));
-  if (stack1 != null) { buffer += stack1; }
-  return buffer + "</td>\n<td>\n	<span class=\"model-signature\"></span>\n</td>\n";
-},"useData":true});
-this["Handlebars"]["templates"]["param_list"] = Handlebars.template({"1":function(depth0,helpers,partials,data) {
-  return " required";
-  },"3":function(depth0,helpers,partials,data) {
-  return " multiple=\"multiple\"";
-  },"5":function(depth0,helpers,partials,data) {
-  return " required ";
-  },"7":function(depth0,helpers,partials,data) {
-  var stack1, buffer = "      <option ";
-  stack1 = helpers.unless.call(depth0, (depth0 != null ? depth0.hasDefault : depth0), {"name":"unless","hash":{},"fn":this.program(8, data),"inverse":this.noop,"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  return buffer + " value=''></option>\n";
-},"8":function(depth0,helpers,partials,data) {
-  return "  selected=\"\" ";
-  },"10":function(depth0,helpers,partials,data) {
-  var stack1, helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, buffer = "\n      <option ";
-  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.isDefault : depth0), {"name":"if","hash":{},"fn":this.program(11, data),"inverse":this.noop,"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  buffer += "  value='"
-    + escapeExpression(((helper = (helper = helpers.value || (depth0 != null ? depth0.value : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"value","hash":{},"data":data}) : helper)))
-    + "'> "
-    + escapeExpression(((helper = (helper = helpers.value || (depth0 != null ? depth0.value : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"value","hash":{},"data":data}) : helper)))
-    + " ";
-  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.isDefault : depth0), {"name":"if","hash":{},"fn":this.program(13, data),"inverse":this.noop,"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  return buffer + " </option>\n\n";
-},"11":function(depth0,helpers,partials,data) {
-  return " selected=\"\"  ";
-  },"13":function(depth0,helpers,partials,data) {
-  return " (default) ";
-  },"15":function(depth0,helpers,partials,data) {
-  return "<strong>";
-  },"17":function(depth0,helpers,partials,data) {
-  return "</strong>";
-  },"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) {
-  var stack1, helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, buffer = "<td class='code";
-  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.required : depth0), {"name":"if","hash":{},"fn":this.program(1, data),"inverse":this.noop,"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  buffer += "'><label for='"
-    + escapeExpression(((helper = (helper = helpers.valueId || (depth0 != null ? depth0.valueId : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"valueId","hash":{},"data":data}) : helper)))
-    + "'>"
-    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : helper)))
-    + "</label></td>\n<td>\n  <select ";
-  stack1 = ((helpers.isArray || (depth0 && depth0.isArray) || helperMissing).call(depth0, depth0, {"name":"isArray","hash":{},"fn":this.program(3, data),"inverse":this.noop,"data":data}));
-  if (stack1 != null) { buffer += stack1; }
-  buffer += " class=\"parameter ";
-  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.required : depth0), {"name":"if","hash":{},"fn":this.program(5, data),"inverse":this.noop,"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  buffer += "\" name=\""
-    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : helper)))
-    + "\" id=\""
-    + escapeExpression(((helper = (helper = helpers.valueId || (depth0 != null ? depth0.valueId : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"valueId","hash":{},"data":data}) : helper)))
-    + "\">\n\n";
-  stack1 = helpers.unless.call(depth0, (depth0 != null ? depth0.required : depth0), {"name":"unless","hash":{},"fn":this.program(7, data),"inverse":this.noop,"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  buffer += "\n";
-  stack1 = helpers.each.call(depth0, ((stack1 = (depth0 != null ? depth0.allowableValues : depth0)) != null ? stack1.descriptiveValues : stack1), {"name":"each","hash":{},"fn":this.program(10, data),"inverse":this.noop,"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  buffer += "\n  </select>\n</td>\n<td class=\"markdown\">";
-  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.required : depth0), {"name":"if","hash":{},"fn":this.program(15, data),"inverse":this.noop,"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  stack1 = ((helper = (helper = helpers.description || (depth0 != null ? depth0.description : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"description","hash":{},"data":data}) : helper));
-  if (stack1 != null) { buffer += stack1; }
-  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.required : depth0), {"name":"if","hash":{},"fn":this.program(17, data),"inverse":this.noop,"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  buffer += "</td>\n<td>";
-  stack1 = ((helper = (helper = helpers.paramType || (depth0 != null ? depth0.paramType : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"paramType","hash":{},"data":data}) : helper));
-  if (stack1 != null) { buffer += stack1; }
-  return buffer + "</td>\n<td><span class=\"model-signature\"></span></td>\n";
-},"useData":true});
-this["Handlebars"]["templates"]["param_readonly"] = Handlebars.template({"1":function(depth0,helpers,partials,data) {
-  var helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression;
-  return "        <textarea class='body-textarea' readonly='readonly' name='"
-    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : helper)))
-    + "' id='"
-    + escapeExpression(((helper = (helper = helpers.valueId || (depth0 != null ? depth0.valueId : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"valueId","hash":{},"data":data}) : helper)))
-    + "'>"
-    + escapeExpression(((helper = (helper = helpers['default'] || (depth0 != null ? depth0['default'] : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"default","hash":{},"data":data}) : helper)))
-    + "</textarea>\n";
-},"3":function(depth0,helpers,partials,data) {
-  var stack1, buffer = "";
-  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0['default'] : depth0), {"name":"if","hash":{},"fn":this.program(4, data),"inverse":this.program(6, data),"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  return buffer;
-},"4":function(depth0,helpers,partials,data) {
-  var helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression;
-  return "            "
-    + escapeExpression(((helper = (helper = helpers['default'] || (depth0 != null ? depth0['default'] : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"default","hash":{},"data":data}) : helper)))
-    + "\n";
-},"6":function(depth0,helpers,partials,data) {
-  return "            (empty)\n";
-  },"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) {
-  var stack1, helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, buffer = "<td class='code'><label for='"
-    + escapeExpression(((helper = (helper = helpers.valueId || (depth0 != null ? depth0.valueId : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"valueId","hash":{},"data":data}) : helper)))
-    + "'>"
-    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : helper)))
-    + "</label></td>\n<td>\n";
-  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.isBody : depth0), {"name":"if","hash":{},"fn":this.program(1, data),"inverse":this.program(3, data),"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  buffer += "</td>\n<td class=\"markdown\">";
-  stack1 = ((helper = (helper = helpers.description || (depth0 != null ? depth0.description : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"description","hash":{},"data":data}) : helper));
-  if (stack1 != null) { buffer += stack1; }
-  buffer += "</td>\n<td>";
-  stack1 = ((helper = (helper = helpers.paramType || (depth0 != null ? depth0.paramType : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"paramType","hash":{},"data":data}) : helper));
-  if (stack1 != null) { buffer += stack1; }
-  return buffer + "</td>\n<td><span class=\"model-signature\"></span></td>\n";
-},"useData":true});
-this["Handlebars"]["templates"]["param_readonly_required"] = Handlebars.template({"1":function(depth0,helpers,partials,data) {
-  var helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression;
-  return "        <textarea class='body-textarea' readonly='readonly' placeholder='(required)' name='"
-    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : helper)))
-    + "' id='"
-    + escapeExpression(((helper = (helper = helpers.valueId || (depth0 != null ? depth0.valueId : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"valueId","hash":{},"data":data}) : helper)))
-    + "'>"
-    + escapeExpression(((helper = (helper = helpers['default'] || (depth0 != null ? depth0['default'] : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"default","hash":{},"data":data}) : helper)))
-    + "</textarea>\n";
-},"3":function(depth0,helpers,partials,data) {
-  var stack1, buffer = "";
-  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0['default'] : depth0), {"name":"if","hash":{},"fn":this.program(4, data),"inverse":this.program(6, data),"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  return buffer;
-},"4":function(depth0,helpers,partials,data) {
-  var helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression;
-  return "            "
-    + escapeExpression(((helper = (helper = helpers['default'] || (depth0 != null ? depth0['default'] : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"default","hash":{},"data":data}) : helper)))
-    + "\n";
-},"6":function(depth0,helpers,partials,data) {
-  return "            (empty)\n";
-  },"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) {
-  var stack1, helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, buffer = "<td class='code required'><label for='"
-    + escapeExpression(((helper = (helper = helpers.valueId || (depth0 != null ? depth0.valueId : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"valueId","hash":{},"data":data}) : helper)))
-    + "'>"
-    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : helper)))
-    + "</label></td>\n<td>\n";
-  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.isBody : depth0), {"name":"if","hash":{},"fn":this.program(1, data),"inverse":this.program(3, data),"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  buffer += "</td>\n<td class=\"markdown\">";
-  stack1 = ((helper = (helper = helpers.description || (depth0 != null ? depth0.description : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"description","hash":{},"data":data}) : helper));
-  if (stack1 != null) { buffer += stack1; }
-  buffer += "</td>\n<td>";
-  stack1 = ((helper = (helper = helpers.paramType || (depth0 != null ? depth0.paramType : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"paramType","hash":{},"data":data}) : helper));
-  if (stack1 != null) { buffer += stack1; }
-  return buffer + "</td>\n<td><span class=\"model-signature\"></span></td>\n";
-},"useData":true});
-this["Handlebars"]["templates"]["param_required"] = Handlebars.template({"1":function(depth0,helpers,partials,data) {
-  var stack1, buffer = "";
-  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.isFile : depth0), {"name":"if","hash":{},"fn":this.program(2, data),"inverse":this.program(4, data),"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  return buffer;
-},"2":function(depth0,helpers,partials,data) {
-  var helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression;
-  return "			<input type=\"file\" name='"
-    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : helper)))
-    + "' id='"
-    + escapeExpression(((helper = (helper = helpers.valueId || (depth0 != null ? depth0.valueId : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"valueId","hash":{},"data":data}) : helper)))
-    + "'/>\n";
-},"4":function(depth0,helpers,partials,data) {
-  var stack1, buffer = "";
-  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0['default'] : depth0), {"name":"if","hash":{},"fn":this.program(5, data),"inverse":this.program(7, data),"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  return buffer;
-},"5":function(depth0,helpers,partials,data) {
-  var helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression;
-  return "				<textarea class='body-textarea required' placeholder='(required)' name='"
-    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : helper)))
-    + "' id=\""
-    + escapeExpression(((helper = (helper = helpers.valueId || (depth0 != null ? depth0.valueId : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"valueId","hash":{},"data":data}) : helper)))
-    + "\">"
-    + escapeExpression(((helper = (helper = helpers['default'] || (depth0 != null ? depth0['default'] : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"default","hash":{},"data":data}) : helper)))
-    + "</textarea>\n        <br />\n        <div class=\"parameter-content-type\" />\n";
-},"7":function(depth0,helpers,partials,data) {
-  var helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression;
-  return "				<textarea class='body-textarea required' placeholder='(required)' name='"
-    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : helper)))
-    + "' id='"
-    + escapeExpression(((helper = (helper = helpers.valueId || (depth0 != null ? depth0.valueId : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"valueId","hash":{},"data":data}) : helper)))
-    + "'></textarea>\n				<br />\n				<div class=\"parameter-content-type\" />\n";
-},"9":function(depth0,helpers,partials,data) {
-  var stack1, buffer = "";
-  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.isFile : depth0), {"name":"if","hash":{},"fn":this.program(10, data),"inverse":this.program(12, data),"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  return buffer;
-},"10":function(depth0,helpers,partials,data) {
-  var helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression;
-  return "			<input class='parameter' class='required' type='file' name='"
-    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : helper)))
-    + "' id='"
-    + escapeExpression(((helper = (helper = helpers.valueId || (depth0 != null ? depth0.valueId : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"valueId","hash":{},"data":data}) : helper)))
-    + "'/>\n";
-},"12":function(depth0,helpers,partials,data) {
-  var stack1, helperMissing=helpers.helperMissing, buffer = "";
-  stack1 = ((helpers.renderTextParam || (depth0 && depth0.renderTextParam) || helperMissing).call(depth0, depth0, {"name":"renderTextParam","hash":{},"fn":this.program(13, data),"inverse":this.noop,"data":data}));
-  if (stack1 != null) { buffer += stack1; }
-  return buffer;
-},"13":function(depth0,helpers,partials,data) {
-  return "";
-},"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) {
-  var stack1, helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, buffer = "<td class='code required'><label for='"
-    + escapeExpression(((helper = (helper = helpers.valueId || (depth0 != null ? depth0.valueId : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"valueId","hash":{},"data":data}) : helper)))
-    + "'>"
-    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : helper)))
-    + "</label></td>\n<td>\n";
-  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.isBody : depth0), {"name":"if","hash":{},"fn":this.program(1, data),"inverse":this.program(9, data),"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  buffer += "</td>\n<td>\n	<strong><span class=\"markdown\">";
-  stack1 = ((helper = (helper = helpers.description || (depth0 != null ? depth0.description : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"description","hash":{},"data":data}) : helper));
-  if (stack1 != null) { buffer += stack1; }
-  buffer += "</span></strong>\n</td>\n<td>";
-  stack1 = ((helper = (helper = helpers.paramType || (depth0 != null ? depth0.paramType : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"paramType","hash":{},"data":data}) : helper));
-  if (stack1 != null) { buffer += stack1; }
-  return buffer + "</td>\n<td><span class=\"model-signature\"></span></td>\n";
-},"useData":true});
-this["Handlebars"]["templates"]["parameter_content_type"] = Handlebars.template({"1":function(depth0,helpers,partials,data) {
-  var stack1, buffer = "";
-  stack1 = helpers.each.call(depth0, (depth0 != null ? depth0.consumes : depth0), {"name":"each","hash":{},"fn":this.program(2, data),"inverse":this.noop,"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  return buffer;
-},"2":function(depth0,helpers,partials,data) {
-  var stack1, lambda=this.lambda, buffer = "  <option value=\"";
-  stack1 = lambda(depth0, depth0);
-  if (stack1 != null) { buffer += stack1; }
-  buffer += "\">";
-  stack1 = lambda(depth0, depth0);
-  if (stack1 != null) { buffer += stack1; }
-  return buffer + "</option>\n";
-},"4":function(depth0,helpers,partials,data) {
-  return "  <option value=\"application/json\">application/json</option>\n";
-  },"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) {
-  var stack1, helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, buffer = "<label for=\""
-    + escapeExpression(((helper = (helper = helpers.parameterContentTypeId || (depth0 != null ? depth0.parameterContentTypeId : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"parameterContentTypeId","hash":{},"data":data}) : helper)))
-    + "\">Parameter content type:</label>\n<select name=\"parameterContentType\" id=\""
-    + escapeExpression(((helper = (helper = helpers.parameterContentTypeId || (depth0 != null ? depth0.parameterContentTypeId : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"parameterContentTypeId","hash":{},"data":data}) : helper)))
-    + "\">\n";
-  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.consumes : depth0), {"name":"if","hash":{},"fn":this.program(1, data),"inverse":this.program(4, data),"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  return buffer + "</select>\n";
-},"useData":true});
-this["Handlebars"]["templates"]["resource"] = Handlebars.template({"1":function(depth0,helpers,partials,data) {
-  return " : ";
-  },"3":function(depth0,helpers,partials,data) {
-  var helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression;
-  return "    <li>\n      <a href='"
-    + escapeExpression(((helper = (helper = helpers.url || (depth0 != null ? depth0.url : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"url","hash":{},"data":data}) : helper)))
-    + "' data-sw-translate>Raw</a>\n    </li>\n";
-},"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) {
-  var stack1, helper, options, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, blockHelperMissing=helpers.blockHelperMissing, buffer = "<div class='heading'>\n  <h2>\n    <a href='#!/"
-    + escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"id","hash":{},"data":data}) : helper)))
-    + "' class=\"toggleEndpointList\" data-id=\""
-    + escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"id","hash":{},"data":data}) : helper)))
-    + "\">"
-    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : helper)))
-    + "</a> ";
-  stack1 = ((helper = (helper = helpers.summary || (depth0 != null ? depth0.summary : depth0)) != null ? helper : helperMissing),(options={"name":"summary","hash":{},"fn":this.program(1, data),"inverse":this.noop,"data":data}),(typeof helper === functionType ? helper.call(depth0, options) : helper));
-  if (!helpers.summary) { stack1 = blockHelperMissing.call(depth0, stack1, options); }
-  if (stack1 != null) { buffer += stack1; }
-  stack1 = ((helper = (helper = helpers.summary || (depth0 != null ? depth0.summary : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"summary","hash":{},"data":data}) : helper));
-  if (stack1 != null) { buffer += stack1; }
-  buffer += "\n  </h2>\n  <ul class='options'>\n    <li>\n      <a href='#!/"
-    + escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"id","hash":{},"data":data}) : helper)))
-    + "' id='endpointListTogger_"
-    + escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"id","hash":{},"data":data}) : helper)))
-    + "' class=\"toggleEndpointList\" data-id=\""
-    + escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"id","hash":{},"data":data}) : helper)))
-    + "\" data-sw-translate>Show/Hide</a>\n    </li>\n    <li>\n      <a href='#' class=\"collapseResource\" data-id=\""
-    + escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"id","hash":{},"data":data}) : helper)))
-    + "\" data-sw-translate>\n        List Operations\n      </a>\n    </li>\n    <li>\n      <a href='#' class=\"expandResource\" data-id=\""
-    + escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"id","hash":{},"data":data}) : helper)))
-    + "\" data-sw-translate>\n        Expand Operations\n      </a>\n    </li>\n";
-  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.url : depth0), {"name":"if","hash":{},"fn":this.program(3, data),"inverse":this.noop,"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  return buffer + "  </ul>\n</div>\n<ul class='endpoints' id='"
-    + escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"id","hash":{},"data":data}) : helper)))
-    + "_endpoint_list' style='display:none'>\n\n</ul>\n";
-},"useData":true});
-this["Handlebars"]["templates"]["response_content_type"] = Handlebars.template({"1":function(depth0,helpers,partials,data) {
-  var stack1, buffer = "";
-  stack1 = helpers.each.call(depth0, (depth0 != null ? depth0.produces : depth0), {"name":"each","hash":{},"fn":this.program(2, data),"inverse":this.noop,"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  return buffer;
-},"2":function(depth0,helpers,partials,data) {
-  var stack1, lambda=this.lambda, buffer = "  <option value=\"";
-  stack1 = lambda(depth0, depth0);
-  if (stack1 != null) { buffer += stack1; }
-  buffer += "\">";
-  stack1 = lambda(depth0, depth0);
-  if (stack1 != null) { buffer += stack1; }
-  return buffer + "</option>\n";
-},"4":function(depth0,helpers,partials,data) {
-  return "  <option value=\"application/json\">application/json</option>\n";
-  },"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) {
-  var stack1, helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, buffer = "<label data-sw-translate for=\""
-    + escapeExpression(((helper = (helper = helpers.responseContentTypeId || (depth0 != null ? depth0.responseContentTypeId : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"responseContentTypeId","hash":{},"data":data}) : helper)))
-    + "\">Response Content Type</label>\n<select name=\"responseContentType\" id=\""
-    + escapeExpression(((helper = (helper = helpers.responseContentTypeId || (depth0 != null ? depth0.responseContentTypeId : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"responseContentTypeId","hash":{},"data":data}) : helper)))
-    + "\">\n";
-  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.produces : depth0), {"name":"if","hash":{},"fn":this.program(1, data),"inverse":this.program(4, data),"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  return buffer + "</select>\n";
-},"useData":true});
-this["Handlebars"]["templates"]["signature"] = Handlebars.template({"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) {
-  var stack1, helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, buffer = "<div>\n<ul class=\"signature-nav\">\n  <li><a class=\"description-link\" href=\"#\" data-sw-translate>Model</a></li>\n  <li><a class=\"snippet-link\" href=\"#\" data-sw-translate>Model Schema</a></li>\n</ul>\n<div>\n\n<div class=\"signature-container\">\n  <div class=\"description\">\n    ";
-  stack1 = ((helper = (helper = helpers.signature || (depth0 != null ? depth0.signature : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"signature","hash":{},"data":data}) : helper));
-  if (stack1 != null) { buffer += stack1; }
-  return buffer + "\n  </div>\n\n  <div class=\"snippet\">\n    <pre><code>"
-    + escapeExpression(((helper = (helper = helpers.sampleJSON || (depth0 != null ? depth0.sampleJSON : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"sampleJSON","hash":{},"data":data}) : helper)))
-    + "</code></pre>\n    <small class=\"notice\"></small>\n  </div>\n</div>\n\n";
-},"useData":true});
-this["Handlebars"]["templates"]["status_code"] = Handlebars.template({"1":function(depth0,helpers,partials,data) {
-  var lambda=this.lambda, escapeExpression=this.escapeExpression;
-  return "      <tr>\n        <td>"
-    + escapeExpression(lambda((data && data.key), depth0))
-    + "</td>\n        <td>"
-    + escapeExpression(lambda((depth0 != null ? depth0.description : depth0), depth0))
-    + "</td>\n        <td>"
-    + escapeExpression(lambda((depth0 != null ? depth0.type : depth0), depth0))
-    + "</td>\n      </tr>\n";
-},"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) {
-  var stack1, helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, buffer = "<td width='15%' class='code'>"
-    + escapeExpression(((helper = (helper = helpers.code || (depth0 != null ? depth0.code : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"code","hash":{},"data":data}) : helper)))
-    + "</td>\n<td class=\"markdown\">";
-  stack1 = ((helper = (helper = helpers.message || (depth0 != null ? depth0.message : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"message","hash":{},"data":data}) : helper));
-  if (stack1 != null) { buffer += stack1; }
-  buffer += "</td>\n<td width='50%'><span class=\"model-signature\" /></td>\n<td class=\"headers\">\n  <table>\n    <tbody>\n";
-  stack1 = helpers.each.call(depth0, (depth0 != null ? depth0.headers : depth0), {"name":"each","hash":{},"fn":this.program(1, data),"inverse":this.noop,"data":data});
-  if (stack1 != null) { buffer += stack1; }
-  return buffer + "    </tbody>\n  </table>\n</td>";
-},"useData":true});
-/**
- * swagger-client - swagger-client is a javascript client for use with swaggering APIs.
- * @version v2.1.3
- * @link http://swagger.io
- * @license Apache-2.0
- */
-(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.SwaggerClient = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0 [...]
-'use strict';
-
-var auth = require('./lib/auth');
-var helpers = require('./lib/helpers');
-var SwaggerClient = require('./lib/client');
-var deprecationWrapper = function (url, options) {
-  helpers.log('This is deprecated, use "new SwaggerClient" instead.');
+    //
+    // Function
+    // ========
+    //
 
-  return new SwaggerClient(url, options);
-};
+    // ES-5 15.3.4.5
+    // http://es5.github.com/#x15.3.4.5
 
-/* Here for IE8 Support */
-if (!Array.prototype.indexOf) {
-  Array.prototype.indexOf = function(obj, start) {
-    for (var i = (start || 0), j = this.length; i < j; i++) {
-      if (this[i] === obj) { return i; }
-    }
-    return -1;
-  };
-}
+    var Empty = function Empty() {};
 
-/* Here for IE8 Support */
-if (!String.prototype.trim) {
-  String.prototype.trim = function () {
-    return this.replace(/^\s+|\s+$/g, '');
-  };
-}
+    defineProperties(FunctionPrototype, {
+        bind: function bind(that) { // .length is 1
+            // 1. Let Target be the this value.
+            var target = this;
+            // 2. If IsCallable(Target) is false, throw a TypeError exception.
+            if (!isCallable(target)) {
+                throw new TypeError('Function.prototype.bind called on incompatible ' + target);
+            }
+            // 3. Let A be a new (possibly empty) internal list of all of the
+            //   argument values provided after thisArg (arg1, arg2 etc), in order.
+            // XXX slicedArgs will stand in for "A" if used
+            var args = array_slice.call(arguments, 1); // for normal call
+            // 4. Let F be a new native ECMAScript object.
+            // 11. Set the [[Prototype]] internal property of F to the standard
+            //   built-in Function prototype object as specified in 15.3.3.1.
+            // 12. Set the [[Call]] internal property of F as described in
+            //   15.3.4.5.1.
+            // 13. Set the [[Construct]] internal property of F as described in
+            //   15.3.4.5.2.
+            // 14. Set the [[HasInstance]] internal property of F as described in
+            //   15.3.4.5.3.
+            var bound;
+            var binder = function () {
+
+                if (this instanceof bound) {
+                    // 15.3.4.5.2 [[Construct]]
+                    // When the [[Construct]] internal method of a function object,
+                    // F that was created using the bind function is called with a
+                    // list of arguments ExtraArgs, the following steps are taken:
+                    // 1. Let target be the value of F's [[TargetFunction]]
+                    //   internal property.
+                    // 2. If target has no [[Construct]] internal method, a
+                    //   TypeError exception is thrown.
+                    // 3. Let boundArgs be the value of F's [[BoundArgs]] internal
+                    //   property.
+                    // 4. Let args be a new list containing the same values as the
+                    //   list boundArgs in the same order followed by the same
+                    //   values as the list ExtraArgs in the same order.
+                    // 5. Return the result of calling the [[Construct]] internal
+                    //   method of target providing args as the arguments.
+
+                    var result = apply.call(
+                        target,
+                        this,
+                        array_concat.call(args, array_slice.call(arguments))
+                    );
+                    if ($Object(result) === result) {
+                        return result;
+                    }
+                    return this;
 
-/* Here for node 10.x support */
-if (!String.prototype.endsWith) {
-  String.prototype.endsWith = function(suffix) {
-    return this.indexOf(suffix, this.length - suffix.length) !== -1;
-  };
-}
+                } else {
+                    // 15.3.4.5.1 [[Call]]
+                    // When the [[Call]] internal method of a function object, F,
+                    // which was created using the bind function is called with a
+                    // this value and a list of arguments ExtraArgs, the following
+                    // steps are taken:
+                    // 1. Let boundArgs be the value of F's [[BoundArgs]] internal
+                    //   property.
+                    // 2. Let boundThis be the value of F's [[BoundThis]] internal
+                    //   property.
+                    // 3. Let target be the value of F's [[TargetFunction]] internal
+                    //   property.
+                    // 4. Let args be a new list containing the same values as the
+                    //   list boundArgs in the same order followed by the same
+                    //   values as the list ExtraArgs in the same order.
+                    // 5. Return the result of calling the [[Call]] internal method
+                    //   of target providing boundThis as the this value and
+                    //   providing args as the arguments.
+
+                    // equiv: target.call(this, ...boundArgs, ...args)
+                    return apply.call(
+                        target,
+                        that,
+                        array_concat.call(args, array_slice.call(arguments))
+                    );
 
-module.exports = SwaggerClient;
+                }
 
-SwaggerClient.ApiKeyAuthorization = auth.ApiKeyAuthorization;
-SwaggerClient.PasswordAuthorization = auth.PasswordAuthorization;
-SwaggerClient.CookieAuthorization = auth.CookieAuthorization;
-SwaggerClient.SwaggerApi = deprecationWrapper;
-SwaggerClient.SwaggerClient = deprecationWrapper;
-SwaggerClient.SchemaMarkup = require('./lib/schema-markup');
+            };
 
-},{"./lib/auth":2,"./lib/client":3,"./lib/helpers":4,"./lib/schema-markup":7}],2:[function(require,module,exports){
-'use strict';
+            // 15. If the [[Class]] internal property of Target is "Function", then
+            //     a. Let L be the length property of Target minus the length of A.
+            //     b. Set the length own property of F to either 0 or L, whichever is
+            //       larger.
+            // 16. Else set the length own property of F to 0.
 
-var helpers = require('./helpers');
-var btoa = require('btoa'); // jshint ignore:line
-var CookieJar = require('cookiejar');
-var _ = {
-  each: require('lodash-compat/collection/each'),
-  includes: require('lodash-compat/collection/includes'),
-  isObject: require('lodash-compat/lang/isObject'),
-  isArray: require('lodash-compat/lang/isArray')
-};
+            var boundLength = max(0, target.length - args.length);
 
-/**
- * SwaggerAuthorizations applys the correct authorization to an operation being executed
- */
-var SwaggerAuthorizations = module.exports.SwaggerAuthorizations = function (authz) {
-  this.authz = authz || {};
-};
+            // 17. Set the attributes of the length own property of F to the values
+            //   specified in 15.3.5.1.
+            var boundArgs = [];
+            for (var i = 0; i < boundLength; i++) {
+                array_push.call(boundArgs, '$' + i);
+            }
 
-/**
- * Add auths to the hash
- * Will overwrite any existing
- *
- */
-SwaggerAuthorizations.prototype.add = function (name, auth) {
-  if(_.isObject(name)) {
-    for (var key in name) {
-      this.authz[key] = name[key];
-    }
-  } else if(typeof name === 'string' ){
-    this.authz[name] = auth;
-  }
+            // XXX Build a dynamic function with desired amount of arguments is the only
+            // way to set the length property of a function.
+            // In environments where Content Security Policies enabled (Chrome extensions,
+            // for ex.) all use of eval or Function costructor throws an exception.
+            // However in all of these environments Function.prototype.bind exists
+            // and so this code will never be executed.
+            bound = $Function('binder', 'return function (' + array_join.call(boundArgs, ',') + '){ return binder.apply(this, arguments); }')(binder);
+
+            if (target.prototype) {
+                Empty.prototype = target.prototype;
+                bound.prototype = new Empty();
+                // Clean up dangling references.
+                Empty.prototype = null;
+            }
 
-  return auth;
-};
+            // TODO
+            // 18. Set the [[Extensible]] internal property of F to true.
+
+            // TODO
+            // 19. Let thrower be the [[ThrowTypeError]] function Object (13.2.3).
+            // 20. Call the [[DefineOwnProperty]] internal method of F with
+            //   arguments "caller", PropertyDescriptor {[[Get]]: thrower, [[Set]]:
+            //   thrower, [[Enumerable]]: false, [[Configurable]]: false}, and
+            //   false.
+            // 21. Call the [[DefineOwnProperty]] internal method of F with
+            //   arguments "arguments", PropertyDescriptor {[[Get]]: thrower,
+            //   [[Set]]: thrower, [[Enumerable]]: false, [[Configurable]]: false},
+            //   and false.
+
+            // TODO
+            // NOTE Function objects created using Function.prototype.bind do not
+            // have a prototype property or the [[Code]], [[FormalParameters]], and
+            // [[Scope]] internal properties.
+            // XXX can't delete prototype in pure-js.
+
+            // 22. Return F.
+            return bound;
+        }
+    });
 
-SwaggerAuthorizations.prototype.remove = function (name) {
-  return delete this.authz[name];
-};
+    // _Please note: Shortcuts are defined after `Function.prototype.bind` as we
+    // use it in defining shortcuts.
+    var owns = call.bind(ObjectPrototype.hasOwnProperty);
+    var toStr = call.bind(ObjectPrototype.toString);
+    var arraySlice = call.bind(array_slice);
+    var arraySliceApply = apply.bind(array_slice);
+    var strSlice = call.bind(StringPrototype.slice);
+    var strSplit = call.bind(StringPrototype.split);
+    var strIndexOf = call.bind(StringPrototype.indexOf);
+    var pushCall = call.bind(array_push);
+    var isEnum = call.bind(ObjectPrototype.propertyIsEnumerable);
+    var arraySort = call.bind(ArrayPrototype.sort);
 
-SwaggerAuthorizations.prototype.apply = function (obj, securities) {
-  var status = true;
-  var applyAll = !securities;
-  var flattenedSecurities = [];
+    //
+    // Array
+    // =====
+    //
 
-  // Securities could be [ {} ]
-  _.each(securities, function (obj, key) {
+    var isArray = $Array.isArray || function isArray(obj) {
+        return toStr(obj) === '[object Array]';
+    };
 
-    // Make sure we account for securities being [ str ]
-    if(typeof key === 'string') {
-      flattenedSecurities.push(key);
-    }
+    // ES5 15.4.4.12
+    // http://es5.github.com/#x15.4.4.13
+    // Return len+argCount.
+    // [bugfix, ielt8]
+    // IE < 8 bug: [].unshift(0) === undefined but should be "1"
+    var hasUnshiftReturnValueBug = [].unshift(0) !== 1;
+    defineProperties(ArrayPrototype, {
+        unshift: function () {
+            array_unshift.apply(this, arguments);
+            return this.length;
+        }
+    }, hasUnshiftReturnValueBug);
+
+    // ES5 15.4.3.2
+    // http://es5.github.com/#x15.4.3.2
+    // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/isArray
+    defineProperties($Array, { isArray: isArray });
+
+    // The IsCallable() check in the Array functions
+    // has been replaced with a strict check on the
+    // internal class of the object to trap cases where
+    // the provided function was actually a regular
+    // expression literal, which in V8 and
+    // JavaScriptCore is a typeof "function".  Only in
+    // V8 are regular expression literals permitted as
+    // reduce parameters, so it is desirable in the
+    // general case for the shim to match the more
+    // strict and common behavior of rejecting regular
+    // expressions.
+
+    // ES5 15.4.4.18
+    // http://es5.github.com/#x15.4.4.18
+    // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/array/forEach
+
+    // Check failure of by-index access of string characters (IE < 9)
+    // and failure of `0 in boxedString` (Rhino)
+    var boxedString = $Object('a');
+    var splitString = boxedString[0] !== 'a' || !(0 in boxedString);
+
+    var properlyBoxesContext = function properlyBoxed(method) {
+        // Check node 0.6.21 bug where third parameter is not boxed
+        var properlyBoxesNonStrict = true;
+        var properlyBoxesStrict = true;
+        var threwException = false;
+        if (method) {
+            try {
+                method.call('foo', function (_, __, context) {
+                    if (typeof context !== 'object') {
+                        properlyBoxesNonStrict = false;
+                    }
+                });
 
-    // Flatten keys in to our array
-    _.each(obj, function (val, key) {
-      flattenedSecurities.push(key);
-    });
-  });
+                method.call([1], function () {
+                    'use strict';
 
-  _.each(this.authz, function (auth, authName) {
-    if(applyAll || _.includes(flattenedSecurities, authName)) {
-      var newStatus = auth.apply(obj);
-      status = status && !!newStatus; // logical ORs regarding status
-    }
-  });
+                    properlyBoxesStrict = typeof this === 'string';
+                }, 'x');
+            } catch (e) {
+                threwException = true;
+            }
+        }
+        return !!method && !threwException && properlyBoxesNonStrict && properlyBoxesStrict;
+    };
 
-  return status;
-};
+    defineProperties(ArrayPrototype, {
+        forEach: function forEach(callbackfn/*, thisArg*/) {
+            var object = ES.ToObject(this);
+            var self = splitString && isString(this) ? strSplit(this, '') : object;
+            var i = -1;
+            var length = ES.ToUint32(self.length);
+            var T;
+            if (arguments.length > 1) {
+                T = arguments[1];
+            }
 
-/**
- * ApiKeyAuthorization allows a query param or header to be injected
- */
-var ApiKeyAuthorization = module.exports.ApiKeyAuthorization = function (name, value, type) {
-  this.name = name;
-  this.value = value;
-  this.type = type;
-};
+            // If no callback function or if callback is not a callable function
+            if (!isCallable(callbackfn)) {
+                throw new TypeError('Array.prototype.forEach callback must be a function');
+            }
 
-ApiKeyAuthorization.prototype.apply = function (obj) {
-  if (this.type === 'query') {
-    if (obj.url.indexOf('?') > 0) {
-      obj.url = obj.url + '&' + this.name + '=' + this.value;
-    } else {
-      obj.url = obj.url + '?' + this.name + '=' + this.value;
-    }
+            while (++i < length) {
+                if (i in self) {
+                    // Invoke the callback function with call, passing arguments:
+                    // context, property value, property key, thisArg object
+                    if (typeof T === 'undefined') {
+                        callbackfn(self[i], i, object);
+                    } else {
+                        callbackfn.call(T, self[i], i, object);
+                    }
+                }
+            }
+        }
+    }, !properlyBoxesContext(ArrayPrototype.forEach));
+
+    // ES5 15.4.4.19
+    // http://es5.github.com/#x15.4.4.19
+    // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/map
+    defineProperties(ArrayPrototype, {
+        map: function map(callbackfn/*, thisArg*/) {
+            var object = ES.ToObject(this);
+            var self = splitString && isString(this) ? strSplit(this, '') : object;
+            var length = ES.ToUint32(self.length);
+            var result = $Array(length);
+            var T;
+            if (arguments.length > 1) {
+                T = arguments[1];
+            }
 
-    return true;
-  } else if (this.type === 'header') {
-    if(typeof obj.headers[this.name] === 'undefined') {
-      obj.headers[this.name] = this.value;
-    }
+            // If no callback function or if callback is not a callable function
+            if (!isCallable(callbackfn)) {
+                throw new TypeError('Array.prototype.map callback must be a function');
+            }
 
-    return true;
-  }
-};
+            for (var i = 0; i < length; i++) {
+                if (i in self) {
+                    if (typeof T === 'undefined') {
+                        result[i] = callbackfn(self[i], i, object);
+                    } else {
+                        result[i] = callbackfn.call(T, self[i], i, object);
+                    }
+                }
+            }
+            return result;
+        }
+    }, !properlyBoxesContext(ArrayPrototype.map));
+
+    // ES5 15.4.4.20
+    // http://es5.github.com/#x15.4.4.20
+    // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/filter
+    defineProperties(ArrayPrototype, {
+        filter: function filter(callbackfn/*, thisArg*/) {
+            var object = ES.ToObject(this);
+            var self = splitString && isString(this) ? strSplit(this, '') : object;
+            var length = ES.ToUint32(self.length);
+            var result = [];
+            var value;
+            var T;
+            if (arguments.length > 1) {
+                T = arguments[1];
+            }
 
-var CookieAuthorization = module.exports.CookieAuthorization = function (cookie) {
-  this.cookie = cookie;
-};
+            // If no callback function or if callback is not a callable function
+            if (!isCallable(callbackfn)) {
+                throw new TypeError('Array.prototype.filter callback must be a function');
+            }
 
-CookieAuthorization.prototype.apply = function (obj) {
-  obj.cookieJar = obj.cookieJar || new CookieJar();
-  obj.cookieJar.setCookie(this.cookie);
+            for (var i = 0; i < length; i++) {
+                if (i in self) {
+                    value = self[i];
+                    if (typeof T === 'undefined' ? callbackfn(value, i, object) : callbackfn.call(T, value, i, object)) {
+                        pushCall(result, value);
+                    }
+                }
+            }
+            return result;
+        }
+    }, !properlyBoxesContext(ArrayPrototype.filter));
+
+    // ES5 15.4.4.16
+    // http://es5.github.com/#x15.4.4.16
+    // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/every
+    defineProperties(ArrayPrototype, {
+        every: function every(callbackfn/*, thisArg*/) {
+            var object = ES.ToObject(this);
+            var self = splitString && isString(this) ? strSplit(this, '') : object;
+            var length = ES.ToUint32(self.length);
+            var T;
+            if (arguments.length > 1) {
+                T = arguments[1];
+            }
 
-  return true;
-};
+            // If no callback function or if callback is not a callable function
+            if (!isCallable(callbackfn)) {
+                throw new TypeError('Array.prototype.every callback must be a function');
+            }
 
-/**
- * Password Authorization is a basic auth implementation
- */
-var PasswordAuthorization = module.exports.PasswordAuthorization = function (username, password) {
-  if (arguments.length === 3) {
-    helpers.log('PasswordAuthorization: the \'name\' argument has been removed, pass only username and password');
-    username = arguments[1];
-    password = arguments[2];
-  }
-  this.username = username;
-  this.password = password;
-};
+            for (var i = 0; i < length; i++) {
+                if (i in self && !(typeof T === 'undefined' ? callbackfn(self[i], i, object) : callbackfn.call(T, self[i], i, object))) {
+                    return false;
+                }
+            }
+            return true;
+        }
+    }, !properlyBoxesContext(ArrayPrototype.every));
+
+    // ES5 15.4.4.17
+    // http://es5.github.com/#x15.4.4.17
+    // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/some
+    defineProperties(ArrayPrototype, {
+        some: function some(callbackfn/*, thisArg */) {
+            var object = ES.ToObject(this);
+            var self = splitString && isString(this) ? strSplit(this, '') : object;
+            var length = ES.ToUint32(self.length);
+            var T;
+            if (arguments.length > 1) {
+                T = arguments[1];
+            }
 
-PasswordAuthorization.prototype.apply = function (obj) {
-  if(typeof obj.headers.Authorization === 'undefined') {
-    obj.headers.Authorization = 'Basic ' + btoa(this.username + ':' + this.password);
-  }
+            // If no callback function or if callback is not a callable function
+            if (!isCallable(callbackfn)) {
+                throw new TypeError('Array.prototype.some callback must be a function');
+            }
 
-  return true;
-};
+            for (var i = 0; i < length; i++) {
+                if (i in self && (typeof T === 'undefined' ? callbackfn(self[i], i, object) : callbackfn.call(T, self[i], i, object))) {
+                    return true;
+                }
+            }
+            return false;
+        }
+    }, !properlyBoxesContext(ArrayPrototype.some));
+
+    // ES5 15.4.4.21
+    // http://es5.github.com/#x15.4.4.21
+    // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/reduce
+    var reduceCoercesToObject = false;
+    if (ArrayPrototype.reduce) {
+        reduceCoercesToObject = typeof ArrayPrototype.reduce.call('es5', function (_, __, ___, list) {
+            return list;
+        }) === 'object';
+    }
+    defineProperties(ArrayPrototype, {
+        reduce: function reduce(callbackfn/*, initialValue*/) {
+            var object = ES.ToObject(this);
+            var self = splitString && isString(this) ? strSplit(this, '') : object;
+            var length = ES.ToUint32(self.length);
+
+            // If no callback function or if callback is not a callable function
+            if (!isCallable(callbackfn)) {
+                throw new TypeError('Array.prototype.reduce callback must be a function');
+            }
 
-},{"./helpers":4,"btoa":18,"cookiejar":19,"lodash-compat/collection/each":55,"lodash-compat/collection/includes":58,"lodash-compat/lang/isArray":143,"lodash-compat/lang/isObject":147}],3:[function(require,module,exports){
-'use strict';
+            // no value to return if no initial value and an empty array
+            if (length === 0 && arguments.length === 1) {
+                throw new TypeError('reduce of empty array with no initial value');
+            }
 
-var _ = {
-  bind: require('lodash-compat/function/bind'),
-  cloneDeep: require('lodash-compat/lang/cloneDeep'),
-  find: require('lodash-compat/collection/find'),
-  forEach: require('lodash-compat/collection/forEach'),
-  indexOf: require('lodash-compat/array/indexOf'),
-  isArray: require('lodash-compat/lang/isArray'),
-  isObject: require('lodash-compat/lang/isObject'),
-  isFunction: require('lodash-compat/lang/isFunction'),
-  isPlainObject: require('lodash-compat/lang/isPlainObject'),
-  isUndefined: require('lodash-compat/lang/isUndefined')
-};
-var auth = require('./auth');
-var helpers = require('./helpers');
-var Model = require('./types/model');
-var Operation = require('./types/operation');
-var OperationGroup = require('./types/operationGroup');
-var Resolver = require('./resolver');
-var SwaggerHttp = require('./http');
-var SwaggerSpecConverter = require('./spec-converter');
+            var i = 0;
+            var result;
+            if (arguments.length >= 2) {
+                result = arguments[1];
+            } else {
+                do {
+                    if (i in self) {
+                        result = self[i++];
+                        break;
+                    }
 
-// We have to keep track of the function/property names to avoid collisions for tag names which are used to allow the
-// following usage: 'client.{tagName}'
-var reservedClientTags = [
-  'apis',
-  'authorizationScheme',
-  'authorizations',
-  'basePath',
-  'build',
-  'buildFrom1_1Spec',
-  'buildFrom1_2Spec',
-  'buildFromSpec',
-  'clientAuthorizations',
-  'convertInfo',
-  'debug',
-  'defaultErrorCallback',
-  'defaultSuccessCallback',
-  'fail',
-  'failure',
-  'finish',
-  'help',
-  'idFromOp',
-  'info',
-  'initialize',
-  'isBuilt',
-  'isValid',
-  'modelPropertyMacro',
-  'models',
-  'modelsArray',
-  'options',
-  'parameterMacro',
-  'parseUri',
-  'progress',
-  'resourceCount',
-  'sampleModels',
-  'selfReflect',
-  'setConsolidatedModels',
-  'spec',
-  'supportedSubmitMethods',
-  'swaggerRequestHeaders',
-  'tagFromLabel',
-  'url',
-  'useJQuery'
-];
-// We have to keep track of the function/property names to avoid collisions for tag names which are used to allow the
-// following usage: 'client.apis.{tagName}'
-var reservedApiTags = [
-  'apis',
-  'asCurl',
-  'description',
-  'externalDocs',
-  'help',
-  'label',
-  'name',
-  'operation',
-  'operations',
-  'operationsArray',
-  'path',
-  'tag'
-];
-var supportedOperationMethods = ['delete', 'get', 'head', 'options', 'patch', 'post', 'put'];
-var SwaggerClient = module.exports = function (url, options) {
-  this.authorizations = null;
-  this.authorizationScheme = null;
-  this.basePath = null;
-  this.debug = false;
-  this.info = null;
-  this.isBuilt = false;
-  this.isValid = false;
-  this.modelsArray = [];
-  this.resourceCount = 0;
-  this.url = null;
-  this.useJQuery = false;
-  this.swaggerObject = {}
+                    // if array contains no values, no initial value to return
+                    if (++i >= length) {
+                        throw new TypeError('reduce of empty array with no initial value');
+                    }
+                } while (true);
+            }
 
-  this.clientAuthorizations = new auth.SwaggerAuthorizations();
+            for (; i < length; i++) {
+                if (i in self) {
+                    result = callbackfn(result, self[i], i, object);
+                }
+            }
 
-  if (typeof url !== 'undefined') {
-    return this.initialize(url, options);
-  } else {
-    return this;
-  }
-};
+            return result;
+        }
+    }, !reduceCoercesToObject);
 
-SwaggerClient.prototype.initialize = function (url, options) {
-  this.models = {};
-  this.sampleModels = {};
+    // ES5 15.4.4.22
+    // http://es5.github.com/#x15.4.4.22
+    // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/reduceRight
+    var reduceRightCoercesToObject = false;
+    if (ArrayPrototype.reduceRight) {
+        reduceRightCoercesToObject = typeof ArrayPrototype.reduceRight.call('es5', function (_, __, ___, list) {
+            return list;
+        }) === 'object';
+    }
+    defineProperties(ArrayPrototype, {
+        reduceRight: function reduceRight(callbackfn/*, initial*/) {
+            var object = ES.ToObject(this);
+            var self = splitString && isString(this) ? strSplit(this, '') : object;
+            var length = ES.ToUint32(self.length);
 
-  if (typeof url === 'string') {
-    this.url = url;
-  } else if (_.isObject(url)) {
-    options = url;
-    this.url = options.url;
-  }
+            // If no callback function or if callback is not a callable function
+            if (!isCallable(callbackfn)) {
+                throw new TypeError('Array.prototype.reduceRight callback must be a function');
+            }
 
-  options = options || {};
-  this.clientAuthorizations.add(options.authorizations);
-  this.swaggerRequestHeaders = options.swaggerRequestHeaders || 'application/json;charset=utf-8,*/*';
-  this.defaultSuccessCallback = options.defaultSuccessCallback || null;
-  this.defaultErrorCallback = options.defaultErrorCallback || null;
-  this.modelPropertyMacro = options.modelPropertyMacro || null;
-  this.parameterMacro = options.parameterMacro || null;
+            // no value to return if no initial value, empty array
+            if (length === 0 && arguments.length === 1) {
+                throw new TypeError('reduceRight of empty array with no initial value');
+            }
 
-  if (typeof options.success === 'function') {
-    this.success = options.success;
-  }
+            var result;
+            var i = length - 1;
+            if (arguments.length >= 2) {
+                result = arguments[1];
+            } else {
+                do {
+                    if (i in self) {
+                        result = self[i--];
+                        break;
+                    }
 
-  if (options.useJQuery) {
-    this.useJQuery = options.useJQuery;
-  }
+                    // if array contains no values, no initial value to return
+                    if (--i < 0) {
+                        throw new TypeError('reduceRight of empty array with no initial value');
+                    }
+                } while (true);
+            }
 
-  this.options = options || {};
+            if (i < 0) {
+                return result;
+            }
 
-  this.supportedSubmitMethods = options.supportedSubmitMethods || [];
-  this.failure = options.failure || function () {};
-  this.progress = options.progress || function () {};
-  this.spec = _.cloneDeep(options.spec); // Clone so we do not alter the provided document
+            do {
+                if (i in self) {
+                    result = callbackfn(result, self[i], i, object);
+                }
+            } while (i--);
 
-  if (typeof options.success === 'function') {
-    this.ready = true;
-    this.build();
-  }
-};
+            return result;
+        }
+    }, !reduceRightCoercesToObject);
 
-SwaggerClient.prototype.build = function (mock) {
-  if (this.isBuilt) {
-    return this;
-  }
+    // ES5 15.4.4.14
+    // http://es5.github.com/#x15.4.4.14
+    // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/indexOf
+    var hasFirefox2IndexOfBug = ArrayPrototype.indexOf && [0, 1].indexOf(1, 2) !== -1;
+    defineProperties(ArrayPrototype, {
+        indexOf: function indexOf(searchElement/*, fromIndex */) {
+            var self = splitString && isString(this) ? strSplit(this, '') : ES.ToObject(this);
+            var length = ES.ToUint32(self.length);
 
-  var self = this;
+            if (length === 0) {
+                return -1;
+            }
 
-  this.progress('fetching resource list: ' + this.url);
+            var i = 0;
+            if (arguments.length > 1) {
+                i = ES.ToInteger(arguments[1]);
+            }
 
-  var obj = {
-    useJQuery: this.useJQuery,
-    url: this.url,
-    method: 'get',
-    headers: {
-      accept: this.swaggerRequestHeaders
-    },
-    on: {
-      error: function (response) {
-        if (self.url.substring(0, 4) !== 'http') {
-          return self.fail('Please specify the protocol for ' + self.url);
-        } else if (response.status === 0) {
-          return self.fail('Can\'t read from server.  It may not have the appropriate access-control-origin settings.');
-        } else if (response.status === 404) {
-          return self.fail('Can\'t read swagger JSON from ' + self.url);
-        } else {
-          return self.fail(response.status + ' : ' + response.statusText + ' ' + self.url);
+            // handle negative indices
+            i = i >= 0 ? i : max(0, length + i);
+            for (; i < length; i++) {
+                if (i in self && self[i] === searchElement) {
+                    return i;
+                }
+            }
+            return -1;
         }
-      },
-      response: function (resp) {
+    }, hasFirefox2IndexOfBug);
 
-        var responseObj = resp.obj;
-        if(!responseObj) {
-          return self.fail('failed to parse JSON/YAML response');
-        }
+    // ES5 15.4.4.15
+    // http://es5.github.com/#x15.4.4.15
+    // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/lastIndexOf
+    var hasFirefox2LastIndexOfBug = ArrayPrototype.lastIndexOf && [0, 1].lastIndexOf(0, -3) !== -1;
+    defineProperties(ArrayPrototype, {
+        lastIndexOf: function lastIndexOf(searchElement/*, fromIndex */) {
+            var self = splitString && isString(this) ? strSplit(this, '') : ES.ToObject(this);
+            var length = ES.ToUint32(self.length);
 
-        self.swaggerVersion = responseObj.swaggerVersion;
-        self.swaggerObject = responseObj
+            if (length === 0) {
+                return -1;
+            }
+            var i = length - 1;
+            if (arguments.length > 1) {
+                i = min(i, ES.ToInteger(arguments[1]));
+            }
+            // handle negative indices
+            i = i >= 0 ? i : length - Math.abs(i);
+            for (; i >= 0; i--) {
+                if (i in self && searchElement === self[i]) {
+                    return i;
+                }
+            }
+            return -1;
+        }
+    }, hasFirefox2LastIndexOfBug);
 
-        if (responseObj.swagger && parseInt(responseObj.swagger) === 2) {
-          self.swaggerVersion = responseObj.swagger;
+    // ES5 15.4.4.12
+    // http://es5.github.com/#x15.4.4.12
+    var spliceNoopReturnsEmptyArray = (function () {
+        var a = [1, 2];
+        var result = a.splice();
+        return a.length === 2 && isArray(result) && result.length === 0;
+    }());
+    defineProperties(ArrayPrototype, {
+        // Safari 5.0 bug where .splice() returns undefined
+        splice: function splice(start, deleteCount) {
+            if (arguments.length === 0) {
+                return [];
+            } else {
+                return array_splice.apply(this, arguments);
+            }
+        }
+    }, !spliceNoopReturnsEmptyArray);
 
-          new Resolver().resolve(responseObj, self.url, self.buildFromSpec, self);
+    var spliceWorksWithEmptyObject = (function () {
+        var obj = {};
+        ArrayPrototype.splice.call(obj, 0, 0, 1);
+        return obj.length === 1;
+    }());
+    defineProperties(ArrayPrototype, {
+        splice: function splice(start, deleteCount) {
+            if (arguments.length === 0) {
+                return [];
+            }
+            var args = arguments;
+            this.length = max(ES.ToInteger(this.length), 0);
+            if (arguments.length > 0 && typeof deleteCount !== 'number') {
+                args = arraySlice(arguments);
+                if (args.length < 2) {
+                    pushCall(args, this.length - start);
+                } else {
+                    args[1] = ES.ToInteger(deleteCount);
+                }
+            }
+            return array_splice.apply(this, args);
+        }
+    }, !spliceWorksWithEmptyObject);
+    var spliceWorksWithLargeSparseArrays = (function () {
+        // Per https://github.com/es-shims/es5-shim/issues/295
+        // Safari 7/8 breaks with sparse arrays of size 1e5 or greater
+        var arr = new $Array(1e5);
+        // note: the index MUST be 8 or larger or the test will false pass
+        arr[8] = 'x';
+        arr.splice(1, 1);
+        // note: this test must be defined *after* the indexOf shim
+        // per https://github.com/es-shims/es5-shim/issues/313
+        return arr.indexOf('x') === 7;
+    }());
+    var spliceWorksWithSmallSparseArrays = (function () {
+        // Per https://github.com/es-shims/es5-shim/issues/295
+        // Opera 12.15 breaks on this, no idea why.
+        var n = 256;
+        var arr = [];
+        arr[n] = 'a';
+        arr.splice(n + 1, 0, 'b');
+        return arr[n] === 'a';
+    }());
+    defineProperties(ArrayPrototype, {
+        splice: function splice(start, deleteCount) {
+            var O = ES.ToObject(this);
+            var A = [];
+            var len = ES.ToUint32(O.length);
+            var relativeStart = ES.ToInteger(start);
+            var actualStart = relativeStart < 0 ? max((len + relativeStart), 0) : min(relativeStart, len);
+            var actualDeleteCount = min(max(ES.ToInteger(deleteCount), 0), len - actualStart);
+
+            var k = 0;
+            var from;
+            while (k < actualDeleteCount) {
+                from = $String(actualStart + k);
+                if (owns(O, from)) {
+                    A[k] = O[from];
+                }
+                k += 1;
+            }
 
-          self.isValid = true;
-        } else {
-          var converter = new SwaggerSpecConverter();
-          self.oldSwaggerObject = self.swaggerObject
+            var items = arraySlice(arguments, 2);
+            var itemCount = items.length;
+            var to;
+            if (itemCount < actualDeleteCount) {
+                k = actualStart;
+                var maxK = len - actualDeleteCount;
+                while (k < maxK) {
+                    from = $String(k + actualDeleteCount);
+                    to = $String(k + itemCount);
+                    if (owns(O, from)) {
+                        O[to] = O[from];
+                    } else {
+                        delete O[to];
+                    }
+                    k += 1;
+                }
+                k = len;
+                var minK = len - actualDeleteCount + itemCount;
+                while (k > minK) {
+                    delete O[k - 1];
+                    k -= 1;
+                }
+            } else if (itemCount > actualDeleteCount) {
+                k = len - actualDeleteCount;
+                while (k > actualStart) {
+                    from = $String(k + actualDeleteCount - 1);
+                    to = $String(k + itemCount - 1);
+                    if (owns(O, from)) {
+                        O[to] = O[from];
+                    } else {
+                        delete O[to];
+                    }
+                    k -= 1;
+                }
+            }
+            k = actualStart;
+            for (var i = 0; i < items.length; ++i) {
+                O[k] = items[i];
+                k += 1;
+            }
+            O.length = len - actualDeleteCount + itemCount;
 
-          converter.setDocumentationLocation(self.url);
-          converter.convert(responseObj, self.clientAuthorizations, function(spec) {
-            self.swaggerObject = spec
-            new Resolver().resolve(spec, self.url, self.buildFromSpec, self);
-            self.isValid = true;
-          });
+            return A;
         }
-      }
+    }, !spliceWorksWithLargeSparseArrays || !spliceWorksWithSmallSparseArrays);
+
+    var originalJoin = ArrayPrototype.join;
+    var hasStringJoinBug;
+    try {
+        hasStringJoinBug = Array.prototype.join.call('123', ',') !== '1,2,3';
+    } catch (e) {
+        hasStringJoinBug = true;
+    }
+    if (hasStringJoinBug) {
+        defineProperties(ArrayPrototype, {
+            join: function join(separator) {
+                var sep = typeof separator === 'undefined' ? ',' : separator;
+                return originalJoin.call(isString(this) ? strSplit(this, '') : this, sep);
+            }
+        }, hasStringJoinBug);
     }
-  };
 
-  if (this.spec) {
-    self.swaggerObject = this.spec
-    setTimeout(function () {
-      new Resolver().resolve(self.spec, self.buildFromSpec, self);
-    }, 10);
-  } else {
-    this.clientAuthorizations.apply(obj);
-
-    if (mock) {
-      return obj;
+    var hasJoinUndefinedBug = [1, 2].join(undefined) !== '1,2';
+    if (hasJoinUndefinedBug) {
+        defineProperties(ArrayPrototype, {
+            join: function join(separator) {
+                var sep = typeof separator === 'undefined' ? ',' : separator;
+                return originalJoin.call(this, sep);
+            }
+        }, hasJoinUndefinedBug);
     }
 
-    new SwaggerHttp().execute(obj, this.options);
-  }
+    var pushShim = function push(item) {
+        var O = ES.ToObject(this);
+        var n = ES.ToUint32(O.length);
+        var i = 0;
+        while (i < arguments.length) {
+            O[n + i] = arguments[i];
+            i += 1;
+        }
+        O.length = n + i;
+        return n + i;
+    };
 
-  return this;
-};
+    var pushIsNotGeneric = (function () {
+        var obj = {};
+        var result = Array.prototype.push.call(obj, undefined);
+        return result !== 1 || obj.length !== 1 || typeof obj[0] !== 'undefined' || !owns(obj, 0);
+    }());
+    defineProperties(ArrayPrototype, {
+        push: function push(item) {
+            if (isArray(this)) {
+                return array_push.apply(this, arguments);
+            }
+            return pushShim.apply(this, arguments);
+        }
+    }, pushIsNotGeneric);
 
-SwaggerClient.prototype.buildFromSpec = function (response) {
-  if (this.isBuilt) {
-    return this;
-  }
+    // This fixes a very weird bug in Opera 10.6 when pushing `undefined
+    var pushUndefinedIsWeird = (function () {
+        var arr = [];
+        var result = arr.push(undefined);
+        return result !== 1 || arr.length !== 1 || typeof arr[0] !== 'undefined' || !owns(arr, 0);
+    }());
+    defineProperties(ArrayPrototype, { push: pushShim }, pushUndefinedIsWeird);
 
-  this.apis = {};
-  this.apisArray = [];
-  this.basePath = response.basePath || '';
-  this.consumes = response.consumes;
-  this.host = response.host || '';
-  this.info = response.info || {};
-  this.produces = response.produces;
-  this.schemes = response.schemes || [];
-  this.securityDefinitions = response.securityDefinitions;
-  this.title = response.title || '';
+    // ES5 15.2.3.14
+    // http://es5.github.io/#x15.4.4.10
+    // Fix boxed string bug
+    defineProperties(ArrayPrototype, {
+        slice: function (start, end) {
+            var arr = isString(this) ? strSplit(this, '') : this;
+            return arraySliceApply(arr, arguments);
+        }
+    }, splitString);
 
-  if (response.externalDocs) {
-    this.externalDocs = response.externalDocs;
-  }
+    var sortIgnoresNonFunctions = (function () {
+        try {
+            [1, 2].sort(null);
+            [1, 2].sort({});
+            return true;
+        } catch (e) {}
+        return false;
+    }());
+    var sortThrowsOnRegex = (function () {
+        // this is a problem in Firefox 4, in which `typeof /a/ === 'function'`
+        try {
+            [1, 2].sort(/a/);
+            return false;
+        } catch (e) {}
+        return true;
+    }());
+    var sortIgnoresUndefined = (function () {
+        // applies in IE 8, for one.
+        try {
+            [1, 2].sort(undefined);
+            return true;
+        } catch (e) {}
+        return false;
+    }());
+    defineProperties(ArrayPrototype, {
+        sort: function sort(compareFn) {
+            if (typeof compareFn === 'undefined') {
+                return arraySort(this);
+            }
+            if (!isCallable(compareFn)) {
+                throw new TypeError('Array.prototype.sort callback must be a function');
+            }
+            return arraySort(this, compareFn);
+        }
+    }, sortIgnoresNonFunctions || !sortIgnoresUndefined || !sortThrowsOnRegex);
 
-  // legacy support
-  this.authSchemes = response.securityDefinitions;
+    //
+    // Object
+    // ======
+    //
 
-  var definedTags = {};
-  var k;
+    // ES5 15.2.3.14
+    // http://es5.github.com/#x15.2.3.14
 
-  if (Array.isArray(response.tags)) {
-    definedTags = {};
+    // http://whattheheadsaid.com/2010/10/a-safer-object-keys-compatibility-implementation
+    var hasDontEnumBug = !isEnum({ 'toString': null }, 'toString');
+    var hasProtoEnumBug = isEnum(function () {}, 'prototype');
+    var hasStringEnumBug = !owns('x', '0');
+    var equalsConstructorPrototype = function (o) {
+        var ctor = o.constructor;
+        return ctor && ctor.prototype === o;
+    };
+    var blacklistedKeys = {
+        $window: true,
+        $console: true,
+        $parent: true,
+        $self: true,
+        $frame: true,
+        $frames: true,
+        $frameElement: true,
+        $webkitIndexedDB: true,
+        $webkitStorageInfo: true,
+        $external: true
+    };
+    var hasAutomationEqualityBug = (function () {
+        /* globals window */
+        if (typeof window === 'undefined') {
+            return false;
+        }
+        for (var k in window) {
+            try {
+                if (!blacklistedKeys['$' + k] && owns(window, k) && window[k] !== null && typeof window[k] === 'object') {
+                    equalsConstructorPrototype(window[k]);
+                }
+            } catch (e) {
+                return true;
+            }
+        }
+        return false;
+    }());
+    var equalsConstructorPrototypeIfNotBuggy = function (object) {
+        if (typeof window === 'undefined' || !hasAutomationEqualityBug) {
+            return equalsConstructorPrototype(object);
+        }
+        try {
+            return equalsConstructorPrototype(object);
+        } catch (e) {
+            return false;
+        }
+    };
+    var dontEnums = [
+        'toString',
+        'toLocaleString',
+        'valueOf',
+        'hasOwnProperty',
+        'isPrototypeOf',
+        'propertyIsEnumerable',
+        'constructor'
+    ];
+    var dontEnumsLength = dontEnums.length;
+
+    // taken directly from https://github.com/ljharb/is-arguments/blob/master/index.js
+    // can be replaced with require('is-arguments') if we ever use a build process instead
+    var isStandardArguments = function isArguments(value) {
+        return toStr(value) === '[object Arguments]';
+    };
+    var isLegacyArguments = function isArguments(value) {
+        return value !== null &&
+            typeof value === 'object' &&
+            typeof value.length === 'number' &&
+            value.length >= 0 &&
+            !isArray(value) &&
+            isCallable(value.callee);
+    };
+    var isArguments = isStandardArguments(arguments) ? isStandardArguments : isLegacyArguments;
 
-    for (k = 0; k < response.tags.length; k++) {
-      var t = response.tags[k];
-      definedTags[t.name] = t;
-    }
-  }
+    defineProperties($Object, {
+        keys: function keys(object) {
+            var isFn = isCallable(object);
+            var isArgs = isArguments(object);
+            var isObject = object !== null && typeof object === 'object';
+            var isStr = isObject && isString(object);
 
-  var location;
+            if (!isObject && !isFn && !isArgs) {
+                throw new TypeError('Object.keys called on a non-object');
+            }
 
-  if (typeof this.url === 'string') {
-    location = this.parseUri(this.url);
-    if (typeof this.schemes === 'undefined' || this.schemes.length === 0) {
-      this.scheme = location.scheme || 'http';
+            var theKeys = [];
+            var skipProto = hasProtoEnumBug && isFn;
+            if ((isStr && hasStringEnumBug) || isArgs) {
+                for (var i = 0; i < object.length; ++i) {
+                    pushCall(theKeys, $String(i));
+                }
+            }
+
+            if (!isArgs) {
+                for (var name in object) {
+                    if (!(skipProto && name === 'prototype') && owns(object, name)) {
+                        pushCall(theKeys, $String(name));
+                    }
+                }
+            }
+
+            if (hasDontEnumBug) {
+                var skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);
+                for (var j = 0; j < dontEnumsLength; j++) {
+                    var dontEnum = dontEnums[j];
+                    if (!(skipConstructor && dontEnum === 'constructor') && owns(object, dontEnum)) {
+                        pushCall(theKeys, dontEnum);
+                    }
+                }
+            }
+            return theKeys;
+        }
+    });
+
+    var keysWorksWithArguments = $Object.keys && (function () {
+        // Safari 5.0 bug
+        return $Object.keys(arguments).length === 2;
+    }(1, 2));
+    var keysHasArgumentsLengthBug = $Object.keys && (function () {
+        var argKeys = $Object.keys(arguments);
+        return arguments.length !== 1 || argKeys.length !== 1 || argKeys[0] !== 1;
+    }(1));
+    var originalKeys = $Object.keys;
+    defineProperties($Object, {
+        keys: function keys(object) {
+            if (isArguments(object)) {
+                return originalKeys(arraySlice(object));
+            } else {
+                return originalKeys(object);
+            }
+        }
+    }, !keysWorksWithArguments || keysHasArgumentsLengthBug);
+
+    //
+    // Date
+    // ====
+    //
+
+    var hasNegativeMonthYearBug = new Date(-3509827329600292).getUTCMonth() !== 0;
+    var aNegativeTestDate = new Date(-1509842289600292);
+    var aPositiveTestDate = new Date(1449662400000);
+    var hasToUTCStringFormatBug = aNegativeTestDate.toUTCString() !== 'Mon, 01 Jan -45875 11:59:59 GMT';
+    var hasToDateStringFormatBug;
+    var hasToStringFormatBug;
+    var timeZoneOffset = aNegativeTestDate.getTimezoneOffset();
+    if (timeZoneOffset < -720) {
+        hasToDateStringFormatBug = aNegativeTestDate.toDateString() !== 'Tue Jan 02 -45875';
+        hasToStringFormatBug = !(/^Thu Dec 10 2015 \d\d:\d\d:\d\d GMT[-\+]\d\d\d\d(?: |$)/).test(aPositiveTestDate.toString());
     } else {
-      this.scheme = this.schemes[0];
-    }
+        hasToDateStringFormatBug = aNegativeTestDate.toDateString() !== 'Mon Jan 01 -45875';
+        hasToStringFormatBug = !(/^Wed Dec 09 2015 \d\d:\d\d:\d\d GMT[-\+]\d\d\d\d(?: |$)/).test(aPositiveTestDate.toString());
+    }
+
+    var originalGetFullYear = call.bind(Date.prototype.getFullYear);
+    var originalGetMonth = call.bind(Date.prototype.getMonth);
+    var originalGetDate = call.bind(Date.prototype.getDate);
+    var originalGetUTCFullYear = call.bind(Date.prototype.getUTCFullYear);
+    var originalGetUTCMonth = call.bind(Date.prototype.getUTCMonth);
+    var originalGetUTCDate = call.bind(Date.prototype.getUTCDate);
+    var originalGetUTCDay = call.bind(Date.prototype.getUTCDay);
+    var originalGetUTCHours = call.bind(Date.prototype.getUTCHours);
+    var originalGetUTCMinutes = call.bind(Date.prototype.getUTCMinutes);
+    var originalGetUTCSeconds = call.bind(Date.prototype.getUTCSeconds);
+    var originalGetUTCMilliseconds = call.bind(Date.prototype.getUTCMilliseconds);
+    var dayName = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
+    var monthName = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
+    var daysInMonth = function daysInMonth(month, year) {
+        return originalGetDate(new Date(year, month, 0));
+    };
 
-    if (typeof this.host === 'undefined' || this.host === '') {
-      this.host = location.host;
+    defineProperties(Date.prototype, {
+        getFullYear: function getFullYear() {
+            if (!this || !(this instanceof Date)) {
+                throw new TypeError('this is not a Date object.');
+            }
+            var year = originalGetFullYear(this);
+            if (year < 0 && originalGetMonth(this) > 11) {
+                return year + 1;
+            }
+            return year;
+        },
+        getMonth: function getMonth() {
+            if (!this || !(this instanceof Date)) {
+                throw new TypeError('this is not a Date object.');
+            }
+            var year = originalGetFullYear(this);
+            var month = originalGetMonth(this);
+            if (year < 0 && month > 11) {
+                return 0;
+            }
+            return month;
+        },
+        getDate: function getDate() {
+            if (!this || !(this instanceof Date)) {
+                throw new TypeError('this is not a Date object.');
+            }
+            var year = originalGetFullYear(this);
+            var month = originalGetMonth(this);
+            var date = originalGetDate(this);
+            if (year < 0 && month > 11) {
+                if (month === 12) {
+                    return date;
+                }
+                var days = daysInMonth(0, year + 1);
+                return (days - date) + 1;
+            }
+            return date;
+        },
+        getUTCFullYear: function getUTCFullYear() {
+            if (!this || !(this instanceof Date)) {
+                throw new TypeError('this is not a Date object.');
+            }
+            var year = originalGetUTCFullYear(this);
+            if (year < 0 && originalGetUTCMonth(this) > 11) {
+                return year + 1;
+            }
+            return year;
+        },
+        getUTCMonth: function getUTCMonth() {
+            if (!this || !(this instanceof Date)) {
+                throw new TypeError('this is not a Date object.');
+            }
+            var year = originalGetUTCFullYear(this);
+            var month = originalGetUTCMonth(this);
+            if (year < 0 && month > 11) {
+                return 0;
+            }
+            return month;
+        },
+        getUTCDate: function getUTCDate() {
+            if (!this || !(this instanceof Date)) {
+                throw new TypeError('this is not a Date object.');
+            }
+            var year = originalGetUTCFullYear(this);
+            var month = originalGetUTCMonth(this);
+            var date = originalGetUTCDate(this);
+            if (year < 0 && month > 11) {
+                if (month === 12) {
+                    return date;
+                }
+                var days = daysInMonth(0, year + 1);
+                return (days - date) + 1;
+            }
+            return date;
+        }
+    }, hasNegativeMonthYearBug);
 
-      if (location.port) {
-        this.host = this.host + ':' + location.port;
-      }
-    }
-  }
-  else {
-    if (typeof this.schemes === 'undefined' || this.schemes.length === 0) {
-      this.scheme = 'http';
-    }
-    else {
-      this.scheme = this.schemes[0];
+    defineProperties(Date.prototype, {
+        toUTCString: function toUTCString() {
+            if (!this || !(this instanceof Date)) {
+                throw new TypeError('this is not a Date object.');
+            }
+            var day = originalGetUTCDay(this);
+            var date = originalGetUTCDate(this);
+            var month = originalGetUTCMonth(this);
+            var year = originalGetUTCFullYear(this);
+            var hour = originalGetUTCHours(this);
+            var minute = originalGetUTCMinutes(this);
+            var second = originalGetUTCSeconds(this);
+            return dayName[day] + ', ' +
+                (date < 10 ? '0' + date : date) + ' ' +
+                monthName[month] + ' ' +
+                year + ' ' +
+                (hour < 10 ? '0' + hour : hour) + ':' +
+                (minute < 10 ? '0' + minute : minute) + ':' +
+                (second < 10 ? '0' + second : second) + ' GMT';
+        }
+    }, hasNegativeMonthYearBug || hasToUTCStringFormatBug);
+
+    // Opera 12 has `,`
+    defineProperties(Date.prototype, {
+        toDateString: function toDateString() {
+            if (!this || !(this instanceof Date)) {
+                throw new TypeError('this is not a Date object.');
+            }
+            var day = this.getDay();
+            var date = this.getDate();
+            var month = this.getMonth();
+            var year = this.getFullYear();
+            return dayName[day] + ' ' +
+                monthName[month] + ' ' +
+                (date < 10 ? '0' + date : date) + ' ' +
+                year;
+        }
+    }, hasNegativeMonthYearBug || hasToDateStringFormatBug);
+
+    // can't use defineProperties here because of toString enumeration issue in IE <= 8
+    if (hasNegativeMonthYearBug || hasToStringFormatBug) {
+        Date.prototype.toString = function toString() {
+            if (!this || !(this instanceof Date)) {
+                throw new TypeError('this is not a Date object.');
+            }
+            var day = this.getDay();
+            var date = this.getDate();
+            var month = this.getMonth();
+            var year = this.getFullYear();
+            var hour = this.getHours();
+            var minute = this.getMinutes();
+            var second = this.getSeconds();
+            var timezoneOffset = this.getTimezoneOffset();
+            var hoursOffset = Math.floor(Math.abs(timezoneOffset) / 60);
+            var minutesOffset = Math.floor(Math.abs(timezoneOffset) % 60);
+            return dayName[day] + ' ' +
+                monthName[month] + ' ' +
+                (date < 10 ? '0' + date : date) + ' ' +
+                year + ' ' +
+                (hour < 10 ? '0' + hour : hour) + ':' +
+                (minute < 10 ? '0' + minute : minute) + ':' +
+                (second < 10 ? '0' + second : second) + ' GMT' +
+                (timezoneOffset > 0 ? '-' : '+') +
+                (hoursOffset < 10 ? '0' + hoursOffset : hoursOffset) +
+                (minutesOffset < 10 ? '0' + minutesOffset : minutesOffset);
+        };
+        if (supportsDescriptors) {
+            $Object.defineProperty(Date.prototype, 'toString', {
+                configurable: true,
+                enumerable: false,
+                writable: true
+            });
+        }
     }
-  }
 
-  this.definitions = response.definitions;
+    // ES5 15.9.5.43
+    // http://es5.github.com/#x15.9.5.43
+    // This function returns a String value represent the instance in time
+    // represented by this Date object. The format of the String is the Date Time
+    // string format defined in 15.9.1.15. All fields are present in the String.
+    // The time zone is always UTC, denoted by the suffix Z. If the time value of
+    // this object is not a finite Number a RangeError exception is thrown.
+    var negativeDate = -62198755200000;
+    var negativeYearString = '-000001';
+    var hasNegativeDateBug = Date.prototype.toISOString && new Date(negativeDate).toISOString().indexOf(negativeYearString) === -1;
+    var hasSafari51DateBug = Date.prototype.toISOString && new Date(-1).toISOString() !== '1969-12-31T23:59:59.999Z';
 
-  var key;
+    var getTime = call.bind(Date.prototype.getTime);
 
-  for (key in this.definitions) {
-    var model = new Model(key, this.definitions[key], this.models, this.modelPropertyMacro);
+    defineProperties(Date.prototype, {
+        toISOString: function toISOString() {
+            if (!isFinite(this) || !isFinite(getTime(this))) {
+                // Adope Photoshop requires the second check.
+                throw new RangeError('Date.prototype.toISOString called on non-finite value.');
+            }
 
-    if (model) {
-      this.models[key] = model;
-    }
-  }
+            var year = originalGetUTCFullYear(this);
 
-  // get paths, create functions for each operationId
-  var self = this;
+            var month = originalGetUTCMonth(this);
+            // see https://github.com/es-shims/es5-shim/issues/111
+            year += Math.floor(month / 12);
+            month = (month % 12 + 12) % 12;
 
-  // Bind help to 'client.apis'
-  self.apis.help = _.bind(self.help, self);
+            // the date time string format is specified in 15.9.1.15.
+            var result = [month + 1, originalGetUTCDate(this), originalGetUTCHours(this), originalGetUTCMinutes(this), originalGetUTCSeconds(this)];
+            year = (
+                (year < 0 ? '-' : (year > 9999 ? '+' : '')) +
... 727610 lines suppressed ...