aboutsummaryrefslogtreecommitdiffstats
path: root/ccsdk-app-os/src/main/webapp/api-specs.html
diff options
context:
space:
mode:
authorKotagiri, Ramprasad (rp5662) <rp5662@att.com>2020-02-03 13:43:25 -0500
committerKotagiri, Ramprasad (rp5662) <rp5662@att.com>2020-02-06 13:18:40 -0500
commitc73866cf44cad2be9a91ea1e2a3a77fcc29d9c2a (patch)
tree69955f0a068c89c2ae05fb05e6d9afa6641f3688 /ccsdk-app-os/src/main/webapp/api-specs.html
parent2ac46fd53461288d5d99a9c0ebb8a3a5216db2a7 (diff)
DCAE dashboard security fixes
Portal SDK ver 2.6.0, non-root user for docker container Change label on Dashboard Home page, API changes, Container optimization Change-Id: Ie2c8efd76d34fddc2b182d5ed494761522695914 Issue-ID: DCAEGEN2-1638 Issue-ID: CCSDK-1485 Issue-ID: DCAEGEN2-1921 Issue-ID: DCAEGEN2-1915 Issue-ID: DCAEGEN2-1856 Issue-ID: DCAEGEN2-1556 Issue-ID: DCAEGEN2-1592 Signed-off-by: Kotagiri, Ramprasad (rp5662) <rp5662@att.com>
Diffstat (limited to 'ccsdk-app-os/src/main/webapp/api-specs.html')
-rw-r--r--ccsdk-app-os/src/main/webapp/api-specs.html5742
1 files changed, 5742 insertions, 0 deletions
diff --git a/ccsdk-app-os/src/main/webapp/api-specs.html b/ccsdk-app-os/src/main/webapp/api-specs.html
new file mode 100644
index 0000000..b43fbf4
--- /dev/null
+++ b/ccsdk-app-os/src/main/webapp/api-specs.html
@@ -0,0 +1,5742 @@
+
+
+
+<!doctype html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+ <title>DCAE Dashboard API</title>
+
+ <style>
+ </style>
+ <style media="screen">/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
+/**
+ * 1. Set default font family to sans-serif.
+ * 2. Prevent iOS text size adjust after orientation change, without disabling
+ * user zoom.
+ */
+html {
+ font-family: sans-serif;
+ /* 1 */
+ -ms-text-size-adjust: 100%;
+ /* 2 */
+ -webkit-text-size-adjust: 100%;
+ /* 2 */ }
+
+/**
+ * Remove default margin.
+ */
+body {
+ margin: 0; }
+
+/* HTML5 display definitions
+ ========================================================================== */
+/**
+ * Correct `block` display not defined for any HTML5 element in IE 8/9.
+ * Correct `block` display not defined for `details` or `summary` in IE 10/11
+ * and Firefox.
+ * Correct `block` display not defined for `main` in IE 11.
+ */
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+menu,
+nav,
+section,
+summary {
+ display: block; }
+
+/**
+ * 1. Correct `inline-block` display not defined in IE 8/9.
+ * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
+ */
+audio,
+canvas,
+progress,
+video {
+ display: inline-block;
+ /* 1 */
+ vertical-align: baseline;
+ /* 2 */ }
+
+/**
+ * Prevent modern browsers from displaying `audio` without controls.
+ * Remove excess height in iOS 5 devices.
+ */
+audio:not([controls]) {
+ display: none;
+ height: 0; }
+
+/**
+ * Address `[hidden]` styling not present in IE 8/9/10.
+ * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
+ */
+[hidden],
+template {
+ display: none; }
+
+/* Links
+ ========================================================================== */
+/**
+ * Remove the gray background color from active links in IE 10.
+ */
+a {
+ background-color: transparent; }
+
+/**
+ * Improve readability when focused and also mouse hovered in all browsers.
+ */
+a:active,
+a:hover {
+ outline: 0; }
+
+/* Text-level semantics
+ ========================================================================== */
+/**
+ * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
+ */
+abbr[title] {
+ border-bottom: 1px dotted; }
+
+/**
+ * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
+ */
+b,
+strong {
+ font-weight: bold; }
+
+/**
+ * Address styling not present in Safari and Chrome.
+ */
+dfn {
+ font-style: italic; }
+
+/**
+ * Address variable `h1` font-size and margin within `section` and `article`
+ * contexts in Firefox 4+, Safari, and Chrome.
+ */
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0; }
+
+/**
+ * Address styling not present in IE 8/9.
+ */
+mark {
+ background: #ff0;
+ color: #000; }
+
+/**
+ * Address inconsistent and variable font size in all browsers.
+ */
+small {
+ font-size: 80%; }
+
+/**
+ * Prevent `sub` and `sup` affecting `line-height` in all browsers.
+ */
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline; }
+
+sup {
+ top: -0.5em; }
+
+sub {
+ bottom: -0.25em; }
+
+/* Embedded content
+ ========================================================================== */
+/**
+ * Remove border when inside `a` element in IE 8/9/10.
+ */
+img {
+ border: 0; }
+
+/**
+ * Correct overflow not hidden in IE 9/10/11.
+ */
+svg:not(:root) {
+ overflow: hidden; }
+
+/* Grouping content
+ ========================================================================== */
+/**
+ * Address margin not present in IE 8/9 and Safari.
+ */
+figure {
+ margin: 1em 40px; }
+
+/**
+ * Address differences between Firefox and other browsers.
+ */
+hr {
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ height: 0; }
+
+/**
+ * Contain overflow in all browsers.
+ */
+pre {
+ overflow: auto; }
+
+/**
+ * Address odd `em`-unit font size rendering in all browsers.
+ */
+code,
+kbd,
+pre,
+samp {
+ font-family: monospace, monospace;
+ font-size: 1em; }
+
+/* Forms
+ ========================================================================== */
+/**
+ * Known limitation: by default, Chrome and Safari on OS X allow very limited
+ * styling of `select`, unless a `border` property is set.
+ */
+/**
+ * 1. Correct color not being inherited.
+ * Known issue: affects color of disabled elements.
+ * 2. Correct font properties not being inherited.
+ * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
+ */
+button,
+input,
+optgroup,
+select,
+textarea {
+ color: inherit;
+ /* 1 */
+ font: inherit;
+ /* 2 */
+ margin: 0;
+ /* 3 */ }
+
+/**
+ * Address `overflow` set to `hidden` in IE 8/9/10/11.
+ */
+button {
+ overflow: visible; }
+
+/**
+ * Address inconsistent `text-transform` inheritance for `button` and `select`.
+ * All other form control elements do not inherit `text-transform` values.
+ * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
+ * Correct `select` style inheritance in Firefox.
+ */
+button,
+select {
+ text-transform: none; }
+
+/**
+ * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+ * and `video` controls.
+ * 2. Correct inability to style clickable `input` types in iOS.
+ * 3. Improve usability and consistency of cursor style between image-type
+ * `input` and others.
+ */
+button,
+html input[type="button"],
+input[type="reset"],
+input[type="submit"] {
+ -webkit-appearance: button;
+ /* 2 */
+ cursor: pointer;
+ /* 3 */ }
+
+/**
+ * Re-set default cursor for disabled elements.
+ */
+button[disabled],
+html input[disabled] {
+ cursor: default; }
+
+/**
+ * Remove inner padding and border in Firefox 4+.
+ */
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+ border: 0;
+ padding: 0; }
+
+/**
+ * Address Firefox 4+ setting `line-height` on `input` using `!important` in
+ * the UA stylesheet.
+ */
+input {
+ line-height: normal; }
+
+/**
+ * It's recommended that you don't attempt to style these elements.
+ * Firefox's implementation doesn't respect box-sizing, padding, or width.
+ *
+ * 1. Address box sizing set to `content-box` in IE 8/9/10.
+ * 2. Remove excess padding in IE 8/9/10.
+ */
+input[type="checkbox"],
+input[type="radio"] {
+ box-sizing: border-box;
+ /* 1 */
+ padding: 0;
+ /* 2 */ }
+
+/**
+ * Fix the cursor style for Chrome's increment/decrement buttons. For certain
+ * `font-size` values of the `input`, it causes the cursor style of the
+ * decrement button to change from `default` to `text`.
+ */
+input[type="number"]::-webkit-inner-spin-button,
+input[type="number"]::-webkit-outer-spin-button {
+ height: auto; }
+
+/**
+ * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
+ * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
+ * (include `-moz` to future-proof).
+ */
+input[type="search"] {
+ -webkit-appearance: textfield;
+ /* 1 */
+ -moz-box-sizing: content-box;
+ -webkit-box-sizing: content-box;
+ /* 2 */
+ box-sizing: content-box; }
+
+/**
+ * Remove inner padding and search cancel button in Safari and Chrome on OS X.
+ * Safari (but not Chrome) clips the cancel button when the search input has
+ * padding (and `textfield` appearance).
+ */
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none; }
+
+/**
+ * Define consistent border, margin, and padding.
+ */
+fieldset {
+ border: 1px solid #c0c0c0;
+ margin: 0 2px;
+ padding: 0.35em 0.625em 0.75em; }
+
+/**
+ * 1. Correct `color` not being inherited in IE 8/9/10/11.
+ * 2. Remove padding so people aren't caught out if they zero out fieldsets.
+ */
+legend {
+ border: 0;
+ /* 1 */
+ padding: 0;
+ /* 2 */ }
+
+/**
+ * Remove default vertical scrollbar in IE 8/9/10/11.
+ */
+textarea {
+ overflow: auto; }
+
+/**
+ * Don't inherit the `font-weight` (applied by a rule above).
+ * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
+ */
+optgroup {
+ font-weight: bold; }
+
+/* Tables
+ ========================================================================== */
+/**
+ * Remove most spacing between table cells.
+ */
+table {
+ border-collapse: collapse;
+ border-spacing: 0; }
+
+td,
+th {
+ padding: 0; }
+
+/*
+Copyright 2008-2013 Concur Technologies, Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License"); you may
+not use this file except in compliance with the License. You may obtain
+a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+License for the specific language governing permissions and limitations
+under the License.
+*/
+.content h1, .content h2, .content h3, .content h4, .content h5, .content h6, html, body {
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
+ font-size: 14px; }
+
+.content h1, .content h2, .content h3, .content h4, .content h5, .content h6 {
+ font-weight: bold; }
+
+.content code, .content pre {
+ font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, serif;
+ font-size: 12px;
+ line-height: 1.5; }
+
+.content code {
+ word-break: break-all;
+ hyphens: auto; }
+
+@font-face {
+ font-family: 'slate';
+ src: url('https://raw.githubusercontent.com/Mermade/shins/master/source/fonts/slate.eot?-syv14m');
+ src: url('https://raw.githubusercontent.com/Mermade/shins/master/source/fonts/slate.eot?#iefix-syv14m') format("embedded-opentype"), url('https://raw.githubusercontent.com/Mermade/shins/master/source/fonts/slate.woff2?-syv14m') format("woff2"), url('https://raw.githubusercontent.com/Mermade/shins/master/source/fonts/slate.woff?-syv14m') format("woff"), url('https://raw.githubusercontent.com/Mermade/shins/master/source/fonts/slate.ttf?-syv14m') format("truetype"), url('https://raw.githubusercontent.com/Mermade/shins/master/source/fonts/slate.svg?-syv14m#slate') format("svg");
+ font-weight: normal;
+ font-style: normal; }
+
+.content aside.warning:before, .content aside.notice:before, .content aside.success:before, .toc-wrapper > .search:before {
+ font-family: 'slate';
+ speak: none;
+ font-style: normal;
+ font-weight: normal;
+ font-variant: normal;
+ text-transform: none;
+ line-height: 1; }
+
+.content aside.warning:before {
+ content: "\e600"; }
+
+.content aside.notice:before {
+ content: "\e602"; }
+
+.content aside.success:before {
+ content: "\e606"; }
+
+.toc-wrapper > .search:before {
+ content: "\e607"; }
+
+/*
+Copyright 2008-2013 Concur Technologies, Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License"); you may
+not use this file except in compliance with the License. You may obtain
+a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+License for the specific language governing permissions and limitations
+under the License.
+*/
+html, body {
+ color: #333;
+ padding: 0;
+ margin: 0;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ background-color: #F3F7F9;
+ height: 100%;
+ -webkit-text-size-adjust: none;
+ /* Never autoresize text */ }
+
+#toc > ul > li > a > span {
+ float: right;
+ background-color: #2484FF;
+ border-radius: 40px;
+ width: 20px; }
+
+.toc-wrapper {
+ transition: left 0.3s ease-in-out;
+ overflow-y: auto;
+ overflow-x: hidden;
+ position: fixed;
+ z-index: 30;
+ top: 0;
+ left: 0;
+ bottom: 0;
+ width: 230px;
+ background-color: #2E3336;
+ font-size: 13px;
+ font-weight: bold; }
+ .toc-wrapper .lang-selector {
+ display: none; }
+ .toc-wrapper .lang-selector a {
+ padding-top: 0.5em;
+ padding-bottom: 0.5em; }
+ .toc-wrapper .logo {
+ display: block;
+ max-width: 100%;
+ margin-bottom: 0px; }
+ .toc-wrapper > .search {
+ position: relative; }
+ .toc-wrapper > .search input {
+ background: #2E3336;
+ border-width: 0 0 1px 0;
+ border-color: #666;
+ padding: 6px 0 6px 20px;
+ box-sizing: border-box;
+ margin: 10px 15px;
+ width: 200px;
+ outline: none;
+ color: #fff;
+ border-radius: 0;
+ /* ios has a default border radius */ }
+ .toc-wrapper > .search:before {
+ position: absolute;
+ top: 17px;
+ left: 15px;
+ color: #fff; }
+ .toc-wrapper .search-results {
+ margin-top: 0;
+ box-sizing: border-box;
+ height: 0;
+ overflow-y: auto;
+ overflow-x: hidden;
+ transition-property: height, margin;
+ transition-duration: 180ms;
+ transition-timing-function: ease-in-out;
+ background: #1E2224; }
+ .toc-wrapper .search-results.visible {
+ height: 30%;
+ margin-bottom: 1em; }
+ .toc-wrapper .search-results li {
+ margin: 1em 15px;
+ line-height: 1; }
+ .toc-wrapper .search-results a {
+ color: #fff;
+ text-decoration: none; }
+ .toc-wrapper .search-results a:hover {
+ text-decoration: underline; }
+ .toc-wrapper ul, .toc-wrapper li {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+ line-height: 28px; }
+ .toc-wrapper li {
+ color: #fff;
+ transition-property: background;
+ transition-timing-function: linear;
+ transition-duration: 200ms; }
+ .toc-wrapper .toc-link.active {
+ background-color: #0F75D4;
+ color: #fff; }
+ .toc-wrapper .toc-link.active-parent {
+ background-color: #1E2224;
+ color: #fff; }
+ .toc-wrapper .toc-list-h2 {
+ display: none;
+ background-color: #1E2224;
+ font-weight: 500; }
+ .toc-wrapper .toc-h2 {
+ padding-left: 25px;
+ font-size: 12px; }
+ .toc-wrapper .toc-footer {
+ padding: 1em 0;
+ margin-top: 1em;
+ border-top: 1px dashed #666; }
+ .toc-wrapper .toc-footer li, .toc-wrapper .toc-footer a {
+ color: #fff;
+ text-decoration: none; }
+ .toc-wrapper .toc-footer a:hover {
+ text-decoration: underline; }
+ .toc-wrapper .toc-footer li {
+ font-size: 0.8em;
+ line-height: 1.7;
+ text-decoration: none; }
+
+.toc-link, .toc-footer li {
+ padding: 0 15px 0 15px;
+ display: block;
+ overflow-x: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ text-decoration: none;
+ color: #fff;
+ transition-property: background;
+ transition-timing-function: linear;
+ transition-duration: 130ms; }
+
+#nav-button {
+ padding: 0 1.5em 5em 0;
+ display: none;
+ position: fixed;
+ top: 0;
+ left: 0;
+ z-index: 100;
+ color: #000;
+ text-decoration: none;
+ font-weight: bold;
+ opacity: 0.7;
+ line-height: 16px;
+ transition: left 0.3s ease-in-out; }
+ #nav-button span {
+ display: block;
+ padding: 6px 6px 6px;
+ background-color: rgba(243, 247, 249, 0.7);
+ transform-origin: 0 0;
+ transform: rotate(-90deg) translate(-100%, 0);
+ border-radius: 0 0 0 5px; }
+ #nav-button img {
+ height: 16px;
+ vertical-align: bottom; }
+ #nav-button:hover {
+ opacity: 1; }
+ #nav-button.open {
+ left: 230px; }
+
+.page-wrapper {
+ margin-left: 230px;
+ position: relative;
+ z-index: 10;
+ background-color: #F3F7F9;
+ min-height: 100%;
+ padding-bottom: 1px; }
+ .page-wrapper .dark-box {
+ width: 50%;
+ background-color: #2E3336;
+ position: absolute;
+ right: 0;
+ top: 0;
+ bottom: 0; }
+ .page-wrapper .lang-selector {
+ position: fixed;
+ z-index: 50;
+ border-bottom: 5px solid #2E3336; }
+
+.lang-selector {
+ background-color: #1E2224;
+ width: 100%;
+ font-weight: bold; }
+ .lang-selector a {
+ display: block;
+ float: left;
+ color: #fff;
+ text-decoration: none;
+ padding: 0 10px;
+ line-height: 30px;
+ outline: 0; }
+ .lang-selector a:active, .lang-selector a:focus {
+ background-color: #111;
+ color: #fff; }
+ .lang-selector a.active {
+ background-color: #2E3336;
+ color: #fff; }
+ .lang-selector:after {
+ content: '';
+ clear: both;
+ display: block; }
+
+.content {
+ -webkit-transform: translateZ(0);
+ position: relative;
+ z-index: 30; }
+ .content:after {
+ content: '';
+ display: block;
+ clear: both; }
+ .content > h1, .content > h2, .content > h3, .content > h4, .content > h5, .content > h6, .content > p, .content > table, .content > ul, .content > ol, .content > aside, .content > dl {
+ margin-right: 50%;
+ padding: 0 28px;
+ box-sizing: border-box;
+ display: block; }
+ .content > ul, .content > ol {
+ padding-left: 43px; }
+ .content > h1, .content > h2, .content > div {
+ clear: both; }
+ .content h1 {
+ font-size: 25px;
+ padding-top: 0.5em;
+ padding-bottom: 0.5em;
+ margin-bottom: 21px;
+ margin-top: 2em;
+ border-top: 1px solid #ccc;
+ border-bottom: 1px solid #ccc;
+ background-color: #fdfdfd; }
+ .content h1:first-child, .content div:first-child + h1 {
+ border-top-width: 0;
+ margin-top: 0; }
+ .content h2 {
+ font-size: 19px;
+ margin-top: 4em;
+ margin-bottom: 0;
+ border-top: 1px solid #ccc;
+ padding-top: 1.2em;
+ padding-bottom: 1.2em;
+ background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0)); }
+ .content h1 + h2, .content h1 + div + h2 {
+ margin-top: -21px;
+ border-top: none; }
+ .content h3, .content h4, .content h5, .content h6 {
+ font-size: 15px;
+ margin-top: 2.5em;
+ margin-bottom: 0.8em; }
+ .content h4, .content h5, .content h6 {
+ font-size: 10px; }
+ .content hr {
+ margin: 2em 0;
+ border-top: 2px solid #2E3336;
+ border-bottom: 2px solid #F3F7F9; }
+ .content table {
+ margin-bottom: 1em;
+ overflow: auto; }
+ .content table th, .content table td {
+ text-align: left;
+ vertical-align: top;
+ line-height: 1.6; }
+ .content table th code, .content table td code {
+ white-space: nowrap; }
+ .content table th {
+ padding: 5px 10px;
+ border-bottom: 1px solid #ccc;
+ vertical-align: bottom; }
+ .content table td {
+ padding: 10px; }
+ .content table tr:last-child {
+ border-bottom: 1px solid #ccc; }
+ .content table tr:nth-child(odd) > td {
+ background-color: white; }
+ .content table tr:nth-child(even) > td {
+ background-color: #fbfcfd; }
+ .content dt {
+ font-weight: bold; }
+ .content dd {
+ margin-left: 15px; }
+ .content p, .content li, .content dt, .content dd {
+ line-height: 1.6;
+ margin-top: 0; }
+ .content img {
+ max-width: 100%; }
+ .content code {
+ background-color: rgba(0, 0, 0, 0.05);
+ padding: 3px;
+ border-radius: 3px; }
+ .content pre > code {
+ background-color: transparent;
+ padding: 0; }
+ .content aside {
+ padding-top: 1em;
+ padding-bottom: 1em;
+ margin-top: 1.5em;
+ margin-bottom: 1.5em;
+ background: #8fbcd4;
+ line-height: 1.6; }
+ .content aside.warning {
+ background-color: #c97a7e; }
+ .content aside.success {
+ background-color: #6ac174; }
+ .content aside:before {
+ vertical-align: middle;
+ padding-right: 0.5em;
+ font-size: 14px; }
+ .content .search-highlight {
+ padding: 2px;
+ margin: -3px;
+ border-radius: 4px;
+ border: 1px solid #F7E633;
+ background: linear-gradient(to top left, #F7E633 0%, #F1D32F 100%); }
+
+.content pre, .content blockquote {
+ background-color: #1E2224;
+ color: #fff;
+ margin: 0;
+ width: 50%;
+ float: right;
+ clear: right;
+ box-sizing: border-box; }
+ .content pre > p, .content blockquote > p {
+ margin: 0; }
+ .content pre a, .content blockquote a {
+ color: #fff;
+ text-decoration: none;
+ border-bottom: dashed 1px #ccc; }
+
+.content pre {
+ padding-top: 2em;
+ padding-bottom: 2em;
+ padding: 2em 28px; }
+
+.content blockquote > p {
+ background-color: #191D1F;
+ padding: 13px 2em;
+ color: #eee; }
+
+@media (max-width: 930px) {
+ .toc-wrapper {
+ left: -230px; }
+ .toc-wrapper.open {
+ left: 0; }
+ .page-wrapper {
+ margin-left: 0; }
+ #nav-button {
+ display: block; }
+ .toc-link {
+ padding-top: 0.3em;
+ padding-bottom: 0.3em; } }
+
+@media (max-width: 700px) {
+ .dark-box {
+ display: none; }
+ .content > h1, .content > h2, .content > h3, .content > h4, .content > h5, .content > h6, .content > p, .content > table, .content > ul, .content > ol, .content > aside, .content > dl {
+ margin-right: 0; }
+ .toc-wrapper .lang-selector {
+ display: block; }
+ .page-wrapper .lang-selector {
+ display: none; }
+ .content pre, .content blockquote {
+ width: auto;
+ float: none; }
+ .content > pre + h1, .content > blockquote + h1, .content > pre + h2, .content > blockquote + h2, .content > pre + h3, .content > blockquote + h3, .content > pre + h4, .content > blockquote + h4, .content > pre + h5, .content > blockquote + h5, .content > pre + h6, .content > blockquote + h6, .content > pre + p, .content > blockquote + p, .content > pre + table, .content > blockquote + table, .content > pre + ul, .content > blockquote + ul, .content > pre + ol, .content > blockquote + ol, .content > pre + aside, .content > blockquote + aside, .content > pre + dl, .content > blockquote + dl {
+ margin-top: 28px; } }
+
+.highlight .c, .highlight .cm, .highlight .c1, .highlight .cs {
+ color: #909090; }
+
+.highlight, .highlight .w {
+ background-color: #1E2224; }
+</style>
+ <style media="print">/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
+/**
+ * 1. Set default font family to sans-serif.
+ * 2. Prevent iOS text size adjust after orientation change, without disabling
+ * user zoom.
+ */
+html {
+ font-family: sans-serif;
+ /* 1 */
+ -ms-text-size-adjust: 100%;
+ /* 2 */
+ -webkit-text-size-adjust: 100%;
+ /* 2 */ }
+
+/**
+ * Remove default margin.
+ */
+body {
+ margin: 0; }
+
+/* HTML5 display definitions
+ ========================================================================== */
+/**
+ * Correct `block` display not defined for any HTML5 element in IE 8/9.
+ * Correct `block` display not defined for `details` or `summary` in IE 10/11
+ * and Firefox.
+ * Correct `block` display not defined for `main` in IE 11.
+ */
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+menu,
+nav,
+section,
+summary {
+ display: block; }
+
+/**
+ * 1. Correct `inline-block` display not defined in IE 8/9.
+ * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
+ */
+audio,
+canvas,
+progress,
+video {
+ display: inline-block;
+ /* 1 */
+ vertical-align: baseline;
+ /* 2 */ }
+
+/**
+ * Prevent modern browsers from displaying `audio` without controls.
+ * Remove excess height in iOS 5 devices.
+ */
+audio:not([controls]) {
+ display: none;
+ height: 0; }
+
+/**
+ * Address `[hidden]` styling not present in IE 8/9/10.
+ * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
+ */
+[hidden],
+template {
+ display: none; }
+
+/* Links
+ ========================================================================== */
+/**
+ * Remove the gray background color from active links in IE 10.
+ */
+a {
+ background-color: transparent; }
+
+/**
+ * Improve readability when focused and also mouse hovered in all browsers.
+ */
+a:active,
+a:hover {
+ outline: 0; }
+
+/* Text-level semantics
+ ========================================================================== */
+/**
+ * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
+ */
+abbr[title] {
+ border-bottom: 1px dotted; }
+
+/**
+ * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
+ */
+b,
+strong {
+ font-weight: bold; }
+
+/**
+ * Address styling not present in Safari and Chrome.
+ */
+dfn {
+ font-style: italic; }
+
+/**
+ * Address variable `h1` font-size and margin within `section` and `article`
+ * contexts in Firefox 4+, Safari, and Chrome.
+ */
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0; }
+
+/**
+ * Address styling not present in IE 8/9.
+ */
+mark {
+ background: #ff0;
+ color: #000; }
+
+/**
+ * Address inconsistent and variable font size in all browsers.
+ */
+small {
+ font-size: 80%; }
+
+/**
+ * Prevent `sub` and `sup` affecting `line-height` in all browsers.
+ */
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline; }
+
+sup {
+ top: -0.5em; }
+
+sub {
+ bottom: -0.25em; }
+
+/* Embedded content
+ ========================================================================== */
+/**
+ * Remove border when inside `a` element in IE 8/9/10.
+ */
+img {
+ border: 0; }
+
+/**
+ * Correct overflow not hidden in IE 9/10/11.
+ */
+svg:not(:root) {
+ overflow: hidden; }
+
+/* Grouping content
+ ========================================================================== */
+/**
+ * Address margin not present in IE 8/9 and Safari.
+ */
+figure {
+ margin: 1em 40px; }
+
+/**
+ * Address differences between Firefox and other browsers.
+ */
+hr {
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ height: 0; }
+
+/**
+ * Contain overflow in all browsers.
+ */
+pre {
+ overflow: auto; }
+
+/**
+ * Address odd `em`-unit font size rendering in all browsers.
+ */
+code,
+kbd,
+pre,
+samp {
+ font-family: monospace, monospace;
+ font-size: 1em; }
+
+/* Forms
+ ========================================================================== */
+/**
+ * Known limitation: by default, Chrome and Safari on OS X allow very limited
+ * styling of `select`, unless a `border` property is set.
+ */
+/**
+ * 1. Correct color not being inherited.
+ * Known issue: affects color of disabled elements.
+ * 2. Correct font properties not being inherited.
+ * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
+ */
+button,
+input,
+optgroup,
+select,
+textarea {
+ color: inherit;
+ /* 1 */
+ font: inherit;
+ /* 2 */
+ margin: 0;
+ /* 3 */ }
+
+/**
+ * Address `overflow` set to `hidden` in IE 8/9/10/11.
+ */
+button {
+ overflow: visible; }
+
+/**
+ * Address inconsistent `text-transform` inheritance for `button` and `select`.
+ * All other form control elements do not inherit `text-transform` values.
+ * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
+ * Correct `select` style inheritance in Firefox.
+ */
+button,
+select {
+ text-transform: none; }
+
+/**
+ * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+ * and `video` controls.
+ * 2. Correct inability to style clickable `input` types in iOS.
+ * 3. Improve usability and consistency of cursor style between image-type
+ * `input` and others.
+ */
+button,
+html input[type="button"],
+input[type="reset"],
+input[type="submit"] {
+ -webkit-appearance: button;
+ /* 2 */
+ cursor: pointer;
+ /* 3 */ }
+
+/**
+ * Re-set default cursor for disabled elements.
+ */
+button[disabled],
+html input[disabled] {
+ cursor: default; }
+
+/**
+ * Remove inner padding and border in Firefox 4+.
+ */
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+ border: 0;
+ padding: 0; }
+
+/**
+ * Address Firefox 4+ setting `line-height` on `input` using `!important` in
+ * the UA stylesheet.
+ */
+input {
+ line-height: normal; }
+
+/**
+ * It's recommended that you don't attempt to style these elements.
+ * Firefox's implementation doesn't respect box-sizing, padding, or width.
+ *
+ * 1. Address box sizing set to `content-box` in IE 8/9/10.
+ * 2. Remove excess padding in IE 8/9/10.
+ */
+input[type="checkbox"],
+input[type="radio"] {
+ box-sizing: border-box;
+ /* 1 */
+ padding: 0;
+ /* 2 */ }
+
+/**
+ * Fix the cursor style for Chrome's increment/decrement buttons. For certain
+ * `font-size` values of the `input`, it causes the cursor style of the
+ * decrement button to change from `default` to `text`.
+ */
+input[type="number"]::-webkit-inner-spin-button,
+input[type="number"]::-webkit-outer-spin-button {
+ height: auto; }
+
+/**
+ * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
+ * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
+ * (include `-moz` to future-proof).
+ */
+input[type="search"] {
+ -webkit-appearance: textfield;
+ /* 1 */
+ -moz-box-sizing: content-box;
+ -webkit-box-sizing: content-box;
+ /* 2 */
+ box-sizing: content-box; }
+
+/**
+ * Remove inner padding and search cancel button in Safari and Chrome on OS X.
+ * Safari (but not Chrome) clips the cancel button when the search input has
+ * padding (and `textfield` appearance).
+ */
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none; }
+
+/**
+ * Define consistent border, margin, and padding.
+ */
+fieldset {
+ border: 1px solid #c0c0c0;
+ margin: 0 2px;
+ padding: 0.35em 0.625em 0.75em; }
+
+/**
+ * 1. Correct `color` not being inherited in IE 8/9/10/11.
+ * 2. Remove padding so people aren't caught out if they zero out fieldsets.
+ */
+legend {
+ border: 0;
+ /* 1 */
+ padding: 0;
+ /* 2 */ }
+
+/**
+ * Remove default vertical scrollbar in IE 8/9/10/11.
+ */
+textarea {
+ overflow: auto; }
+
+/**
+ * Don't inherit the `font-weight` (applied by a rule above).
+ * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
+ */
+optgroup {
+ font-weight: bold; }
+
+/* Tables
+ ========================================================================== */
+/**
+ * Remove most spacing between table cells.
+ */
+table {
+ border-collapse: collapse;
+ border-spacing: 0; }
+
+td,
+th {
+ padding: 0; }
+
+/*
+Copyright 2008-2013 Concur Technologies, Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License"); you may
+not use this file except in compliance with the License. You may obtain
+a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+License for the specific language governing permissions and limitations
+under the License.
+*/
+.content h1, .content h2, .content h3, .content h4, body {
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
+ font-size: 14px; }
+
+.content h1, .content h2, .content h3, .content h4 {
+ font-weight: bold; }
+
+.content pre, .content code {
+ font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, serif;
+ font-size: 12px;
+ line-height: 1.5; }
+
+.content pre, .content code {
+ word-break: break-all;
+ hyphens: auto; }
+
+@font-face {
+ font-family: 'slate';
+ src: url('https://raw.githubusercontent.com/Mermade/shins/master/source/fonts/slate.eot?-syv14m');
+ src: url('https://raw.githubusercontent.com/Mermade/shins/master/source/fonts/slate.eot?#iefix-syv14m') format("embedded-opentype"), url('https://raw.githubusercontent.com/Mermade/shins/master/source/fonts/slate.woff2?-syv14m') format("woff2"), url('https://raw.githubusercontent.com/Mermade/shins/master/source/fonts/slate.woff?-syv14m') format("woff"), url('https://raw.githubusercontent.com/Mermade/shins/master/source/fonts/slate.ttf?-syv14m') format("truetype"), url('https://raw.githubusercontent.com/Mermade/shins/master/source/fonts/slate.svg?-syv14m#slate') format("svg");
+ font-weight: normal;
+ font-style: normal; }
+
+.content aside.warning:before, .content aside.notice:before, .content aside.success:before {
+ font-family: 'slate';
+ speak: none;
+ font-style: normal;
+ font-weight: normal;
+ font-variant: normal;
+ text-transform: none;
+ line-height: 1; }
+
+.content aside.warning:before {
+ content: "\e600"; }
+
+.content aside.notice:before {
+ content: "\e602"; }
+
+.content aside.success:before {
+ content: "\e606"; }
+
+/*
+Copyright 2008-2013 Concur Technologies, Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License"); you may
+not use this file except in compliance with the License. You may obtain
+a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+License for the specific language governing permissions and limitations
+under the License.
+*/
+.tocify, .toc-footer, .lang-selector, .search, #nav-button {
+ display: none; }
+
+.tocify-wrapper > img {
+ margin: 0 auto;
+ display: block; }
+
+.content {
+ font-size: 12px; }
+ .content pre, .content code {
+ border: 1px solid #999;
+ border-radius: 5px;
+ font-size: 0.8em; }
+ .content pre code {
+ border: 0; }
+ .content pre {
+ padding: 1.3em; }
+ .content code {
+ padding: 0.2em; }
+ .content table {
+ border: 1px solid #999; }
+ .content table tr {
+ border-bottom: 1px solid #999; }
+ .content table td, .content table th {
+ padding: 0.7em; }
+ .content p {
+ line-height: 1.5; }
+ .content a {
+ text-decoration: none;
+ color: #000; }
+ .content h1 {
+ font-size: 2.5em;
+ padding-top: 0.5em;
+ padding-bottom: 0.5em;
+ margin-top: 1em;
+ margin-bottom: 21px;
+ border: 2px solid #ccc;
+ border-width: 2px 0;
+ text-align: center; }
+ .content h2 {
+ font-size: 1.8em;
+ margin-top: 2em;
+ border-top: 2px solid #ccc;
+ padding-top: 0.8em; }
+ .content h1 + h2, .content h1 + div + h2 {
+ border-top: none;
+ padding-top: 0;
+ margin-top: 0; }
+ .content h3, .content h4 {
+ font-size: 0.8em;
+ margin-top: 1.5em;
+ margin-bottom: 0.8em;
+ text-transform: uppercase; }
+ .content h5, .content h6 {
+ text-transform: uppercase; }
+ .content aside {
+ padding: 1em;
+ border: 1px solid #ccc;
+ border-radius: 5px;
+ margin-top: 1.5em;
+ margin-bottom: 1.5em;
+ line-height: 1.6; }
+ .content aside:before {
+ vertical-align: middle;
+ padding-right: 0.5em;
+ font-size: 14px; }
+</style>
+ <style media="screen">/*
+
+Darkula color scheme from the JetBrains family of IDEs
+
+*/
+
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #2b2b2b;
+ -webkit-text-size-adjust: none;
+}
+
+.hljs,
+.hljs-tag,
+.hljs-title,
+.css .hljs-rule,
+.css .hljs-value,
+.aspectj .hljs-function,
+.css .hljs-function .hljs-preprocessor,
+.hljs-pragma {
+ color: #bababa;
+}
+
+.hljs-strongemphasis,
+.hljs-strong,
+.hljs-emphasis {
+ color: #a8a8a2;
+}
+
+.hljs-bullet,
+.hljs-blockquote,
+.hljs-horizontal_rule,
+.hljs-number,
+.hljs-regexp,
+.alias .hljs-keyword,
+.hljs-literal,
+.hljs-hexcolor {
+ color: #6896ba;
+}
+
+.hljs-tag .hljs-value,
+.hljs-code,
+.css .hljs-class,
+.hljs-class .hljs-title:last-child {
+ color: #a6e22e;
+}
+
+.hljs-link_url {
+ font-size: 80%;
+}
+
+.hljs-emphasis,
+.hljs-strongemphasis,
+.hljs-class .hljs-title:last-child,
+.hljs-typename {
+ font-style: italic;
+}
+
+.hljs-keyword,
+.ruby .hljs-class .hljs-keyword:first-child,
+.ruby .hljs-function .hljs-keyword,
+.hljs-function,
+.hljs-change,
+.hljs-winutils,
+.hljs-flow,
+.nginx .hljs-title,
+.tex .hljs-special,
+.hljs-header,
+.hljs-attribute,
+.hljs-symbol,
+.hljs-symbol .hljs-string,
+.hljs-tag .hljs-title,
+.hljs-value,
+.alias .hljs-keyword:first-child,
+.css .hljs-tag,
+.css .unit,
+.css .hljs-important {
+ color: #cb7832;
+}
+
+.hljs-function .hljs-keyword,
+.hljs-class .hljs-keyword:first-child,
+.hljs-aspect .hljs-keyword:first-child,
+.hljs-constant,
+.hljs-typename,
+.css .hljs-attribute {
+ color: #cb7832;
+}
+
+.hljs-variable,
+.hljs-params,
+.hljs-class .hljs-title,
+.hljs-aspect .hljs-title {
+ color: #b9b9b9;
+}
+
+.hljs-string,
+.css .hljs-id,
+.hljs-subst,
+.hljs-type,
+.ruby .hljs-class .hljs-parent,
+.hljs-built_in,
+.django .hljs-template_tag,
+.django .hljs-variable,
+.smalltalk .hljs-class,
+.django .hljs-filter .hljs-argument,
+.smalltalk .hljs-localvars,
+.smalltalk .hljs-array,
+.hljs-attr_selector,
+.hljs-pseudo,
+.hljs-addition,
+.hljs-stream,
+.hljs-envvar,
+.apache .hljs-tag,
+.apache .hljs-cbracket,
+.tex .hljs-command,
+.hljs-prompt,
+.hljs-link_label,
+.hljs-link_url,
+.hljs-name {
+ color: #e0c46c;
+}
+
+.hljs-comment,
+.hljs-annotation,
+.hljs-pi,
+.hljs-doctype,
+.hljs-deletion,
+.hljs-shebang,
+.apache .hljs-sqbracket,
+.tex .hljs-formula {
+ color: #7f7f7f;
+}
+
+.hljs-decorator {
+ color: #bab429;
+}
+
+.coffeescript .javascript,
+.javascript .xml,
+.tex .hljs-formula,
+.xml .javascript,
+.xml .vbscript,
+.xml .css,
+.xml .hljs-cdata,
+.xml .php,
+.php .xml {
+ opacity: 0.5;
+}
+</style>
+
+ <script>!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";function n(e,t){t=t||ne;var n=t.createElement("script");n.text=e,t.head.appendChild(n).parentNode.removeChild(n)}function r(e){var t=!!e&&"length"in e&&e.length,n=he.type(e);return"function"!==n&&!he.isWindow(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}function i(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}function o(e,t,n){return he.isFunction(t)?he.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?he.grep(e,function(e){return e===t!==n}):"string"!=typeof t?he.grep(e,function(e){return ae.call(t,e)>-1!==n}):Ee.test(t)?he.filter(t,e,n):(t=he.filter(t,e),he.grep(e,function(e){return ae.call(t,e)>-1!==n&&1===e.nodeType}))}function s(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function a(e){var t={};return he.each(e.match(Ae)||[],function(e,n){t[n]=!0}),t}function u(e){return e}function c(e){throw e}function l(e,t,n,r){var i;try{e&&he.isFunction(i=e.promise)?i.call(e).done(t).fail(n):e&&he.isFunction(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}function f(){ne.removeEventListener("DOMContentLoaded",f),e.removeEventListener("load",f),he.ready()}function d(){this.expando=he.expando+d.uid++}function p(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:Pe.test(e)?JSON.parse(e):e)}function h(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(He,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n=p(n)}catch(e){}$e.set(e,t,n)}else n=void 0;return n}function g(e,t,n,r){var i,o=1,s=20,a=r?function(){return r.cur()}:function(){return he.css(e,t,"")},u=a(),c=n&&n[3]||(he.cssNumber[t]?"":"px"),l=(he.cssNumber[t]||"px"!==c&&+u)&&Re.exec(he.css(e,t));if(l&&l[3]!==c){c=c||l[3],n=n||[],l=+u||1;do{o=o||".5",l/=o,he.style(e,t,l+c)}while(o!==(o=a()/u)&&1!==o&&--s)}return n&&(l=+l||+u||0,i=n[1]?l+(n[1]+1)*n[2]:+n[2],r&&(r.unit=c,r.start=l,r.end=i)),i}function v(e){var t,n=e.ownerDocument,r=e.nodeName,i=Be[r];return i||(t=n.body.appendChild(n.createElement(r)),i=he.css(t,"display"),t.parentNode.removeChild(t),"none"===i&&(i="block"),Be[r]=i,i)}function m(e,t){for(var n,r,i=[],o=0,s=e.length;o<s;o++)r=e[o],r.style&&(n=r.style.display,t?("none"===n&&(i[o]=Fe.get(r,"display")||null,i[o]||(r.style.display="")),""===r.style.display&&Me(r)&&(i[o]=v(r))):"none"!==n&&(i[o]="none",Fe.set(r,"display",n)));for(o=0;o<s;o++)null!=i[o]&&(e[o].style.display=i[o]);return e}function y(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&i(e,t)?he.merge([e],n):n}function x(e,t){for(var n=0,r=e.length;n<r;n++)Fe.set(e[n],"globalEval",!t||Fe.get(t[n],"globalEval"))}function b(e,t,n,r,i){for(var o,s,a,u,c,l,f=t.createDocumentFragment(),d=[],p=0,h=e.length;p<h;p++)if((o=e[p])||0===o)if("object"===he.type(o))he.merge(d,o.nodeType?[o]:o);else if(Qe.test(o)){for(s=s||f.appendChild(t.createElement("div")),a=(Ve.exec(o)||["",""])[1].toLowerCase(),u=Ue[a]||Ue._default,s.innerHTML=u[1]+he.htmlPrefilter(o)+u[2],l=u[0];l--;)s=s.lastChild;he.merge(d,s.childNodes),s=f.firstChild,s.textContent=""}else d.push(t.createTextNode(o));for(f.textContent="",p=0;o=d[p++];)if(r&&he.inArray(o,r)>-1)i&&i.push(o);else if(c=he.contains(o.ownerDocument,o),s=y(f.appendChild(o),"script"),c&&x(s),n)for(l=0;o=s[l++];)Xe.test(o.type||"")&&n.push(o);return f}function w(){return!0}function T(){return!1}function S(){try{return ne.activeElement}catch(e){}}function E(e,t,n,r,i,o){var s,a;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(a in t)E(e,a,n,r,t[a],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=T;else if(!i)return e;return 1===o&&(s=i,i=function(e){return he().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=he.guid++)),e.each(function(){he.event.add(this,t,i,r,n)})}function C(e,t){return i(e,"table")&&i(11!==t.nodeType?t:t.firstChild,"tr")?he(">tbody",e)[0]||e:e}function k(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function N(e){var t=nt.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function j(e,t){var n,r,i,o,s,a,u,c;if(1===t.nodeType){if(Fe.hasData(e)&&(o=Fe.access(e),s=Fe.set(t,o),c=o.events)){delete s.handle,s.events={};for(i in c)for(n=0,r=c[i].length;n<r;n++)he.event.add(t,i,c[i][n])}$e.hasData(e)&&(a=$e.access(e),u=he.extend({},a),$e.set(t,u))}}function A(e,t){var n=t.nodeName.toLowerCase();"input"===n&&ze.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function L(e,t,r,i){t=oe.apply([],t);var o,s,a,u,c,l,f=0,d=e.length,p=d-1,h=t[0],g=he.isFunction(h);if(g||d>1&&"string"==typeof h&&!pe.checkClone&&tt.test(h))return e.each(function(n){var o=e.eq(n);g&&(t[0]=h.call(this,n,o.html())),L(o,t,r,i)});if(d&&(o=b(t,e[0].ownerDocument,!1,e,i),s=o.firstChild,1===o.childNodes.length&&(o=s),s||i)){for(a=he.map(y(o,"script"),k),u=a.length;f<d;f++)c=o,f!==p&&(c=he.clone(c,!0,!0),u&&he.merge(a,y(c,"script"))),r.call(e[f],c,f);if(u)for(l=a[a.length-1].ownerDocument,he.map(a,N),f=0;f<u;f++)c=a[f],Xe.test(c.type||"")&&!Fe.access(c,"globalEval")&&he.contains(l,c)&&(c.src?he._evalUrl&&he._evalUrl(c.src):n(c.textContent.replace(rt,""),l))}return e}function D(e,t,n){for(var r,i=t?he.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||he.cleanData(y(r)),r.parentNode&&(n&&he.contains(r.ownerDocument,r)&&x(y(r,"script")),r.parentNode.removeChild(r));return e}function O(e,t,n){var r,i,o,s,a=e.style;return n=n||st(e),n&&(s=n.getPropertyValue(t)||n[t],""!==s||he.contains(e.ownerDocument,e)||(s=he.style(e,t)),!pe.pixelMarginRight()&&ot.test(s)&&it.test(t)&&(r=a.width,i=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=s,s=n.width,a.width=r,a.minWidth=i,a.maxWidth=o)),void 0!==s?s+"":s}function q(e,t){return{get:function(){return e()?void delete this.get:(this.get=t).apply(this,arguments)}}}function F(e){if(e in dt)return e;for(var t=e[0].toUpperCase()+e.slice(1),n=ft.length;n--;)if((e=ft[n]+t)in dt)return e}function $(e){var t=he.cssProps[e];return t||(t=he.cssProps[e]=F(e)||e),t}function P(e,t,n){var r=Re.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function H(e,t,n,r,i){var o,s=0;for(o=n===(r?"border":"content")?4:"width"===t?1:0;o<4;o+=2)"margin"===n&&(s+=he.css(e,n+_e[o],!0,i)),r?("content"===n&&(s-=he.css(e,"padding"+_e[o],!0,i)),"margin"!==n&&(s-=he.css(e,"border"+_e[o]+"Width",!0,i))):(s+=he.css(e,"padding"+_e[o],!0,i),"padding"!==n&&(s+=he.css(e,"border"+_e[o]+"Width",!0,i)));return s}function I(e,t,n){var r,i=st(e),o=O(e,t,i),s="border-box"===he.css(e,"boxSizing",!1,i);return ot.test(o)?o:(r=s&&(pe.boxSizingReliable()||o===e.style[t]),"auto"===o&&(o=e["offset"+t[0].toUpperCase()+t.slice(1)]),(o=parseFloat(o)||0)+H(e,t,n||(s?"border":"content"),r,i)+"px")}function R(e,t,n,r,i){return new R.prototype.init(e,t,n,r,i)}function _(){ht&&(!1===ne.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(_):e.setTimeout(_,he.fx.interval),he.fx.tick())}function M(){return e.setTimeout(function(){pt=void 0}),pt=he.now()}function W(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)n=_e[r],i["margin"+n]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function B(e,t,n){for(var r,i=(X.tweeners[t]||[]).concat(X.tweeners["*"]),o=0,s=i.length;o<s;o++)if(r=i[o].call(n,t,e))return r}function z(e,t,n){var r,i,o,s,a,u,c,l,f="width"in t||"height"in t,d=this,p={},h=e.style,g=e.nodeType&&Me(e),v=Fe.get(e,"fxshow");n.queue||(s=he._queueHooks(e,"fx"),null==s.unqueued&&(s.unqueued=0,a=s.empty.fire,s.empty.fire=function(){s.unqueued||a()}),s.unqueued++,d.always(function(){d.always(function(){s.unqueued--,he.queue(e,"fx").length||s.empty.fire()})}));for(r in t)if(i=t[r],gt.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}p[r]=v&&v[r]||he.style(e,r)}if((u=!he.isEmptyObject(t))||!he.isEmptyObject(p)){f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],c=v&&v.display,null==c&&(c=Fe.get(e,"display")),l=he.css(e,"display"),"none"===l&&(c?l=c:(m([e],!0),c=e.style.display||c,l=he.css(e,"display"),m([e]))),("inline"===l||"inline-block"===l&&null!=c)&&"none"===he.css(e,"float")&&(u||(d.done(function(){h.display=c}),null==c&&(l=h.display,c="none"===l?"":l)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",d.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1;for(r in p)u||(v?"hidden"in v&&(g=v.hidden):v=Fe.access(e,"fxshow",{display:c}),o&&(v.hidden=!g),g&&m([e],!0),d.done(function(){g||m([e]),Fe.remove(e,"fxshow");for(r in p)he.style(e,r,p[r])})),u=B(g?v[r]:0,r,d),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}}function V(e,t){var n,r,i,o,s;for(n in e)if(r=he.camelCase(n),i=t[r],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(s=he.cssHooks[r])&&"expand"in s){o=s.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}function X(e,t,n){var r,i,o=0,s=X.prefilters.length,a=he.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;for(var t=pt||M(),n=Math.max(0,c.startTime+c.duration-t),r=n/c.duration||0,o=1-r,s=0,u=c.tweens.length;s<u;s++)c.tweens[s].run(o);return a.notifyWith(e,[c,o,n]),o<1&&u?n:(u||a.notifyWith(e,[c,1,0]),a.resolveWith(e,[c]),!1)},c=a.promise({elem:e,props:he.extend({},t),opts:he.extend(!0,{specialEasing:{},easing:he.easing._default},n),originalProperties:t,originalOptions:n,startTime:pt||M(),duration:n.duration,tweens:[],createTween:function(t,n){var r=he.Tween(e,c.opts,t,n,c.opts.specialEasing[t]||c.opts.easing);return c.tweens.push(r),r},stop:function(t){var n=0,r=t?c.tweens.length:0;if(i)return this;for(i=!0;n<r;n++)c.tweens[n].run(1);return t?(a.notifyWith(e,[c,1,0]),a.resolveWith(e,[c,t])):a.rejectWith(e,[c,t]),this}}),l=c.props;for(V(l,c.opts.specialEasing);o<s;o++)if(r=X.prefilters[o].call(c,e,l,c.opts))return he.isFunction(r.stop)&&(he._queueHooks(c.elem,c.opts.queue).stop=he.proxy(r.stop,r)),r;return he.map(l,B,c),he.isFunction(c.opts.start)&&c.opts.start.call(e,c),c.progress(c.opts.progress).done(c.opts.done,c.opts.complete).fail(c.opts.fail).always(c.opts.always),he.fx.timer(he.extend(u,{elem:e,anim:c,queue:c.opts.queue})),c}function U(e){return(e.match(Ae)||[]).join(" ")}function Q(e){return e.getAttribute&&e.getAttribute("class")||""}function Y(e,t,n,r){var i;if(Array.isArray(t))he.each(t,function(t,i){n||kt.test(e)?r(e,i):Y(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==he.type(t))r(e,t);else for(i in t)Y(e+"["+i+"]",t[i],n,r)}function J(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(Ae)||[];if(he.isFunction(n))for(;r=o[i++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function G(e,t,n,r){function i(a){var u;return o[a]=!0,he.each(e[a]||[],function(e,a){var c=a(t,n,r);return"string"!=typeof c||s||o[c]?s?!(u=c):void 0:(t.dataTypes.unshift(c),i(c),!1)}),u}var o={},s=e===It;return i(t.dataTypes[0])||!o["*"]&&i("*")}function K(e,t){var n,r,i=he.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&he.extend(!0,e,r),e}function Z(e,t,n){for(var r,i,o,s,a=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in a)if(a[i]&&a[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}s||(s=i)}o=o||s}if(o)return o!==u[0]&&u.unshift(o),n[o]}function ee(e,t,n,r){var i,o,s,a,u,c={},l=e.dataTypes.slice();if(l[1])for(s in e.converters)c[s.toLowerCase()]=e.converters[s];for(o=l.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=l.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(s=c[u+" "+o]||c["* "+o]))for(i in c)if(a=i.split(" "),a[1]===o&&(s=c[u+" "+a[0]]||c["* "+a[0]])){!0===s?s=c[i]:!0!==c[i]&&(o=a[0],l.unshift(a[1]));break}if(!0!==s)if(s&&e.throws)t=s(t);else try{t=s(t)}catch(e){return{state:"parsererror",error:s?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}var te=[],ne=e.document,re=Object.getPrototypeOf,ie=te.slice,oe=te.concat,se=te.push,ae=te.indexOf,ue={},ce=ue.toString,le=ue.hasOwnProperty,fe=le.toString,de=fe.call(Object),pe={},he=function(e,t){return new he.fn.init(e,t)},ge=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,ve=/^-ms-/,me=/-([a-z])/g,ye=function(e,t){return t.toUpperCase()};he.fn=he.prototype={jquery:"3.2.1",constructor:he,length:0,toArray:function(){return ie.call(this)},get:function(e){return null==e?ie.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=he.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return he.each(this,e)},map:function(e){return this.pushStack(he.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(ie.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:se,sort:te.sort,splice:te.splice},he.extend=he.fn.extend=function(){var e,t,n,r,i,o,s=arguments[0]||{},a=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[a]||{},a++),"object"==typeof s||he.isFunction(s)||(s={}),a===u&&(s=this,a--);a<u;a++)if(null!=(e=arguments[a]))for(t in e)n=s[t],r=e[t],s!==r&&(c&&r&&(he.isPlainObject(r)||(i=Array.isArray(r)))?(i?(i=!1,o=n&&Array.isArray(n)?n:[]):o=n&&he.isPlainObject(n)?n:{},s[t]=he.extend(c,o,r)):void 0!==r&&(s[t]=r));return s},he.extend({expando:"jQuery"+("3.2.1"+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isFunction:function(e){return"function"===he.type(e)},isWindow:function(e){return null!=e&&e===e.window},isNumeric:function(e){var t=he.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==ce.call(e))&&(!(t=re(e))||"function"==typeof(n=le.call(t,"constructor")&&t.constructor)&&fe.call(n)===de)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?ue[ce.call(e)]||"object":typeof e},globalEval:function(e){n(e)},camelCase:function(e){return e.replace(ve,"ms-").replace(me,ye)},each:function(e,t){var n,i=0;if(r(e))for(n=e.length;i<n&&!1!==t.call(e[i],i,e[i]);i++);else for(i in e)if(!1===t.call(e[i],i,e[i]))break;return e},trim:function(e){return null==e?"":(e+"").replace(ge,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(r(Object(e))?he.merge(n,"string"==typeof e?[e]:e):se.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:ae.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,s=!n;i<o;i++)!t(e[i],i)!==s&&r.push(e[i]);return r},map:function(e,t,n){var i,o,s=0,a=[];if(r(e))for(i=e.length;s<i;s++)null!=(o=t(e[s],s,n))&&a.push(o);else for(s in e)null!=(o=t(e[s],s,n))&&a.push(o);return oe.apply([],a)},guid:1,proxy:function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),he.isFunction(e))return r=ie.call(arguments,2),i=function(){return e.apply(t||this,r.concat(ie.call(arguments)))},i.guid=e.guid=e.guid||he.guid++,i},now:Date.now,support:pe}),"function"==typeof Symbol&&(he.fn[Symbol.iterator]=te[Symbol.iterator]),he.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){ue["[object "+t+"]"]=t.toLowerCase()});var xe=function(e){function t(e,t,n,r){var i,o,s,a,u,l,d,p=t&&t.ownerDocument,h=t?t.nodeType:9;if(n=n||[],"string"!=typeof e||!e||1!==h&&9!==h&&11!==h)return n;if(!r&&((t?t.ownerDocument||t:R)!==D&&L(t),t=t||D,q)){if(11!==h&&(u=ge.exec(e)))if(i=u[1]){if(9===h){if(!(s=t.getElementById(i)))return n;if(s.id===i)return n.push(s),n}else if(p&&(s=p.getElementById(i))&&H(t,s)&&s.id===i)return n.push(s),n}else{if(u[2])return J.apply(n,t.getElementsByTagName(e)),n;if((i=u[3])&&b.getElementsByClassName&&t.getElementsByClassName)return J.apply(n,t.getElementsByClassName(i)),n}if(b.qsa&&!z[e+" "]&&(!F||!F.test(e))){if(1!==h)p=t,d=e;else if("object"!==t.nodeName.toLowerCase()){for((a=t.getAttribute("id"))?a=a.replace(xe,be):t.setAttribute("id",a=I),l=E(e),o=l.length;o--;)l[o]="#"+a+" "+f(l[o]);d=l.join(","),p=ve.test(e)&&c(t.parentNode)||t}if(d)try{return J.apply(n,p.querySelectorAll(d)),n}catch(e){}finally{a===I&&t.removeAttribute("id")}}}return k(e.replace(oe,"$1"),t,n,r)}function n(){function e(n,r){return t.push(n+" ")>w.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[I]=!0,e}function i(e){var t=D.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function o(e,t){for(var n=e.split("|"),r=n.length;r--;)w.attrHandle[n[r]]=t}function s(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function a(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&Te(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function u(e){return r(function(t){return t=+t,r(function(n,r){for(var i,o=e([],n.length,t),s=o.length;s--;)n[i=o[s]]&&(n[i]=!(r[i]=n[i]))})})}function c(e){return e&&void 0!==e.getElementsByTagName&&e}function l(){}function f(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function d(e,t,n){var r=t.dir,i=t.next,o=i||r,s=n&&"parentNode"===o,a=M++;return t.first?function(t,n,i){for(;t=t[r];)if(1===t.nodeType||s)return e(t,n,i);return!1}:function(t,n,u){var c,l,f,d=[_,a];if(u){for(;t=t[r];)if((1===t.nodeType||s)&&e(t,n,u))return!0}else for(;t=t[r];)if(1===t.nodeType||s)if(f=t[I]||(t[I]={}),l=f[t.uniqueID]||(f[t.uniqueID]={}),i&&i===t.nodeName.toLowerCase())t=t[r]||t;else{if((c=l[o])&&c[0]===_&&c[1]===a)return d[2]=c[2];if(l[o]=d,d[2]=e(t,n,u))return!0}return!1}}function p(e){return e.length>1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function h(e,n,r){for(var i=0,o=n.length;i<o;i++)t(e,n[i],r);return r}function g(e,t,n,r,i){for(var o,s=[],a=0,u=e.length,c=null!=t;a<u;a++)(o=e[a])&&(n&&!n(o,r,i)||(s.push(o),c&&t.push(a)));return s}function v(e,t,n,i,o,s){return i&&!i[I]&&(i=v(i)),o&&!o[I]&&(o=v(o,s)),r(function(r,s,a,u){var c,l,f,d=[],p=[],v=s.length,m=r||h(t||"*",a.nodeType?[a]:a,[]),y=!e||!r&&t?m:g(m,d,e,a,u),x=n?o||(r?e:v||i)?[]:s:y;if(n&&n(y,x,a,u),i)for(c=g(x,p),i(c,[],a,u),l=c.length;l--;)(f=c[l])&&(x[p[l]]=!(y[p[l]]=f));if(r){if(o||e){if(o){for(c=[],l=x.length;l--;)(f=x[l])&&c.push(y[l]=f);o(null,x=[],c,u)}for(l=x.length;l--;)(f=x[l])&&(c=o?K(r,f):d[l])>-1&&(r[c]=!(s[c]=f))}}else x=g(x===s?x.splice(v,x.length):x),o?o(null,s,x,u):J.apply(s,x)})}function m(e){for(var t,n,r,i=e.length,o=w.relative[e[0].type],s=o||w.relative[" "],a=o?1:0,u=d(function(e){return e===t},s,!0),c=d(function(e){return K(t,e)>-1},s,!0),l=[function(e,n,r){var i=!o&&(r||n!==N)||((t=n).nodeType?u(e,n,r):c(e,n,r));return t=null,i}];a<i;a++)if(n=w.relative[e[a].type])l=[d(p(l),n)];else{if(n=w.filter[e[a].type].apply(null,e[a].matches),n[I]){for(r=++a;r<i&&!w.relative[e[r].type];r++);return v(a>1&&p(l),a>1&&f(e.slice(0,a-1).concat({value:" "===e[a-2].type?"*":""})).replace(oe,"$1"),n,a<r&&m(e.slice(a,r)),r<i&&m(e=e.slice(r)),r<i&&f(e))}l.push(n)}return p(l)}function y(e,n){var i=n.length>0,o=e.length>0,s=function(r,s,a,u,c){var l,f,d,p=0,h="0",v=r&&[],m=[],y=N,x=r||o&&w.find.TAG("*",c),b=_+=null==y?1:Math.random()||.1,T=x.length;for(c&&(N=s===D||s||c);h!==T&&null!=(l=x[h]);h++){if(o&&l){for(f=0,s||l.ownerDocument===D||(L(l),a=!q);d=e[f++];)if(d(l,s||D,a)){u.push(l);break}c&&(_=b)}i&&((l=!d&&l)&&p--,r&&v.push(l))}if(p+=h,i&&h!==p){for(f=0;d=n[f++];)d(v,m,s,a);if(r){if(p>0)for(;h--;)v[h]||m[h]||(m[h]=Q.call(u));m=g(m)}J.apply(u,m),c&&!r&&m.length>0&&p+n.length>1&&t.uniqueSort(u)}return c&&(_=b,N=y),v};return i?r(s):s}var x,b,w,T,S,E,C,k,N,j,A,L,D,O,q,F,$,P,H,I="sizzle"+1*new Date,R=e.document,_=0,M=0,W=n(),B=n(),z=n(),V=function(e,t){return e===t&&(A=!0),0},X={}.hasOwnProperty,U=[],Q=U.pop,Y=U.push,J=U.push,G=U.slice,K=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},Z="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",ee="[\\x20\\t\\r\\n\\f]",te="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",ne="\\["+ee+"*("+te+")(?:"+ee+"*([*^$|!~]?=)"+ee+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+te+"))|)"+ee+"*\\]",re=":("+te+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+ne+")*)|.*)\\)|)",ie=new RegExp(ee+"+","g"),oe=new RegExp("^"+ee+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ee+"+$","g"),se=new RegExp("^"+ee+"*,"+ee+"*"),ae=new RegExp("^"+ee+"*([>+~]|"+ee+")"+ee+"*"),ue=new RegExp("="+ee+"*([^\\]'\"]*?)"+ee+"*\\]","g"),ce=new RegExp(re),le=new RegExp("^"+te+"$"),fe={ID:new RegExp("^#("+te+")"),CLASS:new RegExp("^\\.("+te+")"),TAG:new RegExp("^("+te+"|[*])"),ATTR:new RegExp("^"+ne),PSEUDO:new RegExp("^"+re),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ee+"*(even|odd|(([+-]|)(\\d*)n|)"+ee+"*(?:([+-]|)"+ee+"*(\\d+)|))"+ee+"*\\)|)","i"),bool:new RegExp("^(?:"+Z+")$","i"),needsContext:new RegExp("^"+ee+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ee+"*((?:-\\d)?\\d*)"+ee+"*\\)|)(?=[^-]|$)","i")},de=/^(?:input|select|textarea|button)$/i,pe=/^h\d$/i,he=/^[^{]+\{\s*\[native \w/,ge=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ve=/[+~]/,me=new RegExp("\\\\([\\da-f]{1,6}"+ee+"?|("+ee+")|.)","ig"),ye=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},xe=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,be=function(e,t){return t?"\0"===e?"๏ฟฝ":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},we=function(){L()},Te=d(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{J.apply(U=G.call(R.childNodes),R.childNodes),U[R.childNodes.length].nodeType}catch(e){J={apply:U.length?function(e,t){Y.apply(e,G.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}b=t.support={},S=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},L=t.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:R;return r!==D&&9===r.nodeType&&r.documentElement?(D=r,O=D.documentElement,q=!S(D),R!==D&&(n=D.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",we,!1):n.attachEvent&&n.attachEvent("onunload",we)),b.attributes=i(function(e){return e.className="i",!e.getAttribute("className")}),b.getElementsByTagName=i(function(e){return e.appendChild(D.createComment("")),!e.getElementsByTagName("*").length}),b.getElementsByClassName=he.test(D.getElementsByClassName),b.getById=i(function(e){return O.appendChild(e).id=I,!D.getElementsByName||!D.getElementsByName(I).length}),b.getById?(w.filter.ID=function(e){var t=e.replace(me,ye);return function(e){return e.getAttribute("id")===t}},w.find.ID=function(e,t){if(void 0!==t.getElementById&&q){var n=t.getElementById(e);return n?[n]:[]}}):(w.filter.ID=function(e){var t=e.replace(me,ye);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},w.find.ID=function(e,t){if(void 0!==t.getElementById&&q){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),w.find.TAG=b.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):b.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},w.find.CLASS=b.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&q)return t.getElementsByClassName(e)},$=[],F=[],(b.qsa=he.test(D.querySelectorAll))&&(i(function(e){O.appendChild(e).innerHTML="<a id='"+I+"'></a><select id='"+I+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&F.push("[*^$]="+ee+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||F.push("\\["+ee+"*(?:value|"+Z+")"),e.querySelectorAll("[id~="+I+"-]").length||F.push("~="),e.querySelectorAll(":checked").length||F.push(":checked"),e.querySelectorAll("a#"+I+"+*").length||F.push(".#.+[+~]")}),i(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=D.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&F.push("name"+ee+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&F.push(":enabled",":disabled"),O.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&F.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),F.push(",.*:")})),(b.matchesSelector=he.test(P=O.matches||O.webkitMatchesSelector||O.mozMatchesSelector||O.oMatchesSelector||O.msMatchesSelector))&&i(function(e){b.disconnectedMatch=P.call(e,"*"),P.call(e,"[s!='']:x"),$.push("!=",re)}),F=F.length&&new RegExp(F.join("|")),$=$.length&&new RegExp($.join("|")),t=he.test(O.compareDocumentPosition),H=t||he.test(O.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},V=t?function(e,t){if(e===t)return A=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!b.sortDetached&&t.compareDocumentPosition(e)===n?e===D||e.ownerDocument===R&&H(R,e)?-1:t===D||t.ownerDocument===R&&H(R,t)?1:j?K(j,e)-K(j,t):0:4&n?-1:1)}:function(e,t){if(e===t)return A=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],u=[t];if(!i||!o)return e===D?-1:t===D?1:i?-1:o?1:j?K(j,e)-K(j,t):0;if(i===o)return s(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)u.unshift(n);for(;a[r]===u[r];)r++;return r?s(a[r],u[r]):a[r]===R?-1:u[r]===R?1:0},D):D},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==D&&L(e),n=n.replace(ue,"='$1']"),b.matchesSelector&&q&&!z[n+" "]&&(!$||!$.test(n))&&(!F||!F.test(n)))try{var r=P.call(e,n);if(r||b.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return t(n,D,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==D&&L(e),H(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==D&&L(e);var n=w.attrHandle[t.toLowerCase()],r=n&&X.call(w.attrHandle,t.toLowerCase())?n(e,t,!q):void 0;return void 0!==r?r:b.attributes||!q?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},t.escape=function(e){return(e+"").replace(xe,be)},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],r=0,i=0;if(A=!b.detectDuplicates,j=!b.sortStable&&e.slice(0),e.sort(V),A){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return j=null,e},T=t.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=T(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=T(t);return n},w=t.selectors={cacheLength:50,createPseudo:r,match:fe,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(me,ye),e[3]=(e[3]||e[4]||e[5]||"").replace(me,ye),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return fe.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&ce.test(n)&&(t=E(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(me,ye).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=W[e+" "];return t||(t=new RegExp("(^|"+ee+")"+e+"("+ee+"|$)"))&&W(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,r){return function(i){var o=t.attr(i,e);return null==o?"!="===n:!n||(o+="","="===n?o===r:"!="===n?o!==r:"^="===n?r&&0===o.indexOf(r):"*="===n?r&&o.indexOf(r)>-1:"$="===n?r&&o.slice(-r.length)===r:"~="===n?(" "+o.replace(ie," ")+" ").indexOf(r)>-1:"|="===n&&(o===r||o.slice(0,r.length+1)===r+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),s="last"!==e.slice(-4),a="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var c,l,f,d,p,h,g=o!==s?"nextSibling":"previousSibling",v=t.parentNode,m=a&&t.nodeName.toLowerCase(),y=!u&&!a,x=!1;if(v){if(o){for(;g;){for(d=t;d=d[g];)if(a?d.nodeName.toLowerCase()===m:1===d.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[s?v.firstChild:v.lastChild],s&&y){for(d=v,f=d[I]||(d[I]={}),l=f[d.uniqueID]||(f[d.uniqueID]={}),c=l[e]||[],p=c[0]===_&&c[1],x=p&&c[2],d=p&&v.childNodes[p];d=++p&&d&&d[g]||(x=p=0)||h.pop();)if(1===d.nodeType&&++x&&d===t){l[e]=[_,p,x];break}}else if(y&&(d=t,f=d[I]||(d[I]={}),l=f[d.uniqueID]||(f[d.uniqueID]={}),c=l[e]||[],p=c[0]===_&&c[1],x=p),!1===x)for(;(d=++p&&d&&d[g]||(x=p=0)||h.pop())&&((a?d.nodeName.toLowerCase()!==m:1!==d.nodeType)||!++x||(y&&(f=d[I]||(d[I]={}),l=f[d.uniqueID]||(f[d.uniqueID]={}),l[e]=[_,x]),d!==t)););return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,n){var i,o=w.pseudos[e]||w.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return o[I]?o(n):o.length>1?(i=[e,e,"",n],w.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,t){for(var r,i=o(e,n),s=i.length;s--;)r=K(e,i[s]),e[r]=!(t[r]=i[s])}):function(e){return o(e,0,i)}):o}},pseudos:{not:r(function(e){var t=[],n=[],i=C(e.replace(oe,"$1"));return i[I]?r(function(e,t,n,r){for(var o,s=i(e,null,r,[]),a=e.length;a--;)(o=s[a])&&(e[a]=!(t[a]=o))}):function(e,r,o){return t[0]=e,i(t,null,o,n),t[0]=null,!n.pop()}}),has:r(function(e){return function(n){return t(e,n).length>0}}),contains:r(function(e){return e=e.replace(me,ye),function(t){return(t.textContent||t.innerText||T(t)).indexOf(e)>-1}}),lang:r(function(e){return le.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(me,ye).toLowerCase(),function(t){var n;do{if(n=q?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===O},focus:function(e){return e===D.activeElement&&(!D.hasFocus||D.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:a(!1),disabled:a(!0),checked:function(e){var t=e.nodeName.toLowerCase()
+;return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!w.pseudos.empty(e)},header:function(e){return pe.test(e.nodeName)},input:function(e){return de.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:u(function(){return[0]}),last:u(function(e,t){return[t-1]}),eq:u(function(e,t,n){return[n<0?n+t:n]}),even:u(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:u(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:u(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:u(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}},w.pseudos.nth=w.pseudos.eq;for(x in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})w.pseudos[x]=function(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}(x);for(x in{submit:!0,reset:!0})w.pseudos[x]=function(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}(x);return l.prototype=w.filters=w.pseudos,w.setFilters=new l,E=t.tokenize=function(e,n){var r,i,o,s,a,u,c,l=B[e+" "];if(l)return n?0:l.slice(0);for(a=e,u=[],c=w.preFilter;a;){r&&!(i=se.exec(a))||(i&&(a=a.slice(i[0].length)||a),u.push(o=[])),r=!1,(i=ae.exec(a))&&(r=i.shift(),o.push({value:r,type:i[0].replace(oe," ")}),a=a.slice(r.length));for(s in w.filter)!(i=fe[s].exec(a))||c[s]&&!(i=c[s](i))||(r=i.shift(),o.push({value:r,type:s,matches:i}),a=a.slice(r.length));if(!r)break}return n?a.length:a?t.error(e):B(e,u).slice(0)},C=t.compile=function(e,t){var n,r=[],i=[],o=z[e+" "];if(!o){for(t||(t=E(e)),n=t.length;n--;)o=m(t[n]),o[I]?r.push(o):i.push(o);o=z(e,y(i,r)),o.selector=e}return o},k=t.select=function(e,t,n,r){var i,o,s,a,u,l="function"==typeof e&&e,d=!r&&E(e=l.selector||e);if(n=n||[],1===d.length){if(o=d[0]=d[0].slice(0),o.length>2&&"ID"===(s=o[0]).type&&9===t.nodeType&&q&&w.relative[o[1].type]){if(!(t=(w.find.ID(s.matches[0].replace(me,ye),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=fe.needsContext.test(e)?0:o.length;i--&&(s=o[i],!w.relative[a=s.type]);)if((u=w.find[a])&&(r=u(s.matches[0].replace(me,ye),ve.test(o[0].type)&&c(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&f(o)))return J.apply(n,r),n;break}}return(l||C(e,d))(r,t,!q,n,!t||ve.test(e)&&c(t.parentNode)||t),n},b.sortStable=I.split("").sort(V).join("")===I,b.detectDuplicates=!!A,L(),b.sortDetached=i(function(e){return 1&e.compareDocumentPosition(D.createElement("fieldset"))}),i(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||o("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),b.attributes&&i(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||o("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),i(function(e){return null==e.getAttribute("disabled")})||o(Z,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),t}(e);he.find=xe,he.expr=xe.selectors,he.expr[":"]=he.expr.pseudos,he.uniqueSort=he.unique=xe.uniqueSort,he.text=xe.getText,he.isXMLDoc=xe.isXML,he.contains=xe.contains,he.escapeSelector=xe.escape;var be=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&he(e).is(n))break;r.push(e)}return r},we=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},Te=he.expr.match.needsContext,Se=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,Ee=/^.[^:#\[\.,]*$/;he.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?he.find.matchesSelector(r,e)?[r]:[]:he.find.matches(e,he.grep(t,function(e){return 1===e.nodeType}))},he.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(he(e).filter(function(){for(t=0;t<r;t++)if(he.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)he.find(e,i[t],n);return r>1?he.uniqueSort(n):n},filter:function(e){return this.pushStack(o(this,e||[],!1))},not:function(e){return this.pushStack(o(this,e||[],!0))},is:function(e){return!!o(this,"string"==typeof e&&Te.test(e)?he(e):e||[],!1).length}});var Ce,ke=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(he.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||Ce,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:ke.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof he?t[0]:t,he.merge(this,he.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:ne,!0)),Se.test(r[1])&&he.isPlainObject(t))for(r in t)he.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return i=ne.getElementById(r[2]),i&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):he.isFunction(e)?void 0!==n.ready?n.ready(e):e(he):he.makeArray(e,this)}).prototype=he.fn,Ce=he(ne);var Ne=/^(?:parents|prev(?:Until|All))/,je={children:!0,contents:!0,next:!0,prev:!0};he.fn.extend({has:function(e){var t=he(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(he.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],s="string"!=typeof e&&he(e);if(!Te.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(s?s.index(n)>-1:1===n.nodeType&&he.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?he.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?ae.call(he(e),this[0]):ae.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(he.uniqueSort(he.merge(this.get(),he(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),he.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return be(e,"parentNode")},parentsUntil:function(e,t,n){return be(e,"parentNode",n)},next:function(e){return s(e,"nextSibling")},prev:function(e){return s(e,"previousSibling")},nextAll:function(e){return be(e,"nextSibling")},prevAll:function(e){return be(e,"previousSibling")},nextUntil:function(e,t,n){return be(e,"nextSibling",n)},prevUntil:function(e,t,n){return be(e,"previousSibling",n)},siblings:function(e){return we((e.parentNode||{}).firstChild,e)},children:function(e){return we(e.firstChild)},contents:function(e){return i(e,"iframe")?e.contentDocument:(i(e,"template")&&(e=e.content||e),he.merge([],e.childNodes))}},function(e,t){he.fn[e]=function(n,r){var i=he.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=he.filter(r,i)),this.length>1&&(je[e]||he.uniqueSort(i),Ne.test(e)&&i.reverse()),this.pushStack(i)}});var Ae=/[^\x20\t\r\n\f]+/g;he.Callbacks=function(e){e="string"==typeof e?a(e):he.extend({},e);var t,n,r,i,o=[],s=[],u=-1,c=function(){for(i=i||e.once,r=t=!0;s.length;u=-1)for(n=s.shift();++u<o.length;)!1===o[u].apply(n[0],n[1])&&e.stopOnFalse&&(u=o.length,n=!1);e.memory||(n=!1),t=!1,i&&(o=n?[]:"")},l={add:function(){return o&&(n&&!t&&(u=o.length-1,s.push(n)),function t(n){he.each(n,function(n,r){he.isFunction(r)?e.unique&&l.has(r)||o.push(r):r&&r.length&&"string"!==he.type(r)&&t(r)})}(arguments),n&&!t&&c()),this},remove:function(){return he.each(arguments,function(e,t){for(var n;(n=he.inArray(t,o,n))>-1;)o.splice(n,1),n<=u&&u--}),this},has:function(e){return e?he.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=s=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=s=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=n||[],n=[e,n.slice?n.slice():n],s.push(n),t||c()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l},he.extend({Deferred:function(t){var n=[["notify","progress",he.Callbacks("memory"),he.Callbacks("memory"),2],["resolve","done",he.Callbacks("once memory"),he.Callbacks("once memory"),0,"resolved"],["reject","fail",he.Callbacks("once memory"),he.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},catch:function(e){return i.then(null,e)},pipe:function(){var e=arguments;return he.Deferred(function(t){he.each(n,function(n,r){var i=he.isFunction(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&he.isFunction(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){function o(t,n,r,i){return function(){var a=this,l=arguments,f=function(){var e,f;if(!(t<s)){if((e=r.apply(a,l))===n.promise())throw new TypeError("Thenable self-resolution");f=e&&("object"==typeof e||"function"==typeof e)&&e.then,he.isFunction(f)?i?f.call(e,o(s,n,u,i),o(s,n,c,i)):(s++,f.call(e,o(s,n,u,i),o(s,n,c,i),o(s,n,u,n.notifyWith))):(r!==u&&(a=void 0,l=[e]),(i||n.resolveWith)(a,l))}},d=i?f:function(){try{f()}catch(e){he.Deferred.exceptionHook&&he.Deferred.exceptionHook(e,d.stackTrace),t+1>=s&&(r!==c&&(a=void 0,l=[e]),n.rejectWith(a,l))}};t?d():(he.Deferred.getStackHook&&(d.stackTrace=he.Deferred.getStackHook()),e.setTimeout(d))}}var s=0;return he.Deferred(function(e){n[0][3].add(o(0,e,he.isFunction(i)?i:u,e.notifyWith)),n[1][3].add(o(0,e,he.isFunction(t)?t:u)),n[2][3].add(o(0,e,he.isFunction(r)?r:c))}).promise()},promise:function(e){return null!=e?he.extend(e,i):i}},o={};return he.each(n,function(e,t){var s=t[2],a=t[5];i[t[1]]=s.add,a&&s.add(function(){r=a},n[3-e][2].disable,n[0][2].lock),s.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=s.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=ie.call(arguments),o=he.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?ie.call(arguments):n,--t||o.resolveWith(r,i)}};if(t<=1&&(l(e,o.done(s(n)).resolve,o.reject,!t),"pending"===o.state()||he.isFunction(i[n]&&i[n].then)))return o.then();for(;n--;)l(i[n],s(n),o.reject);return o.promise()}});var Le=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;he.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&Le.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},he.readyException=function(t){e.setTimeout(function(){throw t})};var De=he.Deferred();he.fn.ready=function(e){return De.then(e).catch(function(e){he.readyException(e)}),this},he.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--he.readyWait:he.isReady)||(he.isReady=!0,!0!==e&&--he.readyWait>0||De.resolveWith(ne,[he]))}}),he.ready.then=De.then,"complete"===ne.readyState||"loading"!==ne.readyState&&!ne.documentElement.doScroll?e.setTimeout(he.ready):(ne.addEventListener("DOMContentLoaded",f),e.addEventListener("load",f));var Oe=function(e,t,n,r,i,o,s){var a=0,u=e.length,c=null==n;if("object"===he.type(n)){i=!0;for(a in n)Oe(e,t,a,n[a],!0,o,s)}else if(void 0!==r&&(i=!0,he.isFunction(r)||(s=!0),c&&(s?(t.call(e,r),t=null):(c=t,t=function(e,t,n){return c.call(he(e),n)})),t))for(;a<u;a++)t(e[a],n,s?r:r.call(e[a],a,t(e[a],n)));return i?e:c?t.call(e):u?t(e[0],n):o},qe=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};d.uid=1,d.prototype={cache:function(e){var t=e[this.expando];return t||(t={},qe(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[he.camelCase(t)]=n;else for(r in t)i[he.camelCase(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][he.camelCase(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){Array.isArray(t)?t=t.map(he.camelCase):(t=he.camelCase(t),t=t in r?[t]:t.match(Ae)||[]),n=t.length;for(;n--;)delete r[t[n]]}(void 0===t||he.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!he.isEmptyObject(t)}};var Fe=new d,$e=new d,Pe=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,He=/[A-Z]/g;he.extend({hasData:function(e){return $e.hasData(e)||Fe.hasData(e)},data:function(e,t,n){return $e.access(e,t,n)},removeData:function(e,t){$e.remove(e,t)},_data:function(e,t,n){return Fe.access(e,t,n)},_removeData:function(e,t){Fe.remove(e,t)}}),he.fn.extend({data:function(e,t){var n,r,i,o=this[0],s=o&&o.attributes;if(void 0===e){if(this.length&&(i=$e.get(o),1===o.nodeType&&!Fe.get(o,"hasDataAttrs"))){for(n=s.length;n--;)s[n]&&(r=s[n].name,0===r.indexOf("data-")&&(r=he.camelCase(r.slice(5)),h(o,r,i[r])));Fe.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof e?this.each(function(){$e.set(this,e)}):Oe(this,function(t){var n;if(o&&void 0===t){if(void 0!==(n=$e.get(o,e)))return n;if(void 0!==(n=h(o,e)))return n}else this.each(function(){$e.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){$e.remove(this,e)})}}),he.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Fe.get(e,t),n&&(!r||Array.isArray(n)?r=Fe.access(e,t,he.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=he.queue(e,t),r=n.length,i=n.shift(),o=he._queueHooks(e,t),s=function(){he.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,s,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Fe.get(e,n)||Fe.access(e,n,{empty:he.Callbacks("once memory").add(function(){Fe.remove(e,[t+"queue",n])})})}}),he.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?he.queue(this[0],e):void 0===t?this:this.each(function(){var n=he.queue(this,e,t);he._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&he.dequeue(this,e)})},dequeue:function(e){return this.each(function(){he.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=he.Deferred(),o=this,s=this.length,a=function(){--r||i.resolveWith(o,[o])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";s--;)(n=Fe.get(o[s],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(a));return a(),i.promise(t)}});var Ie=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,Re=new RegExp("^(?:([+-])=|)("+Ie+")([a-z%]*)$","i"),_e=["Top","Right","Bottom","Left"],Me=function(e,t){return e=t||e,"none"===e.style.display||""===e.style.display&&he.contains(e.ownerDocument,e)&&"none"===he.css(e,"display")},We=function(e,t,n,r){var i,o,s={};for(o in t)s[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=s[o];return i},Be={};he.fn.extend({show:function(){return m(this,!0)},hide:function(){return m(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){Me(this)?he(this).show():he(this).hide()})}});var ze=/^(?:checkbox|radio)$/i,Ve=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,Xe=/^$|\/(?:java|ecma)script/i,Ue={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};Ue.optgroup=Ue.option,Ue.tbody=Ue.tfoot=Ue.colgroup=Ue.caption=Ue.thead,Ue.th=Ue.td;var Qe=/<|&#?\w+;/;!function(){var e=ne.createDocumentFragment(),t=e.appendChild(ne.createElement("div")),n=ne.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),t.appendChild(n),pe.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="<textarea>x</textarea>",pe.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var Ye=ne.documentElement,Je=/^key/,Ge=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ke=/^([^.]*)(?:\.(.+)|)/;he.event={global:{},add:function(e,t,n,r,i){var o,s,a,u,c,l,f,d,p,h,g,v=Fe.get(e);if(v)for(n.handler&&(o=n,n=o.handler,i=o.selector),i&&he.find.matchesSelector(Ye,i),n.guid||(n.guid=he.guid++),(u=v.events)||(u=v.events={}),(s=v.handle)||(s=v.handle=function(t){return void 0!==he&&he.event.triggered!==t.type?he.event.dispatch.apply(e,arguments):void 0}),t=(t||"").match(Ae)||[""],c=t.length;c--;)a=Ke.exec(t[c])||[],p=g=a[1],h=(a[2]||"").split(".").sort(),p&&(f=he.event.special[p]||{},p=(i?f.delegateType:f.bindType)||p,f=he.event.special[p]||{},l=he.extend({type:p,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&he.expr.match.needsContext.test(i),namespace:h.join(".")},o),(d=u[p])||(d=u[p]=[],d.delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,s)||e.addEventListener&&e.addEventListener(p,s)),f.add&&(f.add.call(e,l),l.handler.guid||(l.handler.guid=n.guid)),i?d.splice(d.delegateCount++,0,l):d.push(l),he.event.global[p]=!0)},remove:function(e,t,n,r,i){var o,s,a,u,c,l,f,d,p,h,g,v=Fe.hasData(e)&&Fe.get(e);if(v&&(u=v.events)){for(t=(t||"").match(Ae)||[""],c=t.length;c--;)if(a=Ke.exec(t[c])||[],p=g=a[1],h=(a[2]||"").split(".").sort(),p){for(f=he.event.special[p]||{},p=(r?f.delegateType:f.bindType)||p,d=u[p]||[],a=a[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=o=d.length;o--;)l=d[o],!i&&g!==l.origType||n&&n.guid!==l.guid||a&&!a.test(l.namespace)||r&&r!==l.selector&&("**"!==r||!l.selector)||(d.splice(o,1),l.selector&&d.delegateCount--,f.remove&&f.remove.call(e,l));s&&!d.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||he.removeEvent(e,p,v.handle),delete u[p])}else for(p in u)he.event.remove(e,p+t[c],n,r,!0);he.isEmptyObject(u)&&Fe.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,s,a=he.event.fix(e),u=new Array(arguments.length),c=(Fe.get(this,"events")||{})[a.type]||[],l=he.event.special[a.type]||{};for(u[0]=a,t=1;t<arguments.length;t++)u[t]=arguments[t];if(a.delegateTarget=this,!l.preDispatch||!1!==l.preDispatch.call(this,a)){for(s=he.event.handlers.call(this,a,c),t=0;(i=s[t++])&&!a.isPropagationStopped();)for(a.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!a.isImmediatePropagationStopped();)a.rnamespace&&!a.rnamespace.test(o.namespace)||(a.handleObj=o,a.data=o.data,void 0!==(r=((he.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u))&&!1===(a.result=r)&&(a.preventDefault(),a.stopPropagation()));return l.postDispatch&&l.postDispatch.call(this,a),a.result}},handlers:function(e,t){var n,r,i,o,s,a=[],u=t.delegateCount,c=e.target;if(u&&c.nodeType&&!("click"===e.type&&e.button>=1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&("click"!==e.type||!0!==c.disabled)){for(o=[],s={},n=0;n<u;n++)r=t[n],i=r.selector+" ",void 0===s[i]&&(s[i]=r.needsContext?he(i,this).index(c)>-1:he.find(i,this,null,[c]).length),s[i]&&o.push(r);o.length&&a.push({elem:c,handlers:o})}return c=this,u<t.length&&a.push({elem:c,handlers:t.slice(u)}),a},addProp:function(e,t){Object.defineProperty(he.Event.prototype,e,{enumerable:!0,configurable:!0,get:he.isFunction(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[he.expando]?e:new he.Event(e)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==S()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===S()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&i(this,"input"))return this.click(),!1},_default:function(e){return i(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},he.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},he.Event=function(e,t){if(!(this instanceof he.Event))return new he.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?w:T,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&he.extend(this,t),this.timeStamp=e&&e.timeStamp||he.now(),this[he.expando]=!0},he.Event.prototype={constructor:he.Event,isDefaultPrevented:T,isPropagationStopped:T,isImmediatePropagationStopped:T,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=w,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=w,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=w,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},he.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Je.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ge.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},he.event.addProp),he.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){he.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return i&&(i===r||he.contains(r,i))||(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),he.fn.extend({on:function(e,t,n,r){return E(this,e,t,n,r)},one:function(e,t,n,r){return E(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,he(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=T),this.each(function(){he.event.remove(this,e,n,t)})}});var Ze=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,et=/<script|<style|<link/i,tt=/checked\s*(?:[^=]|=\s*.checked.)/i,nt=/^true\/(.*)/,rt=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;he.extend({htmlPrefilter:function(e){return e.replace(Ze,"<$1></$2>")},clone:function(e,t,n){var r,i,o,s,a=e.cloneNode(!0),u=he.contains(e.ownerDocument,e);if(!(pe.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||he.isXMLDoc(e)))for(s=y(a),o=y(e),r=0,i=o.length;r<i;r++)A(o[r],s[r]);if(t)if(n)for(o=o||y(e),s=s||y(a),r=0,i=o.length;r<i;r++)j(o[r],s[r]);else j(e,a);return s=y(a,"script"),s.length>0&&x(s,!u&&y(e,"script")),a},cleanData:function(e){for(var t,n,r,i=he.event.special,o=0;void 0!==(n=e[o]);o++)if(qe(n)){if(t=n[Fe.expando]){if(t.events)for(r in t.events)i[r]?he.event.remove(n,r):he.removeEvent(n,r,t.handle);n[Fe.expando]=void 0}n[$e.expando]&&(n[$e.expando]=void 0)}}}),he.fn.extend({detach:function(e){return D(this,e,!0)},remove:function(e){return D(this,e)},text:function(e){return Oe(this,function(e){return void 0===e?he.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return L(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){C(this,e).appendChild(e)}})},prepend:function(){return L(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=C(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return L(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return L(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(he.cleanData(y(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return he.clone(this,e,t)})},html:function(e){return Oe(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!et.test(e)&&!Ue[(Ve.exec(e)||["",""])[1].toLowerCase()]){e=he.htmlPrefilter(e);try{for(;n<r;n++)t=this[n]||{},1===t.nodeType&&(he.cleanData(y(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return L(this,arguments,function(t){var n=this.parentNode;he.inArray(this,e)<0&&(he.cleanData(y(this)),n&&n.replaceChild(t,this))},e)}}),he.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){he.fn[e]=function(e){for(var n,r=[],i=he(e),o=i.length-1,s=0;s<=o;s++)n=s===o?this:this.clone(!0),he(i[s])[t](n),se.apply(r,n.get());return this.pushStack(r)}});var it=/^margin/,ot=new RegExp("^("+Ie+")(?!px)[a-z%]+$","i"),st=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)};!function(){function t(){if(a){a.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",a.innerHTML="",Ye.appendChild(s);var t=e.getComputedStyle(a);n="1%"!==t.top,o="2px"===t.marginLeft,r="4px"===t.width,a.style.marginRight="50%",i="4px"===t.marginRight,Ye.removeChild(s),a=null}}var n,r,i,o,s=ne.createElement("div"),a=ne.createElement("div");a.style&&(a.style.backgroundClip="content-box",a.cloneNode(!0).style.backgroundClip="",pe.clearCloneStyle="content-box"===a.style.backgroundClip,s.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",s.appendChild(a),he.extend(pe,{pixelPosition:function(){return t(),n},boxSizingReliable:function(){return t(),r},pixelMarginRight:function(){return t(),i},reliableMarginLeft:function(){return t(),o}}))}();var at=/^(none|table(?!-c[ea]).+)/,ut=/^--/,ct={position:"absolute",visibility:"hidden",display:"block"},lt={letterSpacing:"0",fontWeight:"400"},ft=["Webkit","Moz","ms"],dt=ne.createElement("div").style;he.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=O(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{float:"cssFloat"},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,s,a=he.camelCase(t),u=ut.test(t),c=e.style;if(u||(t=$(a)),s=he.cssHooks[t]||he.cssHooks[a],void 0===n)return s&&"get"in s&&void 0!==(i=s.get(e,!1,r))?i:c[t];o=typeof n,"string"===o&&(i=Re.exec(n))&&i[1]&&(n=g(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(he.cssNumber[a]?"":"px")),pe.clearCloneStyle||""!==n||0!==t.indexOf("background")||(c[t]="inherit"),s&&"set"in s&&void 0===(n=s.set(e,n,r))||(u?c.setProperty(t,n):c[t]=n))}},css:function(e,t,n,r){var i,o,s,a=he.camelCase(t);return ut.test(t)||(t=$(a)),s=he.cssHooks[t]||he.cssHooks[a],s&&"get"in s&&(i=s.get(e,!0,n)),void 0===i&&(i=O(e,t,r)),"normal"===i&&t in lt&&(i=lt[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),he.each(["height","width"],function(e,t){he.cssHooks[t]={get:function(e,n,r){if(n)return!at.test(he.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?I(e,t,r):We(e,ct,function(){return I(e,t,r)})},set:function(e,n,r){var i,o=r&&st(e),s=r&&H(e,t,r,"border-box"===he.css(e,"boxSizing",!1,o),o);return s&&(i=Re.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=he.css(e,t)),P(e,n,s)}}}),he.cssHooks.marginLeft=q(pe.reliableMarginLeft,function(e,t){if(t)return(parseFloat(O(e,"marginLeft"))||e.getBoundingClientRect().left-We(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),he.each({margin:"",padding:"",border:"Width"},function(e,t){he.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+_e[r]+t]=o[r]||o[r-2]||o[0];return i}},it.test(e)||(he.cssHooks[e+t].set=P)}),he.fn.extend({css:function(e,t){return Oe(this,function(e,t,n){var r,i,o={},s=0;if(Array.isArray(t)){for(r=st(e),i=t.length;s<i;s++)o[t[s]]=he.css(e,t[s],!1,r);return o}return void 0!==n?he.style(e,t,n):he.css(e,t)},e,t,arguments.length>1)}}),he.Tween=R,R.prototype={constructor:R,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||he.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(he.cssNumber[n]?"":"px")},cur:function(){var e=R.propHooks[this.prop];return e&&e.get?e.get(this):R.propHooks._default.get(this)},run:function(e){var t,n=R.propHooks[this.prop];return this.options.duration?this.pos=t=he.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):R.propHooks._default.set(this),this}},R.prototype.init.prototype=R.prototype,R.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=he.css(e.elem,e.prop,""),t&&"auto"!==t?t:0)},set:function(e){he.fx.step[e.prop]?he.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[he.cssProps[e.prop]]&&!he.cssHooks[e.prop]?e.elem[e.prop]=e.now:he.style(e.elem,e.prop,e.now+e.unit)}}},R.propHooks.scrollTop=R.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},he.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},he.fx=R.prototype.init,he.fx.step={};var pt,ht,gt=/^(?:toggle|show|hide)$/,vt=/queueHooks$/;he.Animation=he.extend(X,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return g(n.elem,e,Re.exec(t),n),n}]},tweener:function(e,t){he.isFunction(e)?(t=e,e=["*"]):e=e.match(Ae);for(var n,r=0,i=e.length;r<i;r++)n=e[r],X.tweeners[n]=X.tweeners[n]||[],X.tweeners[n].unshift(t)},prefilters:[z],prefilter:function(e,t){t?X.prefilters.unshift(e):X.prefilters.push(e)}}),he.speed=function(e,t,n){var r=e&&"object"==typeof e?he.extend({},e):{complete:n||!n&&t||he.isFunction(e)&&e,duration:e,easing:n&&t||t&&!he.isFunction(t)&&t};return he.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in he.fx.speeds?r.duration=he.fx.speeds[r.duration]:r.duration=he.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){he.isFunction(r.old)&&r.old.call(this),r.queue&&he.dequeue(this,r.queue)},r},he.fn.extend({fadeTo:function(e,t,n,r){return this.filter(Me).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=he.isEmptyObject(e),o=he.speed(t,n,r),s=function(){var t=X(this,he.extend({},e),o);(i||Fe.get(this,"finish"))&&t.stop(!0)};return s.finish=s,i||!1===o.queue?this.each(s):this.queue(o.queue,s)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&!1!==e&&this.queue(e||"fx",[]),this.each(function(){var t=!0,i=null!=e&&e+"queueHooks",o=he.timers,s=Fe.get(this);if(i)s[i]&&s[i].stop&&r(s[i]);else for(i in s)s[i]&&s[i].stop&&vt.test(i)&&r(s[i])
+;for(i=o.length;i--;)o[i].elem!==this||null!=e&&o[i].queue!==e||(o[i].anim.stop(n),t=!1,o.splice(i,1));!t&&n||he.dequeue(this,e)})},finish:function(e){return!1!==e&&(e=e||"fx"),this.each(function(){var t,n=Fe.get(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=he.timers,s=r?r.length:0;for(n.finish=!0,he.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;t<s;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),he.each(["toggle","show","hide"],function(e,t){var n=he.fn[t];he.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(W(t,!0),e,r,i)}}),he.each({slideDown:W("show"),slideUp:W("hide"),slideToggle:W("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){he.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),he.timers=[],he.fx.tick=function(){var e,t=0,n=he.timers;for(pt=he.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||he.fx.stop(),pt=void 0},he.fx.timer=function(e){he.timers.push(e),he.fx.start()},he.fx.interval=13,he.fx.start=function(){ht||(ht=!0,_())},he.fx.stop=function(){ht=null},he.fx.speeds={slow:600,fast:200,_default:400},he.fn.delay=function(t,n){return t=he.fx?he.fx.speeds[t]||t:t,n=n||"fx",this.queue(n,function(n,r){var i=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(i)}})},function(){var e=ne.createElement("input"),t=ne.createElement("select"),n=t.appendChild(ne.createElement("option"));e.type="checkbox",pe.checkOn=""!==e.value,pe.optSelected=n.selected,e=ne.createElement("input"),e.value="t",e.type="radio",pe.radioValue="t"===e.value}();var mt,yt=he.expr.attrHandle;he.fn.extend({attr:function(e,t){return Oe(this,he.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){he.removeAttr(this,e)})}}),he.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?he.prop(e,t,n):(1===o&&he.isXMLDoc(e)||(i=he.attrHooks[t.toLowerCase()]||(he.expr.match.bool.test(t)?mt:void 0)),void 0!==n?null===n?void he.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:(r=he.find.attr(e,t),null==r?void 0:r))},attrHooks:{type:{set:function(e,t){if(!pe.radioValue&&"radio"===t&&i(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(Ae);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),mt={set:function(e,t,n){return!1===t?he.removeAttr(e,n):e.setAttribute(n,n),n}},he.each(he.expr.match.bool.source.match(/\w+/g),function(e,t){var n=yt[t]||he.find.attr;yt[t]=function(e,t,r){var i,o,s=t.toLowerCase();return r||(o=yt[s],yt[s]=i,i=null!=n(e,t,r)?s:null,yt[s]=o),i}});var xt=/^(?:input|select|textarea|button)$/i,bt=/^(?:a|area)$/i;he.fn.extend({prop:function(e,t){return Oe(this,he.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[he.propFix[e]||e]})}}),he.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&he.isXMLDoc(e)||(t=he.propFix[t]||t,i=he.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=he.find.attr(e,"tabindex");return t?parseInt(t,10):xt.test(e.nodeName)||bt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),pe.optSelected||(he.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),he.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){he.propFix[this.toLowerCase()]=this}),he.fn.extend({addClass:function(e){var t,n,r,i,o,s,a,u=0;if(he.isFunction(e))return this.each(function(t){he(this).addClass(e.call(this,t,Q(this)))});if("string"==typeof e&&e)for(t=e.match(Ae)||[];n=this[u++];)if(i=Q(n),r=1===n.nodeType&&" "+U(i)+" "){for(s=0;o=t[s++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");a=U(r),i!==a&&n.setAttribute("class",a)}return this},removeClass:function(e){var t,n,r,i,o,s,a,u=0;if(he.isFunction(e))return this.each(function(t){he(this).removeClass(e.call(this,t,Q(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof e&&e)for(t=e.match(Ae)||[];n=this[u++];)if(i=Q(n),r=1===n.nodeType&&" "+U(i)+" "){for(s=0;o=t[s++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ");a=U(r),i!==a&&n.setAttribute("class",a)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):he.isFunction(e)?this.each(function(n){he(this).toggleClass(e.call(this,n,Q(this),t),t)}):this.each(function(){var t,r,i,o;if("string"===n)for(r=0,i=he(this),o=e.match(Ae)||[];t=o[r++];)i.hasClass(t)?i.removeClass(t):i.addClass(t);else void 0!==e&&"boolean"!==n||(t=Q(this),t&&Fe.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":Fe.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+U(Q(n))+" ").indexOf(t)>-1)return!0;return!1}});var wt=/\r/g;he.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=he.isFunction(e),this.each(function(n){var i;1===this.nodeType&&(i=r?e.call(this,n,he(this).val()):e,null==i?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=he.map(i,function(e){return null==e?"":e+""})),(t=he.valHooks[this.type]||he.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return(t=he.valHooks[i.type]||he.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:(n=i.value,"string"==typeof n?n.replace(wt,""):null==n?"":n)}}}),he.extend({valHooks:{option:{get:function(e){var t=he.find.attr(e,"value");return null!=t?t:U(he.text(e))}},select:{get:function(e){var t,n,r,o=e.options,s=e.selectedIndex,a="select-one"===e.type,u=a?null:[],c=a?s+1:o.length;for(r=s<0?c:a?s:0;r<c;r++)if(n=o[r],(n.selected||r===s)&&!n.disabled&&(!n.parentNode.disabled||!i(n.parentNode,"optgroup"))){if(t=he(n).val(),a)return t;u.push(t)}return u},set:function(e,t){for(var n,r,i=e.options,o=he.makeArray(t),s=i.length;s--;)r=i[s],(r.selected=he.inArray(he.valHooks.option.get(r),o)>-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),he.each(["radio","checkbox"],function(){he.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=he.inArray(he(e).val(),t)>-1}},pe.checkOn||(he.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Tt=/^(?:focusinfocus|focusoutblur)$/;he.extend(he.event,{trigger:function(t,n,r,i){var o,s,a,u,c,l,f,d=[r||ne],p=le.call(t,"type")?t.type:t,h=le.call(t,"namespace")?t.namespace.split("."):[];if(s=a=r=r||ne,3!==r.nodeType&&8!==r.nodeType&&!Tt.test(p+he.event.triggered)&&(p.indexOf(".")>-1&&(h=p.split("."),p=h.shift(),h.sort()),c=p.indexOf(":")<0&&"on"+p,t=t[he.expando]?t:new he.Event(p,"object"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=h.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:he.makeArray(n,[t]),f=he.event.special[p]||{},i||!f.trigger||!1!==f.trigger.apply(r,n))){if(!i&&!f.noBubble&&!he.isWindow(r)){for(u=f.delegateType||p,Tt.test(u+p)||(s=s.parentNode);s;s=s.parentNode)d.push(s),a=s;a===(r.ownerDocument||ne)&&d.push(a.defaultView||a.parentWindow||e)}for(o=0;(s=d[o++])&&!t.isPropagationStopped();)t.type=o>1?u:f.bindType||p,l=(Fe.get(s,"events")||{})[t.type]&&Fe.get(s,"handle"),l&&l.apply(s,n),(l=c&&s[c])&&l.apply&&qe(s)&&(t.result=l.apply(s,n),!1===t.result&&t.preventDefault());return t.type=p,i||t.isDefaultPrevented()||f._default&&!1!==f._default.apply(d.pop(),n)||!qe(r)||c&&he.isFunction(r[p])&&!he.isWindow(r)&&(a=r[c],a&&(r[c]=null),he.event.triggered=p,r[p](),he.event.triggered=void 0,a&&(r[c]=a)),t.result}},simulate:function(e,t,n){var r=he.extend(new he.Event,n,{type:e,isSimulated:!0});he.event.trigger(r,null,t)}}),he.fn.extend({trigger:function(e,t){return this.each(function(){he.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return he.event.trigger(e,t,n,!0)}}),he.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){he.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),he.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),pe.focusin="onfocusin"in e,pe.focusin||he.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){he.event.simulate(t,e.target,he.event.fix(e))};he.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=Fe.access(r,t);i||r.addEventListener(e,n,!0),Fe.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=Fe.access(r,t)-1;i?Fe.access(r,t,i):(r.removeEventListener(e,n,!0),Fe.remove(r,t))}}});var St=e.location,Et=he.now(),Ct=/\?/;he.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||he.error("Invalid XML: "+t),n};var kt=/\[\]$/,Nt=/\r?\n/g,jt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;he.param=function(e,t){var n,r=[],i=function(e,t){var n=he.isFunction(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!he.isPlainObject(e))he.each(e,function(){i(this.name,this.value)});else for(n in e)Y(n,e[n],t,i);return r.join("&")},he.fn.extend({serialize:function(){return he.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=he.prop(this,"elements");return e?he.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!he(this).is(":disabled")&&At.test(this.nodeName)&&!jt.test(e)&&(this.checked||!ze.test(e))}).map(function(e,t){var n=he(this).val();return null==n?null:Array.isArray(n)?he.map(n,function(e){return{name:t.name,value:e.replace(Nt,"\r\n")}}):{name:t.name,value:n.replace(Nt,"\r\n")}}).get()}});var Lt=/%20/g,Dt=/#.*$/,Ot=/([?&])_=[^&]*/,qt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ft=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,$t=/^(?:GET|HEAD)$/,Pt=/^\/\//,Ht={},It={},Rt="*/".concat("*"),_t=ne.createElement("a");_t.href=St.href,he.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:St.href,type:"GET",isLocal:Ft.test(St.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Rt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":he.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?K(K(e,he.ajaxSettings),t):K(he.ajaxSettings,e)},ajaxPrefilter:J(Ht),ajaxTransport:J(It),ajax:function(t,n){function r(t,n,r,a){var c,d,p,b,w,T=n;l||(l=!0,u&&e.clearTimeout(u),i=void 0,s=a||"",S.readyState=t>0?4:0,c=t>=200&&t<300||304===t,r&&(b=Z(h,S,r)),b=ee(h,b,S,c),c?(h.ifModified&&(w=S.getResponseHeader("Last-Modified"),w&&(he.lastModified[o]=w),(w=S.getResponseHeader("etag"))&&(he.etag[o]=w)),204===t||"HEAD"===h.type?T="nocontent":304===t?T="notmodified":(T=b.state,d=b.data,p=b.error,c=!p)):(p=T,!t&&T||(T="error",t<0&&(t=0))),S.status=t,S.statusText=(n||T)+"",c?m.resolveWith(g,[d,T,S]):m.rejectWith(g,[S,T,p]),S.statusCode(x),x=void 0,f&&v.trigger(c?"ajaxSuccess":"ajaxError",[S,h,c?d:p]),y.fireWith(g,[S,T]),f&&(v.trigger("ajaxComplete",[S,h]),--he.active||he.event.trigger("ajaxStop")))}"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,s,a,u,c,l,f,d,p,h=he.ajaxSetup({},n),g=h.context||h,v=h.context&&(g.nodeType||g.jquery)?he(g):he.event,m=he.Deferred(),y=he.Callbacks("once memory"),x=h.statusCode||{},b={},w={},T="canceled",S={readyState:0,getResponseHeader:function(e){var t;if(l){if(!a)for(a={};t=qt.exec(s);)a[t[1].toLowerCase()]=t[2];t=a[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return l?s:null},setRequestHeader:function(e,t){return null==l&&(e=w[e.toLowerCase()]=w[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==l&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(l)S.always(e[S.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||T;return i&&i.abort(t),r(0,t),this}};if(m.promise(S),h.url=((t||h.url||St.href)+"").replace(Pt,St.protocol+"//"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(Ae)||[""],null==h.crossDomain){c=ne.createElement("a");try{c.href=h.url,c.href=c.href,h.crossDomain=_t.protocol+"//"+_t.host!=c.protocol+"//"+c.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=he.param(h.data,h.traditional)),G(Ht,h,n,S),l)return S;f=he.event&&h.global,f&&0==he.active++&&he.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!$t.test(h.type),o=h.url.replace(Dt,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(Lt,"+")):(p=h.url.slice(o.length),h.data&&(o+=(Ct.test(o)?"&":"?")+h.data,delete h.data),!1===h.cache&&(o=o.replace(Ot,"$1"),p=(Ct.test(o)?"&":"?")+"_="+Et+++p),h.url=o+p),h.ifModified&&(he.lastModified[o]&&S.setRequestHeader("If-Modified-Since",he.lastModified[o]),he.etag[o]&&S.setRequestHeader("If-None-Match",he.etag[o])),(h.data&&h.hasContent&&!1!==h.contentType||n.contentType)&&S.setRequestHeader("Content-Type",h.contentType),S.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+Rt+"; q=0.01":""):h.accepts["*"]);for(d in h.headers)S.setRequestHeader(d,h.headers[d]);if(h.beforeSend&&(!1===h.beforeSend.call(g,S,h)||l))return S.abort();if(T="abort",y.add(h.complete),S.done(h.success),S.fail(h.error),i=G(It,h,n,S)){if(S.readyState=1,f&&v.trigger("ajaxSend",[S,h]),l)return S;h.async&&h.timeout>0&&(u=e.setTimeout(function(){S.abort("timeout")},h.timeout));try{l=!1,i.send(b,r)}catch(e){if(l)throw e;r(-1,e)}}else r(-1,"No Transport");return S},getJSON:function(e,t,n){return he.get(e,t,n,"json")},getScript:function(e,t){return he.get(e,void 0,t,"script")}}),he.each(["get","post"],function(e,t){he[t]=function(e,n,r,i){return he.isFunction(n)&&(i=i||r,r=n,n=void 0),he.ajax(he.extend({url:e,type:t,dataType:i,data:n,success:r},he.isPlainObject(e)&&e))}}),he._evalUrl=function(e){return he.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},he.fn.extend({wrapAll:function(e){var t;return this[0]&&(he.isFunction(e)&&(e=e.call(this[0])),t=he(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return he.isFunction(e)?this.each(function(t){he(this).wrapInner(e.call(this,t))}):this.each(function(){var t=he(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=he.isFunction(e);return this.each(function(n){he(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){he(this).replaceWith(this.childNodes)}),this}}),he.expr.pseudos.hidden=function(e){return!he.expr.pseudos.visible(e)},he.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},he.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Mt={0:200,1223:204},Wt=he.ajaxSettings.xhr();pe.cors=!!Wt&&"withCredentials"in Wt,pe.ajax=Wt=!!Wt,he.ajaxTransport(function(t){var n,r;if(pe.cors||Wt&&!t.crossDomain)return{send:function(i,o){var s,a=t.xhr();if(a.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(s in t.xhrFields)a[s]=t.xhrFields[s];t.mimeType&&a.overrideMimeType&&a.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(s in i)a.setRequestHeader(s,i[s]);n=function(e){return function(){n&&(n=r=a.onload=a.onerror=a.onabort=a.onreadystatechange=null,"abort"===e?a.abort():"error"===e?"number"!=typeof a.status?o(0,"error"):o(a.status,a.statusText):o(Mt[a.status]||a.status,a.statusText,"text"!==(a.responseType||"text")||"string"!=typeof a.responseText?{binary:a.response}:{text:a.responseText},a.getAllResponseHeaders()))}},a.onload=n(),r=a.onerror=n("error"),void 0!==a.onabort?a.onabort=r:a.onreadystatechange=function(){4===a.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{a.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),he.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),he.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return he.globalEval(e),e}}}),he.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),he.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(r,i){t=he("<script>").prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&i("error"===e.type?404:200,e.type)}),ne.head.appendChild(t[0])},abort:function(){n&&n()}}}});var Bt=[],zt=/(=)\?(?=&|$)|\?\?/;he.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Bt.pop()||he.expando+"_"+Et++;return this[e]=!0,e}}),he.ajaxPrefilter("json jsonp",function(t,n,r){var i,o,s,a=!1!==t.jsonp&&(zt.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&zt.test(t.data)&&"data");if(a||"jsonp"===t.dataTypes[0])return i=t.jsonpCallback=he.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,a?t[a]=t[a].replace(zt,"$1"+i):!1!==t.jsonp&&(t.url+=(Ct.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return s||he.error(i+" was not called"),s[0]},t.dataTypes[0]="json",o=e[i],e[i]=function(){s=arguments},r.always(function(){void 0===o?he(e).removeProp(i):e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,Bt.push(i)),s&&he.isFunction(o)&&o(s[0]),s=o=void 0}),"script"}),pe.createHTMLDocument=function(){var e=ne.implementation.createHTMLDocument("").body;return e.innerHTML="<form></form><form></form>",2===e.childNodes.length}(),he.parseHTML=function(e,t,n){if("string"!=typeof e)return[];"boolean"==typeof t&&(n=t,t=!1);var r,i,o;return t||(pe.createHTMLDocument?(t=ne.implementation.createHTMLDocument(""),r=t.createElement("base"),r.href=ne.location.href,t.head.appendChild(r)):t=ne),i=Se.exec(e),o=!n&&[],i?[t.createElement(i[1])]:(i=b([e],t,o),o&&o.length&&he(o).remove(),he.merge([],i.childNodes))},he.fn.load=function(e,t,n){var r,i,o,s=this,a=e.indexOf(" ");return a>-1&&(r=U(e.slice(a)),e=e.slice(0,a)),he.isFunction(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),s.length>0&&he.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,s.html(r?he("<div>").append(he.parseHTML(e)).find(r):e)}).always(n&&function(e,t){s.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},he.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){he.fn[t]=function(e){return this.on(t,e)}}),he.expr.pseudos.animated=function(e){return he.grep(he.timers,function(t){return e===t.elem}).length},he.offset={setOffset:function(e,t,n){var r,i,o,s,a,u,c,l=he.css(e,"position"),f=he(e),d={};"static"===l&&(e.style.position="relative"),a=f.offset(),o=he.css(e,"top"),u=he.css(e,"left"),c=("absolute"===l||"fixed"===l)&&(o+u).indexOf("auto")>-1,c?(r=f.position(),s=r.top,i=r.left):(s=parseFloat(o)||0,i=parseFloat(u)||0),he.isFunction(t)&&(t=t.call(e,n,he.extend({},a))),null!=t.top&&(d.top=t.top-a.top+s),null!=t.left&&(d.left=t.left-a.left+i),"using"in t?t.using.call(e,d):f.css(d)}},he.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){he.offset.setOffset(this,e,t)});var t,n,r,i,o=this[0];if(o)return o.getClientRects().length?(r=o.getBoundingClientRect(),t=o.ownerDocument,n=t.documentElement,i=t.defaultView,{top:r.top+i.pageYOffset-n.clientTop,left:r.left+i.pageXOffset-n.clientLeft}):{top:0,left:0}},position:function(){if(this[0]){var e,t,n=this[0],r={top:0,left:0};return"fixed"===he.css(n,"position")?t=n.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),i(e[0],"html")||(r=e.offset()),r={top:r.top+he.css(e[0],"borderTopWidth",!0),left:r.left+he.css(e[0],"borderLeftWidth",!0)}),{top:t.top-r.top-he.css(n,"marginTop",!0),left:t.left-r.left-he.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===he.css(e,"position");)e=e.offsetParent;return e||Ye})}}),he.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;he.fn[e]=function(r){return Oe(this,function(e,r,i){var o;if(he.isWindow(e)?o=e:9===e.nodeType&&(o=e.defaultView),void 0===i)return o?o[t]:e[r];o?o.scrollTo(n?o.pageXOffset:i,n?i:o.pageYOffset):e[r]=i},e,r,arguments.length)}}),he.each(["top","left"],function(e,t){he.cssHooks[t]=q(pe.pixelPosition,function(e,n){if(n)return n=O(e,t),ot.test(n)?he(e).position()[t]+"px":n})}),he.each({Height:"height",Width:"width"},function(e,t){he.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){he.fn[r]=function(i,o){var s=arguments.length&&(n||"boolean"!=typeof i),a=n||(!0===i||!0===o?"margin":"border");return Oe(this,function(t,n,i){var o;return he.isWindow(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(o=t.documentElement,Math.max(t.body["scroll"+e],o["scroll"+e],t.body["offset"+e],o["offset"+e],o["client"+e])):void 0===i?he.css(t,n,a):he.style(t,n,i,a)},t,s?i:void 0,s)}})}),he.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),he.holdReady=function(e){e?he.readyWait++:he.ready(!0)},he.isArray=Array.isArray,he.parseJSON=JSON.parse,he.nodeName=i,"function"==typeof define&&define.amd&&define("jquery",[],function(){return he});var Vt=e.jQuery,Xt=e.$;return he.noConflict=function(t){return e.$===he&&(e.$=Xt),t&&e.jQuery===he&&(e.jQuery=Vt),he},t||(e.jQuery=e.$=he),he}),jQuery.extend({highlight:function(e,t,n,r){if(3===e.nodeType){var i=e.data.match(t);if(i){var o=document.createElement(n||"span");o.className=r||"highlight";var s=e.splitText(i.index);s.splitText(i[0].length);var a=s.cloneNode(!0);return o.appendChild(a),s.parentNode.replaceChild(o,s),1}}else if(1===e.nodeType&&e.childNodes&&!/(script|style)/i.test(e.tagName)&&(e.tagName!==n.toUpperCase()||e.className!==r))for(var u=0;u<e.childNodes.length;u++)u+=jQuery.highlight(e.childNodes[u],t,n,r);return 0}}),jQuery.fn.unhighlight=function(e){var t={className:"highlight",element:"span"};return jQuery.extend(t,e),this.find(t.element+"."+t.className).each(function(){var e=this.parentNode;e.replaceChild(this.firstChild,this),e.normalize()}).end()},jQuery.fn.highlight=function(e,t){var n={className:"highlight",element:"span",caseSensitive:!1,wordsOnly:!1};if(jQuery.extend(n,t),e.constructor===String&&(e=[e]),e=jQuery.grep(e,function(e,t){return""!=e}),e=jQuery.map(e,function(e,t){return e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}),0==e.length)return this;var r=n.caseSensitive?"":"i",i="("+e.join("|")+")";n.wordsOnly&&(i="\\b"+i+"\\b");var o=new RegExp(i,r);return this.each(function(){jQuery.highlight(this,o,n.element,n.className)})},function(){var e=function(t){var n=new e.Index;return n.pipeline.add(e.trimmer,e.stopWordFilter,e.stemmer),t&&t.call(n,n),n};e.version="0.5.7",e.utils={},e.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),e.EventEmitter=function(){this.events={}},e.EventEmitter.prototype.addListener=function(){var e=Array.prototype.slice.call(arguments),t=e.pop(),n=e;if("function"!=typeof t)throw new TypeError("last argument must be a function");n.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)},this)},e.EventEmitter.prototype.removeListener=function(e,t){if(this.hasHandler(e)){var n=this.events[e].indexOf(t);this.events[e].splice(n,1),this.events[e].length||delete this.events[e]}},e.EventEmitter.prototype.emit=function(e){if(this.hasHandler(e)){var t=Array.prototype.slice.call(arguments,1);this.events[e].forEach(function(e){e.apply(void 0,t)})}},e.EventEmitter.prototype.hasHandler=function(e){return e in this.events},e.tokenizer=function(e){if(!arguments.length||null==e||void 0==e)return[];if(Array.isArray(e))return e.map(function(e){return e.toLowerCase()});for(var t=e.toString().replace(/^\s+/,""),n=t.length-1;n>=0;n--)if(/\S/.test(t.charAt(n))){t=t.substring(0,n+1);break}return t.split(/(?:\s+|\-)/).filter(function(e){return!!e}).map(function(e){return e.toLowerCase()})},e.Pipeline=function(){this._stack=[]},e.Pipeline.registeredFunctions={},e.Pipeline.registerFunction=function(t,n){n in this.registeredFunctions&&e.utils.warn("Overwriting existing registered function: "+n),t.label=n,e.Pipeline.registeredFunctions[t.label]=t},e.Pipeline.warnIfFunctionNotRegistered=function(t){t.label&&t.label in this.registeredFunctions||e.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",t)},e.Pipeline.load=function(t){var n=new e.Pipeline;return t.forEach(function(t){var r=e.Pipeline.registeredFunctions[t];if(!r)throw new Error("Cannot load un-registered function: "+t);n.add(r)}),n},e.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach(function(t){e.Pipeline.warnIfFunctionNotRegistered(t),this._stack.push(t)},this)},e.Pipeline.prototype.after=function(t,n){e.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(t)+1;this._stack.splice(r,0,n)},e.Pipeline.prototype.before=function(t,n){e.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(t);this._stack.splice(r,0,n)},e.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);this._stack.splice(t,1)},e.Pipeline.prototype.run=function(e){for(var t=[],n=e.length,r=this._stack.length,i=0;i<n;i++){for(var o=e[i],s=0;s<r&&void 0!==(o=this._stack[s](o,i,e));s++);void 0!==o&&t.push(o)}return t},e.Pipeline.prototype.reset=function(){this._stack=[]},e.Pipeline.prototype.toJSON=function(){return this._stack.map(function(t){return e.Pipeline.warnIfFunctionNotRegistered(t),t.label})},e.Vector=function(){this._magnitude=null,this.list=void 0,this.length=0},e.Vector.Node=function(e,t,n){this.idx=e,this.val=t,this.next=n},e.Vector.prototype.insert=function(t,n){var r=this.list;if(!r)return this.list=new e.Vector.Node(t,n,r),this.length++;for(var i=r,o=r.next;void 0!=o;){if(t<o.idx)return i.next=new e.Vector.Node(t,n,o),this.length++;i=o,o=o.next}return i.next=new e.Vector.Node(t,n,o),this.length++},e.Vector.prototype.magnitude=function(){if(this._magniture)return this._magnitude;for(var e,t=this.list,n=0;t;)e=t.val,n+=e*e,t=t.next;return this._magnitude=Math.sqrt(n)},e.Vector.prototype.dot=function(e){for(var t=this.list,n=e.list,r=0;t&&n;)t.idx<n.idx?t=t.next:t.idx>n.idx?n=n.next:(r+=t.val*n.val,t=t.next,n=n.next);return r},e.Vector.prototype.similarity=function(e){return this.dot(e)/(this.magnitude()*e.magnitude())},e.SortedSet=function(){this.length=0,this.elements=[]},e.SortedSet.load=function(e){var t=new this;return t.elements=e,t.length=e.length,t},e.SortedSet.prototype.add=function(){Array.prototype.slice.call(arguments).forEach(function(e){~this.indexOf(e)||this.elements.splice(this.locationFor(e),0,e)},this),this.length=this.elements.length},e.SortedSet.prototype.toArray=function(){return this.elements.slice()},e.SortedSet.prototype.map=function(e,t){return this.elements.map(e,t)},e.SortedSet.prototype.forEach=function(e,t){return this.elements.forEach(e,t)},e.SortedSet.prototype.indexOf=function(e,t,n){var t=t||0,n=n||this.elements.length,r=n-t,i=t+Math.floor(r/2),o=this.elements[i];return r<=1?o===e?i:-1:o<e?this.indexOf(e,i,n):o>e?this.indexOf(e,t,i):o===e?i:void 0},e.SortedSet.prototype.locationFor=function(e,t,n){var t=t||0,n=n||this.elements.length,r=n-t,i=t+Math.floor(r/2),o=this.elements[i];if(r<=1){if(o>e)return i;if(o<e)return i+1}return o<e?this.locationFor(e,i,n):o>e?this.locationFor(e,t,i):void 0},e.SortedSet.prototype.intersect=function(t){for(var n=new e.SortedSet,r=0,i=0,o=this.length,s=t.length,a=this.elements,u=t.elements;;){if(r>o-1||i>s-1)break;a[r]!==u[i]?a[r]<u[i]?r++:a[r]>u[i]&&i++:(n.add(a[r]),r++,i++)}return n},e.SortedSet.prototype.clone=function(){var t=new e.SortedSet;return t.elements=this.toArray(),t.length=t.elements.length,t},e.SortedSet.prototype.union=function(e){var t,n,r;return this.length>=e.length?(t=this,n=e):(t=e,n=this),r=t.clone(),r.add.apply(r,n.toArray()),r},e.SortedSet.prototype.toJSON=function(){return this.toArray()},e.Index=function(){this._fields=[],this._ref="id",this.pipeline=new e.Pipeline,this.documentStore=new e.Store,this.tokenStore=new e.TokenStore,this.corpusTokens=new e.SortedSet,this.eventEmitter=new e.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},e.Index.prototype.on=function(){var e=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,e)},e.Index.prototype.off=function(e,t){return this.eventEmitter.removeListener(e,t)},e.Index.load=function(t){t.version!==e.version&&e.utils.warn("version mismatch: current "+e.version+" importing "+t.version);var n=new this;return n._fields=t.fields,n._ref=t.ref,n.documentStore=e.Store.load(t.documentStore),n.tokenStore=e.TokenStore.load(t.tokenStore),n.corpusTokens=e.SortedSet.load(t.corpusTokens),n.pipeline=e.Pipeline.load(t.pipeline),n},e.Index.prototype.field=function(e,t){var t=t||{},n={name:e,boost:t.boost||1};return this._fields.push(n),this},e.Index.prototype.ref=function(e){return this._ref=e,this},e.Index.prototype.add=function(t,n){var r={},i=new e.SortedSet,o=t[this._ref],n=void 0===n||n;this._fields.forEach(function(n){var o=this.pipeline.run(e.tokenizer(t[n.name]));r[n.name]=o,e.SortedSet.prototype.add.apply(i,o)},this),this.documentStore.set(o,i),e.SortedSet.prototype.add.apply(this.corpusTokens,i.toArray());for(var s=0;s<i.length;s++){var a=i.elements[s],u=this._fields.reduce(function(e,t){var n=r[t.name].length;return n?e+r[t.name].filter(function(e){return e===a}).length/n*t.boost:e},0);this.tokenStore.add(a,{ref:o,tf:u})}n&&this.eventEmitter.emit("add",t,this)},e.Index.prototype.remove=function(e,t){var n=e[this._ref],t=void 0===t||t;if(this.documentStore.has(n)){var r=this.documentStore.get(n);this.documentStore.remove(n),r.forEach(function(e){this.tokenStore.remove(e,n)},this),t&&this.eventEmitter.emit("remove",e,this)}},e.Index.prototype.update=function(e,t){var t=void 0===t||t;this.remove(e,!1),this.add(e,!1),t&&this.eventEmitter.emit("update",e,this)},e.Index.prototype.idf=function(e){var t="@"+e;if(Object.prototype.hasOwnProperty.call(this._idfCache,t))return this._idfCache[t];var n=this.tokenStore.count(e),r=1;return n>0&&(r=1+Math.log(this.tokenStore.length/n)),this._idfCache[t]=r},e.Index.prototype.search=function(t){
+var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduce(function(e,t){return e+t.boost},0);return n.some(function(e){return this.tokenStore.has(e)},this)?(n.forEach(function(t,n,s){var a=1/s.length*this._fields.length*o,u=this,c=this.tokenStore.expand(t).reduce(function(n,i){var o=u.corpusTokens.indexOf(i),s=u.idf(i),c=1,l=new e.SortedSet;if(i!==t){var f=Math.max(3,i.length-t.length);c=1/Math.log(f)}return o>-1&&r.insert(o,a*s*c),Object.keys(u.tokenStore.get(i)).forEach(function(e){l.add(e)}),n.union(l)},new e.SortedSet);i.push(c)},this),i.reduce(function(e,t){return e.intersect(t)}).map(function(e){return{ref:e,score:r.similarity(this.documentVector(e))}},this).sort(function(e,t){return t.score-e.score})):[]},e.Index.prototype.documentVector=function(t){for(var n=this.documentStore.get(t),r=n.length,i=new e.Vector,o=0;o<r;o++){var s=n.elements[o],a=this.tokenStore.get(s)[t].tf,u=this.idf(s);i.insert(this.corpusTokens.indexOf(s),a*u)}return i},e.Index.prototype.toJSON=function(){return{version:e.version,fields:this._fields,ref:this._ref,documentStore:this.documentStore.toJSON(),tokenStore:this.tokenStore.toJSON(),corpusTokens:this.corpusTokens.toJSON(),pipeline:this.pipeline.toJSON()}},e.Index.prototype.use=function(e){var t=Array.prototype.slice.call(arguments,1);t.unshift(this),e.apply(this,t)},e.Store=function(){this.store={},this.length=0},e.Store.load=function(t){var n=new this;return n.length=t.length,n.store=Object.keys(t.store).reduce(function(n,r){return n[r]=e.SortedSet.load(t.store[r]),n},{}),n},e.Store.prototype.set=function(e,t){this.has(e)||this.length++,this.store[e]=t},e.Store.prototype.get=function(e){return this.store[e]},e.Store.prototype.has=function(e){return e in this.store},e.Store.prototype.remove=function(e){this.has(e)&&(delete this.store[e],this.length--)},e.Store.prototype.toJSON=function(){return{store:this.store,length:this.length}},e.stemmer=function(){var e={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},t={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},n="[aeiouy]",r="[^aeiou][^aeiouy]*",i=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),o=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),s=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*([aeiouy][aeiou]*)?$"),a=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy]"),u=/^(.+?)(ss|i)es$/,c=/^(.+?)([^s])s$/,l=/^(.+?)eed$/,f=/^(.+?)(ed|ing)$/,d=/.$/,p=/(at|bl|iz)$/,h=new RegExp("([^aeiouylsz])\\1$"),g=new RegExp("^"+r+n+"[^aeiouwxy]$"),v=/^(.+?[^aeiou])y$/,m=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,y=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,x=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,b=/^(.+?)(s|t)(ion)$/,w=/^(.+?)e$/,T=/ll$/,S=new RegExp("^"+r+n+"[^aeiouwxy]$");return function(n){var r,E,C,k,N,j,A;if(n.length<3)return n;if(C=n.substr(0,1),"y"==C&&(n=C.toUpperCase()+n.substr(1)),k=u,N=c,k.test(n)?n=n.replace(k,"$1$2"):N.test(n)&&(n=n.replace(N,"$1$2")),k=l,N=f,k.test(n)){var L=k.exec(n);k=i,k.test(L[1])&&(k=d,n=n.replace(k,""))}else if(N.test(n)){var L=N.exec(n);r=L[1],N=a,N.test(r)&&(n=r,N=p,j=h,A=g,N.test(n)?n+="e":j.test(n)?(k=d,n=n.replace(k,"")):A.test(n)&&(n+="e"))}if(k=v,k.test(n)){var L=k.exec(n);r=L[1],n=r+"i"}if(k=m,k.test(n)){var L=k.exec(n);r=L[1],E=L[2],k=i,k.test(r)&&(n=r+e[E])}if(k=y,k.test(n)){var L=k.exec(n);r=L[1],E=L[2],k=i,k.test(r)&&(n=r+t[E])}if(k=x,N=b,k.test(n)){var L=k.exec(n);r=L[1],k=o,k.test(r)&&(n=r)}else if(N.test(n)){var L=N.exec(n);r=L[1]+L[2],N=o,N.test(r)&&(n=r)}if(k=w,k.test(n)){var L=k.exec(n);r=L[1],k=o,N=s,j=S,(k.test(r)||N.test(r)&&!j.test(r))&&(n=r)}return k=T,N=o,k.test(n)&&N.test(n)&&(k=d,n=n.replace(k,"")),"y"==C&&(n=C.toLowerCase()+n.substr(1)),n}}(),e.Pipeline.registerFunction(e.stemmer,"stemmer"),e.stopWordFilter=function(t){if(-1===e.stopWordFilter.stopWords.indexOf(t))return t},e.stopWordFilter.stopWords=new e.SortedSet,e.stopWordFilter.stopWords.length=119,e.stopWordFilter.stopWords.elements=["","a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"],e.Pipeline.registerFunction(e.stopWordFilter,"stopWordFilter"),e.trimmer=function(e){return e.replace(/^\W+/,"").replace(/\W+$/,"")},e.Pipeline.registerFunction(e.trimmer,"trimmer"),e.TokenStore=function(){this.root={docs:{}},this.length=0},e.TokenStore.load=function(e){var t=new this;return t.root=e.root,t.length=e.length,t},e.TokenStore.prototype.add=function(e,t,n){var n=n||this.root,r=e[0],i=e.slice(1);return r in n||(n[r]={docs:{}}),0===i.length?(n[r].docs[t.ref]=t,void(this.length+=1)):this.add(i,t,n[r])},e.TokenStore.prototype.has=function(e){if(!e)return!1;for(var t=this.root,n=0;n<e.length;n++){if(!t[e[n]])return!1;t=t[e[n]]}return!0},e.TokenStore.prototype.getNode=function(e){if(!e)return{};for(var t=this.root,n=0;n<e.length;n++){if(!t[e[n]])return{};t=t[e[n]]}return t},e.TokenStore.prototype.get=function(e,t){return this.getNode(e,t).docs||{}},e.TokenStore.prototype.count=function(e,t){return Object.keys(this.get(e,t)).length},e.TokenStore.prototype.remove=function(e,t){if(e){for(var n=this.root,r=0;r<e.length;r++){if(!(e[r]in n))return;n=n[e[r]]}delete n.docs[t]}},e.TokenStore.prototype.expand=function(e,t){var n=this.getNode(e),r=n.docs||{},t=t||[];return Object.keys(r).length&&t.push(e),Object.keys(n).forEach(function(n){"docs"!==n&&t.concat(this.expand(e+n,t))},this),t},e.TokenStore.prototype.toJSON=function(){return{root:this.root,length:this.length}},function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.lunr=t()}(this,function(){return e})}(),function(){function e(){}function t(e,t){for(var n=e.length;n--;)if(e[n].listener===t)return n;return-1}function n(e){return function(){return this[e].apply(this,arguments)}}var r=e.prototype,i=this,o=i.EventEmitter;r.getListeners=function(e){var t,n,r=this._getEvents();if("object"==typeof e){t={};for(n in r)r.hasOwnProperty(n)&&e.test(n)&&(t[n]=r[n])}else t=r[e]||(r[e]=[]);return t},r.flattenListeners=function(e){var t,n=[];for(t=0;e.length>t;t+=1)n.push(e[t].listener);return n},r.getListenersAsObject=function(e){var t,n=this.getListeners(e);return n instanceof Array&&(t={},t[e]=n),t||n},r.addListener=function(e,n){var r,i=this.getListenersAsObject(e),o="object"==typeof n;for(r in i)i.hasOwnProperty(r)&&-1===t(i[r],n)&&i[r].push(o?n:{listener:n,once:!1});return this},r.on=n("addListener"),r.addOnceListener=function(e,t){return this.addListener(e,{listener:t,once:!0})},r.once=n("addOnceListener"),r.defineEvent=function(e){return this.getListeners(e),this},r.defineEvents=function(e){for(var t=0;e.length>t;t+=1)this.defineEvent(e[t]);return this},r.removeListener=function(e,n){var r,i,o=this.getListenersAsObject(e);for(i in o)o.hasOwnProperty(i)&&-1!==(r=t(o[i],n))&&o[i].splice(r,1);return this},r.off=n("removeListener"),r.addListeners=function(e,t){return this.manipulateListeners(!1,e,t)},r.removeListeners=function(e,t){return this.manipulateListeners(!0,e,t)},r.manipulateListeners=function(e,t,n){var r,i,o=e?this.removeListener:this.addListener,s=e?this.removeListeners:this.addListeners;if("object"!=typeof t||t instanceof RegExp)for(r=n.length;r--;)o.call(this,t,n[r]);else for(r in t)t.hasOwnProperty(r)&&(i=t[r])&&("function"==typeof i?o.call(this,r,i):s.call(this,r,i));return this},r.removeEvent=function(e){var t,n=typeof e,r=this._getEvents();if("string"===n)delete r[e];else if("object"===n)for(t in r)r.hasOwnProperty(t)&&e.test(t)&&delete r[t];else delete this._events;return this},r.removeAllListeners=n("removeEvent"),r.emitEvent=function(e,t){var n,r,i,o=this.getListenersAsObject(e);for(i in o)if(o.hasOwnProperty(i))for(r=o[i].length;r--;)n=o[i][r],!0===n.once&&this.removeListener(e,n.listener),n.listener.apply(this,t||[])===this._getOnceReturnValue()&&this.removeListener(e,n.listener);return this},r.trigger=n("emitEvent"),r.emit=function(e){var t=Array.prototype.slice.call(arguments,1);return this.emitEvent(e,t)},r.setOnceReturnValue=function(e){return this._onceReturnValue=e,this},r._getOnceReturnValue=function(){return!this.hasOwnProperty("_onceReturnValue")||this._onceReturnValue},r._getEvents=function(){return this._events||(this._events={})},e.noConflict=function(){return i.EventEmitter=o,e},"function"==typeof define&&define.amd?define("eventEmitter/EventEmitter",[],function(){return e}):"object"==typeof module&&module.exports?module.exports=e:this.EventEmitter=e}.call(this),function(e){function t(t){var n=e.event;return n.target=n.target||n.srcElement||t,n}var n=document.documentElement,r=function(){};n.addEventListener?r=function(e,t,n){e.addEventListener(t,n,!1)}:n.attachEvent&&(r=function(e,n,r){e[n+r]=r.handleEvent?function(){var n=t(e);r.handleEvent.call(r,n)}:function(){var n=t(e);r.call(e,n)},e.attachEvent("on"+n,e[n+r])});var i=function(){};n.removeEventListener?i=function(e,t,n){e.removeEventListener(t,n,!1)}:n.detachEvent&&(i=function(e,t,n){e.detachEvent("on"+t,e[t+n]);try{delete e[t+n]}catch(r){e[t+n]=void 0}});var o={bind:r,unbind:i};"function"==typeof define&&define.amd?define("eventie/eventie",o):e.eventie=o}(this),function(e,t){"function"==typeof define&&define.amd?define(["eventEmitter/EventEmitter","eventie/eventie"],function(n,r){return t(e,n,r)}):"object"==typeof exports?module.exports=t(e,require("wolfy87-eventemitter"),require("eventie")):e.imagesLoaded=t(e,e.EventEmitter,e.eventie)}(window,function(e,t,n){function r(e,t){for(var n in t)e[n]=t[n];return e}function i(e){return"[object Array]"===d.call(e)}function o(e){var t=[];if(i(e))t=e;else if("number"==typeof e.length)for(var n=0,r=e.length;r>n;n++)t.push(e[n]);else t.push(e);return t}function s(e,t,n){if(!(this instanceof s))return new s(e,t);"string"==typeof e&&(e=document.querySelectorAll(e)),this.elements=o(e),this.options=r({},this.options),"function"==typeof t?n=t:r(this.options,t),n&&this.on("always",n),this.getImages(),c&&(this.jqDeferred=new c.Deferred);var i=this;setTimeout(function(){i.check()})}function a(e){this.img=e}function u(e){this.src=e,p[e]=this}var c=e.jQuery,l=e.console,f=void 0!==l,d=Object.prototype.toString;s.prototype=new t,s.prototype.options={},s.prototype.getImages=function(){this.images=[];for(var e=0,t=this.elements.length;t>e;e++){var n=this.elements[e];"IMG"===n.nodeName&&this.addImage(n);var r=n.nodeType;if(r&&(1===r||9===r||11===r))for(var i=n.querySelectorAll("img"),o=0,s=i.length;s>o;o++){var a=i[o];this.addImage(a)}}},s.prototype.addImage=function(e){var t=new a(e);this.images.push(t)},s.prototype.check=function(){function e(e,i){return t.options.debug&&f&&l.log("confirm",e,i),t.progress(e),n++,n===r&&t.complete(),!0}var t=this,n=0,r=this.images.length;if(this.hasAnyBroken=!1,!r)return void this.complete();for(var i=0;r>i;i++){var o=this.images[i];o.on("confirm",e),o.check()}},s.prototype.progress=function(e){this.hasAnyBroken=this.hasAnyBroken||!e.isLoaded;var t=this;setTimeout(function(){t.emit("progress",t,e),t.jqDeferred&&t.jqDeferred.notify&&t.jqDeferred.notify(t,e)})},s.prototype.complete=function(){var e=this.hasAnyBroken?"fail":"done";this.isComplete=!0;var t=this;setTimeout(function(){if(t.emit(e,t),t.emit("always",t),t.jqDeferred){var n=t.hasAnyBroken?"reject":"resolve";t.jqDeferred[n](t)}})},c&&(c.fn.imagesLoaded=function(e,t){return new s(this,e,t).jqDeferred.promise(c(this))}),a.prototype=new t,a.prototype.check=function(){var e=p[this.img.src]||new u(this.img.src);if(e.isConfirmed)return void this.confirm(e.isLoaded,"cached was confirmed");if(this.img.complete&&void 0!==this.img.naturalWidth)return void this.confirm(0!==this.img.naturalWidth,"naturalWidth");var t=this;e.on("confirm",function(e,n){return t.confirm(e.isLoaded,n),!0}),e.check()},a.prototype.confirm=function(e,t){this.isLoaded=e,this.emit("confirm",this,t)};var p={};return u.prototype=new t,u.prototype.check=function(){if(!this.isChecked){var e=new Image;n.bind(e,"load",this),n.bind(e,"error",this),e.src=this.src,this.isChecked=!0}},u.prototype.handleEvent=function(e){var t="on"+e.type;this[t]&&this[t](e)},u.prototype.onload=function(e){this.confirm(!0,"onload"),this.unbindProxyEvents(e)},u.prototype.onerror=function(e){this.confirm(!1,"onerror"),this.unbindProxyEvents(e)},u.prototype.confirm=function(e,t){this.isConfirmed=!0,this.isLoaded=e,this.emit("confirm",this,t)},u.prototype.unbindProxyEvents=function(e){n.unbind(e.target,"load",this),n.unbind(e.target,"error",this)},s}),function(){if("ontouchstart"in window){var e,t,n,r,i,o,s={};e=function(e,t){return Math.abs(e[0]-t[0])>5||Math.abs(e[1]-t[1])>5},t=function(e){this.startXY=[e.touches[0].clientX,e.touches[0].clientY],this.threshold=!1},n=function(t){if(this.threshold)return!1;this.threshold=e(this.startXY,[t.touches[0].clientX,t.touches[0].clientY])},r=function(t){if(!this.threshold&&!e(this.startXY,[t.changedTouches[0].clientX,t.changedTouches[0].clientY])){var n=t.changedTouches[0],r=document.createEvent("MouseEvents");r.initMouseEvent("click",!0,!0,window,0,n.screenX,n.screenY,n.clientX,n.clientY,!1,!1,!1,!1,0,null),r.simulated=!0,t.target.dispatchEvent(r)}},i=function(e){var t=Date.now(),n=t-s.time,r=e.clientX,i=e.clientY,a=[Math.abs(s.x-r),Math.abs(s.y-i)],u=o(e.target,"A")||e.target,c=u.nodeName,l="A"===c,f=window.navigator.standalone&&l&&e.target.getAttribute("href");if(s.time=t,s.x=r,s.y=i,(!e.simulated&&(n<500||n<1500&&a[0]<50&&a[1]<50)||f)&&(e.preventDefault(),e.stopPropagation(),!f))return!1;f&&(window.location=u.getAttribute("href")),u&&u.classList&&(u.classList.add("energize-focus"),window.setTimeout(function(){u.classList.remove("energize-focus")},150))},o=function(e,t){for(var n=e;n!==document.body;){if(!n||n.nodeName===t)return n;n=n.parentNode}return null},document.addEventListener("touchstart",t,!1),document.addEventListener("touchmove",n,!1),document.addEventListener("touchend",r,!1),document.addEventListener("click",i,!0)}}(),function(){"use strict";function e(e){if(e&&""!==e){$(".lang-selector a").removeClass("active"),$(".lang-selector a[data-language-name='"+e+"']").addClass("active");for(var t=0;t<a.length;t++)$(".highlight.tab-"+a[t]).hide(),$(".lang-specific."+a[t]).hide();$(".highlight.tab-"+e).show(),$(".lang-specific."+e).show(),window.recacheHeights(),$(window.location.hash).get(0)&&$(window.location.hash).get(0).scrollIntoView(!0)}}function t(e){return"string"!=typeof e?{}:(e=e.trim().replace(/^(\?|#|&)/,""),e?e.split("&").reduce(function(e,t){var n=t.replace(/\+/g," ").split("="),r=n[0],i=n[1];return r=decodeURIComponent(r),i=void 0===i?null:decodeURIComponent(i),e.hasOwnProperty(r)?Array.isArray(e[r])?e[r].push(i):e[r]=[e[r],i]:e[r]=i,e},{}):{})}function n(e){return e?Object.keys(e).sort().map(function(t){var n=e[t];return Array.isArray(n)?n.sort().map(function(e){return encodeURIComponent(t)+"="+encodeURIComponent(e)}).join("&"):encodeURIComponent(t)+"="+encodeURIComponent(n)}).join("&"):""}function r(){if(location.search.length>=1){var e=t(location.search).language;if(e)return e;if(-1!=jQuery.inArray(location.search.substr(1),a))return location.search.substr(1)}return!1}function i(e){var r=t(location.search);return r.language?(r.language=e,n(r)):e}function o(e){if(history){var t=window.location.hash;t&&(t=t.replace(/^#+/,"")),history.pushState({},"","?"+i(e)+"#"+t),localStorage.setItem("language",e)}}function s(t){var n=localStorage.getItem("language");a=t;var i=r();i?(e(i),localStorage.setItem("language",i)):e(null!==n&&-1!=jQuery.inArray(n,a)?n:a[0])}var a=[];window.setupLanguages=s,window.activateLanguage=e,window.getLanguageFromQueryString=r,$(function(){$(".lang-selector a").on("click",function(){var t=$(this).data("language-name");return o(t),e(t),!1})})}(),function(){"use strict";function e(){$("h1, h2").each(function(){var e=$(this),t=e.nextUntil("h1, h2");f.add({id:e.prop("id"),title:e.text(),body:t.text()})}),t()}function t(){f.tokenStore.length>5e3&&(c=300)}function n(){s=$(".content"),a=$(".search-results"),$("#input-search").on("keyup",function(e){!function(){return function(e,t){clearTimeout(l),l=setTimeout(e,t)}}()(function(){r(e)},c)})}function r(e){var t=$("#input-search")[0];if(o(),a.addClass("visible"),27===e.keyCode&&(t.value=""),t.value){var n=f.search(t.value).filter(function(e){return e.score>1e-4});n.length?(a.empty(),$.each(n,function(e,t){var n=document.getElementById(t.ref);a.append("<li><a href='#"+t.ref+"'>"+$(n).text()+"</a></li>")}),i.call(t)):(a.html("<li></li>"),$(".search-results li").text('No Results Found for "'+t.value+'"'))}else o(),a.removeClass("visible")}function i(){this.value&&s.highlight(this.value,u)}function o(){s.unhighlight(u)}var s,a,u={element:"span",className:"search-highlight"},c=0,l=0,f=new lunr.Index;f.ref("id"),f.field("title",{boost:10}),f.field("body"),f.pipeline.add(lunr.trimmer,lunr.stopWordFilter),$(e),$(n)}(),function(){"use strict";function e(e,i,o,s){var a={},u=0,c=0,l=document.title,f=function(){a={},u=$(document).height(),c=$(window).height(),e.find(i).each(function(){var e=$(this).attr("href");"#"===e[0]&&(a[e]=$(e).offset().top)})},d=function(){var n=$(document).scrollTop()+s;n+c>=u&&(n=u+1e3);var r=null;for(var f in a)(a[f]<n&&a[f]>a[r]||null===r)&&(r=f);n!=s||t||(r=window.location.hash,t=!0);var d=e.find("[href='"+r+"']").first();if(!d.hasClass("active")){e.find(".active").removeClass("active"),e.find(".active-parent").removeClass("active-parent"),d.addClass("active"),d.parents(o).addClass("active").siblings(i).addClass("active-parent"),d.siblings(o).addClass("active"),e.find(o).filter(":not(.active)").slideUp(150),e.find(o).filter(".active").slideDown(150),window.history.replaceState&&window.history.replaceState(null,"",r);var p=d.data("title");void 0!==p&&p.length>0?document.title=p+" โ€“ "+l:document.title=l}};!function(){f(),d(),$("#nav-button").click(function(){return $(".toc-wrapper").toggleClass("open"),$("#nav-button").toggleClass("open"),!1}),$(".page-wrapper").click(r),$(".toc-link").click(r),e.find(i).click(function(){setTimeout(function(){d()},0)}),$(window).scroll(n(d,200)),$(window).resize(n(f,200))}(),window.recacheHeights=f,window.refreshToc=d}var t=!1,n=function(e,t){var n=!1;return function(){!1===n&&(setTimeout(function(){e(),n=!1},t),n=!0)}},r=function(){$(".toc-wrapper").removeClass("open"),$("#nav-button").removeClass("open")};window.loadToc=e}(),$(function(){loadToc($("#toc"),".toc-link",".toc-list-h2, .toc-list-h3, .toc-list-h4, .toc-list-h5, .toc-list-h6",10),setupLanguages($("body").data("languages")),$(".content").imagesLoaded(function(){window.recacheHeights(),window.refreshToc()})}),window.onpopstate=function(){activateLanguage(getLanguageFromQueryString())};</script>
+
+ <meta name="theme-color" content="#F3F7F9" />
+<!-- Renderer: Shins v2.4.0 -->
+ </head>
+
+ <body data-languages="[&quot;python&quot;,&quot;shell&quot;]">
+ <a href="#" id="nav-button">
+ <span>
+ NAV
+ <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAAAAABWESUoAAAAAnRSTlMAAHaTzTgAAAAZSURBVHgBYxgswBIIsLFGrIJRBaMKBh4AAE3cQCEvEU3+AAAAAElFTkSuQmCC" class="undefined" alt="Navigation">
+ </span>
+ </a>
+ <div class="toc-wrapper">
+ <img src="data:image/png;base64,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" class="logo" alt="Logo">
+
+ <div class="lang-selector">
+
+
+ <a href="#" data-language-name="python">Python</a>
+
+
+
+ <a href="#" data-language-name="shell">Shell</a>
+
+
+ </div>
+
+
+ <div class="search">
+ <input type="text" class="search" id="input-search" placeholder="Search">
+ </div>
+ <ul class="search-results"></ul>
+
+ <div id="toc" class="toc-list-h1">
+ <ul class="toc-list-h1">
+
+ <li>
+ <a href="#dcae-dashboard-api" class="toc-h1 toc-link" data-title="DCAE Dashboard API v1.0.0">DCAE Dashboard API v1.0.0</a>
+
+ </li>
+
+ <li>
+ <a href="#dcae-dashboard-api-blueprints" class="toc-h1 toc-link" data-title="Blueprints">Blueprints</a>
+
+ <ul class="toc-list-h2">
+
+ <li>
+ <a href="#find-all-blueprint-templates" class="toc-h2 toc-link" data-title="">Find all blueprint templates</a>
+
+ </li>
+
+ <li>
+ <a href="#create-upload-a-new-blueprint-template" class="toc-h2 toc-link" data-title="">Create/Upload a new blueprint template</a>
+
+ </li>
+
+ <li>
+ <a href="#delete-a-blueprint-template" class="toc-h2 toc-link" data-title="">Delete a blueprint template</a>
+
+ </li>
+
+ <li>
+ <a href="#get-services-mapped-to-a-blueprint-template" class="toc-h2 toc-link" data-title="">Get Services mapped to a blueprint template</a>
+
+ </li>
+
+ <li>
+ <a href="#find-a-blueprint-by-a-name-pattern" class="toc-h2 toc-link" data-title="">Find a blueprint by a name pattern</a>
+
+ </li>
+
+ </ul>
+
+ </li>
+
+ <li>
+ <a href="#dcae-dashboard-api-deployments" class="toc-h1 toc-link" data-title="Deployments">Deployments</a>
+
+ <ul class="toc-list-h2">
+
+ <li>
+ <a href="#lists-all-deployments" class="toc-h2 toc-link" data-title="">Lists all Deployments</a>
+
+ </li>
+
+ <li>
+ <a href="#initiate-a-deployment--install--operation-for-an-application-or-service" class="toc-h2 toc-link" data-title="">Initiate a deployment (install) operation for an application or service</a>
+
+ </li>
+
+ <li>
+ <a href="#initiate-an-uninstall-operation-for-an-application-or-service" class="toc-h2 toc-link" data-title="">Initiate an uninstall operation for an application or service</a>
+
+ </li>
+
+ <li>
+ <a href="#upgrade-or-rollback-an-existing-deployment-using-cloudify-helm-plugin" class="toc-h2 toc-link" data-title="">Upgrade or Rollback an existing deployment using Cloudify Helm plugin</a>
+
+ </li>
+
+ <li>
+ <a href="#gets-a-deployment" class="toc-h2 toc-link" data-title="">Gets a Deployment</a>
+
+ </li>
+
+ <li>
+ <a href="#update-an-existing-deployment" class="toc-h2 toc-link" data-title="">Update an existing deployment</a>
+
+ </li>
+
+ <li>
+ <a href="#deployment-execution-status" class="toc-h2 toc-link" data-title="">Deployment execution status</a>
+
+ </li>
+
+ <li>
+ <a href="#deployment-health-status" class="toc-h2 toc-link" data-title="">Deployment health status</a>
+
+ </li>
+
+ <li>
+ <a href="#deployment-inputs" class="toc-h2 toc-link" data-title="">Deployment inputs</a>
+
+ </li>
+
+ </ul>
+
+ </li>
+
+ <li>
+ <a href="#dcae-dashboard-api-tenants" class="toc-h1 toc-link" data-title="Tenants">Tenants</a>
+
+ <ul class="toc-list-h2">
+
+ <li>
+ <a href="#lists-all-cloudify-tenants" class="toc-h2 toc-link" data-title="">Lists all Cloudify Tenants</a>
+
+ </li>
+
+ </ul>
+
+ </li>
+
+ <li>
+ <a href="#dcae-dashboard-api-components" class="toc-h1 toc-link" data-title="Components">Components</a>
+
+ <ul class="toc-list-h2">
+
+ <li>
+ <a href="#lists-all-application-components" class="toc-h2 toc-link" data-title="">Lists all application components</a>
+
+ </li>
+
+ <li>
+ <a href="#add-an-application-component" class="toc-h2 toc-link" data-title="">add an application component</a>
+
+ </li>
+
+ </ul>
+
+ </li>
+
+ <li>
+ <a href="#schemas" class="toc-h1 toc-link" data-title="Schemas">Schemas</a>
+
+ <ul class="toc-list-h2">
+
+ <li>
+ <a href="#tocstenant" class="toc-h2 toc-link" data-title="">Tenant</a>
+
+ </li>
+
+ <li>
+ <a href="#tocscomponent" class="toc-h2 toc-link" data-title="">Component</a>
+
+ </li>
+
+ <li>
+ <a href="#tocscomponentinput" class="toc-h2 toc-link" data-title="">ComponentInput</a>
+
+ </li>
+
+ <li>
+ <a href="#tocsinlineresponse200" class="toc-h2 toc-link" data-title="">InlineResponse200</a>
+
+ </li>
+
+ <li>
+ <a href="#tocsinlineresponse200links" class="toc-h2 toc-link" data-title="">InlineResponse200Links</a>
+
+ </li>
+
+ <li>
+ <a href="#tocsapiresponsemessage" class="toc-h2 toc-link" data-title="">ApiResponseMessage</a>
+
+ </li>
+
+ <li>
+ <a href="#tocsdcaeservice" class="toc-h2 toc-link" data-title="">DCAEService</a>
+
+ </li>
+
+ <li>
+ <a href="#tocsinlineresponse2001" class="toc-h2 toc-link" data-title="">InlineResponse2001</a>
+
+ </li>
+
+ <li>
+ <a href="#tocsuribuilder" class="toc-h2 toc-link" data-title="">UriBuilder</a>
+
+ </li>
+
+ <li>
+ <a href="#tocslink" class="toc-h2 toc-link" data-title="">Link</a>
+
+ </li>
+
+ <li>
+ <a href="#tocsdcaeservicecomponent" class="toc-h2 toc-link" data-title="">DCAEServiceComponent</a>
+
+ </li>
+
+ <li>
+ <a href="#tocsdcaeservicetyperequest" class="toc-h2 toc-link" data-title="">DCAEServiceTypeRequest</a>
+
+ </li>
+
+ <li>
+ <a href="#tocsdcaeservicetype" class="toc-h2 toc-link" data-title="">DCAEServiceType</a>
+
+ </li>
+
+ <li>
+ <a href="#tocscloudifydeploymentupgraderequest" class="toc-h2 toc-link" data-title="">CloudifyDeploymentUpgradeRequest</a>
+
+ </li>
+
+ <li>
+ <a href="#tocsdeploymentinput" class="toc-h2 toc-link" data-title="">DeploymentInput</a>
+
+ </li>
+
+ <li>
+ <a href="#tocsdeploymentinputs" class="toc-h2 toc-link" data-title="">deploymentInputs</a>
+
+ </li>
+
+ <li>
+ <a href="#tocsservicehealth" class="toc-h2 toc-link" data-title="">serviceHealth</a>
+
+ </li>
+
+ <li>
+ <a href="#tocsexecution" class="toc-h2 toc-link" data-title="">execution</a>
+
+ </li>
+
+ <li>
+ <a href="#tocsdeploymentresourcelinks" class="toc-h2 toc-link" data-title="">DeploymentResourceLinks</a>
+
+ </li>
+
+ <li>
+ <a href="#tocsdeploymentresource" class="toc-h2 toc-link" data-title="">DeploymentResource</a>
+
+ </li>
+
+ </ul>
+
+ </li>
+
+ </ul>
+ </div>
+
+ <ul class="toc-footer">
+
+ <li><a href="http://swagger.io">Find out more about Swagger</a></li>
+
+ </ul>
+
+ </div>
+ <div class="page-wrapper">
+ <div class="dark-box"></div>
+ <div class="content">
+ <h1 id="dcae-dashboard-api">DCAE Dashboard API v1.0.0</h1>
+<blockquote>
+<p>Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.</p>
+</blockquote>
+<p>API to manage deployment of microservices using blueprints.</p>
+<p>Base URLs:</p>
+<ul>
+<li>
+<p><a href="https://dcae-dashboard:8080/ccsdk-app-os/nb-api">https://dcae-dashboard:8080/ccsdk-app-os/nb-api</a></p>
+</li>
+<li>
+<p><a href="http://dcae-dashboard:8080/ccsdk-app-os/nb-api">http://dcae-dashboard:8080/ccsdk-app-os/nb-api</a></p>
+</li>
+</ul>
+<p>Email: <a href="mailto:rp5662@att.com">Support</a></p>
+<h1 id="dcae-dashboard-api-blueprints">Blueprints</h1>
+<p>Query blueprint information</p>
+<h2 id="find-all-blueprint-templates">Find all blueprint templates</h2>
+<p><a id="opIdList Blueprints"></a></p>
+<blockquote>
+<p>Code samples</p>
+</blockquote>
+<pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
+headers = {
+ <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>
+}
+
+r = requests.get(<span class="hljs-string">'https://dcae-dashboard:8080/ccsdk-app-os/nb-api/blueprints'</span>, params={
+ <span class="hljs-string">'pageNum'</span>: <span class="hljs-string">'string'</span>, <span class="hljs-string">'viewPerPage'</span>: <span class="hljs-string">'string'</span>
+}, headers = headers)
+
+<span class="hljs-keyword">print</span> r.json()
+
+</code></pre>
+<pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
+curl -X GET https://dcae-dashboard:8080/ccsdk-app-os/nb-api/blueprints?pageNum=string&amp;viewPerPage=string \
+ -H <span class="hljs-string">'Accept: application/json'</span>
+
+</code></pre>
+<p><code>GET /blueprints</code></p>
+<p>Fetch the blueprints data from inventory</p>
+<h3 id="find-all-blueprint-templates-parameters">Parameters</h3>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>In</th>
+<th>Type</th>
+<th>Required</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>pageNum</td>
+<td>query</td>
+<td>string</td>
+<td>true</td>
+<td>pagination control - page number</td>
+</tr>
+<tr>
+<td>viewPerPage</td>
+<td>query</td>
+<td>string</td>
+<td>true</td>
+<td>pagination control - page size</td>
+</tr>
+<tr>
+<td>_include</td>
+<td>query</td>
+<td>array[string]</td>
+<td>false</td>
+<td>blueprint object properties need to be considered for filter</td>
+</tr>
+</tbody>
+</table>
+<h4 id="enumerated-values">Enumerated Values</h4>
+<table>
+<thead>
+<tr>
+<th>Parameter</th>
+<th>Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>_include</td>
+<td>typeName</td>
+</tr>
+<tr>
+<td>_include</td>
+<td>typeId</td>
+</tr>
+<tr>
+<td>_include</td>
+<td>typeVersion</td>
+</tr>
+</tbody>
+</table>
+<blockquote>
+<p>Example responses</p>
+</blockquote>
+<blockquote>
+<p>200 Response</p>
+</blockquote>
+<pre class="highlight tab tab-json"><code>{
+ <span class="hljs-attr">"links"</span>: {
+ <span class="hljs-attr">"previousLink"</span>: {
+ <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"rel"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"uri"</span>: <span class="hljs-string">"http://example.com"</span>,
+ <span class="hljs-attr">"uriBuilder"</span>: {},
+ <span class="hljs-attr">"rels"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"params"</span>: {
+ <span class="hljs-attr">"property1"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"property2"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"nextLink"</span>: {
+ <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"rel"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"uri"</span>: <span class="hljs-string">"http://example.com"</span>,
+ <span class="hljs-attr">"uriBuilder"</span>: {},
+ <span class="hljs-attr">"rels"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"params"</span>: {
+ <span class="hljs-attr">"property1"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"property2"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
+ }
+ },
+ <span class="hljs-attr">"totalCount"</span>: <span class="hljs-number">0</span>,
+ <span class="hljs-attr">"items"</span>: [
+ {
+ <span class="hljs-attr">"owner"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"typeName"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"typeVersion"</span>: <span class="hljs-number">0</span>,
+ <span class="hljs-attr">"blueprintTemplate"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"serviceIds"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"vnfTypes"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"serviceLocations"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"asdcServiceId"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"asdcResourceId"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"asdcServiceURL"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"typeId"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"selfLink"</span>: {
+ <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"rel"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"uri"</span>: <span class="hljs-string">"http://example.com"</span>,
+ <span class="hljs-attr">"uriBuilder"</span>: {},
+ <span class="hljs-attr">"rels"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"params"</span>: {
+ <span class="hljs-attr">"property1"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"property2"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"created"</span>: <span class="hljs-string">"2020-02-05T21:21:26Z"</span>,
+ <span class="hljs-attr">"deactivated"</span>: <span class="hljs-string">"2020-02-05T21:21:26Z"</span>
+ }
+ ]
+}
+</code></pre>
+<h3 id="find-all-blueprint-templates-responses">Responses</h3>
+<table>
+<thead>
+<tr>
+<th>Status</th>
+<th>Meaning</th>
+<th>Description</th>
+<th>Schema</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>200</td>
+<td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
+<td>List of <code>DCAEServiceType</code> objects</td>
+<td><a href="#schemainlineresponse200">InlineResponse200</a></td>
+</tr>
+<tr>
+<td>400</td>
+<td><a href="https://tools.ietf.org/html/rfc7231#section-6.5.1">Bad Request</a></td>
+<td>Invalid tag value</td>
+<td>None</td>
+</tr>
+</tbody>
+</table>
+<aside class="success">
+This operation does not require authentication
+</aside>
+<h2 id="create-upload-a-new-blueprint-template">Create/Upload a new blueprint template</h2>
+<p><a id="opIdCreate Blueprint"></a></p>
+<blockquote>
+<p>Code samples</p>
+</blockquote>
+<pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
+headers = {
+ <span class="hljs-string">'Content-Type'</span>: <span class="hljs-string">'application/json'</span>,
+ <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>
+}
+
+r = requests.post(<span class="hljs-string">'https://dcae-dashboard:8080/ccsdk-app-os/nb-api/blueprints'</span>, params={
+
+}, headers = headers)
+
+<span class="hljs-keyword">print</span> r.json()
+
+</code></pre>
+<pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
+curl -X POST https://dcae-dashboard:8080/ccsdk-app-os/nb-api/blueprints \
+ -H <span class="hljs-string">'Content-Type: application/json'</span> \
+ -H <span class="hljs-string">'Accept: application/json'</span>
+
+</code></pre>
+<p><code>POST /blueprints</code></p>
+<p>Upload a new blueprint template into inventory</p>
+<blockquote>
+<p>Body parameter</p>
+</blockquote>
+<pre class="highlight tab tab-json"><code>{
+ <span class="hljs-attr">"owner"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"typeName"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"typeVersion"</span>: <span class="hljs-number">0</span>,
+ <span class="hljs-attr">"blueprintTemplate"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"application"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"component"</span>: <span class="hljs-string">"string"</span>
+}
+</code></pre>
+<h3 id="create-upload-a-new-blueprint-template-parameters">Parameters</h3>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>In</th>
+<th>Type</th>
+<th>Required</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>body</td>
+<td>body</td>
+<td><a href="#schemadcaeservicetyperequest">DCAEServiceTypeRequest</a></td>
+<td>true</td>
+<td>upload blueprint request to inventory</td>
+</tr>
+</tbody>
+</table>
+<blockquote>
+<p>Example responses</p>
+</blockquote>
+<blockquote>
+<p>200 Response</p>
+</blockquote>
+<pre class="highlight tab tab-json"><code>{
+ <span class="hljs-attr">"links"</span>: {
+ <span class="hljs-attr">"previousLink"</span>: {
+ <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"rel"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"uri"</span>: <span class="hljs-string">"http://example.com"</span>,
+ <span class="hljs-attr">"uriBuilder"</span>: {},
+ <span class="hljs-attr">"rels"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"params"</span>: {
+ <span class="hljs-attr">"property1"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"property2"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"nextLink"</span>: {
+ <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"rel"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"uri"</span>: <span class="hljs-string">"http://example.com"</span>,
+ <span class="hljs-attr">"uriBuilder"</span>: {},
+ <span class="hljs-attr">"rels"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"params"</span>: {
+ <span class="hljs-attr">"property1"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"property2"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
+ }
+ },
+ <span class="hljs-attr">"totalCount"</span>: <span class="hljs-number">0</span>,
+ <span class="hljs-attr">"items"</span>: [
+ {
+ <span class="hljs-attr">"owner"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"typeName"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"typeVersion"</span>: <span class="hljs-number">0</span>,
+ <span class="hljs-attr">"blueprintTemplate"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"serviceIds"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"vnfTypes"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"serviceLocations"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"asdcServiceId"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"asdcResourceId"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"asdcServiceURL"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"typeId"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"selfLink"</span>: {
+ <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"rel"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"uri"</span>: <span class="hljs-string">"http://example.com"</span>,
+ <span class="hljs-attr">"uriBuilder"</span>: {},
+ <span class="hljs-attr">"rels"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"params"</span>: {
+ <span class="hljs-attr">"property1"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"property2"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"created"</span>: <span class="hljs-string">"2020-02-05T21:21:26Z"</span>,
+ <span class="hljs-attr">"deactivated"</span>: <span class="hljs-string">"2020-02-05T21:21:26Z"</span>
+ }
+ ]
+}
+</code></pre>
+<h3 id="create-upload-a-new-blueprint-template-responses">Responses</h3>
+<table>
+<thead>
+<tr>
+<th>Status</th>
+<th>Meaning</th>
+<th>Description</th>
+<th>Schema</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>200</td>
+<td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
+<td>A <code>DCAEServiceType</code> object</td>
+<td><a href="#schemainlineresponse200">InlineResponse200</a></td>
+</tr>
+<tr>
+<td>400</td>
+<td><a href="https://tools.ietf.org/html/rfc7231#section-6.5.1">Bad Request</a></td>
+<td>Invalid tag value</td>
+<td>None</td>
+</tr>
+</tbody>
+</table>
+<aside class="success">
+This operation does not require authentication
+</aside>
+<h2 id="delete-a-blueprint-template">Delete a blueprint template</h2>
+<p><a id="opIdDelete Blueprint"></a></p>
+<blockquote>
+<p>Code samples</p>
+</blockquote>
+<pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
+
+r = requests.delete(<span class="hljs-string">'https://dcae-dashboard:8080/ccsdk-app-os/nb-api/blueprints/{typeId}'</span>, params={
+
+)
+
+<span class="hljs-keyword">print</span> r.json()
+
+</code></pre>
+<pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
+curl -X DELETE https://dcae-dashboard:8080/ccsdk-app-os/nb-api/blueprints/{typeId}
+
+</code></pre>
+<p><code>DELETE /blueprints/{typeId}</code></p>
+<p>Delete a blueprint template from inventory</p>
+<h3 id="delete-a-blueprint-template-parameters">Parameters</h3>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>In</th>
+<th>Type</th>
+<th>Required</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>typeId</td>
+<td>path</td>
+<td>string</td>
+<td>true</td>
+<td>ID of blueprint to delete</td>
+</tr>
+</tbody>
+</table>
+<h3 id="delete-a-blueprint-template-responses">Responses</h3>
+<table>
+<thead>
+<tr>
+<th>Status</th>
+<th>Meaning</th>
+<th>Description</th>
+<th>Schema</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>200</td>
+<td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
+<td>successful operation</td>
+<td>None</td>
+</tr>
+</tbody>
+</table>
+<aside class="success">
+This operation does not require authentication
+</aside>
+<h2 id="get-services-mapped-to-a-blueprint-template">Get Services mapped to a blueprint template</h2>
+<p><a id="opIdGet Deployments for a blueprint"></a></p>
+<blockquote>
+<p>Code samples</p>
+</blockquote>
+<pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
+
+r = requests.get(<span class="hljs-string">'https://dcae-dashboard:8080/ccsdk-app-os/nb-api/blueprints/{typeId}/services'</span>, params={
+
+)
+
+<span class="hljs-keyword">print</span> r.json()
+
+</code></pre>
+<pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
+curl -X GET https://dcae-dashboard:8080/ccsdk-app-os/nb-api/blueprints/{typeId}/services
+
+</code></pre>
+<p><code>GET /blueprints/{typeId}/services</code></p>
+<p>Get Deployment References existing for a blueprint</p>
+<h3 id="get-services-mapped-to-a-blueprint-template-parameters">Parameters</h3>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>In</th>
+<th>Type</th>
+<th>Required</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>typeId</td>
+<td>path</td>
+<td>string</td>
+<td>true</td>
+<td>ID of blueprint to query</td>
+</tr>
+</tbody>
+</table>
+<h3 id="get-services-mapped-to-a-blueprint-template-responses">Responses</h3>
+<table>
+<thead>
+<tr>
+<th>Status</th>
+<th>Meaning</th>
+<th>Description</th>
+<th>Schema</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>200</td>
+<td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
+<td>successful operation</td>
+<td>None</td>
+</tr>
+</tbody>
+</table>
+<aside class="success">
+This operation does not require authentication
+</aside>
+<h2 id="find-a-blueprint-by-a-name-pattern">Find a blueprint by a name pattern</h2>
+<p><a id="opIdGet Blueprint"></a></p>
+<blockquote>
+<p>Code samples</p>
+</blockquote>
+<pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
+headers = {
+ <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>
+}
+
+r = requests.get(<span class="hljs-string">'https://dcae-dashboard:8080/ccsdk-app-os/nb-api/blueprints/findByName'</span>, params={
+ <span class="hljs-string">'name'</span>: <span class="hljs-string">'string'</span>
+}, headers = headers)
+
+<span class="hljs-keyword">print</span> r.json()
+
+</code></pre>
+<pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
+curl -X GET https://dcae-dashboard:8080/ccsdk-app-os/nb-api/blueprints/findByName?name=string \
+ -H <span class="hljs-string">'Accept: application/json'</span>
+
+</code></pre>
+<p><code>GET /blueprints/findByName</code></p>
+<p>Fetch the blueprint objects from inventory whose names match a string pattern</p>
+<h3 id="find-a-blueprint-by-a-name-pattern-parameters">Parameters</h3>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>In</th>
+<th>Type</th>
+<th>Required</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>name</td>
+<td>query</td>
+<td>string</td>
+<td>true</td>
+<td>name pattern to filter by</td>
+</tr>
+<tr>
+<td>_include</td>
+<td>query</td>
+<td>array[string]</td>
+<td>false</td>
+<td>blueprint object properties need to be considered for filter</td>
+</tr>
+</tbody>
+</table>
+<h4 id="enumerated-values">Enumerated Values</h4>
+<table>
+<thead>
+<tr>
+<th>Parameter</th>
+<th>Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>_include</td>
+<td>typeName</td>
+</tr>
+<tr>
+<td>_include</td>
+<td>typeId</td>
+</tr>
+<tr>
+<td>_include</td>
+<td>typeVersion</td>
+</tr>
+</tbody>
+</table>
+<blockquote>
+<p>Example responses</p>
+</blockquote>
+<blockquote>
+<p>200 Response</p>
+</blockquote>
+<pre class="highlight tab tab-json"><code>{
+ <span class="hljs-attr">"links"</span>: {
+ <span class="hljs-attr">"previousLink"</span>: {
+ <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"rel"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"uri"</span>: <span class="hljs-string">"http://example.com"</span>,
+ <span class="hljs-attr">"uriBuilder"</span>: {},
+ <span class="hljs-attr">"rels"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"params"</span>: {
+ <span class="hljs-attr">"property1"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"property2"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"nextLink"</span>: {
+ <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"rel"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"uri"</span>: <span class="hljs-string">"http://example.com"</span>,
+ <span class="hljs-attr">"uriBuilder"</span>: {},
+ <span class="hljs-attr">"rels"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"params"</span>: {
+ <span class="hljs-attr">"property1"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"property2"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
+ }
+ },
+ <span class="hljs-attr">"totalCount"</span>: <span class="hljs-number">0</span>,
+ <span class="hljs-attr">"items"</span>: [
+ {
+ <span class="hljs-attr">"owner"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"typeName"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"typeVersion"</span>: <span class="hljs-number">0</span>,
+ <span class="hljs-attr">"blueprintTemplate"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"serviceIds"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"vnfTypes"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"serviceLocations"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"asdcServiceId"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"asdcResourceId"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"asdcServiceURL"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"typeId"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"selfLink"</span>: {
+ <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"rel"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"uri"</span>: <span class="hljs-string">"http://example.com"</span>,
+ <span class="hljs-attr">"uriBuilder"</span>: {},
+ <span class="hljs-attr">"rels"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"params"</span>: {
+ <span class="hljs-attr">"property1"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"property2"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"created"</span>: <span class="hljs-string">"2020-02-05T21:21:26Z"</span>,
+ <span class="hljs-attr">"deactivated"</span>: <span class="hljs-string">"2020-02-05T21:21:26Z"</span>
+ }
+ ]
+}
+</code></pre>
+<h3 id="find-a-blueprint-by-a-name-pattern-responses">Responses</h3>
+<table>
+<thead>
+<tr>
+<th>Status</th>
+<th>Meaning</th>
+<th>Description</th>
+<th>Schema</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>200</td>
+<td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
+<td>List of <code>DCAEServiceType</code> objects</td>
+<td><a href="#schemainlineresponse200">InlineResponse200</a></td>
+</tr>
+<tr>
+<td>400</td>
+<td><a href="https://tools.ietf.org/html/rfc7231#section-6.5.1">Bad Request</a></td>
+<td>Invalid tag value</td>
+<td>None</td>
+</tr>
+</tbody>
+</table>
+<aside class="success">
+This operation does not require authentication
+</aside>
+<h1 id="dcae-dashboard-api-deployments">Deployments</h1>
+<p>Manage deployments</p>
+<h2 id="lists-all-deployments">Lists all Deployments</h2>
+<p><a id="opIdList Deployments"></a></p>
+<blockquote>
+<p>Code samples</p>
+</blockquote>
+<pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
+headers = {
+ <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>
+}
+
+r = requests.get(<span class="hljs-string">'https://dcae-dashboard:8080/ccsdk-app-os/nb-api/deployments'</span>, params={
+ <span class="hljs-string">'pageNum'</span>: <span class="hljs-string">'string'</span>, <span class="hljs-string">'viewPerPage'</span>: <span class="hljs-string">'string'</span>
+}, headers = headers)
+
+<span class="hljs-keyword">print</span> r.json()
+
+</code></pre>
+<pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
+curl -X GET https://dcae-dashboard:8080/ccsdk-app-os/nb-api/deployments?pageNum=string&amp;viewPerPage=string \
+ -H <span class="hljs-string">'Accept: application/json'</span>
+
+</code></pre>
+<p><code>GET /deployments</code></p>
+<p>Query all deployments or Service objects from Inventory</p>
+<h3 id="lists-all-deployments-parameters">Parameters</h3>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>In</th>
+<th>Type</th>
+<th>Required</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>pageNum</td>
+<td>query</td>
+<td>string</td>
+<td>true</td>
+<td>pagination control - page number</td>
+</tr>
+<tr>
+<td>viewPerPage</td>
+<td>query</td>
+<td>string</td>
+<td>true</td>
+<td>pagination control - page size</td>
+</tr>
+</tbody>
+</table>
+<blockquote>
+<p>Example responses</p>
+</blockquote>
+<blockquote>
+<p>200 Response</p>
+</blockquote>
+<pre class="highlight tab tab-json"><code>[
+ {
+ <span class="hljs-attr">"serviceId"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"selfLink"</span>: {
+ <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"rel"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"uri"</span>: <span class="hljs-string">"http://example.com"</span>,
+ <span class="hljs-attr">"uriBuilder"</span>: {},
+ <span class="hljs-attr">"rels"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"params"</span>: {
+ <span class="hljs-attr">"property1"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"property2"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"created"</span>: <span class="hljs-string">"2020-02-05T21:21:26Z"</span>,
+ <span class="hljs-attr">"modified"</span>: <span class="hljs-string">"2020-02-05T21:21:26Z"</span>,
+ <span class="hljs-attr">"typeLink"</span>: {
+ <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"rel"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"uri"</span>: <span class="hljs-string">"http://example.com"</span>,
+ <span class="hljs-attr">"uriBuilder"</span>: {},
+ <span class="hljs-attr">"rels"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"params"</span>: {
+ <span class="hljs-attr">"property1"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"property2"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"vnfId"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"vnfLink"</span>: {
+ <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"rel"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"uri"</span>: <span class="hljs-string">"http://example.com"</span>,
+ <span class="hljs-attr">"uriBuilder"</span>: {},
+ <span class="hljs-attr">"rels"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"params"</span>: {
+ <span class="hljs-attr">"property1"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"property2"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"vnfType"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"vnfLocation"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"deploymentRef"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"components"</span>: [
+ {
+ <span class="hljs-attr">"componentId"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"componentLink"</span>: {
+ <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"rel"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"uri"</span>: <span class="hljs-string">"http://example.com"</span>,
+ <span class="hljs-attr">"uriBuilder"</span>: {},
+ <span class="hljs-attr">"rels"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"params"</span>: {
+ <span class="hljs-attr">"property1"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"property2"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"created"</span>: <span class="hljs-string">"2020-02-05T21:21:26Z"</span>,
+ <span class="hljs-attr">"modified"</span>: <span class="hljs-string">"2020-02-05T21:21:26Z"</span>,
+ <span class="hljs-attr">"componentType"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"componentSource"</span>: <span class="hljs-string">"DCAEController"</span>,
+ <span class="hljs-attr">"status"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"location"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"shareable"</span>: <span class="hljs-number">0</span>
+ }
+ ],
+ <span class="hljs-attr">"tenant"</span>: <span class="hljs-string">"string"</span>
+ }
+]
+</code></pre>
+<h3 id="lists-all-deployments-responses">Responses</h3>
+<table>
+<thead>
+<tr>
+<th>Status</th>
+<th>Meaning</th>
+<th>Description</th>
+<th>Schema</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>200</td>
+<td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
+<td>successful operation</td>
+<td>Inline</td>
+</tr>
+<tr>
+<td>400</td>
+<td><a href="https://tools.ietf.org/html/rfc7231#section-6.5.1">Bad Request</a></td>
+<td>Invalid status value</td>
+<td>None</td>
+</tr>
+</tbody>
+</table>
+<h3 id="lists-all-deployments-responseschema">Response Schema</h3>
+<p>Status Code <strong>200</strong></p>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>Type</th>
+<th>Required</th>
+<th>Restrictions</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><em>anonymous</em></td>
+<td>[<a href="#schemadcaeservice">DCAEService</a>]</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยป serviceId</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยป selfLink</td>
+<td><a href="#schemalink">Link</a></td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยปยป title</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยปยป rel</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยปยป uri</td>
+<td>string(uri)</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยปยป uriBuilder</td>
+<td><a href="#schemauribuilder">UriBuilder</a></td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยปยป rels</td>
+<td>[string]</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยปยป params</td>
+<td>object</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยปยปยป <strong>additionalProperties</strong></td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยปยป type</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยป created</td>
+<td>string(date-time)</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยป modified</td>
+<td>string(date-time)</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยป typeLink</td>
+<td><a href="#schemalink">Link</a></td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยป vnfId</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยป vnfLink</td>
+<td><a href="#schemalink">Link</a></td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยป vnfType</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยป vnfLocation</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>Location information of the associated VNF</td>
+</tr>
+<tr>
+<td>ยป deploymentRef</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>Reference to a Cloudify deployment</td>
+</tr>
+<tr>
+<td>ยป components</td>
+<td>[<a href="#schemadcaeservicecomponent">DCAEServiceComponent</a>]</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยปยป componentId</td>
+<td>string</td>
+<td>true</td>
+<td>none</td>
+<td>The id format is unique to the source</td>
+</tr>
+<tr>
+<td>ยปยป componentLink</td>
+<td><a href="#schemalink">Link</a></td>
+<td>true</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยปยป created</td>
+<td>string(date-time)</td>
+<td>true</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยปยป modified</td>
+<td>string(date-time)</td>
+<td>true</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยปยป componentType</td>
+<td>string</td>
+<td>true</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยปยป componentSource</td>
+<td>string</td>
+<td>true</td>
+<td>none</td>
+<td>Specifies the name of the underying source service that is responsible for this components</td>
+</tr>
+<tr>
+<td>ยปยป status</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยปยป location</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>Location information of the component</td>
+</tr>
+<tr>
+<td>ยปยป shareable</td>
+<td>integer(int32)</td>
+<td>true</td>
+<td>none</td>
+<td>Used to determine if this component can be shared amongst different DCAE services</td>
+</tr>
+<tr>
+<td>ยป tenant</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>cloudify tenant name</td>
+</tr>
+</tbody>
+</table>
+<h4 id="enumerated-values">Enumerated Values</h4>
+<table>
+<thead>
+<tr>
+<th>Property</th>
+<th>Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>componentSource</td>
+<td>DCAEController</td>
+</tr>
+<tr>
+<td>componentSource</td>
+<td>DMaaPController</td>
+</tr>
+</tbody>
+</table>
+<aside class="success">
+This operation does not require authentication
+</aside>
+<h2 id="initiate-a-deployment--install--operation-for-an-application-or-service">Initiate a deployment (install) operation for an application or service</h2>
+<p><a id="opIdCreate Deployment"></a></p>
+<blockquote>
+<p>Code samples</p>
+</blockquote>
+<pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
+headers = {
+ <span class="hljs-string">'Content-Type'</span>: <span class="hljs-string">'application/json'</span>,
+ <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>
+}
+
+r = requests.post(<span class="hljs-string">'https://dcae-dashboard:8080/ccsdk-app-os/nb-api/deployments'</span>, params={
+
+}, headers = headers)
+
+<span class="hljs-keyword">print</span> r.json()
+
+</code></pre>
+<pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
+curl -X POST https://dcae-dashboard:8080/ccsdk-app-os/nb-api/deployments \
+ -H <span class="hljs-string">'Content-Type: application/json'</span> \
+ -H <span class="hljs-string">'Accept: application/json'</span>
+
+</code></pre>
+<p><code>POST /deployments</code></p>
+<p>Controller sends the blueprint and required inputs to Deployment Handler microservice to initiate the deployment process</p>
+<blockquote>
+<p>Body parameter</p>
+</blockquote>
+<pre class="highlight tab tab-json"><code>{
+ <span class="hljs-attr">"component"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"tag"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"blueprintId"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"blueprintName"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"blueprintVersion"</span>: <span class="hljs-number">0</span>,
+ <span class="hljs-attr">"tenant"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"inputs"</span>: {}
+}
+</code></pre>
+<h3 id="initiate-a-deployment--install--operation-for-an-application-or-service-parameters">Parameters</h3>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>In</th>
+<th>Type</th>
+<th>Required</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>body</td>
+<td>body</td>
+<td><a href="#schemadeploymentinput">DeploymentInput</a></td>
+<td>true</td>
+<td>Inputs to initiate a deployment: blueprint ID from inventory, Cloudify tenant name, blueprint inputs</td>
+</tr>
+</tbody>
+</table>
+<blockquote>
+<p>Example responses</p>
+</blockquote>
+<blockquote>
+<p>200 Response</p>
+</blockquote>
+<pre class="highlight tab tab-json"><code>{
+ <span class="hljs-attr">"deployment_id"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"links"</span>: {
+ <span class="hljs-attr">"self"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"outcome"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"status"</span>: <span class="hljs-string">"string"</span>
+ }
+}
+</code></pre>
+<h3 id="initiate-a-deployment--install--operation-for-an-application-or-service-responses">Responses</h3>
+<table>
+<thead>
+<tr>
+<th>Status</th>
+<th>Meaning</th>
+<th>Description</th>
+<th>Schema</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>200</td>
+<td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
+<td>successful operation</td>
+<td><a href="#schemadeploymentresource">DeploymentResource</a></td>
+</tr>
+<tr>
+<td>405</td>
+<td><a href="https://tools.ietf.org/html/rfc7231#section-6.5.5">Method Not Allowed</a></td>
+<td>Invalid input</td>
+<td>None</td>
+</tr>
+</tbody>
+</table>
+<aside class="success">
+This operation does not require authentication
+</aside>
+<h2 id="initiate-an-uninstall-operation-for-an-application-or-service">Initiate an uninstall operation for an application or service</h2>
+<p><a id="opIdDelete Deployment"></a></p>
+<blockquote>
+<p>Code samples</p>
+</blockquote>
+<pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
+headers = {
+ <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>
+}
+
+r = requests.delete(<span class="hljs-string">'https://dcae-dashboard:8080/ccsdk-app-os/nb-api/deployments/{deploymentId}'</span>, params={
+ <span class="hljs-string">'tenant'</span>: <span class="hljs-string">'string'</span>
+}, headers = headers)
+
+<span class="hljs-keyword">print</span> r.json()
+
+</code></pre>
+<pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
+curl -X DELETE https://dcae-dashboard:8080/ccsdk-app-os/nb-api/deployments/{deploymentId}?tenant=string \
+ -H <span class="hljs-string">'Accept: application/json'</span>
+
+</code></pre>
+<p><code>DELETE /deployments/{deploymentId}</code></p>
+<p>Controller sends the deployment reference to Deployment Handler microservice to initiate the uninstall process</p>
+<h3 id="initiate-an-uninstall-operation-for-an-application-or-service-parameters">Parameters</h3>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>In</th>
+<th>Type</th>
+<th>Required</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>deploymentId</td>
+<td>path</td>
+<td>string</td>
+<td>true</td>
+<td>ID of deployment to query</td>
+</tr>
+<tr>
+<td>tenant</td>
+<td>query</td>
+<td>string</td>
+<td>true</td>
+<td>Cloudify Tenant name</td>
+</tr>
+</tbody>
+</table>
+<blockquote>
+<p>Example responses</p>
+</blockquote>
+<blockquote>
+<p>200 Response</p>
+</blockquote>
+<pre class="highlight tab tab-json"><code><span class="hljs-string">"string"</span>
+</code></pre>
+<h3 id="initiate-an-uninstall-operation-for-an-application-or-service-responses">Responses</h3>
+<table>
+<thead>
+<tr>
+<th>Status</th>
+<th>Meaning</th>
+<th>Description</th>
+<th>Schema</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>200</td>
+<td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
+<td>successful operation</td>
+<td>string</td>
+</tr>
+<tr>
+<td>400</td>
+<td><a href="https://tools.ietf.org/html/rfc7231#section-6.5.1">Bad Request</a></td>
+<td>Invalid status value</td>
+<td>None</td>
+</tr>
+</tbody>
+</table>
+<aside class="success">
+This operation does not require authentication
+</aside>
+<h2 id="upgrade-or-rollback-an-existing-deployment-using-cloudify-helm-plugin">Upgrade or Rollback an existing deployment using Cloudify Helm plugin</h2>
+<p><a id="opIdUpgrade/Rollback Deployment"></a></p>
+<blockquote>
+<p>Code samples</p>
+</blockquote>
+<pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
+headers = {
+ <span class="hljs-string">'Content-Type'</span>: <span class="hljs-string">'application/json'</span>
+}
+
+r = requests.put(<span class="hljs-string">'https://dcae-dashboard:8080/ccsdk-app-os/nb-api/deployments/{deploymentId}'</span>, params={
+
+}, headers = headers)
+
+<span class="hljs-keyword">print</span> r.json()
+
+</code></pre>
+<pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
+curl -X PUT https://dcae-dashboard:8080/ccsdk-app-os/nb-api/deployments/{deploymentId} \
+ -H <span class="hljs-string">'Content-Type: application/json'</span>
+
+</code></pre>
+<p><code>PUT /deployments/{deploymentId}</code></p>
+<p>Upgrade or Rollback an existing deployment using Cloudify Helm plugin</p>
+<blockquote>
+<p>Body parameter</p>
+</blockquote>
+<pre class="highlight tab tab-json"><code>{
+ <span class="hljs-attr">"chartVersion"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"chartRepo"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"config_url"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"config_format"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"tenant"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"workflow"</span>: <span class="hljs-string">"string"</span>
+}
+</code></pre>
+<h3 id="upgrade-or-rollback-an-existing-deployment-using-cloudify-helm-plugin-parameters">Parameters</h3>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>In</th>
+<th>Type</th>
+<th>Required</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>deploymentId</td>
+<td>path</td>
+<td>string</td>
+<td>true</td>
+<td>ID of deployment in context</td>
+</tr>
+<tr>
+<td>body</td>
+<td>body</td>
+<td><a href="#schemacloudifydeploymentupgraderequest">CloudifyDeploymentUpgradeRequest</a></td>
+<td>true</td>
+<td>Cloudify Execution Request object that has parameters to start either an upgrade or a rollback execution workflow</td>
+</tr>
+</tbody>
+</table>
+<h3 id="upgrade-or-rollback-an-existing-deployment-using-cloudify-helm-plugin-responses">Responses</h3>
+<table>
+<thead>
+<tr>
+<th>Status</th>
+<th>Meaning</th>
+<th>Description</th>
+<th>Schema</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>400</td>
+<td><a href="https://tools.ietf.org/html/rfc7231#section-6.5.1">Bad Request</a></td>
+<td>Invalid ID supplied</td>
+<td>None</td>
+</tr>
+<tr>
+<td>404</td>
+<td><a href="https://tools.ietf.org/html/rfc7231#section-6.5.4">Not Found</a></td>
+<td>Deployment not found</td>
+<td>None</td>
+</tr>
+<tr>
+<td>405</td>
+<td><a href="https://tools.ietf.org/html/rfc7231#section-6.5.5">Method Not Allowed</a></td>
+<td>Validation exception</td>
+<td>None</td>
+</tr>
+</tbody>
+</table>
+<aside class="success">
+This operation does not require authentication
+</aside>
+<h2 id="gets-a-deployment">Gets a Deployment</h2>
+<p><a id="opIdGet Deployment"></a></p>
+<blockquote>
+<p>Code samples</p>
+</blockquote>
+<pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
+headers = {
+ <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>
+}
+
+r = requests.get(<span class="hljs-string">'https://dcae-dashboard:8080/ccsdk-app-os/nb-api/deployments/{deploymentId}'</span>, params={
+
+}, headers = headers)
+
+<span class="hljs-keyword">print</span> r.json()
+
+</code></pre>
+<pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
+curl -X GET https://dcae-dashboard:8080/ccsdk-app-os/nb-api/deployments/{deploymentId} \
+ -H <span class="hljs-string">'Accept: application/json'</span>
+
+</code></pre>
+<p><code>GET /deployments/{deploymentId}</code></p>
+<p>Query a deployment or Service object from Inventory</p>
+<h3 id="gets-a-deployment-parameters">Parameters</h3>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>In</th>
+<th>Type</th>
+<th>Required</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>deploymentId</td>
+<td>path</td>
+<td>string</td>
+<td>true</td>
+<td>ID of deployment to query</td>
+</tr>
+</tbody>
+</table>
+<blockquote>
+<p>Example responses</p>
+</blockquote>
+<blockquote>
+<p>200 Response</p>
+</blockquote>
+<pre class="highlight tab tab-json"><code>[
+ {
+ <span class="hljs-attr">"serviceId"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"selfLink"</span>: {
+ <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"rel"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"uri"</span>: <span class="hljs-string">"http://example.com"</span>,
+ <span class="hljs-attr">"uriBuilder"</span>: {},
+ <span class="hljs-attr">"rels"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"params"</span>: {
+ <span class="hljs-attr">"property1"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"property2"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"created"</span>: <span class="hljs-string">"2020-02-05T21:21:26Z"</span>,
+ <span class="hljs-attr">"modified"</span>: <span class="hljs-string">"2020-02-05T21:21:26Z"</span>,
+ <span class="hljs-attr">"typeLink"</span>: {
+ <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"rel"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"uri"</span>: <span class="hljs-string">"http://example.com"</span>,
+ <span class="hljs-attr">"uriBuilder"</span>: {},
+ <span class="hljs-attr">"rels"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"params"</span>: {
+ <span class="hljs-attr">"property1"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"property2"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"vnfId"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"vnfLink"</span>: {
+ <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"rel"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"uri"</span>: <span class="hljs-string">"http://example.com"</span>,
+ <span class="hljs-attr">"uriBuilder"</span>: {},
+ <span class="hljs-attr">"rels"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"params"</span>: {
+ <span class="hljs-attr">"property1"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"property2"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"vnfType"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"vnfLocation"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"deploymentRef"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"components"</span>: [
+ {
+ <span class="hljs-attr">"componentId"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"componentLink"</span>: {
+ <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"rel"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"uri"</span>: <span class="hljs-string">"http://example.com"</span>,
+ <span class="hljs-attr">"uriBuilder"</span>: {},
+ <span class="hljs-attr">"rels"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"params"</span>: {
+ <span class="hljs-attr">"property1"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"property2"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"created"</span>: <span class="hljs-string">"2020-02-05T21:21:26Z"</span>,
+ <span class="hljs-attr">"modified"</span>: <span class="hljs-string">"2020-02-05T21:21:26Z"</span>,
+ <span class="hljs-attr">"componentType"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"componentSource"</span>: <span class="hljs-string">"DCAEController"</span>,
+ <span class="hljs-attr">"status"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"location"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"shareable"</span>: <span class="hljs-number">0</span>
+ }
+ ],
+ <span class="hljs-attr">"tenant"</span>: <span class="hljs-string">"string"</span>
+ }
+]
+</code></pre>
+<h3 id="gets-a-deployment-responses">Responses</h3>
+<table>
+<thead>
+<tr>
+<th>Status</th>
+<th>Meaning</th>
+<th>Description</th>
+<th>Schema</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>200</td>
+<td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
+<td>successful operation</td>
+<td>Inline</td>
+</tr>
+<tr>
+<td>400</td>
+<td><a href="https://tools.ietf.org/html/rfc7231#section-6.5.1">Bad Request</a></td>
+<td>Invalid status value</td>
+<td>None</td>
+</tr>
+</tbody>
+</table>
+<h3 id="gets-a-deployment-responseschema">Response Schema</h3>
+<p>Status Code <strong>200</strong></p>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>Type</th>
+<th>Required</th>
+<th>Restrictions</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><em>anonymous</em></td>
+<td>[<a href="#schemadcaeservice">DCAEService</a>]</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยป serviceId</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยป selfLink</td>
+<td><a href="#schemalink">Link</a></td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยปยป title</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยปยป rel</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยปยป uri</td>
+<td>string(uri)</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยปยป uriBuilder</td>
+<td><a href="#schemauribuilder">UriBuilder</a></td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยปยป rels</td>
+<td>[string]</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยปยป params</td>
+<td>object</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยปยปยป <strong>additionalProperties</strong></td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยปยป type</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยป created</td>
+<td>string(date-time)</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยป modified</td>
+<td>string(date-time)</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยป typeLink</td>
+<td><a href="#schemalink">Link</a></td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยป vnfId</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยป vnfLink</td>
+<td><a href="#schemalink">Link</a></td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยป vnfType</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยป vnfLocation</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>Location information of the associated VNF</td>
+</tr>
+<tr>
+<td>ยป deploymentRef</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>Reference to a Cloudify deployment</td>
+</tr>
+<tr>
+<td>ยป components</td>
+<td>[<a href="#schemadcaeservicecomponent">DCAEServiceComponent</a>]</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยปยป componentId</td>
+<td>string</td>
+<td>true</td>
+<td>none</td>
+<td>The id format is unique to the source</td>
+</tr>
+<tr>
+<td>ยปยป componentLink</td>
+<td><a href="#schemalink">Link</a></td>
+<td>true</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยปยป created</td>
+<td>string(date-time)</td>
+<td>true</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยปยป modified</td>
+<td>string(date-time)</td>
+<td>true</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยปยป componentType</td>
+<td>string</td>
+<td>true</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยปยป componentSource</td>
+<td>string</td>
+<td>true</td>
+<td>none</td>
+<td>Specifies the name of the underying source service that is responsible for this components</td>
+</tr>
+<tr>
+<td>ยปยป status</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยปยป location</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>Location information of the component</td>
+</tr>
+<tr>
+<td>ยปยป shareable</td>
+<td>integer(int32)</td>
+<td>true</td>
+<td>none</td>
+<td>Used to determine if this component can be shared amongst different DCAE services</td>
+</tr>
+<tr>
+<td>ยป tenant</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>cloudify tenant name</td>
+</tr>
+</tbody>
+</table>
+<h4 id="enumerated-values">Enumerated Values</h4>
+<table>
+<thead>
+<tr>
+<th>Property</th>
+<th>Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>componentSource</td>
+<td>DCAEController</td>
+</tr>
+<tr>
+<td>componentSource</td>
+<td>DMaaPController</td>
+</tr>
+</tbody>
+</table>
+<aside class="success">
+This operation does not require authentication
+</aside>
+<h2 id="update-an-existing-deployment">Update an existing deployment</h2>
+<p><a id="opIdUpdate Deployment"></a></p>
+<blockquote>
+<p>Code samples</p>
+</blockquote>
+<pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
+headers = {
+ <span class="hljs-string">'Content-Type'</span>: <span class="hljs-string">'application/json'</span>
+}
+
+r = requests.put(<span class="hljs-string">'https://dcae-dashboard:8080/ccsdk-app-os/nb-api/deployments/{deploymentId}/update'</span>, params={
+
+}, headers = headers)
+
+<span class="hljs-keyword">print</span> r.json()
+
+</code></pre>
+<pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
+curl -X PUT https://dcae-dashboard:8080/ccsdk-app-os/nb-api/deployments/{deploymentId}/update \
+ -H <span class="hljs-string">'Content-Type: application/json'</span>
+
+</code></pre>
+<p><code>PUT /deployments/{deploymentId}/update</code></p>
+<p>Dispatch a request to Deployment handler mS to use Cloudify deployment update operation</p>
+<blockquote>
+<p>Body parameter</p>
+</blockquote>
+<pre class="highlight tab tab-json"><code>{
+ <span class="hljs-attr">"component"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"tag"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"blueprintId"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"blueprintName"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"blueprintVersion"</span>: <span class="hljs-number">0</span>,
+ <span class="hljs-attr">"tenant"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"inputs"</span>: {}
+}
+</code></pre>
+<h3 id="update-an-existing-deployment-parameters">Parameters</h3>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>In</th>
+<th>Type</th>
+<th>Required</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>deploymentId</td>
+<td>path</td>
+<td>string</td>
+<td>true</td>
+<td>ID of deployment to update</td>
+</tr>
+<tr>
+<td>body</td>
+<td>body</td>
+<td><a href="#schemadeploymentinput">DeploymentInput</a></td>
+<td>true</td>
+<td>Inputs to initiate a deployment: blueprint ID from inventory, Cloudify tenant name, blueprint inputs</td>
+</tr>
+</tbody>
+</table>
+<h3 id="update-an-existing-deployment-responses">Responses</h3>
+<table>
+<thead>
+<tr>
+<th>Status</th>
+<th>Meaning</th>
+<th>Description</th>
+<th>Schema</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>400</td>
+<td><a href="https://tools.ietf.org/html/rfc7231#section-6.5.1">Bad Request</a></td>
+<td>Invalid ID supplied</td>
+<td>None</td>
+</tr>
+<tr>
+<td>404</td>
+<td><a href="https://tools.ietf.org/html/rfc7231#section-6.5.4">Not Found</a></td>
+<td>Deployment not found</td>
+<td>None</td>
+</tr>
+<tr>
+<td>405</td>
+<td><a href="https://tools.ietf.org/html/rfc7231#section-6.5.5">Method Not Allowed</a></td>
+<td>Validation exception</td>
+<td>None</td>
+</tr>
+</tbody>
+</table>
+<aside class="success">
+This operation does not require authentication
+</aside>
+<h2 id="deployment-execution-status">Deployment execution status</h2>
+<p><a id="opIdDeployment Status"></a></p>
+<blockquote>
+<p>Code samples</p>
+</blockquote>
+<pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
+headers = {
+ <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>
+}
+
+r = requests.get(<span class="hljs-string">'https://dcae-dashboard:8080/ccsdk-app-os/nb-api/deployments/{deploymentId}/executions'</span>, params={
+ <span class="hljs-string">'tenant'</span>: <span class="hljs-string">'string'</span>
+}, headers = headers)
+
+<span class="hljs-keyword">print</span> r.json()
+
+</code></pre>
+<pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
+curl -X GET https://dcae-dashboard:8080/ccsdk-app-os/nb-api/deployments/{deploymentId}/executions?tenant=string \
+ -H <span class="hljs-string">'Accept: application/json'</span>
+
+</code></pre>
+<p><code>GET /deployments/{deploymentId}/executions</code></p>
+<p>Query deployment workflow execution status</p>
+<h3 id="deployment-execution-status-parameters">Parameters</h3>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>In</th>
+<th>Type</th>
+<th>Required</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>deploymentId</td>
+<td>path</td>
+<td>string</td>
+<td>true</td>
+<td>ID of deployment to query execution status</td>
+</tr>
+<tr>
+<td>tenant</td>
+<td>query</td>
+<td>string</td>
+<td>true</td>
+<td>tenant name associated with the deployment</td>
+</tr>
+</tbody>
+</table>
+<blockquote>
+<p>Example responses</p>
+</blockquote>
+<blockquote>
+<p>200 Response</p>
+</blockquote>
+<pre class="highlight tab tab-json"><code>[
+ {
+ <span class="hljs-attr">"created_at"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"deployment_id"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"id"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"status"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"workflow_id"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"tenant_name"</span>: <span class="hljs-string">"string"</span>
+ }
+]
+</code></pre>
+<h3 id="deployment-execution-status-responses">Responses</h3>
+<table>
+<thead>
+<tr>
+<th>Status</th>
+<th>Meaning</th>
+<th>Description</th>
+<th>Schema</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>200</td>
+<td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
+<td>successful operation</td>
+<td>Inline</td>
+</tr>
+<tr>
+<td>400</td>
+<td><a href="https://tools.ietf.org/html/rfc7231#section-6.5.1">Bad Request</a></td>
+<td>Invalid status value</td>
+<td>None</td>
+</tr>
+</tbody>
+</table>
+<h3 id="deployment-execution-status-responseschema">Response Schema</h3>
+<p>Status Code <strong>200</strong></p>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>Type</th>
+<th>Required</th>
+<th>Restrictions</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><em>anonymous</em></td>
+<td>[<a href="#schemaexecution">execution</a>]</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยป created_at</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>The time the execution was queued at</td>
+</tr>
+<tr>
+<td>ยป deployment_id</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>The id of the deployment the execution is in the context of</td>
+</tr>
+<tr>
+<td>ยป id</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>A unique identifier for the execution</td>
+</tr>
+<tr>
+<td>ยป status</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>The executions status</td>
+</tr>
+<tr>
+<td>ยป workflow_id</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>The id/name of the workflow the execution is of</td>
+</tr>
+<tr>
+<td>ยป tenant_name</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>Cloudify tenant name where the deployment was done</td>
+</tr>
+</tbody>
+</table>
+<aside class="success">
+This operation does not require authentication
+</aside>
+<h2 id="deployment-health-status">Deployment health status</h2>
+<p><a id="opIdDeployment health"></a></p>
+<blockquote>
+<p>Code samples</p>
+</blockquote>
+<pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
+headers = {
+ <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>
+}
+
+r = requests.get(<span class="hljs-string">'https://dcae-dashboard:8080/ccsdk-app-os/nb-api/deployments/{deploymentId}/health'</span>, params={
+
+}, headers = headers)
+
+<span class="hljs-keyword">print</span> r.json()
+
+</code></pre>
+<pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
+curl -X GET https://dcae-dashboard:8080/ccsdk-app-os/nb-api/deployments/{deploymentId}/health \
+ -H <span class="hljs-string">'Accept: application/json'</span>
+
+</code></pre>
+<p><code>GET /deployments/{deploymentId}/health</code></p>
+<p>Query consul for service health using deployment ID filter</p>
+<h3 id="deployment-health-status-parameters">Parameters</h3>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>In</th>
+<th>Type</th>
+<th>Required</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>deploymentId</td>
+<td>path</td>
+<td>string</td>
+<td>true</td>
+<td>ID of deployment to query service health</td>
+</tr>
+</tbody>
+</table>
+<blockquote>
+<p>Example responses</p>
+</blockquote>
+<blockquote>
+<p>200 Response</p>
+</blockquote>
+<pre class="highlight tab tab-json"><code>{
+ <span class="hljs-attr">"node"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"checkID"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"name"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"status"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"serviceID"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"serviceName"</span>: <span class="hljs-string">"string"</span>
+}
+</code></pre>
+<h3 id="deployment-health-status-responses">Responses</h3>
+<table>
+<thead>
+<tr>
+<th>Status</th>
+<th>Meaning</th>
+<th>Description</th>
+<th>Schema</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>200</td>
+<td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
+<td>successful operation</td>
+<td><a href="#schemaservicehealth">serviceHealth</a></td>
+</tr>
+</tbody>
+</table>
+<aside class="success">
+This operation does not require authentication
+</aside>
+<h2 id="deployment-inputs">Deployment inputs</h2>
+<p><a id="opIdDeployment Inputs"></a></p>
+<blockquote>
+<p>Code samples</p>
+</blockquote>
+<pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
+headers = {
+ <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>
+}
+
+r = requests.get(<span class="hljs-string">'https://dcae-dashboard:8080/ccsdk-app-os/nb-api/deployments/{deploymentId}/inputs'</span>, params={
+ <span class="hljs-string">'tenant'</span>: <span class="hljs-string">'string'</span>
+}, headers = headers)
+
+<span class="hljs-keyword">print</span> r.json()
+
+</code></pre>
+<pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
+curl -X GET https://dcae-dashboard:8080/ccsdk-app-os/nb-api/deployments/{deploymentId}/inputs?tenant=string \
+ -H <span class="hljs-string">'Accept: application/json'</span>
+
+</code></pre>
+<p><code>GET /deployments/{deploymentId}/inputs</code></p>
+<p>Get blueprint inputs used to create deployment</p>
+<h3 id="deployment-inputs-parameters">Parameters</h3>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>In</th>
+<th>Type</th>
+<th>Required</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>deploymentId</td>
+<td>path</td>
+<td>string</td>
+<td>true</td>
+<td>ID of deployment to query execution status</td>
+</tr>
+<tr>
+<td>tenant</td>
+<td>query</td>
+<td>string</td>
+<td>true</td>
+<td>tenant name associated with the deployment</td>
+</tr>
+</tbody>
+</table>
+<blockquote>
+<p>Example responses</p>
+</blockquote>
+<blockquote>
+<p>200 Response</p>
+</blockquote>
+<pre class="highlight tab tab-json"><code>{}
+</code></pre>
+<h3 id="deployment-inputs-responses">Responses</h3>
+<table>
+<thead>
+<tr>
+<th>Status</th>
+<th>Meaning</th>
+<th>Description</th>
+<th>Schema</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>200</td>
+<td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
+<td>successful operation</td>
+<td>Inline</td>
+</tr>
+<tr>
+<td>400</td>
+<td><a href="https://tools.ietf.org/html/rfc7231#section-6.5.1">Bad Request</a></td>
+<td>Invalid status value</td>
+<td>None</td>
+</tr>
+</tbody>
+</table>
+<h3 id="deployment-inputs-responseschema">Response Schema</h3>
+<aside class="success">
+This operation does not require authentication
+</aside>
+<h1 id="dcae-dashboard-api-tenants">Tenants</h1>
+<p>Query Cloudify Tenants</p>
+<h2 id="lists-all-cloudify-tenants">Lists all Cloudify Tenants</h2>
+<p><a id="opIdList Tenants"></a></p>
+<blockquote>
+<p>Code samples</p>
+</blockquote>
+<pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
+headers = {
+ <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>
+}
+
+r = requests.get(<span class="hljs-string">'https://dcae-dashboard:8080/ccsdk-app-os/nb-api/tenants'</span>, params={
+
+}, headers = headers)
+
+<span class="hljs-keyword">print</span> r.json()
+
+</code></pre>
+<pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
+curl -X GET https://dcae-dashboard:8080/ccsdk-app-os/nb-api/tenants \
+ -H <span class="hljs-string">'Accept: application/json'</span>
+
+</code></pre>
+<p><code>GET /tenants</code></p>
+<p>Query all Tenant names from Cloudify</p>
+<blockquote>
+<p>Example responses</p>
+</blockquote>
+<blockquote>
+<p>200 Response</p>
+</blockquote>
+<pre class="highlight tab tab-json"><code>[
+ {
+ <span class="hljs-attr">"name"</span>: <span class="hljs-string">"string"</span>
+ }
+]
+</code></pre>
+<h3 id="lists-all-cloudify-tenants-responses">Responses</h3>
+<table>
+<thead>
+<tr>
+<th>Status</th>
+<th>Meaning</th>
+<th>Description</th>
+<th>Schema</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>200</td>
+<td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
+<td>successful operation</td>
+<td>Inline</td>
+</tr>
+<tr>
+<td>400</td>
+<td><a href="https://tools.ietf.org/html/rfc7231#section-6.5.1">Bad Request</a></td>
+<td>Invalid status value</td>
+<td>None</td>
+</tr>
+</tbody>
+</table>
+<h3 id="lists-all-cloudify-tenants-responseschema">Response Schema</h3>
+<p>Status Code <strong>200</strong></p>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>Type</th>
+<th>Required</th>
+<th>Restrictions</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><em>anonymous</em></td>
+<td>[<a href="#schematenant">Tenant</a>]</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยป name</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>cloudify tenant name</td>
+</tr>
+</tbody>
+</table>
+<aside class="success">
+This operation does not require authentication
+</aside>
+<h1 id="dcae-dashboard-api-components">Components</h1>
+<p>Query on-boarded components</p>
+<h2 id="lists-all-application-components">Lists all application components</h2>
+<p><a id="opIdList Components"></a></p>
+<blockquote>
+<p>Code samples</p>
+</blockquote>
+<pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
+headers = {
+ <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>
+}
+
+r = requests.get(<span class="hljs-string">'https://dcae-dashboard:8080/ccsdk-app-os/nb-api/components'</span>, params={
+
+}, headers = headers)
+
+<span class="hljs-keyword">print</span> r.json()
+
+</code></pre>
+<pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
+curl -X GET https://dcae-dashboard:8080/ccsdk-app-os/nb-api/components \
+ -H <span class="hljs-string">'Accept: application/json'</span>
+
+</code></pre>
+<p><code>GET /components</code></p>
+<p>Query all components from database</p>
+<blockquote>
+<p>Example responses</p>
+</blockquote>
+<blockquote>
+<p>200 Response</p>
+</blockquote>
+<pre class="highlight tab tab-json"><code>[
+ {
+ <span class="hljs-attr">"compId"</span>: <span class="hljs-number">0</span>,
+ <span class="hljs-attr">"cname"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"dname"</span>: <span class="hljs-string">"string"</span>
+ }
+]
+</code></pre>
+<h3 id="lists-all-application-components-responses">Responses</h3>
+<table>
+<thead>
+<tr>
+<th>Status</th>
+<th>Meaning</th>
+<th>Description</th>
+<th>Schema</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>200</td>
+<td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
+<td>successful operation</td>
+<td>Inline</td>
+</tr>
+<tr>
+<td>400</td>
+<td><a href="https://tools.ietf.org/html/rfc7231#section-6.5.1">Bad Request</a></td>
+<td>Invalid status value</td>
+<td>None</td>
+</tr>
+</tbody>
+</table>
+<h3 id="lists-all-application-components-responseschema">Response Schema</h3>
+<p>Status Code <strong>200</strong></p>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>Type</th>
+<th>Required</th>
+<th>Restrictions</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><em>anonymous</em></td>
+<td>[<a href="#schemacomponent">Component</a>]</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยป compId</td>
+<td>integer</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยป cname</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>component namespace name</td>
+</tr>
+<tr>
+<td>ยป dname</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>component display name</td>
+</tr>
+</tbody>
+</table>
+<aside class="success">
+This operation does not require authentication
+</aside>
+<h2 id="add-an-application-component">add an application component</h2>
+<p><a id="opIdAdd Component"></a></p>
+<blockquote>
+<p>Code samples</p>
+</blockquote>
+<pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
+headers = {
+ <span class="hljs-string">'Content-Type'</span>: <span class="hljs-string">'application/json'</span>,
+ <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'*/*'</span>
+}
+
+r = requests.post(<span class="hljs-string">'https://dcae-dashboard:8080/ccsdk-app-os/nb-api/components'</span>, params={
+
+}, headers = headers)
+
+<span class="hljs-keyword">print</span> r.json()
+
+</code></pre>
+<pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
+curl -X POST https://dcae-dashboard:8080/ccsdk-app-os/nb-api/components \
+ -H <span class="hljs-string">'Content-Type: application/json'</span> \
+ -H <span class="hljs-string">'Accept: */*'</span>
+
+</code></pre>
+<p><code>POST /components</code></p>
+<p>Insert a component into database</p>
+<blockquote>
+<p>Body parameter</p>
+</blockquote>
+<pre class="highlight tab tab-json"><code>{
+ <span class="hljs-attr">"cname"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"dname"</span>: <span class="hljs-string">"string"</span>
+}
+</code></pre>
+<h3 id="add-an-application-component-parameters">Parameters</h3>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>In</th>
+<th>Type</th>
+<th>Required</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>body</td>
+<td>body</td>
+<td><a href="#schemacomponentinput">ComponentInput</a></td>
+<td>true</td>
+<td>New component input</td>
+</tr>
+</tbody>
+</table>
+<blockquote>
+<p>Example responses</p>
+</blockquote>
+<blockquote>
+<p>200 Response</p>
+</blockquote>
+<h3 id="add-an-application-component-responses">Responses</h3>
+<table>
+<thead>
+<tr>
+<th>Status</th>
+<th>Meaning</th>
+<th>Description</th>
+<th>Schema</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>200</td>
+<td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
+<td>successful operation</td>
+<td>Inline</td>
+</tr>
+<tr>
+<td>400</td>
+<td><a href="https://tools.ietf.org/html/rfc7231#section-6.5.1">Bad Request</a></td>
+<td>Invalid status value</td>
+<td>None</td>
+</tr>
+</tbody>
+</table>
+<h3 id="add-an-application-component-responseschema">Response Schema</h3>
+<aside class="success">
+This operation does not require authentication
+</aside>
+<h1 id="schemas">Schemas</h1>
+<h2 id="tocstenant">Tenant</h2>
+<p><a id="schematenant"></a></p>
+<pre class="highlight tab tab-json"><code>{
+ <span class="hljs-attr">"name"</span>: <span class="hljs-string">"string"</span>
+}
+
+</code></pre>
+<h3 id="properties">Properties</h3>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>Type</th>
+<th>Required</th>
+<th>Restrictions</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>name</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>cloudify tenant name</td>
+</tr>
+</tbody>
+</table>
+<h2 id="tocscomponent">Component</h2>
+<p><a id="schemacomponent"></a></p>
+<pre class="highlight tab tab-json"><code>{
+ <span class="hljs-attr">"compId"</span>: <span class="hljs-number">0</span>,
+ <span class="hljs-attr">"cname"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"dname"</span>: <span class="hljs-string">"string"</span>
+}
+
+</code></pre>
+<h3 id="properties">Properties</h3>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>Type</th>
+<th>Required</th>
+<th>Restrictions</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>compId</td>
+<td>integer</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>cname</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>component namespace name</td>
+</tr>
+<tr>
+<td>dname</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>component display name</td>
+</tr>
+</tbody>
+</table>
+<h2 id="tocscomponentinput">ComponentInput</h2>
+<p><a id="schemacomponentinput"></a></p>
+<pre class="highlight tab tab-json"><code>{
+ <span class="hljs-attr">"cname"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"dname"</span>: <span class="hljs-string">"string"</span>
+}
+
+</code></pre>
+<h3 id="properties">Properties</h3>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>Type</th>
+<th>Required</th>
+<th>Restrictions</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>cname</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>component namespace name</td>
+</tr>
+<tr>
+<td>dname</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>component display name</td>
+</tr>
+</tbody>
+</table>
+<h2 id="tocsinlineresponse200">InlineResponse200</h2>
+<p><a id="schemainlineresponse200"></a></p>
+<pre class="highlight tab tab-json"><code>{
+ <span class="hljs-attr">"links"</span>: {
+ <span class="hljs-attr">"previousLink"</span>: {
+ <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"rel"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"uri"</span>: <span class="hljs-string">"http://example.com"</span>,
+ <span class="hljs-attr">"uriBuilder"</span>: {},
+ <span class="hljs-attr">"rels"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"params"</span>: {
+ <span class="hljs-attr">"property1"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"property2"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"nextLink"</span>: {
+ <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"rel"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"uri"</span>: <span class="hljs-string">"http://example.com"</span>,
+ <span class="hljs-attr">"uriBuilder"</span>: {},
+ <span class="hljs-attr">"rels"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"params"</span>: {
+ <span class="hljs-attr">"property1"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"property2"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
+ }
+ },
+ <span class="hljs-attr">"totalCount"</span>: <span class="hljs-number">0</span>,
+ <span class="hljs-attr">"items"</span>: [
+ {
+ <span class="hljs-attr">"owner"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"typeName"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"typeVersion"</span>: <span class="hljs-number">0</span>,
+ <span class="hljs-attr">"blueprintTemplate"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"serviceIds"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"vnfTypes"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"serviceLocations"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"asdcServiceId"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"asdcResourceId"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"asdcServiceURL"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"typeId"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"selfLink"</span>: {
+ <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"rel"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"uri"</span>: <span class="hljs-string">"http://example.com"</span>,
+ <span class="hljs-attr">"uriBuilder"</span>: {},
+ <span class="hljs-attr">"rels"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"params"</span>: {
+ <span class="hljs-attr">"property1"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"property2"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"created"</span>: <span class="hljs-string">"2020-02-05T21:21:26Z"</span>,
+ <span class="hljs-attr">"deactivated"</span>: <span class="hljs-string">"2020-02-05T21:21:26Z"</span>
+ }
+ ]
+}
+
+</code></pre>
+<h3 id="properties">Properties</h3>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>Type</th>
+<th>Required</th>
+<th>Restrictions</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>links</td>
+<td><a href="#schemainlineresponse200links">InlineResponse200Links</a></td>
+<td>false</td>
+<td>none</td>
+<td>Pagination links</td>
+</tr>
+<tr>
+<td>totalCount</td>
+<td>integer(int32)</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>items</td>
+<td>[<a href="#schemadcaeservicetype">DCAEServiceType</a>]</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+</tbody>
+</table>
+<h2 id="tocsinlineresponse200links">InlineResponse200Links</h2>
+<p><a id="schemainlineresponse200links"></a></p>
+<pre class="highlight tab tab-json"><code>{
+ <span class="hljs-attr">"previousLink"</span>: {
+ <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"rel"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"uri"</span>: <span class="hljs-string">"http://example.com"</span>,
+ <span class="hljs-attr">"uriBuilder"</span>: {},
+ <span class="hljs-attr">"rels"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"params"</span>: {
+ <span class="hljs-attr">"property1"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"property2"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"nextLink"</span>: {
+ <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"rel"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"uri"</span>: <span class="hljs-string">"http://example.com"</span>,
+ <span class="hljs-attr">"uriBuilder"</span>: {},
+ <span class="hljs-attr">"rels"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"params"</span>: {
+ <span class="hljs-attr">"property1"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"property2"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
+ }
+}
+
+</code></pre>
+<p><em>Pagination links</em></p>
+<h3 id="properties">Properties</h3>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>Type</th>
+<th>Required</th>
+<th>Restrictions</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>previousLink</td>
+<td><a href="#schemalink">Link</a></td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>nextLink</td>
+<td><a href="#schemalink">Link</a></td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+</tbody>
+</table>
+<h2 id="tocsapiresponsemessage">ApiResponseMessage</h2>
+<p><a id="schemaapiresponsemessage"></a></p>
+<pre class="highlight tab tab-json"><code>{
+ <span class="hljs-attr">"code"</span>: <span class="hljs-number">0</span>,
+ <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"message"</span>: <span class="hljs-string">"string"</span>
+}
+
+</code></pre>
+<h3 id="properties">Properties</h3>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>Type</th>
+<th>Required</th>
+<th>Restrictions</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>code</td>
+<td>integer(int32)</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>type</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>message</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+</tbody>
+</table>
+<h2 id="tocsdcaeservice">DCAEService</h2>
+<p><a id="schemadcaeservice"></a></p>
+<pre class="highlight tab tab-json"><code>{
+ <span class="hljs-attr">"serviceId"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"selfLink"</span>: {
+ <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"rel"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"uri"</span>: <span class="hljs-string">"http://example.com"</span>,
+ <span class="hljs-attr">"uriBuilder"</span>: {},
+ <span class="hljs-attr">"rels"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"params"</span>: {
+ <span class="hljs-attr">"property1"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"property2"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"created"</span>: <span class="hljs-string">"2020-02-05T21:21:26Z"</span>,
+ <span class="hljs-attr">"modified"</span>: <span class="hljs-string">"2020-02-05T21:21:26Z"</span>,
+ <span class="hljs-attr">"typeLink"</span>: {
+ <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"rel"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"uri"</span>: <span class="hljs-string">"http://example.com"</span>,
+ <span class="hljs-attr">"uriBuilder"</span>: {},
+ <span class="hljs-attr">"rels"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"params"</span>: {
+ <span class="hljs-attr">"property1"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"property2"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"vnfId"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"vnfLink"</span>: {
+ <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"rel"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"uri"</span>: <span class="hljs-string">"http://example.com"</span>,
+ <span class="hljs-attr">"uriBuilder"</span>: {},
+ <span class="hljs-attr">"rels"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"params"</span>: {
+ <span class="hljs-attr">"property1"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"property2"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"vnfType"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"vnfLocation"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"deploymentRef"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"components"</span>: [
+ {
+ <span class="hljs-attr">"componentId"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"componentLink"</span>: {
+ <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"rel"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"uri"</span>: <span class="hljs-string">"http://example.com"</span>,
+ <span class="hljs-attr">"uriBuilder"</span>: {},
+ <span class="hljs-attr">"rels"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"params"</span>: {
+ <span class="hljs-attr">"property1"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"property2"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"created"</span>: <span class="hljs-string">"2020-02-05T21:21:26Z"</span>,
+ <span class="hljs-attr">"modified"</span>: <span class="hljs-string">"2020-02-05T21:21:26Z"</span>,
+ <span class="hljs-attr">"componentType"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"componentSource"</span>: <span class="hljs-string">"DCAEController"</span>,
+ <span class="hljs-attr">"status"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"location"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"shareable"</span>: <span class="hljs-number">0</span>
+ }
+ ],
+ <span class="hljs-attr">"tenant"</span>: <span class="hljs-string">"string"</span>
+}
+
+</code></pre>
+<h3 id="properties">Properties</h3>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>Type</th>
+<th>Required</th>
+<th>Restrictions</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>serviceId</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>selfLink</td>
+<td><a href="#schemalink">Link</a></td>
+<td>false</td>
+<td>none</td>
+<td>Link.title is serviceId</td>
+</tr>
+<tr>
+<td>created</td>
+<td>string(date-time)</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>modified</td>
+<td>string(date-time)</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>typeLink</td>
+<td><a href="#schemalink">Link</a></td>
+<td>false</td>
+<td>none</td>
+<td>Link.title is typeId</td>
+</tr>
+<tr>
+<td>vnfId</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>vnfLink</td>
+<td><a href="#schemalink">Link</a></td>
+<td>false</td>
+<td>none</td>
+<td>Link.title is vnfId</td>
+</tr>
+<tr>
+<td>vnfType</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>vnfLocation</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>Location information of the associated VNF</td>
+</tr>
+<tr>
+<td>deploymentRef</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>Reference to a Cloudify deployment</td>
+</tr>
+<tr>
+<td>components</td>
+<td>[<a href="#schemadcaeservicecomponent">DCAEServiceComponent</a>]</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>tenant</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>cloudify tenant name</td>
+</tr>
+</tbody>
+</table>
+<h2 id="tocsinlineresponse2001">InlineResponse2001</h2>
+<p><a id="schemainlineresponse2001"></a></p>
+<pre class="highlight tab tab-json"><code>{
+ <span class="hljs-attr">"links"</span>: {
+ <span class="hljs-attr">"previousLink"</span>: {
+ <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"rel"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"uri"</span>: <span class="hljs-string">"http://example.com"</span>,
+ <span class="hljs-attr">"uriBuilder"</span>: {},
+ <span class="hljs-attr">"rels"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"params"</span>: {
+ <span class="hljs-attr">"property1"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"property2"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"nextLink"</span>: {
+ <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"rel"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"uri"</span>: <span class="hljs-string">"http://example.com"</span>,
+ <span class="hljs-attr">"uriBuilder"</span>: {},
+ <span class="hljs-attr">"rels"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"params"</span>: {
+ <span class="hljs-attr">"property1"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"property2"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
+ }
+ },
+ <span class="hljs-attr">"totalCount"</span>: <span class="hljs-number">0</span>,
+ <span class="hljs-attr">"items"</span>: [
+ {
+ <span class="hljs-attr">"serviceId"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"selfLink"</span>: {
+ <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"rel"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"uri"</span>: <span class="hljs-string">"http://example.com"</span>,
+ <span class="hljs-attr">"uriBuilder"</span>: {},
+ <span class="hljs-attr">"rels"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"params"</span>: {
+ <span class="hljs-attr">"property1"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"property2"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"created"</span>: <span class="hljs-string">"2020-02-05T21:21:26Z"</span>,
+ <span class="hljs-attr">"modified"</span>: <span class="hljs-string">"2020-02-05T21:21:26Z"</span>,
+ <span class="hljs-attr">"typeLink"</span>: {
+ <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"rel"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"uri"</span>: <span class="hljs-string">"http://example.com"</span>,
+ <span class="hljs-attr">"uriBuilder"</span>: {},
+ <span class="hljs-attr">"rels"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"params"</span>: {
+ <span class="hljs-attr">"property1"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"property2"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"vnfId"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"vnfLink"</span>: {
+ <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"rel"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"uri"</span>: <span class="hljs-string">"http://example.com"</span>,
+ <span class="hljs-attr">"uriBuilder"</span>: {},
+ <span class="hljs-attr">"rels"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"params"</span>: {
+ <span class="hljs-attr">"property1"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"property2"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"vnfType"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"vnfLocation"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"deploymentRef"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"components"</span>: [
+ {
+ <span class="hljs-attr">"componentId"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"componentLink"</span>: {
+ <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"rel"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"uri"</span>: <span class="hljs-string">"http://example.com"</span>,
+ <span class="hljs-attr">"uriBuilder"</span>: {},
+ <span class="hljs-attr">"rels"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"params"</span>: {
+ <span class="hljs-attr">"property1"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"property2"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"created"</span>: <span class="hljs-string">"2020-02-05T21:21:26Z"</span>,
+ <span class="hljs-attr">"modified"</span>: <span class="hljs-string">"2020-02-05T21:21:26Z"</span>,
+ <span class="hljs-attr">"componentType"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"componentSource"</span>: <span class="hljs-string">"DCAEController"</span>,
+ <span class="hljs-attr">"status"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"location"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"shareable"</span>: <span class="hljs-number">0</span>
+ }
+ ],
+ <span class="hljs-attr">"tenant"</span>: <span class="hljs-string">"string"</span>
+ }
+ ]
+}
+
+</code></pre>
+<h3 id="properties">Properties</h3>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>Type</th>
+<th>Required</th>
+<th>Restrictions</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>links</td>
+<td><a href="#schemainlineresponse200links">InlineResponse200Links</a></td>
+<td>false</td>
+<td>none</td>
+<td>Pagination links</td>
+</tr>
+<tr>
+<td>totalCount</td>
+<td>integer(int32)</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>items</td>
+<td>[<a href="#schemadcaeservice">DCAEService</a>]</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+</tbody>
+</table>
+<h2 id="tocsuribuilder">UriBuilder</h2>
+<p><a id="schemauribuilder"></a></p>
+<pre class="highlight tab tab-json"><code>{}
+
+</code></pre>
+<h3 id="properties">Properties</h3>
+<p><em>None</em></p>
+<h2 id="tocslink">Link</h2>
+<p><a id="schemalink"></a></p>
+<pre class="highlight tab tab-json"><code>{
+ <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"rel"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"uri"</span>: <span class="hljs-string">"http://example.com"</span>,
+ <span class="hljs-attr">"uriBuilder"</span>: {},
+ <span class="hljs-attr">"rels"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"params"</span>: {
+ <span class="hljs-attr">"property1"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"property2"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
+}
+
+</code></pre>
+<h3 id="properties">Properties</h3>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>Type</th>
+<th>Required</th>
+<th>Restrictions</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>title</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>rel</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>uri</td>
+<td>string(uri)</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>uriBuilder</td>
+<td><a href="#schemauribuilder">UriBuilder</a></td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>rels</td>
+<td>[string]</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>params</td>
+<td>object</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>ยป <strong>additionalProperties</strong></td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>type</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+</tbody>
+</table>
+<h2 id="tocsdcaeservicecomponent">DCAEServiceComponent</h2>
+<p><a id="schemadcaeservicecomponent"></a></p>
+<pre class="highlight tab tab-json"><code>{
+ <span class="hljs-attr">"componentId"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"componentLink"</span>: {
+ <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"rel"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"uri"</span>: <span class="hljs-string">"http://example.com"</span>,
+ <span class="hljs-attr">"uriBuilder"</span>: {},
+ <span class="hljs-attr">"rels"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"params"</span>: {
+ <span class="hljs-attr">"property1"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"property2"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"created"</span>: <span class="hljs-string">"2020-02-05T21:21:26Z"</span>,
+ <span class="hljs-attr">"modified"</span>: <span class="hljs-string">"2020-02-05T21:21:26Z"</span>,
+ <span class="hljs-attr">"componentType"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"componentSource"</span>: <span class="hljs-string">"DCAEController"</span>,
+ <span class="hljs-attr">"status"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"location"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"shareable"</span>: <span class="hljs-number">0</span>
+}
+
+</code></pre>
+<h3 id="properties">Properties</h3>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>Type</th>
+<th>Required</th>
+<th>Restrictions</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>componentId</td>
+<td>string</td>
+<td>true</td>
+<td>none</td>
+<td>The id format is unique to the source</td>
+</tr>
+<tr>
+<td>componentLink</td>
+<td><a href="#schemalink">Link</a></td>
+<td>true</td>
+<td>none</td>
+<td>Link to the underlying resource of this component</td>
+</tr>
+<tr>
+<td>created</td>
+<td>string(date-time)</td>
+<td>true</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>modified</td>
+<td>string(date-time)</td>
+<td>true</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>componentType</td>
+<td>string</td>
+<td>true</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>componentSource</td>
+<td>string</td>
+<td>true</td>
+<td>none</td>
+<td>Specifies the name of the underying source service that is responsible for this components</td>
+</tr>
+<tr>
+<td>status</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>location</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>Location information of the component</td>
+</tr>
+<tr>
+<td>shareable</td>
+<td>integer(int32)</td>
+<td>true</td>
+<td>none</td>
+<td>Used to determine if this component can be shared amongst different DCAE services</td>
+</tr>
+</tbody>
+</table>
+<h4 id="enumerated-values">Enumerated Values</h4>
+<table>
+<thead>
+<tr>
+<th>Property</th>
+<th>Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>componentSource</td>
+<td>DCAEController</td>
+</tr>
+<tr>
+<td>componentSource</td>
+<td>DMaaPController</td>
+</tr>
+</tbody>
+</table>
+<h2 id="tocsdcaeservicetyperequest">DCAEServiceTypeRequest</h2>
+<p><a id="schemadcaeservicetyperequest"></a></p>
+<pre class="highlight tab tab-json"><code>{
+ <span class="hljs-attr">"owner"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"typeName"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"typeVersion"</span>: <span class="hljs-number">0</span>,
+ <span class="hljs-attr">"blueprintTemplate"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"application"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"component"</span>: <span class="hljs-string">"string"</span>
+}
+
+</code></pre>
+<h3 id="properties">Properties</h3>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>Type</th>
+<th>Required</th>
+<th>Restrictions</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>owner</td>
+<td>string</td>
+<td>true</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>typeName</td>
+<td>string</td>
+<td>true</td>
+<td>none</td>
+<td>Descriptive name for this DCAE service type</td>
+</tr>
+<tr>
+<td>typeVersion</td>
+<td>integer(int32)</td>
+<td>true</td>
+<td>none</td>
+<td>Version number for this DCAE service type</td>
+</tr>
+<tr>
+<td>blueprintTemplate</td>
+<td>string</td>
+<td>true</td>
+<td>none</td>
+<td>String representation of a Cloudify blueprint with unbound variables</td>
+</tr>
+<tr>
+<td>application</td>
+<td>string</td>
+<td>true</td>
+<td>none</td>
+<td>controller application name</td>
+</tr>
+<tr>
+<td>component</td>
+<td>string</td>
+<td>true</td>
+<td>none</td>
+<td>onboarding component name</td>
+</tr>
+</tbody>
+</table>
+<h2 id="tocsdcaeservicetype">DCAEServiceType</h2>
+<p><a id="schemadcaeservicetype"></a></p>
+<pre class="highlight tab tab-json"><code>{
+ <span class="hljs-attr">"owner"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"typeName"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"typeVersion"</span>: <span class="hljs-number">0</span>,
+ <span class="hljs-attr">"blueprintTemplate"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"serviceIds"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"vnfTypes"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"serviceLocations"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"asdcServiceId"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"asdcResourceId"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"asdcServiceURL"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"typeId"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"selfLink"</span>: {
+ <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"rel"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"uri"</span>: <span class="hljs-string">"http://example.com"</span>,
+ <span class="hljs-attr">"uriBuilder"</span>: {},
+ <span class="hljs-attr">"rels"</span>: [
+ <span class="hljs-string">"string"</span>
+ ],
+ <span class="hljs-attr">"params"</span>: {
+ <span class="hljs-attr">"property1"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"property2"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
+ },
+ <span class="hljs-attr">"created"</span>: <span class="hljs-string">"2020-02-05T21:21:26Z"</span>,
+ <span class="hljs-attr">"deactivated"</span>: <span class="hljs-string">"2020-02-05T21:21:26Z"</span>
+}
+
+</code></pre>
+<h3 id="properties">Properties</h3>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>Type</th>
+<th>Required</th>
+<th>Restrictions</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>owner</td>
+<td>string</td>
+<td>true</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>typeName</td>
+<td>string</td>
+<td>true</td>
+<td>none</td>
+<td>Descriptive name for this DCAE service type</td>
+</tr>
+<tr>
+<td>typeVersion</td>
+<td>integer(int32)</td>
+<td>true</td>
+<td>none</td>
+<td>Version number for this DCAE service type</td>
+</tr>
+<tr>
+<td>blueprintTemplate</td>
+<td>string</td>
+<td>true</td>
+<td>none</td>
+<td>String representation of a Cloudify blueprint with unbound variables</td>
+</tr>
+<tr>
+<td>serviceIds</td>
+<td>[string]</td>
+<td>false</td>
+<td>none</td>
+<td>List of service ids that are used to associate with DCAE service type. DCAE service types with this propery as null or empty means them apply for every service id.</td>
+</tr>
+<tr>
+<td>vnfTypes</td>
+<td>[string]</td>
+<td>false</td>
+<td>none</td>
+<td>none</td>
+</tr>
+<tr>
+<td>serviceLocations</td>
+<td>[string]</td>
+<td>false</td>
+<td>none</td>
+<td>List of service locations that are used to associate with DCAE service type. DCAE service types with this propery as null or empty means them apply for every service location.</td>
+</tr>
+<tr>
+<td>asdcServiceId</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>Id of service this DCAE service type is associated with. Value source is from ASDC's notification event's field <code>serviceInvariantUUID</code>.</td>
+</tr>
+<tr>
+<td>asdcResourceId</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>Id of vf/vnf instance this DCAE service type is associated with. Value source is from ASDC's notification event's field <code>resourceInvariantUUID</code>.</td>
+</tr>
+<tr>
+<td>asdcServiceURL</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>URL to the ASDC service model</td>
+</tr>
+<tr>
+<td>typeId</td>
+<td>string</td>
+<td>true</td>
+<td>none</td>
+<td>Unique identifier for this DCAE service type</td>
+</tr>
+<tr>
+<td>selfLink</td>
+<td><a href="#schemalink">Link</a></td>
+<td>true</td>
+<td>none</td>
+<td>Link to self where the Link.title is typeName</td>
+</tr>
+<tr>
+<td>created</td>
+<td>string(date-time)</td>
+<td>true</td>
+<td>none</td>
+<td>Created timestamp for this DCAE service type in epoch time</td>
+</tr>
+<tr>
+<td>deactivated</td>
+<td>string(date-time)</td>
+<td>false</td>
+<td>none</td>
+<td>Deactivated timestamp for this DCAE service type in epoch time</td>
+</tr>
+</tbody>
+</table>
+<h2 id="tocscloudifydeploymentupgraderequest">CloudifyDeploymentUpgradeRequest</h2>
+<p><a id="schemacloudifydeploymentupgraderequest"></a></p>
+<pre class="highlight tab tab-json"><code>{
+ <span class="hljs-attr">"chartVersion"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"chartRepo"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"config_url"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"config_format"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"tenant"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"workflow"</span>: <span class="hljs-string">"string"</span>
+}
+
+</code></pre>
+<h3 id="properties">Properties</h3>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>Type</th>
+<th>Required</th>
+<th>Restrictions</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>chartVersion</td>
+<td>string</td>
+<td>true</td>
+<td>none</td>
+<td>Helm package version used for install</td>
+</tr>
+<tr>
+<td>chartRepo</td>
+<td>string</td>
+<td>true</td>
+<td>none</td>
+<td>Helm repository URL for the chart</td>
+</tr>
+<tr>
+<td>config_url</td>
+<td>string</td>
+<td>true</td>
+<td>none</td>
+<td>Helm repository URL for the chart values to update</td>
+</tr>
+<tr>
+<td>config_format</td>
+<td>string</td>
+<td>true</td>
+<td>none</td>
+<td>yaml format or json format</td>
+</tr>
+<tr>
+<td>tenant</td>
+<td>string</td>
+<td>true</td>
+<td>none</td>
+<td>cloudify tenant name for the deployment upgrade</td>
+</tr>
+<tr>
+<td>workflow</td>
+<td>string</td>
+<td>true</td>
+<td>none</td>
+<td>input values are upgrade or rollback - helm upgrade workflow or helm rollback workflow</td>
+</tr>
+</tbody>
+</table>
+<h2 id="tocsdeploymentinput">DeploymentInput</h2>
+<p><a id="schemadeploymentinput"></a></p>
+<pre class="highlight tab tab-json"><code>{
+ <span class="hljs-attr">"component"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"tag"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"blueprintId"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"blueprintName"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"blueprintVersion"</span>: <span class="hljs-number">0</span>,
+ <span class="hljs-attr">"tenant"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"inputs"</span>: {}
+}
+
+</code></pre>
+<h3 id="properties">Properties</h3>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>Type</th>
+<th>Required</th>
+<th>Restrictions</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>component</td>
+<td>string</td>
+<td>true</td>
+<td>none</td>
+<td>component or namespace for the service</td>
+</tr>
+<tr>
+<td>tag</td>
+<td>string</td>
+<td>true</td>
+<td>none</td>
+<td>tag to identify the deployment</td>
+</tr>
+<tr>
+<td>blueprintId</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>typeId from inventory, a unique Id for the blueprint</td>
+</tr>
+<tr>
+<td>blueprintName</td>
+<td>string</td>
+<td>true</td>
+<td>none</td>
+<td>Descriptive name for this DCAE service type</td>
+</tr>
+<tr>
+<td>blueprintVersion</td>
+<td>integer(int32)</td>
+<td>false</td>
+<td>none</td>
+<td>Version number for this DCAE service type, optional. Defaults to latest version.</td>
+</tr>
+<tr>
+<td>tenant</td>
+<td>string</td>
+<td>true</td>
+<td>none</td>
+<td>cloudify tenant name</td>
+</tr>
+<tr>
+<td>inputs</td>
+<td>object</td>
+<td>true</td>
+<td>none</td>
+<td>JSON object containing the input parameter names and values</td>
+</tr>
+</tbody>
+</table>
+<h2 id="tocsdeploymentinputs">deploymentInputs</h2>
+<p><a id="schemadeploymentinputs"></a></p>
+<pre class="highlight tab tab-json"><code>{}
+
+</code></pre>
+<h3 id="properties">Properties</h3>
+<p><em>None</em></p>
+<h2 id="tocsservicehealth">serviceHealth</h2>
+<p><a id="schemaservicehealth"></a></p>
+<pre class="highlight tab tab-json"><code>{
+ <span class="hljs-attr">"node"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"checkID"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"name"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"status"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"serviceID"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"serviceName"</span>: <span class="hljs-string">"string"</span>
+}
+
+</code></pre>
+<h3 id="properties">Properties</h3>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>Type</th>
+<th>Required</th>
+<th>Restrictions</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>node</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>The node where service is deployed</td>
+</tr>
+<tr>
+<td>checkID</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>A unique identifier for the service health check</td>
+</tr>
+<tr>
+<td>name</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>A unique name for this service health check</td>
+</tr>
+<tr>
+<td>status</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>Health check status</td>
+</tr>
+<tr>
+<td>serviceID</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>An identifier containing combination of consul registration ID and consul service name</td>
+</tr>
+<tr>
+<td>serviceName</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>A unique consul service name</td>
+</tr>
+</tbody>
+</table>
+<h2 id="tocsexecution">execution</h2>
+<p><a id="schemaexecution"></a></p>
+<pre class="highlight tab tab-json"><code>{
+ <span class="hljs-attr">"created_at"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"deployment_id"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"id"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"status"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"workflow_id"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"tenant_name"</span>: <span class="hljs-string">"string"</span>
+}
+
+</code></pre>
+<h3 id="properties">Properties</h3>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>Type</th>
+<th>Required</th>
+<th>Restrictions</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>created_at</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>The time the execution was queued at</td>
+</tr>
+<tr>
+<td>deployment_id</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>The id of the deployment the execution is in the context of</td>
+</tr>
+<tr>
+<td>id</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>A unique identifier for the execution</td>
+</tr>
+<tr>
+<td>status</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>The executions status</td>
+</tr>
+<tr>
+<td>workflow_id</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>The id/name of the workflow the execution is of</td>
+</tr>
+<tr>
+<td>tenant_name</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>Cloudify tenant name where the deployment was done</td>
+</tr>
+</tbody>
+</table>
+<h2 id="tocsdeploymentresourcelinks">DeploymentResourceLinks</h2>
+<p><a id="schemadeploymentresourcelinks"></a></p>
+<pre class="highlight tab tab-json"><code>{
+ <span class="hljs-attr">"self"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"outcome"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"status"</span>: <span class="hljs-string">"string"</span>
+}
+
+</code></pre>
+<h3 id="properties">Properties</h3>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>Type</th>
+<th>Required</th>
+<th>Restrictions</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>self</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>Link to retrieve information about the service being deployed</td>
+</tr>
+<tr>
+<td>outcome</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>Link to retrieve information about deployment outcome</td>
+</tr>
+<tr>
+<td>status</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>Link to retrieve information about the status of the installation workflow</td>
+</tr>
+</tbody>
+</table>
+<h2 id="tocsdeploymentresource">DeploymentResource</h2>
+<p><a id="schemadeploymentresource"></a></p>
+<pre class="highlight tab tab-json"><code>{
+ <span class="hljs-attr">"deployment_id"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"links"</span>: {
+ <span class="hljs-attr">"self"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"outcome"</span>: <span class="hljs-string">"string"</span>,
+ <span class="hljs-attr">"status"</span>: <span class="hljs-string">"string"</span>
+ }
+}
+
+</code></pre>
+<h3 id="properties">Properties</h3>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>Type</th>
+<th>Required</th>
+<th>Restrictions</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>deployment_id</td>
+<td>string</td>
+<td>false</td>
+<td>none</td>
+<td>unique ID for the deployment resource</td>
+</tr>
+<tr>
+<td>links</td>
+<td><a href="#schemadeploymentresourcelinks">DeploymentResourceLinks</a></td>
+<td>false</td>
+<td>none</td>
+<td>Links that the API client can access</td>
+</tr>
+</tbody>
+</table>
+<!-- Renderer: Shins v2.4.0 -->
+ </div>
+ <div class="dark-box">
+
+ <div class="lang-selector">
+
+
+ <a href="#" data-language-name="python">Python</a>
+
+
+
+ <a href="#" data-language-name="shell">Shell</a>
+
+
+ </div>
+
+ </div>
+ </div>
+ </body>
+</html>