http://git-wip-us.apache.org/repos/asf/ambari/blob/fb86fb3b/ambari-web/api-docs/swagger-ui.js
----------------------------------------------------------------------
diff --git a/ambari-web/api-docs/swagger-ui.js 
b/ambari-web/api-docs/swagger-ui.js
new file mode 100644
index 0000000..c644c64
--- /dev/null
+++ b/ambari-web/api-docs/swagger-ui.js
@@ -0,0 +1,22644 @@
+/**
+ * swagger-ui - Swagger UI is a dependency-free collection of HTML, 
JavaScript, and CSS assets that dynamically generate beautiful documentation 
from a Swagger-compliant API
+ * @version v2.1.1-M2
+ * @link http://swagger.io
+ * @license Apache 2.0
+ */
+(function(){this["Handlebars"] = this["Handlebars"] || {};
+this["Handlebars"]["templates"] = this["Handlebars"]["templates"] || {};
+this["Handlebars"]["templates"]["apikey_button_view"] = 
Handlebars.template({"compiler":[6,">= 
2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) {
+  var helper, functionType="function", helperMissing=helpers.helperMissing, 
escapeExpression=this.escapeExpression;
+  return "<div class='auth_button' id='apikey_button'>\n    <!--img 
class='auth_icon' alt='apply api key' src='images/apikey.jpeg'-->\n</div>\n<div 
class='auth_container' id='apikey_container'>\n  <div 
class='key_input_container'>\n    <div class='auth_label'>"
+    + escapeExpression(((helper = (helper = helpers.keyName || (depth0 != null 
? depth0.keyName : depth0)) != null ? helper : helperMissing),(typeof helper 
=== functionType ? helper.call(depth0, 
{"name":"keyName","hash":{},"data":data}) : helper)))
+    + "</div>\n    <input placeholder=\"api_key\" class=\"auth_input\" 
id=\"input_apiKey_entry\" name=\"apiKey\" type=\"text\"/>\n    <div 
class='auth_submit'><a class='auth_submit_button' id=\"apply_api_key\" 
href=\"#\">apply</a></div>\n  </div>\n</div>\n\n";
+},"useData":true});
+this["Handlebars"]["templates"]["basic_auth_button_view"] = 
Handlebars.template({"compiler":[6,">= 
2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) {
+  return "<div class='auth_button' id='basic_auth_button'><img 
class='auth_icon' src='images/password.jpeg'></div>\n<div 
class='auth_container' id='basic_auth_container'>\n  <div 
class='key_input_container'>\n    <div class=\"auth_label\">Username</div>\n    
<input placeholder=\"username\" class=\"auth_input\" id=\"input_username\" 
name=\"username\" type=\"text\"/>\n    <div 
class=\"auth_label\">Password</div>\n    <input placeholder=\"password\" 
class=\"auth_input\" id=\"input_password\" name=\"password\" 
type=\"password\"/>\n    <div class='auth_submit'><a class='auth_submit_button' 
id=\"apply_basic_auth\" href=\"#\">apply</a></div>\n  </div>\n</div>\n\n";
+  },"useData":true});
+this["Handlebars"]["templates"]["content_type"] = 
Handlebars.template({"1":function(depth0,helpers,partials,data) {
+  var stack1, buffer = "";
+  stack1 = helpers.each.call(depth0, (depth0 != null ? depth0.produces : 
depth0), {"name":"each","hash":{},"fn":this.program(2, 
data),"inverse":this.noop,"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  return buffer;
+},"2":function(depth0,helpers,partials,data) {
+  var stack1, lambda=this.lambda, buffer = "   <option value=\"";
+  stack1 = lambda(depth0, depth0);
+  if (stack1 != null) { buffer += stack1; }
+  buffer += "\">";
+  stack1 = lambda(depth0, depth0);
+  if (stack1 != null) { buffer += stack1; }
+  return buffer + "</option>\n";
+},"4":function(depth0,helpers,partials,data) {
+  return "  <option value=\"application/json\">application/json</option>\n";
+  },"compiler":[6,">= 
2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) {
+  var stack1, buffer = "<label for=\"contentType\"></label>\n<select 
name=\"contentType\">\n";
+  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.produces : 
depth0), {"name":"if","hash":{},"fn":this.program(1, 
data),"inverse":this.program(4, data),"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  return buffer + "</select>\n";
+},"useData":true});
+'use strict';
+
+
+$(function () {
+
+  // Helper function for vertically aligning DOM elements
+  // http://www.seodenver.com/simple-vertical-align-plugin-for-jquery/
+  $.fn.vAlign = function () {
+    return this.each(function () {
+      var ah = $(this).height();
+      var ph = $(this).parent().height();
+      var mh = (ph - ah) / 2;
+      $(this).css('margin-top', mh);
+    });
+  };
+
+  $.fn.stretchFormtasticInputWidthToParent = function () {
+    return this.each(function () {
+      var p_width = $(this).closest("form").innerWidth();
+      var p_padding = parseInt($(this).closest("form").css('padding-left'), 
10) + parseInt($(this).closest('form').css('padding-right'), 10);
+      var this_padding = parseInt($(this).css('padding-left'), 10) + 
parseInt($(this).css('padding-right'), 10);
+      $(this).css('width', p_width - p_padding - this_padding);
+    });
+  };
+
+  $('form.formtastic li.string input, form.formtastic 
textarea').stretchFormtasticInputWidthToParent();
+
+  // Vertically center these paragraphs
+  // Parent may need a min-height for this to work..
+  $('ul.downplayed li div.content p').vAlign();
+
+  // When a sandbox form is submitted..
+  $("form.sandbox").submit(function () {
+
+    var error_free = true;
+
+    // Cycle through the forms required inputs
+    $(this).find("input.required").each(function () {
+
+      // Remove any existing error styles from the input
+      $(this).removeClass('error');
+
+      // Tack the error style on if the input is empty..
+      if ($(this).val() === '') {
+        $(this).addClass('error');
+        $(this).wiggle();
+        error_free = false;
+      }
+
+    });
+
+    return error_free;
+  });
+
+});
+
+function clippyCopiedCallback() {
+  $('#api_key_copied').fadeIn().delay(1000).fadeOut();
+
+  // var b = $("#clippy_tooltip_" + a);
+  // b.length != 0 && (b.attr("title", "copied!").trigger("tipsy.reload"), 
setTimeout(function() {
+  //   b.attr("title", "copy to clipboard")
+  // },
+  // 500))
+}
+
+// Logging function that accounts for browsers that don't have window.console
+function log() {
+  log.history = log.history || [];
+  log.history.push(arguments);
+  if (this.console) {
+    console.log(Array.prototype.slice.call(arguments)[0]);
+  }
+}
+
+// Handle browsers that do console incorrectly (IE9 and below, see 
http://stackoverflow.com/a/5539378/7913)
+if (Function.prototype.bind && console && typeof console.log === "object") {
+  [
+    "log", "info", "warn", "error", "assert", "dir", "clear", "profile", 
"profileEnd"
+  ].forEach(function (method) {
+      console[method] = this.bind(console[method], console);
+    }, Function.prototype.call);
+}
+
+window.Docs = {
+
+  shebang: function () {
+
+    // If shebang has an operation nickname in it..
+    // e.g. /docs/#!/words/get_search
+    var fragments = $.param.fragment().split('/');
+    fragments.shift(); // get rid of the bang
+
+    switch (fragments.length) {
+      case 1:
+        break;
+      case 2:
+        var target = '#resources_nav [data-resource] [data-endpoint=' + 
fragments[0] + '_' + fragments[1] + ']',
+          n = $('#swagger_sidebar').find(target),
+          attr = n.attr('data-selected');
+
+        if (typeof attr == typeof undefined) {
+          n.trigger("click");
+        }
+        break;
+    }
+
+  }
+
+};
+
+'use strict';
+
+Handlebars.registerHelper('sanitize', function(html) {
+    // Strip the script tags from the html, and return it as a 
Handlebars.SafeString
+    html = html.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, 
'');
+    return new Handlebars.SafeString(html);
+});
+this["Handlebars"]["templates"]["main"] = 
Handlebars.template({"1":function(depth0,helpers,partials,data) {
+  var stack1, lambda=this.lambda, escapeExpression=this.escapeExpression, 
buffer = "                        <span class=\"info_title\">"
+    + escapeExpression(lambda(((stack1 = (depth0 != null ? depth0.info : 
depth0)) != null ? stack1.title : stack1), depth0))
+    + "</span>\n                        <span class=\"markdown\">";
+  stack1 = lambda(((stack1 = (depth0 != null ? depth0.info : depth0)) != null 
? stack1.description : stack1), depth0);
+  if (stack1 != null) { buffer += stack1; }
+  return buffer + "</span>\n";
+},"3":function(depth0,helpers,partials,data) {
+  var stack1, lambda=this.lambda, escapeExpression=this.escapeExpression;
+  return "                        <span class='info_email'>\n                  
          Contact: <a href=\"mailto:";
+    + escapeExpression(lambda(((stack1 = ((stack1 = (depth0 != null ? 
depth0.info : depth0)) != null ? stack1.contact : stack1)) != null ? 
stack1.email : stack1), depth0))
+    + "?subject="
+    + escapeExpression(lambda(((stack1 = (depth0 != null ? depth0.info : 
depth0)) != null ? stack1.title : stack1), depth0))
+    + "\">"
+    + escapeExpression(lambda(((stack1 = ((stack1 = (depth0 != null ? 
depth0.info : depth0)) != null ? stack1.contact : stack1)) != null ? 
stack1.email : stack1), depth0))
+    + "</a>\n                        </span><br><br>\n";
+},"5":function(depth0,helpers,partials,data) {
+  var stack1, lambda=this.lambda, escapeExpression=this.escapeExpression;
+  return "                    <span style=\"font-variant: small-caps\">api 
version</span>: "
+    + escapeExpression(lambda(((stack1 = (depth0 != null ? depth0.info : 
depth0)) != null ? stack1.version : stack1), depth0))
+    + "\n";
+},"compiler":[6,">= 
2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) {
+  var stack1, helper, functionType="function", 
helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, 
buffer = "<div id=\"swagger_sidebar\">\n    <div 
class=\"sticky-nav-placeholder\">\n        <div class=\"sticky-nav\">\n         
   <div class=\"mobile-nav\">\n                <span class=\"select-label\">API 
Reference: </span><span data-selected-value></span>\n            </div>\n\n     
       <div class=\"token-generator hide\">\n                <span data-close 
class=\"icon-budicon-471\"></span>\n                <label 
for=\"input-api-token\">Url</label>\n                <input type=\"text\" 
autocorrect=\"off\" class=\"ui-form-control\" id=\"input_baseUrl\"\n            
           placeholder=\"http://example.com/api\";>\n\n                <div 
class=\"scope-selector\">\n                    <label 
for=\"scopes\">Token</label>\n\n                    <div class=\"area 
controls\">\n                        <input type=\"text\" autocorrect=\"off\" 
class=\"ui-form-
 control\" id=\"input_apiKey\"\n                               
placeholder=\"Enter api key or token\">\n                    </div>\n\n         
           <div class=\"area cta\">\n                        <div 
data-add-scope id=\"explore\" class=\"btn\"><span 
class=\"icon-budicon-519\"></span>\n                        </div>\n            
        </div>\n                </div>\n\n            </div>\n            <div 
data-navigator>\n                <div data-resource=\"\" label=\"Tools\">\n     
               <div class=\"item\" data-tg-switch=\"\">Swagger resource <span 
class=\"status\"></span></div>\n                </div>\n                <div 
id=\"resources_nav\">\n                </div>\n            </div>\n\n           
 <p class=\"changes-disclaimer\">\n                <span class='info' 
id='api_info'>\n";
+  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.info : depth0), 
{"name":"if","hash":{},"fn":this.program(1, 
data),"inverse":this.noop,"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  buffer += "\n                </span>\n\n                <span class='info' 
id='api_info'>\n";
+  stack1 = helpers['if'].call(depth0, ((stack1 = ((stack1 = (depth0 != null ? 
depth0.info : depth0)) != null ? stack1.contact : stack1)) != null ? 
stack1.email : stack1), {"name":"if","hash":{},"fn":this.program(3, 
data),"inverse":this.noop,"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  buffer += "                </span>\n\n                <span 
style=\"font-variant: small-caps\">base url</span>: "
+    + escapeExpression(((helper = (helper = helpers.basePath || (depth0 != 
null ? depth0.basePath : depth0)) != null ? helper : helperMissing),(typeof 
helper === functionType ? helper.call(depth0, 
{"name":"basePath","hash":{},"data":data}) : helper)))
+    + "\n";
+  stack1 = helpers['if'].call(depth0, ((stack1 = (depth0 != null ? depth0.info 
: depth0)) != null ? stack1.version : stack1), 
{"name":"if","hash":{},"fn":this.program(5, 
data),"inverse":this.noop,"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  return buffer + "            </p>\n        </div>\n    
</div>\n</div>\n\n<div id='resources_container'>\n    <ul id='resources' 
class=\"samples-collapsed\"></ul>\n</div>\n";
+},"useData":true});
+this["Handlebars"]["templates"]["operation"] = 
Handlebars.template({"1":function(depth0,helpers,partials,data) {
+  return "deprecated";
+  },"3":function(depth0,helpers,partials,data) {
+  return "                <h4>Warning: Deprecated</h4>\n";
+  },"5":function(depth0,helpers,partials,data) {
+  var stack1, helper, functionType="function", 
helperMissing=helpers.helperMissing, buffer = "                <div 
class=\"markdown action-summary\">";
+  stack1 = ((helper = (helper = helpers.description || (depth0 != null ? 
depth0.description : depth0)) != null ? helper : helperMissing),(typeof helper 
=== functionType ? helper.call(depth0, 
{"name":"description","hash":{},"data":data}) : helper));
+  if (stack1 != null) { buffer += stack1; }
+  return buffer + "</div>\n";
+},"7":function(depth0,helpers,partials,data) {
+  var helper, functionType="function", helperMissing=helpers.helperMissing, 
escapeExpression=this.escapeExpression;
+  return "                    <h4 data-control data-parm-toggle 
data-toggle=\"collapse\"\n                        data-target=\"#parm-"
+    + escapeExpression(((helper = (helper = helpers.parentId || (depth0 != 
null ? depth0.parentId : depth0)) != null ? helper : helperMissing),(typeof 
helper === functionType ? helper.call(depth0, 
{"name":"parentId","hash":{},"data":data}) : helper)))
+    + "_"
+    + escapeExpression(((helper = (helper = helpers.nickname || (depth0 != 
null ? depth0.nickname : depth0)) != null ? helper : helperMissing),(typeof 
helper === functionType ? helper.call(depth0, 
{"name":"nickname","hash":{},"data":data}) : helper)))
+    + "\">\n                        Parameters\n                    </h4>\n\n  
                  <div data-content class=\"operation-params collapse in\" 
id=\"parm-"
+    + escapeExpression(((helper = (helper = helpers.parentId || (depth0 != 
null ? depth0.parentId : depth0)) != null ? helper : helperMissing),(typeof 
helper === functionType ? helper.call(depth0, 
{"name":"parentId","hash":{},"data":data}) : helper)))
+    + "_"
+    + escapeExpression(((helper = (helper = helpers.nickname || (depth0 != 
null ? depth0.nickname : depth0)) != null ? helper : helperMissing),(typeof 
helper === functionType ? helper.call(depth0, 
{"name":"nickname","hash":{},"data":data}) : helper)))
+    + "\">\n                    </div>\n\n";
+},"9":function(depth0,helpers,partials,data) {
+  return "                        <div class=\"auth\">\n";
+  },"11":function(depth0,helpers,partials,data) {
+  var stack1, buffer = "                            <div 
id=\"api_information_panel\" style=\"top: 526px; left: 776px; display: 
none;\">\n";
+  stack1 = helpers.each.call(depth0, depth0, 
{"name":"each","hash":{},"fn":this.program(12, 
data),"inverse":this.noop,"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  return buffer + "                            </div>\n";
+},"12":function(depth0,helpers,partials,data) {
+  var stack1, lambda=this.lambda, escapeExpression=this.escapeExpression, 
buffer = "                                    <div title='";
+  stack1 = lambda((depth0 != null ? depth0.description : depth0), depth0);
+  if (stack1 != null) { buffer += stack1; }
+  return buffer + "'>"
+    + escapeExpression(lambda((depth0 != null ? depth0.scope : depth0), 
depth0))
+    + "</div>\n";
+},"14":function(depth0,helpers,partials,data) {
+  return "                            <button type=\"button\" class=\"api-ic 
ic-off btn btn-default pull-right\">Oauth</button>\n                        
</div>\n";
+  },"16":function(depth0,helpers,partials,data) {
+  return "                        <div class=\"response-content-type\"/>\n";
+  },"18":function(depth0,helpers,partials,data) {
+  var helper, functionType="function", helperMissing=helpers.helperMissing, 
escapeExpression=this.escapeExpression;
+  return "                    <div 
style=\"margin:0;padding:0;display:inline\"></div>\n                    <h4 
data-control data-toggle=\"collapse\" data-target=\"#response-"
+    + escapeExpression(((helper = (helper = helpers.parentId || (depth0 != 
null ? depth0.parentId : depth0)) != null ? helper : helperMissing),(typeof 
helper === functionType ? helper.call(depth0, 
{"name":"parentId","hash":{},"data":data}) : helper)))
+    + "_"
+    + escapeExpression(((helper = (helper = helpers.nickname || (depth0 != 
null ? depth0.nickname : depth0)) != null ? helper : helperMissing),(typeof 
helper === functionType ? helper.call(depth0, 
{"name":"nickname","hash":{},"data":data}) : helper)))
+    + "\">\n                        Response Messages\n                    
</h4>\n\n                    <div data-content class=\"responses-wrapper 
collapse in\" id=\"response-"
+    + escapeExpression(((helper = (helper = helpers.parentId || (depth0 != 
null ? depth0.parentId : depth0)) != null ? helper : helperMissing),(typeof 
helper === functionType ? helper.call(depth0, 
{"name":"parentId","hash":{},"data":data}) : helper)))
+    + "_"
+    + escapeExpression(((helper = (helper = helpers.nickname || (depth0 != 
null ? depth0.nickname : depth0)) != null ? helper : helperMissing),(typeof 
helper === functionType ? helper.call(depth0, 
{"name":"nickname","hash":{},"data":data}) : helper)))
+    + "\">\n                        <table class=\"fullwidth\">\n              
              <tbody class=\"operation-status\">\n                            
</tbody>\n                        </table>\n                    </div>\n";
+},"compiler":[6,">= 
2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) {
+  var stack1, helper, options, functionType="function", 
helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, 
blockHelperMissing=helpers.blockHelperMissing, buffer = "<ul 
class='operations'>\n    <li class='"
+    + escapeExpression(((helper = (helper = helpers.method || (depth0 != null 
? depth0.method : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"method","hash":{},"data":data}) : 
helper)))
+    + " operation' id='"
+    + escapeExpression(((helper = (helper = helpers.parentId || (depth0 != 
null ? depth0.parentId : depth0)) != null ? helper : helperMissing),(typeof 
helper === functionType ? helper.call(depth0, 
{"name":"parentId","hash":{},"data":data}) : helper)))
+    + "_"
+    + escapeExpression(((helper = (helper = helpers.nickname || (depth0 != 
null ? depth0.nickname : depth0)) != null ? helper : helperMissing),(typeof 
helper === functionType ? helper.call(depth0, 
{"name":"nickname","hash":{},"data":data}) : helper)))
+    + "'>\n        <div class='content'>\n            <div class='heading'>\n  
              <h2 class='operation-title'>"
+    + escapeExpression(((helper = (helper = helpers.summary || (depth0 != null 
? depth0.summary : depth0)) != null ? helper : helperMissing),(typeof helper 
=== functionType ? helper.call(depth0, 
{"name":"summary","hash":{},"data":data}) : helper)))
+    + "</h2>\n\n                <h3>\n                    <span 
class='http_method'>\n                        <a href='#!/"
+    + escapeExpression(((helper = (helper = helpers.encodedParentId || (depth0 
!= null ? depth0.encodedParentId : depth0)) != null ? helper : 
helperMissing),(typeof helper === functionType ? helper.call(depth0, 
{"name":"encodedParentId","hash":{},"data":data}) : helper)))
+    + "/"
+    + escapeExpression(((helper = (helper = helpers.nickname || (depth0 != 
null ? depth0.nickname : depth0)) != null ? helper : helperMissing),(typeof 
helper === functionType ? helper.call(depth0, 
{"name":"nickname","hash":{},"data":data}) : helper)))
+    + "'>"
+    + escapeExpression(((helper = (helper = helpers.method || (depth0 != null 
? depth0.method : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"method","hash":{},"data":data}) : 
helper)))
+    + "</a>\n                    </span>\n                    <span 
class='path'>\n                        <a href='#!/"
+    + escapeExpression(((helper = (helper = helpers.encodedParentId || (depth0 
!= null ? depth0.encodedParentId : depth0)) != null ? helper : 
helperMissing),(typeof helper === functionType ? helper.call(depth0, 
{"name":"encodedParentId","hash":{},"data":data}) : helper)))
+    + "/"
+    + escapeExpression(((helper = (helper = helpers.nickname || (depth0 != 
null ? depth0.nickname : depth0)) != null ? helper : helperMissing),(typeof 
helper === functionType ? helper.call(depth0, 
{"name":"nickname","hash":{},"data":data}) : helper)))
+    + "'\n                           class=\"";
+  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.deprecated : 
depth0), {"name":"if","hash":{},"fn":this.program(1, 
data),"inverse":this.noop,"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  buffer += "\">"
+    + escapeExpression(((helper = (helper = helpers.path || (depth0 != null ? 
depth0.path : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"path","hash":{},"data":data}) : 
helper)))
+    + "</a>\n                    </span>\n                </h3>\n            
</div>\n\n            <a href=\"javascript:;\" class=\"toggle-samples\" 
data-toggle=\"tooltip\" data-placement=\"left\"\n               
data-original-title title>\n                <span class=\"text\">Show 
samples</span><span class=\"circle-icon\"></span>\n            </a>\n\n";
+  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.deprecated : 
depth0), {"name":"if","hash":{},"fn":this.program(3, 
data),"inverse":this.noop,"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.description : 
depth0), {"name":"if","hash":{},"fn":this.program(5, 
data),"inverse":this.noop,"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  buffer += "\n\n            <form accept-charset=\"UTF-8\" 
class=\"sandbox\">\n\n";
+  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.parameters : 
depth0), {"name":"if","hash":{},"fn":this.program(7, 
data),"inverse":this.noop,"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  buffer += "\n                <h4 data-control data-toggle=\"collapse\" 
data-target=\"#test-"
+    + escapeExpression(((helper = (helper = helpers.parentId || (depth0 != 
null ? depth0.parentId : depth0)) != null ? helper : helperMissing),(typeof 
helper === functionType ? helper.call(depth0, 
{"name":"parentId","hash":{},"data":data}) : helper)))
+    + "_"
+    + escapeExpression(((helper = (helper = helpers.nickname || (depth0 != 
null ? depth0.nickname : depth0)) != null ? helper : helperMissing),(typeof 
helper === functionType ? helper.call(depth0, 
{"name":"nickname","hash":{},"data":data}) : helper)))
+    + "\">\n                    Test this endpoint\n                </h4>\n\n  
              <div id=\"test-"
+    + escapeExpression(((helper = (helper = helpers.parentId || (depth0 != 
null ? depth0.parentId : depth0)) != null ? helper : helperMissing),(typeof 
helper === functionType ? helper.call(depth0, 
{"name":"parentId","hash":{},"data":data}) : helper)))
+    + "_"
+    + escapeExpression(((helper = (helper = helpers.nickname || (depth0 != 
null ? depth0.nickname : depth0)) != null ? helper : helperMissing),(typeof 
helper === functionType ? helper.call(depth0, 
{"name":"nickname","hash":{},"data":data}) : helper)))
+    + "\">\n                    <div class=\"sandbox_header collapse in\" 
data-content>\n                        <input class=\"submit btn btn-primary\" 
name=\"commit\" type=\"submit\" value=\"Try\"\n                               
data-target=\"#get_clients-modal-request\">\n                        <a 
href=\"#\" class=\"response_hider hide\" style=\"display: inline;\">Hide 
Response</a>\n                        <!--small class=\"curl-copy-message 
hide\" style=\"display:none;\">Copied to clipboard</small-->\n                  
      <!--span class=\"response_throbber hide\" style=\"display: 
none;\"></span-->\n\n";
+  stack1 = ((helper = (helper = helpers.oauth || (depth0 != null ? 
depth0.oauth : depth0)) != null ? helper : 
helperMissing),(options={"name":"oauth","hash":{},"fn":this.program(9, 
data),"inverse":this.noop,"data":data}),(typeof helper === functionType ? 
helper.call(depth0, options) : helper));
+  if (!helpers.oauth) { stack1 = blockHelperMissing.call(depth0, stack1, 
options); }
+  if (stack1 != null) { buffer += stack1; }
+  buffer += "\n";
+  stack1 = helpers.each.call(depth0, (depth0 != null ? depth0.oauth : depth0), 
{"name":"each","hash":{},"fn":this.program(11, 
data),"inverse":this.noop,"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  buffer += "\n";
+  stack1 = ((helper = (helper = helpers.oauth || (depth0 != null ? 
depth0.oauth : depth0)) != null ? helper : 
helperMissing),(options={"name":"oauth","hash":{},"fn":this.program(14, 
data),"inverse":this.noop,"data":data}),(typeof helper === functionType ? 
helper.call(depth0, options) : helper));
+  if (!helpers.oauth) { stack1 = blockHelperMissing.call(depth0, stack1, 
options); }
+  if (stack1 != null) { buffer += stack1; }
+  buffer += "\n                    </div>\n\n";
+  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.type : depth0), 
{"name":"if","hash":{},"fn":this.program(16, 
data),"inverse":this.noop,"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  buffer += "\n                </div>\n\n";
+  stack1 = helpers['if'].call(depth0, (depth0 != null ? 
depth0.responseMessages : depth0), {"name":"if","hash":{},"fn":this.program(18, 
data),"inverse":this.noop,"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  return buffer + "            </form>\n\n        </div>\n\n        <div 
class=\"samples\">\n                <span class=\"model-signature\">\n          
      </span>\n        </div>\n\n        <div class=\"modal\" id=\"modal-"
+    + escapeExpression(((helper = (helper = helpers.parentId || (depth0 != 
null ? depth0.parentId : depth0)) != null ? helper : helperMissing),(typeof 
helper === functionType ? helper.call(depth0, 
{"name":"parentId","hash":{},"data":data}) : helper)))
+    + "_"
+    + escapeExpression(((helper = (helper = helpers.nickname || (depth0 != 
null ? depth0.nickname : depth0)) != null ? helper : helperMissing),(typeof 
helper === functionType ? helper.call(depth0, 
{"name":"nickname","hash":{},"data":data}) : helper)))
+    + "\">\n            <div class=\"modal-dialog\">\n                <div 
class=\"modal-content\">\n                    <div class=\"modal-header\">\n    
                    <button type=\"button\" class=\"close\" 
data-dismiss=\"modal\" aria-label=\"Close\">\n                            <span 
aria-hidden=\"true\">×</span>\n                        </button>\n             
           <h3 class=\"modal-title\">\n                            "
+    + escapeExpression(((helper = (helper = helpers.summary || (depth0 != null 
? depth0.summary : depth0)) != null ? helper : helperMissing),(typeof helper 
=== functionType ? helper.call(depth0, 
{"name":"summary","hash":{},"data":data}) : helper)))
+    + "\n                            <span class=\"http_method\">\n            
                    <span class=\"text\">\n                                    "
+    + escapeExpression(((helper = (helper = helpers.method || (depth0 != null 
? depth0.method : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"method","hash":{},"data":data}) : 
helper)))
+    + "\n                                </span>\n                            
</span>\n                        </h3>\n                    </div>\n            
        <div class=\"modal-body\">\n                        <div 
class='response'>\n                            <h5>Request URL</h5>\n\n         
                   <div class='block request_url'></div>\n                      
      <h5>Response Body</h5>\n\n                            <div class='block 
response_body'></div>\n                            <h5>Response Code</h5>\n\n   
                         <div class='block response_code'></div>\n              
              <h5>Response Headers</h5>\n\n                            <div 
class='block response_headers'></div>\n                        </div>\n         
           </div>\n                </div>\n            </div>\n        </div>\n 
   </li>\n</ul>";
+},"useData":true});
+this["Handlebars"]["templates"]["param_list"] = 
Handlebars.template({"1":function(depth0,helpers,partials,data) {
+  return " multiple='multiple'";
+  },"3":function(depth0,helpers,partials,data) {
+  return "";
+},"5":function(depth0,helpers,partials,data) {
+  var stack1, buffer = "";
+  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0['default'] : 
depth0), {"name":"if","hash":{},"fn":this.program(3, 
data),"inverse":this.program(6, data),"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  return buffer;
+},"6":function(depth0,helpers,partials,data) {
+  return "                        <option selected=\"\" value=''></option>\n";
+  },"8":function(depth0,helpers,partials,data) {
+  var stack1, buffer = "";
+  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.isDefault : 
depth0), {"name":"if","hash":{},"fn":this.program(9, 
data),"inverse":this.program(11, data),"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  return buffer;
+},"9":function(depth0,helpers,partials,data) {
+  var helper, functionType="function", helperMissing=helpers.helperMissing, 
escapeExpression=this.escapeExpression;
+  return "                    <option selected=\"\" value='"
+    + escapeExpression(((helper = (helper = helpers.value || (depth0 != null ? 
depth0.value : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"value","hash":{},"data":data}) : 
helper)))
+    + "'>"
+    + escapeExpression(((helper = (helper = helpers.value || (depth0 != null ? 
depth0.value : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"value","hash":{},"data":data}) : 
helper)))
+    + " (default)</option>\n";
+},"11":function(depth0,helpers,partials,data) {
+  var helper, functionType="function", helperMissing=helpers.helperMissing, 
escapeExpression=this.escapeExpression;
+  return "                    <option value='"
+    + escapeExpression(((helper = (helper = helpers.value || (depth0 != null ? 
depth0.value : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"value","hash":{},"data":data}) : 
helper)))
+    + "'>"
+    + escapeExpression(((helper = (helper = helpers.value || (depth0 != null ? 
depth0.value : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"value","hash":{},"data":data}) : 
helper)))
+    + "</option>\n";
+},"13":function(depth0,helpers,partials,data) {
+  var helper, functionType="function", helperMissing=helpers.helperMissing, 
escapeExpression=this.escapeExpression;
+  return "                <code class=\"code-signature\">"
+    + escapeExpression(((helper = (helper = helpers.type || (depth0 != null ? 
depth0.type : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"type","hash":{},"data":data}) : 
helper)))
+    + "</code>\n";
+},"compiler":[6,">= 
2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) {
+  var stack1, helper, functionType="function", 
helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, 
buffer = "<div class=\"param-property hide\" data-label=\"name\">"
+    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? 
depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : 
helper)))
+    + "</div>\n<div class=\"param-property\" data-label='"
+    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? 
depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : 
helper)))
+    + "'>\n    <div>\n        <select ";
+  stack1 = ((helpers.isArray || (depth0 && depth0.isArray) || 
helperMissing).call(depth0, depth0, 
{"name":"isArray","hash":{},"fn":this.program(1, 
data),"inverse":this.noop,"data":data}));
+  if (stack1 != null) { buffer += stack1; }
+  buffer += " class='parameter ui-form-control' name='"
+    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? 
depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : 
helper)))
+    + "'  data-toggle=\"tooltip\" data-placement=\"right\" title=\"\" 
data-original-title='"
+    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? 
depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : 
helper)))
+    + "'>\n";
+  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.required : 
depth0), {"name":"if","hash":{},"fn":this.program(3, 
data),"inverse":this.program(5, data),"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  stack1 = helpers.each.call(depth0, ((stack1 = (depth0 != null ? 
depth0.allowableValues : depth0)) != null ? stack1.descriptiveValues : stack1), 
{"name":"each","hash":{},"fn":this.program(8, 
data),"inverse":this.noop,"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  buffer += "        </select>\n        <div class=\"small-description\">\n";
+  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.type : depth0), 
{"name":"if","hash":{},"fn":this.program(13, 
data),"inverse":this.noop,"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  return buffer + "            <div class=\"markdown\">"
+    + escapeExpression(((helper = (helper = helpers.description || (depth0 != 
null ? depth0.description : depth0)) != null ? helper : helperMissing),(typeof 
helper === functionType ? helper.call(depth0, 
{"name":"description","hash":{},"data":data}) : helper)))
+    + "</div>\n        </div>\n    </div>\n</div>\n\n";
+},"useData":true});
+this["Handlebars"]["templates"]["param_readonly_required"] = 
Handlebars.template({"1":function(depth0,helpers,partials,data) {
+  var helper, functionType="function", helperMissing=helpers.helperMissing, 
escapeExpression=this.escapeExpression;
+  return "            <textarea class='body-textarea ui-form-control' 
readonly='readonly' placeholder='(required)' name='"
+    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? 
depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : 
helper)))
+    + "'  data-toggle=\"tooltip\" data-placement=\"top\" title=\"\" 
data-original-title='"
+    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? 
depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : 
helper)))
+    + "'>"
+    + escapeExpression(((helper = (helper = helpers['default'] || (depth0 != 
null ? depth0['default'] : depth0)) != null ? helper : helperMissing),(typeof 
helper === functionType ? helper.call(depth0, 
{"name":"default","hash":{},"data":data}) : helper)))
+    + "</textarea>\n            <div class=\"parameter-content-type\"/>\n";
+},"3":function(depth0,helpers,partials,data) {
+  var stack1, buffer = "";
+  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0['default'] : 
depth0), {"name":"if","hash":{},"fn":this.program(4, 
data),"inverse":this.program(6, data),"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  return buffer;
+},"4":function(depth0,helpers,partials,data) {
+  var helper, functionType="function", helperMissing=helpers.helperMissing, 
escapeExpression=this.escapeExpression;
+  return "                "
+    + escapeExpression(((helper = (helper = helpers['default'] || (depth0 != 
null ? depth0['default'] : depth0)) != null ? helper : helperMissing),(typeof 
helper === functionType ? helper.call(depth0, 
{"name":"default","hash":{},"data":data}) : helper)))
+    + "\n";
+},"6":function(depth0,helpers,partials,data) {
+  return "                (empty)\n";
+  },"8":function(depth0,helpers,partials,data) {
+  var helper, functionType="function", helperMissing=helpers.helperMissing, 
escapeExpression=this.escapeExpression;
+  return "                <code class=\"code-signature\">"
+    + escapeExpression(((helper = (helper = helpers.type || (depth0 != null ? 
depth0.type : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"type","hash":{},"data":data}) : 
helper)))
+    + "</code>\n";
+},"compiler":[6,">= 
2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) {
+  var stack1, helper, functionType="function", 
helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, 
buffer = "<div class=\"param-property hide\" data-label=\"name\">"
+    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? 
depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : 
helper)))
+    + "</div>\n<div class=\"param-property\" data-label='"
+    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? 
depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : 
helper)))
+    + "'>\n    <div>\n";
+  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.isBody : 
depth0), {"name":"if","hash":{},"fn":this.program(1, 
data),"inverse":this.program(3, data),"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  buffer += "        <div class=\"small-description\">\n";
+  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.type : depth0), 
{"name":"if","hash":{},"fn":this.program(8, 
data),"inverse":this.noop,"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  return buffer + "            <div class=\"markdown\">"
+    + escapeExpression(((helper = (helper = helpers.description || (depth0 != 
null ? depth0.description : depth0)) != null ? helper : helperMissing),(typeof 
helper === functionType ? helper.call(depth0, 
{"name":"description","hash":{},"data":data}) : helper)))
+    + "</div>\n        </div>\n    </div>\n</div>\n";
+},"useData":true});
+this["Handlebars"]["templates"]["param_readonly"] = 
Handlebars.template({"1":function(depth0,helpers,partials,data) {
+  var helper, functionType="function", helperMissing=helpers.helperMissing, 
escapeExpression=this.escapeExpression;
+  return "            <textarea class='body-textarea ui-form-control' 
readonly='readonly' name='"
+    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? 
depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : 
helper)))
+    + "'  data-toggle=\"tooltip\" data-placement=\"top\" title=\"\" 
data-original-title='"
+    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? 
depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : 
helper)))
+    + "'>"
+    + escapeExpression(((helper = (helper = helpers['default'] || (depth0 != 
null ? depth0['default'] : depth0)) != null ? helper : helperMissing),(typeof 
helper === functionType ? helper.call(depth0, 
{"name":"default","hash":{},"data":data}) : helper)))
+    + "</textarea>\n            <div class=\"parameter-content-type\"/>\n";
+},"3":function(depth0,helpers,partials,data) {
+  var stack1, buffer = "";
+  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0['default'] : 
depth0), {"name":"if","hash":{},"fn":this.program(4, 
data),"inverse":this.program(6, data),"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  return buffer;
+},"4":function(depth0,helpers,partials,data) {
+  var helper, functionType="function", helperMissing=helpers.helperMissing, 
escapeExpression=this.escapeExpression;
+  return "                "
+    + escapeExpression(((helper = (helper = helpers['default'] || (depth0 != 
null ? depth0['default'] : depth0)) != null ? helper : helperMissing),(typeof 
helper === functionType ? helper.call(depth0, 
{"name":"default","hash":{},"data":data}) : helper)))
+    + "\n";
+},"6":function(depth0,helpers,partials,data) {
+  return "                (empty)\n";
+  },"8":function(depth0,helpers,partials,data) {
+  var helper, functionType="function", helperMissing=helpers.helperMissing, 
escapeExpression=this.escapeExpression;
+  return "                <code class=\"code-signature\">"
+    + escapeExpression(((helper = (helper = helpers.type || (depth0 != null ? 
depth0.type : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"type","hash":{},"data":data}) : 
helper)))
+    + "</code>\n";
+},"compiler":[6,">= 
2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) {
+  var stack1, helper, functionType="function", 
helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, 
buffer = "<div class=\"param-property hide\" data-label=\"name\">"
+    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? 
depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : 
helper)))
+    + "</div>\n<div class=\"param-property\" data-label='"
+    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? 
depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : 
helper)))
+    + "'>\n    <div>\n";
+  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.isBody : 
depth0), {"name":"if","hash":{},"fn":this.program(1, 
data),"inverse":this.program(3, data),"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  buffer += "        <div class=\"small-description\">\n";
+  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.type : depth0), 
{"name":"if","hash":{},"fn":this.program(8, 
data),"inverse":this.noop,"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  return buffer + "            <div class=\"markdown\">"
+    + escapeExpression(((helper = (helper = helpers.description || (depth0 != 
null ? depth0.description : depth0)) != null ? helper : helperMissing),(typeof 
helper === functionType ? helper.call(depth0, 
{"name":"description","hash":{},"data":data}) : helper)))
+    + "</div>\n        </div>\n    </div>\n</div>\n";
+},"useData":true});
+this["Handlebars"]["templates"]["param_required"] = 
Handlebars.template({"1":function(depth0,helpers,partials,data) {
+  var stack1, buffer = "";
+  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.isFile : 
depth0), {"name":"if","hash":{},"fn":this.program(2, 
data),"inverse":this.program(4, data),"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  return buffer;
+},"2":function(depth0,helpers,partials,data) {
+  var helper, functionType="function", helperMissing=helpers.helperMissing, 
escapeExpression=this.escapeExpression;
+  return "            <input type=\"file\" name='"
+    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? 
depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : 
helper)))
+    + "'/>\n";
+},"4":function(depth0,helpers,partials,data) {
+  var stack1, buffer = "";
+  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0['default'] : 
depth0), {"name":"if","hash":{},"fn":this.program(5, 
data),"inverse":this.program(7, data),"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  return buffer;
+},"5":function(depth0,helpers,partials,data) {
+  var helper, functionType="function", helperMissing=helpers.helperMissing, 
escapeExpression=this.escapeExpression;
+  return "                <div class=\"editor_holder\"></div>\n                
<textarea class='body-textarea ui-form-control required' 
placeholder='(required)' name='"
+    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? 
depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : 
helper)))
+    + "'  data-toggle=\"tooltip\" data-placement=\"top\" title=\"\" 
data-original-title='"
+    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? 
depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : 
helper)))
+    + "'>"
+    + escapeExpression(((helper = (helper = helpers['default'] || (depth0 != 
null ? depth0['default'] : depth0)) != null ? helper : helperMissing),(typeof 
helper === functionType ? helper.call(depth0, 
{"name":"default","hash":{},"data":data}) : helper)))
+    + "</textarea>\n                <div class=\"parameter-content-type\"/>\n";
+},"7":function(depth0,helpers,partials,data) {
+  var helper, functionType="function", helperMissing=helpers.helperMissing, 
escapeExpression=this.escapeExpression;
+  return "                <textarea class='body-textarea ui-form-control 
required' placeholder='(required)' name='"
+    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? 
depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : 
helper)))
+    + "' data-toggle=\"tooltip\" data-placement=\"top\" title=\"\" 
data-original-title='"
+    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? 
depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : 
helper)))
+    + "'></textarea>\n                <div class=\"editor_holder\"></div>\n    
            <br/>\n                <div class=\"parameter-content-type\"/>\n";
+},"9":function(depth0,helpers,partials,data) {
+  var stack1, buffer = "";
+  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.isFile : 
depth0), {"name":"if","hash":{},"fn":this.program(10, 
data),"inverse":this.program(12, data),"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  return buffer;
+},"10":function(depth0,helpers,partials,data) {
+  var helper, functionType="function", helperMissing=helpers.helperMissing, 
escapeExpression=this.escapeExpression;
+  return "            <input class='parameter ui-form-control required' 
type='file' name='"
+    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? 
depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : 
helper)))
+    + "'/>\n";
+},"12":function(depth0,helpers,partials,data) {
+  var stack1, buffer = "";
+  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0['default'] : 
depth0), {"name":"if","hash":{},"fn":this.program(13, 
data),"inverse":this.program(15, data),"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  return buffer;
+},"13":function(depth0,helpers,partials,data) {
+  var helper, functionType="function", helperMissing=helpers.helperMissing, 
escapeExpression=this.escapeExpression;
+  return "                <input class='parameter ui-form-control required' 
minlength='1' name='"
+    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? 
depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : 
helper)))
+    + "' placeholder='(required)' type='"
+    + escapeExpression(((helper = (helper = helpers.inputType || (depth0 != 
null ? depth0.inputType : depth0)) != null ? helper : helperMissing),(typeof 
helper === functionType ? helper.call(depth0, 
{"name":"inputType","hash":{},"data":data}) : helper)))
+    + "' value='"
+    + escapeExpression(((helper = (helper = helpers['default'] || (depth0 != 
null ? depth0['default'] : depth0)) != null ? helper : helperMissing),(typeof 
helper === functionType ? helper.call(depth0, 
{"name":"default","hash":{},"data":data}) : helper)))
+    + "' data-toggle=\"tooltip\" data-placement=\"right\" title=\"\" 
data-original-title='"
+    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? 
depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : 
helper)))
+    + "'/>\n";
+},"15":function(depth0,helpers,partials,data) {
+  var helper, functionType="function", helperMissing=helpers.helperMissing, 
escapeExpression=this.escapeExpression;
+  return "                <input class='parameter ui-form-control required' 
minlength='1' name='"
+    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? 
depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : 
helper)))
+    + "' placeholder='(required)' type='"
+    + escapeExpression(((helper = (helper = helpers.inputType || (depth0 != 
null ? depth0.inputType : depth0)) != null ? helper : helperMissing),(typeof 
helper === functionType ? helper.call(depth0, 
{"name":"inputType","hash":{},"data":data}) : helper)))
+    + "' value='' data-toggle=\"tooltip\" data-placement=\"right\" title=\"\" 
data-original-title='"
+    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? 
depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : 
helper)))
+    + "'/>\n";
+},"17":function(depth0,helpers,partials,data) {
+  var helper, functionType="function", helperMissing=helpers.helperMissing, 
escapeExpression=this.escapeExpression;
+  return "            <code class=\"code-signature\">"
+    + escapeExpression(((helper = (helper = helpers.type || (depth0 != null ? 
depth0.type : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"type","hash":{},"data":data}) : 
helper)))
+    + "</code>\n";
+},"compiler":[6,">= 
2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) {
+  var stack1, helper, functionType="function", 
helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, 
buffer = "<div class=\"param-property hide\">"
+    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? 
depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : 
helper)))
+    + "</div>\n<div class=\"param-property\" data-label='"
+    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? 
depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : 
helper)))
+    + "'>\n";
+  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.isBody : 
depth0), {"name":"if","hash":{},"fn":this.program(1, 
data),"inverse":this.program(9, data),"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  buffer += "    <div class=\"small-description\">\n";
+  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.type : depth0), 
{"name":"if","hash":{},"fn":this.program(17, 
data),"inverse":this.noop,"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  return buffer + "        <div class=\"markdown\">"
+    + escapeExpression(((helper = (helper = helpers.description || (depth0 != 
null ? depth0.description : depth0)) != null ? helper : helperMissing),(typeof 
helper === functionType ? helper.call(depth0, 
{"name":"description","hash":{},"data":data}) : helper)))
+    + "</div>\n    </div>\n</div>\n\n";
+},"useData":true});
+this["Handlebars"]["templates"]["param"] = 
Handlebars.template({"1":function(depth0,helpers,partials,data) {
+  var stack1, helper, functionType="function", 
helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, 
buffer = "";
+  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.isFile : 
depth0), {"name":"if","hash":{},"fn":this.program(2, 
data),"inverse":this.program(4, data),"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  buffer += "        <div class=\"small-description\">\n";
+  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.type : depth0), 
{"name":"if","hash":{},"fn":this.program(9, 
data),"inverse":this.noop,"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  return buffer + "            <div class=\"markdown\">"
+    + escapeExpression(((helper = (helper = helpers.description || (depth0 != 
null ? depth0.description : depth0)) != null ? helper : helperMissing),(typeof 
helper === functionType ? helper.call(depth0, 
{"name":"description","hash":{},"data":data}) : helper)))
+    + "</div>\n        </div>\n";
+},"2":function(depth0,helpers,partials,data) {
+  var helper, functionType="function", helperMissing=helpers.helperMissing, 
escapeExpression=this.escapeExpression;
+  return "            <input type=\"file\" name='"
+    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? 
depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : 
helper)))
+    + "'/>\n\n            <div class=\"parameter-content-type\"/>\n";
+},"4":function(depth0,helpers,partials,data) {
+  var stack1, buffer = "";
+  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0['default'] : 
depth0), {"name":"if","hash":{},"fn":this.program(5, 
data),"inverse":this.program(7, data),"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  return buffer;
+},"5":function(depth0,helpers,partials,data) {
+  var helper, functionType="function", helperMissing=helpers.helperMissing, 
escapeExpression=this.escapeExpression;
+  return "                <div class=\"editor_holder\"></div>\n\n              
  <textarea class='body-textarea ui-form-control' name='"
+    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? 
depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : 
helper)))
+    + "' data-toggle=\"tooltip\" data-placement=\"top\" title=\"\" 
data-original-title='"
+    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? 
depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : 
helper)))
+    + "'>"
+    + escapeExpression(((helper = (helper = helpers['default'] || (depth0 != 
null ? depth0['default'] : depth0)) != null ? helper : helperMissing),(typeof 
helper === functionType ? helper.call(depth0, 
{"name":"default","hash":{},"data":data}) : helper)))
+    + "</textarea>\n                <div class=\"parameter-content-type\"/>\n";
+},"7":function(depth0,helpers,partials,data) {
+  var helper, functionType="function", helperMissing=helpers.helperMissing, 
escapeExpression=this.escapeExpression;
+  return "                <textarea class='body-textarea ui-form-control' 
name='"
+    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? 
depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : 
helper)))
+    + "' data-toggle=\"tooltip\" data-placement=\"top\" title=\"\" 
data-original-title='"
+    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? 
depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : 
helper)))
+    + "'></textarea>\n                <div class=\"editor_holder\"></div>\n    
            <div class=\"parameter-content-type\"/>\n";
+},"9":function(depth0,helpers,partials,data) {
+  var helper, functionType="function", helperMissing=helpers.helperMissing, 
escapeExpression=this.escapeExpression;
+  return "                <code class=\"code-signature\">"
+    + escapeExpression(((helper = (helper = helpers.type || (depth0 != null ? 
depth0.type : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"type","hash":{},"data":data}) : 
helper)))
+    + "</code>\n";
+},"11":function(depth0,helpers,partials,data) {
+  var stack1, helper, functionType="function", 
helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, 
buffer = "";
+  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.isFile : 
depth0), {"name":"if","hash":{},"fn":this.program(12, 
data),"inverse":this.program(14, data),"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  buffer += "        <div class=\"small-description\">\n";
+  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.type : depth0), 
{"name":"if","hash":{},"fn":this.program(9, 
data),"inverse":this.noop,"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  return buffer + "            <div class=\"markdown\">"
+    + escapeExpression(((helper = (helper = helpers.description || (depth0 != 
null ? depth0.description : depth0)) != null ? helper : helperMissing),(typeof 
helper === functionType ? helper.call(depth0, 
{"name":"description","hash":{},"data":data}) : helper)))
+    + "</div>\n        </div>\n";
+},"12":function(depth0,helpers,partials,data) {
+  var helper, functionType="function", helperMissing=helpers.helperMissing, 
escapeExpression=this.escapeExpression;
+  return "\n            <label class=\"btn btn-primary\" 
for=\"my-file-selector\">\n                <input id=\"my-file-selector\" 
type=\"file\" style=\"display:none;\" name='"
+    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? 
depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : 
helper)))
+    + "'>\n                Choose file\n            </label>\n            <div 
class=\"parameter-content-type\"/>\n";
+},"14":function(depth0,helpers,partials,data) {
+  var stack1, buffer = "";
+  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0['default'] : 
depth0), {"name":"if","hash":{},"fn":this.program(15, 
data),"inverse":this.program(17, data),"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  return buffer;
+},"15":function(depth0,helpers,partials,data) {
+  var helper, functionType="function", helperMissing=helpers.helperMissing, 
escapeExpression=this.escapeExpression;
+  return "                <input class='parameter ui-form-control' 
minlength='0' name='"
+    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? 
depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : 
helper)))
+    + "' placeholder='' type='"
+    + escapeExpression(((helper = (helper = helpers.inputType || (depth0 != 
null ? depth0.inputType : depth0)) != null ? helper : helperMissing),(typeof 
helper === functionType ? helper.call(depth0, 
{"name":"inputType","hash":{},"data":data}) : helper)))
+    + "' value='"
+    + escapeExpression(((helper = (helper = helpers['default'] || (depth0 != 
null ? depth0['default'] : depth0)) != null ? helper : helperMissing),(typeof 
helper === functionType ? helper.call(depth0, 
{"name":"default","hash":{},"data":data}) : helper)))
+    + "'  data-toggle=\"tooltip\" data-placement=\"right\" title=\"\" 
data-original-title='"
+    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? 
depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : 
helper)))
+    + "'/>\n";
+},"17":function(depth0,helpers,partials,data) {
+  var helper, functionType="function", helperMissing=helpers.helperMissing, 
escapeExpression=this.escapeExpression;
+  return "                <input class='parameter ui-form-control' 
minlength='0' name='"
+    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? 
depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : 
helper)))
+    + "' placeholder='' type='"
+    + escapeExpression(((helper = (helper = helpers.inputType || (depth0 != 
null ? depth0.inputType : depth0)) != null ? helper : helperMissing),(typeof 
helper === functionType ? helper.call(depth0, 
{"name":"inputType","hash":{},"data":data}) : helper)))
+    + "' value=''  data-toggle=\"tooltip\" data-placement=\"right\" title=\"\" 
data-original-title='"
+    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? 
depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : 
helper)))
+    + "'/>\n";
+},"compiler":[6,">= 
2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) {
+  var stack1, helper, functionType="function", 
helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, 
buffer = "<div class=\"param-property hide\">"
+    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? 
depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : 
helper)))
+    + "</div>\n<div class=\"param-property\" data-label='"
+    + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? 
depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : 
helper)))
+    + "'>\n";
+  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.isBody : 
depth0), {"name":"if","hash":{},"fn":this.program(1, 
data),"inverse":this.program(11, data),"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  return buffer + "</div>";
+},"useData":true});
+this["Handlebars"]["templates"]["parameter_content_type"] = 
Handlebars.template({"1":function(depth0,helpers,partials,data) {
+  var stack1, buffer = "";
+  stack1 = helpers.each.call(depth0, (depth0 != null ? depth0.consumes : 
depth0), {"name":"each","hash":{},"fn":this.program(2, 
data),"inverse":this.noop,"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  return buffer;
+},"2":function(depth0,helpers,partials,data) {
+  var stack1, lambda=this.lambda, buffer = "                <option value=\"";
+  stack1 = lambda(depth0, depth0);
+  if (stack1 != null) { buffer += stack1; }
+  buffer += "\">";
+  stack1 = lambda(depth0, depth0);
+  if (stack1 != null) { buffer += stack1; }
+  return buffer + "</option>\n";
+},"4":function(depth0,helpers,partials,data) {
+  return "            <option 
value=\"application/json\">application/json</option>\n";
+  },"compiler":[6,">= 
2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) {
+  var stack1, buffer = "<div>\n    <label for=\"parameterContentType\">Content 
type:</label>\n    <select class=\"parameter ui-form-control\" 
name=\"parameterContentType\">\n";
+  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.consumes : 
depth0), {"name":"if","hash":{},"fn":this.program(1, 
data),"inverse":this.program(4, data),"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  return buffer + "    </select>\n</div>\n";
+},"useData":true});
+this["Handlebars"]["templates"]["resource"] = 
Handlebars.template({"compiler":[6,">= 
2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) {
+  var helper, functionType="function", helperMissing=helpers.helperMissing, 
escapeExpression=this.escapeExpression;
+  return "<ul class='endpoints' id='"
+    + escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? 
depth0.id : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"id","hash":{},"data":data}) : 
helper)))
+    + "_endpoint_list'>\n</ul>";
+},"useData":true});
+this["Handlebars"]["templates"]["response_content_type"] = 
Handlebars.template({"1":function(depth0,helpers,partials,data) {
+  var stack1, buffer = "";
+  stack1 = helpers.each.call(depth0, (depth0 != null ? depth0.produces : 
depth0), {"name":"each","hash":{},"fn":this.program(2, 
data),"inverse":this.noop,"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  return buffer;
+},"2":function(depth0,helpers,partials,data) {
+  var stack1, lambda=this.lambda, buffer = "                        <option 
value=\"";
+  stack1 = lambda(depth0, depth0);
+  if (stack1 != null) { buffer += stack1; }
+  buffer += "\">";
+  stack1 = lambda(depth0, depth0);
+  if (stack1 != null) { buffer += stack1; }
+  return buffer + "</option>\n";
+},"4":function(depth0,helpers,partials,data) {
+  return "                    <option 
value=\"application/json\">application/json</option>\n";
+  },"compiler":[6,">= 
2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) {
+  var stack1, buffer = "<div class=\"parameter-item\">\n    <div 
class=\"param-property hide\" data-label=\"name\">Response Type</div>\n    <div 
class=\"param-property\" data-label=\"Response Type\">\n        <div>\n         
   <select class=\"parameter ui-form-control\" name=\"responseContentType\">\n";
+  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.produces : 
depth0), {"name":"if","hash":{},"fn":this.program(1, 
data),"inverse":this.program(4, data),"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  return buffer + "            </select>\n        </div>\n    
</div>\n</div>\n\n";
+},"useData":true});
+this["Handlebars"]["templates"]["sidebar_header"] = 
Handlebars.template({"compiler":[6,">= 
2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) {
+  return "";
+},"useData":true});
+this["Handlebars"]["templates"]["sidebar_item"] = 
Handlebars.template({"compiler":[6,">= 
2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) {
+  var helper, functionType="function", helperMissing=helpers.helperMissing, 
escapeExpression=this.escapeExpression;
+  return escapeExpression(((helper = (helper = helpers.summary || (depth0 != 
null ? depth0.summary : depth0)) != null ? helper : helperMissing),(typeof 
helper === functionType ? helper.call(depth0, 
{"name":"summary","hash":{},"data":data}) : helper)))
+    + "\n";
+},"useData":true});
+this["Handlebars"]["templates"]["signature"] = 
Handlebars.template({"1":function(depth0,helpers,partials,data) {
+  var stack1, helper, functionType="function", 
helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, 
buffer = "    <h4 class=\"schema-title collapsed\" data-control 
data-toggle=\"collapse\"\n        data-target=\"#schema-"
+    + escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? 
depth0.id : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"id","hash":{},"data":data}) : 
helper)))
+    + "\">"
+    + escapeExpression(((helper = (helper = helpers.type || (depth0 != null ? 
depth0.type : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"type","hash":{},"data":data}) : 
helper)))
+    + " Schema</h4>\n    <div data-content class=\"collapse\" id=\"schema-"
+    + escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? 
depth0.id : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"id","hash":{},"data":data}) : 
helper)))
+    + "\">\n        <div class=\"description\">\n            ";
+  stack1 = ((helper = (helper = helpers.signature || (depth0 != null ? 
depth0.signature : depth0)) != null ? helper : helperMissing),(typeof helper 
=== functionType ? helper.call(depth0, 
{"name":"signature","hash":{},"data":data}) : helper));
+  if (stack1 != null) { buffer += stack1; }
+  return buffer + "\n        </div>\n    </div>\n";
+},"compiler":[6,">= 
2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) {
+  var stack1, helper, functionType="function", 
helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, 
buffer = "<h4 class=\"sample-title\" data-control data-toggle=\"collapse\"\n    
data-target=\"#sample-"
+    + escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? 
depth0.id : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"id","hash":{},"data":data}) : 
helper)))
+    + "\">"
+    + escapeExpression(((helper = (helper = helpers.type || (depth0 != null ? 
depth0.type : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"type","hash":{},"data":data}) : 
helper)))
+    + " Sample</h4>\n<div data-content class=\"collapse in\" id=\"sample-"
+    + escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? 
depth0.id : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"id","hash":{},"data":data}) : 
helper)))
+    + "\">\n    <div class=\"snippet\">\n        <pre><code>"
+    + escapeExpression(((helper = (helper = helpers.sampleJSON || (depth0 != 
null ? depth0.sampleJSON : depth0)) != null ? helper : helperMissing),(typeof 
helper === functionType ? helper.call(depth0, 
{"name":"sampleJSON","hash":{},"data":data}) : helper)))
+    + "</code></pre>\n    </div>\n</div>\n\n";
+  stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.signature : 
depth0), {"name":"if","hash":{},"fn":this.program(1, 
data),"inverse":this.noop,"data":data});
+  if (stack1 != null) { buffer += stack1; }
+  return buffer;
+},"useData":true});
+this["Handlebars"]["templates"]["status_code"] = 
Handlebars.template({"compiler":[6,">= 
2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) {
+  var stack1, helper, functionType="function", 
helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, 
buffer = "<td style=\"width: 20px;\"><strong>"
+    + escapeExpression(((helper = (helper = helpers.code || (depth0 != null ? 
depth0.code : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"code","hash":{},"data":data}) : 
helper)))
+    + "</strong></td>\n<td>";
+  stack1 = ((helper = (helper = helpers.message || (depth0 != null ? 
depth0.message : depth0)) != null ? helper : helperMissing),(typeof helper === 
functionType ? helper.call(depth0, {"name":"message","hash":{},"data":data}) : 
helper));
+  if (stack1 != null) { buffer += stack1; }
+  return buffer + "</td>\n";
+},"useData":true});
+/**
+ * swagger-client - swagger-client is a javascript client for use with 
swaggering APIs.
+ * @version v2.1.6-M2
+ * @link http://swagger.io
+ * @license apache 2.0
+ */
+(function(f){if(typeof exports==="object"&&typeof 
module!=="undefined"){module.exports=f()}else if(typeof 
define==="function"&&define.amd){define([],f)}else{var g;if(typeof 
window!=="undefined"){g=window}else if(typeof 
global!=="undefined"){g=global}else if(typeof 
self!=="undefined"){g=self}else{g=this}g.SwaggerClient = f()}})(function(){var 
define,module,exports;return (function e(t,n,r){function 
s(o,u){if(!n[o]){if(!t[o]){var a=typeof 
require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var 
f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var 
l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return 
s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof 
require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return 
s})({1:[function(require,module,exports){
+'use strict';
+
+var auth = require('./lib/auth');
+var helpers = require('./lib/helpers');
+var SwaggerClient = require('./lib/client');
+var deprecationWrapper = function (url, options) {
+  helpers.log('This is deprecated, use "new SwaggerClient" instead.');
+
+  return new SwaggerClient(url, options);
+};
+
+/* Here for IE8 Support */
+if (!Array.prototype.indexOf) {
+  Array.prototype.indexOf = function(obj, start) {
+    for (var i = (start || 0), j = this.length; i < j; i++) {
+      if (this[i] === obj) { return i; }
+    }
+    return -1;
+  };
+}
+
+/* Here for IE8 Support */
+if (!String.prototype.trim) {
+  String.prototype.trim = function () {
+    return this.replace(/^\s+|\s+$/g, '');
+  };
+}
+
+/* Here for node 10.x support */
+if (!String.prototype.endsWith) {
+  String.prototype.endsWith = function(suffix) {
+    return this.indexOf(suffix, this.length - suffix.length) !== -1;
+  };
+}
+
+module.exports = SwaggerClient;
+
+SwaggerClient.ApiKeyAuthorization = auth.ApiKeyAuthorization;
+SwaggerClient.PasswordAuthorization = auth.PasswordAuthorization;
+SwaggerClient.CookieAuthorization = auth.CookieAuthorization;
+SwaggerClient.SwaggerApi = deprecationWrapper;
+SwaggerClient.SwaggerClient = deprecationWrapper;
+
+},{"./lib/auth":2,"./lib/client":3,"./lib/helpers":4}],2:[function(require,module,exports){
+'use strict';
+
+var btoa = require('btoa'); // jshint ignore:line
+var CookieJar = require('cookiejar');
+
+/**
+ * SwaggerAuthorizations applys the correct authorization to an operation 
being executed
+ */
+var SwaggerAuthorizations = module.exports.SwaggerAuthorizations = function () 
{
+  this.authz = {};
+};
+
+SwaggerAuthorizations.prototype.add = function (name, auth) {
+  this.authz[name] = auth;
+
+  return auth;
+};
+
+SwaggerAuthorizations.prototype.remove = function (name) {
+  return delete this.authz[name];
+};
+
+SwaggerAuthorizations.prototype.apply = function (obj, authorizations) {
+  var status = null;
+  var key, name, value, result;
+
+  // Apply all authorizations if there were no authorizations to apply
+  if (typeof authorizations === 'undefined') {
+    for (key in this.authz) {
+      value = this.authz[key];
+      result = value.apply(obj, authorizations);
+
+      if (result === true) {
+        status = true;
+      }
+    }
+  } else {
+    // 2.0 support
+    if (Array.isArray(authorizations)) {
+      for (var i = 0; i < authorizations.length; i++) {
+        var auth = authorizations[i];
+
+        for (name in auth) {
+          for (key in this.authz) {
+            if (key === name) {
+              value = this.authz[key];
+              result = value.apply(obj, authorizations);
+
+              if (result === true) {
+                status = true;
+              }
+            }
+          }
+        }
+      }
+    } else {
+      // 1.2 support
+      for (name in authorizations) {
+        for (key in this.authz) {
+          if (key === name) {
+            value = this.authz[key];
+            result = value.apply(obj, authorizations);
+
+            if (result === true) {
+              status = true;
+            }
+          }
+        }
+      }
+    }
+  }
+
+  return status;
+};
+
+/**
+ * ApiKeyAuthorization allows a query param or header to be injected
+ */
+var ApiKeyAuthorization = module.exports.ApiKeyAuthorization = function (name, 
value, type) {
+  this.name = name;
+  this.value = value;
+  this.type = type;
+};
+
+ApiKeyAuthorization.prototype.apply = function (obj) {
+  if (this.type === 'query') {
+    if (obj.url.indexOf('?') > 0) {
+      obj.url = obj.url + '&' + this.name + '=' + this.value;
+    } else {
+      obj.url = obj.url + '?' + this.name + '=' + this.value;
+    }
+
+    return true;
+  } else if (this.type === 'header') {
+    obj.headers[this.name] = this.value;
+
+    return true;
+  }
+};
+
+var CookieAuthorization = module.exports.CookieAuthorization = function 
(cookie) {
+  this.cookie = cookie;
+};
+
+CookieAuthorization.prototype.apply = function (obj) {
+  obj.cookieJar = obj.cookieJar || new CookieJar();
+  obj.cookieJar.setCookie(this.cookie);
+
+  return true;
+};
+
+/**
+ * Password Authorization is a basic auth implementation
+ */
+var PasswordAuthorization = module.exports.PasswordAuthorization = function 
(name, username, password) {
+  this.name = name;
+  this.username = username;
+  this.password = password;
+};
+
+PasswordAuthorization.prototype.apply = function (obj) {
+  obj.headers.Authorization = 'Basic ' + btoa(this.username + ':' + 
this.password);
+
+  return true;
+};
+
+},{"btoa":16,"cookiejar":17}],3:[function(require,module,exports){
+'use strict';
+
+var _ = {
+  bind: require('lodash-compat/function/bind'),
+  cloneDeep: require('lodash-compat/lang/cloneDeep'),
+  find: require('lodash-compat/collection/find'),
+  forEach: require('lodash-compat/collection/forEach'),
+  indexOf: require('lodash-compat/array/indexOf'),
+  isArray: require('lodash-compat/lang/isArray'),
+  isFunction: require('lodash-compat/lang/isFunction'),
+  isPlainObject: require('lodash-compat/lang/isPlainObject'),
+  isUndefined: require('lodash-compat/lang/isUndefined')
+};
+var auth = require('./auth');
+var helpers = require('./helpers');
+var Model = require('./types/model');
+var Operation = require('./types/operation');
+var OperationGroup = require('./types/operationGroup');
+var Resolver = require('./resolver');
+var SwaggerHttp = require('./http');
+var SwaggerSpecConverter = require('./spec-converter');
+
+// We have to keep track of the function/property names to avoid collisions 
for tag names which are used to allow the
+// following usage: 'client.{tagName}'
+var reservedClientTags = [
+  'apis',
+  'authorizationScheme',
+  'authorizations',
+  'basePath',
+  'build',
+  'buildFrom1_1Spec',
+  'buildFrom1_2Spec',
+  'buildFromSpec',
+  'clientAuthorizations',
+  'convertInfo',
+  'debug',
+  'defaultErrorCallback',
+  'defaultSuccessCallback',
+  'fail',
+  'failure',
+  'finish',
+  'help',
+  'idFromOp',
+  'info',
+  'initialize',
+  'isBuilt',
+  'isValid',
+  'modelPropertyMacro',
+  'models',
+  'modelsArray',
+  'options',
+  'parameterMacro',
+  'parseUri',
+  'progress',
+  'resourceCount',
+  'sampleModels',
+  'selfReflect',
+  'setConsolidatedModels',
+  'spec',
+  'supportedSubmitMethods',
+  'swaggerRequestHeaders',
+  'tagFromLabel',
+  'url',
+  'useJQuery'
+];
+// We have to keep track of the function/property names to avoid collisions 
for tag names which are used to allow the
+// following usage: 'client.apis.{tagName}'
+var reservedApiTags = [
+  'apis',
+  'asCurl',
+  'description',
+  'externalDocs',
+  'help',
+  'label',
+  'name',
+  'operation',
+  'operations',
+  'operationsArray',
+  'path',
+  'tag'
+];
+var supportedOperationMethods = ['delete', 'get', 'head', 'options', 'patch', 
'post', 'put'];
+var SwaggerClient = module.exports = function (url, options) {
+  this.authorizationScheme = null;
+  this.authorizations = null;
+  this.basePath = null;
+  this.debug = false;
+  this.info = null;
+  this.isBuilt = false;
+  this.isValid = false;
+  this.modelsArray = [];
+  this.resourceCount = 0;
+  this.url = null;
+  this.useJQuery = false;
+
+  if (typeof url !== 'undefined') {
+    return this.initialize(url, options);
+  } else {
+    return this;
+  }
+};
+
+SwaggerClient.prototype.initialize = function (url, options) {
+  this.models = {};
+  this.sampleModels = {};
+
+  options = (options || {});
+
+  if (typeof url === 'string') {
+    this.url = url;
+  } else if (typeof url === 'object') {
+    options = url;
+    this.url = options.url;
+  }
+
+  this.swaggerRequestHeaders = options.swaggerRequestHeaders || 
'application/json;charset=utf-8,*/*';
+  this.defaultSuccessCallback = options.defaultSuccessCallback || null;
+  this.defaultErrorCallback = options.defaultErrorCallback || null;
+  this.modelPropertyMacro = options.modelPropertyMacro || null;
+  this.parameterMacro = options.modelPropertyMacro || null;
+
+  if (typeof options.success === 'function') {
+    this.success = options.success;
+  }
+
+  if (options.useJQuery) {
+    this.useJQuery = options.useJQuery;
+  }
+
+  if (options.authorizations) {
+    this.clientAuthorizations = options.authorizations;
+  } else {
+    this.clientAuthorizations = new auth.SwaggerAuthorizations();
+  }
+
+  this.options = options || {};
+
+  this.supportedSubmitMethods = options.supportedSubmitMethods || [];
+  this.failure = options.failure || function () {};
+  this.progress = options.progress || function () {};
+  this.spec = _.cloneDeep(options.spec); // Clone so we do not alter the 
provided document
+
+  if (typeof options.success === 'function') {
+    this.ready = true;
+    this.build();
+  }
+};
+
+SwaggerClient.prototype.build = function (mock) {
+  if (this.isBuilt) {
+    return this;
+  }
+
+  var self = this;
+
+  this.progress('fetching resource list: ' + this.url);
+
+  var obj = {
+    useJQuery: this.useJQuery,
+    url: this.url,
+    method: 'get',
+    headers: {
+      accept: this.swaggerRequestHeaders
+    },
+    on: {
+      error: function (response) {
+        if (self.url.substring(0, 4) !== 'http') {
+          return self.fail('Please specify the protocol for ' + self.url);
+        } else if (response.status === 0) {
+          return self.fail('Can\'t read from server.  It may not have the 
appropriate access-control-origin settings.');
+        } else if (response.status === 404) {
+          return self.fail('Can\'t read swagger JSON from ' + self.url);
+        } else {
+          return self.fail(response.status + ' : ' + response.statusText + ' ' 
+ self.url);
+        }
+      },
+      response: function (resp) {
+        var responseObj = resp.obj || JSON.parse(resp.data);
+        self.swaggerVersion = responseObj.swaggerVersion;
+
+        if (responseObj.swagger && parseInt(responseObj.swagger) === 2) {
+          self.swaggerVersion = responseObj.swagger;
+
+          new Resolver().resolve(responseObj, self.buildFromSpec, self);
+
+          self.isValid = true;
+        } else {
+          var converter = new SwaggerSpecConverter();
+          converter.setDocumentationLocation(self.url);
+          converter.convert(responseObj, self.clientAuthorizations, 
function(spec) {
+            new Resolver().resolve(spec, self.buildFromSpec, self);
+            self.isValid = true;
+          });
+        }
+      }
+    }
+  };
+
+  if (this.spec) {
+    setTimeout(function () {
+      new Resolver().resolve(self.spec, self.buildFromSpec, self);
+   }, 10);
+  } else {
+    this.clientAuthorizations.apply(obj);
+
+    if (mock) {
+      return obj;
+    }
+
+    new SwaggerHttp().execute(obj, this.options);
+  }
+
+  return this;
+};
+
+SwaggerClient.prototype.buildFromSpec = function (response) {
+  if (this.isBuilt) {
+    return this;
+  }
+
+  this.apis = {};
+  this.apisArray = [];
+  this.basePath = response.basePath || '';
+  this.consumes = response.consumes;
+  this.host = response.host || '';
+  this.info = response.info || {};
+  this.produces = response.produces;
+  this.schemes = response.schemes || [];
+  this.securityDefinitions = response.securityDefinitions;
+  this.title = response.title || '';
+
+  if (response.externalDocs) {
+    this.externalDocs = response.externalDocs;
+  }
+
+  // legacy support
+  this.authSchemes = response.securityDefinitions;
+
+  var definedTags = {};
+  var k;
+
+  if (Array.isArray(response.tags)) {
+    definedTags = {};
+
+    for (k = 0; k < response.tags.length; k++) {
+      var t = response.tags[k];
+      definedTags[t.name] = t;
+    }
+  }
+
+  var location;
+
+  if (typeof this.url === 'string') {
+    location = this.parseUri(this.url);
+    if (typeof this.schemes === 'undefined' || this.schemes.length === 0) {
+      this.scheme = location.scheme || 'http';
+    } else {
+      this.scheme = this.schemes[0];
+    }
+
+    if (typeof this.host === 'undefined' || this.host === '') {
+      this.host = location.host;
+
+      if (location.port) {
+        this.host = this.host + ':' + location.port;
+      }
+    }
+  }
+  else {
+    if (typeof this.schemes === 'undefined' || this.schemes.length === 0) {
+      this.scheme = 'http';
+    }
+    else {
+      this.scheme = this.schemes[0];
+    }
+  }
+
+  this.definitions = response.definitions;
+
+  var key;
+
+  for (key in this.definitions) {
+    var model = new Model(key, this.definitions[key], this.models, 
this.modelPropertyMacro);
+
+    if (model) {
+      this.models[key] = model;
+    }
+  }
+
+  // get paths, create functions for each operationId
+  var self = this;
+
+  // Bind help to 'client.apis'
+  self.apis.help = _.bind(self.help, self);
+
+  _.forEach(response.paths, function (pathObj, path) {
+    // Only process a path if it's an object
+    if (!_.isPlainObject(pathObj)) {
+      return;
+    }
+
+    _.forEach(supportedOperationMethods, function (method) {
+      var operation = pathObj[method];
+
+      if (_.isUndefined(operation)) {
+        // Operation does not exist
+        return;
+      } else if (!_.isPlainObject(operation)) {
+        // Operation exists but it is not an Operation Object.  Since this is 
invalid, log it.
+        helpers.log('The \'' + method + '\' operation for \'' + path + '\' 
path is not an Operation Object');
+
+        return;
+      }
+      
+      var tags = operation.tags;
+
+      if (_.isUndefined(tags) || !_.isArray(tags) || tags.length === 0) {
+        tags = operation.tags = [ 'default' ];
+      }
+
+      var operationId = self.idFromOp(path, method, operation);
+      var operationObject = new Operation(self,
+        operation.scheme,
+        operationId,
+        method,
+        path,
+        operation,
+        self.definitions,
+        self.models,
+        self.clientAuthorizations);
+
+      // bind self operation's execute command to the api
+      _.forEach(tags, function (tag) {
+        var clientProperty = _.indexOf(reservedClientTags, tag) > -1 ? '_' + 
tag : tag;
+        var apiProperty = _.indexOf(reservedApiTags, tag) > -1 ? '_' + tag : 
tag;
+        var operationGroup = self[clientProperty];
+
+        if (clientProperty !== tag) {
+          helpers.log('The \'' + tag + '\' tag conflicts with a SwaggerClient 
function/property name.  Use \'client.' +
+                      clientProperty + '\' or \'client.apis.' + tag + '\' 
instead of \'client.' + tag + '\'.');
+        }
+
+        if (apiProperty !== tag) {
+          helpers.log('The \'' + tag + '\' tag conflicts with a SwaggerClient 
operation function/property name.  Use ' +
+                      '\'client.apis.' + apiProperty + '\' instead of 
\'client.apis.' + tag + '\'.');
+        }
+
+        if (_.indexOf(reservedApiTags, operationId) > -1) {
+          helpers.log('The \'' + operationId + '\' operationId conflicts with 
a SwaggerClient operation ' +
+                      'function/property name.  Use \'client.apis.' + 
apiProperty + '._' + operationId +
+                      '\' instead of \'client.apis.' + apiProperty + '.' + 
operationId + '\'.');
+
+          operationId = '_' + operationId;
+          operationObject.nickname = operationId; // So 
'client.apis.[tag].operationId.help() works properly
+        }
+
+        if (_.isUndefined(operationGroup)) {
+          operationGroup = self[clientProperty] = self.apis[apiProperty] = {};
+
+          operationGroup.operations = {};
+          operationGroup.label = apiProperty;
+          operationGroup.apis = {};
+
+          var tagDef = definedTags[tag];
+
+          if (!_.isUndefined(tagDef)) {
+            operationGroup.description = tagDef.description;
+            operationGroup.externalDocs = tagDef.externalDocs;
+          }
+
+          self[clientProperty].help = _.bind(self.help, operationGroup);
+          self.apisArray.push(new OperationGroup(tag, 
operationGroup.description, operationGroup.externalDocs, operationObject));
+        }
+
+        // Bind tag help
+        if (!_.isFunction(operationGroup.help)) {
+          operationGroup.help = _.bind(self.help, operationGroup);
+        }
+
+        // bind to the apis object
+        self.apis[apiProperty][operationId] = operationGroup[operationId] = 
_.bind(operationObject.execute,
+                                                                               
   operation

<TRUNCATED>

Reply via email to