(function webpackUniversalModuleDefinition(root, factory) {
    if (typeof exports === "object" && typeof module === "object") module.exports = factory(require("deep-extend"), require("immutable"), require("css.escape"), require("xml"), require("memoizee"), require("base64-js"), require("ieee754"), require("isarray"), require("react"), require("react-dom"), require("react-redux"), require("swagger-client"), require("reselect"), require("url-parse"), require("serialize-error"), function webpackLoadOptionalExternalModule() {
        try {
            return require("buffer")
        } catch (e) {}
    }(), require("regenerator-runtime"), require("prop-types"), require("react-immutable-proptypes"), require("react-immutable-pure-component"), require("classnames"), require("remarkable"), require("dompurify"), require("zenscroll"), require("react-debounce-input"), require("xml-but-prettier"), require("js-file-download"), require("redux"), require("redux-immutable"));
    else if (typeof define === "function" && define.amd) define(["deep-extend", "immutable", "css.escape", "xml", "memoizee", "base64-js", "ieee754", "isarray", "react", "react-dom", "react-redux", "swagger-client", "reselect", "url-parse", "serialize-error", "buffer", "regenerator-runtime", "prop-types", "react-immutable-proptypes", "react-immutable-pure-component", "classnames", "remarkable", "dompurify", "zenscroll", "react-debounce-input", "xml-but-prettier", "js-file-download", "redux", "redux-immutable"], factory);
    else if (typeof exports === "object") exports["SwaggerUICore"] = factory(require("deep-extend"), require("immutable"), require("css.escape"), require("xml"), require("memoizee"), require("base64-js"), require("ieee754"), require("isarray"), require("react"), require("react-dom"), require("react-redux"), require("swagger-client"), require("reselect"), require("url-parse"), require("serialize-error"), function webpackLoadOptionalExternalModule() {
        try {
            return require("buffer")
        } catch (e) {}
    }(), require("regenerator-runtime"), require("prop-types"), require("react-immutable-proptypes"), require("react-immutable-pure-component"), require("classnames"), require("remarkable"), require("dompurify"), require("zenscroll"), require("react-debounce-input"), require("xml-but-prettier"), require("js-file-download"), require("redux"), require("redux-immutable"));
    else root["SwaggerUICore"] = factory(root["deep-extend"], root["immutable"], root["css.escape"], root["xml"], root["memoizee"], root["base64-js"], root["ieee754"], root["isarray"], root["react"], root["react-dom"], root["react-redux"], root["swagger-client"], root["reselect"], root["url-parse"], root["serialize-error"], root["buffer"], root["regenerator-runtime"], root["prop-types"], root["react-immutable-proptypes"], root["react-immutable-pure-component"], root["classnames"], root["remarkable"], root["dompurify"], root["zenscroll"], root["react-debounce-input"], root["xml-but-prettier"], root["js-file-download"], root["redux"], root["redux-immutable"])
})(this, function(__WEBPACK_EXTERNAL_MODULE_178__, __WEBPACK_EXTERNAL_MODULE_7__, __WEBPACK_EXTERNAL_MODULE_480__, __WEBPACK_EXTERNAL_MODULE_478__, __WEBPACK_EXTERNAL_MODULE_479__, __WEBPACK_EXTERNAL_MODULE_382__, __WEBPACK_EXTERNAL_MODULE_383__, __WEBPACK_EXTERNAL_MODULE_384__, __WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_537__, __WEBPACK_EXTERNAL_MODULE_538__, __WEBPACK_EXTERNAL_MODULE_239__, __WEBPACK_EXTERNAL_MODULE_37__, __WEBPACK_EXTERNAL_MODULE_144__, __WEBPACK_EXTERNAL_MODULE_122__, __WEBPACK_EXTERNAL_MODULE_515__, __WEBPACK_EXTERNAL_MODULE_500__, __WEBPACK_EXTERNAL_MODULE_1__, __WEBPACK_EXTERNAL_MODULE_9__, __WEBPACK_EXTERNAL_MODULE_631__, __WEBPACK_EXTERNAL_MODULE_75__, __WEBPACK_EXTERNAL_MODULE_262__, __WEBPACK_EXTERNAL_MODULE_643__, __WEBPACK_EXTERNAL_MODULE_578__, __WEBPACK_EXTERNAL_MODULE_646__, __WEBPACK_EXTERNAL_MODULE_607__, __WEBPACK_EXTERNAL_MODULE_603__, __WEBPACK_EXTERNAL_MODULE_379__, __WEBPACK_EXTERNAL_MODULE_380__) {
    return function(modules) {
        var installedModules = {};

        function __webpack_require__(moduleId) {
            if (installedModules[moduleId]) {
                return installedModules[moduleId].exports
            }
            var module = installedModules[moduleId] = {
                i: moduleId,
                l: false,
                exports: {}
            };
            modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
            module.l = true;
            return module.exports
        }
        __webpack_require__.m = modules;
        __webpack_require__.c = installedModules;
        __webpack_require__.d = function(exports, name, getter) {
            if (!__webpack_require__.o(exports, name)) {
                Object.defineProperty(exports, name, {
                    configurable: false,
                    enumerable: true,
                    get: getter
                })
            }
        };
        __webpack_require__.n = function(module) {
            var getter = module && module.__esModule ? function getDefault() {
                return module["default"]
            } : function getModuleExports() {
                return module
            };
            __webpack_require__.d(getter, "a", getter);
            return getter
        };
        __webpack_require__.o = function(object, property) {
            return Object.prototype.hasOwnProperty.call(object, property)
        };
        __webpack_require__.p = "/dist";
        return __webpack_require__(__webpack_require__.s = 287)
    }([function(module, exports) {
        module.exports = require("react")
    }, function(module, exports) {
        module.exports = require("prop-types")
    }, function(module, exports, __webpack_require__) {
        "use strict";
        exports.__esModule = true;
        exports.default = function(instance, Constructor) {
            if (!(instance instanceof Constructor)) {
                throw new TypeError("Cannot call a class as a function")
            }
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        exports.__esModule = true;
        var _defineProperty = __webpack_require__(179);
        var _defineProperty2 = _interopRequireDefault(_defineProperty);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        exports.default = function() {
            function defineProperties(target, props) {
                for (var i = 0; i < props.length; i++) {
                    var descriptor = props[i];
                    descriptor.enumerable = descriptor.enumerable || false;
                    descriptor.configurable = true;
                    if ("value" in descriptor) descriptor.writable = true;
                    (0, _defineProperty2.default)(target, descriptor.key, descriptor)
                }
            }
            return function(Constructor, protoProps, staticProps) {
                if (protoProps) defineProperties(Constructor.prototype, protoProps);
                if (staticProps) defineProperties(Constructor, staticProps);
                return Constructor
            }
        }()
    }, function(module, exports, __webpack_require__) {
        module.exports = {
            default: __webpack_require__(528),
            __esModule: true
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        exports.__esModule = true;
        var _typeof2 = __webpack_require__(36);
        var _typeof3 = _interopRequireDefault(_typeof2);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        exports.default = function(self, call) {
            if (!self) {
                throw new ReferenceError("this hasn't been initialised - super() hasn't been called")
            }
            return call && ((typeof call === "undefined" ? "undefined" : (0, _typeof3.default)(call)) === "object" || typeof call === "function") ? call : self
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        exports.__esModule = true;
        var _setPrototypeOf = __webpack_require__(530);
        var _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);
        var _create = __webpack_require__(534);
        var _create2 = _interopRequireDefault(_create);
        var _typeof2 = __webpack_require__(36);
        var _typeof3 = _interopRequireDefault(_typeof2);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        exports.default = function(subClass, superClass) {
            if (typeof superClass !== "function" && superClass !== null) {
                throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : (0, _typeof3.default)(superClass)))
            }
            subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {
                constructor: {
                    value: subClass,
                    enumerable: false,
                    writable: true,
                    configurable: true
                }
            });
            if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass
        }
    }, function(module, exports) {
        module.exports = require("immutable")
    }, function(module, exports, __webpack_require__) {
        "use strict";
        (function(Buffer) {
            Object.defineProperty(exports, "__esModule", {
                value: true
            });
            exports.getCommonExtensions = exports.getExtensions = exports.escapeDeepLinkPath = exports.createDeepLinkPath = exports.shallowEqualKeys = exports.buildFormData = exports.sorters = exports.btoa = exports.serializeSearch = exports.parseSearch = exports.getSampleSchema = exports.validateParam = exports.validatePattern = exports.validateMinLength = exports.validateMaxLength = exports.validateGuid = exports.validateDateTime = exports.validateString = exports.validateBoolean = exports.validateFile = exports.validateInteger = exports.validateNumber = exports.validateMinimum = exports.validateMaximum = exports.propChecker = exports.memoize = exports.isImmutable = undefined;
            var _stringify = __webpack_require__(30);
            var _stringify2 = _interopRequireDefault(_stringify);
            var _slicedToArray2 = __webpack_require__(13);
            var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
            var _getIterator2 = __webpack_require__(76);
            var _getIterator3 = _interopRequireDefault(_getIterator2);
            var _assign = __webpack_require__(19);
            var _assign2 = _interopRequireDefault(_assign);
            var _keys = __webpack_require__(31);
            var _keys2 = _interopRequireDefault(_keys);
            var _typeof2 = __webpack_require__(36);
            var _typeof3 = _interopRequireDefault(_typeof2);
            exports.isJSONObject = isJSONObject;
            exports.objectify = objectify;
            exports.arrayify = arrayify;
            exports.fromJSOrdered = fromJSOrdered;
            exports.bindToState = bindToState;
            exports.normalizeArray = normalizeArray;
            exports.isFn = isFn;
            exports.isObject = isObject;
            exports.isFunc = isFunc;
            exports.isArray = isArray;
            exports.objMap = objMap;
            exports.objReduce = objReduce;
            exports.systemThunkMiddleware = systemThunkMiddleware;
            exports.defaultStatusCode = defaultStatusCode;
            exports.getList = getList;
            exports.highlight = highlight;
            exports.mapToList = mapToList;
            exports.extractFileNameFromContentDispositionHeader = extractFileNameFromContentDispositionHeader;
            exports.pascalCase = pascalCase;
            exports.pascalCaseFilename = pascalCaseFilename;
            exports.sanitizeUrl = sanitizeUrl;
            exports.getAcceptControllingResponse = getAcceptControllingResponse;
            exports.deeplyStripKey = deeplyStripKey;
            exports.stringify = stringify;
            exports.numberToString = numberToString;
            var _immutable = __webpack_require__(7);
            var _immutable2 = _interopRequireDefault(_immutable);
            var _sanitizeUrl = __webpack_require__(388);
            var _camelCase = __webpack_require__(389);
            var _camelCase2 = _interopRequireDefault(_camelCase);
            var _upperFirst = __webpack_require__(183);
            var _upperFirst2 = _interopRequireDefault(_upperFirst);
            var _memoize2 = __webpack_require__(187);
            var _memoize3 = _interopRequireDefault(_memoize2);
            var _find = __webpack_require__(428);
            var _find2 = _interopRequireDefault(_find);
            var _some = __webpack_require__(471);
            var _some2 = _interopRequireDefault(_some);
            var _eq = __webpack_require__(67);
            var _eq2 = _interopRequireDefault(_eq);
            var _fn = __webpack_require__(138);
            var _window = __webpack_require__(22);
            var _window2 = _interopRequireDefault(_window);
            var _css = __webpack_require__(480);
            var _css2 = _interopRequireDefault(_css);

            function _interopRequireDefault(obj) {
                return obj && obj.__esModule ? obj : {
                    default: obj
                }
            }
            var DEFAULT_RESPONSE_KEY = "default";
            var isImmutable = exports.isImmutable = function isImmutable(maybe) {
                return _immutable2.default.Iterable.isIterable(maybe)
            };

            function isJSONObject(str) {
                try {
                    var o = JSON.parse(str);
                    if (o && (typeof o === "undefined" ? "undefined" : (0, _typeof3.default)(o)) === "object") {
                        return o
                    }
                } catch (e) {}
                return false
            }

            function objectify(thing) {
                if (!isObject(thing)) return {};
                if (isImmutable(thing)) return thing.toJS();
                return thing
            }

            function arrayify(thing) {
                if (!thing) return [];
                if (thing.toArray) return thing.toArray();
                return normalizeArray(thing)
            }

            function fromJSOrdered(js) {
                if (isImmutable(js)) return js;
                if (js instanceof _window2.default.File) return js;
                return !isObject(js) ? js : Array.isArray(js) ? _immutable2.default.Seq(js).map(fromJSOrdered).toList() : _immutable2.default.OrderedMap(js).map(fromJSOrdered)
            }

            function bindToState(obj, state) {
                var newObj = {};
                (0, _keys2.default)(obj).filter(function(key) {
                    return typeof obj[key] === "function"
                }).forEach(function(key) {
                    return newObj[key] = obj[key].bind(null, state)
                });
                return newObj
            }

            function normalizeArray(arr) {
                if (Array.isArray(arr)) return arr;
                return [arr]
            }

            function isFn(fn) {
                return typeof fn === "function"
            }

            function isObject(obj) {
                return !!obj && (typeof obj === "undefined" ? "undefined" : (0, _typeof3.default)(obj)) === "object"
            }

            function isFunc(thing) {
                return typeof thing === "function"
            }

            function isArray(thing) {
                return Array.isArray(thing)
            }
            var memoize = exports.memoize = _memoize3.default;

            function objMap(obj, fn) {
                return (0, _keys2.default)(obj).reduce(function(newObj, key) {
                    newObj[key] = fn(obj[key], key);
                    return newObj
                }, {})
            }

            function objReduce(obj, fn) {
                return (0, _keys2.default)(obj).reduce(function(newObj, key) {
                    var res = fn(obj[key], key);
                    if (res && (typeof res === "undefined" ? "undefined" : (0, _typeof3.default)(res)) === "object")(0, _assign2.default)(newObj, res);
                    return newObj
                }, {})
            }

            function systemThunkMiddleware(getSystem) {
                return function(_ref) {
                    var dispatch = _ref.dispatch,
                        getState = _ref.getState;
                    return function(next) {
                        return function(action) {
                            if (typeof action === "function") {
                                return action(getSystem())
                            }
                            return next(action)
                        }
                    }
                }
            }

            function defaultStatusCode(responses) {
                var codes = responses.keySeq();
                return codes.contains(DEFAULT_RESPONSE_KEY) ? DEFAULT_RESPONSE_KEY : codes.filter(function(key) {
                    return (key + "")[0] === "2"
                }).sort().first()
            }

            function getList(iterable, keys) {
                if (!_immutable2.default.Iterable.isIterable(iterable)) {
                    return _immutable2.default.List()
                }
                var val = iterable.getIn(Array.isArray(keys) ? keys : [keys]);
                return _immutable2.default.List.isList(val) ? val : _immutable2.default.List()
            }

            function highlight(el) {
                var MAX_LENGTH = 5e3;
                var _document = document,
                    appendChild = "appendChild",
                    test = "test";
                if (!el) return "";
                if (el.textContent.length > MAX_LENGTH) {
                    return el.textContent
                }
                var reset = function reset(el) {
                    var text = el.textContent,
                        pos = 0,
                        next1 = text[0],
                        chr = 1,
                        prev1, prev2, token = el.innerHTML = "",
                        tokenType = 0,
                        lastTokenType, multichar, node;
                    while (prev2 = prev1, prev1 = tokenType < 7 && prev1 == "\\" ? 1 : chr) {
                        chr = next1;
                        next1 = text[++pos];
                        multichar = token.length > 1;
                        if (!chr || tokenType > 8 && chr == "\n" || [/\S/ [test](chr), 1, 1, !/[$\w]/ [test](chr), (prev1 == "/" || prev1 == "\n") && multichar, prev1 == '"' && multichar, prev1 == "'" && multichar, text[pos - 4] + prev2 + prev1 == "--\x3e", prev2 + prev1 == "*/"][tokenType]) {
                            if (token) {
                                el[appendChild](node = _document.createElement("span")).setAttribute("style", ["color: #555; font-weight: bold;", "", "", "color: #555;", ""][!tokenType ? 0 : tokenType < 3 ? 2 : tokenType > 6 ? 4 : tokenType > 3 ? 3 : +/^(a(bstract|lias|nd|rguments|rray|s(m|sert)?|uto)|b(ase|egin|ool(ean)?|reak|yte)|c(ase|atch|har|hecked|lass|lone|ompl|onst|ontinue)|de(bugger|cimal|clare|f(ault|er)?|init|l(egate|ete)?)|do|double|e(cho|ls?if|lse(if)?|nd|nsure|num|vent|x(cept|ec|p(licit|ort)|te(nds|nsion|rn)))|f(allthrough|alse|inal(ly)?|ixed|loat|or(each)?|riend|rom|unc(tion)?)|global|goto|guard|i(f|mp(lements|licit|ort)|n(it|clude(_once)?|line|out|stanceof|t(erface|ernal)?)?|s)|l(ambda|et|ock|ong)|m(icrolight|odule|utable)|NaN|n(amespace|ative|ext|ew|il|ot|ull)|o(bject|perator|r|ut|verride)|p(ackage|arams|rivate|rotected|rotocol|ublic)|r(aise|e(adonly|do|f|gister|peat|quire(_once)?|scue|strict|try|turn))|s(byte|ealed|elf|hort|igned|izeof|tatic|tring|truct|ubscript|uper|ynchronized|witch)|t(emplate|hen|his|hrows?|ransient|rue|ry|ype(alias|def|id|name|of))|u(n(checked|def(ined)?|ion|less|signed|til)|se|sing)|v(ar|irtual|oid|olatile)|w(char_t|hen|here|hile|ith)|xor|yield)$/ [test](token)]);
                                node[appendChild](_document.createTextNode(token))
                            }
                            lastTokenType = tokenType && tokenType < 7 ? tokenType : lastTokenType;
                            token = "";
                            tokenType = 11;
                            while (![1, /[\/{}[(\-+*=<>:;|\\.,?!&@~]/ [test](chr), /[\])]/ [test](chr), /[$\w]/ [test](chr), chr == "/" && lastTokenType < 2 && prev1 != "<", chr == '"', chr == "'", chr + next1 + text[pos + 1] + text[pos + 2] == "\x3c!--", chr + next1 == "/*", chr + next1 == "//", chr == "#"][--tokenType]) {}
                        }
                        token += chr
                    }
                };
                return reset(el)
            }

            function mapToList(map) {
                var keyNames = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "key";
                var collectedKeys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _immutable2.default.Map();
                if (!_immutable2.default.Map.isMap(map) || !map.size) {
                    return _immutable2.default.List()
                }
                if (!Array.isArray(keyNames)) {
                    keyNames = [keyNames]
                }
                if (keyNames.length < 1) {
                    return map.merge(collectedKeys)
                }
                var list = _immutable2.default.List();
                var keyName = keyNames[0];
                var _iteratorNormalCompletion = true;
                var _didIteratorError = false;
                var _iteratorError = undefined;
                try {
                    for (var _iterator = (0, _getIterator3.default)(map.entries()), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
                        var entry = _step.value;
                        var _entry = (0, _slicedToArray3.default)(entry, 2),
                            key = _entry[0],
                            val = _entry[1];
                        var nextList = mapToList(val, keyNames.slice(1), collectedKeys.set(keyName, key));
                        if (_immutable2.default.List.isList(nextList)) {
                            list = list.concat(nextList)
                        } else {
                            list = list.push(nextList)
                        }
                    }
                } catch (err) {
                    _didIteratorError = true;
                    _iteratorError = err
                } finally {
                    try {
                        if (!_iteratorNormalCompletion && _iterator.return) {
                            _iterator.return()
                        }
                    } finally {
                        if (_didIteratorError) {
                            throw _iteratorError
                        }
                    }
                }
                return list
            }

            function extractFileNameFromContentDispositionHeader(value) {
                var responseFilename = /filename="([^;]*);?"/i.exec(value);
                if (responseFilename === null) {
                    responseFilename = /filename=([^;]*);?/i.exec(value)
                }
                if (responseFilename !== null && responseFilename.length > 1) {
                    return responseFilename[1]
                }
                return null
            }

            function pascalCase(str) {
                return (0, _upperFirst2.default)((0, _camelCase2.default)(str))
            }

            function pascalCaseFilename(filename) {
                return pascalCase(filename.replace(/\.[^./]*$/, ""))
            }
            var propChecker = exports.propChecker = function propChecker(props, nextProps) {
                var objectList = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
                var ignoreList = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
                if ((0, _keys2.default)(props).length !== (0, _keys2.default)(nextProps).length) {
                    return true
                }
                return (0, _some2.default)(props, function(a, name) {
                    if (ignoreList.includes(name)) {
                        return false
                    }
                    var b = nextProps[name];
                    if (_immutable2.default.Iterable.isIterable(a)) {
                        return !_immutable2.default.is(a, b)
                    }
                    if ((typeof a === "undefined" ? "undefined" : (0, _typeof3.default)(a)) === "object" && (typeof b === "undefined" ? "undefined" : (0, _typeof3.default)(b)) === "object") {
                        return false
                    }
                    return a !== b
                }) || objectList.some(function(objectPropName) {
                    return !(0, _eq2.default)(props[objectPropName], nextProps[objectPropName])
                })
            };
            var validateMaximum = exports.validateMaximum = function validateMaximum(val, max) {
                if (val > max) {
                    return "Value must be less than Maximum"
                }
            };
            var validateMinimum = exports.validateMinimum = function validateMinimum(val, min) {
                if (val < min) {
                    return "Value must be greater than Minimum"
                }
            };
            var validateNumber = exports.validateNumber = function validateNumber(val) {
                if (!/^-?\d+(\.?\d+)?$/.test(val)) {
                    return "Value must be a number"
                }
            };
            var validateInteger = exports.validateInteger = function validateInteger(val) {
                if (!/^-?\d+$/.test(val)) {
                    return "Value must be an integer"
                }
            };
            var validateFile = exports.validateFile = function validateFile(val) {
                if (val && !(val instanceof _window2.default.File)) {
                    return "Value must be a file"
                }
            };
            var validateBoolean = exports.validateBoolean = function validateBoolean(val) {
                if (!(val === "true" || val === "false" || val === true || val === false)) {
                    return "Value must be a boolean"
                }
            };
            var validateString = exports.validateString = function validateString(val) {
                if (val && typeof val !== "string") {
                    return "Value must be a string"
                }
            };
            var validateDateTime = exports.validateDateTime = function validateDateTime(val) {
                if (isNaN(Date.parse(val))) {
                    return "Value must be a DateTime"
                }
            };
            var validateGuid = exports.validateGuid = function validateGuid(val) {
                val = val.toString().toLowerCase();
                if (!/^[{(]?[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}[)}]?$/.test(val)) {
                    return "Value must be a Guid"
                }
            };
            var validateMaxLength = exports.validateMaxLength = function validateMaxLength(val, max) {
                if (val.length > max) {
                    return "Value must be less than MaxLength"
                }
            };
            var validateMinLength = exports.validateMinLength = function validateMinLength(val, min) {
                if (val.length < min) {
                    return "Value must be greater than MinLength"
                }
            };
            var validatePattern = exports.validatePattern = function validatePattern(val, rxPattern) {
                var patt = new RegExp(rxPattern);
                if (!patt.test(val)) {
                    return "Value must follow pattern " + rxPattern
                }
            };
            var validateParam = exports.validateParam = function validateParam(param, isXml) {
                var isOAS3 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
                var errors = [];
                var value = isXml && param.get("in") === "body" ? param.get("value_xml") : param.get("value");
                var required = param.get("required");
                var paramDetails = isOAS3 ? param.get("schema") : param;
                if (!paramDetails) return errors;
                var maximum = paramDetails.get("maximum");
                var minimum = paramDetails.get("minimum");
                var type = paramDetails.get("type");
                var format = paramDetails.get("format");
                var maxLength = paramDetails.get("maxLength");
                var minLength = paramDetails.get("minLength");
                var pattern = paramDetails.get("pattern");
                if (type && (required || value)) {
                    var stringCheck = type === "string" && value;
                    var arrayCheck = type === "array" && Array.isArray(value) && value.length;
                    var listCheck = type === "array" && _immutable2.default.List.isList(value) && value.count();
                    var fileCheck = type === "file" && value instanceof _window2.default.File;
                    var booleanCheck = type === "boolean" && (value || value === false);
                    var numberCheck = type === "number" && (value || value === 0);
                    var integerCheck = type === "integer" && (value || value === 0);
                    var oas3ObjectCheck = false;
                    if (false || isOAS3 && type === "object") {
                        if ((typeof value === "undefined" ? "undefined" : (0, _typeof3.default)(value)) === "object") {
                            oas3ObjectCheck = true
                        } else if (typeof value === "string") {
                            try {
                                JSON.parse(value);
                                oas3ObjectCheck = true
                            } catch (e) {
                                errors.push("Parameter string value must be valid JSON");
                                return errors
                            }
                        }
                    }
                    var allChecks = [stringCheck, arrayCheck, listCheck, fileCheck, booleanCheck, numberCheck, integerCheck, oas3ObjectCheck];
                    var passedAnyCheck = allChecks.some(function(v) {
                        return !!v
                    });
                    if (required && !passedAnyCheck) {
                        errors.push("Required field is not provided");
                        return errors
                    }
                    if (pattern) {
                        var err = validatePattern(value, pattern);
                        if (err) errors.push(err)
                    }
                    if (maxLength || maxLength === 0) {
                        var _err = validateMaxLength(value, maxLength);
                        if (_err) errors.push(_err)
                    }
                    if (minLength) {
                        var _err2 = validateMinLength(value, minLength);
                        if (_err2) errors.push(_err2)
                    }
                    if (maximum || maximum === 0) {
                        var _err3 = validateMaximum(value, maximum);
                        if (_err3) errors.push(_err3)
                    }
                    if (minimum || minimum === 0) {
                        var _err4 = validateMinimum(value, minimum);
                        if (_err4) errors.push(_err4)
                    }
                    if (type === "string") {
                        var _err5 = void 0;
                        if (format === "date-time") {
                            _err5 = validateDateTime(value)
                        } else if (format === "uuid") {
                            _err5 = validateGuid(value)
                        } else {
                            _err5 = validateString(value)
                        }
                        if (!_err5) return errors;
                        errors.push(_err5)
                    } else if (type === "boolean") {
                        var _err6 = validateBoolean(value);
                        if (!_err6) return errors;
                        errors.push(_err6)
                    } else if (type === "number") {
                        var _err7 = validateNumber(value);
                        if (!_err7) return errors;
                        errors.push(_err7)
                    } else if (type === "integer") {
                        var _err8 = validateInteger(value);
                        if (!_err8) return errors;
                        errors.push(_err8)
                    } else if (type === "array") {
                        var itemType = void 0;
                        if (!listCheck || !value.count()) {
                            return errors
                        }
                        itemType = paramDetails.getIn(["items", "type"]);
                        value.forEach(function(item, index) {
                            var err = void 0;
                            if (itemType === "number") {
                                err = validateNumber(item)
                            } else if (itemType === "integer") {
                                err = validateInteger(item)
                            } else if (itemType === "string") {
                                err = validateString(item)
                            }
                            if (err) {
                                errors.push({
                                    index: index,
                                    error: err
                                })
                            }
                        })
                    } else if (type === "file") {
                        var _err9 = validateFile(value);
                        if (!_err9) return errors;
                        errors.push(_err9)
                    }
                }
                return errors
            };
            var getSampleSchema = exports.getSampleSchema = function getSampleSchema(schema) {
                var contentType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
                var config = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
                if (/xml/.test(contentType)) {
                    if (!schema.xml || !schema.xml.name) {
                        schema.xml = schema.xml || {};
                        if (schema.$$ref) {
                            var match = schema.$$ref.match(/\S*\/(\S+)$/);
                            schema.xml.name = match[1]
                        } else if (schema.type || schema.items || schema.properties || schema.additionalProperties) {
                            return '<?xml version="1.0" encoding="UTF-8"?>\n\x3c!-- XML example cannot be generated --\x3e'
                        } else {
                            return null
                        }
                    }
                    return (0, _fn.memoizedCreateXMLExample)(schema, config)
                }
                var res = (0, _fn.memoizedSampleFromSchema)(schema, config);
                return (typeof res === "undefined" ? "undefined" : (0, _typeof3.default)(res)) === "object" ? (0, _stringify2.default)(res, null, 2) : res
            };
            var parseSearch = exports.parseSearch = function parseSearch() {
                var map = {};
                var search = _window2.default.location.search;
                if (!search) return {};
                if (search != "") {
                    var params = search.substr(1).split("&");
                    for (var i in params) {
                        if (!params.hasOwnProperty(i)) {
                            continue
                        }
                        i = params[i].split("=");
                        map[decodeURIComponent(i[0])] = i[1] && decodeURIComponent(i[1]) || ""
                    }
                }
                return map
            };
            var serializeSearch = exports.serializeSearch = function serializeSearch(searchMap) {
                return (0, _keys2.default)(searchMap).map(function(k) {
                    return encodeURIComponent(k) + "=" + encodeURIComponent(searchMap[k])
                }).join("&")
            };
            var btoa = exports.btoa = function btoa(str) {
                var buffer = void 0;
                if (str instanceof Buffer) {
                    buffer = str
                } else {
                    buffer = new Buffer(str.toString(), "utf-8")
                }
                return buffer.toString("base64")
            };
            var sorters = exports.sorters = {
                operationsSorter: {
                    alpha: function alpha(a, b) {
                        return a.get("path").localeCompare(b.get("path"))
                    },
                    method: function method(a, b) {
                        return a.get("method").localeCompare(b.get("method"))
                    }
                },
                tagsSorter: {
                    alpha: function alpha(a, b) {
                        return a.localeCompare(b)
                    }
                }
            };
            var buildFormData = exports.buildFormData = function buildFormData(data) {
                var formArr = [];
                for (var name in data) {
                    var val = data[name];
                    if (val !== undefined && val !== "") {
                        formArr.push([name, "=", encodeURIComponent(val).replace(/%20/g, "+")].join(""))
                    }
                }
                return formArr.join("&")
            };
            var shallowEqualKeys = exports.shallowEqualKeys = function shallowEqualKeys(a, b, keys) {
                return !!(0, _find2.default)(keys, function(key) {
                    return (0, _eq2.default)(a[key], b[key])
                })
            };

            function sanitizeUrl(url) {
                if (typeof url !== "string" || url === "") {
                    return ""
                }
                return (0, _sanitizeUrl.sanitizeUrl)(url)
            }

            function getAcceptControllingResponse(responses) {
                if (!_immutable2.default.OrderedMap.isOrderedMap(responses)) {
                    return null
                }
                if (!responses.size) {
                    return null
                }
                var suitable2xxResponse = responses.find(function(res, k) {
                    return k.startsWith("2") && (0, _keys2.default)(res.get("content") || {}).length > 0
                });
                var defaultResponse = responses.get("default") || _immutable2.default.OrderedMap();
                var defaultResponseMediaTypes = (defaultResponse.get("content") || _immutable2.default.OrderedMap()).keySeq().toJS();
                var suitableDefaultResponse = defaultResponseMediaTypes.length ? defaultResponse : null;
                return suitable2xxResponse || suitableDefaultResponse
            }
            var createDeepLinkPath = exports.createDeepLinkPath = function createDeepLinkPath(str) {
                return typeof str == "string" || str instanceof String ? str.trim().replace(/\s/g, "_") : ""
            };
            var escapeDeepLinkPath = exports.escapeDeepLinkPath = function escapeDeepLinkPath(str) {
                return (0, _css2.default)(createDeepLinkPath(str))
            };
            var getExtensions = exports.getExtensions = function getExtensions(defObj) {
                return defObj.filter(function(v, k) {
                    return /^x-/.test(k)
                })
            };
            var getCommonExtensions = exports.getCommonExtensions = function getCommonExtensions(defObj) {
                return defObj.filter(function(v, k) {
                    return /^pattern|maxLength|minLength|maximum|minimum/.test(k)
                })
            };

            function deeplyStripKey(input, keyToStrip) {
                var predicate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function() {
                    return true
                };
                if ((typeof input === "undefined" ? "undefined" : (0, _typeof3.default)(input)) !== "object" || Array.isArray(input) || input === null || !keyToStrip) {
                    return input
                }
                var obj = (0, _assign2.default)({}, input);
                (0, _keys2.default)(obj).forEach(function(k) {
                    if (k === keyToStrip && predicate(obj[k], k)) {
                        delete obj[k];
                        return
                    }
                    obj[k] = deeplyStripKey(obj[k], keyToStrip, predicate)
                });
                return obj
            }

            function stringify(thing) {
                if (typeof thing === "string") {
                    return thing
                }
                if (thing.toJS) {
                    thing = thing.toJS()
                }
                if ((typeof thing === "undefined" ? "undefined" : (0, _typeof3.default)(thing)) === "object" && thing !== null) {
                    try {
                        return (0, _stringify2.default)(thing, null, 2)
                    } catch (e) {
                        return String(thing)
                    }
                }
                return thing.toString()
            }

            function numberToString(thing) {
                if (typeof thing === "number") {
                    return thing.toString()
                }
                return thing
            }
        }).call(exports, __webpack_require__(381).Buffer)
    }, function(module, exports) {
        module.exports = require("react-immutable-proptypes")
    }, function(module, exports) {
        var core = module.exports = {
            version: "2.5.5"
        };
        if (typeof __e == "number") __e = core
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var YAMLException = __webpack_require__(72);
        var TYPE_CONSTRUCTOR_OPTIONS = ["kind", "resolve", "construct", "instanceOf", "predicate", "represent", "defaultStyle", "styleAliases"];
        var YAML_NODE_KINDS = ["scalar", "sequence", "mapping"];

        function compileStyleAliases(map) {
            var result = {};
            if (map !== null) {
                Object.keys(map).forEach(function(style) {
                    map[style].forEach(function(alias) {
                        result[String(alias)] = style
                    })
                })
            }
            return result
        }

        function Type(tag, options) {
            options = options || {};
            Object.keys(options).forEach(function(name) {
                if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) {
                    throw new YAMLException('Unknown option "' + name + '" is met in definition of "' + tag + '" YAML type.')
                }
            });
            this.tag = tag;
            this.kind = options["kind"] || null;
            this.resolve = options["resolve"] || function() {
                return true
            };
            this.construct = options["construct"] || function(data) {
                return data
            };
            this.instanceOf = options["instanceOf"] || null;
            this.predicate = options["predicate"] || null;
            this.represent = options["represent"] || null;
            this.defaultStyle = options["defaultStyle"] || null;
            this.styleAliases = compileStyleAliases(options["styleAliases"] || null);
            if (YAML_NODE_KINDS.indexOf(this.kind) === -1) {
                throw new YAMLException('Unknown kind "' + this.kind + '" is specified for "' + tag + '" YAML type.')
            }
        }
        module.exports = Type
    }, function(module, exports, __webpack_require__) {
        var store = __webpack_require__(159)("wks");
        var uid = __webpack_require__(112);
        var Symbol = __webpack_require__(23).Symbol;
        var USE_SYMBOL = typeof Symbol == "function";
        var $exports = module.exports = function(name) {
            return store[name] || (store[name] = USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)("Symbol." + name))
        };
        $exports.store = store
    }, function(module, exports, __webpack_require__) {
        "use strict";
        exports.__esModule = true;
        var _isIterable2 = __webpack_require__(385);
        var _isIterable3 = _interopRequireDefault(_isIterable2);
        var _getIterator2 = __webpack_require__(76);
        var _getIterator3 = _interopRequireDefault(_getIterator2);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        exports.default = function() {
            function sliceIterator(arr, i) {
                var _arr = [];
                var _n = true;
                var _d = false;
                var _e = undefined;
                try {
                    for (var _i = (0, _getIterator3.default)(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {
                        _arr.push(_s.value);
                        if (i && _arr.length === i) break
                    }
                } catch (err) {
                    _d = true;
                    _e = err
                } finally {
                    try {
                        if (!_n && _i["return"]) _i["return"]()
                    } finally {
                        if (_d) throw _e
                    }
                }
                return _arr
            }
            return function(arr, i) {
                if (Array.isArray(arr)) {
                    return arr
                } else if ((0, _isIterable3.default)(Object(arr))) {
                    return sliceIterator(arr, i)
                } else {
                    throw new TypeError("Invalid attempt to destructure non-iterable instance")
                }
            }
        }()
    }, function(module, exports, __webpack_require__) {
        var store = __webpack_require__(107)("wks");
        var uid = __webpack_require__(80);
        var Symbol = __webpack_require__(15).Symbol;
        var USE_SYMBOL = typeof Symbol == "function";
        var $exports = module.exports = function(name) {
            return store[name] || (store[name] = USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)("Symbol." + name))
        };
        $exports.store = store
    }, function(module, exports) {
        var global = module.exports = typeof window != "undefined" && window.Math == Math ? window : typeof self != "undefined" && self.Math == Math ? self : Function("return this")();
        if (typeof __g == "number") __g = global
    }, function(module, exports, __webpack_require__) {
        var global = __webpack_require__(23);
        var core = __webpack_require__(42);
        var hide = __webpack_require__(40);
        var redefine = __webpack_require__(49);
        var ctx = __webpack_require__(85);
        var PROTOTYPE = "prototype";
        var $export = function(type, name, source) {
            var IS_FORCED = type & $export.F;
            var IS_GLOBAL = type & $export.G;
            var IS_STATIC = type & $export.S;
            var IS_PROTO = type & $export.P;
            var IS_BIND = type & $export.B;
            var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];
            var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});
            var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});
            var key, own, out, exp;
            if (IS_GLOBAL) source = name;
            for (key in source) {
                own = !IS_FORCED && target && target[key] !== undefined;
                out = (own ? target : source)[key];
                exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == "function" ? ctx(Function.call, out) : out;
                if (target) redefine(target, key, out, type & $export.U);
                if (exports[key] != out) hide(exports, key, exp);
                if (IS_PROTO && expProto[key] != out) expProto[key] = out
            }
        };
        global.core = core;
        $export.F = 1;
        $export.G = 2;
        $export.S = 4;
        $export.P = 8;
        $export.B = 16;
        $export.W = 32;
        $export.U = 64;
        $export.R = 128;
        module.exports = $export
    }, function(module, exports, __webpack_require__) {
        var $export = __webpack_require__(16);
        var fails = __webpack_require__(64);
        var defined = __webpack_require__(35);
        var quot = /"/g;
        var createHTML = function(string, tag, attribute, value) {
            var S = String(defined(string));
            var p1 = "<" + tag;
            if (attribute !== "") p1 += " " + attribute + '="' + String(value).replace(quot, "&quot;") + '"';
            return p1 + ">" + S + "</" + tag + ">"
        };
        module.exports = function(NAME, exec) {
            var O = {};
            O[NAME] = exec(createHTML);
            $export($export.P + $export.F * fails(function() {
                var test = "" [NAME]('"');
                return test !== test.toLowerCase() || test.split('"').length > 3
            }), "String", O)
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        exports.__esModule = true;
        var _defineProperty = __webpack_require__(179);
        var _defineProperty2 = _interopRequireDefault(_defineProperty);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        exports.default = function(obj, key, value) {
            if (key in obj) {
                (0, _defineProperty2.default)(obj, key, {
                    value: value,
                    enumerable: true,
                    configurable: true,
                    writable: true
                })
            } else {
                obj[key] = value
            }
            return obj
        }
    }, function(module, exports, __webpack_require__) {
        module.exports = {
            default: __webpack_require__(376),
            __esModule: true
        }
    }, function(module, exports) {
        var isArray = Array.isArray;
        module.exports = isArray
    }, function(module, exports, __webpack_require__) {
        "use strict";
        exports.__esModule = true;
        var _assign = __webpack_require__(19);
        var _assign2 = _interopRequireDefault(_assign);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        exports.default = _assign2.default || function(target) {
            for (var i = 1; i < arguments.length; i++) {
                var source = arguments[i];
                for (var key in source) {
                    if (Object.prototype.hasOwnProperty.call(source, key)) {
                        target[key] = source[key]
                    }
                }
            }
            return target
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var _getIterator2 = __webpack_require__(76);
        var _getIterator3 = _interopRequireDefault(_getIterator2);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }

        function makeWindow() {
            var win = {
                location: {},
                history: {},
                open: function open() {},
                close: function close() {},
                File: function File() {}
            };
            if (typeof window === "undefined") {
                return win
            }
            try {
                win = window;
                var props = ["File", "Blob", "FormData"];
                var _iteratorNormalCompletion = true;
                var _didIteratorError = false;
                var _iteratorError = undefined;
                try {
                    for (var _iterator = (0, _getIterator3.default)(props), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
                        var prop = _step.value;
                        if (prop in window) {
                            win[prop] = window[prop]
                        }
                    }
                } catch (err) {
                    _didIteratorError = true;
                    _iteratorError = err
                } finally {
                    try {
                        if (!_iteratorNormalCompletion && _iterator.return) {
                            _iterator.return()
                        }
                    } finally {
                        if (_didIteratorError) {
                            throw _iteratorError
                        }
                    }
                }
            } catch (e) {
                console.error(e)
            }
            return win
        }
        module.exports = makeWindow()
    }, function(module, exports) {
        var global = module.exports = typeof window != "undefined" && window.Math == Math ? window : typeof self != "undefined" && self.Math == Math ? self : Function("return this")();
        if (typeof __g == "number") __g = global
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _extends2 = __webpack_require__(21);
        var _extends3 = _interopRequireDefault(_extends2);
        exports.isOAS3 = isOAS3;
        exports.isSwagger2 = isSwagger2;
        exports.OAS3ComponentWrapFactory = OAS3ComponentWrapFactory;
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }

        function isOAS3(jsSpec) {
            var oasVersion = jsSpec.get("openapi");
            if (typeof oasVersion !== "string") {
                return false
            }
            return oasVersion.startsWith("3.0.") && oasVersion.length > 4
        }

        function isSwagger2(jsSpec) {
            var swaggerVersion = jsSpec.get("swagger");
            if (typeof swaggerVersion !== "string") {
                return false
            }
            return swaggerVersion.startsWith("2.0")
        }

        function OAS3ComponentWrapFactory(Component) {
            return function(Ori, system) {
                return function(props) {
                    if (system && system.specSelectors && system.specSelectors.specJson) {
                        var spec = system.specSelectors.specJson();
                        if (isOAS3(spec)) {
                            return _react2.default.createElement(Component, (0, _extends3.default)({}, props, system, {
                                Ori: Ori
                            }))
                        } else {
                            return _react2.default.createElement(Ori, props)
                        }
                    } else {
                        console.warn("OAS3 wrapper: couldn't get spec");
                        return null
                    }
                }
            }
        }
    }, function(module, exports, __webpack_require__) {
        var global = __webpack_require__(15);
        var core = __webpack_require__(10);
        var ctx = __webpack_require__(47);
        var hide = __webpack_require__(38);
        var has = __webpack_require__(39);
        var PROTOTYPE = "prototype";
        var $export = function(type, name, source) {
            var IS_FORCED = type & $export.F;
            var IS_GLOBAL = type & $export.G;
            var IS_STATIC = type & $export.S;
            var IS_PROTO = type & $export.P;
            var IS_BIND = type & $export.B;
            var IS_WRAP = type & $export.W;
            var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});
            var expProto = exports[PROTOTYPE];
            var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];
            var key, own, out;
            if (IS_GLOBAL) source = name;
            for (key in source) {
                own = !IS_FORCED && target && target[key] !== undefined;
                if (own && has(exports, key)) continue;
                out = own ? target[key] : source[key];
                exports[key] = IS_GLOBAL && typeof target[key] != "function" ? source[key] : IS_BIND && own ? ctx(out, global) : IS_WRAP && target[key] == out ? function(C) {
                    var F = function(a, b, c) {
                        if (this instanceof C) {
                            switch (arguments.length) {
                                case 0:
                                    return new C;
                                case 1:
                                    return new C(a);
                                case 2:
                                    return new C(a, b)
                            }
                            return new C(a, b, c)
                        }
                        return C.apply(this, arguments)
                    };
                    F[PROTOTYPE] = C[PROTOTYPE];
                    return F
                }(out) : IS_PROTO && typeof out == "function" ? ctx(Function.call, out) : out;
                if (IS_PROTO) {
                    (exports.virtual || (exports.virtual = {}))[key] = out;
                    if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out)
                }
            }
        };
        $export.F = 1;
        $export.G = 2;
        $export.S = 4;
        $export.P = 8;
        $export.B = 16;
        $export.W = 32;
        $export.U = 64;
        $export.R = 128;
        module.exports = $export
    }, function(module, exports, __webpack_require__) {
        var freeGlobal = __webpack_require__(181);
        var freeSelf = typeof self == "object" && self && self.Object === Object && self;
        var root = freeGlobal || freeSelf || Function("return this")();
        module.exports = root
    }, function(module, exports, __webpack_require__) {
        var isObject = __webpack_require__(33);
        module.exports = function(it) {
            if (!isObject(it)) throw TypeError(it + " is not an object!");
            return it
        }
    }, function(module, exports) {
        function isObject(value) {
            var type = typeof value;
            return value != null && (type == "object" || type == "function")
        }
        module.exports = isObject
    }, function(module, exports, __webpack_require__) {
        var anObject = __webpack_require__(27);
        var IE8_DOM_DEFINE = __webpack_require__(154);
        var toPrimitive = __webpack_require__(102);
        var dP = Object.defineProperty;
        exports.f = __webpack_require__(34) ? Object.defineProperty : function defineProperty(O, P, Attributes) {
            anObject(O);
            P = toPrimitive(P, true);
            anObject(Attributes);
            if (IE8_DOM_DEFINE) try {
                return dP(O, P, Attributes)
            } catch (e) {}
            if ("get" in Attributes || "set" in Attributes) throw TypeError("Accessors not supported!");
            if ("value" in Attributes) O[P] = Attributes.value;
            return O
        }
    }, function(module, exports, __webpack_require__) {
        module.exports = {
            default: __webpack_require__(359),
            __esModule: true
        }
    }, function(module, exports, __webpack_require__) {
        module.exports = {
            default: __webpack_require__(360),
            __esModule: true
        }
    }, function(module, exports) {
        function isObjectLike(value) {
            return value != null && typeof value == "object"
        }
        module.exports = isObjectLike
    }, function(module, exports) {
        module.exports = function(it) {
            return typeof it === "object" ? it !== null : typeof it === "function"
        }
    }, function(module, exports, __webpack_require__) {
        module.exports = !__webpack_require__(48)(function() {
            return Object.defineProperty({}, "a", {
                get: function() {
                    return 7
                }
            }).a != 7
        })
    }, function(module, exports) {
        module.exports = function(it) {
            if (it == undefined) throw TypeError("Can't call method on  " + it);
            return it
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        exports.__esModule = true;
        var _iterator = __webpack_require__(362);
        var _iterator2 = _interopRequireDefault(_iterator);
        var _symbol = __webpack_require__(364);
        var _symbol2 = _interopRequireDefault(_symbol);
        var _typeof = typeof _symbol2.default === "function" && typeof _iterator2.default === "symbol" ? function(obj) {
            return typeof obj
        } : function(obj) {
            return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj
        };

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        exports.default = typeof _symbol2.default === "function" && _typeof(_iterator2.default) === "symbol" ? function(obj) {
            return typeof obj === "undefined" ? "undefined" : _typeof(obj)
        } : function(obj) {
            return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof(obj)
        }
    }, function(module, exports) {
        module.exports = require("reselect")
    }, function(module, exports, __webpack_require__) {
        var dP = __webpack_require__(29);
        var createDesc = __webpack_require__(58);
        module.exports = __webpack_require__(34) ? function(object, key, value) {
            return dP.f(object, key, createDesc(1, value))
        } : function(object, key, value) {
            object[key] = value;
            return object
        }
    }, function(module, exports) {
        var hasOwnProperty = {}.hasOwnProperty;
        module.exports = function(it, key) {
            return hasOwnProperty.call(it, key)
        }
    }, function(module, exports, __webpack_require__) {
        var dP = __webpack_require__(82);
        var createDesc = __webpack_require__(160);
        module.exports = __webpack_require__(63) ? function(object, key, value) {
            return dP.f(object, key, createDesc(1, value))
        } : function(object, key, value) {
            object[key] = value;
            return object
        }
    }, function(module, exports, __webpack_require__) {
        var isObject = __webpack_require__(50);
        module.exports = function(it) {
            if (!isObject(it)) throw TypeError(it + " is not an object!");
            return it
        }
    }, function(module, exports) {
        var core = module.exports = {
            version: "2.5.5"
        };
        if (typeof __e == "number") __e = core
    }, function(module, exports, __webpack_require__) {
        var Symbol = __webpack_require__(52),
            getRawTag = __webpack_require__(392),
            objectToString = __webpack_require__(393);
        var nullTag = "[object Null]",
            undefinedTag = "[object Undefined]";
        var symToStringTag = Symbol ? Symbol.toStringTag : undefined;

        function baseGetTag(value) {
            if (value == null) {
                return value === undefined ? undefinedTag : nullTag
            }
            return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value)
        }
        module.exports = baseGetTag
    }, function(module, exports, __webpack_require__) {
        var baseIsNative = __webpack_require__(410),
            getValue = __webpack_require__(413);

        function getNative(object, key) {
            var value = getValue(object, key);
            return baseIsNative(value) ? value : undefined
        }
        module.exports = getNative
    }, function(module, exports) {
        module.exports = {}
    }, function(module, exports, __webpack_require__) {
        var IObject = __webpack_require__(152);
        var defined = __webpack_require__(100);
        module.exports = function(it) {
            return IObject(defined(it))
        }
    }, function(module, exports, __webpack_require__) {
        var aFunction = __webpack_require__(79);
        module.exports = function(fn, that, length) {
            aFunction(fn);
            if (that === undefined) return fn;
            switch (length) {
                case 1:
                    return function(a) {
                        return fn.call(that, a)
                    };
                case 2:
                    return function(a, b) {
                        return fn.call(that, a, b)
                    };
                case 3:
                    return function(a, b, c) {
                        return fn.call(that, a, b, c)
                    }
            }
            return function() {
                return fn.apply(that, arguments)
            }
        }
    }, function(module, exports) {
        module.exports = function(exec) {
            try {
                return !!exec()
            } catch (e) {
                return true
            }
        }
    }, function(module, exports, __webpack_require__) {
        var global = __webpack_require__(23);
        var hide = __webpack_require__(40);
        var has = __webpack_require__(83);
        var SRC = __webpack_require__(112)("src");
        var TO_STRING = "toString";
        var $toString = Function[TO_STRING];
        var TPL = ("" + $toString).split(TO_STRING);
        __webpack_require__(42).inspectSource = function(it) {
            return $toString.call(it)
        };
        (module.exports = function(O, key, val, safe) {
            var isFunction = typeof val == "function";
            if (isFunction) has(val, "name") || hide(val, "name", key);
            if (O[key] === val) return;
            if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? "" + O[key] : TPL.join(String(key)));
            if (O === global) {
                O[key] = val
            } else if (!safe) {
                delete O[key];
                hide(O, key, val)
            } else if (O[key]) {
                O[key] = val
            } else {
                hide(O, key, val)
            }
        })(Function.prototype, TO_STRING, function toString() {
            return typeof this == "function" && this[SRC] || $toString.call(this)
        })
    }, function(module, exports) {
        module.exports = function(it) {
            return typeof it === "object" ? it !== null : typeof it === "function"
        }
    }, function(module, exports, __webpack_require__) {
        var baseToString = __webpack_require__(391);

        function toString(value) {
            return value == null ? "" : baseToString(value)
        }
        module.exports = toString
    }, function(module, exports, __webpack_require__) {
        var root = __webpack_require__(26);
        var Symbol = root.Symbol;
        module.exports = Symbol
    }, function(module, exports, __webpack_require__) {
        var arrayLikeKeys = __webpack_require__(197),
            baseKeys = __webpack_require__(451),
            isArrayLike = __webpack_require__(68);

        function keys(object) {
            return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object)
        }
        module.exports = keys
    }, function(module, exports, __webpack_require__) {
        var isSymbol = __webpack_require__(91);
        var INFINITY = 1 / 0;

        function toKey(value) {
            if (typeof value == "string" || isSymbol(value)) {
                return value
            }
            var result = value + "";
            return result == "0" && 1 / value == -INFINITY ? "-0" : result
        }
        module.exports = toKey
    }, function(module, exports, __webpack_require__) {
        "use strict";

        function isNothing(subject) {
            return typeof subject === "undefined" || subject === null
        }

        function isObject(subject) {
            return typeof subject === "object" && subject !== null
        }

        function toArray(sequence) {
            if (Array.isArray(sequence)) return sequence;
            else if (isNothing(sequence)) return [];
            return [sequence]
        }

        function extend(target, source) {
            var index, length, key, sourceKeys;
            if (source) {
                sourceKeys = Object.keys(source);
                for (index = 0, length = sourceKeys.length; index < length; index += 1) {
                    key = sourceKeys[index];
                    target[key] = source[key]
                }
            }
            return target
        }

        function repeat(string, count) {
            var result = "",
                cycle;
            for (cycle = 0; cycle < count; cycle += 1) {
                result += string
            }
            return result
        }

        function isNegativeZero(number) {
            return number === 0 && Number.NEGATIVE_INFINITY === 1 / number
        }
        module.exports.isNothing = isNothing;
        module.exports.isObject = isObject;
        module.exports.toArray = toArray;
        module.exports.repeat = repeat;
        module.exports.isNegativeZero = isNegativeZero;
        module.exports.extend = extend
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var common = __webpack_require__(55);
        var YAMLException = __webpack_require__(72);
        var Type = __webpack_require__(11);

        function compileList(schema, name, result) {
            var exclude = [];
            schema.include.forEach(function(includedSchema) {
                result = compileList(includedSchema, name, result)
            });
            schema[name].forEach(function(currentType) {
                result.forEach(function(previousType, previousIndex) {
                    if (previousType.tag === currentType.tag && previousType.kind === currentType.kind) {
                        exclude.push(previousIndex)
                    }
                });
                result.push(currentType)
            });
            return result.filter(function(type, index) {
                return exclude.indexOf(index) === -1
            })
        }

        function compileMap() {
            var result = {
                    scalar: {},
                    sequence: {},
                    mapping: {},
                    fallback: {}
                },
                index, length;

            function collectType(type) {
                result[type.kind][type.tag] = result["fallback"][type.tag] = type
            }
            for (index = 0, length = arguments.length; index < length; index += 1) {
                arguments[index].forEach(collectType)
            }
            return result
        }

        function Schema(definition) {
            this.include = definition.include || [];
            this.implicit = definition.implicit || [];
            this.explicit = definition.explicit || [];
            this.implicit.forEach(function(type) {
                if (type.loadKind && type.loadKind !== "scalar") {
                    throw new YAMLException("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.")
                }
            });
            this.compiledImplicit = compileList(this, "implicit", []);
            this.compiledExplicit = compileList(this, "explicit", []);
            this.compiledTypeMap = compileMap(this.compiledImplicit, this.compiledExplicit)
        }
        Schema.DEFAULT = null;
        Schema.create = function createSchema() {
            var schemas, types;
            switch (arguments.length) {
                case 1:
                    schemas = Schema.DEFAULT;
                    types = arguments[0];
                    break;
                case 2:
                    schemas = arguments[0];
                    types = arguments[1];
                    break;
                default:
                    throw new YAMLException("Wrong number of arguments for Schema.create function")
            }
            schemas = common.toArray(schemas);
            types = common.toArray(types);
            if (!schemas.every(function(schema) {
                return schema instanceof Schema
            })) {
                throw new YAMLException("Specified list of super schemas (or a single Schema object) contains a non-Schema object.")
            }
            if (!types.every(function(type) {
                return type instanceof Type
            })) {
                throw new YAMLException("Specified list of YAML types (or a single Type object) contains a non-Type object.")
            }
            return new Schema({
                include: schemas,
                explicit: types
            })
        };
        module.exports = Schema
    }, function(module, exports) {
        var toString = {}.toString;
        module.exports = function(it) {
            return toString.call(it).slice(8, -1)
        }
    }, function(module, exports) {
        module.exports = function(bitmap, value) {
            return {
                enumerable: !(bitmap & 1),
                configurable: !(bitmap & 2),
                writable: !(bitmap & 4),
                value: value
            }
        }
    }, function(module, exports, __webpack_require__) {
        var $keys = __webpack_require__(156);
        var enumBugKeys = __webpack_require__(108);
        module.exports = Object.keys || function keys(O) {
            return $keys(O, enumBugKeys)
        }
    }, function(module, exports, __webpack_require__) {
        var defined = __webpack_require__(100);
        module.exports = function(it) {
            return Object(defined(it))
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var $at = __webpack_require__(298)(true);
        __webpack_require__(153)(String, "String", function(iterated) {
            this._t = String(iterated);
            this._i = 0
        }, function() {
            var O = this._t;
            var index = this._i;
            var point;
            if (index >= O.length) return {
                value: undefined,
                done: true
            };
            point = $at(O, index);
            this._i += point.length;
            return {
                value: point,
                done: false
            }
        })
    }, function(module, exports) {
        var toString = {}.toString;
        module.exports = function(it) {
            return toString.call(it).slice(8, -1)
        }
    }, function(module, exports, __webpack_require__) {
        module.exports = !__webpack_require__(64)(function() {
            return Object.defineProperty({}, "a", {
                get: function() {
                    return 7
                }
            }).a != 7
        })
    }, function(module, exports) {
        module.exports = function(exec) {
            try {
                return !!exec()
            } catch (e) {
                return true
            }
        }
    }, function(module, exports) {
        module.exports = {}
    }, function(module, exports, __webpack_require__) {
        var toInteger = __webpack_require__(84);
        var min = Math.min;
        module.exports = function(it) {
            return it > 0 ? min(toInteger(it), 9007199254740991) : 0
        }
    }, function(module, exports) {
        function eq(value, other) {
            return value === other || value !== value && other !== other
        }
        module.exports = eq
    }, function(module, exports, __webpack_require__) {
        var isFunction = __webpack_require__(188),
            isLength = __webpack_require__(131);

        function isArrayLike(value) {
            return value != null && isLength(value.length) && !isFunction(value)
        }
        module.exports = isArrayLike
    }, function(module, exports, __webpack_require__) {
        var isArray = __webpack_require__(20),
            isKey = __webpack_require__(137),
            stringToPath = __webpack_require__(459),
            toString = __webpack_require__(51);

        function castPath(value, object) {
            if (isArray(value)) {
                return value
            }
            return isKey(value, object) ? [value] : stringToPath(toString(value))
        }
        module.exports = castPath
    }, function(module, exports, __webpack_require__) {
        "use strict";
        exports.__esModule = true;
        var _from = __webpack_require__(485);
        var _from2 = _interopRequireDefault(_from);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        exports.default = function(arr) {
            if (Array.isArray(arr)) {
                for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {
                    arr2[i] = arr[i]
                }
                return arr2
            } else {
                return (0, _from2.default)(arr)
            }
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        exports.__esModule = true;
        exports.default = function(obj, keys) {
            var target = {};
            for (var i in obj) {
                if (keys.indexOf(i) >= 0) continue;
                if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;
                target[i] = obj[i]
            }
            return target
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";

        function YAMLException(reason, mark) {
            Error.call(this);
            this.name = "YAMLException";
            this.reason = reason;
            this.mark = mark;
            this.message = (this.reason || "(unknown reason)") + (this.mark ? " " + this.mark.toString() : "");
            if (Error.captureStackTrace) {
                Error.captureStackTrace(this, this.constructor)
            } else {
                this.stack = (new Error).stack || ""
            }
        }
        YAMLException.prototype = Object.create(Error.prototype);
        YAMLException.prototype.constructor = YAMLException;
        YAMLException.prototype.toString = function toString(compact) {
            var result = this.name + ": ";
            result += this.reason || "(unknown reason)";
            if (!compact && this.mark) {
                result += " " + this.mark.toString()
            }
            return result
        };
        module.exports = YAMLException
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var Schema = __webpack_require__(56);
        module.exports = new Schema({
            include: [__webpack_require__(226)],
            implicit: [__webpack_require__(512), __webpack_require__(513)],
            explicit: [__webpack_require__(514), __webpack_require__(516), __webpack_require__(517), __webpack_require__(518)]
        })
    }, function(module, exports, __webpack_require__) {
        var assignValue = __webpack_require__(145),
            baseAssignValue = __webpack_require__(228);

        function copyObject(source, props, object, customizer) {
            var isNew = !object;
            object || (object = {});
            var index = -1,
                length = props.length;
            while (++index < length) {
                var key = props[index];
                var newValue = customizer ? customizer(object[key], source[key], key, object, source) : undefined;
                if (newValue === undefined) {
                    newValue = source[key]
                }
                if (isNew) {
                    baseAssignValue(object, key, newValue)
                } else {
                    assignValue(object, key, newValue)
                }
            }
            return object
        }
        module.exports = copyObject
    }, function(module, exports) {
        module.exports = require("classnames")
    }, function(module, exports, __webpack_require__) {
        module.exports = {
            default: __webpack_require__(290),
            __esModule: true
        }
    }, function(module, exports, __webpack_require__) {
        __webpack_require__(291);
        var global = __webpack_require__(15);
        var hide = __webpack_require__(38);
        var Iterators = __webpack_require__(45);
        var TO_STRING_TAG = __webpack_require__(14)("toStringTag");
        var DOMIterables = ("CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList," + "DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement," + "MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList," + "SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList," + "TextTrackList,TouchList").split(",");
        for (var i = 0; i < DOMIterables.length; i++) {
            var NAME = DOMIterables[i];
            var Collection = global[NAME];
            var proto = Collection && Collection.prototype;
            if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);
            Iterators[NAME] = Iterators.Array
        }
    }, function(module, exports) {
        module.exports = true
    }, function(module, exports) {
        module.exports = function(it) {
            if (typeof it != "function") throw TypeError(it + " is not a function!");
            return it
        }
    }, function(module, exports) {
        var id = 0;
        var px = Math.random();
        module.exports = function(key) {
            return "Symbol(".concat(key === undefined ? "" : key, ")_", (++id + px).toString(36))
        }
    }, function(module, exports, __webpack_require__) {
        var def = __webpack_require__(29).f;
        var has = __webpack_require__(39);
        var TAG = __webpack_require__(14)("toStringTag");
        module.exports = function(it, tag, stat) {
            if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, {
                configurable: true,
                value: tag
            })
        }
    }, function(module, exports, __webpack_require__) {
        var anObject = __webpack_require__(41);
        var IE8_DOM_DEFINE = __webpack_require__(302);
        var toPrimitive = __webpack_require__(303);
        var dP = Object.defineProperty;
        exports.f = __webpack_require__(63) ? Object.defineProperty : function defineProperty(O, P, Attributes) {
            anObject(O);
            P = toPrimitive(P, true);
            anObject(Attributes);
            if (IE8_DOM_DEFINE) try {
                return dP(O, P, Attributes)
            } catch (e) {}
            if ("get" in Attributes || "set" in Attributes) throw TypeError("Accessors not supported!");
            if ("value" in Attributes) O[P] = Attributes.value;
            return O
        }
    }, function(module, exports) {
        var hasOwnProperty = {}.hasOwnProperty;
        module.exports = function(it, key) {
            return hasOwnProperty.call(it, key)
        }
    }, function(module, exports) {
        var ceil = Math.ceil;
        var floor = Math.floor;
        module.exports = function(it) {
            return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it)
        }
    }, function(module, exports, __webpack_require__) {
        var aFunction = __webpack_require__(86);
        module.exports = function(fn, that, length) {
            aFunction(fn);
            if (that === undefined) return fn;
            switch (length) {
                case 1:
                    return function(a) {
                        return fn.call(that, a)
                    };
                case 2:
                    return function(a, b) {
                        return fn.call(that, a, b)
                    };
                case 3:
                    return function(a, b, c) {
                        return fn.call(that, a, b, c)
                    }
            }
            return function() {
                return fn.apply(that, arguments)
            }
        }
    }, function(module, exports) {
        module.exports = function(it) {
            if (typeof it != "function") throw TypeError(it + " is not a function!");
            return it
        }
    }, function(module, exports, __webpack_require__) {
        var IObject = __webpack_require__(308);
        var defined = __webpack_require__(35);
        module.exports = function(it) {
            return IObject(defined(it))
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var hide = __webpack_require__(40);
        var redefine = __webpack_require__(49);
        var fails = __webpack_require__(64);
        var defined = __webpack_require__(35);
        var wks = __webpack_require__(12);
        module.exports = function(KEY, length, exec) {
            var SYMBOL = wks(KEY);
            var fns = exec(defined, SYMBOL, "" [KEY]);
            var strfn = fns[0];
            var rxfn = fns[1];
            if (fails(function() {
                var O = {};
                O[SYMBOL] = function() {
                    return 7
                };
                return "" [KEY](O) != 7
            })) {
                redefine(String.prototype, KEY, strfn);
                hide(RegExp.prototype, SYMBOL, length == 2 ? function(string, arg) {
                    return rxfn.call(string, this, arg)
                } : function(string) {
                    return rxfn.call(string, this)
                })
            }
        }
    }, function(module, exports) {
        exports.f = {}.propertyIsEnumerable
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.CLEAR_BY = exports.CLEAR = exports.NEW_AUTH_ERR = exports.NEW_SPEC_ERR_BATCH = exports.NEW_SPEC_ERR = exports.NEW_THROWN_ERR_BATCH = exports.NEW_THROWN_ERR = undefined;
        exports.newThrownErr = newThrownErr;
        exports.newThrownErrBatch = newThrownErrBatch;
        exports.newSpecErr = newSpecErr;
        exports.newSpecErrBatch = newSpecErrBatch;
        exports.newAuthErr = newAuthErr;
        exports.clear = clear;
        exports.clearBy = clearBy;
        var _serializeError = __webpack_require__(122);
        var _serializeError2 = _interopRequireDefault(_serializeError);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var NEW_THROWN_ERR = exports.NEW_THROWN_ERR = "err_new_thrown_err";
        var NEW_THROWN_ERR_BATCH = exports.NEW_THROWN_ERR_BATCH = "err_new_thrown_err_batch";
        var NEW_SPEC_ERR = exports.NEW_SPEC_ERR = "err_new_spec_err";
        var NEW_SPEC_ERR_BATCH = exports.NEW_SPEC_ERR_BATCH = "err_new_spec_err_batch";
        var NEW_AUTH_ERR = exports.NEW_AUTH_ERR = "err_new_auth_err";
        var CLEAR = exports.CLEAR = "err_clear";
        var CLEAR_BY = exports.CLEAR_BY = "err_clear_by";

        function newThrownErr(err) {
            return {
                type: NEW_THROWN_ERR,
                payload: (0, _serializeError2.default)(err)
            }
        }

        function newThrownErrBatch(errors) {
            return {
                type: NEW_THROWN_ERR_BATCH,
                payload: errors
            }
        }

        function newSpecErr(err) {
            return {
                type: NEW_SPEC_ERR,
                payload: err
            }
        }

        function newSpecErrBatch(errArray) {
            return {
                type: NEW_SPEC_ERR_BATCH,
                payload: errArray
            }
        }

        function newAuthErr(err) {
            return {
                type: NEW_AUTH_ERR,
                payload: err
            }
        }

        function clear() {
            var filter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
            return {
                type: CLEAR,
                payload: filter
            }
        }

        function clearBy() {
            var filter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function() {
                return true
            };
            return {
                type: CLEAR_BY,
                payload: filter
            }
        }
    }, function(module, exports, __webpack_require__) {
        var baseGetTag = __webpack_require__(43),
            isObjectLike = __webpack_require__(32);
        var symbolTag = "[object Symbol]";

        function isSymbol(value) {
            return typeof value == "symbol" || isObjectLike(value) && baseGetTag(value) == symbolTag
        }
        module.exports = isSymbol
    }, function(module, exports, __webpack_require__) {
        var getNative = __webpack_require__(44);
        var nativeCreate = getNative(Object, "create");
        module.exports = nativeCreate
    }, function(module, exports, __webpack_require__) {
        var listCacheClear = __webpack_require__(418),
            listCacheDelete = __webpack_require__(419),
            listCacheGet = __webpack_require__(420),
            listCacheHas = __webpack_require__(421),
            listCacheSet = __webpack_require__(422);

        function ListCache(entries) {
            var index = -1,
                length = entries == null ? 0 : entries.length;
            this.clear();
            while (++index < length) {
                var entry = entries[index];
                this.set(entry[0], entry[1])
            }
        }
        ListCache.prototype.clear = listCacheClear;
        ListCache.prototype["delete"] = listCacheDelete;
        ListCache.prototype.get = listCacheGet;
        ListCache.prototype.has = listCacheHas;
        ListCache.prototype.set = listCacheSet;
        module.exports = ListCache
    }, function(module, exports, __webpack_require__) {
        var eq = __webpack_require__(67);

        function assocIndexOf(array, key) {
            var length = array.length;
            while (length--) {
                if (eq(array[length][0], key)) {
                    return length
                }
            }
            return -1
        }
        module.exports = assocIndexOf
    }, function(module, exports, __webpack_require__) {
        var isKeyable = __webpack_require__(424);

        function getMapData(map, key) {
            var data = map.__data__;
            return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map
        }
        module.exports = getMapData
    }, function(module, exports, __webpack_require__) {
        var baseMatches = __webpack_require__(430),
            baseMatchesProperty = __webpack_require__(458),
            identity = __webpack_require__(202),
            isArray = __webpack_require__(20),
            property = __webpack_require__(464);

        function baseIteratee(value) {
            if (typeof value == "function") {
                return value
            }
            if (value == null) {
                return identity
            }
            if (typeof value == "object") {
                return isArray(value) ? baseMatchesProperty(value[0], value[1]) : baseMatches(value)
            }
            return property(value)
        }
        module.exports = baseIteratee
    }, function(module, exports) {
        var MAX_SAFE_INTEGER = 9007199254740991;
        var reIsUint = /^(?:0|[1-9]\d*)$/;

        function isIndex(value, length) {
            var type = typeof value;
            length = length == null ? MAX_SAFE_INTEGER : length;
            return !!length && (type == "number" || type != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length)
        }
        module.exports = isIndex
    }, function(module, exports, __webpack_require__) {
        var DataView = __webpack_require__(453),
            Map = __webpack_require__(124),
            Promise = __webpack_require__(454),
            Set = __webpack_require__(455),
            WeakMap = __webpack_require__(456),
            baseGetTag = __webpack_require__(43),
            toSource = __webpack_require__(189);
        var mapTag = "[object Map]",
            objectTag = "[object Object]",
            promiseTag = "[object Promise]",
            setTag = "[object Set]",
            weakMapTag = "[object WeakMap]";
        var dataViewTag = "[object DataView]";
        var dataViewCtorString = toSource(DataView),
            mapCtorString = toSource(Map),
            promiseCtorString = toSource(Promise),
            setCtorString = toSource(Set),
            weakMapCtorString = toSource(WeakMap);
        var getTag = baseGetTag;
        if (DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag || Map && getTag(new Map) != mapTag || Promise && getTag(Promise.resolve()) != promiseTag || Set && getTag(new Set) != setTag || WeakMap && getTag(new WeakMap) != weakMapTag) {
            getTag = function(value) {
                var result = baseGetTag(value),
                    Ctor = result == objectTag ? value.constructor : undefined,
                    ctorString = Ctor ? toSource(Ctor) : "";
                if (ctorString) {
                    switch (ctorString) {
                        case dataViewCtorString:
                            return dataViewTag;
                        case mapCtorString:
                            return mapTag;
                        case promiseCtorString:
                            return promiseTag;
                        case setCtorString:
                            return setTag;
                        case weakMapCtorString:
                            return weakMapTag
                    }
                }
                return result
            }
        }
        module.exports = getTag
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var Schema = __webpack_require__(56);
        module.exports = Schema.DEFAULT = new Schema({
            include: [__webpack_require__(73)],
            explicit: [__webpack_require__(519), __webpack_require__(520), __webpack_require__(521)]
        })
    }, function(module, exports) {
        module.exports = function(it) {
            if (it == undefined) throw TypeError("Can't call method on  " + it);
            return it
        }
    }, function(module, exports, __webpack_require__) {
        var isObject = __webpack_require__(33);
        var document = __webpack_require__(15).document;
        var is = isObject(document) && isObject(document.createElement);
        module.exports = function(it) {
            return is ? document.createElement(it) : {}
        }
    }, function(module, exports, __webpack_require__) {
        var isObject = __webpack_require__(33);
        module.exports = function(it, S) {
            if (!isObject(it)) return it;
            var fn, val;
            if (S && typeof(fn = it.toString) == "function" && !isObject(val = fn.call(it))) return val;
            if (typeof(fn = it.valueOf) == "function" && !isObject(val = fn.call(it))) return val;
            if (!S && typeof(fn = it.toString) == "function" && !isObject(val = fn.call(it))) return val;
            throw TypeError("Can't convert object to primitive value")
        }
    }, function(module, exports, __webpack_require__) {
        var anObject = __webpack_require__(27);
        var dPs = __webpack_require__(295);
        var enumBugKeys = __webpack_require__(108);
        var IE_PROTO = __webpack_require__(106)("IE_PROTO");
        var Empty = function() {};
        var PROTOTYPE = "prototype";
        var createDict = function() {
            var iframe = __webpack_require__(101)("iframe");
            var i = enumBugKeys.length;
            var lt = "<";
            var gt = ">";
            var iframeDocument;
            iframe.style.display = "none";
            __webpack_require__(157).appendChild(iframe);
            iframe.src = "javascript:";
            iframeDocument = iframe.contentWindow.document;
            iframeDocument.open();
            iframeDocument.write(lt + "script" + gt + "document.F=Object" + lt + "/script" + gt);
            iframeDocument.close();
            createDict = iframeDocument.F;
            while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];
            return createDict()
        };
        module.exports = Object.create || function create(O, Properties) {
            var result;
            if (O !== null) {
                Empty[PROTOTYPE] = anObject(O);
                result = new Empty;
                Empty[PROTOTYPE] = null;
                result[IE_PROTO] = O
            } else result = createDict();
            return Properties === undefined ? result : dPs(result, Properties)
        }
    }, function(module, exports, __webpack_require__) {
        var toInteger = __webpack_require__(105);
        var min = Math.min;
        module.exports = function(it) {
            return it > 0 ? min(toInteger(it), 9007199254740991) : 0
        }
    }, function(module, exports) {
        var ceil = Math.ceil;
        var floor = Math.floor;
        module.exports = function(it) {
            return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it)
        }
    }, function(module, exports, __webpack_require__) {
        var shared = __webpack_require__(107)("keys");
        var uid = __webpack_require__(80);
        module.exports = function(key) {
            return shared[key] || (shared[key] = uid(key))
        }
    }, function(module, exports, __webpack_require__) {
        var global = __webpack_require__(15);
        var SHARED = "__core-js_shared__";
        var store = global[SHARED] || (global[SHARED] = {});
        module.exports = function(key) {
            return store[key] || (store[key] = {})
        }
    }, function(module, exports) {
        module.exports = "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")
    }, function(module, exports, __webpack_require__) {
        var classof = __webpack_require__(110);
        var ITERATOR = __webpack_require__(14)("iterator");
        var Iterators = __webpack_require__(45);
        module.exports = __webpack_require__(10).getIteratorMethod = function(it) {
            if (it != undefined) return it[ITERATOR] || it["@@iterator"] || Iterators[classof(it)]
        }
    }, function(module, exports, __webpack_require__) {
        var cof = __webpack_require__(57);
        var TAG = __webpack_require__(14)("toStringTag");
        var ARG = cof(function() {
            return arguments
        }()) == "Arguments";
        var tryGet = function(it, key) {
            try {
                return it[key]
            } catch (e) {}
        };
        module.exports = function(it) {
            var O, T, B;
            return it === undefined ? "Undefined" : it === null ? "Null" : typeof(T = tryGet(O = Object(it), TAG)) == "string" ? T : ARG ? cof(O) : (B = cof(O)) == "Object" && typeof O.callee == "function" ? "Arguments" : B
        }
    }, function(module, exports, __webpack_require__) {
        var cof = __webpack_require__(62);
        var TAG = __webpack_require__(12)("toStringTag");
        var ARG = cof(function() {
            return arguments
        }()) == "Arguments";
        var tryGet = function(it, key) {
            try {
                return it[key]
            } catch (e) {}
        };
        module.exports = function(it) {
            var O, T, B;
            return it === undefined ? "Undefined" : it === null ? "Null" : typeof(T = tryGet(O = Object(it), TAG)) == "string" ? T : ARG ? cof(O) : (B = cof(O)) == "Object" && typeof O.callee == "function" ? "Arguments" : B
        }
    }, function(module, exports) {
        var id = 0;
        var px = Math.random();
        module.exports = function(key) {
            return "Symbol(".concat(key === undefined ? "" : key, ")_", (++id + px).toString(36))
        }
    }, function(module, exports, __webpack_require__) {
        var isObject = __webpack_require__(50);
        var document = __webpack_require__(23).document;
        var is = isObject(document) && isObject(document.createElement);
        module.exports = function(it) {
            return is ? document.createElement(it) : {}
        }
    }, function(module, exports, __webpack_require__) {
        var shared = __webpack_require__(159)("keys");
        var uid = __webpack_require__(112);
        module.exports = function(key) {
            return shared[key] || (shared[key] = uid(key))
        }
    }, function(module, exports, __webpack_require__) {
        var def = __webpack_require__(82).f;
        var has = __webpack_require__(83);
        var TAG = __webpack_require__(12)("toStringTag");
        module.exports = function(it, tag, stat) {
            if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, {
                configurable: true,
                value: tag
            })
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var aFunction = __webpack_require__(86);

        function PromiseCapability(C) {
            var resolve, reject;
            this.promise = new C(function($$resolve, $$reject) {
                if (resolve !== undefined || reject !== undefined) throw TypeError("Bad Promise constructor");
                resolve = $$resolve;
                reject = $$reject
            });
            this.resolve = aFunction(resolve);
            this.reject = aFunction(reject)
        }
        module.exports.f = function(C) {
            return new PromiseCapability(C)
        }
    }, function(module, exports, __webpack_require__) {
        var isRegExp = __webpack_require__(173);
        var defined = __webpack_require__(35);
        module.exports = function(that, searchString, NAME) {
            if (isRegExp(searchString)) throw TypeError("String#" + NAME + " doesn't accept regex!");
            return String(defined(that))
        }
    }, function(module, exports, __webpack_require__) {
        var MATCH = __webpack_require__(12)("match");
        module.exports = function(KEY) {
            var re = /./;
            try {
                "/./" [KEY](re)
            } catch (e) {
                try {
                    re[MATCH] = false;
                    return !"/./" [KEY](re)
                } catch (f) {}
            }
            return true
        }
    }, function(module, exports, __webpack_require__) {
        exports.f = __webpack_require__(14)
    }, function(module, exports, __webpack_require__) {
        var global = __webpack_require__(15);
        var core = __webpack_require__(10);
        var LIBRARY = __webpack_require__(78);
        var wksExt = __webpack_require__(119);
        var defineProperty = __webpack_require__(29).f;
        module.exports = function(name) {
            var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});
            if (name.charAt(0) != "_" && !(name in $Symbol)) defineProperty($Symbol, name, {
                value: wksExt.f(name)
            })
        }
    }, function(module, exports) {
        exports.f = Object.getOwnPropertySymbols
    }, function(module, exports) {
        module.exports = require("serialize-error")
    }, function(module, exports, __webpack_require__) {
        var mapCacheClear = __webpack_require__(407),
            mapCacheDelete = __webpack_require__(423),
            mapCacheGet = __webpack_require__(425),
            mapCacheHas = __webpack_require__(426),
            mapCacheSet = __webpack_require__(427);

        function MapCache(entries) {
            var index = -1,
                length = entries == null ? 0 : entries.length;
            this.clear();
            while (++index < length) {
                var entry = entries[index];
                this.set(entry[0], entry[1])
            }
        }
        MapCache.prototype.clear = mapCacheClear;
        MapCache.prototype["delete"] = mapCacheDelete;
        MapCache.prototype.get = mapCacheGet;
        MapCache.prototype.has = mapCacheHas;
        MapCache.prototype.set = mapCacheSet;
        module.exports = MapCache
    }, function(module, exports, __webpack_require__) {
        var getNative = __webpack_require__(44),
            root = __webpack_require__(26);
        var Map = getNative(root, "Map");
        module.exports = Map
    }, function(module, exports, __webpack_require__) {
        var ListCache = __webpack_require__(93),
            stackClear = __webpack_require__(432),
            stackDelete = __webpack_require__(433),
            stackGet = __webpack_require__(434),
            stackHas = __webpack_require__(435),
            stackSet = __webpack_require__(436);

        function Stack(entries) {
            var data = this.__data__ = new ListCache(entries);
            this.size = data.size
        }
        Stack.prototype.clear = stackClear;
        Stack.prototype["delete"] = stackDelete;
        Stack.prototype.get = stackGet;
        Stack.prototype.has = stackHas;
        Stack.prototype.set = stackSet;
        module.exports = Stack
    }, function(module, exports) {
        function arrayPush(array, values) {
            var index = -1,
                length = values.length,
                offset = array.length;
            while (++index < length) {
                array[offset + index] = values[index]
            }
            return array
        }
        module.exports = arrayPush
    }, function(module, exports, __webpack_require__) {
        var arrayFilter = __webpack_require__(446),
            stubArray = __webpack_require__(196);
        var objectProto = Object.prototype;
        var propertyIsEnumerable = objectProto.propertyIsEnumerable;
        var nativeGetSymbols = Object.getOwnPropertySymbols;
        var getSymbols = !nativeGetSymbols ? stubArray : function(object) {
            if (object == null) {
                return []
            }
            object = Object(object);
            return arrayFilter(nativeGetSymbols(object), function(symbol) {
                return propertyIsEnumerable.call(object, symbol)
            })
        };
        module.exports = getSymbols
    }, function(module, exports, __webpack_require__) {
        var baseIsArguments = __webpack_require__(448),
            isObjectLike = __webpack_require__(32);
        var objectProto = Object.prototype;
        var hasOwnProperty = objectProto.hasOwnProperty;
        var propertyIsEnumerable = objectProto.propertyIsEnumerable;
        var isArguments = baseIsArguments(function() {
            return arguments
        }()) ? baseIsArguments : function(value) {
            return isObjectLike(value) && hasOwnProperty.call(value, "callee") && !propertyIsEnumerable.call(value, "callee")
        };
        module.exports = isArguments
    }, function(module, exports, __webpack_require__) {
        (function(module) {
            var root = __webpack_require__(26),
                stubFalse = __webpack_require__(449);
            var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports;
            var freeModule = freeExports && typeof module == "object" && module && !module.nodeType && module;
            var moduleExports = freeModule && freeModule.exports === freeExports;
            var Buffer = moduleExports ? root.Buffer : undefined;
            var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;
            var isBuffer = nativeIsBuffer || stubFalse;
            module.exports = isBuffer
        }).call(exports, __webpack_require__(130)(module))
    }, function(module, exports) {
        module.exports = function(module) {
            if (!module.webpackPolyfill) {
                module.deprecate = function() {};
                module.paths = [];
                if (!module.children) module.children = [];
                Object.defineProperty(module, "loaded", {
                    enumerable: true,
                    get: function() {
                        return module.l
                    }
                });
                Object.defineProperty(module, "id", {
                    enumerable: true,
                    get: function() {
                        return module.i
                    }
                });
                module.webpackPolyfill = 1
            }
            return module
        }
    }, function(module, exports) {
        var MAX_SAFE_INTEGER = 9007199254740991;

        function isLength(value) {
            return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER
        }
        module.exports = isLength
    }, function(module, exports) {
        function baseUnary(func) {
            return function(value) {
                return func(value)
            }
        }
        module.exports = baseUnary
    }, function(module, exports, __webpack_require__) {
        (function(module) {
            var freeGlobal = __webpack_require__(181);
            var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports;
            var freeModule = freeExports && typeof module == "object" && module && !module.nodeType && module;
            var moduleExports = freeModule && freeModule.exports === freeExports;
            var freeProcess = moduleExports && freeGlobal.process;
            var nodeUtil = function() {
                try {
                    var types = freeModule && freeModule.require && freeModule.require("util").types;
                    if (types) {
                        return types
                    }
                    return freeProcess && freeProcess.binding && freeProcess.binding("util")
                } catch (e) {}
            }();
            module.exports = nodeUtil
        }).call(exports, __webpack_require__(130)(module))
    }, function(module, exports) {
        var objectProto = Object.prototype;

        function isPrototype(value) {
            var Ctor = value && value.constructor,
                proto = typeof Ctor == "function" && Ctor.prototype || objectProto;
            return value === proto
        }
        module.exports = isPrototype
    }, function(module, exports, __webpack_require__) {
        var baseGet = __webpack_require__(136);

        function get(object, path, defaultValue) {
            var result = object == null ? undefined : baseGet(object, path);
            return result === undefined ? defaultValue : result
        }
        module.exports = get
    }, function(module, exports, __webpack_require__) {
        var castPath = __webpack_require__(69),
            toKey = __webpack_require__(54);

        function baseGet(object, path) {
            path = castPath(path, object);
            var index = 0,
                length = path.length;
            while (object != null && index < length) {
                object = object[toKey(path[index++])]
            }
            return index && index == length ? object : undefined
        }
        module.exports = baseGet
    }, function(module, exports, __webpack_require__) {
        var isArray = __webpack_require__(20),
            isSymbol = __webpack_require__(91);
        var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
            reIsPlainProp = /^\w*$/;

        function isKey(value, object) {
            if (isArray(value)) {
                return false
            }
            var type = typeof value;
            if (type == "number" || type == "symbol" || type == "boolean" || value == null || isSymbol(value)) {
                return true
            }
            return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object)
        }
        module.exports = isKey
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.memoizedSampleFromSchema = exports.memoizedCreateXMLExample = exports.sampleXmlFromSchema = exports.inferSchema = exports.sampleFromSchema = undefined;
        exports.createXMLExample = createXMLExample;
        var _utils = __webpack_require__(8);
        var _xml = __webpack_require__(478);
        var _xml2 = _interopRequireDefault(_xml);
        var _memoizee = __webpack_require__(479);
        var _memoizee2 = _interopRequireDefault(_memoizee);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var primitives = {
            string: function string() {
                return "string"
            },
            string_email: function string_email() {
                return "user@example.com"
            },
            "string_date-time": function string_dateTime() {
                return (new Date).toISOString()
            },
            number: function number() {
                return 0
            },
            number_float: function number_float() {
                return 0
            },
            integer: function integer() {
                return 0
            },
            boolean: function boolean(schema) {
                return typeof schema.default === "boolean" ? schema.default : true
            }
        };
        var primitive = function primitive(schema) {
            schema = (0, _utils.objectify)(schema);
            var _schema = schema,
                type = _schema.type,
                format = _schema.format;
            var fn = primitives[type + "_" + format] || primitives[type];
            if ((0, _utils.isFunc)(fn)) return fn(schema);
            return "Unknown Type: " + schema.type
        };
        var sampleFromSchema = exports.sampleFromSchema = function sampleFromSchema(schema) {
            var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
            var _objectify = (0, _utils.objectify)(schema),
                type = _objectify.type,
                example = _objectify.example,
                properties = _objectify.properties,
                additionalProperties = _objectify.additionalProperties,
                items = _objectify.items;
            var includeReadOnly = config.includeReadOnly,
                includeWriteOnly = config.includeWriteOnly;
            if (example !== undefined) {
                return (0, _utils.deeplyStripKey)(example, "$$ref", function(val) {
                    return typeof val === "string" && val.indexOf("#") > -1
                })
            }
            if (!type) {
                if (properties) {
                    type = "object"
                } else if (items) {
                    type = "array"
                } else {
                    return
                }
            }
            if (type === "object") {
                var props = (0, _utils.objectify)(properties);
                var obj = {};
                for (var name in props) {
                    if (props[name] && props[name].deprecated) {
                        continue
                    }
                    if (props[name] && props[name].readOnly && !includeReadOnly) {
                        continue
                    }
                    if (props[name] && props[name].writeOnly && !includeWriteOnly) {
                        continue
                    }
                    obj[name] = sampleFromSchema(props[name], config)
                }
                if (additionalProperties === true) {
                    obj.additionalProp1 = {}
                } else if (additionalProperties) {
                    var additionalProps = (0, _utils.objectify)(additionalProperties);
                    var additionalPropVal = sampleFromSchema(additionalProps, config);
                    for (var i = 1; i < 4; i++) {
                        obj["additionalProp" + i] = additionalPropVal
                    }
                }
                return obj
            }
            if (type === "array") {
                if (Array.isArray(items.anyOf)) {
                    return items.anyOf.map(function(i) {
                        return sampleFromSchema(i, config)
                    })
                }
                if (Array.isArray(items.oneOf)) {
                    return items.oneOf.map(function(i) {
                        return sampleFromSchema(i, config)
                    })
                }
                return [sampleFromSchema(items, config)]
            }
            if (schema["enum"]) {
                if (schema["default"]) return schema["default"];
                return (0, _utils.normalizeArray)(schema["enum"])[0]
            }
            if (type === "file") {
                return
            }
            return primitive(schema)
        };
        var inferSchema = exports.inferSchema = function inferSchema(thing) {
            if (thing.schema) thing = thing.schema;
            if (thing.properties) {
                thing.type = "object"
            }
            return thing
        };
        var sampleXmlFromSchema = exports.sampleXmlFromSchema = function sampleXmlFromSchema(schema) {
            var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
            var objectifySchema = (0, _utils.objectify)(schema);
            var type = objectifySchema.type,
                properties = objectifySchema.properties,
                additionalProperties = objectifySchema.additionalProperties,
                items = objectifySchema.items,
                example = objectifySchema.example;
            var includeReadOnly = config.includeReadOnly,
                includeWriteOnly = config.includeWriteOnly;
            var defaultValue = objectifySchema.default;
            var res = {};
            var _attr = {};
            var xml = schema.xml;
            var name = xml.name,
                prefix = xml.prefix,
                namespace = xml.namespace;
            var enumValue = objectifySchema.enum;
            var displayName = void 0,
                value = void 0;
            if (!type) {
                if (properties || additionalProperties) {
                    type = "object"
                } else if (items) {
                    type = "array"
                } else {
                    return
                }
            }
            name = name || "notagname";
            displayName = (prefix ? prefix + ":" : "") + name;
            if (namespace) {
                var namespacePrefix = prefix ? "xmlns:" + prefix : "xmlns";
                _attr[namespacePrefix] = namespace
            }
            if (type === "array") {
                if (items) {
                    items.xml = items.xml || xml || {};
                    items.xml.name = items.xml.name || xml.name;
                    if (xml.wrapped) {
                        res[displayName] = [];
                        if (Array.isArray(example)) {
                            example.forEach(function(v) {
                                items.example = v;
                                res[displayName].push(sampleXmlFromSchema(items, config))
                            })
                        } else if (Array.isArray(defaultValue)) {
                            defaultValue.forEach(function(v) {
                                items.default = v;
                                res[displayName].push(sampleXmlFromSchema(items, config))
                            })
                        } else {
                            res[displayName] = [sampleXmlFromSchema(items, config)]
                        }
                        if (_attr) {
                            res[displayName].push({
                                _attr: _attr
                            })
                        }
                        return res
                    }
                    var _res = [];
                    if (Array.isArray(example)) {
                        example.forEach(function(v) {
                            items.example = v;
                            _res.push(sampleXmlFromSchema(items, config))
                        });
                        return _res
                    } else if (Array.isArray(defaultValue)) {
                        defaultValue.forEach(function(v) {
                            items.default = v;
                            _res.push(sampleXmlFromSchema(items, config))
                        });
                        return _res
                    }
                    return sampleXmlFromSchema(items, config)
                }
            }
            if (type === "object") {
                var props = (0, _utils.objectify)(properties);
                res[displayName] = [];
                example = example || {};
                for (var propName in props) {
                    if (!props.hasOwnProperty(propName)) {
                        continue
                    }
                    if (props[propName].readOnly && !includeReadOnly) {
                        continue
                    }
                    if (props[propName].writeOnly && !includeWriteOnly) {
                        continue
                    }
                    props[propName].xml = props[propName].xml || {};
                    if (props[propName].xml.attribute) {
                        var enumAttrVal = Array.isArray(props[propName].enum) && props[propName].enum[0];
                        var attrExample = props[propName].example;
                        var attrDefault = props[propName].default;
                        _attr[props[propName].xml.name || propName] = attrExample !== undefined && attrExample || example[propName] !== undefined && example[propName] || attrDefault !== undefined && attrDefault || enumAttrVal || primitive(props[propName])
                    } else {
                        props[propName].xml.name = props[propName].xml.name || propName;
                        if (props[propName].example === undefined && example[propName] !== undefined) {
                            props[propName].example = example[propName]
                        }
                        var t = sampleXmlFromSchema(props[propName]);
                        if (Array.isArray(t)) {
                            res[displayName] = res[displayName].concat(t)
                        } else {
                            res[displayName].push(t)
                        }
                    }
                }
                if (additionalProperties === true) {
                    res[displayName].push({
                        additionalProp: "Anything can be here"
                    })
                } else if (additionalProperties) {
                    res[displayName].push({
                        additionalProp: primitive(additionalProperties)
                    })
                }
                if (_attr) {
                    res[displayName].push({
                        _attr: _attr
                    })
                }
                return res
            }
            if (example !== undefined) {
                value = example
            } else if (defaultValue !== undefined) {
                value = defaultValue
            } else if (Array.isArray(enumValue)) {
                value = enumValue[0]
            } else {
                value = primitive(schema)
            }
            res[displayName] = _attr ? [{
                _attr: _attr
            }, value] : value;
            return res
        };

        function createXMLExample(schema, config) {
            var json = sampleXmlFromSchema(schema, config);
            if (!json) {
                return
            }
            return (0, _xml2.default)(json, {
                declaration: true,
                indent: "\t"
            })
        }
        var memoizedCreateXMLExample = exports.memoizedCreateXMLExample = (0, _memoizee2.default)(createXMLExample);
        var memoizedSampleFromSchema = exports.memoizedSampleFromSchema = (0, _memoizee2.default)(sampleFromSchema)
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.SHOW = exports.UPDATE_MODE = exports.UPDATE_FILTER = exports.UPDATE_LAYOUT = undefined;
        exports.updateLayout = updateLayout;
        exports.updateFilter = updateFilter;
        exports.show = show;
        exports.changeMode = changeMode;
        var _utils = __webpack_require__(8);
        var UPDATE_LAYOUT = exports.UPDATE_LAYOUT = "layout_update_layout";
        var UPDATE_FILTER = exports.UPDATE_FILTER = "layout_update_filter";
        var UPDATE_MODE = exports.UPDATE_MODE = "layout_update_mode";
        var SHOW = exports.SHOW = "layout_show";

        function updateLayout(layout) {
            return {
                type: UPDATE_LAYOUT,
                payload: layout
            }
        }

        function updateFilter(filter) {
            return {
                type: UPDATE_FILTER,
                payload: filter
            }
        }

        function show(thing) {
            var shown = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
            thing = (0, _utils.normalizeArray)(thing);
            return {
                type: SHOW,
                payload: {
                    thing: thing,
                    shown: shown
                }
            }
        }

        function changeMode(thing) {
            var mode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
            thing = (0, _utils.normalizeArray)(thing);
            return {
                type: UPDATE_MODE,
                payload: {
                    thing: thing,
                    mode: mode
                }
            }
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.validateBeforeExecute = exports.canExecuteScheme = exports.operationScheme = exports.hasHost = exports.operationWithMeta = exports.parameterWithMeta = exports.parameterInclusionSettingFor = exports.parameterWithMetaByIdentity = exports.allowTryItOutFor = exports.mutatedRequestFor = exports.requestFor = exports.responseFor = exports.mutatedRequests = exports.requests = exports.responses = exports.taggedOperations = exports.operationsWithTags = exports.tagDetails = exports.tags = exports.operationsWithRootInherited = exports.schemes = exports.host = exports.basePath = exports.definitions = exports.findDefinition = exports.securityDefinitions = exports.security = exports.produces = exports.consumes = exports.operations = exports.paths = exports.semver = exports.version = exports.externalDocs = exports.info = exports.isOAS3 = exports.spec = exports.specJsonWithResolvedSubtrees = exports.specResolvedSubtree = exports.specResolved = exports.specJson = exports.specSource = exports.specStr = exports.url = exports.lastError = undefined;
        var _toConsumableArray2 = __webpack_require__(70);
        var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
        exports.getParameter = getParameter;
        exports.parameterValues = parameterValues;
        exports.parametersIncludeIn = parametersIncludeIn;
        exports.parametersIncludeType = parametersIncludeType;
        exports.contentTypeValues = contentTypeValues;
        exports.operationConsumes = operationConsumes;
        exports.currentProducesFor = currentProducesFor;
        var _reselect = __webpack_require__(37);
        var _utils = __webpack_require__(8);
        var _immutable = __webpack_require__(7);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var DEFAULT_TAG = "default";
        var OPERATION_METHODS = ["get", "put", "post", "delete", "options", "head", "patch", "trace"];
        var state = function state(_state) {
            return _state || (0, _immutable.Map)()
        };
        var lastError = exports.lastError = (0, _reselect.createSelector)(state, function(spec) {
            return spec.get("lastError")
        });
        var url = exports.url = (0, _reselect.createSelector)(state, function(spec) {
            return spec.get("url")
        });
        var specStr = exports.specStr = (0, _reselect.createSelector)(state, function(spec) {
            return spec.get("spec") || ""
        });
        var specSource = exports.specSource = (0, _reselect.createSelector)(state, function(spec) {
            return spec.get("specSource") || "not-editor"
        });
        var specJson = exports.specJson = (0, _reselect.createSelector)(state, function(spec) {
            return spec.get("json", (0, _immutable.Map)())
        });
        var specResolved = exports.specResolved = (0, _reselect.createSelector)(state, function(spec) {
            return spec.get("resolved", (0, _immutable.Map)())
        });
        var specResolvedSubtree = exports.specResolvedSubtree = function specResolvedSubtree(state, path) {
            return state.getIn(["resolvedSubtrees"].concat((0, _toConsumableArray3.default)(path)), undefined)
        };
        var mergerFn = function mergerFn(oldVal, newVal) {
            if (_immutable.Map.isMap(oldVal) && _immutable.Map.isMap(newVal)) {
                if (newVal.get("$$ref")) {
                    return newVal
                }
                return (0, _immutable.OrderedMap)().mergeWith(mergerFn, oldVal, newVal)
            }
            return newVal
        };
        var specJsonWithResolvedSubtrees = exports.specJsonWithResolvedSubtrees = (0, _reselect.createSelector)(state, function(spec) {
            return (0, _immutable.OrderedMap)().mergeWith(mergerFn, spec.get("json"), spec.get("resolvedSubtrees"))
        });
        var spec = exports.spec = function spec(state) {
            var res = specJson(state);
            return res
        };
        var isOAS3 = exports.isOAS3 = (0, _reselect.createSelector)(spec, function() {
            return false
        });
        var info = exports.info = (0, _reselect.createSelector)(spec, function(spec) {
            return returnSelfOrNewMap(spec && spec.get("info"))
        });
        var externalDocs = exports.externalDocs = (0, _reselect.createSelector)(spec, function(spec) {
            return returnSelfOrNewMap(spec && spec.get("externalDocs"))
        });
        var version = exports.version = (0, _reselect.createSelector)(info, function(info) {
            return info && info.get("version")
        });
        var semver = exports.semver = (0, _reselect.createSelector)(version, function(version) {
            return /v?([0-9]*)\.([0-9]*)\.([0-9]*)/i.exec(version).slice(1)
        });
        var paths = exports.paths = (0, _reselect.createSelector)(specJsonWithResolvedSubtrees, function(spec) {
            return spec.get("paths")
        });
        var operations = exports.operations = (0, _reselect.createSelector)(paths, function(paths) {
            if (!paths || paths.size < 1) return (0, _immutable.List)();
            var list = (0, _immutable.List)();
            if (!paths || !paths.forEach) {
                return (0, _immutable.List)()
            }
            paths.forEach(function(path, pathName) {
                if (!path || !path.forEach) {
                    return {}
                }
                path.forEach(function(operation, method) {
                    if (OPERATION_METHODS.indexOf(method) < 0) {
                        return
                    }
                    list = list.push((0, _immutable.fromJS)({
                        path: pathName,
                        method: method,
                        operation: operation,
                        id: method + "-" + pathName
                    }))
                })
            });
            return list
        });
        var consumes = exports.consumes = (0, _reselect.createSelector)(spec, function(spec) {
            return (0, _immutable.Set)(spec.get("consumes"))
        });
        var produces = exports.produces = (0, _reselect.createSelector)(spec, function(spec) {
            return (0, _immutable.Set)(spec.get("produces"))
        });
        var security = exports.security = (0, _reselect.createSelector)(spec, function(spec) {
            return spec.get("security", (0, _immutable.List)())
        });
        var securityDefinitions = exports.securityDefinitions = (0, _reselect.createSelector)(spec, function(spec) {
            return spec.get("securityDefinitions")
        });
        var findDefinition = exports.findDefinition = function findDefinition(state, name) {
            var resolvedRes = state.getIn(["resolvedSubtrees", "definitions", name], null);
            var unresolvedRes = state.getIn(["json", "definitions", name], null);
            return resolvedRes || unresolvedRes || null
        };
        var definitions = exports.definitions = (0, _reselect.createSelector)(spec, function(spec) {
            return spec.get("definitions") || (0, _immutable.Map)()
        });
        var basePath = exports.basePath = (0, _reselect.createSelector)(spec, function(spec) {
            return spec.get("basePath")
        });
        var host = exports.host = (0, _reselect.createSelector)(spec, function(spec) {
            return spec.get("host")
        });
        var schemes = exports.schemes = (0, _reselect.createSelector)(spec, function(spec) {
            return spec.get("schemes", (0, _immutable.Map)())
        });
        var operationsWithRootInherited = exports.operationsWithRootInherited = (0, _reselect.createSelector)(operations, consumes, produces, function(operations, consumes, produces) {
            return operations.map(function(ops) {
                return ops.update("operation", function(op) {
                    if (op) {
                        if (!_immutable.Map.isMap(op)) {
                            return
                        }
                        return op.withMutations(function(op) {
                            if (!op.get("consumes")) {
                                op.update("consumes", function(a) {
                                    return (0, _immutable.Set)(a).merge(consumes)
                                })
                            }
                            if (!op.get("produces")) {
                                op.update("produces", function(a) {
                                    return (0, _immutable.Set)(a).merge(produces)
                                })
                            }
                            return op
                        })
                    } else {
                        return (0, _immutable.Map)()
                    }
                })
            })
        });
        var tags = exports.tags = (0, _reselect.createSelector)(spec, function(json) {
            return json.get("tags", (0, _immutable.List)())
        });
        var tagDetails = exports.tagDetails = function tagDetails(state, tag) {
            var currentTags = tags(state) || (0, _immutable.List)();
            return currentTags.filter(_immutable.Map.isMap).find(function(t) {
                return t.get("name") === tag
            }, (0, _immutable.Map)())
        };
        var operationsWithTags = exports.operationsWithTags = (0, _reselect.createSelector)(operationsWithRootInherited, tags, function(operations, tags) {
            return operations.reduce(function(taggedMap, op) {
                var tags = (0, _immutable.Set)(op.getIn(["operation", "tags"]));
                if (tags.count() < 1) return taggedMap.update(DEFAULT_TAG, (0, _immutable.List)(), function(ar) {
                    return ar.push(op)
                });
                return tags.reduce(function(res, tag) {
                    return res.update(tag, (0, _immutable.List)(), function(ar) {
                        return ar.push(op)
                    })
                }, taggedMap)
            }, tags.reduce(function(taggedMap, tag) {
                return taggedMap.set(tag.get("name"), (0, _immutable.List)())
            }, (0, _immutable.OrderedMap)()))
        });
        var taggedOperations = exports.taggedOperations = function taggedOperations(state) {
            return function(_ref) {
                var getConfigs = _ref.getConfigs;
                var _getConfigs = getConfigs(),
                    tagsSorter = _getConfigs.tagsSorter,
                    operationsSorter = _getConfigs.operationsSorter;
                return operationsWithTags(state).sortBy(function(val, key) {
                    return key
                }, function(tagA, tagB) {
                    var sortFn = typeof tagsSorter === "function" ? tagsSorter : _utils.sorters.tagsSorter[tagsSorter];
                    return !sortFn ? null : sortFn(tagA, tagB)
                }).map(function(ops, tag) {
                    var sortFn = typeof operationsSorter === "function" ? operationsSorter : _utils.sorters.operationsSorter[operationsSorter];
                    var operations = !sortFn ? ops : ops.sort(sortFn);
                    return (0, _immutable.Map)({
                        tagDetails: tagDetails(state, tag),
                        operations: operations
                    })
                })
            }
        };
        var responses = exports.responses = (0, _reselect.createSelector)(state, function(state) {
            return state.get("responses", (0, _immutable.Map)())
        });
        var requests = exports.requests = (0, _reselect.createSelector)(state, function(state) {
            return state.get("requests", (0, _immutable.Map)())
        });
        var mutatedRequests = exports.mutatedRequests = (0, _reselect.createSelector)(state, function(state) {
            return state.get("mutatedRequests", (0, _immutable.Map)())
        });
        var responseFor = exports.responseFor = function responseFor(state, path, method) {
            return responses(state).getIn([path, method], null)
        };
        var requestFor = exports.requestFor = function requestFor(state, path, method) {
            return requests(state).getIn([path, method], null)
        };
        var mutatedRequestFor = exports.mutatedRequestFor = function mutatedRequestFor(state, path, method) {
            return mutatedRequests(state).getIn([path, method], null)
        };
        var allowTryItOutFor = exports.allowTryItOutFor = function allowTryItOutFor() {
            return true
        };
        var parameterWithMetaByIdentity = exports.parameterWithMetaByIdentity = function parameterWithMetaByIdentity(state, pathMethod, param) {
            var opParams = specJsonWithResolvedSubtrees(state).getIn(["paths"].concat((0, _toConsumableArray3.default)(pathMethod), ["parameters"]), (0, _immutable.OrderedMap)());
            var metaParams = state.getIn(["meta", "paths"].concat((0, _toConsumableArray3.default)(pathMethod), ["parameters"]), (0, _immutable.OrderedMap)());
            var mergedParams = opParams.map(function(currentParam) {
                var nameInKeyedMeta = metaParams.get(param.get("name") + "." + param.get("in"));
                var hashKeyedMeta = metaParams.get(param.get("name") + "." + param.get("in") + ".hash-" + param.hashCode());
                return (0, _immutable.OrderedMap)().merge(currentParam, nameInKeyedMeta, hashKeyedMeta)
            });
            return mergedParams.find(function(curr) {
                return curr.get("in") === param.get("in") && curr.get("name") === param.get("name")
            }, (0, _immutable.OrderedMap)())
        };
        var parameterInclusionSettingFor = exports.parameterInclusionSettingFor = function parameterInclusionSettingFor(state, pathMethod, paramName, paramIn) {
            var paramKey = paramName + "." + paramIn;
            return state.getIn(["meta", "paths"].concat((0, _toConsumableArray3.default)(pathMethod), ["parameter_inclusions", paramKey]), false)
        };
        var parameterWithMeta = exports.parameterWithMeta = function parameterWithMeta(state, pathMethod, paramName, paramIn) {
            var opParams = specJsonWithResolvedSubtrees(state).getIn(["paths"].concat((0, _toConsumableArray3.default)(pathMethod), ["parameters"]), (0, _immutable.OrderedMap)());
            var currentParam = opParams.find(function(param) {
                return param.get("in") === paramIn && param.get("name") === paramName
            }, (0, _immutable.OrderedMap)());
            return parameterWithMetaByIdentity(state, pathMethod, currentParam)
        };
        var operationWithMeta = exports.operationWithMeta = function operationWithMeta(state, path, method) {
            var op = specJsonWithResolvedSubtrees(state).getIn(["paths", path, method], (0, _immutable.OrderedMap)());
            var meta = state.getIn(["meta", "paths", path, method], (0, _immutable.OrderedMap)());
            var mergedParams = op.get("parameters", (0, _immutable.List)()).map(function(param) {
                return parameterWithMetaByIdentity(state, [path, method], param)
            });
            return (0, _immutable.OrderedMap)().merge(op, meta).set("parameters", mergedParams)
        };

        function getParameter(state, pathMethod, name, inType) {
            pathMethod = pathMethod || [];
            var params = state.getIn(["meta", "paths"].concat((0, _toConsumableArray3.default)(pathMethod), ["parameters"]), (0, _immutable.fromJS)([]));
            return params.find(function(p) {
                return _immutable.Map.isMap(p) && p.get("name") === name && p.get("in") === inType
            }) || (0, _immutable.Map)()
        }
        var hasHost = exports.hasHost = (0, _reselect.createSelector)(spec, function(spec) {
            var host = spec.get("host");
            return typeof host === "string" && host.length > 0 && host[0] !== "/"
        });

        function parameterValues(state, pathMethod, isXml) {
            pathMethod = pathMethod || [];
            var paramValues = operationWithMeta.apply(undefined, [state].concat((0, _toConsumableArray3.default)(pathMethod))).get("parameters", (0, _immutable.List)());
            return paramValues.reduce(function(hash, p) {
                var value = isXml && p.get("in") === "body" ? p.get("value_xml") : p.get("value");
                return hash.set(p.get("in") + "." + p.get("name"), value)
            }, (0, _immutable.fromJS)({}))
        }

        function parametersIncludeIn(parameters) {
            var inValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
            if (_immutable.List.isList(parameters)) {
                return parameters.some(function(p) {
                    return _immutable.Map.isMap(p) && p.get("in") === inValue
                })
            }
        }

        function parametersIncludeType(parameters) {
            var typeValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
            if (_immutable.List.isList(parameters)) {
                return parameters.some(function(p) {
                    return _immutable.Map.isMap(p) && p.get("type") === typeValue
                })
            }
        }

        function contentTypeValues(state, pathMethod) {
            pathMethod = pathMethod || [];
            var op = specJsonWithResolvedSubtrees(state).getIn(["paths"].concat((0, _toConsumableArray3.default)(pathMethod)), (0, _immutable.fromJS)({}));
            var meta = state.getIn(["meta", "paths"].concat((0, _toConsumableArray3.default)(pathMethod)), (0, _immutable.fromJS)({}));
            var producesValue = currentProducesFor(state, pathMethod);
            var parameters = op.get("parameters") || new _immutable.List;
            var requestContentType = meta.get("consumes_value") ? meta.get("consumes_value") : parametersIncludeType(parameters, "file") ? "multipart/form-data" : parametersIncludeType(parameters, "formData") ? "application/x-www-form-urlencoded" : undefined;
            return (0, _immutable.fromJS)({
                requestContentType: requestContentType,
                responseContentType: producesValue
            })
        }

        function operationConsumes(state, pathMethod) {
            pathMethod = pathMethod || [];
            return specJsonWithResolvedSubtrees(state).getIn(["paths"].concat((0, _toConsumableArray3.default)(pathMethod), ["consumes"]), (0, _immutable.fromJS)({}))
        }

        function currentProducesFor(state, pathMethod) {
            pathMethod = pathMethod || [];
            var operation = specJsonWithResolvedSubtrees(state).getIn(["paths"].concat((0, _toConsumableArray3.default)(pathMethod)), null);
            if (operation === null) {
                return
            }
            var currentProducesValue = state.getIn(["meta", "paths"].concat((0, _toConsumableArray3.default)(pathMethod), ["produces_value"]), null);
            var firstProducesArrayItem = operation.getIn(["produces", 0], null);
            return currentProducesValue || firstProducesArrayItem || "application/json"
        }
        var operationScheme = exports.operationScheme = function operationScheme(state, path, method) {
            var url = state.get("url");
            var matchResult = url.match(/^([a-z][a-z0-9+\-.]*):/);
            var urlScheme = Array.isArray(matchResult) ? matchResult[1] : null;
            return state.getIn(["scheme", path, method]) || state.getIn(["scheme", "_defaultScheme"]) || urlScheme || ""
        };
        var canExecuteScheme = exports.canExecuteScheme = function canExecuteScheme(state, path, method) {
            return ["http", "https"].indexOf(operationScheme(state, path, method)) > -1
        };
        var validateBeforeExecute = exports.validateBeforeExecute = function validateBeforeExecute(state, pathMethod) {
            pathMethod = pathMethod || [];
            var paramValues = state.getIn(["meta", "paths"].concat((0, _toConsumableArray3.default)(pathMethod), ["parameters"]), (0, _immutable.fromJS)([]));
            var isValid = true;
            paramValues.forEach(function(p) {
                var errors = p.get("errors");
                if (errors && errors.count()) {
                    isValid = false
                }
            });
            return isValid
        };

        function returnSelfOrNewMap(obj) {
            return _immutable.Map.isMap(obj) ? obj : new _immutable.Map
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.execute = exports.executeRequest = exports.logRequest = exports.setMutatedRequest = exports.setRequest = exports.setResponse = exports.updateEmptyParamInclusion = exports.validateParams = exports.invalidateResolvedSubtreeCache = exports.updateResolvedSubtree = exports.requestResolvedSubtree = exports.resolveSpec = exports.parseToJson = exports.SET_SCHEME = exports.UPDATE_RESOLVED_SUBTREE = exports.UPDATE_RESOLVED = exports.UPDATE_OPERATION_META_VALUE = exports.CLEAR_VALIDATE_PARAMS = exports.CLEAR_REQUEST = exports.CLEAR_RESPONSE = exports.LOG_REQUEST = exports.SET_MUTATED_REQUEST = exports.SET_REQUEST = exports.SET_RESPONSE = exports.VALIDATE_PARAMS = exports.UPDATE_EMPTY_PARAM_INCLUSION = exports.UPDATE_PARAM = exports.UPDATE_JSON = exports.UPDATE_URL = exports.UPDATE_SPEC = undefined;
        var _extends2 = __webpack_require__(21);
        var _extends3 = _interopRequireDefault(_extends2);
        var _objectWithoutProperties2 = __webpack_require__(71);
        var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
        var _assign = __webpack_require__(19);
        var _assign2 = _interopRequireDefault(_assign);
        var _keys = __webpack_require__(31);
        var _keys2 = _interopRequireDefault(_keys);
        var _promise = __webpack_require__(220);
        var _promise2 = _interopRequireDefault(_promise);
        var _regenerator = __webpack_require__(499);
        var _regenerator2 = _interopRequireDefault(_regenerator);
        var _asyncToGenerator2 = __webpack_require__(501);
        var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
        var _typeof2 = __webpack_require__(36);
        var _typeof3 = _interopRequireDefault(_typeof2);
        exports.updateSpec = updateSpec;
        exports.updateResolved = updateResolved;
        exports.updateUrl = updateUrl;
        exports.updateJsonSpec = updateJsonSpec;
        exports.changeParam = changeParam;
        exports.changeParamByIdentity = changeParamByIdentity;
        exports.clearValidateParams = clearValidateParams;
        exports.changeConsumesValue = changeConsumesValue;
        exports.changeProducesValue = changeProducesValue;
        exports.clearResponse = clearResponse;
        exports.clearRequest = clearRequest;
        exports.setScheme = setScheme;
        var _jsYaml = __webpack_require__(225);
        var _jsYaml2 = _interopRequireDefault(_jsYaml);
        var _immutable = __webpack_require__(7);
        var _urlParse = __webpack_require__(144);
        var _urlParse2 = _interopRequireDefault(_urlParse);
        var _serializeError = __webpack_require__(122);
        var _serializeError2 = _interopRequireDefault(_serializeError);
        var _isString = __webpack_require__(523);
        var _isString2 = _interopRequireDefault(_isString);
        var _debounce = __webpack_require__(524);
        var _debounce2 = _interopRequireDefault(_debounce);
        var _set = __webpack_require__(526);
        var _set2 = _interopRequireDefault(_set);
        var _utils = __webpack_require__(8);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var UPDATE_SPEC = exports.UPDATE_SPEC = "spec_update_spec";
        var UPDATE_URL = exports.UPDATE_URL = "spec_update_url";
        var UPDATE_JSON = exports.UPDATE_JSON = "spec_update_json";
        var UPDATE_PARAM = exports.UPDATE_PARAM = "spec_update_param";
        var UPDATE_EMPTY_PARAM_INCLUSION = exports.UPDATE_EMPTY_PARAM_INCLUSION = "spec_update_empty_param_inclusion";
        var VALIDATE_PARAMS = exports.VALIDATE_PARAMS = "spec_validate_param";
        var SET_RESPONSE = exports.SET_RESPONSE = "spec_set_response";
        var SET_REQUEST = exports.SET_REQUEST = "spec_set_request";
        var SET_MUTATED_REQUEST = exports.SET_MUTATED_REQUEST = "spec_set_mutated_request";
        var LOG_REQUEST = exports.LOG_REQUEST = "spec_log_request";
        var CLEAR_RESPONSE = exports.CLEAR_RESPONSE = "spec_clear_response";
        var CLEAR_REQUEST = exports.CLEAR_REQUEST = "spec_clear_request";
        var CLEAR_VALIDATE_PARAMS = exports.CLEAR_VALIDATE_PARAMS = "spec_clear_validate_param";
        var UPDATE_OPERATION_META_VALUE = exports.UPDATE_OPERATION_META_VALUE = "spec_update_operation_meta_value";
        var UPDATE_RESOLVED = exports.UPDATE_RESOLVED = "spec_update_resolved";
        var UPDATE_RESOLVED_SUBTREE = exports.UPDATE_RESOLVED_SUBTREE = "spec_update_resolved_subtree";
        var SET_SCHEME = exports.SET_SCHEME = "set_scheme";
        var toStr = function toStr(str) {
            return (0, _isString2.default)(str) ? str : ""
        };

        function updateSpec(spec) {
            var cleanSpec = toStr(spec).replace(/\t/g, "  ");
            if (typeof spec === "string") {
                return {
                    type: UPDATE_SPEC,
                    payload: cleanSpec
                }
            }
        }

        function updateResolved(spec) {
            return {
                type: UPDATE_RESOLVED,
                payload: spec
            }
        }

        function updateUrl(url) {
            return {
                type: UPDATE_URL,
                payload: url
            }
        }

        function updateJsonSpec(json) {
            return {
                type: UPDATE_JSON,
                payload: json
            }
        }
        var parseToJson = exports.parseToJson = function parseToJson(str) {
            return function(_ref) {
                var specActions = _ref.specActions,
                    specSelectors = _ref.specSelectors,
                    errActions = _ref.errActions;
                var specStr = specSelectors.specStr;
                var json = null;
                try {
                    str = str || specStr();
                    errActions.clear({
                        source: "parser"
                    });
                    json = _jsYaml2.default.safeLoad(str)
                } catch (e) {
                    console.error(e);
                    return errActions.newSpecErr({
                        source: "parser",
                        level: "error",
                        message: e.reason,
                        line: e.mark && e.mark.line ? e.mark.line + 1 : undefined
                    })
                }
                if (json && (typeof json === "undefined" ? "undefined" : (0, _typeof3.default)(json)) === "object") {
                    return specActions.updateJsonSpec(json)
                }
                return {}
            }
        };
        var hasWarnedAboutResolveSpecDeprecation = false;
        var resolveSpec = exports.resolveSpec = function resolveSpec(json, url) {
            return function(_ref2) {
                var specActions = _ref2.specActions,
                    specSelectors = _ref2.specSelectors,
                    errActions = _ref2.errActions,
                    _ref2$fn = _ref2.fn,
                    fetch = _ref2$fn.fetch,
                    resolve = _ref2$fn.resolve,
                    _ref2$fn$AST = _ref2$fn.AST,
                    AST = _ref2$fn$AST === undefined ? {} : _ref2$fn$AST,
                    getConfigs = _ref2.getConfigs;
                if (!hasWarnedAboutResolveSpecDeprecation) {
                    console.warn("specActions.resolveSpec is deprecated since v3.10.0 and will be removed in v4.0.0; use requestResolvedSubtree instead!");
                    hasWarnedAboutResolveSpecDeprecation = true
                }
                var _getConfigs = getConfigs(),
                    modelPropertyMacro = _getConfigs.modelPropertyMacro,
                    parameterMacro = _getConfigs.parameterMacro,
                    requestInterceptor = _getConfigs.requestInterceptor,
                    responseInterceptor = _getConfigs.responseInterceptor;
                if (typeof json === "undefined") {
                    json = specSelectors.specJson()
                }
                if (typeof url === "undefined") {
                    url = specSelectors.url()
                }
                var getLineNumberForPath = AST.getLineNumberForPath ? AST.getLineNumberForPath : function() {
                    return undefined
                };
                var specStr = specSelectors.specStr();
                return resolve({
                    fetch: fetch,
                    spec: json,
                    baseDoc: url,
                    modelPropertyMacro: modelPropertyMacro,
                    parameterMacro: parameterMacro,
                    requestInterceptor: requestInterceptor,
                    responseInterceptor: responseInterceptor
                }).then(function(_ref3) {
                    var spec = _ref3.spec,
                        errors = _ref3.errors;
                    errActions.clear({
                        type: "thrown"
                    });
                    if (Array.isArray(errors) && errors.length > 0) {
                        var preparedErrors = errors.map(function(err) {
                            console.error(err);
                            err.line = err.fullPath ? getLineNumberForPath(specStr, err.fullPath) : null;
                            err.path = err.fullPath ? err.fullPath.join(".") : null;
                            err.level = "error";
                            err.type = "thrown";
                            err.source = "resolver";
                            Object.defineProperty(err, "message", {
                                enumerable: true,
                                value: err.message
                            });
                            return err
                        });
                        errActions.newThrownErrBatch(preparedErrors)
                    }
                    return specActions.updateResolved(spec)
                })
            }
        };
        var requestBatch = [];
        var debResolveSubtrees = (0, _debounce2.default)((0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee2() {
            var system, errActions, errSelectors, _system$fn, resolveSubtree, _system$fn$AST, AST, specSelectors, specActions, getLineNumberForPath, specStr, _system$getConfigs, modelPropertyMacro, parameterMacro, requestInterceptor, responseInterceptor, batchResult;
            return _regenerator2.default.wrap(function _callee2$(_context2) {
                while (1) {
                    switch (_context2.prev = _context2.next) {
                        case 0:
                            system = requestBatch.system;
                            if (system) {
                                _context2.next = 4;
                                break
                            }
                            console.error("debResolveSubtrees: don't have a system to operate on, aborting.");
                            return _context2.abrupt("return");
                        case 4:
                            errActions = system.errActions, errSelectors = system.errSelectors, _system$fn = system.fn, resolveSubtree = _system$fn.resolveSubtree, _system$fn$AST = _system$fn.AST, AST = _system$fn$AST === undefined ? {} : _system$fn$AST, specSelectors = system.specSelectors, specActions = system.specActions;
                            if (resolveSubtree) {
                                _context2.next = 8;
                                break
                            }
                            console.error("Error: Swagger-Client did not provide a `resolveSubtree` method, doing nothing.");
                            return _context2.abrupt("return");
                        case 8:
                            getLineNumberForPath = AST.getLineNumberForPath ? AST.getLineNumberForPath : function() {
                                return undefined
                            };
                            specStr = specSelectors.specStr();
                            _system$getConfigs = system.getConfigs(), modelPropertyMacro = _system$getConfigs.modelPropertyMacro, parameterMacro = _system$getConfigs.parameterMacro, requestInterceptor = _system$getConfigs.requestInterceptor, responseInterceptor = _system$getConfigs.responseInterceptor;
                            _context2.prev = 11;
                            _context2.next = 14;
                            return requestBatch.reduce(function() {
                                var _ref5 = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee(prev, path) {
                                    var _ref6, resultMap, specWithCurrentSubtrees, _ref7, errors, spec, preparedErrors;
                                    return _regenerator2.default.wrap(function _callee$(_context) {
                                        while (1) {
                                            switch (_context.prev = _context.next) {
                                                case 0:
                                                    _context.next = 2;
                                                    return prev;
                                                case 2:
                                                    _ref6 = _context.sent;
                                                    resultMap = _ref6.resultMap;
                                                    specWithCurrentSubtrees = _ref6.specWithCurrentSubtrees;
                                                    _context.next = 7;
                                                    return resolveSubtree(specWithCurrentSubtrees, path, {
                                                        baseDoc: specSelectors.url(),
                                                        modelPropertyMacro: modelPropertyMacro,
                                                        parameterMacro: parameterMacro,
                                                        requestInterceptor: requestInterceptor,
                                                        responseInterceptor: responseInterceptor
                                                    });
                                                case 7:
                                                    _ref7 = _context.sent;
                                                    errors = _ref7.errors;
                                                    spec = _ref7.spec;
                                                    if (errSelectors.allErrors().size) {
                                                        errActions.clear({
                                                            type: "thrown"
                                                        })
                                                    }
                                                    if (Array.isArray(errors) && errors.length > 0) {
                                                        preparedErrors = errors.map(function(err) {
                                                            err.line = err.fullPath ? getLineNumberForPath(specStr, err.fullPath) : null;
                                                            err.path = err.fullPath ? err.fullPath.join(".") : null;
                                                            err.level = "error";
                                                            err.type = "thrown";
                                                            err.source = "resolver";
                                                            Object.defineProperty(err, "message", {
                                                                enumerable: true,
                                                                value: err.message
                                                            });
                                                            return err
                                                        });
                                                        errActions.newThrownErrBatch(preparedErrors)
                                                    }(0, _set2.default)(resultMap, path, spec);
                                                    (0, _set2.default)(specWithCurrentSubtrees, path, spec);
                                                    return _context.abrupt("return", {
                                                        resultMap: resultMap,
                                                        specWithCurrentSubtrees: specWithCurrentSubtrees
                                                    });
                                                case 15:
                                                case "end":
                                                    return _context.stop()
                                            }
                                        }
                                    }, _callee, undefined)
                                }));
                                return function(_x, _x2) {
                                    return _ref5.apply(this, arguments)
                                }
                            }(), _promise2.default.resolve({
                                resultMap: (specSelectors.specResolvedSubtree([]) || (0, _immutable.Map)()).toJS(),
                                specWithCurrentSubtrees: specSelectors.specJson().toJS()
                            }));
                        case 14:
                            batchResult = _context2.sent;
                            delete requestBatch.system;
                            requestBatch = [];
                            _context2.next = 22;
                            break;
                        case 19:
                            _context2.prev = 19;
                            _context2.t0 = _context2["catch"](11);
                            console.error(_context2.t0);
                        case 22:
                            specActions.updateResolvedSubtree([], batchResult.resultMap);
                        case 23:
                        case "end":
                            return _context2.stop()
                    }
                }
            }, _callee2, undefined, [
                [11, 19]
            ])
        })), 35);
        var requestResolvedSubtree = exports.requestResolvedSubtree = function requestResolvedSubtree(path) {
            return function(system) {
                requestBatch.push(path);
                requestBatch.system = system;
                debResolveSubtrees()
            }
        };

        function changeParam(path, paramName, paramIn, value, isXml) {
            return {
                type: UPDATE_PARAM,
                payload: {
                    path: path,
                    value: value,
                    paramName: paramName,
                    paramIn: paramIn,
                    isXml: isXml
                }
            }
        }

        function changeParamByIdentity(pathMethod, param, value, isXml) {
            return {
                type: UPDATE_PARAM,
                payload: {
                    path: pathMethod,
                    param: param,
                    value: value,
                    isXml: isXml
                }
            }
        }
        var updateResolvedSubtree = exports.updateResolvedSubtree = function updateResolvedSubtree(path, value) {
            return {
                type: UPDATE_RESOLVED_SUBTREE,
                payload: {
                    path: path,
                    value: value
                }
            }
        };
        var invalidateResolvedSubtreeCache = exports.invalidateResolvedSubtreeCache = function invalidateResolvedSubtreeCache() {
            return {
                type: UPDATE_RESOLVED_SUBTREE,
                payload: {
                    path: [],
                    value: (0, _immutable.Map)()
                }
            }
        };
        var validateParams = exports.validateParams = function validateParams(payload, isOAS3) {
            return {
                type: VALIDATE_PARAMS,
                payload: {
                    pathMethod: payload,
                    isOAS3: isOAS3
                }
            }
        };
        var updateEmptyParamInclusion = exports.updateEmptyParamInclusion = function updateEmptyParamInclusion(pathMethod, paramName, paramIn, includeEmptyValue) {
            return {
                type: UPDATE_EMPTY_PARAM_INCLUSION,
                payload: {
                    pathMethod: pathMethod,
                    paramName: paramName,
                    paramIn: paramIn,
                    includeEmptyValue: includeEmptyValue
                }
            }
        };

        function clearValidateParams(payload) {
            return {
                type: CLEAR_VALIDATE_PARAMS,
                payload: {
                    pathMethod: payload
                }
            }
        }

        function changeConsumesValue(path, value) {
            return {
                type: UPDATE_OPERATION_META_VALUE,
                payload: {
                    path: path,
                    value: value,
                    key: "consumes_value"
                }
            }
        }

        function changeProducesValue(path, value) {
            return {
                type: UPDATE_OPERATION_META_VALUE,
                payload: {
                    path: path,
                    value: value,
                    key: "produces_value"
                }
            }
        }
        var setResponse = exports.setResponse = function setResponse(path, method, res) {
            return {
                payload: {
                    path: path,
                    method: method,
                    res: res
                },
                type: SET_RESPONSE
            }
        };
        var setRequest = exports.setRequest = function setRequest(path, method, req) {
            return {
                payload: {
                    path: path,
                    method: method,
                    req: req
                },
                type: SET_REQUEST
            }
        };
        var setMutatedRequest = exports.setMutatedRequest = function setMutatedRequest(path, method, req) {
            return {
                payload: {
                    path: path,
                    method: method,
                    req: req
                },
                type: SET_MUTATED_REQUEST
            }
        };
        var logRequest = exports.logRequest = function logRequest(req) {
            return {
                payload: req,
                type: LOG_REQUEST
            }
        };
        var executeRequest = exports.executeRequest = function executeRequest(req) {
            return function(_ref8) {
                var fn = _ref8.fn,
                    specActions = _ref8.specActions,
                    specSelectors = _ref8.specSelectors,
                    getConfigs = _ref8.getConfigs,
                    oas3Selectors = _ref8.oas3Selectors;
                var pathName = req.pathName,
                    method = req.method,
                    operation = req.operation;
                var _getConfigs2 = getConfigs(),
                    requestInterceptor = _getConfigs2.requestInterceptor,
                    responseInterceptor = _getConfigs2.responseInterceptor;
                var op = operation.toJS();
                if (op && op.parameters && op.parameters.length) {
                    op.parameters.filter(function(param) {
                        return param && param.allowEmptyValue === true
                    }).forEach(function(param) {
                        if (specSelectors.parameterInclusionSettingFor([pathName, method], param.name, param.in)) {
                            req.parameters = req.parameters || {};
                            var paramValue = req.parameters[param.name];
                            if (!paramValue || paramValue && paramValue.size === 0) {
                                req.parameters[param.name] = ""
                            }
                        }
                    })
                }
                req.contextUrl = (0, _urlParse2.default)(specSelectors.url()).toString();
                if (op && op.operationId) {
                    req.operationId = op.operationId
                } else if (op && pathName && method) {
                    req.operationId = fn.opId(op, pathName, method)
                }
                if (specSelectors.isOAS3()) {
                    var namespace = pathName + ":" + method;
                    req.server = oas3Selectors.selectedServer(namespace) || oas3Selectors.selectedServer();
                    var namespaceVariables = oas3Selectors.serverVariables({
                        server: req.server,
                        namespace: namespace
                    }).toJS();
                    var globalVariables = oas3Selectors.serverVariables({
                        server: req.server
                    }).toJS();
                    req.serverVariables = (0, _keys2.default)(namespaceVariables).length ? namespaceVariables : globalVariables;
                    req.requestContentType = oas3Selectors.requestContentType(pathName, method);
                    req.responseContentType = oas3Selectors.responseContentType(pathName, method) || "*/*";
                    var requestBody = oas3Selectors.requestBodyValue(pathName, method);
                    if ((0, _utils.isJSONObject)(requestBody)) {
                        req.requestBody = JSON.parse(requestBody)
                    } else if (requestBody && requestBody.toJS) {
                        req.requestBody = requestBody.toJS()
                    } else {
                        req.requestBody = requestBody
                    }
                }
                var parsedRequest = (0, _assign2.default)({}, req);
                parsedRequest = fn.buildRequest(parsedRequest);
                specActions.setRequest(req.pathName, req.method, parsedRequest);
                var requestInterceptorWrapper = function requestInterceptorWrapper(r) {
                    var mutatedRequest = requestInterceptor.apply(this, [r]);
                    var parsedMutatedRequest = (0, _assign2.default)({}, mutatedRequest);
                    specActions.setMutatedRequest(req.pathName, req.method, parsedMutatedRequest);
                    return mutatedRequest
                };
                req.requestInterceptor = requestInterceptorWrapper;
                req.responseInterceptor = responseInterceptor;
                var startTime = Date.now();
                return fn.execute(req).then(function(res) {
                    res.duration = Date.now() - startTime;
                    specActions.setResponse(req.pathName, req.method, res)
                }).catch(function(err) {
                    return specActions.setResponse(req.pathName, req.method, {
                        error: true,
                        err: (0, _serializeError2.default)(err)
                    })
                })
            }
        };
        var execute = function execute() {
            var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
            var path = _ref9.path,
                method = _ref9.method,
                extras = (0, _objectWithoutProperties3.default)(_ref9, ["path", "method"]);
            return function(system) {
                var fetch = system.fn.fetch,
                    specSelectors = system.specSelectors,
                    specActions = system.specActions;
                var spec = specSelectors.specJsonWithResolvedSubtrees().toJS();
                var scheme = specSelectors.operationScheme(path, method);
                var _specSelectors$conten = specSelectors.contentTypeValues([path, method]).toJS(),
                    requestContentType = _specSelectors$conten.requestContentType,
                    responseContentType = _specSelectors$conten.responseContentType;
                var isXml = /xml/i.test(requestContentType);
                var parameters = specSelectors.parameterValues([path, method], isXml).toJS();
                return specActions.executeRequest((0, _extends3.default)({}, extras, {
                    fetch: fetch,
                    spec: spec,
                    pathName: path,
                    method: method,
                    parameters: parameters,
                    requestContentType: requestContentType,
                    scheme: scheme,
                    responseContentType: responseContentType
                }))
            }
        };
        exports.execute = execute;

        function clearResponse(path, method) {
            return {
                type: CLEAR_RESPONSE,
                payload: {
                    path: path,
                    method: method
                }
            }
        }

        function clearRequest(path, method) {
            return {
                type: CLEAR_REQUEST,
                payload: {
                    path: path,
                    method: method
                }
            }
        }

        function setScheme(scheme, path, method) {
            return {
                type: SET_SCHEME,
                payload: {
                    scheme: scheme,
                    path: path,
                    method: method
                }
            }
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var aFunction = __webpack_require__(79);

        function PromiseCapability(C) {
            var resolve, reject;
            this.promise = new C(function($$resolve, $$reject) {
                if (resolve !== undefined || reject !== undefined) throw TypeError("Bad Promise constructor");
                resolve = $$resolve;
                reject = $$reject
            });
            this.resolve = aFunction(resolve);
            this.reject = aFunction(reject)
        }
        module.exports.f = function(C) {
            return new PromiseCapability(C)
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var Schema = __webpack_require__(56);
        module.exports = new Schema({
            explicit: [__webpack_require__(505), __webpack_require__(506), __webpack_require__(507)]
        })
    }, function(module, exports) {
        module.exports = require("url-parse")
    }, function(module, exports, __webpack_require__) {
        var baseAssignValue = __webpack_require__(228),
            eq = __webpack_require__(67);
        var objectProto = Object.prototype;
        var hasOwnProperty = objectProto.hasOwnProperty;

        function assignValue(object, key, value) {
            var objValue = object[key];
            if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || value === undefined && !(key in object)) {
                baseAssignValue(object, key, value)
            }
        }
        module.exports = assignValue
    }, function(module, exports, __webpack_require__) {
        var overArg = __webpack_require__(199);
        var getPrototype = overArg(Object.getPrototypeOf, Object);
        module.exports = getPrototype
    }, function(module, exports, __webpack_require__) {
        var Uint8Array = __webpack_require__(193);

        function cloneArrayBuffer(arrayBuffer) {
            var result = new arrayBuffer.constructor(arrayBuffer.byteLength);
            new Uint8Array(result).set(new Uint8Array(arrayBuffer));
            return result
        }
        module.exports = cloneArrayBuffer
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.authorizeRequest = exports.authorizeAccessCodeWithBasicAuthentication = exports.authorizeAccessCodeWithFormParams = exports.authorizeApplication = exports.authorizePassword = exports.preAuthorizeImplicit = exports.CONFIGURE_AUTH = exports.VALIDATE = exports.AUTHORIZE_OAUTH2 = exports.PRE_AUTHORIZE_OAUTH2 = exports.LOGOUT = exports.AUTHORIZE = exports.SHOW_AUTH_POPUP = undefined;
        var _typeof2 = __webpack_require__(36);
        var _typeof3 = _interopRequireDefault(_typeof2);
        var _assign = __webpack_require__(19);
        var _assign2 = _interopRequireDefault(_assign);
        var _stringify = __webpack_require__(30);
        var _stringify2 = _interopRequireDefault(_stringify);
        exports.showDefinitions = showDefinitions;
        exports.authorize = authorize;
        exports.logout = logout;
        exports.authorizeOauth2 = authorizeOauth2;
        exports.configureAuth = configureAuth;
        var _urlParse = __webpack_require__(144);
        var _urlParse2 = _interopRequireDefault(_urlParse);
        var _window = __webpack_require__(22);
        var _window2 = _interopRequireDefault(_window);
        var _utils = __webpack_require__(8);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var SHOW_AUTH_POPUP = exports.SHOW_AUTH_POPUP = "show_popup";
        var AUTHORIZE = exports.AUTHORIZE = "authorize";
        var LOGOUT = exports.LOGOUT = "logout";
        var PRE_AUTHORIZE_OAUTH2 = exports.PRE_AUTHORIZE_OAUTH2 = "pre_authorize_oauth2";
        var AUTHORIZE_OAUTH2 = exports.AUTHORIZE_OAUTH2 = "authorize_oauth2";
        var VALIDATE = exports.VALIDATE = "validate";
        var CONFIGURE_AUTH = exports.CONFIGURE_AUTH = "configure_auth";
        var scopeSeparator = " ";

        function showDefinitions(payload) {
            return {
                type: SHOW_AUTH_POPUP,
                payload: payload
            }
        }

        function authorize(payload) {
            return {
                type: AUTHORIZE,
                payload: payload
            }
        }

        function logout(payload) {
            return {
                type: LOGOUT,
                payload: payload
            }
        }
        var preAuthorizeImplicit = exports.preAuthorizeImplicit = function preAuthorizeImplicit(payload) {
            return function(_ref) {
                var authActions = _ref.authActions,
                    errActions = _ref.errActions;
                var auth = payload.auth,
                    token = payload.token,
                    isValid = payload.isValid;
                var schema = auth.schema,
                    name = auth.name;
                var flow = schema.get("flow");
                delete _window2.default.swaggerUIRedirectOauth2;
                if (flow !== "accessCode" && !isValid) {
                    errActions.newAuthErr({
                        authId: name,
                        source: "auth",
                        level: "warning",
                        message: "Authorization may be unsafe, passed state was changed in server Passed state wasn't returned from auth server"
                    })
                }
                if (token.error) {
                    errActions.newAuthErr({
                        authId: name,
                        source: "auth",
                        level: "error",
                        message: (0, _stringify2.default)(token)
                    });
                    return
                }
                authActions.authorizeOauth2({
                    auth: auth,
                    token: token
                })
            }
        };

        function authorizeOauth2(payload) {
            return {
                type: AUTHORIZE_OAUTH2,
                payload: payload
            }
        }
        var authorizePassword = exports.authorizePassword = function authorizePassword(auth) {
            return function(_ref2) {
                var authActions = _ref2.authActions;
                var schema = auth.schema,
                    name = auth.name,
                    username = auth.username,
                    password = auth.password,
                    passwordType = auth.passwordType,
                    clientId = auth.clientId,
                    clientSecret = auth.clientSecret;
                var form = {
                    grant_type: "password",
                    scope: auth.scopes.join(scopeSeparator)
                };
                var query = {};
                var headers = {};
                if (passwordType === "basic") {
                    headers.Authorization = "Basic " + (0, _utils.btoa)(username + ":" + password)
                } else {
                    (0, _assign2.default)(form, {
                        username: username
                    }, {
                        password: password
                    });
                    if (passwordType === "query") {
                        if (clientId) {
                            query.client_id = clientId
                        }
                        if (clientSecret) {
                            query.client_secret = clientSecret
                        }
                    } else {
                        headers.Authorization = "Basic " + (0, _utils.btoa)(clientId + ":" + clientSecret)
                    }
                }
                return authActions.authorizeRequest({
                    body: (0, _utils.buildFormData)(form),
                    url: schema.get("tokenUrl"),
                    name: name,
                    headers: headers,
                    query: query,
                    auth: auth
                })
            }
        };
        var authorizeApplication = exports.authorizeApplication = function authorizeApplication(auth) {
            return function(_ref3) {
                var authActions = _ref3.authActions;
                var schema = auth.schema,
                    scopes = auth.scopes,
                    name = auth.name,
                    clientId = auth.clientId,
                    clientSecret = auth.clientSecret;
                var headers = {
                    Authorization: "Basic " + (0, _utils.btoa)(clientId + ":" + clientSecret)
                };
                var form = {
                    grant_type: "client_credentials",
                    scope: scopes.join(scopeSeparator)
                };
                return authActions.authorizeRequest({
                    body: (0, _utils.buildFormData)(form),
                    name: name,
                    url: schema.get("tokenUrl"),
                    auth: auth,
                    headers: headers
                })
            }
        };
        var authorizeAccessCodeWithFormParams = exports.authorizeAccessCodeWithFormParams = function authorizeAccessCodeWithFormParams(_ref4) {
            var auth = _ref4.auth,
                redirectUrl = _ref4.redirectUrl;
            return function(_ref5) {
                var authActions = _ref5.authActions;
                var schema = auth.schema,
                    name = auth.name,
                    clientId = auth.clientId,
                    clientSecret = auth.clientSecret;
                var form = {
                    grant_type: "authorization_code",
                    code: auth.code,
                    client_id: clientId,
                    client_secret: clientSecret,
                    redirect_uri: redirectUrl
                };
                return authActions.authorizeRequest({
                    body: (0, _utils.buildFormData)(form),
                    name: name,
                    url: schema.get("tokenUrl"),
                    auth: auth
                })
            }
        };
        var authorizeAccessCodeWithBasicAuthentication = exports.authorizeAccessCodeWithBasicAuthentication = function authorizeAccessCodeWithBasicAuthentication(_ref6) {
            var auth = _ref6.auth,
                redirectUrl = _ref6.redirectUrl;
            return function(_ref7) {
                var authActions = _ref7.authActions;
                var schema = auth.schema,
                    name = auth.name,
                    clientId = auth.clientId,
                    clientSecret = auth.clientSecret;
                var headers = {
                    Authorization: "Basic " + (0, _utils.btoa)(clientId + ":" + clientSecret)
                };
                var form = {
                    grant_type: "authorization_code",
                    code: auth.code,
                    client_id: clientId,
                    redirect_uri: redirectUrl
                };
                return authActions.authorizeRequest({
                    body: (0, _utils.buildFormData)(form),
                    name: name,
                    url: schema.get("tokenUrl"),
                    auth: auth,
                    headers: headers
                })
            }
        };
        var authorizeRequest = exports.authorizeRequest = function authorizeRequest(data) {
            return function(_ref8) {
                var fn = _ref8.fn,
                    getConfigs = _ref8.getConfigs,
                    authActions = _ref8.authActions,
                    errActions = _ref8.errActions,
                    oas3Selectors = _ref8.oas3Selectors,
                    specSelectors = _ref8.specSelectors,
                    authSelectors = _ref8.authSelectors;
                var body = data.body,
                    _data$query = data.query,
                    query = _data$query === undefined ? {} : _data$query,
                    _data$headers = data.headers,
                    headers = _data$headers === undefined ? {} : _data$headers,
                    name = data.name,
                    url = data.url,
                    auth = data.auth;
                var _ref9 = authSelectors.getConfigs() || {},
                    additionalQueryStringParams = _ref9.additionalQueryStringParams;
                var parsedUrl = void 0;
                if (specSelectors.isOAS3()) {
                    parsedUrl = (0, _urlParse2.default)(url, oas3Selectors.selectedServer(), true)
                } else {
                    parsedUrl = (0, _urlParse2.default)(url, specSelectors.url(), true)
                }
                if ((typeof additionalQueryStringParams === "undefined" ? "undefined" : (0, _typeof3.default)(additionalQueryStringParams)) === "object") {
                    parsedUrl.query = (0, _assign2.default)({}, parsedUrl.query, additionalQueryStringParams)
                }
                var fetchUrl = parsedUrl.toString();
                var _headers = (0, _assign2.default)({
                    Accept: "application/json, text/plain, */*",
                    "Content-Type": "application/x-www-form-urlencoded"
                }, headers);
                fn.fetch({
                    url: fetchUrl,
                    method: "post",
                    headers: _headers,
                    query: query,
                    body: body,
                    requestInterceptor: getConfigs().requestInterceptor,
                    responseInterceptor: getConfigs().responseInterceptor
                }).then(function(response) {
                    var token = JSON.parse(response.data);
                    var error = token && (token.error || "");
                    var parseError = token && (token.parseError || "");
                    if (!response.ok) {
                        errActions.newAuthErr({
                            authId: name,
                            level: "error",
                            source: "auth",
                            message: response.statusText
                        });
                        return
                    }
                    if (error || parseError) {
                        errActions.newAuthErr({
                            authId: name,
                            level: "error",
                            source: "auth",
                            message: (0, _stringify2.default)(token)
                        });
                        return
                    }
                    authActions.authorizeOauth2({
                        auth: auth,
                        token: token
                    })
                }).catch(function(e) {
                    var err = new Error(e);
                    var message = err.message;
                    if (e.response && e.response.data) {
                        var errData = e.response.data;
                        try {
                            var jsonResponse = typeof errData === "string" ? JSON.parse(errData) : errData;
                            if (jsonResponse.error) message += ", error: " + jsonResponse.error;
                            if (jsonResponse.error_description) message += ", description: " + jsonResponse.error_description
                        } catch (jsonError) {}
                    }
                    errActions.newAuthErr({
                        authId: name,
                        level: "error",
                        source: "auth",
                        message: message
                    })
                })
            }
        };

        function configureAuth(payload) {
            return {
                type: CONFIGURE_AUTH,
                payload: payload
            }
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.parseYamlConfig = undefined;
        var _jsYaml = __webpack_require__(225);
        var _jsYaml2 = _interopRequireDefault(_jsYaml);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var parseYamlConfig = exports.parseYamlConfig = function parseYamlConfig(yaml, system) {
            try {
                return _jsYaml2.default.safeLoad(yaml)
            } catch (e) {
                if (system) {
                    system.errActions.newThrownErr(new Error(e))
                }
                return {}
            }
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.loaded = exports.TOGGLE_CONFIGS = exports.UPDATE_CONFIGS = undefined;
        var _defineProperty2 = __webpack_require__(18);
        var _defineProperty3 = _interopRequireDefault(_defineProperty2);
        exports.update = update;
        exports.toggle = toggle;

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var UPDATE_CONFIGS = exports.UPDATE_CONFIGS = "configs_update";
        var TOGGLE_CONFIGS = exports.TOGGLE_CONFIGS = "configs_toggle";

        function update(configName, configValue) {
            return {
                type: UPDATE_CONFIGS,
                payload: (0, _defineProperty3.default)({}, configName, configValue)
            }
        }

        function toggle(configName) {
            return {
                type: TOGGLE_CONFIGS,
                payload: configName
            }
        }
        var loaded = exports.loaded = function loaded() {
            return function() {}
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.setSelectedServer = setSelectedServer;
        exports.setRequestBodyValue = setRequestBodyValue;
        exports.setRequestContentType = setRequestContentType;
        exports.setResponseContentType = setResponseContentType;
        exports.setServerVariableValue = setServerVariableValue;
        var UPDATE_SELECTED_SERVER = exports.UPDATE_SELECTED_SERVER = "oas3_set_servers";
        var UPDATE_REQUEST_BODY_VALUE = exports.UPDATE_REQUEST_BODY_VALUE = "oas3_set_request_body_value";
        var UPDATE_REQUEST_CONTENT_TYPE = exports.UPDATE_REQUEST_CONTENT_TYPE = "oas3_set_request_content_type";
        var UPDATE_RESPONSE_CONTENT_TYPE = exports.UPDATE_RESPONSE_CONTENT_TYPE = "oas3_set_response_content_type";
        var UPDATE_SERVER_VARIABLE_VALUE = exports.UPDATE_SERVER_VARIABLE_VALUE = "oas3_set_server_variable_value";

        function setSelectedServer(selectedServerUrl, namespace) {
            return {
                type: UPDATE_SELECTED_SERVER,
                payload: {
                    selectedServerUrl: selectedServerUrl,
                    namespace: namespace
                }
            }
        }

        function setRequestBodyValue(_ref) {
            var value = _ref.value,
                pathMethod = _ref.pathMethod;
            return {
                type: UPDATE_REQUEST_BODY_VALUE,
                payload: {
                    value: value,
                    pathMethod: pathMethod
                }
            }
        }

        function setRequestContentType(_ref2) {
            var value = _ref2.value,
                pathMethod = _ref2.pathMethod;
            return {
                type: UPDATE_REQUEST_CONTENT_TYPE,
                payload: {
                    value: value,
                    pathMethod: pathMethod
                }
            }
        }

        function setResponseContentType(_ref3) {
            var value = _ref3.value,
                path = _ref3.path,
                method = _ref3.method;
            return {
                type: UPDATE_RESPONSE_CONTENT_TYPE,
                payload: {
                    value: value,
                    path: path,
                    method: method
                }
            }
        }

        function setServerVariableValue(_ref4) {
            var server = _ref4.server,
                namespace = _ref4.namespace,
                key = _ref4.key,
                val = _ref4.val;
            return {
                type: UPDATE_SERVER_VARIABLE_VALUE,
                payload: {
                    server: server,
                    namespace: namespace,
                    key: key,
                    val: val
                }
            }
        }
    }, function(module, exports, __webpack_require__) {
        var cof = __webpack_require__(57);
        module.exports = Object("z").propertyIsEnumerable(0) ? Object : function(it) {
            return cof(it) == "String" ? it.split("") : Object(it)
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var LIBRARY = __webpack_require__(78);
        var $export = __webpack_require__(25);
        var redefine = __webpack_require__(155);
        var hide = __webpack_require__(38);
        var Iterators = __webpack_require__(45);
        var $iterCreate = __webpack_require__(294);
        var setToStringTag = __webpack_require__(81);
        var getPrototypeOf = __webpack_require__(158);
        var ITERATOR = __webpack_require__(14)("iterator");
        var BUGGY = !([].keys && "next" in [].keys());
        var FF_ITERATOR = "@@iterator";
        var KEYS = "keys";
        var VALUES = "values";
        var returnThis = function() {
            return this
        };
        module.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {
            $iterCreate(Constructor, NAME, next);
            var getMethod = function(kind) {
                if (!BUGGY && kind in proto) return proto[kind];
                switch (kind) {
                    case KEYS:
                        return function keys() {
                            return new Constructor(this, kind)
                        };
                    case VALUES:
                        return function values() {
                            return new Constructor(this, kind)
                        }
                }
                return function entries() {
                    return new Constructor(this, kind)
                }
            };
            var TAG = NAME + " Iterator";
            var DEF_VALUES = DEFAULT == VALUES;
            var VALUES_BUG = false;
            var proto = Base.prototype;
            var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];
            var $default = $native || getMethod(DEFAULT);
            var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod("entries") : undefined;
            var $anyNative = NAME == "Array" ? proto.entries || $native : $native;
            var methods, key, IteratorPrototype;
            if ($anyNative) {
                IteratorPrototype = getPrototypeOf($anyNative.call(new Base));
                if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {
                    setToStringTag(IteratorPrototype, TAG, true);
                    if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != "function") hide(IteratorPrototype, ITERATOR, returnThis)
                }
            }
            if (DEF_VALUES && $native && $native.name !== VALUES) {
                VALUES_BUG = true;
                $default = function values() {
                    return $native.call(this)
                }
            }
            if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {
                hide(proto, ITERATOR, $default)
            }
            Iterators[NAME] = $default;
            Iterators[TAG] = returnThis;
            if (DEFAULT) {
                methods = {
                    values: DEF_VALUES ? $default : getMethod(VALUES),
                    keys: IS_SET ? $default : getMethod(KEYS),
                    entries: $entries
                };
                if (FORCED)
                    for (key in methods) {
                        if (!(key in proto)) redefine(proto, key, methods[key])
                    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods)
            }
            return methods
        }
    }, function(module, exports, __webpack_require__) {
        module.exports = !__webpack_require__(34) && !__webpack_require__(48)(function() {
            return Object.defineProperty(__webpack_require__(101)("div"), "a", {
                get: function() {
                    return 7
                }
            }).a != 7
        })
    }, function(module, exports, __webpack_require__) {
        module.exports = __webpack_require__(38)
    }, function(module, exports, __webpack_require__) {
        var has = __webpack_require__(39);
        var toIObject = __webpack_require__(46);
        var arrayIndexOf = __webpack_require__(296)(false);
        var IE_PROTO = __webpack_require__(106)("IE_PROTO");
        module.exports = function(object, names) {
            var O = toIObject(object);
            var i = 0;
            var result = [];
            var key;
            for (key in O)
                if (key != IE_PROTO) has(O, key) && result.push(key);
            while (names.length > i)
                if (has(O, key = names[i++])) {
                    ~arrayIndexOf(result, key) || result.push(key)
                }
            return result
        }
    }, function(module, exports, __webpack_require__) {
        var document = __webpack_require__(15).document;
        module.exports = document && document.documentElement
    }, function(module, exports, __webpack_require__) {
        var has = __webpack_require__(39);
        var toObject = __webpack_require__(60);
        var IE_PROTO = __webpack_require__(106)("IE_PROTO");
        var ObjectProto = Object.prototype;
        module.exports = Object.getPrototypeOf || function(O) {
            O = toObject(O);
            if (has(O, IE_PROTO)) return O[IE_PROTO];
            if (typeof O.constructor == "function" && O instanceof O.constructor) {
                return O.constructor.prototype
            }
            return O instanceof Object ? ObjectProto : null
        }
    }, function(module, exports, __webpack_require__) {
        var global = __webpack_require__(23);
        var SHARED = "__core-js_shared__";
        var store = global[SHARED] || (global[SHARED] = {});
        module.exports = function(key) {
            return store[key] || (store[key] = {})
        }
    }, function(module, exports) {
        module.exports = function(bitmap, value) {
            return {
                enumerable: !(bitmap & 1),
                configurable: !(bitmap & 2),
                writable: !(bitmap & 4),
                value: value
            }
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var $at = __webpack_require__(162)(true);
        __webpack_require__(163)(String, "String", function(iterated) {
            this._t = String(iterated);
            this._i = 0
        }, function() {
            var O = this._t;
            var index = this._i;
            var point;
            if (index >= O.length) return {
                value: undefined,
                done: true
            };
            point = $at(O, index);
            this._i += point.length;
            return {
                value: point,
                done: false
            }
        })
    }, function(module, exports, __webpack_require__) {
        var toInteger = __webpack_require__(84);
        var defined = __webpack_require__(35);
        module.exports = function(TO_STRING) {
            return function(that, pos) {
                var s = String(defined(that));
                var i = toInteger(pos);
                var l = s.length;
                var a, b;
                if (i < 0 || i >= l) return TO_STRING ? "" : undefined;
                a = s.charCodeAt(i);
                return a < 55296 || a > 56319 || i + 1 === l || (b = s.charCodeAt(i + 1)) < 56320 || b > 57343 ? TO_STRING ? s.charAt(i) : a : TO_STRING ? s.slice(i, i + 2) : (a - 55296 << 10) + (b - 56320) + 65536
            }
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var LIBRARY = __webpack_require__(164);
        var $export = __webpack_require__(16);
        var redefine = __webpack_require__(49);
        var hide = __webpack_require__(40);
        var Iterators = __webpack_require__(65);
        var $iterCreate = __webpack_require__(304);
        var setToStringTag = __webpack_require__(115);
        var getPrototypeOf = __webpack_require__(310);
        var ITERATOR = __webpack_require__(12)("iterator");
        var BUGGY = !([].keys && "next" in [].keys());
        var FF_ITERATOR = "@@iterator";
        var KEYS = "keys";
        var VALUES = "values";
        var returnThis = function() {
            return this
        };
        module.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {
            $iterCreate(Constructor, NAME, next);
            var getMethod = function(kind) {
                if (!BUGGY && kind in proto) return proto[kind];
                switch (kind) {
                    case KEYS:
                        return function keys() {
                            return new Constructor(this, kind)
                        };
                    case VALUES:
                        return function values() {
                            return new Constructor(this, kind)
                        }
                }
                return function entries() {
                    return new Constructor(this, kind)
                }
            };
            var TAG = NAME + " Iterator";
            var DEF_VALUES = DEFAULT == VALUES;
            var VALUES_BUG = false;
            var proto = Base.prototype;
            var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];
            var $default = $native || getMethod(DEFAULT);
            var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod("entries") : undefined;
            var $anyNative = NAME == "Array" ? proto.entries || $native : $native;
            var methods, key, IteratorPrototype;
            if ($anyNative) {
                IteratorPrototype = getPrototypeOf($anyNative.call(new Base));
                if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {
                    setToStringTag(IteratorPrototype, TAG, true);
                    if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != "function") hide(IteratorPrototype, ITERATOR, returnThis)
                }
            }
            if (DEF_VALUES && $native && $native.name !== VALUES) {
                VALUES_BUG = true;
                $default = function values() {
                    return $native.call(this)
                }
            }
            if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {
                hide(proto, ITERATOR, $default)
            }
            Iterators[NAME] = $default;
            Iterators[TAG] = returnThis;
            if (DEFAULT) {
                methods = {
                    values: DEF_VALUES ? $default : getMethod(VALUES),
                    keys: IS_SET ? $default : getMethod(KEYS),
                    entries: $entries
                };
                if (FORCED)
                    for (key in methods) {
                        if (!(key in proto)) redefine(proto, key, methods[key])
                    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods)
            }
            return methods
        }
    }, function(module, exports) {
        module.exports = false
    }, function(module, exports, __webpack_require__) {
        var $keys = __webpack_require__(307);
        var enumBugKeys = __webpack_require__(167);
        module.exports = Object.keys || function keys(O) {
            return $keys(O, enumBugKeys)
        }
    }, function(module, exports, __webpack_require__) {
        var toInteger = __webpack_require__(84);
        var max = Math.max;
        var min = Math.min;
        module.exports = function(index, length) {
            index = toInteger(index);
            return index < 0 ? max(index + length, 0) : min(index, length)
        }
    }, function(module, exports) {
        module.exports = "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")
    }, function(module, exports, __webpack_require__) {
        var document = __webpack_require__(23).document;
        module.exports = document && document.documentElement
    }, function(module, exports, __webpack_require__) {
        var anObject = __webpack_require__(41);
        var aFunction = __webpack_require__(86);
        var SPECIES = __webpack_require__(12)("species");
        module.exports = function(O, D) {
            var C = anObject(O).constructor;
            var S;
            return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S)
        }
    }, function(module, exports, __webpack_require__) {
        var ctx = __webpack_require__(85);
        var invoke = __webpack_require__(322);
        var html = __webpack_require__(168);
        var cel = __webpack_require__(113);
        var global = __webpack_require__(23);
        var process = global.process;
        var setTask = global.setImmediate;
        var clearTask = global.clearImmediate;
        var MessageChannel = global.MessageChannel;
        var Dispatch = global.Dispatch;
        var counter = 0;
        var queue = {};
        var ONREADYSTATECHANGE = "onreadystatechange";
        var defer, channel, port;
        var run = function() {
            var id = +this;
            if (queue.hasOwnProperty(id)) {
                var fn = queue[id];
                delete queue[id];
                fn()
            }
        };
        var listener = function(event) {
            run.call(event.data)
        };
        if (!setTask || !clearTask) {
            setTask = function setImmediate(fn) {
                var args = [];
                var i = 1;
                while (arguments.length > i) args.push(arguments[i++]);
                queue[++counter] = function() {
                    invoke(typeof fn == "function" ? fn : Function(fn), args)
                };
                defer(counter);
                return counter
            };
            clearTask = function clearImmediate(id) {
                delete queue[id]
            };
            if (__webpack_require__(62)(process) == "process") {
                defer = function(id) {
                    process.nextTick(ctx(run, id, 1))
                }
            } else if (Dispatch && Dispatch.now) {
                defer = function(id) {
                    Dispatch.now(ctx(run, id, 1))
                }
            } else if (MessageChannel) {
                channel = new MessageChannel;
                port = channel.port2;
                channel.port1.onmessage = listener;
                defer = ctx(port.postMessage, port, 1)
            } else if (global.addEventListener && typeof postMessage == "function" && !global.importScripts) {
                defer = function(id) {
                    global.postMessage(id + "", "*")
                };
                global.addEventListener("message", listener, false)
            } else if (ONREADYSTATECHANGE in cel("script")) {
                defer = function(id) {
                    html.appendChild(cel("script"))[ONREADYSTATECHANGE] = function() {
                        html.removeChild(this);
                        run.call(id)
                    }
                }
            } else {
                defer = function(id) {
                    setTimeout(ctx(run, id, 1), 0)
                }
            }
        }
        module.exports = {
            set: setTask,
            clear: clearTask
        }
    }, function(module, exports) {
        module.exports = function(exec) {
            try {
                return {
                    e: false,
                    v: exec()
                }
            } catch (e) {
                return {
                    e: true,
                    v: e
                }
            }
        }
    }, function(module, exports, __webpack_require__) {
        var anObject = __webpack_require__(41);
        var isObject = __webpack_require__(50);
        var newPromiseCapability = __webpack_require__(116);
        module.exports = function(C, x) {
            anObject(C);
            if (isObject(x) && x.constructor === C) return x;
            var promiseCapability = newPromiseCapability.f(C);
            var resolve = promiseCapability.resolve;
            resolve(x);
            return promiseCapability.promise
        }
    }, function(module, exports, __webpack_require__) {
        var isObject = __webpack_require__(50);
        var cof = __webpack_require__(62);
        var MATCH = __webpack_require__(12)("match");
        module.exports = function(it) {
            var isRegExp;
            return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == "RegExp")
        }
    }, function(module, exports, __webpack_require__) {
        var $export = __webpack_require__(25);
        var core = __webpack_require__(10);
        var fails = __webpack_require__(48);
        module.exports = function(KEY, exec) {
            var fn = (core.Object || {})[KEY] || Object[KEY];
            var exp = {};
            exp[KEY] = exec(fn);
            $export($export.S + $export.F * fails(function() {
                fn(1)
            }), "Object", exp)
        }
    }, function(module, exports, __webpack_require__) {
        var $keys = __webpack_require__(156);
        var hiddenKeys = __webpack_require__(108).concat("length", "prototype");
        exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
            return $keys(O, hiddenKeys)
        }
    }, function(module, exports, __webpack_require__) {
        var pIE = __webpack_require__(89);
        var createDesc = __webpack_require__(58);
        var toIObject = __webpack_require__(46);
        var toPrimitive = __webpack_require__(102);
        var has = __webpack_require__(39);
        var IE8_DOM_DEFINE = __webpack_require__(154);
        var gOPD = Object.getOwnPropertyDescriptor;
        exports.f = __webpack_require__(34) ? gOPD : function getOwnPropertyDescriptor(O, P) {
            O = toIObject(O);
            P = toPrimitive(P, true);
            if (IE8_DOM_DEFINE) try {
                return gOPD(O, P)
            } catch (e) {}
            if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P])
        }
    }, function(module, exports) {}, function(module, exports) {
        module.exports = require("deep-extend")
    }, function(module, exports, __webpack_require__) {
        module.exports = {
            default: __webpack_require__(374),
            __esModule: true
        }
    }, function(module, exports) {
        var g;
        g = function() {
            return this
        }();
        try {
            g = g || Function("return this")() || (1, eval)("this")
        } catch (e) {
            if (typeof window === "object") g = window
        }
        module.exports = g
    }, function(module, exports, __webpack_require__) {
        (function(global) {
            var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
            module.exports = freeGlobal
        }).call(exports, __webpack_require__(180))
    }, function(module, exports) {
        function arrayMap(array, iteratee) {
            var index = -1,
                length = array == null ? 0 : array.length,
                result = Array(length);
            while (++index < length) {
                result[index] = iteratee(array[index], index, array)
            }
            return result
        }
        module.exports = arrayMap
    }, function(module, exports, __webpack_require__) {
        var createCaseFirst = __webpack_require__(394);
        var upperFirst = createCaseFirst("toUpperCase");
        module.exports = upperFirst
    }, function(module, exports) {
        function baseSlice(array, start, end) {
            var index = -1,
                length = array.length;
            if (start < 0) {
                start = -start > length ? 0 : length + start
            }
            end = end > length ? length : end;
            if (end < 0) {
                end += length
            }
            length = start > end ? 0 : end - start >>> 0;
            start >>>= 0;
            var result = Array(length);
            while (++index < length) {
                result[index] = array[index + start]
            }
            return result
        }
        module.exports = baseSlice
    }, function(module, exports) {
        var rsAstralRange = "\\ud800-\\udfff",
            rsComboMarksRange = "\\u0300-\\u036f",
            reComboHalfMarksRange = "\\ufe20-\\ufe2f",
            rsComboSymbolsRange = "\\u20d0-\\u20ff",
            rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,
            rsVarRange = "\\ufe0e\\ufe0f";
        var rsZWJ = "\\u200d";
        var reHasUnicode = RegExp("[" + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + "]");

        function hasUnicode(string) {
            return reHasUnicode.test(string)
        }
        module.exports = hasUnicode
    }, function(module, exports) {
        function arrayReduce(array, iteratee, accumulator, initAccum) {
            var index = -1,
                length = array == null ? 0 : array.length;
            if (initAccum && length) {
                accumulator = array[++index]
            }
            while (++index < length) {
                accumulator = iteratee(accumulator, array[index], index, array)
            }
            return accumulator
        }
        module.exports = arrayReduce
    }, function(module, exports, __webpack_require__) {
        var MapCache = __webpack_require__(123);
        var FUNC_ERROR_TEXT = "Expected a function";

        function memoize(func, resolver) {
            if (typeof func != "function" || resolver != null && typeof resolver != "function") {
                throw new TypeError(FUNC_ERROR_TEXT)
            }
            var memoized = function() {
                var args = arguments,
                    key = resolver ? resolver.apply(this, args) : args[0],
                    cache = memoized.cache;
                if (cache.has(key)) {
                    return cache.get(key)
                }
                var result = func.apply(this, args);
                memoized.cache = cache.set(key, result) || cache;
                return result
            };
            memoized.cache = new(memoize.Cache || MapCache);
            return memoized
        }
        memoize.Cache = MapCache;
        module.exports = memoize
    }, function(module, exports, __webpack_require__) {
        var baseGetTag = __webpack_require__(43),
            isObject = __webpack_require__(28);
        var asyncTag = "[object AsyncFunction]",
            funcTag = "[object Function]",
            genTag = "[object GeneratorFunction]",
            proxyTag = "[object Proxy]";

        function isFunction(value) {
            if (!isObject(value)) {
                return false
            }
            var tag = baseGetTag(value);
            return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag
        }
        module.exports = isFunction
    }, function(module, exports) {
        var funcProto = Function.prototype;
        var funcToString = funcProto.toString;

        function toSource(func) {
            if (func != null) {
                try {
                    return funcToString.call(func)
                } catch (e) {}
                try {
                    return func + ""
                } catch (e) {}
            }
            return ""
        }
        module.exports = toSource
    }, function(module, exports, __webpack_require__) {
        var baseIsEqualDeep = __webpack_require__(437),
            isObjectLike = __webpack_require__(32);

        function baseIsEqual(value, other, bitmask, customizer, stack) {
            if (value === other) {
                return true
            }
            if (value == null || other == null || !isObjectLike(value) && !isObjectLike(other)) {
                return value !== value && other !== other
            }
            return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack)
        }
        module.exports = baseIsEqual
    }, function(module, exports, __webpack_require__) {
        var SetCache = __webpack_require__(438),
            arraySome = __webpack_require__(192),
            cacheHas = __webpack_require__(441);
        var COMPARE_PARTIAL_FLAG = 1,
            COMPARE_UNORDERED_FLAG = 2;

        function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
            var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
                arrLength = array.length,
                othLength = other.length;
            if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
                return false
            }
            var stacked = stack.get(array);
            if (stacked && stack.get(other)) {
                return stacked == other
            }
            var index = -1,
                result = true,
                seen = bitmask & COMPARE_UNORDERED_FLAG ? new SetCache : undefined;
            stack.set(array, other);
            stack.set(other, array);
            while (++index < arrLength) {
                var arrValue = array[index],
                    othValue = other[index];
                if (customizer) {
                    var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack)
                }
                if (compared !== undefined) {
                    if (compared) {
                        continue
                    }
                    result = false;
                    break
                }
                if (seen) {
                    if (!arraySome(other, function(othValue, othIndex) {
                        if (!cacheHas(seen, othIndex) && (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
                            return seen.push(othIndex)
                        }
                    })) {
                        result = false;
                        break
                    }
                } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
                    result = false;
                    break
                }
            }
            stack["delete"](array);
            stack["delete"](other);
            return result
        }
        module.exports = equalArrays
    }, function(module, exports) {
        function arraySome(array, predicate) {
            var index = -1,
                length = array == null ? 0 : array.length;
            while (++index < length) {
                if (predicate(array[index], index, array)) {
                    return true
                }
            }
            return false
        }
        module.exports = arraySome
    }, function(module, exports, __webpack_require__) {
        var root = __webpack_require__(26);
        var Uint8Array = root.Uint8Array;
        module.exports = Uint8Array
    }, function(module, exports, __webpack_require__) {
        var baseGetAllKeys = __webpack_require__(195),
            getSymbols = __webpack_require__(127),
            keys = __webpack_require__(53);

        function getAllKeys(object) {
            return baseGetAllKeys(object, keys, getSymbols)
        }
        module.exports = getAllKeys
    }, function(module, exports, __webpack_require__) {
        var arrayPush = __webpack_require__(126),
            isArray = __webpack_require__(20);

        function baseGetAllKeys(object, keysFunc, symbolsFunc) {
            var result = keysFunc(object);
            return isArray(object) ? result : arrayPush(result, symbolsFunc(object))
        }
        module.exports = baseGetAllKeys
    }, function(module, exports) {
        function stubArray() {
            return []
        }
        module.exports = stubArray
    }, function(module, exports, __webpack_require__) {
        var baseTimes = __webpack_require__(447),
            isArguments = __webpack_require__(128),
            isArray = __webpack_require__(20),
            isBuffer = __webpack_require__(129),
            isIndex = __webpack_require__(97),
            isTypedArray = __webpack_require__(198);
        var objectProto = Object.prototype;
        var hasOwnProperty = objectProto.hasOwnProperty;

        function arrayLikeKeys(value, inherited) {
            var isArr = isArray(value),
                isArg = !isArr && isArguments(value),
                isBuff = !isArr && !isArg && isBuffer(value),
                isType = !isArr && !isArg && !isBuff && isTypedArray(value),
                skipIndexes = isArr || isArg || isBuff || isType,
                result = skipIndexes ? baseTimes(value.length, String) : [],
                length = result.length;
            for (var key in value) {
                if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && (key == "length" || isBuff && (key == "offset" || key == "parent") || isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || isIndex(key, length)))) {
                    result.push(key)
                }
            }
            return result
        }
        module.exports = arrayLikeKeys
    }, function(module, exports, __webpack_require__) {
        var baseIsTypedArray = __webpack_require__(450),
            baseUnary = __webpack_require__(132),
            nodeUtil = __webpack_require__(133);
        var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
        var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
        module.exports = isTypedArray
    }, function(module, exports) {
        function overArg(func, transform) {
            return function(arg) {
                return func(transform(arg))
            }
        }
        module.exports = overArg
    }, function(module, exports, __webpack_require__) {
        var isObject = __webpack_require__(28);

        function isStrictComparable(value) {
            return value === value && !isObject(value)
        }
        module.exports = isStrictComparable
    }, function(module, exports) {
        function matchesStrictComparable(key, srcValue) {
            return function(object) {
                if (object == null) {
                    return false
                }
                return object[key] === srcValue && (srcValue !== undefined || key in Object(object))
            }
        }
        module.exports = matchesStrictComparable
    }, function(module, exports) {
        function identity(value) {
            return value
        }
        module.exports = identity
    }, function(module, exports, __webpack_require__) {
        var isObject = __webpack_require__(28),
            isSymbol = __webpack_require__(91);
        var NAN = 0 / 0;
        var reTrim = /^\s+|\s+$/g;
        var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
        var reIsBinary = /^0b[01]+$/i;
        var reIsOctal = /^0o[0-7]+$/i;
        var freeParseInt = parseInt;

        function toNumber(value) {
            if (typeof value == "number") {
                return value
            }
            if (isSymbol(value)) {
                return NAN
            }
            if (isObject(value)) {
                var other = typeof value.valueOf == "function" ? value.valueOf() : value;
                value = isObject(other) ? other + "" : other
            }
            if (typeof value != "string") {
                return value === 0 ? value : +value
            }
            value = value.replace(reTrim, "");
            var isBinary = reIsBinary.test(value);
            return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value
        }
        module.exports = toNumber
    }, function(module, exports, __webpack_require__) {
        var baseForOwn = __webpack_require__(473),
            createBaseEach = __webpack_require__(476);
        var baseEach = createBaseEach(baseForOwn);
        module.exports = baseEach
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.default = function(system) {
            return {
                statePlugins: {
                    err: {
                        reducers: (0, _reducers2.default)(system),
                        actions: actions,
                        selectors: selectors
                    }
                }
            }
        };
        var _reducers = __webpack_require__(206);
        var _reducers2 = _interopRequireDefault(_reducers);
        var _actions = __webpack_require__(90);
        var actions = _interopRequireWildcard(_actions);
        var _selectors = __webpack_require__(211);
        var selectors = _interopRequireWildcard(_selectors);

        function _interopRequireWildcard(obj) {
            if (obj && obj.__esModule) {
                return obj
            } else {
                var newObj = {};
                if (obj != null) {
                    for (var key in obj) {
                        if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]
                    }
                }
                newObj.default = obj;
                return newObj
            }
        }

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _defineProperty2 = __webpack_require__(18);
        var _defineProperty3 = _interopRequireDefault(_defineProperty2);
        var _assign = __webpack_require__(19);
        var _assign2 = _interopRequireDefault(_assign);
        exports.default = function(system) {
            var _ref8;
            return _ref8 = {}, (0, _defineProperty3.default)(_ref8, _actions.NEW_THROWN_ERR, function(state, _ref) {
                var payload = _ref.payload;
                var error = (0, _assign2.default)(DEFAULT_ERROR_STRUCTURE, payload, {
                    type: "thrown"
                });
                return state.update("errors", function(errors) {
                    return (errors || (0, _immutable.List)()).push((0, _immutable.fromJS)(error))
                }).update("errors", function(errors) {
                    return (0, _hook2.default)(errors, system.getSystem())
                })
            }), (0, _defineProperty3.default)(_ref8, _actions.NEW_THROWN_ERR_BATCH, function(state, _ref2) {
                var payload = _ref2.payload;
                payload = payload.map(function(err) {
                    return (0, _immutable.fromJS)((0, _assign2.default)(DEFAULT_ERROR_STRUCTURE, err, {
                        type: "thrown"
                    }))
                });
                return state.update("errors", function(errors) {
                    return (errors || (0, _immutable.List)()).concat((0, _immutable.fromJS)(payload))
                }).update("errors", function(errors) {
                    return (0, _hook2.default)(errors, system.getSystem())
                })
            }), (0, _defineProperty3.default)(_ref8, _actions.NEW_SPEC_ERR, function(state, _ref3) {
                var payload = _ref3.payload;
                var error = (0, _immutable.fromJS)(payload);
                error = error.set("type", "spec");
                return state.update("errors", function(errors) {
                    return (errors || (0, _immutable.List)()).push((0, _immutable.fromJS)(error)).sortBy(function(err) {
                        return err.get("line")
                    })
                }).update("errors", function(errors) {
                    return (0, _hook2.default)(errors, system.getSystem())
                })
            }), (0, _defineProperty3.default)(_ref8, _actions.NEW_SPEC_ERR_BATCH, function(state, _ref4) {
                var payload = _ref4.payload;
                payload = payload.map(function(err) {
                    return (0, _immutable.fromJS)((0, _assign2.default)(DEFAULT_ERROR_STRUCTURE, err, {
                        type: "spec"
                    }))
                });
                return state.update("errors", function(errors) {
                    return (errors || (0, _immutable.List)()).concat((0, _immutable.fromJS)(payload))
                }).update("errors", function(errors) {
                    return (0, _hook2.default)(errors, system.getSystem())
                })
            }), (0, _defineProperty3.default)(_ref8, _actions.NEW_AUTH_ERR, function(state, _ref5) {
                var payload = _ref5.payload;
                var error = (0, _immutable.fromJS)((0, _assign2.default)({}, payload));
                error = error.set("type", "auth");
                return state.update("errors", function(errors) {
                    return (errors || (0, _immutable.List)()).push((0, _immutable.fromJS)(error))
                }).update("errors", function(errors) {
                    return (0, _hook2.default)(errors, system.getSystem())
                })
            }), (0, _defineProperty3.default)(_ref8, _actions.CLEAR, function(state, _ref6) {
                var payload = _ref6.payload;
                if (!payload || !state.get("errors")) {
                    return state
                }
                var newErrors = state.get("errors").filter(function(err) {
                    return err.keySeq().every(function(k) {
                        var errValue = err.get(k);
                        var filterValue = payload[k];
                        if (!filterValue) return true;
                        return errValue !== filterValue
                    })
                });
                return state.merge({
                    errors: newErrors
                })
            }), (0, _defineProperty3.default)(_ref8, _actions.CLEAR_BY, function(state, _ref7) {
                var payload = _ref7.payload;
                if (!payload || typeof payload !== "function") {
                    return state
                }
                var newErrors = state.get("errors").filter(function(err) {
                    return payload(err)
                });
                return state.merge({
                    errors: newErrors
                })
            }), _ref8
        };
        var _actions = __webpack_require__(90);
        var _immutable = __webpack_require__(7);
        var _hook = __webpack_require__(207);
        var _hook2 = _interopRequireDefault(_hook);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var DEFAULT_ERROR_STRUCTURE = {
            line: 0,
            level: "error",
            message: "Unknown error"
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.default = transformErrors;
        var _reduce = __webpack_require__(483);
        var _reduce2 = _interopRequireDefault(_reduce);
        var _notOfType = __webpack_require__(208);
        var NotOfType = _interopRequireWildcard(_notOfType);
        var _parameterOneof = __webpack_require__(209);
        var ParameterOneOf = _interopRequireWildcard(_parameterOneof);
        var _stripInstance = __webpack_require__(210);
        var StripInstance = _interopRequireWildcard(_stripInstance);

        function _interopRequireWildcard(obj) {
            if (obj && obj.__esModule) {
                return obj
            } else {
                var newObj = {};
                if (obj != null) {
                    for (var key in obj) {
                        if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]
                    }
                }
                newObj.default = obj;
                return newObj
            }
        }

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var errorTransformers = [NotOfType, ParameterOneOf, StripInstance];

        function transformErrors(errors, system) {
            var inputs = {
                jsSpec: system.specSelectors.specJson().toJS()
            };
            var transformedErrors = (0, _reduce2.default)(errorTransformers, function(result, transformer) {
                try {
                    var newlyTransformedErrors = transformer.transform(result, inputs);
                    return newlyTransformedErrors.filter(function(err) {
                        return !!err
                    })
                } catch (e) {
                    console.error("Transformer error:", e);
                    return result
                }
            }, errors);
            return transformedErrors.filter(function(err) {
                return !!err
            }).map(function(err) {
                if (!err.get("line") && err.get("path")) {}
                return err
            })
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.transform = transform;

        function transform(errors) {
            return errors.map(function(err) {
                var seekStr = "is not of a type(s)";
                var i = err.get("message").indexOf(seekStr);
                if (i > -1) {
                    var types = err.get("message").slice(i + seekStr.length).split(",");
                    return err.set("message", err.get("message").slice(0, i) + makeNewMessage(types))
                } else {
                    return err
                }
            })
        }

        function makeNewMessage(types) {
            return types.reduce(function(p, c, i, arr) {
                if (i === arr.length - 1 && arr.length > 1) {
                    return p + "or " + c
                } else if (arr[i + 1] && arr.length > 2) {
                    return p + c + ", "
                } else if (arr[i + 1]) {
                    return p + c + " "
                } else {
                    return p + c
                }
            }, "should be a")
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.transform = transform;
        var _get = __webpack_require__(135);
        var _get2 = _interopRequireDefault(_get);
        var _immutable = __webpack_require__(7);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }

        function transform(errors, _ref) {
            var jsSpec = _ref.jsSpec;
            return errors;
            var searchStr = "is not exactly one from <#/definitions/parameter>,<#/definitions/jsonReference>";
            return errors.map(function(err) {
                var message = err.get("message");
                var isParameterOneOfError = message.indexOf(searchStr) > -1;
                if (isParameterOneOfError) {
                    return createTailoredParameterError(err, jsSpec)
                } else {
                    return err
                }
            }).flatten(true)
        }
        var VALID_IN_VALUES = ["path", "query", "header", "body", "formData"];
        var VALID_COLLECTIONFORMAT_VALUES = ["csv", "ssv", "tsv", "pipes", "multi"];

        function createTailoredParameterError(err, jsSpec) {
            var newErrs = [];
            var parameter = (0, _get2.default)(jsSpec, err.get("path"));
            if (parameter.in && VALID_IN_VALUES.indexOf(parameter.in) === -1) {
                var message = 'Wrong value for the "in" keyword. Expected one of: ' + VALID_IN_VALUES.join(", ") + ".";
                newErrs.push({
                    message: message,
                    path: err.get("path") + ".in",
                    type: "spec",
                    source: "schema",
                    level: "error"
                })
            }
            if (parameter.collectionFormat && VALID_COLLECTIONFORMAT_VALUES.indexOf(parameter.collectionFormat) === -1) {
                var _message = 'Wrong value for the "collectionFormat" keyword. Expected one of: ' + VALID_COLLECTIONFORMAT_VALUES.join(", ") + ".";
                newErrs.push({
                    message: _message,
                    path: err.get("path") + ".collectionFormat",
                    type: "spec",
                    source: "schema",
                    level: "error"
                })
            }
            return newErrs.length ? (0, _immutable.fromJS)(newErrs) : err
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.transform = transform;

        function transform(errors) {
            return errors.map(function(err) {
                return err.set("message", removeSubstring(err.get("message"), "instance."))
            })
        }

        function removeSubstring(str, substr) {
            return str.replace(new RegExp(substr, "g"), "")
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.lastError = exports.allErrors = undefined;
        var _immutable = __webpack_require__(7);
        var _reselect = __webpack_require__(37);
        var state = function state(_state) {
            return _state
        };
        var allErrors = exports.allErrors = (0, _reselect.createSelector)(state, function(err) {
            return err.get("errors", (0, _immutable.List)())
        });
        var lastError = exports.lastError = (0, _reselect.createSelector)(allErrors, function(all) {
            return all.last()
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.default = function() {
            return {
                statePlugins: {
                    layout: {
                        reducers: _reducers2.default,
                        actions: actions,
                        selectors: selectors
                    }
                }
            }
        };
        var _reducers = __webpack_require__(213);
        var _reducers2 = _interopRequireDefault(_reducers);
        var _actions = __webpack_require__(139);
        var actions = _interopRequireWildcard(_actions);
        var _selectors = __webpack_require__(214);
        var selectors = _interopRequireWildcard(_selectors);

        function _interopRequireWildcard(obj) {
            if (obj && obj.__esModule) {
                return obj
            } else {
                var newObj = {};
                if (obj != null) {
                    for (var key in obj) {
                        if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]
                    }
                }
                newObj.default = obj;
                return newObj
            }
        }

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _defineProperty2 = __webpack_require__(18);
        var _defineProperty3 = _interopRequireDefault(_defineProperty2);
        var _UPDATE_LAYOUT$UPDATE;
        var _immutable = __webpack_require__(7);
        var _actions = __webpack_require__(139);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        exports.default = (_UPDATE_LAYOUT$UPDATE = {}, (0, _defineProperty3.default)(_UPDATE_LAYOUT$UPDATE, _actions.UPDATE_LAYOUT, function(state, action) {
            return state.set("layout", action.payload)
        }), (0, _defineProperty3.default)(_UPDATE_LAYOUT$UPDATE, _actions.UPDATE_FILTER, function(state, action) {
            return state.set("filter", action.payload)
        }), (0, _defineProperty3.default)(_UPDATE_LAYOUT$UPDATE, _actions.SHOW, function(state, action) {
            var isShown = action.payload.shown;
            var thingToShow = (0, _immutable.fromJS)(action.payload.thing);
            return state.update("shown", (0, _immutable.fromJS)({}), function(a) {
                return a.set(thingToShow, isShown)
            })
        }), (0, _defineProperty3.default)(_UPDATE_LAYOUT$UPDATE, _actions.UPDATE_MODE, function(state, action) {
            var thing = action.payload.thing;
            var mode = action.payload.mode;
            return state.setIn(["modes"].concat(thing), (mode || "") + "")
        }), _UPDATE_LAYOUT$UPDATE)
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.showSummary = exports.whatMode = exports.isShown = exports.currentFilter = exports.current = undefined;
        var _toConsumableArray2 = __webpack_require__(70);
        var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
        var _reselect = __webpack_require__(37);
        var _utils = __webpack_require__(8);
        var _immutable = __webpack_require__(7);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var state = function state(_state) {
            return _state
        };
        var current = exports.current = function current(state) {
            return state.get("layout")
        };
        var currentFilter = exports.currentFilter = function currentFilter(state) {
            return state.get("filter")
        };
        var isShown = exports.isShown = function isShown(state, thing, def) {
            thing = (0, _utils.normalizeArray)(thing);
            return state.get("shown", (0, _immutable.fromJS)({})).get((0, _immutable.fromJS)(thing), def)
        };
        var whatMode = exports.whatMode = function whatMode(state, thing) {
            var def = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "";
            thing = (0, _utils.normalizeArray)(thing);
            return state.getIn(["modes"].concat((0, _toConsumableArray3.default)(thing)), def)
        };
        var showSummary = exports.showSummary = (0, _reselect.createSelector)(state, function(state) {
            return !isShown(state, "editor")
        })
    }, function(module, exports, __webpack_require__) {
        var anObject = __webpack_require__(27);
        module.exports = function(iterator, fn, value, entries) {
            try {
                return entries ? fn(anObject(value)[0], value[1]) : fn(value)
            } catch (e) {
                var ret = iterator["return"];
                if (ret !== undefined) anObject(ret.call(iterator));
                throw e
            }
        }
    }, function(module, exports, __webpack_require__) {
        var Iterators = __webpack_require__(45);
        var ITERATOR = __webpack_require__(14)("iterator");
        var ArrayProto = Array.prototype;
        module.exports = function(it) {
            return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it)
        }
    }, function(module, exports, __webpack_require__) {
        var ITERATOR = __webpack_require__(14)("iterator");
        var SAFE_CLOSING = false;
        try {
            var riter = [7][ITERATOR]();
            riter["return"] = function() {
                SAFE_CLOSING = true
            };
            Array.from(riter, function() {
                throw 2
            })
        } catch (e) {}
        module.exports = function(exec, skipClosing) {
            if (!skipClosing && !SAFE_CLOSING) return false;
            var safe = false;
            try {
                var arr = [7];
                var iter = arr[ITERATOR]();
                iter.next = function() {
                    return {
                        done: safe = true
                    }
                };
                arr[ITERATOR] = function() {
                    return iter
                };
                exec(arr)
            } catch (e) {}
            return safe
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.default = function() {
            return {
                statePlugins: {
                    spec: {
                        wrapActions: wrapActions,
                        reducers: _reducers2.default,
                        actions: actions,
                        selectors: selectors
                    }
                }
            }
        };
        var _reducers = __webpack_require__(219);
        var _reducers2 = _interopRequireDefault(_reducers);
        var _actions = __webpack_require__(141);
        var actions = _interopRequireWildcard(_actions);
        var _selectors = __webpack_require__(140);
        var selectors = _interopRequireWildcard(_selectors);
        var _wrapActions = __webpack_require__(230);
        var wrapActions = _interopRequireWildcard(_wrapActions);

        function _interopRequireWildcard(obj) {
            if (obj && obj.__esModule) {
                return obj
            } else {
                var newObj = {};
                if (obj != null) {
                    for (var key in obj) {
                        if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]
                    }
                }
                newObj.default = obj;
                return newObj
            }
        }

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _defineProperty2 = __webpack_require__(18);
        var _defineProperty3 = _interopRequireDefault(_defineProperty2);
        var _assign = __webpack_require__(19);
        var _assign2 = _interopRequireDefault(_assign);
        var _toConsumableArray2 = __webpack_require__(70);
        var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
        var _UPDATE_SPEC$UPDATE_U;
        var _immutable = __webpack_require__(7);
        var _utils = __webpack_require__(8);
        var _window = __webpack_require__(22);
        var _window2 = _interopRequireDefault(_window);
        var _selectors = __webpack_require__(140);
        var _actions = __webpack_require__(141);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        exports.default = (_UPDATE_SPEC$UPDATE_U = {}, (0, _defineProperty3.default)(_UPDATE_SPEC$UPDATE_U, _actions.UPDATE_SPEC, function(state, action) {
            return typeof action.payload === "string" ? state.set("spec", action.payload) : state
        }), (0, _defineProperty3.default)(_UPDATE_SPEC$UPDATE_U, _actions.UPDATE_URL, function(state, action) {
            return state.set("url", action.payload + "")
        }), (0, _defineProperty3.default)(_UPDATE_SPEC$UPDATE_U, _actions.UPDATE_JSON, function(state, action) {
            return state.set("json", (0, _utils.fromJSOrdered)(action.payload))
        }), (0, _defineProperty3.default)(_UPDATE_SPEC$UPDATE_U, _actions.UPDATE_RESOLVED, function(state, action) {
            return state.setIn(["resolved"], (0, _utils.fromJSOrdered)(action.payload))
        }), (0, _defineProperty3.default)(_UPDATE_SPEC$UPDATE_U, _actions.UPDATE_RESOLVED_SUBTREE, function(state, action) {
            var _action$payload = action.payload,
                value = _action$payload.value,
                path = _action$payload.path;
            return state.setIn(["resolvedSubtrees"].concat((0, _toConsumableArray3.default)(path)), (0, _utils.fromJSOrdered)(value))
        }), (0, _defineProperty3.default)(_UPDATE_SPEC$UPDATE_U, _actions.UPDATE_PARAM, function(state, _ref) {
            var payload = _ref.payload;
            var pathMethod = payload.path,
                paramName = payload.paramName,
                paramIn = payload.paramIn,
                param = payload.param,
                value = payload.value,
                isXml = payload.isXml;
            var paramKey = void 0;
            if (param && param.hashCode && !paramIn && !paramName) {
                paramKey = param.get("name") + "." + param.get("in") + ".hash-" + param.hashCode()
            } else {
                paramKey = paramName + "." + paramIn
            }
            var valueKey = isXml ? "value_xml" : "value";
            return state.setIn(["meta", "paths"].concat((0, _toConsumableArray3.default)(pathMethod), ["parameters", paramKey, valueKey]), value)
        }), (0, _defineProperty3.default)(_UPDATE_SPEC$UPDATE_U, _actions.UPDATE_EMPTY_PARAM_INCLUSION, function(state, _ref2) {
            var payload = _ref2.payload;
            var pathMethod = payload.pathMethod,
                paramName = payload.paramName,
                paramIn = payload.paramIn,
                includeEmptyValue = payload.includeEmptyValue;
            if (!paramName || !paramIn) {
                console.warn("Warning: UPDATE_EMPTY_PARAM_INCLUSION could not generate a paramKey.");
                return state
            }
            var paramKey = paramName + "." + paramIn;
            return state.setIn(["meta", "paths"].concat((0, _toConsumableArray3.default)(pathMethod), ["parameter_inclusions", paramKey]), includeEmptyValue)
        }), (0, _defineProperty3.default)(_UPDATE_SPEC$UPDATE_U, _actions.VALIDATE_PARAMS, function(state, _ref3) {
            var _ref3$payload = _ref3.payload,
                pathMethod = _ref3$payload.pathMethod,
                isOAS3 = _ref3$payload.isOAS3;
            var meta = state.getIn(["meta", "paths"].concat((0, _toConsumableArray3.default)(pathMethod)), (0, _immutable.fromJS)({}));
            var isXml = /xml/i.test(meta.get("consumes_value"));
            var op = _selectors.operationWithMeta.apply(undefined, [state].concat((0, _toConsumableArray3.default)(pathMethod)));
            return state.updateIn(["meta", "paths"].concat((0, _toConsumableArray3.default)(pathMethod), ["parameters"]), (0, _immutable.fromJS)({}), function(paramMeta) {
                return op.get("parameters", (0, _immutable.List)()).reduce(function(res, param) {
                    var errors = (0, _utils.validateParam)(param, isXml, isOAS3);
                    return res.setIn([param.get("name") + "." + param.get("in"), "errors"], (0, _immutable.fromJS)(errors))
                }, paramMeta)
            })
        }), (0, _defineProperty3.default)(_UPDATE_SPEC$UPDATE_U, _actions.CLEAR_VALIDATE_PARAMS, function(state, _ref4) {
            var pathMethod = _ref4.payload.pathMethod;
            return state.updateIn(["meta", "paths"].concat((0, _toConsumableArray3.default)(pathMethod), ["parameters"]), (0, _immutable.fromJS)([]), function(parameters) {
                return parameters.map(function(param) {
                    return param.set("errors", (0, _immutable.fromJS)([]))
                })
            })
        }), (0, _defineProperty3.default)(_UPDATE_SPEC$UPDATE_U, _actions.SET_RESPONSE, function(state, _ref5) {
            var _ref5$payload = _ref5.payload,
                res = _ref5$payload.res,
                path = _ref5$payload.path,
                method = _ref5$payload.method;
            var result = void 0;
            if (res.error) {
                result = (0, _assign2.default)({
                    error: true,
                    name: res.err.name,
                    message: res.err.message,
                    statusCode: res.err.statusCode
                }, res.err.response)
            } else {
                result = res
            }
            result.headers = result.headers || {};
            var newState = state.setIn(["responses", path, method], (0, _utils.fromJSOrdered)(result));
            if (_window2.default.Blob && res.data instanceof _window2.default.Blob) {
                newState = newState.setIn(["responses", path, method, "text"], res.data)
            }
            return newState
        }), (0, _defineProperty3.default)(_UPDATE_SPEC$UPDATE_U, _actions.SET_REQUEST, function(state, _ref6) {
            var _ref6$payload = _ref6.payload,
                req = _ref6$payload.req,
                path = _ref6$payload.path,
                method = _ref6$payload.method;
            return state.setIn(["requests", path, method], (0, _utils.fromJSOrdered)(req))
        }), (0, _defineProperty3.default)(_UPDATE_SPEC$UPDATE_U, _actions.SET_MUTATED_REQUEST, function(state, _ref7) {
            var _ref7$payload = _ref7.payload,
                req = _ref7$payload.req,
                path = _ref7$payload.path,
                method = _ref7$payload.method;
            return state.setIn(["mutatedRequests", path, method], (0, _utils.fromJSOrdered)(req))
        }), (0, _defineProperty3.default)(_UPDATE_SPEC$UPDATE_U, _actions.UPDATE_OPERATION_META_VALUE, function(state, _ref8) {
            var _ref8$payload = _ref8.payload,
                path = _ref8$payload.path,
                value = _ref8$payload.value,
                key = _ref8$payload.key;
            var operationPath = ["paths"].concat((0, _toConsumableArray3.default)(path));
            var metaPath = ["meta", "paths"].concat((0, _toConsumableArray3.default)(path));
            if (!state.getIn(["json"].concat((0, _toConsumableArray3.default)(operationPath))) && !state.getIn(["resolved"].concat((0, _toConsumableArray3.default)(operationPath))) && !state.getIn(["resolvedSubtrees"].concat((0, _toConsumableArray3.default)(operationPath)))) {
                return state
            }
            return state.setIn([].concat((0, _toConsumableArray3.default)(metaPath), [key]), (0, _immutable.fromJS)(value))
        }), (0, _defineProperty3.default)(_UPDATE_SPEC$UPDATE_U, _actions.CLEAR_RESPONSE, function(state, _ref9) {
            var _ref9$payload = _ref9.payload,
                path = _ref9$payload.path,
                method = _ref9$payload.method;
            return state.deleteIn(["responses", path, method])
        }), (0, _defineProperty3.default)(_UPDATE_SPEC$UPDATE_U, _actions.CLEAR_REQUEST, function(state, _ref10) {
            var _ref10$payload = _ref10.payload,
                path = _ref10$payload.path,
                method = _ref10$payload.method;
            return state.deleteIn(["requests", path, method])
        }), (0, _defineProperty3.default)(_UPDATE_SPEC$UPDATE_U, _actions.SET_SCHEME, function(state, _ref11) {
            var _ref11$payload = _ref11.payload,
                scheme = _ref11$payload.scheme,
                path = _ref11$payload.path,
                method = _ref11$payload.method;
            if (path && method) {
                return state.setIn(["scheme", path, method], scheme)
            }
            if (!path && !method) {
                return state.setIn(["scheme", "_defaultScheme"], scheme)
            }
        }), _UPDATE_SPEC$UPDATE_U)
    }, function(module, exports, __webpack_require__) {
        module.exports = {
            default: __webpack_require__(489),
            __esModule: true
        }
    }, function(module, exports, __webpack_require__) {
        var anObject = __webpack_require__(27);
        var aFunction = __webpack_require__(79);
        var SPECIES = __webpack_require__(14)("species");
        module.exports = function(O, D) {
            var C = anObject(O).constructor;
            var S;
            return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S)
        }
    }, function(module, exports, __webpack_require__) {
        var ctx = __webpack_require__(47);
        var invoke = __webpack_require__(493);
        var html = __webpack_require__(157);
        var cel = __webpack_require__(101);
        var global = __webpack_require__(15);
        var process = global.process;
        var setTask = global.setImmediate;
        var clearTask = global.clearImmediate;
        var MessageChannel = global.MessageChannel;
        var Dispatch = global.Dispatch;
        var counter = 0;
        var queue = {};
        var ONREADYSTATECHANGE = "onreadystatechange";
        var defer, channel, port;
        var run = function() {
            var id = +this;
            if (queue.hasOwnProperty(id)) {
                var fn = queue[id];
                delete queue[id];
                fn()
            }
        };
        var listener = function(event) {
            run.call(event.data)
        };
        if (!setTask || !clearTask) {
            setTask = function setImmediate(fn) {
                var args = [];
                var i = 1;
                while (arguments.length > i) args.push(arguments[i++]);
                queue[++counter] = function() {
                    invoke(typeof fn == "function" ? fn : Function(fn), args)
                };
                defer(counter);
                return counter
            };
            clearTask = function clearImmediate(id) {
                delete queue[id]
            };
            if (__webpack_require__(57)(process) == "process") {
                defer = function(id) {
                    process.nextTick(ctx(run, id, 1))
                }
            } else if (Dispatch && Dispatch.now) {
                defer = function(id) {
                    Dispatch.now(ctx(run, id, 1))
                }
            } else if (MessageChannel) {
                channel = new MessageChannel;
                port = channel.port2;
                channel.port1.onmessage = listener;
                defer = ctx(port.postMessage, port, 1)
            } else if (global.addEventListener && typeof postMessage == "function" && !global.importScripts) {
                defer = function(id) {
                    global.postMessage(id + "", "*")
                };
                global.addEventListener("message", listener, false)
            } else if (ONREADYSTATECHANGE in cel("script")) {
                defer = function(id) {
                    html.appendChild(cel("script"))[ONREADYSTATECHANGE] = function() {
                        html.removeChild(this);
                        run.call(id)
                    }
                }
            } else {
                defer = function(id) {
                    setTimeout(ctx(run, id, 1), 0)
                }
            }
        }
        module.exports = {
            set: setTask,
            clear: clearTask
        }
    }, function(module, exports) {
        module.exports = function(exec) {
            try {
                return {
                    e: false,
                    v: exec()
                }
            } catch (e) {
                return {
                    e: true,
                    v: e
                }
            }
        }
    }, function(module, exports, __webpack_require__) {
        var anObject = __webpack_require__(27);
        var isObject = __webpack_require__(33);
        var newPromiseCapability = __webpack_require__(142);
        module.exports = function(C, x) {
            anObject(C);
            if (isObject(x) && x.constructor === C) return x;
            var promiseCapability = newPromiseCapability.f(C);
            var resolve = promiseCapability.resolve;
            resolve(x);
            return promiseCapability.promise
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var yaml = __webpack_require__(502);
        module.exports = yaml
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var Schema = __webpack_require__(56);
        module.exports = new Schema({
            include: [__webpack_require__(227)]
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var Schema = __webpack_require__(56);
        module.exports = new Schema({
            include: [__webpack_require__(143)],
            implicit: [__webpack_require__(508), __webpack_require__(509), __webpack_require__(510), __webpack_require__(511)]
        })
    }, function(module, exports, __webpack_require__) {
        var defineProperty = __webpack_require__(229);

        function baseAssignValue(object, key, value) {
            if (key == "__proto__" && defineProperty) {
                defineProperty(object, key, {
                    configurable: true,
                    enumerable: true,
                    value: value,
                    writable: true
                })
            } else {
                object[key] = value
            }
        }
        module.exports = baseAssignValue
    }, function(module, exports, __webpack_require__) {
        var getNative = __webpack_require__(44);
        var defineProperty = function() {
            try {
                var func = getNative(Object, "defineProperty");
                func({}, "", {});
                return func
            } catch (e) {}
        }();
        module.exports = defineProperty
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.validateParams = exports.executeRequest = exports.updateJsonSpec = exports.updateSpec = undefined;
        var _keys = __webpack_require__(31);
        var _keys2 = _interopRequireDefault(_keys);
        var _get = __webpack_require__(135);
        var _get2 = _interopRequireDefault(_get);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var updateSpec = exports.updateSpec = function updateSpec(ori, _ref) {
            var specActions = _ref.specActions;
            return function() {
                ori.apply(undefined, arguments);
                specActions.parseToJson.apply(specActions, arguments)
            }
        };
        var updateJsonSpec = exports.updateJsonSpec = function updateJsonSpec(ori, _ref2) {
            var specActions = _ref2.specActions;
            return function() {
                for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
                    args[_key] = arguments[_key]
                }
                ori.apply(undefined, args);
                specActions.invalidateResolvedSubtreeCache();
                var json = args[0];
                var pathItems = (0, _get2.default)(json, ["paths"]) || {};
                var pathItemKeys = (0, _keys2.default)(pathItems);
                pathItemKeys.forEach(function(k) {
                    var val = (0, _get2.default)(pathItems, [k]);
                    if (val.$ref) {
                        specActions.requestResolvedSubtree(["paths", k])
                    }
                })
            }
        };
        var executeRequest = exports.executeRequest = function executeRequest(ori, _ref3) {
            var specActions = _ref3.specActions;
            return function(req) {
                specActions.logRequest(req);
                return ori(req)
            }
        };
        var validateParams = exports.validateParams = function validateParams(ori, _ref4) {
            var specSelectors = _ref4.specSelectors;
            return function(req) {
                return ori(req, specSelectors.isOAS3())
            }
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.default = function(_ref) {
            var getComponents = _ref.getComponents,
                getStore = _ref.getStore,
                getSystem = _ref.getSystem;
            var getComponent = rootInjects.getComponent,
                render = rootInjects.render,
                makeMappedContainer = rootInjects.makeMappedContainer;
            var memGetComponent = (0, _utils.memoize)(getComponent.bind(null, getSystem, getStore, getComponents));
            var memMakeMappedContainer = (0, _utils.memoize)(makeMappedContainer.bind(null, getSystem, getStore, memGetComponent, getComponents));
            return {
                rootInjects: {
                    getComponent: memGetComponent,
                    makeMappedContainer: memMakeMappedContainer,
                    render: render.bind(null, getSystem, getStore, getComponent, getComponents)
                }
            }
        };
        var _rootInjects = __webpack_require__(232);
        var rootInjects = _interopRequireWildcard(_rootInjects);
        var _utils = __webpack_require__(8);

        function _interopRequireWildcard(obj) {
            if (obj && obj.__esModule) {
                return obj
            } else {
                var newObj = {};
                if (obj != null) {
                    for (var key in obj) {
                        if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]
                    }
                }
                newObj.default = obj;
                return newObj
            }
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.getComponent = exports.render = exports.makeMappedContainer = undefined;
        var _typeof2 = __webpack_require__(36);
        var _typeof3 = _interopRequireDefault(_typeof2);
        var _keys = __webpack_require__(31);
        var _keys2 = _interopRequireDefault(_keys);
        var _assign = __webpack_require__(19);
        var _assign2 = _interopRequireDefault(_assign);
        var _extends2 = __webpack_require__(21);
        var _extends3 = _interopRequireDefault(_extends2);
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _reactDom = __webpack_require__(537);
        var _reactDom2 = _interopRequireDefault(_reactDom);
        var _reactRedux = __webpack_require__(538);
        var _omit = __webpack_require__(539);
        var _omit2 = _interopRequireDefault(_omit);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var SystemWrapper = function SystemWrapper(getSystem, ComponentToWrap) {
            return function(_Component) {
                (0, _inherits3.default)(_class, _Component);

                function _class() {
                    (0, _classCallCheck3.default)(this, _class);
                    return (0, _possibleConstructorReturn3.default)(this, (_class.__proto__ || (0, _getPrototypeOf2.default)(_class)).apply(this, arguments))
                }(0, _createClass3.default)(_class, [{
                    key: "render",
                    value: function render() {
                        return _react2.default.createElement(ComponentToWrap, (0, _extends3.default)({}, getSystem(), this.props, this.context))
                    }
                }]);
                return _class
            }(_react.Component)
        };
        var RootWrapper = function RootWrapper(reduxStore, ComponentToWrap) {
            return function(_Component2) {
                (0, _inherits3.default)(_class2, _Component2);

                function _class2() {
                    (0, _classCallCheck3.default)(this, _class2);
                    return (0, _possibleConstructorReturn3.default)(this, (_class2.__proto__ || (0, _getPrototypeOf2.default)(_class2)).apply(this, arguments))
                }(0, _createClass3.default)(_class2, [{
                    key: "render",
                    value: function render() {
                        return _react2.default.createElement(_reactRedux.Provider, {
                            store: reduxStore
                        }, _react2.default.createElement(ComponentToWrap, (0, _extends3.default)({}, this.props, this.context)))
                    }
                }]);
                return _class2
            }(_react.Component)
        };
        var makeContainer = function makeContainer(getSystem, component, reduxStore) {
            var mapStateToProps = function mapStateToProps(state, ownProps) {
                var propsForContainerComponent = (0, _assign2.default)({}, ownProps, getSystem());
                var ori = component.prototype.mapStateToProps || function(state) {
                    return {
                        state: state
                    }
                };
                return ori(state, propsForContainerComponent)
            };
            var wrappedWithSystem = SystemWrapper(getSystem, component, reduxStore);
            var connected = (0, _reactRedux.connect)(mapStateToProps)(wrappedWithSystem);
            if (reduxStore) return RootWrapper(reduxStore, connected);
            return connected
        };
        var handleProps = function handleProps(getSystem, mapping, props, oldProps) {
            for (var prop in mapping) {
                var fn = mapping[prop];
                if (typeof fn === "function") fn(props[prop], oldProps[prop], getSystem())
            }
        };
        var makeMappedContainer = exports.makeMappedContainer = function makeMappedContainer(getSystem, getStore, memGetComponent, getComponents, componentName, mapping) {
            return function(_Component3) {
                (0, _inherits3.default)(_class3, _Component3);

                function _class3(props, context) {
                    (0, _classCallCheck3.default)(this, _class3);
                    var _this3 = (0, _possibleConstructorReturn3.default)(this, (_class3.__proto__ || (0, _getPrototypeOf2.default)(_class3)).call(this, props, context));
                    handleProps(getSystem, mapping, props, {});
                    return _this3
                }(0, _createClass3.default)(_class3, [{
                    key: "componentWillReceiveProps",
                    value: function componentWillReceiveProps(nextProps) {
                        handleProps(getSystem, mapping, nextProps, this.props)
                    }
                }, {
                    key: "render",
                    value: function render() {
                        var cleanProps = (0, _omit2.default)(this.props, mapping ? (0, _keys2.default)(mapping) : []);
                        var Comp = memGetComponent(componentName, "root");
                        return _react2.default.createElement(Comp, cleanProps)
                    }
                }]);
                return _class3
            }(_react.Component)
        };
        var render = exports.render = function render(getSystem, getStore, getComponent, getComponents, domNode) {
            var App = getComponent(getSystem, getStore, getComponents, "App", "root");
            _reactDom2.default.render(_react2.default.createElement(App, null), domNode)
        };
        var createClass = function createClass(component) {
            return function(_Component4) {
                (0, _inherits3.default)(_class4, _Component4);

                function _class4() {
                    (0, _classCallCheck3.default)(this, _class4);
                    return (0, _possibleConstructorReturn3.default)(this, (_class4.__proto__ || (0, _getPrototypeOf2.default)(_class4)).apply(this, arguments))
                }(0, _createClass3.default)(_class4, [{
                    key: "render",
                    value: function render() {
                        return component(this.props)
                    }
                }]);
                return _class4
            }(_react.Component)
        };
        var Fallback = function Fallback(_ref) {
            var name = _ref.name;
            return _react2.default.createElement("div", {
                style: {
                    padding: "1em",
                    color: "#aaa"
                }
            }, "😱 ", _react2.default.createElement("i", null, "Could not render ", name === "t" ? "this component" : name, ", see the console."))
        };
        var wrapRender = function wrapRender(component) {
            var isStateless = function isStateless(component) {
                return !(component.prototype && component.prototype.isReactComponent)
            };
            var target = isStateless(component) ? createClass(component) : component;
            var ori = target.prototype.render;
            target.prototype.render = function render() {
                try {
                    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
                        args[_key] = arguments[_key]
                    }
                    return ori.apply(this, args)
                } catch (error) {
                    console.error(error);
                    return _react2.default.createElement(Fallback, {
                        error: error,
                        name: target.name
                    })
                }
            };
            return target
        };
        var getComponent = exports.getComponent = function getComponent(getSystem, getStore, getComponents, componentName, container) {
            if (typeof componentName !== "string") throw new TypeError("Need a string, to fetch a component. Was given a " + (typeof componentName === "undefined" ? "undefined" : (0, _typeof3.default)(componentName)));
            var component = getComponents(componentName);
            if (!component) {
                getSystem().log.warn("Could not find component", componentName);
                return null
            }
            if (!container) return wrapRender(component);
            if (container === "root") return makeContainer(getSystem, component, getStore());
            return makeContainer(getSystem, wrapRender(component))
        }
    }, function(module, exports, __webpack_require__) {
        var arrayLikeKeys = __webpack_require__(197),
            baseKeysIn = __webpack_require__(544),
            isArrayLike = __webpack_require__(68);

        function keysIn(object) {
            return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object)
        }
        module.exports = keysIn
    }, function(module, exports, __webpack_require__) {
        var arrayPush = __webpack_require__(126),
            getPrototype = __webpack_require__(146),
            getSymbols = __webpack_require__(127),
            stubArray = __webpack_require__(196);
        var nativeGetSymbols = Object.getOwnPropertySymbols;
        var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {
            var result = [];
            while (object) {
                arrayPush(result, getSymbols(object));
                object = getPrototype(object)
            }
            return result
        };
        module.exports = getSymbolsIn
    }, function(module, exports, __webpack_require__) {
        var baseGetAllKeys = __webpack_require__(195),
            getSymbolsIn = __webpack_require__(234),
            keysIn = __webpack_require__(233);

        function getAllKeysIn(object) {
            return baseGetAllKeys(object, keysIn, getSymbolsIn)
        }
        module.exports = getAllKeysIn
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.default = function() {
            return {
                fn: fn
            }
        };
        var _fn = __webpack_require__(138);
        var fn = _interopRequireWildcard(_fn);

        function _interopRequireWildcard(obj) {
            if (obj && obj.__esModule) {
                return obj
            } else {
                var newObj = {};
                if (obj != null) {
                    for (var key in obj) {
                        if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]
                    }
                }
                newObj.default = obj;
                return newObj
            }
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.default = function(_ref) {
            var configs = _ref.configs;
            var levels = {
                debug: 0,
                info: 1,
                log: 2,
                warn: 3,
                error: 4
            };
            var getLevel = function getLevel(level) {
                return levels[level] || -1
            };
            var logLevel = configs.logLevel;
            var logLevelInt = getLevel(logLevel);

            function log(level) {
                var _console;
                for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
                    args[_key - 1] = arguments[_key]
                }
                if (getLevel(level) >= logLevelInt)(_console = console)[level].apply(_console, args)
            }
            log.warn = log.bind(null, "warn");
            log.error = log.bind(null, "error");
            log.info = log.bind(null, "info");
            log.debug = log.bind(null, "debug");
            return {
                rootInjects: {
                    log: log
                }
            }
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var _swaggerClient = __webpack_require__(239);
        var _swaggerClient2 = _interopRequireDefault(_swaggerClient);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        module.exports = function(_ref) {
            var configs = _ref.configs;
            return {
                fn: {
                    fetch: _swaggerClient2.default.makeHttp(configs.preFetch, configs.postFetch),
                    buildRequest: _swaggerClient2.default.buildRequest,
                    execute: _swaggerClient2.default.execute,
                    resolve: _swaggerClient2.default.resolve,
                    resolveSubtree: _swaggerClient2.default.resolveSubtree,
                    serializeRes: _swaggerClient2.default.serializeRes,
                    opId: _swaggerClient2.default.helpers.opId
                }
            }
        }
    }, function(module, exports) {
        module.exports = require("swagger-client")
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _defineProperty2 = __webpack_require__(18);
        var _defineProperty3 = _interopRequireDefault(_defineProperty2);
        exports.default = function() {
            return {
                afterLoad: function afterLoad(system) {
                    this.rootInjects = this.rootInjects || {};
                    this.rootInjects.initOAuth = system.authActions.configureAuth;
                    this.rootInjects.preauthorizeApiKey = preauthorizeApiKey.bind(null, system);
                    this.rootInjects.preauthorizeBasic = preauthorizeBasic.bind(null, system)
                },
                statePlugins: {
                    auth: {
                        reducers: _reducers2.default,
                        actions: actions,
                        selectors: selectors
                    },
                    spec: {
                        wrapActions: specWrapActionReplacements
                    }
                }
            }
        };
        exports.preauthorizeBasic = preauthorizeBasic;
        exports.preauthorizeApiKey = preauthorizeApiKey;
        var _reducers = __webpack_require__(241);
        var _reducers2 = _interopRequireDefault(_reducers);
        var _actions = __webpack_require__(148);
        var actions = _interopRequireWildcard(_actions);
        var _selectors = __webpack_require__(242);
        var selectors = _interopRequireWildcard(_selectors);
        var _specWrapActions = __webpack_require__(243);
        var specWrapActionReplacements = _interopRequireWildcard(_specWrapActions);

        function _interopRequireWildcard(obj) {
            if (obj && obj.__esModule) {
                return obj
            } else {
                var newObj = {};
                if (obj != null) {
                    for (var key in obj) {
                        if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]
                    }
                }
                newObj.default = obj;
                return newObj
            }
        }

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }

        function preauthorizeBasic(system, key, username, password) {
            var authorize = system.authActions.authorize,
                _system$specSelectors = system.specSelectors,
                specJson = _system$specSelectors.specJson,
                isOAS3 = _system$specSelectors.isOAS3;
            var definitionBase = isOAS3() ? ["components", "securitySchemes"] : ["securityDefinitions"];
            var schema = specJson().getIn([].concat(definitionBase, [key]));
            if (!schema) {
                return null
            }
            return authorize((0, _defineProperty3.default)({}, key, {
                value: {
                    username: username,
                    password: password
                },
                schema: schema.toJS()
            }))
        }

        function preauthorizeApiKey(system, key, value) {
            var authorize = system.authActions.authorize,
                _system$specSelectors2 = system.specSelectors,
                specJson = _system$specSelectors2.specJson,
                isOAS3 = _system$specSelectors2.isOAS3;
            var definitionBase = isOAS3() ? ["components", "securitySchemes"] : ["securityDefinitions"];
            var schema = specJson().getIn([].concat(definitionBase, [key]));
            if (!schema) {
                return null
            }
            return authorize((0, _defineProperty3.default)({}, key, {
                value: value,
                schema: schema.toJS()
            }))
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _defineProperty2 = __webpack_require__(18);
        var _defineProperty3 = _interopRequireDefault(_defineProperty2);
        var _assign = __webpack_require__(19);
        var _assign2 = _interopRequireDefault(_assign);
        var _slicedToArray2 = __webpack_require__(13);
        var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
        var _SHOW_AUTH_POPUP$AUTH;
        var _immutable = __webpack_require__(7);
        var _utils = __webpack_require__(8);
        var _actions = __webpack_require__(148);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        exports.default = (_SHOW_AUTH_POPUP$AUTH = {}, (0, _defineProperty3.default)(_SHOW_AUTH_POPUP$AUTH, _actions.SHOW_AUTH_POPUP, function(state, _ref) {
            var payload = _ref.payload;
            return state.set("showDefinitions", payload)
        }), (0, _defineProperty3.default)(_SHOW_AUTH_POPUP$AUTH, _actions.AUTHORIZE, function(state, _ref2) {
            var payload = _ref2.payload;
            var securities = (0, _immutable.fromJS)(payload);
            var map = state.get("authorized") || (0, _immutable.Map)();
            securities.entrySeq().forEach(function(_ref3) {
                var _ref4 = (0, _slicedToArray3.default)(_ref3, 2),
                    key = _ref4[0],
                    security = _ref4[1];
                var type = security.getIn(["schema", "type"]);
                if (type === "apiKey" || type === "http") {
                    map = map.set(key, security)
                } else if (type === "basic") {
                    var username = security.getIn(["value", "username"]);
                    var password = security.getIn(["value", "password"]);
                    map = map.setIn([key, "value"], {
                        username: username,
                        header: "Basic " + (0, _utils.btoa)(username + ":" + password)
                    });
                    map = map.setIn([key, "schema"], security.get("schema"))
                }
            });
            return state.set("authorized", map)
        }), (0, _defineProperty3.default)(_SHOW_AUTH_POPUP$AUTH, _actions.AUTHORIZE_OAUTH2, function(state, _ref5) {
            var payload = _ref5.payload;
            var auth = payload.auth,
                token = payload.token;
            var parsedAuth = void 0;
            auth.token = (0, _assign2.default)({}, token);
            parsedAuth = (0, _immutable.fromJS)(auth);
            return state.setIn(["authorized", parsedAuth.get("name")], parsedAuth)
        }), (0, _defineProperty3.default)(_SHOW_AUTH_POPUP$AUTH, _actions.LOGOUT, function(state, _ref6) {
            var payload = _ref6.payload;
            var result = state.get("authorized").withMutations(function(authorized) {
                payload.forEach(function(auth) {
                    authorized.delete(auth)
                })
            });
            return state.set("authorized", result)
        }), (0, _defineProperty3.default)(_SHOW_AUTH_POPUP$AUTH, _actions.CONFIGURE_AUTH, function(state, _ref7) {
            var payload = _ref7.payload;
            return state.set("configs", payload)
        }), _SHOW_AUTH_POPUP$AUTH)
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.getConfigs = exports.isAuthorized = exports.authorized = exports.definitionsForRequirements = exports.getDefinitionsByNames = exports.definitionsToAuthorize = exports.shownDefinitions = undefined;
        var _keys = __webpack_require__(31);
        var _keys2 = _interopRequireDefault(_keys);
        var _slicedToArray2 = __webpack_require__(13);
        var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
        var _reselect = __webpack_require__(37);
        var _immutable = __webpack_require__(7);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var state = function state(_state) {
            return _state
        };
        var shownDefinitions = exports.shownDefinitions = (0, _reselect.createSelector)(state, function(auth) {
            return auth.get("showDefinitions")
        });
        var definitionsToAuthorize = exports.definitionsToAuthorize = (0, _reselect.createSelector)(state, function() {
            return function(_ref) {
                var specSelectors = _ref.specSelectors;
                var definitions = specSelectors.securityDefinitions() || (0, _immutable.Map)({});
                var list = (0, _immutable.List)();
                definitions.entrySeq().forEach(function(_ref2) {
                    var _ref3 = (0, _slicedToArray3.default)(_ref2, 2),
                        key = _ref3[0],
                        val = _ref3[1];
                    var map = (0, _immutable.Map)();
                    map = map.set(key, val);
                    list = list.push(map)
                });
                return list
            }
        });
        var getDefinitionsByNames = exports.getDefinitionsByNames = function getDefinitionsByNames(state, securities) {
            return function(_ref4) {
                var specSelectors = _ref4.specSelectors;
                console.warn("WARNING: getDefinitionsByNames is deprecated and will be removed in the next major version.");
                var securityDefinitions = specSelectors.securityDefinitions();
                var result = (0, _immutable.List)();
                securities.valueSeq().forEach(function(names) {
                    var map = (0, _immutable.Map)();
                    names.entrySeq().forEach(function(_ref5) {
                        var _ref6 = (0, _slicedToArray3.default)(_ref5, 2),
                            name = _ref6[0],
                            scopes = _ref6[1];
                        var definition = securityDefinitions.get(name);
                        var allowedScopes = void 0;
                        if (definition.get("type") === "oauth2" && scopes.size) {
                            allowedScopes = definition.get("scopes");
                            allowedScopes.keySeq().forEach(function(key) {
                                if (!scopes.contains(key)) {
                                    allowedScopes = allowedScopes.delete(key)
                                }
                            });
                            definition = definition.set("allowedScopes", allowedScopes)
                        }
                        map = map.set(name, definition)
                    });
                    result = result.push(map)
                });
                return result
            }
        };
        var definitionsForRequirements = exports.definitionsForRequirements = function definitionsForRequirements(state) {
            var securities = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : (0, _immutable.List)();
            return function(_ref7) {
                var authSelectors = _ref7.authSelectors;
                var allDefinitions = authSelectors.definitionsToAuthorize() || (0, _immutable.List)();
                return allDefinitions.filter(function(def) {
                    return securities.some(function(sec) {
                        return sec.get(def.keySeq().first())
                    })
                })
            }
        };
        var authorized = exports.authorized = (0, _reselect.createSelector)(state, function(auth) {
            return auth.get("authorized") || (0, _immutable.Map)()
        });
        var isAuthorized = exports.isAuthorized = function isAuthorized(state, securities) {
            return function(_ref8) {
                var authSelectors = _ref8.authSelectors;
                var authorized = authSelectors.authorized();
                if (!_immutable.List.isList(securities)) {
                    return null
                }
                return !!securities.toJS().filter(function(security) {
                    var isAuthorized = true;
                    return (0, _keys2.default)(security).map(function(key) {
                        return !isAuthorized || !!authorized.get(key)
                    }).indexOf(false) === -1
                }).length
            }
        };
        var getConfigs = exports.getConfigs = (0, _reselect.createSelector)(state, function(auth) {
            return auth.get("configs")
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.execute = undefined;
        var _extends2 = __webpack_require__(21);
        var _extends3 = _interopRequireDefault(_extends2);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var execute = exports.execute = function execute(oriAction, _ref) {
            var authSelectors = _ref.authSelectors,
                specSelectors = _ref.specSelectors;
            return function(_ref2) {
                var path = _ref2.path,
                    method = _ref2.method,
                    operation = _ref2.operation,
                    extras = _ref2.extras;
                var securities = {
                    authorized: authSelectors.authorized() && authSelectors.authorized().toJS(),
                    definitions: specSelectors.securityDefinitions() && specSelectors.securityDefinitions().toJS(),
                    specSecurity: specSelectors.security() && specSelectors.security().toJS()
                };
                return oriAction((0, _extends3.default)({
                    path: path,
                    method: method,
                    operation: operation,
                    securities: securities
                }, extras))
            }
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.default = function() {
            return {
                fn: {
                    shallowEqualKeys: _utils.shallowEqualKeys
                }
            }
        };
        var _utils = __webpack_require__(8)
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _stringify = __webpack_require__(30);
        var _stringify2 = _interopRequireDefault(_stringify);
        var _assign = __webpack_require__(19);
        var _assign2 = _interopRequireDefault(_assign);
        exports.default = downloadUrlPlugin;
        var _reselect = __webpack_require__(37);
        var _immutable = __webpack_require__(7);
        var _window = __webpack_require__(22);
        var _window2 = _interopRequireDefault(_window);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }

        function downloadUrlPlugin(toolbox) {
            var fn = toolbox.fn;
            var actions = {
                download: function download(url) {
                    return function(_ref) {
                        var errActions = _ref.errActions,
                            specSelectors = _ref.specSelectors,
                            specActions = _ref.specActions,
                            getConfigs = _ref.getConfigs;
                        var fetch = fn.fetch;
                        var config = getConfigs();
                        url = url || specSelectors.url();
                        specActions.updateLoadingStatus("loading");
                        errActions.clear({
                            source: "fetch"
                        });
                        fetch({
                            url: url,
                            loadSpec: true,
                            requestInterceptor: config.requestInterceptor || function(a) {
                                return a
                            },
                            responseInterceptor: config.responseInterceptor || function(a) {
                                return a
                            },
                            credentials: "same-origin",
                            headers: {
                                Accept: "application/json,*/*"
                            }
                        }).then(next, next);

                        function next(res) {
                            if (res instanceof Error || res.status >= 400) {
                                specActions.updateLoadingStatus("failed");
                                errActions.newThrownErr((0, _assign2.default)(new Error((res.message || res.statusText) + " " + url), {
                                    source: "fetch"
                                }));
                                if (!res.status && res instanceof Error) checkPossibleFailReasons();
                                return
                            }
                            specActions.updateLoadingStatus("success");
                            specActions.updateSpec(res.text);
                            if (specSelectors.url() !== url) {
                                specActions.updateUrl(url)
                            }
                        }

                        function checkPossibleFailReasons() {
                            try {
                                var specUrl = void 0;
                                if ("URL" in _window2.default) {
                                    specUrl = new URL(url)
                                } else {
                                    specUrl = document.createElement("a");
                                    specUrl.href = url
                                }
                                if (specUrl.protocol !== "https:" && _window2.default.location.protocol === "https:") {
                                    var error = (0, _assign2.default)(new Error("Possible mixed-content issue? The page was loaded over https:// but a " + specUrl.protocol + "// URL was specified. Check that you are not attempting to load mixed content."), {
                                        source: "fetch"
                                    });
                                    errActions.newThrownErr(error);
                                    return
                                }
                                if (specUrl.origin !== _window2.default.location.origin) {
                                    var _error = (0, _assign2.default)(new Error("Possible cross-origin (CORS) issue? The URL origin (" + specUrl.origin + ") does not match the page (" + _window2.default.location.origin + "). Check the server returns the correct 'Access-Control-Allow-*' headers."), {
                                        source: "fetch"
                                    });
                                    errActions.newThrownErr(_error)
                                }
                            } catch (e) {
                                return
                            }
                        }
                    }
                },
                updateLoadingStatus: function updateLoadingStatus(status) {
                    var enums = [null, "loading", "failed", "success", "failedConfig"];
                    if (enums.indexOf(status) === -1) {
                        console.error("Error: " + status + " is not one of " + (0, _stringify2.default)(enums))
                    }
                    return {
                        type: "spec_update_loading_status",
                        payload: status
                    }
                }
            };
            var reducers = {
                spec_update_loading_status: function spec_update_loading_status(state, action) {
                    return typeof action.payload === "string" ? state.set("loadingStatus", action.payload) : state
                }
            };
            var selectors = {
                loadingStatus: (0, _reselect.createSelector)(function(state) {
                    return state || (0, _immutable.Map)()
                }, function(spec) {
                    return spec.get("loadingStatus") || null
                })
            };
            return {
                statePlugins: {
                    spec: {
                        actions: actions,
                        reducers: reducers,
                        selectors: selectors
                    }
                }
            }
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.default = configsPlugin;
        var _swaggerConfig = __webpack_require__(577);
        var _swaggerConfig2 = _interopRequireDefault(_swaggerConfig);
        var _helpers = __webpack_require__(149);
        var _actions = __webpack_require__(150);
        var actions = _interopRequireWildcard(_actions);
        var _specActions = __webpack_require__(247);
        var specActions = _interopRequireWildcard(_specActions);
        var _selectors = __webpack_require__(248);
        var selectors = _interopRequireWildcard(_selectors);
        var _reducers = __webpack_require__(249);
        var _reducers2 = _interopRequireDefault(_reducers);

        function _interopRequireWildcard(obj) {
            if (obj && obj.__esModule) {
                return obj
            } else {
                var newObj = {};
                if (obj != null) {
                    for (var key in obj) {
                        if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]
                    }
                }
                newObj.default = obj;
                return newObj
            }
        }

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var specSelectors = {
            getLocalConfig: function getLocalConfig() {
                return (0, _helpers.parseYamlConfig)(_swaggerConfig2.default)
            }
        };

        function configsPlugin() {
            return {
                statePlugins: {
                    spec: {
                        actions: specActions,
                        selectors: specSelectors
                    },
                    configs: {
                        reducers: _reducers2.default,
                        actions: actions,
                        selectors: selectors
                    }
                }
            }
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.getConfigByUrl = exports.downloadConfig = undefined;
        var _helpers = __webpack_require__(149);
        var downloadConfig = exports.downloadConfig = function downloadConfig(req) {
            return function(system) {
                var fetch = system.fn.fetch;
                return fetch(req)
            }
        };
        var getConfigByUrl = exports.getConfigByUrl = function getConfigByUrl(req, cb) {
            return function(_ref) {
                var specActions = _ref.specActions;
                if (req) {
                    return specActions.downloadConfig(req).then(next, next)
                }

                function next(res) {
                    if (res instanceof Error || res.status >= 400) {
                        specActions.updateLoadingStatus("failedConfig");
                        specActions.updateLoadingStatus("failedConfig");
                        specActions.updateUrl("");
                        console.error(res.statusText + " " + req.url);
                        cb(null)
                    } else {
                        cb((0, _helpers.parseYamlConfig)(res.text))
                    }
                }
            }
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var get = exports.get = function get(state, path) {
            return state.getIn(Array.isArray(path) ? path : [path])
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _defineProperty2 = __webpack_require__(18);
        var _defineProperty3 = _interopRequireDefault(_defineProperty2);
        var _UPDATE_CONFIGS$TOGGL;
        var _immutable = __webpack_require__(7);
        var _actions = __webpack_require__(150);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        exports.default = (_UPDATE_CONFIGS$TOGGL = {}, (0, _defineProperty3.default)(_UPDATE_CONFIGS$TOGGL, _actions.UPDATE_CONFIGS, function(state, action) {
            return state.merge((0, _immutable.fromJS)(action.payload))
        }), (0, _defineProperty3.default)(_UPDATE_CONFIGS$TOGGL, _actions.TOGGLE_CONFIGS, function(state, action) {
            var configName = action.payload;
            var oriVal = state.get(configName);
            return state.set(configName, !oriVal)
        }), _UPDATE_CONFIGS$TOGGL)
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.default = function() {
            return [_layout2.default, {
                statePlugins: {
                    configs: {
                        wrapActions: {
                            loaded: function loaded(ori, system) {
                                return function() {
                                    ori.apply(undefined, arguments);
                                    var hash = window.location.hash;
                                    system.layoutActions.parseDeepLinkHash(hash)
                                }
                            }
                        }
                    }
                },
                wrapComponents: {
                    operation: _operationWrapper2.default,
                    OperationTag: _operationTagWrapper2.default
                }
            }]
        };
        var _layout = __webpack_require__(251);
        var _layout2 = _interopRequireDefault(_layout);
        var _operationWrapper = __webpack_require__(253);
        var _operationWrapper2 = _interopRequireDefault(_operationWrapper);
        var _operationTagWrapper = __webpack_require__(254);
        var _operationTagWrapper2 = _interopRequireDefault(_operationTagWrapper);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.clearScrollTo = exports.scrollToElement = exports.readyToScroll = exports.parseDeepLinkHash = exports.scrollTo = exports.show = undefined;
        var _defineProperty2 = __webpack_require__(18);
        var _defineProperty3 = _interopRequireDefault(_defineProperty2);
        var _slicedToArray2 = __webpack_require__(13);
        var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
        var _reducers;
        var _helpers = __webpack_require__(252);
        var _zenscroll = __webpack_require__(578);
        var _zenscroll2 = _interopRequireDefault(_zenscroll);
        var _utils = __webpack_require__(8);
        var _immutable = __webpack_require__(7);
        var _immutable2 = _interopRequireDefault(_immutable);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var SCROLL_TO = "layout_scroll_to";
        var CLEAR_SCROLL_TO = "layout_clear_scroll";
        var show = exports.show = function show(ori, _ref) {
            var getConfigs = _ref.getConfigs,
                layoutSelectors = _ref.layoutSelectors;
            return function() {
                for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
                    args[_key] = arguments[_key]
                }
                ori.apply(undefined, args);
                if (!getConfigs().deepLinking) {
                    return
                }
                try {
                    var tokenArray = args[0],
                        shown = args[1];
                    tokenArray = Array.isArray(tokenArray) ? tokenArray : [tokenArray];
                    var urlHashArray = layoutSelectors.urlHashArrayFromIsShownKey(tokenArray);
                    if (!urlHashArray.length) return;
                    var _urlHashArray = (0, _slicedToArray3.default)(urlHashArray, 2),
                        type = _urlHashArray[0],
                        assetName = _urlHashArray[1];
                    if (!shown) {
                        return (0, _helpers.setHash)("/")
                    }
                    if (urlHashArray.length === 2) {
                        (0, _helpers.setHash)((0, _utils.createDeepLinkPath)("/" + type + "/" + assetName))
                    } else if (urlHashArray.length === 1) {
                        (0, _helpers.setHash)((0, _utils.createDeepLinkPath)("/" + type))
                    }
                } catch (e) {
                    console.error(e)
                }
            }
        };
        var scrollTo = exports.scrollTo = function scrollTo(path) {
            return {
                type: SCROLL_TO,
                payload: Array.isArray(path) ? path : [path]
            }
        };
        var parseDeepLinkHash = exports.parseDeepLinkHash = function parseDeepLinkHash(rawHash) {
            return function(_ref2) {
                var layoutActions = _ref2.layoutActions,
                    layoutSelectors = _ref2.layoutSelectors,
                    getConfigs = _ref2.getConfigs;
                if (!getConfigs().deepLinking) {
                    return
                }
                if (rawHash) {
                    var hash = rawHash.slice(1);
                    if (hash[0] === "!") {
                        hash = hash.slice(1)
                    }
                    if (hash[0] === "/") {
                        hash = hash.slice(1)
                    }
                    var hashArray = hash.split("/").map(function(val) {
                        return (val || "").replace(/_/g, " ")
                    });
                    var isShownKey = layoutSelectors.isShownKeyFromUrlHashArray(hashArray);
                    layoutActions.show(isShownKey, true);
                    layoutActions.scrollTo(isShownKey)
                }
            }
        };
        var readyToScroll = exports.readyToScroll = function readyToScroll(isShownKey, ref) {
            return function(system) {
                var scrollToKey = system.layoutSelectors.getScrollToKey();
                if (_immutable2.default.is(scrollToKey, (0, _immutable.fromJS)(isShownKey))) {
                    system.layoutActions.scrollToElement(ref);
                    system.layoutActions.clearScrollTo()
                }
            }
        };
        var scrollToElement = exports.scrollToElement = function scrollToElement(ref, container) {
            return function(system) {
                try {
                    container = container || system.fn.getScrollParent(ref);
                    var myScroller = _zenscroll2.default.createScroller(container);
                    myScroller.to(ref)
                } catch (e) {
                    console.error(e)
                }
            }
        };
        var clearScrollTo = exports.clearScrollTo = function clearScrollTo() {
            return {
                type: CLEAR_SCROLL_TO
            }
        };

        function getScrollParent(element, includeHidden) {
            var LAST_RESORT = document.documentElement;
            var style = getComputedStyle(element);
            var excludeStaticParent = style.position === "absolute";
            var overflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/;
            if (style.position === "fixed") return LAST_RESORT;
            for (var parent = element; parent = parent.parentElement;) {
                style = getComputedStyle(parent);
                if (excludeStaticParent && style.position === "static") {
                    continue
                }
                if (overflowRegex.test(style.overflow + style.overflowY + style.overflowX)) return parent
            }
            return LAST_RESORT
        }
        exports.default = {
            fn: {
                getScrollParent: getScrollParent
            },
            statePlugins: {
                layout: {
                    actions: {
                        scrollToElement: scrollToElement,
                        scrollTo: scrollTo,
                        clearScrollTo: clearScrollTo,
                        readyToScroll: readyToScroll,
                        parseDeepLinkHash: parseDeepLinkHash
                    },
                    selectors: {
                        getScrollToKey: function getScrollToKey(state) {
                            return state.get("scrollToKey")
                        },
                        isShownKeyFromUrlHashArray: function isShownKeyFromUrlHashArray(state, urlHashArray) {
                            var _urlHashArray2 = (0, _slicedToArray3.default)(urlHashArray, 2),
                                tag = _urlHashArray2[0],
                                operationId = _urlHashArray2[1];
                            if (operationId) {
                                return ["operations", tag, operationId]
                            } else if (tag) {
                                return ["operations-tag", tag]
                            }
                            return []
                        },
                        urlHashArrayFromIsShownKey: function urlHashArrayFromIsShownKey(state, isShownKey) {
                            var _isShownKey = (0, _slicedToArray3.default)(isShownKey, 3),
                                type = _isShownKey[0],
                                tag = _isShownKey[1],
                                operationId = _isShownKey[2];
                            if (type == "operations") {
                                return [tag, operationId]
                            } else if (type == "operations-tag") {
                                return [tag]
                            }
                            return []
                        }
                    },
                    reducers: (_reducers = {}, (0, _defineProperty3.default)(_reducers, SCROLL_TO, function(state, action) {
                        return state.set("scrollToKey", _immutable2.default.fromJS(action.payload))
                    }), (0, _defineProperty3.default)(_reducers, CLEAR_SCROLL_TO, function(state) {
                        return state.delete("scrollToKey")
                    }), _reducers),
                    wrapActions: {
                        show: show
                    }
                }
            }
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var setHash = exports.setHash = function setHash(value) {
            if (value) {
                return history.pushState(null, null, "#" + value)
            } else {
                return window.location.hash = ""
            }
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _reactImmutableProptypes = __webpack_require__(9);
        var _reactImmutableProptypes2 = _interopRequireDefault(_reactImmutableProptypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var Wrapper = function Wrapper(Ori, system) {
            return function(_React$Component) {
                (0, _inherits3.default)(OperationWrapper, _React$Component);

                function OperationWrapper() {
                    var _ref;
                    var _temp, _this, _ret;
                    (0, _classCallCheck3.default)(this, OperationWrapper);
                    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
                        args[_key] = arguments[_key]
                    }
                    return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = OperationWrapper.__proto__ || (0, _getPrototypeOf2.default)(OperationWrapper)).call.apply(_ref, [this].concat(args))), _this), _this.onLoad = function(ref) {
                        var operation = _this.props.operation;
                        var _operation$toObject = operation.toObject(),
                            tag = _operation$toObject.tag,
                            operationId = _operation$toObject.operationId;
                        var isShownKey = ["operations", tag, operationId];
                        system.layoutActions.readyToScroll(isShownKey, ref)
                    }, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret)
                }(0, _createClass3.default)(OperationWrapper, [{
                    key: "render",
                    value: function render() {
                        return _react2.default.createElement("span", {
                            ref: this.onLoad
                        }, _react2.default.createElement(Ori, this.props))
                    }
                }]);
                return OperationWrapper
            }(_react2.default.Component)
        };
        exports.default = Wrapper
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var Wrapper = function Wrapper(Ori, system) {
            return function(_React$Component) {
                (0, _inherits3.default)(OperationTagWrapper, _React$Component);

                function OperationTagWrapper() {
                    var _ref;
                    var _temp, _this, _ret;
                    (0, _classCallCheck3.default)(this, OperationTagWrapper);
                    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
                        args[_key] = arguments[_key]
                    }
                    return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = OperationTagWrapper.__proto__ || (0, _getPrototypeOf2.default)(OperationTagWrapper)).call.apply(_ref, [this].concat(args))), _this), _this.onLoad = function(ref) {
                        var tag = _this.props.tag;
                        var isShownKey = ["operations-tag", tag];
                        system.layoutActions.readyToScroll(isShownKey, ref)
                    }, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret)
                }(0, _createClass3.default)(OperationTagWrapper, [{
                    key: "render",
                    value: function render() {
                        return _react2.default.createElement("span", {
                            ref: this.onLoad
                        }, _react2.default.createElement(Ori, this.props))
                    }
                }]);
                return OperationTagWrapper
            }(_react2.default.Component)
        };
        exports.default = Wrapper
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.default = function() {
            return {
                fn: {
                    opsFilter: _opsFilter2.default
                }
            }
        };
        var _opsFilter = __webpack_require__(256);
        var _opsFilter2 = _interopRequireDefault(_opsFilter);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.default = function(taggedOps, phrase) {
            return taggedOps.filter(function(tagObj, tag) {
                return tag.indexOf(phrase) !== -1
            })
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.default = function() {
            return {
                statePlugins: {
                    spec: {
                        wrapActions: {
                            updateSpec: function updateSpec(ori) {
                                return function() {
                                    engaged = true;
                                    return ori.apply(undefined, arguments)
                                }
                            },
                            updateJsonSpec: function updateJsonSpec(ori, system) {
                                return function() {
                                    var cb = system.getConfigs().onComplete;
                                    if (engaged && typeof cb === "function") {
                                        setTimeout(cb, 0);
                                        engaged = false
                                    }
                                    return ori.apply(undefined, arguments)
                                }
                            }
                        }
                    }
                }
            }
        };
        var engaged = false
    }, function(module, exports) {
        module.exports = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAwcHgiICBoZWlnaHQ9IjIwMHB4IiAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQiIGNsYXNzPSJsZHMtcm9sbGluZyIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IGJhY2tncm91bmQtcG9zaXRpb246IGluaXRpYWwgaW5pdGlhbDsgYmFja2dyb3VuZC1yZXBlYXQ6IGluaXRpYWwgaW5pdGlhbDsiPjxjaXJjbGUgY3g9IjUwIiBjeT0iNTAiIGZpbGw9Im5vbmUiIG5nLWF0dHItc3Ryb2tlPSJ7e2NvbmZpZy5jb2xvcn19IiBuZy1hdHRyLXN0cm9rZS13aWR0aD0ie3tjb25maWcud2lkdGh9fSIgbmctYXR0ci1yPSJ7e2NvbmZpZy5yYWRpdXN9fSIgbmctYXR0ci1zdHJva2UtZGFzaGFycmF5PSJ7e2NvbmZpZy5kYXNoYXJyYXl9fSIgc3Ryb2tlPSIjNTU1NTU1IiBzdHJva2Utd2lkdGg9IjEwIiByPSIzNSIgc3Ryb2tlLWRhc2hhcnJheT0iMTY0LjkzMzYxNDMxMzQ2NDE1IDU2Ljk3Nzg3MTQzNzgyMTM4Ij48YW5pbWF0ZVRyYW5zZm9ybSBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iIHR5cGU9InJvdGF0ZSIgY2FsY01vZGU9ImxpbmVhciIgdmFsdWVzPSIwIDUwIDUwOzM2MCA1MCA1MCIga2V5VGltZXM9IjA7MSIgZHVyPSIxcyIgYmVnaW49IjBzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSI+PC9hbmltYXRlVHJhbnNmb3JtPjwvY2lyY2xlPjwvc3ZnPgo="
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.Collapse = exports.Link = exports.Select = exports.Input = exports.TextArea = exports.Button = exports.Row = exports.Col = exports.Container = undefined;
        var _extends2 = __webpack_require__(21);
        var _extends3 = _interopRequireDefault(_extends2);
        var _objectWithoutProperties2 = __webpack_require__(71);
        var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }

        function xclass() {
            for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
                args[_key] = arguments[_key]
            }
            return args.filter(function(a) {
                return !!a
            }).join(" ").trim()
        }
        var Container = exports.Container = function(_React$Component) {
            (0, _inherits3.default)(Container, _React$Component);

            function Container() {
                (0, _classCallCheck3.default)(this, Container);
                return (0, _possibleConstructorReturn3.default)(this, (Container.__proto__ || (0, _getPrototypeOf2.default)(Container)).apply(this, arguments))
            }(0, _createClass3.default)(Container, [{
                key: "render",
                value: function render() {
                    var _props = this.props,
                        fullscreen = _props.fullscreen,
                        full = _props.full,
                        rest = (0, _objectWithoutProperties3.default)(_props, ["fullscreen", "full"]);
                    if (fullscreen) return _react2.default.createElement("section", rest);
                    var containerClass = "swagger-container" + (full ? "-full" : "");
                    return _react2.default.createElement("section", (0, _extends3.default)({}, rest, {
                        className: xclass(rest.className, containerClass)
                    }))
                }
            }]);
            return Container
        }(_react2.default.Component);
        var DEVICES = {
            mobile: "",
            tablet: "-tablet",
            desktop: "-desktop",
            large: "-hd"
        };
        var Col = exports.Col = function(_React$Component2) {
            (0, _inherits3.default)(Col, _React$Component2);

            function Col() {
                (0, _classCallCheck3.default)(this, Col);
                return (0, _possibleConstructorReturn3.default)(this, (Col.__proto__ || (0, _getPrototypeOf2.default)(Col)).apply(this, arguments))
            }(0, _createClass3.default)(Col, [{
                key: "render",
                value: function render() {
                    var _props2 = this.props,
                        hide = _props2.hide,
                        keepContents = _props2.keepContents,
                        mobile = _props2.mobile,
                        tablet = _props2.tablet,
                        desktop = _props2.desktop,
                        large = _props2.large,
                        rest = (0, _objectWithoutProperties3.default)(_props2, ["hide", "keepContents", "mobile", "tablet", "desktop", "large"]);
                    if (hide && !keepContents) return _react2.default.createElement("span", null);
                    var classesAr = [];
                    for (var device in DEVICES) {
                        if (!DEVICES.hasOwnProperty(device)) {
                            continue
                        }
                        var deviceClass = DEVICES[device];
                        if (device in this.props) {
                            var val = this.props[device];
                            if (val < 1) {
                                classesAr.push("none" + deviceClass);
                                continue
                            }
                            classesAr.push("block" + deviceClass);
                            classesAr.push("col-" + val + deviceClass)
                        }
                    }
                    var classes = xclass.apply(undefined, [rest.className].concat(classesAr));
                    return _react2.default.createElement("section", (0, _extends3.default)({}, rest, {
                        style: {
                            display: hide ? "none" : null
                        },
                        className: classes
                    }))
                }
            }]);
            return Col
        }(_react2.default.Component);
        var Row = exports.Row = function(_React$Component3) {
            (0, _inherits3.default)(Row, _React$Component3);

            function Row() {
                (0, _classCallCheck3.default)(this, Row);
                return (0, _possibleConstructorReturn3.default)(this, (Row.__proto__ || (0, _getPrototypeOf2.default)(Row)).apply(this, arguments))
            }(0, _createClass3.default)(Row, [{
                key: "render",
                value: function render() {
                    return _react2.default.createElement("div", (0, _extends3.default)({}, this.props, {
                        className: xclass(this.props.className, "wrapper")
                    }))
                }
            }]);
            return Row
        }(_react2.default.Component);
        var Button = exports.Button = function(_React$Component4) {
            (0, _inherits3.default)(Button, _React$Component4);

            function Button() {
                (0, _classCallCheck3.default)(this, Button);
                return (0, _possibleConstructorReturn3.default)(this, (Button.__proto__ || (0, _getPrototypeOf2.default)(Button)).apply(this, arguments))
            }(0, _createClass3.default)(Button, [{
                key: "render",
                value: function render() {
                    return _react2.default.createElement("button", (0, _extends3.default)({}, this.props, {
                        className: xclass(this.props.className, "button")
                    }))
                }
            }]);
            return Button
        }(_react2.default.Component);
        Button.defaultProps = {
            className: ""
        };
        var TextArea = exports.TextArea = function TextArea(props) {
            return _react2.default.createElement("textarea", props)
        };
        var Input = exports.Input = function Input(props) {
            return _react2.default.createElement("input", props)
        };
        var Select = exports.Select = function(_React$Component5) {
            (0, _inherits3.default)(Select, _React$Component5);

            function Select(props, context) {
                (0, _classCallCheck3.default)(this, Select);
                var _this5 = (0, _possibleConstructorReturn3.default)(this, (Select.__proto__ || (0, _getPrototypeOf2.default)(Select)).call(this, props, context));
                _initialiseProps.call(_this5);
                var value = void 0;
                if (props.value) {
                    value = props.value
                } else {
                    value = props.multiple ? [""] : ""
                }
                _this5.state = {
                    value: value
                };
                return _this5
            }(0, _createClass3.default)(Select, [{
                key: "render",
                value: function render() {
                    var _props3 = this.props,
                        allowedValues = _props3.allowedValues,
                        multiple = _props3.multiple,
                        allowEmptyValue = _props3.allowEmptyValue;
                    var value = this.state.value.toJS ? this.state.value.toJS() : this.state.value;
                    return _react2.default.createElement("select", {
                        className: this.props.className,
                        multiple: multiple,
                        value: value,
                        onChange: this.onChange
                    }, allowEmptyValue ? _react2.default.createElement("option", {
                        value: ""
                    }, "--") : null, allowedValues.map(function(item, key) {
                        return _react2.default.createElement("option", {
                            key: key,
                            value: String(item)
                        }, String(item))
                    }))
                }
            }]);
            return Select
        }(_react2.default.Component);
        Select.defaultProps = {
            multiple: false,
            allowEmptyValue: true
        };
        var _initialiseProps = function _initialiseProps() {
            var _this8 = this;
            this.onChange = function(e) {
                var _props5 = _this8.props,
                    onChange = _props5.onChange,
                    multiple = _props5.multiple;
                var options = [].slice.call(e.target.options);
                var value = void 0;
                if (multiple) {
                    value = options.filter(function(option) {
                        return option.selected
                    }).map(function(option) {
                        return option.value
                    })
                } else {
                    value = e.target.value
                }
                _this8.setState({
                    value: value
                });
                onChange && onChange(value)
            }
        };
        var Link = exports.Link = function(_React$Component6) {
            (0, _inherits3.default)(Link, _React$Component6);

            function Link() {
                (0, _classCallCheck3.default)(this, Link);
                return (0, _possibleConstructorReturn3.default)(this, (Link.__proto__ || (0, _getPrototypeOf2.default)(Link)).apply(this, arguments))
            }(0, _createClass3.default)(Link, [{
                key: "render",
                value: function render() {
                    return _react2.default.createElement("a", (0, _extends3.default)({}, this.props, {
                        rel: "noopener noreferrer",
                        className: xclass(this.props.className, "link")
                    }))
                }
            }]);
            return Link
        }(_react2.default.Component);
        var NoMargin = function NoMargin(_ref) {
            var children = _ref.children;
            return _react2.default.createElement("div", {
                style: {
                    height: "auto",
                    border: "none",
                    margin: 0,
                    padding: 0
                }
            }, " ", children, " ")
        };
        var Collapse = exports.Collapse = function(_React$Component7) {
            (0, _inherits3.default)(Collapse, _React$Component7);

            function Collapse() {
                (0, _classCallCheck3.default)(this, Collapse);
                return (0, _possibleConstructorReturn3.default)(this, (Collapse.__proto__ || (0, _getPrototypeOf2.default)(Collapse)).apply(this, arguments))
            }(0, _createClass3.default)(Collapse, [{
                key: "renderNotAnimated",
                value: function renderNotAnimated() {
                    if (!this.props.isOpened) return _react2.default.createElement("noscript", null);
                    return _react2.default.createElement(NoMargin, null, this.props.children)
                }
            }, {
                key: "render",
                value: function render() {
                    var _props4 = this.props,
                        animated = _props4.animated,
                        isOpened = _props4.isOpened,
                        children = _props4.children;
                    if (!animated) return this.renderNotAnimated();
                    children = isOpened ? children : null;
                    return _react2.default.createElement(NoMargin, null, children)
                }
            }]);
            return Collapse
        }(_react2.default.Component);
        Collapse.defaultProps = {
            isOpened: false,
            animated: false
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _extends2 = __webpack_require__(21);
        var _extends3 = _interopRequireDefault(_extends2);
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _reactImmutablePureComponent = __webpack_require__(631);
        var _reactImmutablePureComponent2 = _interopRequireDefault(_reactImmutablePureComponent);
        var _reactImmutableProptypes = __webpack_require__(9);
        var _reactImmutableProptypes2 = _interopRequireDefault(_reactImmutableProptypes);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var Model = function(_ImmutablePureCompone) {
            (0, _inherits3.default)(Model, _ImmutablePureCompone);

            function Model() {
                var _ref;
                var _temp, _this, _ret;
                (0, _classCallCheck3.default)(this, Model);
                for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
                    args[_key] = arguments[_key]
                }
                return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = Model.__proto__ || (0, _getPrototypeOf2.default)(Model)).call.apply(_ref, [this].concat(args))), _this), _this.getModelName = function(ref) {
                    if (ref.indexOf("#/definitions/") !== -1) {
                        return ref.replace(/^.*#\/definitions\//, "")
                    }
                    if (ref.indexOf("#/components/schemas/") !== -1) {
                        return ref.replace("#/components/schemas/", "")
                    }
                }, _this.getRefSchema = function(model) {
                    var specSelectors = _this.props.specSelectors;
                    return specSelectors.findDefinition(model)
                }, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret)
            }(0, _createClass3.default)(Model, [{
                key: "render",
                value: function render() {
                    var _props = this.props,
                        getComponent = _props.getComponent,
                        getConfigs = _props.getConfigs,
                        specSelectors = _props.specSelectors,
                        schema = _props.schema,
                        required = _props.required,
                        name = _props.name,
                        isRef = _props.isRef,
                        specPath = _props.specPath,
                        displayName = _props.displayName;
                    var ObjectModel = getComponent("ObjectModel");
                    var ArrayModel = getComponent("ArrayModel");
                    var PrimitiveModel = getComponent("PrimitiveModel");
                    var type = "object";
                    var $$ref = schema && schema.get("$$ref");
                    if (!name && $$ref) {
                        name = this.getModelName($$ref)
                    }
                    if (!schema && $$ref) {
                        schema = this.getRefSchema(name)
                    }
                    if (!schema) {
                        return _react2.default.createElement("span", {
                            className: "model model-title"
                        }, _react2.default.createElement("span", {
                            className: "model-title__text"
                        }, displayName || name), _react2.default.createElement("img", {
                            src: __webpack_require__(258),
                            height: "20px",
                            width: "20px",
                            style: {
                                marginLeft: "1em",
                                position: "relative",
                                bottom: "0px"
                            }
                        }))
                    }
                    var deprecated = specSelectors.isOAS3() && schema.get("deprecated");
                    isRef = isRef !== undefined ? isRef : !!$$ref;
                    type = schema && schema.get("type") || type;
                    switch (type) {
                        case "object":
                            return _react2.default.createElement(ObjectModel, (0, _extends3.default)({
                                className: "object"
                            }, this.props, {
                                specPath: specPath,
                                getConfigs: getConfigs,
                                schema: schema,
                                name: name,
                                deprecated: deprecated,
                                isRef: isRef
                            }));
                        case "array":
                            return _react2.default.createElement(ArrayModel, (0, _extends3.default)({
                                className: "array"
                            }, this.props, {
                                getConfigs: getConfigs,
                                schema: schema,
                                name: name,
                                deprecated: deprecated,
                                required: required
                            }));
                        case "string":
                        case "number":
                        case "integer":
                        case "boolean":
                        default:
                            return _react2.default.createElement(PrimitiveModel, (0, _extends3.default)({}, this.props, {
                                getComponent: getComponent,
                                getConfigs: getConfigs,
                                schema: schema,
                                name: name,
                                deprecated: deprecated,
                                required: required
                            }))
                    }
                }
            }]);
            return Model
        }(_reactImmutablePureComponent2.default);
        Model.propTypes = {
            schema: _reactImmutableProptypes2.default.orderedMap.isRequired,
            getComponent: _propTypes2.default.func.isRequired,
            getConfigs: _propTypes2.default.func.isRequired,
            specSelectors: _propTypes2.default.object.isRequired,
            name: _propTypes2.default.string,
            displayName: _propTypes2.default.string,
            isRef: _propTypes2.default.bool,
            required: _propTypes2.default.bool,
            expandDepth: _propTypes2.default.number,
            depth: _propTypes2.default.number,
            specPath: _reactImmutableProptypes2.default.list.isRequired
        };
        exports.default = Model
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.sanitizer = sanitizer;
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _remarkable = __webpack_require__(262);
        var _remarkable2 = _interopRequireDefault(_remarkable);
        var _dompurify = __webpack_require__(643);
        var _dompurify2 = _interopRequireDefault(_dompurify);
        var _classnames = __webpack_require__(75);
        var _classnames2 = _interopRequireDefault(_classnames);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        _dompurify2.default.addHook("beforeSanitizeElements", function(current) {
            if (current.href) {
                current.setAttribute("rel", "noopener noreferrer")
            }
            return current
        });
        var isPlainText = function isPlainText(str) {
            return /^[A-Z\s0-9!?\.]+$/gi.test(str)
        };

        function Markdown(_ref) {
            var source = _ref.source,
                _ref$className = _ref.className,
                className = _ref$className === undefined ? "" : _ref$className;
            if (isPlainText(source)) {
                return _react2.default.createElement("div", {
                    className: "markdown"
                }, source)
            }
            var md = new _remarkable2.default({
                html: true,
                typographer: true,
                breaks: true,
                linkify: true,
                linkTarget: "_blank"
            });
            var html = md.render(source);
            var sanitized = sanitizer(html);
            if (!source || !html || !sanitized) {
                return null
            }
            return _react2.default.createElement("div", {
                className: (0, _classnames2.default)(className, "markdown"),
                dangerouslySetInnerHTML: {
                    __html: sanitized
                }
            })
        }
        exports.default = Markdown;

        function sanitizer(str) {
            return _dompurify2.default.sanitize(str, {
                ADD_ATTR: ["target"]
            })
        }
    }, function(module, exports) {
        module.exports = require("remarkable")
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.default = function() {
            return {
                components: _components2.default,
                wrapComponents: _wrapComponents2.default,
                statePlugins: {
                    spec: {
                        wrapSelectors: specWrapSelectors,
                        selectors: specSelectors
                    },
                    auth: {
                        wrapSelectors: authWrapSelectors
                    },
                    oas3: {
                        actions: oas3Actions,
                        reducers: _reducers2.default,
                        selectors: oas3Selectors
                    }
                }
            }
        };
        var _wrapSelectors = __webpack_require__(264);
        var specWrapSelectors = _interopRequireWildcard(_wrapSelectors);
        var _wrapSelectors2 = __webpack_require__(265);
        var authWrapSelectors = _interopRequireWildcard(_wrapSelectors2);
        var _selectors = __webpack_require__(266);
        var specSelectors = _interopRequireWildcard(_selectors);
        var _components = __webpack_require__(267);
        var _components2 = _interopRequireDefault(_components);
        var _wrapComponents = __webpack_require__(276);
        var _wrapComponents2 = _interopRequireDefault(_wrapComponents);
        var _actions = __webpack_require__(151);
        var oas3Actions = _interopRequireWildcard(_actions);
        var _selectors2 = __webpack_require__(284);
        var oas3Selectors = _interopRequireWildcard(_selectors2);
        var _reducers = __webpack_require__(285);
        var _reducers2 = _interopRequireDefault(_reducers);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }

        function _interopRequireWildcard(obj) {
            if (obj && obj.__esModule) {
                return obj
            } else {
                var newObj = {};
                if (obj != null) {
                    for (var key in obj) {
                        if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]
                    }
                }
                newObj.default = obj;
                return newObj
            }
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.isSwagger2 = exports.isOAS3 = exports.servers = exports.schemes = exports.produces = exports.consumes = exports.basePath = exports.host = exports.securityDefinitions = exports.hasHost = exports.definitions = undefined;
        var _reselect = __webpack_require__(37);
        var _immutable = __webpack_require__(7);
        var _helpers = __webpack_require__(24);

        function onlyOAS3(selector) {
            return function(ori, system) {
                return function() {
                    var spec = system.getSystem().specSelectors.specJson();
                    if ((0, _helpers.isOAS3)(spec)) {
                        return selector.apply(undefined, arguments)
                    } else {
                        return ori.apply(undefined, arguments)
                    }
                }
            }
        }
        var state = function state(_state) {
            return _state || (0, _immutable.Map)()
        };
        var nullSelector = (0, _reselect.createSelector)(function() {
            return null
        });
        var OAS3NullSelector = onlyOAS3(nullSelector);
        var specJson = (0, _reselect.createSelector)(state, function(spec) {
            return spec.get("json", (0, _immutable.Map)())
        });
        var specResolved = (0, _reselect.createSelector)(state, function(spec) {
            return spec.get("resolved", (0, _immutable.Map)())
        });
        var spec = function spec(state) {
            var res = specResolved(state);
            if (res.count() < 1) res = specJson(state);
            return res
        };
        var definitions = exports.definitions = onlyOAS3((0, _reselect.createSelector)(spec, function(spec) {
            return spec.getIn(["components", "schemas"]) || (0, _immutable.Map)()
        }));
        var hasHost = exports.hasHost = onlyOAS3(function(state) {
            return spec(state).hasIn(["servers", 0])
        });
        var securityDefinitions = exports.securityDefinitions = onlyOAS3((0, _reselect.createSelector)(spec, function(spec) {
            return spec.getIn(["components", "securitySchemes"]) || null
        }));
        var host = exports.host = OAS3NullSelector;
        var basePath = exports.basePath = OAS3NullSelector;
        var consumes = exports.consumes = OAS3NullSelector;
        var produces = exports.produces = OAS3NullSelector;
        var schemes = exports.schemes = OAS3NullSelector;
        var servers = exports.servers = onlyOAS3((0, _reselect.createSelector)(spec, function(spec) {
            return spec.getIn(["servers"]) || (0, _immutable.Map)()
        }));
        var isOAS3 = exports.isOAS3 = function isOAS3(ori, system) {
            return function() {
                var spec = system.getSystem().specSelectors.specJson();
                return (0, _helpers.isOAS3)(_immutable.Map.isMap(spec) ? spec : (0, _immutable.Map)())
            }
        };
        var isSwagger2 = exports.isSwagger2 = function isSwagger2(ori, system) {
            return function() {
                var spec = system.getSystem().specSelectors.specJson();
                return (0, _helpers.isSwagger2)(_immutable.Map.isMap(spec) ? spec : (0, _immutable.Map)())
            }
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.definitionsToAuthorize = undefined;
        var _defineProperty2 = __webpack_require__(18);
        var _defineProperty3 = _interopRequireDefault(_defineProperty2);
        var _slicedToArray2 = __webpack_require__(13);
        var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
        var _reselect = __webpack_require__(37);
        var _immutable = __webpack_require__(7);
        var _helpers = __webpack_require__(24);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var state = function state(_state) {
            return _state
        };

        function onlyOAS3(selector) {
            return function(ori, system) {
                return function(state) {
                    for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
                        args[_key - 1] = arguments[_key]
                    }
                    var spec = system.getSystem().specSelectors.specJson();
                    if ((0, _helpers.isOAS3)(spec)) {
                        return selector.apply(undefined, [system].concat(args))
                    } else {
                        return ori.apply(undefined, args)
                    }
                }
            }
        }
        var definitionsToAuthorize = exports.definitionsToAuthorize = onlyOAS3((0, _reselect.createSelector)(state, function(_ref) {
            var specSelectors = _ref.specSelectors;
            return specSelectors.securityDefinitions()
        }, function(system, definitions) {
            var list = (0, _immutable.List)();
            definitions.entrySeq().forEach(function(_ref2) {
                var _ref3 = (0, _slicedToArray3.default)(_ref2, 2),
                    defName = _ref3[0],
                    definition = _ref3[1];
                var type = definition.get("type");
                if (type === "oauth2") {
                    definition.get("flows").entrySeq().forEach(function(_ref4) {
                        var _ref5 = (0, _slicedToArray3.default)(_ref4, 2),
                            flowKey = _ref5[0],
                            flowVal = _ref5[1];
                        var translatedDef = (0, _immutable.fromJS)({
                            flow: flowKey,
                            authorizationUrl: flowVal.get("authorizationUrl"),
                            tokenUrl: flowVal.get("tokenUrl"),
                            scopes: flowVal.get("scopes"),
                            type: definition.get("type")
                        });
                        list = list.push(new _immutable.Map((0, _defineProperty3.default)({}, defName, translatedDef.filter(function(v) {
                            return v !== undefined
                        }))))
                    })
                }
                if (type === "http" || type === "apiKey") {
                    list = list.push(new _immutable.Map((0, _defineProperty3.default)({}, defName, definition)))
                }
            });
            return list
        }))
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.isSwagger2 = exports.servers = undefined;
        var _reselect = __webpack_require__(37);
        var _immutable = __webpack_require__(7);
        var _helpers = __webpack_require__(24);

        function onlyOAS3(selector) {
            return function() {
                return function(system) {
                    for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
                        args[_key - 1] = arguments[_key]
                    }
                    var spec = system.getSystem().specSelectors.specJson();
                    if ((0, _helpers.isOAS3)(spec)) {
                        return selector.apply(undefined, args)
                    } else {
                        return null
                    }
                }
            }
        }
        var state = function state(_state) {
            return _state || (0, _immutable.Map)()
        };
        var specJson = (0, _reselect.createSelector)(state, function(spec) {
            return spec.get("json", (0, _immutable.Map)())
        });
        var specResolved = (0, _reselect.createSelector)(state, function(spec) {
            return spec.get("resolved", (0, _immutable.Map)())
        });
        var spec = function spec(state) {
            var res = specResolved(state);
            if (res.count() < 1) res = specJson(state);
            return res
        };
        var servers = exports.servers = onlyOAS3((0, _reselect.createSelector)(spec, function(spec) {
            return spec.getIn(["servers"]) || (0, _immutable.Map)()
        }));
        var isSwagger2 = exports.isSwagger2 = function isSwagger2(ori, system) {
            return function() {
                var spec = system.getSystem().specSelectors.specJson();
                return (0, _helpers.isSwagger2)(spec)
            }
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _callbacks = __webpack_require__(268);
        var _callbacks2 = _interopRequireDefault(_callbacks);
        var _requestBody = __webpack_require__(269);
        var _requestBody2 = _interopRequireDefault(_requestBody);
        var _operationLink = __webpack_require__(270);
        var _operationLink2 = _interopRequireDefault(_operationLink);
        var _servers = __webpack_require__(271);
        var _servers2 = _interopRequireDefault(_servers);
        var _serversContainer = __webpack_require__(272);
        var _serversContainer2 = _interopRequireDefault(_serversContainer);
        var _requestBodyEditor = __webpack_require__(273);
        var _requestBodyEditor2 = _interopRequireDefault(_requestBodyEditor);
        var _httpAuth = __webpack_require__(274);
        var _httpAuth2 = _interopRequireDefault(_httpAuth);
        var _operationServers = __webpack_require__(275);
        var _operationServers2 = _interopRequireDefault(_operationServers);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        exports.default = {
            Callbacks: _callbacks2.default,
            HttpAuth: _httpAuth2.default,
            RequestBody: _requestBody2.default,
            Servers: _servers2.default,
            ServersContainer: _serversContainer2.default,
            RequestBodyEditor: _requestBodyEditor2.default,
            OperationServers: _operationServers2.default,
            operationLink: _operationLink2.default
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _extends2 = __webpack_require__(21);
        var _extends3 = _interopRequireDefault(_extends2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _reactImmutableProptypes = __webpack_require__(9);
        var _reactImmutableProptypes2 = _interopRequireDefault(_reactImmutableProptypes);
        var _immutable = __webpack_require__(7);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var Callbacks = function Callbacks(props) {
            var callbacks = props.callbacks,
                getComponent = props.getComponent,
                specPath = props.specPath;
            var OperationContainer = getComponent("OperationContainer", true);
            if (!callbacks) {
                return _react2.default.createElement("span", null, "No callbacks")
            }
            var callbackElements = callbacks.map(function(callback, callbackName) {
                return _react2.default.createElement("div", {
                    key: callbackName
                }, _react2.default.createElement("h2", null, callbackName), callback.map(function(pathItem, pathItemName) {
                    if (pathItemName === "$$ref") {
                        return null
                    }
                    return _react2.default.createElement("div", {
                        key: pathItemName
                    }, pathItem.map(function(operation, method) {
                        if (method === "$$ref") {
                            return null
                        }
                        var op = (0, _immutable.fromJS)({
                            operation: operation
                        });
                        return _react2.default.createElement(OperationContainer, (0, _extends3.default)({}, props, {
                            op: op,
                            key: method,
                            tag: "",
                            method: method,
                            path: pathItemName,
                            specPath: specPath.push(callbackName, pathItemName, method),
                            allowTryItOut: false
                        }))
                    }))
                }))
            });
            return _react2.default.createElement("div", null, callbackElements)
        };
        exports.default = Callbacks
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _reactImmutableProptypes = __webpack_require__(9);
        var _reactImmutableProptypes2 = _interopRequireDefault(_reactImmutableProptypes);
        var _immutable = __webpack_require__(7);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var RequestBody = function RequestBody(_ref) {
            var requestBody = _ref.requestBody,
                requestBodyValue = _ref.requestBodyValue,
                getComponent = _ref.getComponent,
                getConfigs = _ref.getConfigs,
                specSelectors = _ref.specSelectors,
                fn = _ref.fn,
                contentType = _ref.contentType,
                isExecute = _ref.isExecute,
                specPath = _ref.specPath,
                _onChange = _ref.onChange;
            var handleFile = function handleFile(e) {
                _onChange(e.target.files[0])
            };
            var Markdown = getComponent("Markdown");
            var ModelExample = getComponent("modelExample");
            var RequestBodyEditor = getComponent("RequestBodyEditor");
            var requestBodyDescription = requestBody && requestBody.get("description") || null;
            var requestBodyContent = requestBody && requestBody.get("content") || new _immutable.OrderedMap;
            contentType = contentType || requestBodyContent.keySeq().first();
            var mediaTypeValue = requestBodyContent.get(contentType);
            var isObjectContent = mediaTypeValue.getIn(["schema", "type"]) === "object";
            if (!mediaTypeValue) {
                return null
            }
            if (contentType === "application/octet-stream" || contentType.indexOf("image/") === 0 || contentType.indexOf("audio/") === 0 || contentType.indexOf("video/") === 0) {
                var Input = getComponent("Input");
                if (!isExecute) {
                    return _react2.default.createElement("i", null, "Example values are not available for ", _react2.default.createElement("code", null, "application/octet-stream"), " media types.")
                }
                return _react2.default.createElement(Input, {
                    type: "file",
                    onChange: handleFile
                })
            }
            if (isObjectContent && (contentType === "application/x-www-form-urlencoded" || contentType.indexOf("multipart/") === 0)) {
                var JsonSchemaForm = getComponent("JsonSchemaForm");
                var schemaForContentType = requestBody.getIn(["content", contentType, "schema"], (0, _immutable.OrderedMap)());
                var bodyProperties = schemaForContentType.getIn(["properties"], (0, _immutable.OrderedMap)());
                requestBodyValue = _immutable.Map.isMap(requestBodyValue) ? requestBodyValue : (0, _immutable.OrderedMap)();
                return _react2.default.createElement("div", {
                    className: "table-container"
                }, _react2.default.createElement("table", null, _react2.default.createElement("tbody", null, bodyProperties.map(function(prop, key) {
                    var required = schemaForContentType.get("required", (0, _immutable.List)()).includes(key);
                    var type = prop.get("type");
                    var format = prop.get("format");
                    var currentValue = requestBodyValue.get(key);
                    var initialValue = prop.get("default") || prop.get("example") || "";
                    var isFile = type === "string" && (format === "binary" || format === "base64");
                    return _react2.default.createElement("tr", {
                        key: key,
                        className: "parameters"
                    }, _react2.default.createElement("td", {
                        className: "col parameters-col_name"
                    }, _react2.default.createElement("div", {
                        className: required ? "parameter__name required" : "parameter__name"
                    }, key, !required ? null : _react2.default.createElement("span", {
                        style: {
                            color: "red"
                        }
                    }, " *")), _react2.default.createElement("div", {
                        className: "parameter__type"
                    }, type, format && _react2.default.createElement("span", {
                        className: "prop-format"
                    }, "($", format, ")")), _react2.default.createElement("div", {
                        className: "parameter__deprecated"
                    }, prop.get("deprecated") ? "deprecated" : null)), _react2.default.createElement("td", {
                        className: "col parameters-col_description"
                    }, prop.get("description"), isExecute ? _react2.default.createElement("div", null, _react2.default.createElement(JsonSchemaForm, {
                        fn: fn,
                        dispatchInitialValue: !isFile,
                        schema: prop,
                        description: key + " - " + prop.get("description"),
                        getComponent: getComponent,
                        value: currentValue === undefined ? initialValue : currentValue,
                        onChange: function onChange(value) {
                            _onChange(value, [key])
                        }
                    })) : null))
                }))))
            }
            return _react2.default.createElement("div", null, requestBodyDescription && _react2.default.createElement(Markdown, {
                source: requestBodyDescription
            }), _react2.default.createElement(ModelExample, {
                getComponent: getComponent,
                getConfigs: getConfigs,
                specSelectors: specSelectors,
                expandDepth: 1,
                isExecute: isExecute,
                schema: mediaTypeValue.get("schema"),
                specPath: specPath.push("content", contentType),
                example: _react2.default.createElement(RequestBodyEditor, {
                    requestBody: requestBody,
                    onChange: _onChange,
                    mediaType: contentType,
                    getComponent: getComponent,
                    isExecute: isExecute,
                    specSelectors: specSelectors
                })
            }))
        };
        exports.default = RequestBody
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _stringify = __webpack_require__(30);
        var _stringify2 = _interopRequireDefault(_stringify);
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _reactImmutableProptypes = __webpack_require__(9);
        var _reactImmutableProptypes2 = _interopRequireDefault(_reactImmutableProptypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var OperationLink = function(_Component) {
            (0, _inherits3.default)(OperationLink, _Component);

            function OperationLink() {
                (0, _classCallCheck3.default)(this, OperationLink);
                return (0, _possibleConstructorReturn3.default)(this, (OperationLink.__proto__ || (0, _getPrototypeOf2.default)(OperationLink)).apply(this, arguments))
            }(0, _createClass3.default)(OperationLink, [{
                key: "render",
                value: function render() {
                    var _props = this.props,
                        link = _props.link,
                        name = _props.name,
                        getComponent = _props.getComponent;
                    var Markdown = getComponent("Markdown");
                    var targetOp = link.get("operationId") || link.get("operationRef");
                    var parameters = link.get("parameters") && link.get("parameters").toJS();
                    var description = link.get("description");
                    return _react2.default.createElement("div", {
                        style: {
                            marginBottom: "1.5em"
                        }
                    }, _react2.default.createElement("div", {
                        style: {
                            marginBottom: ".5em"
                        }
                    }, _react2.default.createElement("b", null, _react2.default.createElement("code", null, name)), description ? _react2.default.createElement(Markdown, {
                        source: description
                    }) : null), _react2.default.createElement("pre", null, "Operation `", targetOp, "`", _react2.default.createElement("br", null), _react2.default.createElement("br", null), "Parameters ", padString(0, (0, _stringify2.default)(parameters, null, 2)) || "{}", _react2.default.createElement("br", null)))
                }
            }]);
            return OperationLink
        }(_react.Component);

        function padString(n, string) {
            if (typeof string !== "string") {
                return ""
            }
            return string.split("\n").map(function(line, i) {
                return i > 0 ? Array(n + 1).join(" ") + line : line
            }).join("\n")
        }
        exports.default = OperationLink
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _immutable = __webpack_require__(7);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _reactImmutableProptypes = __webpack_require__(9);
        var _reactImmutableProptypes2 = _interopRequireDefault(_reactImmutableProptypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var Servers = function(_React$Component) {
            (0, _inherits3.default)(Servers, _React$Component);

            function Servers() {
                var _ref;
                var _temp, _this, _ret;
                (0, _classCallCheck3.default)(this, Servers);
                for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
                    args[_key] = arguments[_key]
                }
                return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = Servers.__proto__ || (0, _getPrototypeOf2.default)(Servers)).call.apply(_ref, [this].concat(args))), _this), _this.onServerChange = function(e) {
                    _this.setServer(e.target.value)
                }, _this.onServerVariableValueChange = function(e) {
                    var _this$props = _this.props,
                        setServerVariableValue = _this$props.setServerVariableValue,
                        currentServer = _this$props.currentServer;
                    var variableName = e.target.getAttribute("data-variable");
                    var newVariableValue = e.target.value;
                    if (typeof setServerVariableValue === "function") {
                        setServerVariableValue({
                            server: currentServer,
                            key: variableName,
                            val: newVariableValue
                        })
                    }
                }, _this.setServer = function(value) {
                    var setSelectedServer = _this.props.setSelectedServer;
                    setSelectedServer(value)
                }, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret)
            }(0, _createClass3.default)(Servers, [{
                key: "componentDidMount",
                value: function componentDidMount() {
                    var _props = this.props,
                        servers = _props.servers,
                        currentServer = _props.currentServer;
                    if (currentServer) {
                        return
                    }
                    this.setServer(servers.first().get("url"))
                }
            }, {
                key: "componentWillReceiveProps",
                value: function componentWillReceiveProps(nextProps) {
                    var _props2 = this.props,
                        servers = _props2.servers,
                        setServerVariableValue = _props2.setServerVariableValue,
                        getServerVariable = _props2.getServerVariable;
                    if (this.props.currentServer !== nextProps.currentServer) {
                        var currentServerDefinition = servers.find(function(v) {
                            return v.get("url") === nextProps.currentServer
                        });
                        if (!currentServerDefinition) {
                            return this.setServer(servers.first().get("url"))
                        }
                        var currentServerVariableDefs = currentServerDefinition.get("variables") || (0, _immutable.OrderedMap)();
                        currentServerVariableDefs.map(function(val, key) {
                            var currentValue = getServerVariable(nextProps.currentServer, key);
                            if (!currentValue) {
                                setServerVariableValue({
                                    server: nextProps.currentServer,
                                    key: key,
                                    val: val.get("default") || ""
                                })
                            }
                        })
                    }
                }
            }, {
                key: "render",
                value: function render() {
                    var _this2 = this;
                    var _props3 = this.props,
                        servers = _props3.servers,
                        currentServer = _props3.currentServer,
                        getServerVariable = _props3.getServerVariable,
                        getEffectiveServerValue = _props3.getEffectiveServerValue;
                    var currentServerDefinition = servers.find(function(v) {
                        return v.get("url") === currentServer
                    }) || (0, _immutable.OrderedMap)();
                    var currentServerVariableDefs = currentServerDefinition.get("variables") || (0, _immutable.OrderedMap)();
                    var shouldShowVariableUI = currentServerVariableDefs.size !== 0;
                    return _react2.default.createElement("div", {
                        className: "servers"
                    }, _react2.default.createElement("label", {
                        htmlFor: "servers"
                    }, _react2.default.createElement("select", {
                        onChange: this.onServerChange
                    }, servers.valueSeq().map(function(server) {
                        return _react2.default.createElement("option", {
                            value: server.get("url"),
                            key: server.get("url")
                        }, server.get("url"))
                    }).toArray())), shouldShowVariableUI ? _react2.default.createElement("div", null, _react2.default.createElement("div", {
                        className: "computed-url"
                    }, "Computed URL:", _react2.default.createElement("code", null, getEffectiveServerValue(currentServer))), _react2.default.createElement("h4", null, "Server variables"), _react2.default.createElement("table", null, _react2.default.createElement("tbody", null, currentServerVariableDefs.map(function(val, name) {
                        return _react2.default.createElement("tr", {
                            key: name
                        }, _react2.default.createElement("td", null, name), _react2.default.createElement("td", null, val.get("enum") ? _react2.default.createElement("select", {
                            "data-variable": name,
                            onChange: _this2.onServerVariableValueChange
                        }, val.get("enum").map(function(enumValue) {
                            return _react2.default.createElement("option", {
                                selected: enumValue === getServerVariable(currentServer, name),
                                key: enumValue,
                                value: enumValue
                            }, enumValue)
                        })) : _react2.default.createElement("input", {
                            type: "text",
                            value: getServerVariable(currentServer, name) || "",
                            onChange: _this2.onServerVariableValueChange,
                            "data-variable": name
                        })))
                    })))) : null)
                }
            }]);
            return Servers
        }(_react2.default.Component);
        exports.default = Servers
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var ServersContainer = function(_React$Component) {
            (0, _inherits3.default)(ServersContainer, _React$Component);

            function ServersContainer() {
                (0, _classCallCheck3.default)(this, ServersContainer);
                return (0, _possibleConstructorReturn3.default)(this, (ServersContainer.__proto__ || (0, _getPrototypeOf2.default)(ServersContainer)).apply(this, arguments))
            }(0, _createClass3.default)(ServersContainer, [{
                key: "render",
                value: function render() {
                    var _props = this.props,
                        specSelectors = _props.specSelectors,
                        oas3Selectors = _props.oas3Selectors,
                        oas3Actions = _props.oas3Actions,
                        getComponent = _props.getComponent;
                    var servers = specSelectors.servers();
                    var Col = getComponent("Col");
                    var Servers = getComponent("Servers");
                    return _react2.default.createElement("div", null, servers && servers.size ? _react2.default.createElement("div", {
                        className: "global-server-container"
                    }, _react2.default.createElement(Col, {
                        className: "servers wrapper",
                        mobile: 12
                    }, _react2.default.createElement("span", {
                        className: "servers-title"
                    }, "Server"), _react2.default.createElement(Servers, {
                        servers: servers,
                        currentServer: oas3Selectors.selectedServer(),
                        setSelectedServer: oas3Actions.setSelectedServer,
                        setServerVariableValue: oas3Actions.setServerVariableValue,
                        getServerVariable: oas3Selectors.serverVariableValue,
                        getEffectiveServerValue: oas3Selectors.serverEffectiveValue
                    }))) : null)
                }
            }]);
            return ServersContainer
        }(_react2.default.Component);
        exports.default = ServersContainer
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _immutable = __webpack_require__(7);
        var _utils = __webpack_require__(8);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var NOOP = Function.prototype;
        var RequestBodyEditor = function(_PureComponent) {
            (0, _inherits3.default)(RequestBodyEditor, _PureComponent);

            function RequestBodyEditor(props, context) {
                (0, _classCallCheck3.default)(this, RequestBodyEditor);
                var _this = (0, _possibleConstructorReturn3.default)(this, (RequestBodyEditor.__proto__ || (0, _getPrototypeOf2.default)(RequestBodyEditor)).call(this, props, context));
                _this.setValueToSample = function(explicitMediaType) {
                    _this.onChange(_this.sample(explicitMediaType))
                };
                _this.resetValueToSample = function(explicitMediaType) {
                    _this.setState({
                        userDidModify: false
                    });
                    _this.setValueToSample(explicitMediaType)
                };
                _this.sample = function(explicitMediaType) {
                    var _this$props = _this.props,
                        requestBody = _this$props.requestBody,
                        mediaType = _this$props.mediaType;
                    var mediaTypeValue = requestBody.getIn(["content", explicitMediaType || mediaType]);
                    var schema = mediaTypeValue.get("schema").toJS();
                    var mediaTypeExample = mediaTypeValue.get("example") !== undefined ? (0, _utils.stringify)(mediaTypeValue.get("example")) : null;
                    return mediaTypeExample || (0, _utils.getSampleSchema)(schema, explicitMediaType || mediaType, {
                        includeWriteOnly: true
                    })
                };
                _this.onChange = function(value) {
                    _this.setState({
                        value: value
                    });
                    _this.props.onChange(value)
                };
                _this.handleOnChange = function(e) {
                    var mediaType = _this.props.mediaType;
                    var isJson = /json/i.test(mediaType);
                    var inputValue = isJson ? e.target.value.trim() : e.target.value;
                    _this.setState({
                        userDidModify: true
                    });
                    _this.onChange(inputValue)
                };
                _this.toggleIsEditBox = function() {
                    return _this.setState(function(state) {
                        return {
                            isEditBox: !state.isEditBox
                        }
                    })
                };
                _this.state = {
                    isEditBox: false,
                    userDidModify: false,
                    value: ""
                };
                return _this
            }(0, _createClass3.default)(RequestBodyEditor, [{
                key: "componentDidMount",
                value: function componentDidMount() {
                    this.setValueToSample.call(this)
                }
            }, {
                key: "componentWillReceiveProps",
                value: function componentWillReceiveProps(nextProps) {
                    if (this.props.mediaType !== nextProps.mediaType) {
                        this.setValueToSample(nextProps.mediaType)
                    }
                    if (!this.props.isExecute && nextProps.isExecute) {
                        this.setState({
                            isEditBox: true
                        })
                    }
                }
            }, {
                key: "componentDidUpdate",
                value: function componentDidUpdate(prevProps) {
                    if (this.props.requestBody !== prevProps.requestBody) {
                        this.setValueToSample(this.props.mediaType)
                    }
                }
            }, {
                key: "render",
                value: function render() {
                    var _this2 = this;
                    var _props = this.props,
                        isExecute = _props.isExecute,
                        getComponent = _props.getComponent,
                        mediaType = _props.mediaType;
                    var Button = getComponent("Button");
                    var TextArea = getComponent("TextArea");
                    var HighlightCode = getComponent("highlightCode");
                    var _state = this.state,
                        value = _state.value,
                        isEditBox = _state.isEditBox,
                        userDidModify = _state.userDidModify;
                    return _react2.default.createElement("div", {
                        className: "body-param"
                    }, isEditBox && isExecute ? _react2.default.createElement(TextArea, {
                        className: "body-param__text",
                        value: value,
                        onChange: this.handleOnChange
                    }) : value && _react2.default.createElement(HighlightCode, {
                        className: "body-param__example",
                        value: value
                    }), _react2.default.createElement("div", {
                        className: "body-param-options"
                    }, _react2.default.createElement("div", {
                        className: "body-param-edit"
                    }, !isExecute ? null : _react2.default.createElement(Button, {
                        className: isEditBox ? "btn cancel body-param__example-edit" : "btn edit body-param__example-edit",
                        onClick: this.toggleIsEditBox
                    }, isEditBox ? "Cancel" : "Edit"), userDidModify && _react2.default.createElement(Button, {
                        className: "btn ml3",
                        onClick: function onClick() {
                            _this2.resetValueToSample(mediaType)
                        }
                    }, "Reset"))))
                }
            }]);
            return RequestBodyEditor
        }(_react.PureComponent);
        RequestBodyEditor.defaultProps = {
            mediaType: "application/json",
            requestBody: (0, _immutable.fromJS)({}),
            onChange: NOOP
        };
        exports.default = RequestBodyEditor
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _assign = __webpack_require__(19);
        var _assign2 = _interopRequireDefault(_assign);
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var HttpAuth = function(_React$Component) {
            (0, _inherits3.default)(HttpAuth, _React$Component);

            function HttpAuth(props, context) {
                (0, _classCallCheck3.default)(this, HttpAuth);
                var _this = (0, _possibleConstructorReturn3.default)(this, (HttpAuth.__proto__ || (0, _getPrototypeOf2.default)(HttpAuth)).call(this, props, context));
                _initialiseProps.call(_this);
                var _this$props = _this.props,
                    name = _this$props.name,
                    schema = _this$props.schema;
                var value = _this.getValue();
                _this.state = {
                    name: name,
                    schema: schema,
                    value: value
                };
                return _this
            }(0, _createClass3.default)(HttpAuth, [{
                key: "getValue",
                value: function getValue() {
                    var _props = this.props,
                        name = _props.name,
                        authorized = _props.authorized;
                    return authorized && authorized.getIn([name, "value"])
                }
            }, {
                key: "render",
                value: function render() {
                    var _props2 = this.props,
                        schema = _props2.schema,
                        getComponent = _props2.getComponent,
                        errSelectors = _props2.errSelectors,
                        name = _props2.name;
                    var Input = getComponent("Input");
                    var Row = getComponent("Row");
                    var Col = getComponent("Col");
                    var AuthError = getComponent("authError");
                    var Markdown = getComponent("Markdown");
                    var JumpToPath = getComponent("JumpToPath", true);
                    var scheme = (schema.get("scheme") || "").toLowerCase();
                    var value = this.getValue();
                    var errors = errSelectors.allErrors().filter(function(err) {
                        return err.get("authId") === name
                    });
                    if (scheme === "basic") {
                        var username = value ? value.get("username") : null;
                        return _react2.default.createElement("div", null, _react2.default.createElement("h4", null, _react2.default.createElement("code", null, name || schema.get("name")), "  (http, Basic)", _react2.default.createElement(JumpToPath, {
                            path: ["securityDefinitions", name]
                        })), username && _react2.default.createElement("h6", null, "Authorized"), _react2.default.createElement(Row, null, _react2.default.createElement(Markdown, {
                            source: schema.get("description")
                        })), _react2.default.createElement(Row, null, _react2.default.createElement("label", null, "Username:"), username ? _react2.default.createElement("code", null, " ", username, " ") : _react2.default.createElement(Col, null, _react2.default.createElement(Input, {
                            type: "text",
                            required: "required",
                            name: "username",
                            onChange: this.onChange
                        }))), _react2.default.createElement(Row, null, _react2.default.createElement("label", null, "Password:"), username ? _react2.default.createElement("code", null, " ****** ") : _react2.default.createElement(Col, null, _react2.default.createElement(Input, {
                            required: "required",
                            autoComplete: "new-password",
                            name: "password",
                            type: "password",
                            onChange: this.onChange
                        }))), errors.valueSeq().map(function(error, key) {
                            return _react2.default.createElement(AuthError, {
                                error: error,
                                key: key
                            })
                        }))
                    }
                    if (scheme === "bearer") {
                        return _react2.default.createElement("div", null, _react2.default.createElement("h4", null, _react2.default.createElement("code", null, name || schema.get("name")), "  (http, Bearer)", _react2.default.createElement(JumpToPath, {
                            path: ["securityDefinitions", name]
                        })), value && _react2.default.createElement("h6", null, "Authorized"), _react2.default.createElement(Row, null, _react2.default.createElement(Markdown, {
                            source: schema.get("description")
                        })), _react2.default.createElement(Row, null, _react2.default.createElement("label", null, "Value:"), value ? _react2.default.createElement("code", null, " ****** ") : _react2.default.createElement(Col, null, _react2.default.createElement(Input, {
                            type: "text",
                            onChange: this.onChange
                        }))), errors.valueSeq().map(function(error, key) {
                            return _react2.default.createElement(AuthError, {
                                error: error,
                                key: key
                            })
                        }))
                    }
                    return _react2.default.createElement("div", null, _react2.default.createElement("em", null, _react2.default.createElement("b", null, name), " HTTP authentication: unsupported scheme ", "'" + scheme + "'"))
                }
            }]);
            return HttpAuth
        }(_react2.default.Component);
        var _initialiseProps = function _initialiseProps() {
            var _this2 = this;
            this.onChange = function(e) {
                var onChange = _this2.props.onChange;
                var _e$target = e.target,
                    value = _e$target.value,
                    name = _e$target.name;
                var newValue = (0, _assign2.default)({}, _this2.state.value);
                if (name) {
                    newValue[name] = value
                } else {
                    newValue = value
                }
                _this2.setState({
                    value: newValue
                }, function() {
                    return onChange(_this2.state)
                })
            }
        };
        exports.default = HttpAuth
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _extends2 = __webpack_require__(21);
        var _extends3 = _interopRequireDefault(_extends2);
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _reactImmutableProptypes = __webpack_require__(9);
        var _reactImmutableProptypes2 = _interopRequireDefault(_reactImmutableProptypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var OperationServers = function(_React$Component) {
            (0, _inherits3.default)(OperationServers, _React$Component);

            function OperationServers() {
                var _ref;
                var _temp, _this, _ret;
                (0, _classCallCheck3.default)(this, OperationServers);
                for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
                    args[_key] = arguments[_key]
                }
                return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = OperationServers.__proto__ || (0, _getPrototypeOf2.default)(OperationServers)).call.apply(_ref, [this].concat(args))), _this), _this.setSelectedServer = function(server) {
                    var _this$props = _this.props,
                        path = _this$props.path,
                        method = _this$props.method;
                    _this.forceUpdate();
                    return _this.props.setSelectedServer(server, path + ":" + method)
                }, _this.setServerVariableValue = function(obj) {
                    var _this$props2 = _this.props,
                        path = _this$props2.path,
                        method = _this$props2.method;
                    _this.forceUpdate();
                    return _this.props.setServerVariableValue((0, _extends3.default)({}, obj, {
                        namespace: path + ":" + method
                    }))
                }, _this.getSelectedServer = function() {
                    var _this$props3 = _this.props,
                        path = _this$props3.path,
                        method = _this$props3.method;
                    return _this.props.getSelectedServer(path + ":" + method)
                }, _this.getServerVariable = function(server, key) {
                    var _this$props4 = _this.props,
                        path = _this$props4.path,
                        method = _this$props4.method;
                    return _this.props.getServerVariable({
                        namespace: path + ":" + method,
                        server: server
                    }, key)
                }, _this.getEffectiveServerValue = function(server) {
                    var _this$props5 = _this.props,
                        path = _this$props5.path,
                        method = _this$props5.method;
                    return _this.props.getEffectiveServerValue({
                        server: server,
                        namespace: path + ":" + method
                    })
                }, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret)
            }(0, _createClass3.default)(OperationServers, [{
                key: "render",
                value: function render() {
                    var _props = this.props,
                        operationServers = _props.operationServers,
                        pathServers = _props.pathServers,
                        getComponent = _props.getComponent;
                    if (!operationServers && !pathServers) {
                        return null
                    }
                    var Servers = getComponent("Servers");
                    var serversToDisplay = operationServers || pathServers;
                    var displaying = operationServers ? "operation" : "path";
                    return _react2.default.createElement("div", {
                        className: "opblock-section operation-servers"
                    }, _react2.default.createElement("div", {
                        className: "opblock-section-header"
                    }, _react2.default.createElement("div", {
                        className: "tab-header"
                    }, _react2.default.createElement("h4", {
                        className: "opblock-title"
                    }, "Servers"))), _react2.default.createElement("div", {
                        className: "opblock-description-wrapper"
                    }, _react2.default.createElement("h4", {
                        className: "message"
                    }, "These ", displaying, "-level options override the global server options."), _react2.default.createElement(Servers, {
                        servers: serversToDisplay,
                        currentServer: this.getSelectedServer(),
                        setSelectedServer: this.setSelectedServer,
                        setServerVariableValue: this.setServerVariableValue,
                        getServerVariable: this.getServerVariable,
                        getEffectiveServerValue: this.getEffectiveServerValue
                    })))
                }
            }]);
            return OperationServers
        }(_react2.default.Component);
        exports.default = OperationServers
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _markdown = __webpack_require__(277);
        var _markdown2 = _interopRequireDefault(_markdown);
        var _authItem = __webpack_require__(278);
        var _authItem2 = _interopRequireDefault(_authItem);
        var _parameters = __webpack_require__(279);
        var _parameters2 = _interopRequireDefault(_parameters);
        var _versionStamp = __webpack_require__(280);
        var _versionStamp2 = _interopRequireDefault(_versionStamp);
        var _onlineValidatorBadge = __webpack_require__(281);
        var _onlineValidatorBadge2 = _interopRequireDefault(_onlineValidatorBadge);
        var _model = __webpack_require__(282);
        var _model2 = _interopRequireDefault(_model);
        var _jsonSchemaString = __webpack_require__(283);
        var _jsonSchemaString2 = _interopRequireDefault(_jsonSchemaString);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        exports.default = {
            Markdown: _markdown2.default,
            AuthItem: _authItem2.default,
            parameters: _parameters2.default,
            JsonSchema_string: _jsonSchemaString2.default,
            VersionStamp: _versionStamp2.default,
            model: _model2.default,
            onlineValidatorBadge: _onlineValidatorBadge2.default
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.Markdown = undefined;
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _classnames = __webpack_require__(75);
        var _classnames2 = _interopRequireDefault(_classnames);
        var _remarkable = __webpack_require__(262);
        var _remarkable2 = _interopRequireDefault(_remarkable);
        var _helpers = __webpack_require__(24);
        var _markdown = __webpack_require__(261);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var parser = new _remarkable2.default("commonmark");
        parser.set({
            linkTarget: "_blank"
        });
        var Markdown = exports.Markdown = function Markdown(_ref) {
            var source = _ref.source,
                _ref$className = _ref.className,
                className = _ref$className === undefined ? "" : _ref$className;
            if (source) {
                var html = parser.render(source);
                var sanitized = (0, _markdown.sanitizer)(html);
                var trimmed = void 0;
                if (typeof sanitized === "string") {
                    trimmed = sanitized.trim()
                }
                return _react2.default.createElement("div", {
                    dangerouslySetInnerHTML: {
                        __html: trimmed
                    },
                    className: (0, _classnames2.default)(className, "renderedMarkdown")
                })
            }
            return null
        };
        exports.default = (0, _helpers.OAS3ComponentWrapFactory)(Markdown)
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _objectWithoutProperties2 = __webpack_require__(71);
        var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _helpers = __webpack_require__(24);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        exports.default = (0, _helpers.OAS3ComponentWrapFactory)(function(_ref) {
            var Ori = _ref.Ori,
                props = (0, _objectWithoutProperties3.default)(_ref, ["Ori"]);
            var schema = props.schema,
                getComponent = props.getComponent,
                errSelectors = props.errSelectors,
                authorized = props.authorized,
                onAuthChange = props.onAuthChange,
                name = props.name;
            var HttpAuth = getComponent("HttpAuth");
            var type = schema.get("type");
            if (type === "http") {
                return _react2.default.createElement(HttpAuth, {
                    key: name,
                    schema: schema,
                    name: name,
                    errSelectors: errSelectors,
                    authorized: authorized,
                    getComponent: getComponent,
                    onChange: onAuthChange
                })
            } else {
                return _react2.default.createElement(Ori, props)
            }
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _toConsumableArray2 = __webpack_require__(70);
        var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _immutable = __webpack_require__(7);
        var _immutable2 = _interopRequireDefault(_immutable);
        var _reactImmutableProptypes = __webpack_require__(9);
        var _reactImmutableProptypes2 = _interopRequireDefault(_reactImmutableProptypes);
        var _helpers = __webpack_require__(24);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var eachMap = function eachMap(iterable, fn) {
            return iterable.valueSeq().filter(_immutable2.default.Map.isMap).map(fn)
        };
        var Parameters = function(_Component) {
            (0, _inherits3.default)(Parameters, _Component);

            function Parameters(props) {
                (0, _classCallCheck3.default)(this, Parameters);
                var _this = (0, _possibleConstructorReturn3.default)(this, (Parameters.__proto__ || (0, _getPrototypeOf2.default)(Parameters)).call(this, props));
                _this.onChange = function(param, value, isXml) {
                    var _this$props = _this.props,
                        changeParamByIdentity = _this$props.specActions.changeParamByIdentity,
                        onChangeKey = _this$props.onChangeKey;
                    changeParamByIdentity(onChangeKey, param, value, isXml)
                };
                _this.onChangeConsumesWrapper = function(val) {
                    var _this$props2 = _this.props,
                        changeConsumesValue = _this$props2.specActions.changeConsumesValue,
                        onChangeKey = _this$props2.onChangeKey;
                    changeConsumesValue(onChangeKey, val)
                };
                _this.toggleTab = function(tab) {
                    if (tab === "parameters") {
                        return _this.setState({
                            parametersVisible: true,
                            callbackVisible: false
                        })
                    } else if (tab === "callbacks") {
                        return _this.setState({
                            callbackVisible: true,
                            parametersVisible: false
                        })
                    }
                };
                _this.state = {
                    callbackVisible: false,
                    parametersVisible: true
                };
                return _this
            }(0, _createClass3.default)(Parameters, [{
                key: "render",
                value: function render() {
                    var _this2 = this;
                    var _props = this.props,
                        onTryoutClick = _props.onTryoutClick,
                        onCancelClick = _props.onCancelClick,
                        parameters = _props.parameters,
                        allowTryItOut = _props.allowTryItOut,
                        tryItOutEnabled = _props.tryItOutEnabled,
                        fn = _props.fn,
                        getComponent = _props.getComponent,
                        getConfigs = _props.getConfigs,
                        specSelectors = _props.specSelectors,
                        specActions = _props.specActions,
                        oas3Actions = _props.oas3Actions,
                        oas3Selectors = _props.oas3Selectors,
                        pathMethod = _props.pathMethod,
                        specPath = _props.specPath,
                        operation = _props.operation;
                    var ParameterRow = getComponent("parameterRow");
                    var TryItOutButton = getComponent("TryItOutButton");
                    var ContentType = getComponent("contentType");
                    var Callbacks = getComponent("Callbacks", true);
                    var RequestBody = getComponent("RequestBody", true);
                    var isExecute = tryItOutEnabled && allowTryItOut;
                    var isOAS3 = specSelectors.isOAS3;
                    var requestBody = operation.get("requestBody");
                    var requestBodySpecPath = specPath.slice(0, -1).push("requestBody");
                    return _react2.default.createElement("div", {
                        className: "opblock-section"
                    }, _react2.default.createElement("div", {
                        className: "opblock-section-header"
                    }, _react2.default.createElement("div", {
                        className: "tab-header"
                    }, _react2.default.createElement("div", {
                        onClick: function onClick() {
                            return _this2.toggleTab("parameters")
                        },
                        className: "tab-item " + (this.state.parametersVisible && "active")
                    }, _react2.default.createElement("h4", {
                        className: "opblock-title"
                    }, _react2.default.createElement("span", null, "Parameters"))), operation.get("callbacks") ? _react2.default.createElement("div", {
                        onClick: function onClick() {
                            return _this2.toggleTab("callbacks")
                        },
                        className: "tab-item " + (this.state.callbackVisible && "active")
                    }, _react2.default.createElement("h4", {
                        className: "opblock-title"
                    }, _react2.default.createElement("span", null, "Callbacks"))) : null), allowTryItOut ? _react2.default.createElement(TryItOutButton, {
                        enabled: tryItOutEnabled,
                        onCancelClick: onCancelClick,
                        onTryoutClick: onTryoutClick
                    }) : null), this.state.parametersVisible ? _react2.default.createElement("div", {
                        className: "parameters-container"
                    }, !parameters.count() ? _react2.default.createElement("div", {
                        className: "opblock-description-wrapper"
                    }, _react2.default.createElement("p", null, "No parameters")) : _react2.default.createElement("div", {
                        className: "table-container"
                    }, _react2.default.createElement("table", {
                        className: "parameters"
                    }, _react2.default.createElement("thead", null, _react2.default.createElement("tr", null, _react2.default.createElement("th", {
                        className: "col col_header parameters-col_name"
                    }, "Name"), _react2.default.createElement("th", {
                        className: "col col_header parameters-col_description"
                    }, "Description"))), _react2.default.createElement("tbody", null, eachMap(parameters, function(parameter, i) {
                        return _react2.default.createElement(ParameterRow, {
                            fn: fn,
                            getComponent: getComponent,
                            specPath: specPath.push(i),
                            getConfigs: getConfigs,
                            rawParam: parameter,
                            param: specSelectors.parameterWithMetaByIdentity(pathMethod, parameter),
                            key: parameter.get("name"),
                            onChange: _this2.onChange,
                            onChangeConsumes: _this2.onChangeConsumesWrapper,
                            specSelectors: specSelectors,
                            specActions: specActions,
                            pathMethod: pathMethod,
                            isExecute: isExecute
                        })
                    }).toArray())))) : "", this.state.callbackVisible ? _react2.default.createElement("div", {
                        className: "callbacks-container opblock-description-wrapper"
                    }, _react2.default.createElement(Callbacks, {
                        callbacks: (0, _immutable.Map)(operation.get("callbacks")),
                        specPath: specPath.slice(0, -1).push("callbacks")
                    })) : "", isOAS3() && requestBody && this.state.parametersVisible && _react2.default.createElement("div", {
                        className: "opblock-section"
                    }, _react2.default.createElement("div", {
                        className: "opblock-section-header"
                    }, _react2.default.createElement("h4", {
                        className: "opblock-title parameter__name " + (requestBody.get("required") && "required")
                    }, "Request body"), _react2.default.createElement("label", null, _react2.default.createElement(ContentType, {
                        value: oas3Selectors.requestContentType.apply(oas3Selectors, (0, _toConsumableArray3.default)(pathMethod)),
                        contentTypes: requestBody.get("content").keySeq(),
                        onChange: function onChange(value) {
                            oas3Actions.setRequestContentType({
                                value: value,
                                pathMethod: pathMethod
                            })
                        },
                        className: "body-param-content-type"
                    }))), _react2.default.createElement("div", {
                        className: "opblock-description-wrapper"
                    }, _react2.default.createElement(RequestBody, {
                        specPath: requestBodySpecPath,
                        requestBody: requestBody,
                        requestBodyValue: oas3Selectors.requestBodyValue.apply(oas3Selectors, (0, _toConsumableArray3.default)(pathMethod)) || (0, _immutable.Map)(),
                        isExecute: isExecute,
                        onChange: function onChange(value, path) {
                            if (path) {
                                var lastValue = oas3Selectors.requestBodyValue.apply(oas3Selectors, (0, _toConsumableArray3.default)(pathMethod));
                                var usableValue = _immutable.Map.isMap(lastValue) ? lastValue : (0, _immutable.Map)();
                                return oas3Actions.setRequestBodyValue({
                                    pathMethod: pathMethod,
                                    value: usableValue.setIn(path, value)
                                })
                            }
                            oas3Actions.setRequestBodyValue({
                                value: value,
                                pathMethod: pathMethod
                            })
                        },
                        contentType: oas3Selectors.requestContentType.apply(oas3Selectors, (0, _toConsumableArray3.default)(pathMethod))
                    }))))
                }
            }]);
            return Parameters
        }(_react.Component);
        Parameters.defaultProps = {
            onTryoutClick: Function.prototype,
            onCancelClick: Function.prototype,
            tryItOutEnabled: false,
            allowTryItOut: true,
            onChangeKey: []
        };
        exports.default = (0, _helpers.OAS3ComponentWrapFactory)(Parameters)
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _helpers = __webpack_require__(24);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        exports.default = (0, _helpers.OAS3ComponentWrapFactory)(function(props) {
            var Ori = props.Ori;
            return _react2.default.createElement("span", null, _react2.default.createElement(Ori, props), _react2.default.createElement("small", {
                style: {
                    backgroundColor: "#89bf04"
                }
            }, _react2.default.createElement("pre", {
                className: "version"
            }, "OAS3")))
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _helpers = __webpack_require__(24);
        exports.default = (0, _helpers.OAS3ComponentWrapFactory)(function() {
            return null
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _extends2 = __webpack_require__(21);
        var _extends3 = _interopRequireDefault(_extends2);
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _helpers = __webpack_require__(24);
        var _model = __webpack_require__(260);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var ModelComponent = function(_Component) {
            (0, _inherits3.default)(ModelComponent, _Component);

            function ModelComponent() {
                (0, _classCallCheck3.default)(this, ModelComponent);
                return (0, _possibleConstructorReturn3.default)(this, (ModelComponent.__proto__ || (0, _getPrototypeOf2.default)(ModelComponent)).apply(this, arguments))
            }(0, _createClass3.default)(ModelComponent, [{
                key: "render",
                value: function render() {
                    var _props = this.props,
                        getConfigs = _props.getConfigs,
                        schema = _props.schema;
                    var classes = ["model-box"];
                    var isDeprecated = schema.get("deprecated") === true;
                    var message = null;
                    if (isDeprecated) {
                        classes.push("deprecated");
                        message = _react2.default.createElement("span", {
                            className: "model-deprecated-warning"
                        }, "Deprecated:")
                    }
                    return _react2.default.createElement("div", {
                        className: classes.join(" ")
                    }, message, _react2.default.createElement(_model.Model, (0, _extends3.default)({}, this.props, {
                        getConfigs: getConfigs,
                        depth: 1,
                        expandDepth: this.props.expandDepth || 0
                    })))
                }
            }]);
            return ModelComponent
        }(_react.Component);
        exports.default = (0, _helpers.OAS3ComponentWrapFactory)(ModelComponent)
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _objectWithoutProperties2 = __webpack_require__(71);
        var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _helpers = __webpack_require__(24);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        exports.default = (0, _helpers.OAS3ComponentWrapFactory)(function(_ref) {
            var Ori = _ref.Ori,
                props = (0, _objectWithoutProperties3.default)(_ref, ["Ori"]);
            var schema = props.schema,
                getComponent = props.getComponent,
                errors = props.errors,
                _onChange = props.onChange;
            var type = schema.type,
                format = schema.format;
            var Input = getComponent("Input");
            if (type === "string" && (format === "binary" || format === "base64")) {
                return _react2.default.createElement(Input, {
                    type: "file",
                    className: errors.length ? "invalid" : "",
                    title: errors.length ? errors : "",
                    onChange: function onChange(e) {
                        _onChange(e.target.files[0])
                    },
                    disabled: Ori.isDisabled
                })
            } else {
                return _react2.default.createElement(Ori, props)
            }
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.serverEffectiveValue = exports.serverVariables = exports.serverVariableValue = exports.responseContentType = exports.requestContentType = exports.requestBodyValue = exports.selectedServer = undefined;
        var _immutable = __webpack_require__(7);
        var _helpers = __webpack_require__(24);

        function onlyOAS3(selector) {
            return function() {
                for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
                    args[_key] = arguments[_key]
                }
                return function(system) {
                    var spec = system.getSystem().specSelectors.specJson();
                    if ((0, _helpers.isOAS3)(spec)) {
                        return selector.apply(undefined, args)
                    } else {
                        return null
                    }
                }
            }
        }
        var selectedServer = exports.selectedServer = onlyOAS3(function(state, namespace) {
            var path = namespace ? [namespace, "selectedServer"] : ["selectedServer"];
            return state.getIn(path) || ""
        });
        var requestBodyValue = exports.requestBodyValue = onlyOAS3(function(state, path, method) {
            return state.getIn(["requestData", path, method, "bodyValue"]) || null
        });
        var requestContentType = exports.requestContentType = onlyOAS3(function(state, path, method) {
            return state.getIn(["requestData", path, method, "requestContentType"]) || null
        });
        var responseContentType = exports.responseContentType = onlyOAS3(function(state, path, method) {
            return state.getIn(["requestData", path, method, "responseContentType"]) || null
        });
        var serverVariableValue = exports.serverVariableValue = onlyOAS3(function(state, locationData, key) {
            var path = void 0;
            if (typeof locationData !== "string") {
                var server = locationData.server,
                    namespace = locationData.namespace;
                if (namespace) {
                    path = [namespace, "serverVariableValues", server, key]
                } else {
                    path = ["serverVariableValues", server, key]
                }
            } else {
                var _server = locationData;
                path = ["serverVariableValues", _server, key]
            }
            return state.getIn(path) || null
        });
        var serverVariables = exports.serverVariables = onlyOAS3(function(state, locationData) {
            var path = void 0;
            if (typeof locationData !== "string") {
                var server = locationData.server,
                    namespace = locationData.namespace;
                if (namespace) {
                    path = [namespace, "serverVariableValues", server]
                } else {
                    path = ["serverVariableValues", server]
                }
            } else {
                var _server2 = locationData;
                path = ["serverVariableValues", _server2]
            }
            return state.getIn(path) || (0, _immutable.OrderedMap)()
        });
        var serverEffectiveValue = exports.serverEffectiveValue = onlyOAS3(function(state, locationData) {
            var varValues, serverValue;
            if (typeof locationData !== "string") {
                var server = locationData.server,
                    namespace = locationData.namespace;
                serverValue = server;
                if (namespace) {
                    varValues = state.getIn([namespace, "serverVariableValues", serverValue])
                } else {
                    varValues = state.getIn(["serverVariableValues", serverValue])
                }
            } else {
                serverValue = locationData;
                varValues = state.getIn(["serverVariableValues", serverValue])
            }
            varValues = varValues || (0, _immutable.OrderedMap)();
            var str = serverValue;
            varValues.map(function(val, key) {
                str = str.replace(new RegExp("{" + key + "}", "g"), val)
            });
            return str
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _defineProperty2 = __webpack_require__(18);
        var _defineProperty3 = _interopRequireDefault(_defineProperty2);
        var _slicedToArray2 = __webpack_require__(13);
        var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
        var _UPDATE_SELECTED_SERV;
        var _actions = __webpack_require__(151);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        exports.default = (_UPDATE_SELECTED_SERV = {}, (0, _defineProperty3.default)(_UPDATE_SELECTED_SERV, _actions.UPDATE_SELECTED_SERVER, function(state, _ref) {
            var _ref$payload = _ref.payload,
                selectedServerUrl = _ref$payload.selectedServerUrl,
                namespace = _ref$payload.namespace;
            var path = namespace ? [namespace, "selectedServer"] : ["selectedServer"];
            return state.setIn(path, selectedServerUrl)
        }), (0, _defineProperty3.default)(_UPDATE_SELECTED_SERV, _actions.UPDATE_REQUEST_BODY_VALUE, function(state, _ref2) {
            var _ref2$payload = _ref2.payload,
                value = _ref2$payload.value,
                pathMethod = _ref2$payload.pathMethod;
            var _pathMethod = (0, _slicedToArray3.default)(pathMethod, 2),
                path = _pathMethod[0],
                method = _pathMethod[1];
            return state.setIn(["requestData", path, method, "bodyValue"], value)
        }), (0, _defineProperty3.default)(_UPDATE_SELECTED_SERV, _actions.UPDATE_REQUEST_CONTENT_TYPE, function(state, _ref3) {
            var _ref3$payload = _ref3.payload,
                value = _ref3$payload.value,
                pathMethod = _ref3$payload.pathMethod;
            var _pathMethod2 = (0, _slicedToArray3.default)(pathMethod, 2),
                path = _pathMethod2[0],
                method = _pathMethod2[1];
            return state.setIn(["requestData", path, method, "requestContentType"], value)
        }), (0, _defineProperty3.default)(_UPDATE_SELECTED_SERV, _actions.UPDATE_RESPONSE_CONTENT_TYPE, function(state, _ref4) {
            var _ref4$payload = _ref4.payload,
                value = _ref4$payload.value,
                path = _ref4$payload.path,
                method = _ref4$payload.method;
            return state.setIn(["requestData", path, method, "responseContentType"], value)
        }), (0, _defineProperty3.default)(_UPDATE_SELECTED_SERV, _actions.UPDATE_SERVER_VARIABLE_VALUE, function(state, _ref5) {
            var _ref5$payload = _ref5.payload,
                server = _ref5$payload.server,
                namespace = _ref5$payload.namespace,
                key = _ref5$payload.key,
                val = _ref5$payload.val;
            var path = namespace ? [namespace, "serverVariableValues", server, key] : ["serverVariableValues", server, key];
            return state.setIn(path, val)
        }), _UPDATE_SELECTED_SERV)
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var _utils = __webpack_require__(8);
        var request = __webpack_require__(647);
        request.keys().forEach(function(key) {
            if (key === "./index.js") {
                return
            }
            var mod = request(key);
            module.exports[(0, _utils.pascalCaseFilename)(key)] = mod.default ? mod.default : mod
        })
    }, function(module, exports, __webpack_require__) {
        __webpack_require__(288);
        __webpack_require__(289);
        module.exports = __webpack_require__(358)
    }, function(module, exports) {}, function(module, exports, __webpack_require__) {
        "use strict";
        var _window = __webpack_require__(22);
        var _window2 = _interopRequireDefault(_window);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        if (typeof _window2.default.Promise === "undefined") {
            __webpack_require__(300)
        }
        if (!String.prototype.startsWith) {
            __webpack_require__(329)
        }
    }, function(module, exports, __webpack_require__) {
        __webpack_require__(77);
        __webpack_require__(61);
        module.exports = __webpack_require__(299)
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var addToUnscopables = __webpack_require__(292);
        var step = __webpack_require__(293);
        var Iterators = __webpack_require__(45);
        var toIObject = __webpack_require__(46);
        module.exports = __webpack_require__(153)(Array, "Array", function(iterated, kind) {
            this._t = toIObject(iterated);
            this._i = 0;
            this._k = kind
        }, function() {
            var O = this._t;
            var kind = this._k;
            var index = this._i++;
            if (!O || index >= O.length) {
                this._t = undefined;
                return step(1)
            }
            if (kind == "keys") return step(0, index);
            if (kind == "values") return step(0, O[index]);
            return step(0, [index, O[index]])
        }, "values");
        Iterators.Arguments = Iterators.Array;
        addToUnscopables("keys");
        addToUnscopables("values");
        addToUnscopables("entries")
    }, function(module, exports) {
        module.exports = function() {}
    }, function(module, exports) {
        module.exports = function(done, value) {
            return {
                value: value,
                done: !!done
            }
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var create = __webpack_require__(103);
        var descriptor = __webpack_require__(58);
        var setToStringTag = __webpack_require__(81);
        var IteratorPrototype = {};
        __webpack_require__(38)(IteratorPrototype, __webpack_require__(14)("iterator"), function() {
            return this
        });
        module.exports = function(Constructor, NAME, next) {
            Constructor.prototype = create(IteratorPrototype, {
                next: descriptor(1, next)
            });
            setToStringTag(Constructor, NAME + " Iterator")
        }
    }, function(module, exports, __webpack_require__) {
        var dP = __webpack_require__(29);
        var anObject = __webpack_require__(27);
        var getKeys = __webpack_require__(59);
        module.exports = __webpack_require__(34) ? Object.defineProperties : function defineProperties(O, Properties) {
            anObject(O);
            var keys = getKeys(Properties);
            var length = keys.length;
            var i = 0;
            var P;
            while (length > i) dP.f(O, P = keys[i++], Properties[P]);
            return O
        }
    }, function(module, exports, __webpack_require__) {
        var toIObject = __webpack_require__(46);
        var toLength = __webpack_require__(104);
        var toAbsoluteIndex = __webpack_require__(297);
        module.exports = function(IS_INCLUDES) {
            return function($this, el, fromIndex) {
                var O = toIObject($this);
                var length = toLength(O.length);
                var index = toAbsoluteIndex(fromIndex, length);
                var value;
                if (IS_INCLUDES && el != el)
                    while (length > index) {
                        value = O[index++];
                        if (value != value) return true
                    } else
                    for (; length > index; index++)
                        if (IS_INCLUDES || index in O) {
                            if (O[index] === el) return IS_INCLUDES || index || 0
                        }
                return !IS_INCLUDES && -1
            }
        }
    }, function(module, exports, __webpack_require__) {
        var toInteger = __webpack_require__(105);
        var max = Math.max;
        var min = Math.min;
        module.exports = function(index, length) {
            index = toInteger(index);
            return index < 0 ? max(index + length, 0) : min(index, length)
        }
    }, function(module, exports, __webpack_require__) {
        var toInteger = __webpack_require__(105);
        var defined = __webpack_require__(100);
        module.exports = function(TO_STRING) {
            return function(that, pos) {
                var s = String(defined(that));
                var i = toInteger(pos);
                var l = s.length;
                var a, b;
                if (i < 0 || i >= l) return TO_STRING ? "" : undefined;
                a = s.charCodeAt(i);
                return a < 55296 || a > 56319 || i + 1 === l || (b = s.charCodeAt(i + 1)) < 56320 || b > 57343 ? TO_STRING ? s.charAt(i) : a : TO_STRING ? s.slice(i, i + 2) : (a - 55296 << 10) + (b - 56320) + 65536
            }
        }
    }, function(module, exports, __webpack_require__) {
        var anObject = __webpack_require__(27);
        var get = __webpack_require__(109);
        module.exports = __webpack_require__(10).getIterator = function(it) {
            var iterFn = get(it);
            if (typeof iterFn != "function") throw TypeError(it + " is not iterable!");
            return anObject(iterFn.call(it))
        }
    }, function(module, exports, __webpack_require__) {
        __webpack_require__(301);
        __webpack_require__(161);
        __webpack_require__(312);
        __webpack_require__(316);
        __webpack_require__(327);
        __webpack_require__(328);
        module.exports = __webpack_require__(42).Promise
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var classof = __webpack_require__(111);
        var test = {};
        test[__webpack_require__(12)("toStringTag")] = "z";
        if (test + "" != "[object z]") {
            __webpack_require__(49)(Object.prototype, "toString", function toString() {
                return "[object " + classof(this) + "]"
            }, true)
        }
    }, function(module, exports, __webpack_require__) {
        module.exports = !__webpack_require__(63) && !__webpack_require__(64)(function() {
            return Object.defineProperty(__webpack_require__(113)("div"), "a", {
                get: function() {
                    return 7
                }
            }).a != 7
        })
    }, function(module, exports, __webpack_require__) {
        var isObject = __webpack_require__(50);
        module.exports = function(it, S) {
            if (!isObject(it)) return it;
            var fn, val;
            if (S && typeof(fn = it.toString) == "function" && !isObject(val = fn.call(it))) return val;
            if (typeof(fn = it.valueOf) == "function" && !isObject(val = fn.call(it))) return val;
            if (!S && typeof(fn = it.toString) == "function" && !isObject(val = fn.call(it))) return val;
            throw TypeError("Can't convert object to primitive value")
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var create = __webpack_require__(305);
        var descriptor = __webpack_require__(160);
        var setToStringTag = __webpack_require__(115);
        var IteratorPrototype = {};
        __webpack_require__(40)(IteratorPrototype, __webpack_require__(12)("iterator"), function() {
            return this
        });
        module.exports = function(Constructor, NAME, next) {
            Constructor.prototype = create(IteratorPrototype, {
                next: descriptor(1, next)
            });
            setToStringTag(Constructor, NAME + " Iterator")
        }
    }, function(module, exports, __webpack_require__) {
        var anObject = __webpack_require__(41);
        var dPs = __webpack_require__(306);
        var enumBugKeys = __webpack_require__(167);
        var IE_PROTO = __webpack_require__(114)("IE_PROTO");
        var Empty = function() {};
        var PROTOTYPE = "prototype";
        var createDict = function() {
            var iframe = __webpack_require__(113)("iframe");
            var i = enumBugKeys.length;
            var lt = "<";
            var gt = ">";
            var iframeDocument;
            iframe.style.display = "none";
            __webpack_require__(168).appendChild(iframe);
            iframe.src = "javascript:";
            iframeDocument = iframe.contentWindow.document;
            iframeDocument.open();
            iframeDocument.write(lt + "script" + gt + "document.F=Object" + lt + "/script" + gt);
            iframeDocument.close();
            createDict = iframeDocument.F;
            while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];
            return createDict()
        };
        module.exports = Object.create || function create(O, Properties) {
            var result;
            if (O !== null) {
                Empty[PROTOTYPE] = anObject(O);
                result = new Empty;
                Empty[PROTOTYPE] = null;
                result[IE_PROTO] = O
            } else result = createDict();
            return Properties === undefined ? result : dPs(result, Properties)
        }
    }, function(module, exports, __webpack_require__) {
        var dP = __webpack_require__(82);
        var anObject = __webpack_require__(41);
        var getKeys = __webpack_require__(165);
        module.exports = __webpack_require__(63) ? Object.defineProperties : function defineProperties(O, Properties) {
            anObject(O);
            var keys = getKeys(Properties);
            var length = keys.length;
            var i = 0;
            var P;
            while (length > i) dP.f(O, P = keys[i++], Properties[P]);
            return O
        }
    }, function(module, exports, __webpack_require__) {
        var has = __webpack_require__(83);
        var toIObject = __webpack_require__(87);
        var arrayIndexOf = __webpack_require__(309)(false);
        var IE_PROTO = __webpack_require__(114)("IE_PROTO");
        module.exports = function(object, names) {
            var O = toIObject(object);
            var i = 0;
            var result = [];
            var key;
            for (key in O)
                if (key != IE_PROTO) has(O, key) && result.push(key);
            while (names.length > i)
                if (has(O, key = names[i++])) {
                    ~arrayIndexOf(result, key) || result.push(key)
                }
            return result
        }
    }, function(module, exports, __webpack_require__) {
        var cof = __webpack_require__(62);
        module.exports = Object("z").propertyIsEnumerable(0) ? Object : function(it) {
            return cof(it) == "String" ? it.split("") : Object(it)
        }
    }, function(module, exports, __webpack_require__) {
        var toIObject = __webpack_require__(87);
        var toLength = __webpack_require__(66);
        var toAbsoluteIndex = __webpack_require__(166);
        module.exports = function(IS_INCLUDES) {
            return function($this, el, fromIndex) {
                var O = toIObject($this);
                var length = toLength(O.length);
                var index = toAbsoluteIndex(fromIndex, length);
                var value;
                if (IS_INCLUDES && el != el)
                    while (length > index) {
                        value = O[index++];
                        if (value != value) return true
                    } else
                    for (; length > index; index++)
                        if (IS_INCLUDES || index in O) {
                            if (O[index] === el) return IS_INCLUDES || index || 0
                        }
                return !IS_INCLUDES && -1
            }
        }
    }, function(module, exports, __webpack_require__) {
        var has = __webpack_require__(83);
        var toObject = __webpack_require__(311);
        var IE_PROTO = __webpack_require__(114)("IE_PROTO");
        var ObjectProto = Object.prototype;
        module.exports = Object.getPrototypeOf || function(O) {
            O = toObject(O);
            if (has(O, IE_PROTO)) return O[IE_PROTO];
            if (typeof O.constructor == "function" && O instanceof O.constructor) {
                return O.constructor.prototype
            }
            return O instanceof Object ? ObjectProto : null
        }
    }, function(module, exports, __webpack_require__) {
        var defined = __webpack_require__(35);
        module.exports = function(it) {
            return Object(defined(it))
        }
    }, function(module, exports, __webpack_require__) {
        var $iterators = __webpack_require__(313);
        var getKeys = __webpack_require__(165);
        var redefine = __webpack_require__(49);
        var global = __webpack_require__(23);
        var hide = __webpack_require__(40);
        var Iterators = __webpack_require__(65);
        var wks = __webpack_require__(12);
        var ITERATOR = wks("iterator");
        var TO_STRING_TAG = wks("toStringTag");
        var ArrayValues = Iterators.Array;
        var DOMIterables = {
            CSSRuleList: true,
            CSSStyleDeclaration: false,
            CSSValueList: false,
            ClientRectList: false,
            DOMRectList: false,
            DOMStringList: false,
            DOMTokenList: true,
            DataTransferItemList: false,
            FileList: false,
            HTMLAllCollection: false,
            HTMLCollection: false,
            HTMLFormElement: false,
            HTMLSelectElement: false,
            MediaList: true,
            MimeTypeArray: false,
            NamedNodeMap: false,
            NodeList: true,
            PaintRequestList: false,
            Plugin: false,
            PluginArray: false,
            SVGLengthList: false,
            SVGNumberList: false,
            SVGPathSegList: false,
            SVGPointList: false,
            SVGStringList: false,
            SVGTransformList: false,
            SourceBufferList: false,
            StyleSheetList: true,
            TextTrackCueList: false,
            TextTrackList: false,
            TouchList: false
        };
        for (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {
            var NAME = collections[i];
            var explicit = DOMIterables[NAME];
            var Collection = global[NAME];
            var proto = Collection && Collection.prototype;
            var key;
            if (proto) {
                if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);
                if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);
                Iterators[NAME] = ArrayValues;
                if (explicit)
                    for (key in $iterators)
                        if (!proto[key]) redefine(proto, key, $iterators[key], true)
            }
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var addToUnscopables = __webpack_require__(314);
        var step = __webpack_require__(315);
        var Iterators = __webpack_require__(65);
        var toIObject = __webpack_require__(87);
        module.exports = __webpack_require__(163)(Array, "Array", function(iterated, kind) {
            this._t = toIObject(iterated);
            this._i = 0;
            this._k = kind
        }, function() {
            var O = this._t;
            var kind = this._k;
            var index = this._i++;
            if (!O || index >= O.length) {
                this._t = undefined;
                return step(1)
            }
            if (kind == "keys") return step(0, index);
            if (kind == "values") return step(0, O[index]);
            return step(0, [index, O[index]])
        }, "values");
        Iterators.Arguments = Iterators.Array;
        addToUnscopables("keys");
        addToUnscopables("values");
        addToUnscopables("entries")
    }, function(module, exports, __webpack_require__) {
        var UNSCOPABLES = __webpack_require__(12)("unscopables");
        var ArrayProto = Array.prototype;
        if (ArrayProto[UNSCOPABLES] == undefined) __webpack_require__(40)(ArrayProto, UNSCOPABLES, {});
        module.exports = function(key) {
            ArrayProto[UNSCOPABLES][key] = true
        }
    }, function(module, exports) {
        module.exports = function(done, value) {
            return {
                value: value,
                done: !!done
            }
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var LIBRARY = __webpack_require__(164);
        var global = __webpack_require__(23);
        var ctx = __webpack_require__(85);
        var classof = __webpack_require__(111);
        var $export = __webpack_require__(16);
        var isObject = __webpack_require__(50);
        var aFunction = __webpack_require__(86);
        var anInstance = __webpack_require__(317);
        var forOf = __webpack_require__(318);
        var speciesConstructor = __webpack_require__(169);
        var task = __webpack_require__(170).set;
        var microtask = __webpack_require__(323)();
        var newPromiseCapabilityModule = __webpack_require__(116);
        var perform = __webpack_require__(171);
        var promiseResolve = __webpack_require__(172);
        var PROMISE = "Promise";
        var TypeError = global.TypeError;
        var process = global.process;
        var $Promise = global[PROMISE];
        var isNode = classof(process) == "process";
        var empty = function() {};
        var Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;
        var newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;
        var USE_NATIVE = !! function() {
            try {
                var promise = $Promise.resolve(1);
                var FakePromise = (promise.constructor = {})[__webpack_require__(12)("species")] = function(exec) {
                    exec(empty, empty)
                };
                return (isNode || typeof PromiseRejectionEvent == "function") && promise.then(empty) instanceof FakePromise
            } catch (e) {}
        }();
        var isThenable = function(it) {
            var then;
            return isObject(it) && typeof(then = it.then) == "function" ? then : false
        };
        var notify = function(promise, isReject) {
            if (promise._n) return;
            promise._n = true;
            var chain = promise._c;
            microtask(function() {
                var value = promise._v;
                var ok = promise._s == 1;
                var i = 0;
                var run = function(reaction) {
                    var handler = ok ? reaction.ok : reaction.fail;
                    var resolve = reaction.resolve;
                    var reject = reaction.reject;
                    var domain = reaction.domain;
                    var result, then, exited;
                    try {
                        if (handler) {
                            if (!ok) {
                                if (promise._h == 2) onHandleUnhandled(promise);
                                promise._h = 1
                            }
                            if (handler === true) result = value;
                            else {
                                if (domain) domain.enter();
                                result = handler(value);
                                if (domain) {
                                    domain.exit();
                                    exited = true
                                }
                            }
                            if (result === reaction.promise) {
                                reject(TypeError("Promise-chain cycle"))
                            } else if (then = isThenable(result)) {
                                then.call(result, resolve, reject)
                            } else resolve(result)
                        } else reject(value)
                    } catch (e) {
                        if (domain && !exited) domain.exit();
                        reject(e)
                    }
                };
                while (chain.length > i) run(chain[i++]);
                promise._c = [];
                promise._n = false;
                if (isReject && !promise._h) onUnhandled(promise)
            })
        };
        var onUnhandled = function(promise) {
            task.call(global, function() {
                var value = promise._v;
                var unhandled = isUnhandled(promise);
                var result, handler, console;
                if (unhandled) {
                    result = perform(function() {
                        if (isNode) {
                            process.emit("unhandledRejection", value, promise)
                        } else if (handler = global.onunhandledrejection) {
                            handler({
                                promise: promise,
                                reason: value
                            })
                        } else if ((console = global.console) && console.error) {
                            console.error("Unhandled promise rejection", value)
                        }
                    });
                    promise._h = isNode || isUnhandled(promise) ? 2 : 1
                }
                promise._a = undefined;
                if (unhandled && result.e) throw result.v
            })
        };
        var isUnhandled = function(promise) {
            return promise._h !== 1 && (promise._a || promise._c).length === 0
        };
        var onHandleUnhandled = function(promise) {
            task.call(global, function() {
                var handler;
                if (isNode) {
                    process.emit("rejectionHandled", promise)
                } else if (handler = global.onrejectionhandled) {
                    handler({
                        promise: promise,
                        reason: promise._v
                    })
                }
            })
        };
        var $reject = function(value) {
            var promise = this;
            if (promise._d) return;
            promise._d = true;
            promise = promise._w || promise;
            promise._v = value;
            promise._s = 2;
            if (!promise._a) promise._a = promise._c.slice();
            notify(promise, true)
        };
        var $resolve = function(value) {
            var promise = this;
            var then;
            if (promise._d) return;
            promise._d = true;
            promise = promise._w || promise;
            try {
                if (promise === value) throw TypeError("Promise can't be resolved itself");
                if (then = isThenable(value)) {
                    microtask(function() {
                        var wrapper = {
                            _w: promise,
                            _d: false
                        };
                        try {
                            then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1))
                        } catch (e) {
                            $reject.call(wrapper, e)
                        }
                    })
                } else {
                    promise._v = value;
                    promise._s = 1;
                    notify(promise, false)
                }
            } catch (e) {
                $reject.call({
                    _w: promise,
                    _d: false
                }, e)
            }
        };
        if (!USE_NATIVE) {
            $Promise = function Promise(executor) {
                anInstance(this, $Promise, PROMISE, "_h");
                aFunction(executor);
                Internal.call(this);
                try {
                    executor(ctx($resolve, this, 1), ctx($reject, this, 1))
                } catch (err) {
                    $reject.call(this, err)
                }
            };
            Internal = function Promise(executor) {
                this._c = [];
                this._a = undefined;
                this._s = 0;
                this._d = false;
                this._v = undefined;
                this._h = 0;
                this._n = false
            };
            Internal.prototype = __webpack_require__(324)($Promise.prototype, {
                then: function then(onFulfilled, onRejected) {
                    var reaction = newPromiseCapability(speciesConstructor(this, $Promise));
                    reaction.ok = typeof onFulfilled == "function" ? onFulfilled : true;
                    reaction.fail = typeof onRejected == "function" && onRejected;
                    reaction.domain = isNode ? process.domain : undefined;
                    this._c.push(reaction);
                    if (this._a) this._a.push(reaction);
                    if (this._s) notify(this, false);
                    return reaction.promise
                },
                catch: function(onRejected) {
                    return this.then(undefined, onRejected)
                }
            });
            OwnPromiseCapability = function() {
                var promise = new Internal;
                this.promise = promise;
                this.resolve = ctx($resolve, promise, 1);
                this.reject = ctx($reject, promise, 1)
            };
            newPromiseCapabilityModule.f = newPromiseCapability = function(C) {
                return C === $Promise || C === Wrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C)
            }
        }
        $export($export.G + $export.W + $export.F * !USE_NATIVE, {
            Promise: $Promise
        });
        __webpack_require__(115)($Promise, PROMISE);
        __webpack_require__(325)(PROMISE);
        Wrapper = __webpack_require__(42)[PROMISE];
        $export($export.S + $export.F * !USE_NATIVE, PROMISE, {
            reject: function reject(r) {
                var capability = newPromiseCapability(this);
                var $$reject = capability.reject;
                $$reject(r);
                return capability.promise
            }
        });
        $export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {
            resolve: function resolve(x) {
                return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x)
            }
        });
        $export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(326)(function(iter) {
            $Promise.all(iter)["catch"](empty)
        })), PROMISE, {
            all: function all(iterable) {
                var C = this;
                var capability = newPromiseCapability(C);
                var resolve = capability.resolve;
                var reject = capability.reject;
                var result = perform(function() {
                    var values = [];
                    var index = 0;
                    var remaining = 1;
                    forOf(iterable, false, function(promise) {
                        var $index = index++;
                        var alreadyCalled = false;
                        values.push(undefined);
                        remaining++;
                        C.resolve(promise).then(function(value) {
                            if (alreadyCalled) return;
                            alreadyCalled = true;
                            values[$index] = value;
                            --remaining || resolve(values)
                        }, reject)
                    });
                    --remaining || resolve(values)
                });
                if (result.e) reject(result.v);
                return capability.promise
            },
            race: function race(iterable) {
                var C = this;
                var capability = newPromiseCapability(C);
                var reject = capability.reject;
                var result = perform(function() {
                    forOf(iterable, false, function(promise) {
                        C.resolve(promise).then(capability.resolve, reject)
                    })
                });
                if (result.e) reject(result.v);
                return capability.promise
            }
        })
    }, function(module, exports) {
        module.exports = function(it, Constructor, name, forbiddenField) {
            if (!(it instanceof Constructor) || forbiddenField !== undefined && forbiddenField in it) {
                throw TypeError(name + ": incorrect invocation!")
            }
            return it
        }
    }, function(module, exports, __webpack_require__) {
        var ctx = __webpack_require__(85);
        var call = __webpack_require__(319);
        var isArrayIter = __webpack_require__(320);
        var anObject = __webpack_require__(41);
        var toLength = __webpack_require__(66);
        var getIterFn = __webpack_require__(321);
        var BREAK = {};
        var RETURN = {};
        var exports = module.exports = function(iterable, entries, fn, that, ITERATOR) {
            var iterFn = ITERATOR ? function() {
                return iterable
            } : getIterFn(iterable);
            var f = ctx(fn, that, entries ? 2 : 1);
            var index = 0;
            var length, step, iterator, result;
            if (typeof iterFn != "function") throw TypeError(iterable + " is not iterable!");
            if (isArrayIter(iterFn))
                for (length = toLength(iterable.length); length > index; index++) {
                    result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
                    if (result === BREAK || result === RETURN) return result
                } else
                for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {
                    result = call(iterator, f, step.value, entries);
                    if (result === BREAK || result === RETURN) return result
                }
        };
        exports.BREAK = BREAK;
        exports.RETURN = RETURN
    }, function(module, exports, __webpack_require__) {
        var anObject = __webpack_require__(41);
        module.exports = function(iterator, fn, value, entries) {
            try {
                return entries ? fn(anObject(value)[0], value[1]) : fn(value)
            } catch (e) {
                var ret = iterator["return"];
                if (ret !== undefined) anObject(ret.call(iterator));
                throw e
            }
        }
    }, function(module, exports, __webpack_require__) {
        var Iterators = __webpack_require__(65);
        var ITERATOR = __webpack_require__(12)("iterator");
        var ArrayProto = Array.prototype;
        module.exports = function(it) {
            return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it)
        }
    }, function(module, exports, __webpack_require__) {
        var classof = __webpack_require__(111);
        var ITERATOR = __webpack_require__(12)("iterator");
        var Iterators = __webpack_require__(65);
        module.exports = __webpack_require__(42).getIteratorMethod = function(it) {
            if (it != undefined) return it[ITERATOR] || it["@@iterator"] || Iterators[classof(it)]
        }
    }, function(module, exports) {
        module.exports = function(fn, args, that) {
            var un = that === undefined;
            switch (args.length) {
                case 0:
                    return un ? fn() : fn.call(that);
                case 1:
                    return un ? fn(args[0]) : fn.call(that, args[0]);
                case 2:
                    return un ? fn(args[0], args[1]) : fn.call(that, args[0], args[1]);
                case 3:
                    return un ? fn(args[0], args[1], args[2]) : fn.call(that, args[0], args[1], args[2]);
                case 4:
                    return un ? fn(args[0], args[1], args[2], args[3]) : fn.call(that, args[0], args[1], args[2], args[3])
            }
            return fn.apply(that, args)
        }
    }, function(module, exports, __webpack_require__) {
        var global = __webpack_require__(23);
        var macrotask = __webpack_require__(170).set;
        var Observer = global.MutationObserver || global.WebKitMutationObserver;
        var process = global.process;
        var Promise = global.Promise;
        var isNode = __webpack_require__(62)(process) == "process";
        module.exports = function() {
            var head, last, notify;
            var flush = function() {
                var parent, fn;
                if (isNode && (parent = process.domain)) parent.exit();
                while (head) {
                    fn = head.fn;
                    head = head.next;
                    try {
                        fn()
                    } catch (e) {
                        if (head) notify();
                        else last = undefined;
                        throw e
                    }
                }
                last = undefined;
                if (parent) parent.enter()
            };
            if (isNode) {
                notify = function() {
                    process.nextTick(flush)
                }
            } else if (Observer && !(global.navigator && global.navigator.standalone)) {
                var toggle = true;
                var node = document.createTextNode("");
                new Observer(flush).observe(node, {
                    characterData: true
                });
                notify = function() {
                    node.data = toggle = !toggle
                }
            } else if (Promise && Promise.resolve) {
                var promise = Promise.resolve();
                notify = function() {
                    promise.then(flush)
                }
            } else {
                notify = function() {
                    macrotask.call(global, flush)
                }
            }
            return function(fn) {
                var task = {
                    fn: fn,
                    next: undefined
                };
                if (last) last.next = task;
                if (!head) {
                    head = task;
                    notify()
                }
                last = task
            }
        }
    }, function(module, exports, __webpack_require__) {
        var redefine = __webpack_require__(49);
        module.exports = function(target, src, safe) {
            for (var key in src) redefine(target, key, src[key], safe);
            return target
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var global = __webpack_require__(23);
        var dP = __webpack_require__(82);
        var DESCRIPTORS = __webpack_require__(63);
        var SPECIES = __webpack_require__(12)("species");
        module.exports = function(KEY) {
            var C = global[KEY];
            if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {
                configurable: true,
                get: function() {
                    return this
                }
            })
        }
    }, function(module, exports, __webpack_require__) {
        var ITERATOR = __webpack_require__(12)("iterator");
        var SAFE_CLOSING = false;
        try {
            var riter = [7][ITERATOR]();
            riter["return"] = function() {
                SAFE_CLOSING = true
            };
            Array.from(riter, function() {
                throw 2
            })
        } catch (e) {}
        module.exports = function(exec, skipClosing) {
            if (!skipClosing && !SAFE_CLOSING) return false;
            var safe = false;
            try {
                var arr = [7];
                var iter = arr[ITERATOR]();
                iter.next = function() {
                    return {
                        done: safe = true
                    }
                };
                arr[ITERATOR] = function() {
                    return iter
                };
                exec(arr)
            } catch (e) {}
            return safe
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var $export = __webpack_require__(16);
        var core = __webpack_require__(42);
        var global = __webpack_require__(23);
        var speciesConstructor = __webpack_require__(169);
        var promiseResolve = __webpack_require__(172);
        $export($export.P + $export.R, "Promise", {
            finally: function(onFinally) {
                var C = speciesConstructor(this, core.Promise || global.Promise);
                var isFunction = typeof onFinally == "function";
                return this.then(isFunction ? function(x) {
                    return promiseResolve(C, onFinally()).then(function() {
                        return x
                    })
                } : onFinally, isFunction ? function(e) {
                    return promiseResolve(C, onFinally()).then(function() {
                        throw e
                    })
                } : onFinally)
            }
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var $export = __webpack_require__(16);
        var newPromiseCapability = __webpack_require__(116);
        var perform = __webpack_require__(171);
        $export($export.S, "Promise", {
            try: function(callbackfn) {
                var promiseCapability = newPromiseCapability.f(this);
                var result = perform(callbackfn);
                (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);
                return promiseCapability.promise
            }
        })
    }, function(module, exports, __webpack_require__) {
        __webpack_require__(330);
        __webpack_require__(331);
        __webpack_require__(332);
        __webpack_require__(161);
        __webpack_require__(335);
        __webpack_require__(336);
        __webpack_require__(337);
        __webpack_require__(338);
        __webpack_require__(340);
        __webpack_require__(341);
        __webpack_require__(342);
        __webpack_require__(343);
        __webpack_require__(344);
        __webpack_require__(345);
        __webpack_require__(346);
        __webpack_require__(347);
        __webpack_require__(348);
        __webpack_require__(349);
        __webpack_require__(350);
        __webpack_require__(351);
        __webpack_require__(352);
        __webpack_require__(353);
        __webpack_require__(354);
        __webpack_require__(355);
        __webpack_require__(356);
        __webpack_require__(357);
        module.exports = __webpack_require__(42).String
    }, function(module, exports, __webpack_require__) {
        var $export = __webpack_require__(16);
        var toAbsoluteIndex = __webpack_require__(166);
        var fromCharCode = String.fromCharCode;
        var $fromCodePoint = String.fromCodePoint;
        $export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), "String", {
            fromCodePoint: function fromCodePoint(x) {
                var res = [];
                var aLen = arguments.length;
                var i = 0;
                var code;
                while (aLen > i) {
                    code = +arguments[i++];
                    if (toAbsoluteIndex(code, 1114111) !== code) throw RangeError(code + " is not a valid code point");
                    res.push(code < 65536 ? fromCharCode(code) : fromCharCode(((code -= 65536) >> 10) + 55296, code % 1024 + 56320))
                }
                return res.join("")
            }
        })
    }, function(module, exports, __webpack_require__) {
        var $export = __webpack_require__(16);
        var toIObject = __webpack_require__(87);
        var toLength = __webpack_require__(66);
        $export($export.S, "String", {
            raw: function raw(callSite) {
                var tpl = toIObject(callSite.raw);
                var len = toLength(tpl.length);
                var aLen = arguments.length;
                var res = [];
                var i = 0;
                while (len > i) {
                    res.push(String(tpl[i++]));
                    if (i < aLen) res.push(String(arguments[i]))
                }
                return res.join("")
            }
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        __webpack_require__(333)("trim", function($trim) {
            return function trim() {
                return $trim(this, 3)
            }
        })
    }, function(module, exports, __webpack_require__) {
        var $export = __webpack_require__(16);
        var defined = __webpack_require__(35);
        var fails = __webpack_require__(64);
        var spaces = __webpack_require__(334);
        var space = "[" + spaces + "]";
        var non = "​";
        var ltrim = RegExp("^" + space + space + "*");
        var rtrim = RegExp(space + space + "*$");
        var exporter = function(KEY, exec, ALIAS) {
            var exp = {};
            var FORCE = fails(function() {
                return !!spaces[KEY]() || non[KEY]() != non
            });
            var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];
            if (ALIAS) exp[ALIAS] = fn;
            $export($export.P + $export.F * FORCE, "String", exp)
        };
        var trim = exporter.trim = function(string, TYPE) {
            string = String(defined(string));
            if (TYPE & 1) string = string.replace(ltrim, "");
            if (TYPE & 2) string = string.replace(rtrim, "");
            return string
        };
        module.exports = exporter
    }, function(module, exports) {
        module.exports = "\t\n\v\f\r   ᠎    " + "         　\u2028\u2029\ufeff"
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var $export = __webpack_require__(16);
        var $at = __webpack_require__(162)(false);
        $export($export.P, "String", {
            codePointAt: function codePointAt(pos) {
                return $at(this, pos)
            }
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var $export = __webpack_require__(16);
        var toLength = __webpack_require__(66);
        var context = __webpack_require__(117);
        var ENDS_WITH = "endsWith";
        var $endsWith = "" [ENDS_WITH];
        $export($export.P + $export.F * __webpack_require__(118)(ENDS_WITH), "String", {
            endsWith: function endsWith(searchString) {
                var that = context(this, searchString, ENDS_WITH);
                var endPosition = arguments.length > 1 ? arguments[1] : undefined;
                var len = toLength(that.length);
                var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);
                var search = String(searchString);
                return $endsWith ? $endsWith.call(that, search, end) : that.slice(end - search.length, end) === search
            }
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var $export = __webpack_require__(16);
        var context = __webpack_require__(117);
        var INCLUDES = "includes";
        $export($export.P + $export.F * __webpack_require__(118)(INCLUDES), "String", {
            includes: function includes(searchString) {
                return !!~context(this, searchString, INCLUDES).indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined)
            }
        })
    }, function(module, exports, __webpack_require__) {
        var $export = __webpack_require__(16);
        $export($export.P, "String", {
            repeat: __webpack_require__(339)
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var toInteger = __webpack_require__(84);
        var defined = __webpack_require__(35);
        module.exports = function repeat(count) {
            var str = String(defined(this));
            var res = "";
            var n = toInteger(count);
            if (n < 0 || n == Infinity) throw RangeError("Count can't be negative");
            for (; n > 0;
                   (n >>>= 1) && (str += str))
                if (n & 1) res += str;
            return res
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var $export = __webpack_require__(16);
        var toLength = __webpack_require__(66);
        var context = __webpack_require__(117);
        var STARTS_WITH = "startsWith";
        var $startsWith = "" [STARTS_WITH];
        $export($export.P + $export.F * __webpack_require__(118)(STARTS_WITH), "String", {
            startsWith: function startsWith(searchString) {
                var that = context(this, searchString, STARTS_WITH);
                var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));
                var search = String(searchString);
                return $startsWith ? $startsWith.call(that, search, index) : that.slice(index, index + search.length) === search
            }
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        __webpack_require__(17)("anchor", function(createHTML) {
            return function anchor(name) {
                return createHTML(this, "a", "name", name)
            }
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        __webpack_require__(17)("big", function(createHTML) {
            return function big() {
                return createHTML(this, "big", "", "")
            }
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        __webpack_require__(17)("blink", function(createHTML) {
            return function blink() {
                return createHTML(this, "blink", "", "")
            }
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        __webpack_require__(17)("bold", function(createHTML) {
            return function bold() {
                return createHTML(this, "b", "", "")
            }
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        __webpack_require__(17)("fixed", function(createHTML) {
            return function fixed() {
                return createHTML(this, "tt", "", "")
            }
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        __webpack_require__(17)("fontcolor", function(createHTML) {
            return function fontcolor(color) {
                return createHTML(this, "font", "color", color)
            }
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        __webpack_require__(17)("fontsize", function(createHTML) {
            return function fontsize(size) {
                return createHTML(this, "font", "size", size)
            }
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        __webpack_require__(17)("italics", function(createHTML) {
            return function italics() {
                return createHTML(this, "i", "", "")
            }
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        __webpack_require__(17)("link", function(createHTML) {
            return function link(url) {
                return createHTML(this, "a", "href", url)
            }
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        __webpack_require__(17)("small", function(createHTML) {
            return function small() {
                return createHTML(this, "small", "", "")
            }
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        __webpack_require__(17)("strike", function(createHTML) {
            return function strike() {
                return createHTML(this, "strike", "", "")
            }
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        __webpack_require__(17)("sub", function(createHTML) {
            return function sub() {
                return createHTML(this, "sub", "", "")
            }
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        __webpack_require__(17)("sup", function(createHTML) {
            return function sup() {
                return createHTML(this, "sup", "", "")
            }
        })
    }, function(module, exports, __webpack_require__) {
        __webpack_require__(88)("match", 1, function(defined, MATCH, $match) {
            return [function match(regexp) {
                "use strict";
                var O = defined(this);
                var fn = regexp == undefined ? undefined : regexp[MATCH];
                return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O))
            }, $match]
        })
    }, function(module, exports, __webpack_require__) {
        __webpack_require__(88)("replace", 2, function(defined, REPLACE, $replace) {
            return [function replace(searchValue, replaceValue) {
                "use strict";
                var O = defined(this);
                var fn = searchValue == undefined ? undefined : searchValue[REPLACE];
                return fn !== undefined ? fn.call(searchValue, O, replaceValue) : $replace.call(String(O), searchValue, replaceValue)
            }, $replace]
        })
    }, function(module, exports, __webpack_require__) {
        __webpack_require__(88)("search", 1, function(defined, SEARCH, $search) {
            return [function search(regexp) {
                "use strict";
                var O = defined(this);
                var fn = regexp == undefined ? undefined : regexp[SEARCH];
                return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O))
            }, $search]
        })
    }, function(module, exports, __webpack_require__) {
        __webpack_require__(88)("split", 2, function(defined, SPLIT, $split) {
            "use strict";
            var isRegExp = __webpack_require__(173);
            var _split = $split;
            var $push = [].push;
            var $SPLIT = "split";
            var LENGTH = "length";
            var LAST_INDEX = "lastIndex";
            if ("abbc" [$SPLIT](/(b)*/)[1] == "c" || "test" [$SPLIT](/(?:)/, -1)[LENGTH] != 4 || "ab" [$SPLIT](/(?:ab)*/)[LENGTH] != 2 || "." [$SPLIT](/(.?)(.?)/)[LENGTH] != 4 || "." [$SPLIT](/()()/)[LENGTH] > 1 || "" [$SPLIT](/.?/)[LENGTH]) {
                var NPCG = /()??/.exec("")[1] === undefined;
                $split = function(separator, limit) {
                    var string = String(this);
                    if (separator === undefined && limit === 0) return [];
                    if (!isRegExp(separator)) return _split.call(string, separator, limit);
                    var output = [];
                    var flags = (separator.ignoreCase ? "i" : "") + (separator.multiline ? "m" : "") + (separator.unicode ? "u" : "") + (separator.sticky ? "y" : "");
                    var lastLastIndex = 0;
                    var splitLimit = limit === undefined ? 4294967295 : limit >>> 0;
                    var separatorCopy = new RegExp(separator.source, flags + "g");
                    var separator2, match, lastIndex, lastLength, i;
                    if (!NPCG) separator2 = new RegExp("^" + separatorCopy.source + "$(?!\\s)", flags);
                    while (match = separatorCopy.exec(string)) {
                        lastIndex = match.index + match[0][LENGTH];
                        if (lastIndex > lastLastIndex) {
                            output.push(string.slice(lastLastIndex, match.index));
                            if (!NPCG && match[LENGTH] > 1) match[0].replace(separator2, function() {
                                for (i = 1; i < arguments[LENGTH] - 2; i++)
                                    if (arguments[i] === undefined) match[i] = undefined
                            });
                            if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));
                            lastLength = match[0][LENGTH];
                            lastLastIndex = lastIndex;
                            if (output[LENGTH] >= splitLimit) break
                        }
                        if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++
                    }
                    if (lastLastIndex === string[LENGTH]) {
                        if (lastLength || !separatorCopy.test("")) output.push("")
                    } else output.push(string.slice(lastLastIndex));
                    return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output
                }
            } else if ("0" [$SPLIT](undefined, 0)[LENGTH]) {
                $split = function(separator, limit) {
                    return separator === undefined && limit === 0 ? [] : _split.call(this, separator, limit)
                }
            }
            return [function split(separator, limit) {
                var O = defined(this);
                var fn = separator == undefined ? undefined : separator[SPLIT];
                return fn !== undefined ? fn.call(separator, O, limit) : $split.call(String(O), separator, limit)
            }, $split]
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var _stringify = __webpack_require__(30);
        var _stringify2 = _interopRequireDefault(_stringify);
        var _keys = __webpack_require__(31);
        var _keys2 = _interopRequireDefault(_keys);
        var _typeof2 = __webpack_require__(36);
        var _typeof3 = _interopRequireDefault(_typeof2);
        var _deepExtend = __webpack_require__(178);
        var _deepExtend2 = _interopRequireDefault(_deepExtend);
        var _system = __webpack_require__(373);
        var _system2 = _interopRequireDefault(_system);
        var _window = __webpack_require__(22);
        var _window2 = _interopRequireDefault(_window);
        var _apis = __webpack_require__(481);
        var _apis2 = _interopRequireDefault(_apis);
        var _all = __webpack_require__(286);
        var AllPlugins = _interopRequireWildcard(_all);
        var _utils = __webpack_require__(8);

        function _interopRequireWildcard(obj) {
            if (obj && obj.__esModule) {
                return obj
            } else {
                var newObj = {};
                if (obj != null) {
                    for (var key in obj) {
                        if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]
                    }
                }
                newObj.default = obj;
                return newObj
            }
        }

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        if (false) {
            _window2.default.Perf = require("react-addons-perf")
        }
        var _buildInfo = {
                PACKAGE_VERSION: "3.18.2",
                GIT_COMMIT: "gd265601d",
                GIT_DIRTY: false,
                HOSTNAME: "banjo",
                BUILD_TIME: "Sat, 25 Aug 2018 07:52:26 GMT"
            },
            GIT_DIRTY = _buildInfo.GIT_DIRTY,
            GIT_COMMIT = _buildInfo.GIT_COMMIT,
            PACKAGE_VERSION = _buildInfo.PACKAGE_VERSION,
            HOSTNAME = _buildInfo.HOSTNAME,
            BUILD_TIME = _buildInfo.BUILD_TIME;
        module.exports = function SwaggerUI(opts) {
            _window2.default.versions = _window2.default.versions || {};
            _window2.default.versions.swaggerUi = {
                version: PACKAGE_VERSION,
                gitRevision: GIT_COMMIT,
                gitDirty: GIT_DIRTY,
                buildTimestamp: BUILD_TIME,
                machine: HOSTNAME
            };
            var defaults = {
                dom_id: null,
                domNode: null,
                spec: {},
                url: "",
                urls: null,
                layout: "BaseLayout",
                docExpansion: "list",
                maxDisplayedTags: null,
                filter: null,
                validatorUrl: "https://online.swagger.io/validator",
                configs: {},
                custom: {},
                displayOperationId: false,
                displayRequestDuration: false,
                deepLinking: false,
                requestInterceptor: function requestInterceptor(a) {
                    return a
                },
                responseInterceptor: function responseInterceptor(a) {
                    return a
                },
                showMutatedRequest: true,
                defaultModelRendering: "example",
                defaultModelExpandDepth: 1,
                defaultModelsExpandDepth: 1,
                showExtensions: false,
                showCommonExtensions: false,
                supportedSubmitMethods: ["get", "put", "post", "delete", "options", "head", "patch", "trace"],
                presets: [_apis2.default],
                plugins: [],
                initialState: {},
                fn: {},
                components: {}
            };
            var queryConfig = (0, _utils.parseSearch)();
            var domNode = opts.domNode;
            delete opts.domNode;
            var constructorConfig = (0, _deepExtend2.default)({}, defaults, opts, queryConfig);
            var storeConfigs = {
                system: {
                    configs: constructorConfig.configs
                },
                plugins: constructorConfig.presets,
                state: (0, _deepExtend2.default)({
                    layout: {
                        layout: constructorConfig.layout,
                        filter: constructorConfig.filter
                    },
                    spec: {
                        spec: "",
                        url: constructorConfig.url
                    }
                }, constructorConfig.initialState)
            };
            if (constructorConfig.initialState) {
                for (var key in constructorConfig.initialState) {
                    if (constructorConfig.initialState.hasOwnProperty(key) && constructorConfig.initialState[key] === undefined) {
                        delete storeConfigs.state[key]
                    }
                }
            }
            var inlinePlugin = function inlinePlugin() {
                return {
                    fn: constructorConfig.fn,
                    components: constructorConfig.components,
                    state: constructorConfig.state
                }
            };
            var store = new _system2.default(storeConfigs);
            store.register([constructorConfig.plugins, inlinePlugin]);
            var system = store.getSystem();
            var downloadSpec = function downloadSpec(fetchedConfig) {
                var localConfig = system.specSelectors.getLocalConfig ? system.specSelectors.getLocalConfig() : {};
                var mergedConfig = (0, _deepExtend2.default)({}, localConfig, constructorConfig, fetchedConfig || {}, queryConfig);
                if (domNode) {
                    mergedConfig.domNode = domNode
                }
                store.setConfigs(mergedConfig);
                system.configsActions.loaded();
                if (fetchedConfig !== null) {
                    if (!queryConfig.url && (0, _typeof3.default)(mergedConfig.spec) === "object" && (0, _keys2.default)(mergedConfig.spec).length) {
                        system.specActions.updateUrl("");
                        system.specActions.updateLoadingStatus("success");
                        system.specActions.updateSpec((0, _stringify2.default)(mergedConfig.spec))
                    } else if (system.specActions.download && mergedConfig.url) {
                        system.specActions.updateUrl(mergedConfig.url);
                        system.specActions.download(mergedConfig.url)
                    }
                }
                if (mergedConfig.domNode) {
                    system.render(mergedConfig.domNode, "App")
                } else if (mergedConfig.dom_id) {
                    var _domNode = document.querySelector(mergedConfig.dom_id);
                    system.render(_domNode, "App")
                } else if (mergedConfig.dom_id === null || mergedConfig.domNode === null) {} else {
                    console.error("Skipped rendering: no `dom_id` or `domNode` was specified")
                }
                return system
            };
            var configUrl = queryConfig.config || constructorConfig.configUrl;
            if (!configUrl || !system.specActions || !system.specActions.getConfigByUrl || system.specActions.getConfigByUrl && !system.specActions.getConfigByUrl({
                url: configUrl,
                loadRemoteConfig: true,
                requestInterceptor: constructorConfig.requestInterceptor,
                responseInterceptor: constructorConfig.responseInterceptor
            }, downloadSpec)) {
                return downloadSpec()
            } else {
                system.specActions.getConfigByUrl(configUrl, downloadSpec)
            }
            return system
        };
        module.exports.presets = {
            apis: _apis2.default
        };
        module.exports.plugins = AllPlugins
    }, function(module, exports, __webpack_require__) {
        var core = __webpack_require__(10);
        var $JSON = core.JSON || (core.JSON = {
            stringify: JSON.stringify
        });
        module.exports = function stringify(it) {
            return $JSON.stringify.apply($JSON, arguments)
        }
    }, function(module, exports, __webpack_require__) {
        __webpack_require__(361);
        module.exports = __webpack_require__(10).Object.keys
    }, function(module, exports, __webpack_require__) {
        var toObject = __webpack_require__(60);
        var $keys = __webpack_require__(59);
        __webpack_require__(174)("keys", function() {
            return function keys(it) {
                return $keys(toObject(it))
            }
        })
    }, function(module, exports, __webpack_require__) {
        module.exports = {
            default: __webpack_require__(363),
            __esModule: true
        }
    }, function(module, exports, __webpack_require__) {
        __webpack_require__(61);
        __webpack_require__(77);
        module.exports = __webpack_require__(119).f("iterator")
    }, function(module, exports, __webpack_require__) {
        module.exports = {
            default: __webpack_require__(365),
            __esModule: true
        }
    }, function(module, exports, __webpack_require__) {
        __webpack_require__(366);
        __webpack_require__(177);
        __webpack_require__(371);
        __webpack_require__(372);
        module.exports = __webpack_require__(10).Symbol
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var global = __webpack_require__(15);
        var has = __webpack_require__(39);
        var DESCRIPTORS = __webpack_require__(34);
        var $export = __webpack_require__(25);
        var redefine = __webpack_require__(155);
        var META = __webpack_require__(367).KEY;
        var $fails = __webpack_require__(48);
        var shared = __webpack_require__(107);
        var setToStringTag = __webpack_require__(81);
        var uid = __webpack_require__(80);
        var wks = __webpack_require__(14);
        var wksExt = __webpack_require__(119);
        var wksDefine = __webpack_require__(120);
        var enumKeys = __webpack_require__(368);
        var isArray = __webpack_require__(369);
        var anObject = __webpack_require__(27);
        var isObject = __webpack_require__(33);
        var toIObject = __webpack_require__(46);
        var toPrimitive = __webpack_require__(102);
        var createDesc = __webpack_require__(58);
        var _create = __webpack_require__(103);
        var gOPNExt = __webpack_require__(370);
        var $GOPD = __webpack_require__(176);
        var $DP = __webpack_require__(29);
        var $keys = __webpack_require__(59);
        var gOPD = $GOPD.f;
        var dP = $DP.f;
        var gOPN = gOPNExt.f;
        var $Symbol = global.Symbol;
        var $JSON = global.JSON;
        var _stringify = $JSON && $JSON.stringify;
        var PROTOTYPE = "prototype";
        var HIDDEN = wks("_hidden");
        var TO_PRIMITIVE = wks("toPrimitive");
        var isEnum = {}.propertyIsEnumerable;
        var SymbolRegistry = shared("symbol-registry");
        var AllSymbols = shared("symbols");
        var OPSymbols = shared("op-symbols");
        var ObjectProto = Object[PROTOTYPE];
        var USE_NATIVE = typeof $Symbol == "function";
        var QObject = global.QObject;
        var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;
        var setSymbolDesc = DESCRIPTORS && $fails(function() {
            return _create(dP({}, "a", {
                get: function() {
                    return dP(this, "a", {
                        value: 7
                    }).a
                }
            })).a != 7
        }) ? function(it, key, D) {
            var protoDesc = gOPD(ObjectProto, key);
            if (protoDesc) delete ObjectProto[key];
            dP(it, key, D);
            if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc)
        } : dP;
        var wrap = function(tag) {
            var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);
            sym._k = tag;
            return sym
        };
        var isSymbol = USE_NATIVE && typeof $Symbol.iterator == "symbol" ? function(it) {
            return typeof it == "symbol"
        } : function(it) {
            return it instanceof $Symbol
        };
        var $defineProperty = function defineProperty(it, key, D) {
            if (it === ObjectProto) $defineProperty(OPSymbols, key, D);
            anObject(it);
            key = toPrimitive(key, true);
            anObject(D);
            if (has(AllSymbols, key)) {
                if (!D.enumerable) {
                    if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));
                    it[HIDDEN][key] = true
                } else {
                    if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;
                    D = _create(D, {
                        enumerable: createDesc(0, false)
                    })
                }
                return setSymbolDesc(it, key, D)
            }
            return dP(it, key, D)
        };
        var $defineProperties = function defineProperties(it, P) {
            anObject(it);
            var keys = enumKeys(P = toIObject(P));
            var i = 0;
            var l = keys.length;
            var key;
            while (l > i) $defineProperty(it, key = keys[i++], P[key]);
            return it
        };
        var $create = function create(it, P) {
            return P === undefined ? _create(it) : $defineProperties(_create(it), P)
        };
        var $propertyIsEnumerable = function propertyIsEnumerable(key) {
            var E = isEnum.call(this, key = toPrimitive(key, true));
            if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;
            return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true
        };
        var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {
            it = toIObject(it);
            key = toPrimitive(key, true);
            if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;
            var D = gOPD(it, key);
            if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;
            return D
        };
        var $getOwnPropertyNames = function getOwnPropertyNames(it) {
            var names = gOPN(toIObject(it));
            var result = [];
            var i = 0;
            var key;
            while (names.length > i) {
                if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key)
            }
            return result
        };
        var $getOwnPropertySymbols = function getOwnPropertySymbols(it) {
            var IS_OP = it === ObjectProto;
            var names = gOPN(IS_OP ? OPSymbols : toIObject(it));
            var result = [];
            var i = 0;
            var key;
            while (names.length > i) {
                if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key])
            }
            return result
        };
        if (!USE_NATIVE) {
            $Symbol = function Symbol() {
                if (this instanceof $Symbol) throw TypeError("Symbol is not a constructor!");
                var tag = uid(arguments.length > 0 ? arguments[0] : undefined);
                var $set = function(value) {
                    if (this === ObjectProto) $set.call(OPSymbols, value);
                    if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;
                    setSymbolDesc(this, tag, createDesc(1, value))
                };
                if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, {
                    configurable: true,
                    set: $set
                });
                return wrap(tag)
            };
            redefine($Symbol[PROTOTYPE], "toString", function toString() {
                return this._k
            });
            $GOPD.f = $getOwnPropertyDescriptor;
            $DP.f = $defineProperty;
            __webpack_require__(175).f = gOPNExt.f = $getOwnPropertyNames;
            __webpack_require__(89).f = $propertyIsEnumerable;
            __webpack_require__(121).f = $getOwnPropertySymbols;
            if (DESCRIPTORS && !__webpack_require__(78)) {
                redefine(ObjectProto, "propertyIsEnumerable", $propertyIsEnumerable, true)
            }
            wksExt.f = function(name) {
                return wrap(wks(name))
            }
        }
        $export($export.G + $export.W + $export.F * !USE_NATIVE, {
            Symbol: $Symbol
        });
        for (var es6Symbols = "hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","), j = 0; es6Symbols.length > j;) wks(es6Symbols[j++]);
        for (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);
        $export($export.S + $export.F * !USE_NATIVE, "Symbol", {
            for: function(key) {
                return has(SymbolRegistry, key += "") ? SymbolRegistry[key] : SymbolRegistry[key] = $Symbol(key)
            },
            keyFor: function keyFor(sym) {
                if (!isSymbol(sym)) throw TypeError(sym + " is not a symbol!");
                for (var key in SymbolRegistry)
                    if (SymbolRegistry[key] === sym) return key
            },
            useSetter: function() {
                setter = true
            },
            useSimple: function() {
                setter = false
            }
        });
        $export($export.S + $export.F * !USE_NATIVE, "Object", {
            create: $create,
            defineProperty: $defineProperty,
            defineProperties: $defineProperties,
            getOwnPropertyDescriptor: $getOwnPropertyDescriptor,
            getOwnPropertyNames: $getOwnPropertyNames,
            getOwnPropertySymbols: $getOwnPropertySymbols
        });
        $JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function() {
            var S = $Symbol();
            return _stringify([S]) != "[null]" || _stringify({
                a: S
            }) != "{}" || _stringify(Object(S)) != "{}"
        })), "JSON", {
            stringify: function stringify(it) {
                var args = [it];
                var i = 1;
                var replacer, $replacer;
                while (arguments.length > i) args.push(arguments[i++]);
                $replacer = replacer = args[1];
                if (!isObject(replacer) && it === undefined || isSymbol(it)) return;
                if (!isArray(replacer)) replacer = function(key, value) {
                    if (typeof $replacer == "function") value = $replacer.call(this, key, value);
                    if (!isSymbol(value)) return value
                };
                args[1] = replacer;
                return _stringify.apply($JSON, args)
            }
        });
        $Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(38)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);
        setToStringTag($Symbol, "Symbol");
        setToStringTag(Math, "Math", true);
        setToStringTag(global.JSON, "JSON", true)
    }, function(module, exports, __webpack_require__) {
        var META = __webpack_require__(80)("meta");
        var isObject = __webpack_require__(33);
        var has = __webpack_require__(39);
        var setDesc = __webpack_require__(29).f;
        var id = 0;
        var isExtensible = Object.isExtensible || function() {
            return true
        };
        var FREEZE = !__webpack_require__(48)(function() {
            return isExtensible(Object.preventExtensions({}))
        });
        var setMeta = function(it) {
            setDesc(it, META, {
                value: {
                    i: "O" + ++id,
                    w: {}
                }
            })
        };
        var fastKey = function(it, create) {
            if (!isObject(it)) return typeof it == "symbol" ? it : (typeof it == "string" ? "S" : "P") + it;
            if (!has(it, META)) {
                if (!isExtensible(it)) return "F";
                if (!create) return "E";
                setMeta(it)
            }
            return it[META].i
        };
        var getWeak = function(it, create) {
            if (!has(it, META)) {
                if (!isExtensible(it)) return true;
                if (!create) return false;
                setMeta(it)
            }
            return it[META].w
        };
        var onFreeze = function(it) {
            if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);
            return it
        };
        var meta = module.exports = {
            KEY: META,
            NEED: false,
            fastKey: fastKey,
            getWeak: getWeak,
            onFreeze: onFreeze
        }
    }, function(module, exports, __webpack_require__) {
        var getKeys = __webpack_require__(59);
        var gOPS = __webpack_require__(121);
        var pIE = __webpack_require__(89);
        module.exports = function(it) {
            var result = getKeys(it);
            var getSymbols = gOPS.f;
            if (getSymbols) {
                var symbols = getSymbols(it);
                var isEnum = pIE.f;
                var i = 0;
                var key;
                while (symbols.length > i)
                    if (isEnum.call(it, key = symbols[i++])) result.push(key)
            }
            return result
        }
    }, function(module, exports, __webpack_require__) {
        var cof = __webpack_require__(57);
        module.exports = Array.isArray || function isArray(arg) {
            return cof(arg) == "Array"
        }
    }, function(module, exports, __webpack_require__) {
        var toIObject = __webpack_require__(46);
        var gOPN = __webpack_require__(175).f;
        var toString = {}.toString;
        var windowNames = typeof window == "object" && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];
        var getWindowNames = function(it) {
            try {
                return gOPN(it)
            } catch (e) {
                return windowNames.slice()
            }
        };
        module.exports.f = function getOwnPropertyNames(it) {
            return windowNames && toString.call(it) == "[object Window]" ? getWindowNames(it) : gOPN(toIObject(it))
        }
    }, function(module, exports, __webpack_require__) {
        __webpack_require__(120)("asyncIterator")
    }, function(module, exports, __webpack_require__) {
        __webpack_require__(120)("observable")
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _keys = __webpack_require__(31);
        var _keys2 = _interopRequireDefault(_keys);
        var _defineProperty2 = __webpack_require__(18);
        var _defineProperty3 = _interopRequireDefault(_defineProperty2);
        var _assign = __webpack_require__(19);
        var _assign2 = _interopRequireDefault(_assign);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _redux = __webpack_require__(379);
        var _immutable = __webpack_require__(7);
        var _immutable2 = _interopRequireDefault(_immutable);
        var _deepExtend = __webpack_require__(178);
        var _deepExtend2 = _interopRequireDefault(_deepExtend);
        var _reduxImmutable = __webpack_require__(380);
        var _serializeError = __webpack_require__(122);
        var _serializeError2 = _interopRequireDefault(_serializeError);
        var _actions = __webpack_require__(90);
        var _window = __webpack_require__(22);
        var _window2 = _interopRequireDefault(_window);
        var _utils = __webpack_require__(8);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var idFn = function idFn(a) {
            return a
        };

        function createStoreWithMiddleware(rootReducer, initialState, getSystem) {
            var middlwares = [(0, _utils.systemThunkMiddleware)(getSystem)];
            var composeEnhancers = _window2.default.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || _redux.compose;
            return (0, _redux.createStore)(rootReducer, initialState, composeEnhancers(_redux.applyMiddleware.apply(undefined, middlwares)))
        }
        var Store = function() {
            function Store() {
                var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
                (0, _classCallCheck3.default)(this, Store);
                (0, _deepExtend2.default)(this, {
                    state: {},
                    plugins: [],
                    system: {
                        configs: {},
                        fn: {},
                        components: {},
                        rootInjects: {},
                        statePlugins: {}
                    },
                    boundSystem: {},
                    toolbox: {}
                }, opts);
                this.getSystem = this._getSystem.bind(this);
                this.store = configureStore(idFn, (0, _immutable.fromJS)(this.state), this.getSystem);
                this.buildSystem(false);
                this.register(this.plugins)
            }(0, _createClass3.default)(Store, [{
                key: "getStore",
                value: function getStore() {
                    return this.store
                }
            }, {
                key: "register",
                value: function register(plugins) {
                    var rebuild = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
                    var pluginSystem = combinePlugins(plugins, this.getSystem());
                    systemExtend(this.system, pluginSystem);
                    if (rebuild) {
                        this.buildSystem()
                    }
                    var needAnotherRebuild = callAfterLoad.call(this.system, plugins, this.getSystem());
                    if (needAnotherRebuild) {
                        this.buildSystem()
                    }
                }
            }, {
                key: "buildSystem",
                value: function buildSystem() {
                    var buildReducer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
                    var dispatch = this.getStore().dispatch;
                    var getState = this.getStore().getState;
                    this.boundSystem = (0, _assign2.default)({}, this.getRootInjects(), this.getWrappedAndBoundActions(dispatch), this.getWrappedAndBoundSelectors(getState, this.getSystem), this.getStateThunks(getState), this.getFn(), this.getConfigs());
                    if (buildReducer) this.rebuildReducer()
                }
            }, {
                key: "_getSystem",
                value: function _getSystem() {
                    return this.boundSystem
                }
            }, {
                key: "getRootInjects",
                value: function getRootInjects() {
                    return (0, _assign2.default)({
                        getSystem: this.getSystem,
                        getStore: this.getStore.bind(this),
                        getComponents: this.getComponents.bind(this),
                        getState: this.getStore().getState,
                        getConfigs: this._getConfigs.bind(this),
                        Im: _immutable2.default,
                        React: _react2.default
                    }, this.system.rootInjects || {})
                }
            }, {
                key: "_getConfigs",
                value: function _getConfigs() {
                    return this.system.configs
                }
            }, {
                key: "getConfigs",
                value: function getConfigs() {
                    return {
                        configs: this.system.configs
                    }
                }
            }, {
                key: "setConfigs",
                value: function setConfigs(configs) {
                    this.system.configs = configs
                }
            }, {
                key: "rebuildReducer",
                value: function rebuildReducer() {
                    this.store.replaceReducer(buildReducer(this.system.statePlugins))
                }
            }, {
                key: "getType",
                value: function getType(name) {
                    var upName = name[0].toUpperCase() + name.slice(1);
                    return (0, _utils.objReduce)(this.system.statePlugins, function(val, namespace) {
                        var thing = val[name];
                        if (thing) return (0, _defineProperty3.default)({}, namespace + upName, thing)
                    })
                }
            }, {
                key: "getSelectors",
                value: function getSelectors() {
                    return this.getType("selectors")
                }
            }, {
                key: "getActions",
                value: function getActions() {
                    var actionHolders = this.getType("actions");
                    return (0, _utils.objMap)(actionHolders, function(actions) {
                        return (0, _utils.objReduce)(actions, function(action, actionName) {
                            if ((0, _utils.isFn)(action)) return (0, _defineProperty3.default)({}, actionName, action)
                        })
                    })
                }
            }, {
                key: "getWrappedAndBoundActions",
                value: function getWrappedAndBoundActions(dispatch) {
                    var _this = this;
                    var actionGroups = this.getBoundActions(dispatch);
                    return (0, _utils.objMap)(actionGroups, function(actions, actionGroupName) {
                        var wrappers = _this.system.statePlugins[actionGroupName.slice(0, -7)].wrapActions;
                        if (wrappers) {
                            return (0, _utils.objMap)(actions, function(action, actionName) {
                                var wrap = wrappers[actionName];
                                if (!wrap) {
                                    return action
                                }
                                if (!Array.isArray(wrap)) {
                                    wrap = [wrap]
                                }
                                return wrap.reduce(function(acc, fn) {
                                    var newAction = function newAction() {
                                        return fn(acc, _this.getSystem()).apply(undefined, arguments)
                                    };
                                    if (!(0, _utils.isFn)(newAction)) {
                                        throw new TypeError("wrapActions needs to return a function that returns a new function (ie the wrapped action)")
                                    }
                                    return wrapWithTryCatch(newAction)
                                }, action || Function.prototype)
                            })
                        }
                        return actions
                    })
                }
            }, {
                key: "getWrappedAndBoundSelectors",
                value: function getWrappedAndBoundSelectors(getState, getSystem) {
                    var _this2 = this;
                    var selectorGroups = this.getBoundSelectors(getState, getSystem);
                    return (0, _utils.objMap)(selectorGroups, function(selectors, selectorGroupName) {
                        var stateName = [selectorGroupName.slice(0, -9)];
                        var wrappers = _this2.system.statePlugins[stateName].wrapSelectors;
                        if (wrappers) {
                            return (0, _utils.objMap)(selectors, function(selector, selectorName) {
                                var wrap = wrappers[selectorName];
                                if (!wrap) {
                                    return selector
                                }
                                if (!Array.isArray(wrap)) {
                                    wrap = [wrap]
                                }
                                return wrap.reduce(function(acc, fn) {
                                    var wrappedSelector = function wrappedSelector() {
                                        for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
                                            args[_key] = arguments[_key]
                                        }
                                        return fn(acc, _this2.getSystem()).apply(undefined, [getState().getIn(stateName)].concat(args))
                                    };
                                    if (!(0, _utils.isFn)(wrappedSelector)) {
                                        throw new TypeError("wrapSelector needs to return a function that returns a new function (ie the wrapped action)")
                                    }
                                    return wrappedSelector
                                }, selector || Function.prototype)
                            })
                        }
                        return selectors
                    })
                }
            }, {
                key: "getStates",
                value: function getStates(state) {
                    return (0, _keys2.default)(this.system.statePlugins).reduce(function(obj, key) {
                        obj[key] = state.get(key);
                        return obj
                    }, {})
                }
            }, {
                key: "getStateThunks",
                value: function getStateThunks(getState) {
                    return (0, _keys2.default)(this.system.statePlugins).reduce(function(obj, key) {
                        obj[key] = function() {
                            return getState().get(key)
                        };
                        return obj
                    }, {})
                }
            }, {
                key: "getFn",
                value: function getFn() {
                    return {
                        fn: this.system.fn
                    }
                }
            }, {
                key: "getComponents",
                value: function getComponents(component) {
                    var _this3 = this;
                    var res = this.system.components[component];
                    if (Array.isArray(res)) {
                        return res.reduce(function(ori, wrapper) {
                            return wrapper(ori, _this3.getSystem())
                        })
                    }
                    if (typeof component !== "undefined") {
                        return this.system.components[component]
                    }
                    return this.system.components
                }
            }, {
                key: "getBoundSelectors",
                value: function getBoundSelectors(getState, getSystem) {
                    return (0, _utils.objMap)(this.getSelectors(), function(obj, key) {
                        var stateName = [key.slice(0, -9)];
                        var getNestedState = function getNestedState() {
                            return getState().getIn(stateName)
                        };
                        return (0, _utils.objMap)(obj, function(fn) {
                            return function() {
                                for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
                                    args[_key2] = arguments[_key2]
                                }
                                var res = wrapWithTryCatch(fn).apply(null, [getNestedState()].concat(args));
                                if (typeof res === "function") res = wrapWithTryCatch(res)(getSystem());
                                return res
                            }
                        })
                    })
                }
            }, {
                key: "getBoundActions",
                value: function getBoundActions(dispatch) {
                    dispatch = dispatch || this.getStore().dispatch;
                    var actions = this.getActions();
                    var process = function process(creator) {
                        if (typeof creator !== "function") {
                            return (0, _utils.objMap)(creator, function(prop) {
                                return process(prop)
                            })
                        }
                        return function() {
                            var action = null;
                            try {
                                action = creator.apply(undefined, arguments)
                            } catch (e) {
                                action = {
                                    type: _actions.NEW_THROWN_ERR,
                                    error: true,
                                    payload: (0, _serializeError2.default)(e)
                                }
                            } finally {
                                return action
                            }
                        }
                    };
                    return (0, _utils.objMap)(actions, function(actionCreator) {
                        return (0, _redux.bindActionCreators)(process(actionCreator), dispatch)
                    })
                }
            }, {
                key: "getMapStateToProps",
                value: function getMapStateToProps() {
                    var _this4 = this;
                    return function() {
                        return (0, _assign2.default)({}, _this4.getSystem())
                    }
                }
            }, {
                key: "getMapDispatchToProps",
                value: function getMapDispatchToProps(extras) {
                    var _this5 = this;
                    return function(dispatch) {
                        return (0, _deepExtend2.default)({}, _this5.getWrappedAndBoundActions(dispatch), _this5.getFn(), extras)
                    }
                }
            }]);
            return Store
        }();
        exports.default = Store;

        function combinePlugins(plugins, toolbox) {
            if ((0, _utils.isObject)(plugins) && !(0, _utils.isArray)(plugins)) return plugins;
            if ((0, _utils.isFunc)(plugins)) return combinePlugins(plugins(toolbox), toolbox);
            if ((0, _utils.isArray)(plugins)) {
                return plugins.map(function(plugin) {
                    return combinePlugins(plugin, toolbox)
                }).reduce(systemExtend, {})
            }
            return {}
        }

        function callAfterLoad(plugins, system) {
            var _this6 = this;
            var _ref3 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
                hasLoaded = _ref3.hasLoaded;
            var calledSomething = hasLoaded;
            if ((0, _utils.isObject)(plugins) && !(0, _utils.isArray)(plugins)) {
                if (typeof plugins.afterLoad === "function") {
                    calledSomething = true;
                    wrapWithTryCatch(plugins.afterLoad).call(this, system)
                }
            }
            if ((0, _utils.isFunc)(plugins)) return callAfterLoad.call(this, plugins(system), system, {
                hasLoaded: calledSomething
            });
            if ((0, _utils.isArray)(plugins)) {
                return plugins.map(function(plugin) {
                    return callAfterLoad.call(_this6, plugin, system, {
                        hasLoaded: calledSomething
                    })
                })
            }
            return calledSomething
        }

        function systemExtend() {
            var dest = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
            var src = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
            if (!(0, _utils.isObject)(dest)) {
                return {}
            }
            if (!(0, _utils.isObject)(src)) {
                return dest
            }
            if (src.wrapComponents) {
                (0, _utils.objMap)(src.wrapComponents, function(wrapperFn, key) {
                    var ori = dest.components && dest.components[key];
                    if (ori && Array.isArray(ori)) {
                        dest.components[key] = ori.concat([wrapperFn]);
                        delete src.wrapComponents[key]
                    } else if (ori) {
                        dest.components[key] = [ori, wrapperFn];
                        delete src.wrapComponents[key]
                    }
                });
                if (!(0, _keys2.default)(src.wrapComponents).length) {
                    delete src.wrapComponents
                }
            }
            var statePlugins = dest.statePlugins;
            if ((0, _utils.isObject)(statePlugins)) {
                for (var namespace in statePlugins) {
                    var namespaceObj = statePlugins[namespace];
                    if (!(0, _utils.isObject)(namespaceObj) || !(0, _utils.isObject)(namespaceObj.wrapActions)) {
                        continue
                    }
                    var wrapActions = namespaceObj.wrapActions;
                    for (var actionName in wrapActions) {
                        var action = wrapActions[actionName];
                        if (!Array.isArray(action)) {
                            action = [action];
                            wrapActions[actionName] = action
                        }
                        if (src && src.statePlugins && src.statePlugins[namespace] && src.statePlugins[namespace].wrapActions && src.statePlugins[namespace].wrapActions[actionName]) {
                            src.statePlugins[namespace].wrapActions[actionName] = wrapActions[actionName].concat(src.statePlugins[namespace].wrapActions[actionName])
                        }
                    }
                }
            }
            return (0, _deepExtend2.default)(dest, src)
        }

        function buildReducer(states) {
            var reducerObj = (0, _utils.objMap)(states, function(val) {
                return val.reducers
            });
            return allReducers(reducerObj)
        }

        function allReducers(reducerSystem) {
            var reducers = (0, _keys2.default)(reducerSystem).reduce(function(obj, key) {
                obj[key] = makeReducer(reducerSystem[key]);
                return obj
            }, {});
            if (!(0, _keys2.default)(reducers).length) {
                return idFn
            }
            return (0, _reduxImmutable.combineReducers)(reducers)
        }

        function makeReducer(reducerObj) {
            return function() {
                var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new _immutable.Map;
                var action = arguments[1];
                if (!reducerObj) return state;
                var redFn = reducerObj[action.type];
                if (redFn) {
                    var res = wrapWithTryCatch(redFn)(state, action);
                    return res === null ? state : res
                }
                return state
            }
        }

        function wrapWithTryCatch(fn) {
            var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
                _ref4$logErrors = _ref4.logErrors,
                logErrors = _ref4$logErrors === undefined ? true : _ref4$logErrors;
            if (typeof fn !== "function") {
                return fn
            }
            return function() {
                try {
                    for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
                        args[_key3] = arguments[_key3]
                    }
                    return fn.call.apply(fn, [this].concat(args))
                } catch (e) {
                    if (logErrors) {
                        console.error(e)
                    }
                    return null
                }
            }
        }

        function configureStore(rootReducer, initialState, getSystem) {
            var store = createStoreWithMiddleware(rootReducer, initialState, getSystem);
            return store
        }
    }, function(module, exports, __webpack_require__) {
        __webpack_require__(375);
        var $Object = __webpack_require__(10).Object;
        module.exports = function defineProperty(it, key, desc) {
            return $Object.defineProperty(it, key, desc)
        }
    }, function(module, exports, __webpack_require__) {
        var $export = __webpack_require__(25);
        $export($export.S + $export.F * !__webpack_require__(34), "Object", {
            defineProperty: __webpack_require__(29).f
        })
    }, function(module, exports, __webpack_require__) {
        __webpack_require__(377);
        module.exports = __webpack_require__(10).Object.assign
    }, function(module, exports, __webpack_require__) {
        var $export = __webpack_require__(25);
        $export($export.S + $export.F, "Object", {
            assign: __webpack_require__(378)
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var getKeys = __webpack_require__(59);
        var gOPS = __webpack_require__(121);
        var pIE = __webpack_require__(89);
        var toObject = __webpack_require__(60);
        var IObject = __webpack_require__(152);
        var $assign = Object.assign;
        module.exports = !$assign || __webpack_require__(48)(function() {
            var A = {};
            var B = {};
            var S = Symbol();
            var K = "abcdefghijklmnopqrst";
            A[S] = 7;
            K.split("").forEach(function(k) {
                B[k] = k
            });
            return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join("") != K
        }) ? function assign(target, source) {
            var T = toObject(target);
            var aLen = arguments.length;
            var index = 1;
            var getSymbols = gOPS.f;
            var isEnum = pIE.f;
            while (aLen > index) {
                var S = IObject(arguments[index++]);
                var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);
                var length = keys.length;
                var j = 0;
                var key;
                while (length > j)
                    if (isEnum.call(S, key = keys[j++])) T[key] = S[key]
            }
            return T
        } : $assign
    }, function(module, exports) {
        module.exports = require("redux")
    }, function(module, exports) {
        module.exports = require("redux-immutable")
    }, function(module, exports, __webpack_require__) {
        "use strict";
        (function(global) {
            /*!
             * The buffer module from node.js, for the browser.
             *
             * @author   Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
             * @license  MIT
             */
            var base64 = __webpack_require__(382);
            var ieee754 = __webpack_require__(383);
            var isArray = __webpack_require__(384);
            exports.Buffer = Buffer;
            exports.SlowBuffer = SlowBuffer;
            exports.INSPECT_MAX_BYTES = 50;
            Buffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined ? global.TYPED_ARRAY_SUPPORT : typedArraySupport();
            exports.kMaxLength = kMaxLength();

            function typedArraySupport() {
                try {
                    var arr = new Uint8Array(1);
                    arr.__proto__ = {
                        __proto__: Uint8Array.prototype,
                        foo: function() {
                            return 42
                        }
                    };
                    return arr.foo() === 42 && typeof arr.subarray === "function" && arr.subarray(1, 1).byteLength === 0
                } catch (e) {
                    return false
                }
            }

            function kMaxLength() {
                return Buffer.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823
            }

            function createBuffer(that, length) {
                if (kMaxLength() < length) {
                    throw new RangeError("Invalid typed array length")
                }
                if (Buffer.TYPED_ARRAY_SUPPORT) {
                    that = new Uint8Array(length);
                    that.__proto__ = Buffer.prototype
                } else {
                    if (that === null) {
                        that = new Buffer(length)
                    }
                    that.length = length
                }
                return that
            }

            function Buffer(arg, encodingOrOffset, length) {
                if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {
                    return new Buffer(arg, encodingOrOffset, length)
                }
                if (typeof arg === "number") {
                    if (typeof encodingOrOffset === "string") {
                        throw new Error("If encoding is specified then the first argument must be a string")
                    }
                    return allocUnsafe(this, arg)
                }
                return from(this, arg, encodingOrOffset, length)
            }
            Buffer.poolSize = 8192;
            Buffer._augment = function(arr) {
                arr.__proto__ = Buffer.prototype;
                return arr
            };

            function from(that, value, encodingOrOffset, length) {
                if (typeof value === "number") {
                    throw new TypeError('"value" argument must not be a number')
                }
                if (typeof ArrayBuffer !== "undefined" && value instanceof ArrayBuffer) {
                    return fromArrayBuffer(that, value, encodingOrOffset, length)
                }
                if (typeof value === "string") {
                    return fromString(that, value, encodingOrOffset)
                }
                return fromObject(that, value)
            }
            Buffer.from = function(value, encodingOrOffset, length) {
                return from(null, value, encodingOrOffset, length)
            };
            if (Buffer.TYPED_ARRAY_SUPPORT) {
                Buffer.prototype.__proto__ = Uint8Array.prototype;
                Buffer.__proto__ = Uint8Array;
                if (typeof Symbol !== "undefined" && Symbol.species && Buffer[Symbol.species] === Buffer) {
                    Object.defineProperty(Buffer, Symbol.species, {
                        value: null,
                        configurable: true
                    })
                }
            }

            function assertSize(size) {
                if (typeof size !== "number") {
                    throw new TypeError('"size" argument must be a number')
                } else if (size < 0) {
                    throw new RangeError('"size" argument must not be negative')
                }
            }

            function alloc(that, size, fill, encoding) {
                assertSize(size);
                if (size <= 0) {
                    return createBuffer(that, size)
                }
                if (fill !== undefined) {
                    return typeof encoding === "string" ? createBuffer(that, size).fill(fill, encoding) : createBuffer(that, size).fill(fill)
                }
                return createBuffer(that, size)
            }
            Buffer.alloc = function(size, fill, encoding) {
                return alloc(null, size, fill, encoding)
            };

            function allocUnsafe(that, size) {
                assertSize(size);
                that = createBuffer(that, size < 0 ? 0 : checked(size) | 0);
                if (!Buffer.TYPED_ARRAY_SUPPORT) {
                    for (var i = 0; i < size; ++i) {
                        that[i] = 0
                    }
                }
                return that
            }
            Buffer.allocUnsafe = function(size) {
                return allocUnsafe(null, size)
            };
            Buffer.allocUnsafeSlow = function(size) {
                return allocUnsafe(null, size)
            };

            function fromString(that, string, encoding) {
                if (typeof encoding !== "string" || encoding === "") {
                    encoding = "utf8"
                }
                if (!Buffer.isEncoding(encoding)) {
                    throw new TypeError('"encoding" must be a valid string encoding')
                }
                var length = byteLength(string, encoding) | 0;
                that = createBuffer(that, length);
                var actual = that.write(string, encoding);
                if (actual !== length) {
                    that = that.slice(0, actual)
                }
                return that
            }

            function fromArrayLike(that, array) {
                var length = array.length < 0 ? 0 : checked(array.length) | 0;
                that = createBuffer(that, length);
                for (var i = 0; i < length; i += 1) {
                    that[i] = array[i] & 255
                }
                return that
            }

            function fromArrayBuffer(that, array, byteOffset, length) {
                array.byteLength;
                if (byteOffset < 0 || array.byteLength < byteOffset) {
                    throw new RangeError("'offset' is out of bounds")
                }
                if (array.byteLength < byteOffset + (length || 0)) {
                    throw new RangeError("'length' is out of bounds")
                }
                if (byteOffset === undefined && length === undefined) {
                    array = new Uint8Array(array)
                } else if (length === undefined) {
                    array = new Uint8Array(array, byteOffset)
                } else {
                    array = new Uint8Array(array, byteOffset, length)
                }
                if (Buffer.TYPED_ARRAY_SUPPORT) {
                    that = array;
                    that.__proto__ = Buffer.prototype
                } else {
                    that = fromArrayLike(that, array)
                }
                return that
            }

            function fromObject(that, obj) {
                if (Buffer.isBuffer(obj)) {
                    var len = checked(obj.length) | 0;
                    that = createBuffer(that, len);
                    if (that.length === 0) {
                        return that
                    }
                    obj.copy(that, 0, 0, len);
                    return that
                }
                if (obj) {
                    if (typeof ArrayBuffer !== "undefined" && obj.buffer instanceof ArrayBuffer || "length" in obj) {
                        if (typeof obj.length !== "number" || isnan(obj.length)) {
                            return createBuffer(that, 0)
                        }
                        return fromArrayLike(that, obj)
                    }
                    if (obj.type === "Buffer" && isArray(obj.data)) {
                        return fromArrayLike(that, obj.data)
                    }
                }
                throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")
            }

            function checked(length) {
                if (length >= kMaxLength()) {
                    throw new RangeError("Attempt to allocate Buffer larger than maximum " + "size: 0x" + kMaxLength().toString(16) + " bytes")
                }
                return length | 0
            }

            function SlowBuffer(length) {
                if (+length != length) {
                    length = 0
                }
                return Buffer.alloc(+length)
            }
            Buffer.isBuffer = function isBuffer(b) {
                return !!(b != null && b._isBuffer)
            };
            Buffer.compare = function compare(a, b) {
                if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {
                    throw new TypeError("Arguments must be Buffers")
                }
                if (a === b) return 0;
                var x = a.length;
                var y = b.length;
                for (var i = 0, len = Math.min(x, y); i < len; ++i) {
                    if (a[i] !== b[i]) {
                        x = a[i];
                        y = b[i];
                        break
                    }
                }
                if (x < y) return -1;
                if (y < x) return 1;
                return 0
            };
            Buffer.isEncoding = function isEncoding(encoding) {
                switch (String(encoding).toLowerCase()) {
                    case "hex":
                    case "utf8":
                    case "utf-8":
                    case "ascii":
                    case "latin1":
                    case "binary":
                    case "base64":
                    case "ucs2":
                    case "ucs-2":
                    case "utf16le":
                    case "utf-16le":
                        return true;
                    default:
                        return false
                }
            };
            Buffer.concat = function concat(list, length) {
                if (!isArray(list)) {
                    throw new TypeError('"list" argument must be an Array of Buffers')
                }
                if (list.length === 0) {
                    return Buffer.alloc(0)
                }
                var i;
                if (length === undefined) {
                    length = 0;
                    for (i = 0; i < list.length; ++i) {
                        length += list[i].length
                    }
                }
                var buffer = Buffer.allocUnsafe(length);
                var pos = 0;
                for (i = 0; i < list.length; ++i) {
                    var buf = list[i];
                    if (!Buffer.isBuffer(buf)) {
                        throw new TypeError('"list" argument must be an Array of Buffers')
                    }
                    buf.copy(buffer, pos);
                    pos += buf.length
                }
                return buffer
            };

            function byteLength(string, encoding) {
                if (Buffer.isBuffer(string)) {
                    return string.length
                }
                if (typeof ArrayBuffer !== "undefined" && typeof ArrayBuffer.isView === "function" && (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {
                    return string.byteLength
                }
                if (typeof string !== "string") {
                    string = "" + string
                }
                var len = string.length;
                if (len === 0) return 0;
                var loweredCase = false;
                for (;;) {
                    switch (encoding) {
                        case "ascii":
                        case "latin1":
                        case "binary":
                            return len;
                        case "utf8":
                        case "utf-8":
                        case undefined:
                            return utf8ToBytes(string).length;
                        case "ucs2":
                        case "ucs-2":
                        case "utf16le":
                        case "utf-16le":
                            return len * 2;
                        case "hex":
                            return len >>> 1;
                        case "base64":
                            return base64ToBytes(string).length;
                        default:
                            if (loweredCase) return utf8ToBytes(string).length;
                            encoding = ("" + encoding).toLowerCase();
                            loweredCase = true
                    }
                }
            }
            Buffer.byteLength = byteLength;

            function slowToString(encoding, start, end) {
                var loweredCase = false;
                if (start === undefined || start < 0) {
                    start = 0
                }
                if (start > this.length) {
                    return ""
                }
                if (end === undefined || end > this.length) {
                    end = this.length
                }
                if (end <= 0) {
                    return ""
                }
                end >>>= 0;
                start >>>= 0;
                if (end <= start) {
                    return ""
                }
                if (!encoding) encoding = "utf8";
                while (true) {
                    switch (encoding) {
                        case "hex":
                            return hexSlice(this, start, end);
                        case "utf8":
                        case "utf-8":
                            return utf8Slice(this, start, end);
                        case "ascii":
                            return asciiSlice(this, start, end);
                        case "latin1":
                        case "binary":
                            return latin1Slice(this, start, end);
                        case "base64":
                            return base64Slice(this, start, end);
                        case "ucs2":
                        case "ucs-2":
                        case "utf16le":
                        case "utf-16le":
                            return utf16leSlice(this, start, end);
                        default:
                            if (loweredCase) throw new TypeError("Unknown encoding: " + encoding);
                            encoding = (encoding + "").toLowerCase();
                            loweredCase = true
                    }
                }
            }
            Buffer.prototype._isBuffer = true;

            function swap(b, n, m) {
                var i = b[n];
                b[n] = b[m];
                b[m] = i
            }
            Buffer.prototype.swap16 = function swap16() {
                var len = this.length;
                if (len % 2 !== 0) {
                    throw new RangeError("Buffer size must be a multiple of 16-bits")
                }
                for (var i = 0; i < len; i += 2) {
                    swap(this, i, i + 1)
                }
                return this
            };
            Buffer.prototype.swap32 = function swap32() {
                var len = this.length;
                if (len % 4 !== 0) {
                    throw new RangeError("Buffer size must be a multiple of 32-bits")
                }
                for (var i = 0; i < len; i += 4) {
                    swap(this, i, i + 3);
                    swap(this, i + 1, i + 2)
                }
                return this
            };
            Buffer.prototype.swap64 = function swap64() {
                var len = this.length;
                if (len % 8 !== 0) {
                    throw new RangeError("Buffer size must be a multiple of 64-bits")
                }
                for (var i = 0; i < len; i += 8) {
                    swap(this, i, i + 7);
                    swap(this, i + 1, i + 6);
                    swap(this, i + 2, i + 5);
                    swap(this, i + 3, i + 4)
                }
                return this
            };
            Buffer.prototype.toString = function toString() {
                var length = this.length | 0;
                if (length === 0) return "";
                if (arguments.length === 0) return utf8Slice(this, 0, length);
                return slowToString.apply(this, arguments)
            };
            Buffer.prototype.equals = function equals(b) {
                if (!Buffer.isBuffer(b)) throw new TypeError("Argument must be a Buffer");
                if (this === b) return true;
                return Buffer.compare(this, b) === 0
            };
            Buffer.prototype.inspect = function inspect() {
                var str = "";
                var max = exports.INSPECT_MAX_BYTES;
                if (this.length > 0) {
                    str = this.toString("hex", 0, max).match(/.{2}/g).join(" ");
                    if (this.length > max) str += " ... "
                }
                return "<Buffer " + str + ">"
            };
            Buffer.prototype.compare = function compare(target, start, end, thisStart, thisEnd) {
                if (!Buffer.isBuffer(target)) {
                    throw new TypeError("Argument must be a Buffer")
                }
                if (start === undefined) {
                    start = 0
                }
                if (end === undefined) {
                    end = target ? target.length : 0
                }
                if (thisStart === undefined) {
                    thisStart = 0
                }
                if (thisEnd === undefined) {
                    thisEnd = this.length
                }
                if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {
                    throw new RangeError("out of range index")
                }
                if (thisStart >= thisEnd && start >= end) {
                    return 0
                }
                if (thisStart >= thisEnd) {
                    return -1
                }
                if (start >= end) {
                    return 1
                }
                start >>>= 0;
                end >>>= 0;
                thisStart >>>= 0;
                thisEnd >>>= 0;
                if (this === target) return 0;
                var x = thisEnd - thisStart;
                var y = end - start;
                var len = Math.min(x, y);
                var thisCopy = this.slice(thisStart, thisEnd);
                var targetCopy = target.slice(start, end);
                for (var i = 0; i < len; ++i) {
                    if (thisCopy[i] !== targetCopy[i]) {
                        x = thisCopy[i];
                        y = targetCopy[i];
                        break
                    }
                }
                if (x < y) return -1;
                if (y < x) return 1;
                return 0
            };

            function bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {
                if (buffer.length === 0) return -1;
                if (typeof byteOffset === "string") {
                    encoding = byteOffset;
                    byteOffset = 0
                } else if (byteOffset > 2147483647) {
                    byteOffset = 2147483647
                } else if (byteOffset < -2147483648) {
                    byteOffset = -2147483648
                }
                byteOffset = +byteOffset;
                if (isNaN(byteOffset)) {
                    byteOffset = dir ? 0 : buffer.length - 1
                }
                if (byteOffset < 0) byteOffset = buffer.length + byteOffset;
                if (byteOffset >= buffer.length) {
                    if (dir) return -1;
                    else byteOffset = buffer.length - 1
                } else if (byteOffset < 0) {
                    if (dir) byteOffset = 0;
                    else return -1
                }
                if (typeof val === "string") {
                    val = Buffer.from(val, encoding)
                }
                if (Buffer.isBuffer(val)) {
                    if (val.length === 0) {
                        return -1
                    }
                    return arrayIndexOf(buffer, val, byteOffset, encoding, dir)
                } else if (typeof val === "number") {
                    val = val & 255;
                    if (Buffer.TYPED_ARRAY_SUPPORT && typeof Uint8Array.prototype.indexOf === "function") {
                        if (dir) {
                            return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)
                        } else {
                            return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)
                        }
                    }
                    return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)
                }
                throw new TypeError("val must be string, number or Buffer")
            }

            function arrayIndexOf(arr, val, byteOffset, encoding, dir) {
                var indexSize = 1;
                var arrLength = arr.length;
                var valLength = val.length;
                if (encoding !== undefined) {
                    encoding = String(encoding).toLowerCase();
                    if (encoding === "ucs2" || encoding === "ucs-2" || encoding === "utf16le" || encoding === "utf-16le") {
                        if (arr.length < 2 || val.length < 2) {
                            return -1
                        }
                        indexSize = 2;
                        arrLength /= 2;
                        valLength /= 2;
                        byteOffset /= 2
                    }
                }

                function read(buf, i) {
                    if (indexSize === 1) {
                        return buf[i]
                    } else {
                        return buf.readUInt16BE(i * indexSize)
                    }
                }
                var i;
                if (dir) {
                    var foundIndex = -1;
                    for (i = byteOffset; i < arrLength; i++) {
                        if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {
                            if (foundIndex === -1) foundIndex = i;
                            if (i - foundIndex + 1 === valLength) return foundIndex * indexSize
                        } else {
                            if (foundIndex !== -1) i -= i - foundIndex;
                            foundIndex = -1
                        }
                    }
                } else {
                    if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;
                    for (i = byteOffset; i >= 0; i--) {
                        var found = true;
                        for (var j = 0; j < valLength; j++) {
                            if (read(arr, i + j) !== read(val, j)) {
                                found = false;
                                break
                            }
                        }
                        if (found) return i
                    }
                }
                return -1
            }
            Buffer.prototype.includes = function includes(val, byteOffset, encoding) {
                return this.indexOf(val, byteOffset, encoding) !== -1
            };
            Buffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) {
                return bidirectionalIndexOf(this, val, byteOffset, encoding, true)
            };
            Buffer.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) {
                return bidirectionalIndexOf(this, val, byteOffset, encoding, false)
            };

            function hexWrite(buf, string, offset, length) {
                offset = Number(offset) || 0;
                var remaining = buf.length - offset;
                if (!length) {
                    length = remaining
                } else {
                    length = Number(length);
                    if (length > remaining) {
                        length = remaining
                    }
                }
                var strLen = string.length;
                if (strLen % 2 !== 0) throw new TypeError("Invalid hex string");
                if (length > strLen / 2) {
                    length = strLen / 2
                }
                for (var i = 0; i < length; ++i) {
                    var parsed = parseInt(string.substr(i * 2, 2), 16);
                    if (isNaN(parsed)) return i;
                    buf[offset + i] = parsed
                }
                return i
            }

            function utf8Write(buf, string, offset, length) {
                return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)
            }

            function asciiWrite(buf, string, offset, length) {
                return blitBuffer(asciiToBytes(string), buf, offset, length)
            }

            function latin1Write(buf, string, offset, length) {
                return asciiWrite(buf, string, offset, length)
            }

            function base64Write(buf, string, offset, length) {
                return blitBuffer(base64ToBytes(string), buf, offset, length)
            }

            function ucs2Write(buf, string, offset, length) {
                return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)
            }
            Buffer.prototype.write = function write(string, offset, length, encoding) {
                if (offset === undefined) {
                    encoding = "utf8";
                    length = this.length;
                    offset = 0
                } else if (length === undefined && typeof offset === "string") {
                    encoding = offset;
                    length = this.length;
                    offset = 0
                } else if (isFinite(offset)) {
                    offset = offset | 0;
                    if (isFinite(length)) {
                        length = length | 0;
                        if (encoding === undefined) encoding = "utf8"
                    } else {
                        encoding = length;
                        length = undefined
                    }
                } else {
                    throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported")
                }
                var remaining = this.length - offset;
                if (length === undefined || length > remaining) length = remaining;
                if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) {
                    throw new RangeError("Attempt to write outside buffer bounds")
                }
                if (!encoding) encoding = "utf8";
                var loweredCase = false;
                for (;;) {
                    switch (encoding) {
                        case "hex":
                            return hexWrite(this, string, offset, length);
                        case "utf8":
                        case "utf-8":
                            return utf8Write(this, string, offset, length);
                        case "ascii":
                            return asciiWrite(this, string, offset, length);
                        case "latin1":
                        case "binary":
                            return latin1Write(this, string, offset, length);
                        case "base64":
                            return base64Write(this, string, offset, length);
                        case "ucs2":
                        case "ucs-2":
                        case "utf16le":
                        case "utf-16le":
                            return ucs2Write(this, string, offset, length);
                        default:
                            if (loweredCase) throw new TypeError("Unknown encoding: " + encoding);
                            encoding = ("" + encoding).toLowerCase();
                            loweredCase = true
                    }
                }
            };
            Buffer.prototype.toJSON = function toJSON() {
                return {
                    type: "Buffer",
                    data: Array.prototype.slice.call(this._arr || this, 0)
                }
            };

            function base64Slice(buf, start, end) {
                if (start === 0 && end === buf.length) {
                    return base64.fromByteArray(buf)
                } else {
                    return base64.fromByteArray(buf.slice(start, end))
                }
            }

            function utf8Slice(buf, start, end) {
                end = Math.min(buf.length, end);
                var res = [];
                var i = start;
                while (i < end) {
                    var firstByte = buf[i];
                    var codePoint = null;
                    var bytesPerSequence = firstByte > 239 ? 4 : firstByte > 223 ? 3 : firstByte > 191 ? 2 : 1;
                    if (i + bytesPerSequence <= end) {
                        var secondByte, thirdByte, fourthByte, tempCodePoint;
                        switch (bytesPerSequence) {
                            case 1:
                                if (firstByte < 128) {
                                    codePoint = firstByte
                                }
                                break;
                            case 2:
                                secondByte = buf[i + 1];
                                if ((secondByte & 192) === 128) {
                                    tempCodePoint = (firstByte & 31) << 6 | secondByte & 63;
                                    if (tempCodePoint > 127) {
                                        codePoint = tempCodePoint
                                    }
                                }
                                break;
                            case 3:
                                secondByte = buf[i + 1];
                                thirdByte = buf[i + 2];
                                if ((secondByte & 192) === 128 && (thirdByte & 192) === 128) {
                                    tempCodePoint = (firstByte & 15) << 12 | (secondByte & 63) << 6 | thirdByte & 63;
                                    if (tempCodePoint > 2047 && (tempCodePoint < 55296 || tempCodePoint > 57343)) {
                                        codePoint = tempCodePoint
                                    }
                                }
                                break;
                            case 4:
                                secondByte = buf[i + 1];
                                thirdByte = buf[i + 2];
                                fourthByte = buf[i + 3];
                                if ((secondByte & 192) === 128 && (thirdByte & 192) === 128 && (fourthByte & 192) === 128) {
                                    tempCodePoint = (firstByte & 15) << 18 | (secondByte & 63) << 12 | (thirdByte & 63) << 6 | fourthByte & 63;
                                    if (tempCodePoint > 65535 && tempCodePoint < 1114112) {
                                        codePoint = tempCodePoint
                                    }
                                }
                        }
                    }
                    if (codePoint === null) {
                        codePoint = 65533;
                        bytesPerSequence = 1
                    } else if (codePoint > 65535) {
                        codePoint -= 65536;
                        res.push(codePoint >>> 10 & 1023 | 55296);
                        codePoint = 56320 | codePoint & 1023
                    }
                    res.push(codePoint);
                    i += bytesPerSequence
                }
                return decodeCodePointsArray(res)
            }
            var MAX_ARGUMENTS_LENGTH = 4096;

            function decodeCodePointsArray(codePoints) {
                var len = codePoints.length;
                if (len <= MAX_ARGUMENTS_LENGTH) {
                    return String.fromCharCode.apply(String, codePoints)
                }
                var res = "";
                var i = 0;
                while (i < len) {
                    res += String.fromCharCode.apply(String, codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH))
                }
                return res
            }

            function asciiSlice(buf, start, end) {
                var ret = "";
                end = Math.min(buf.length, end);
                for (var i = start; i < end; ++i) {
                    ret += String.fromCharCode(buf[i] & 127)
                }
                return ret
            }

            function latin1Slice(buf, start, end) {
                var ret = "";
                end = Math.min(buf.length, end);
                for (var i = start; i < end; ++i) {
                    ret += String.fromCharCode(buf[i])
                }
                return ret
            }

            function hexSlice(buf, start, end) {
                var len = buf.length;
                if (!start || start < 0) start = 0;
                if (!end || end < 0 || end > len) end = len;
                var out = "";
                for (var i = start; i < end; ++i) {
                    out += toHex(buf[i])
                }
                return out
            }

            function utf16leSlice(buf, start, end) {
                var bytes = buf.slice(start, end);
                var res = "";
                for (var i = 0; i < bytes.length; i += 2) {
                    res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)
                }
                return res
            }
            Buffer.prototype.slice = function slice(start, end) {
                var len = this.length;
                start = ~~start;
                end = end === undefined ? len : ~~end;
                if (start < 0) {
                    start += len;
                    if (start < 0) start = 0
                } else if (start > len) {
                    start = len
                }
                if (end < 0) {
                    end += len;
                    if (end < 0) end = 0
                } else if (end > len) {
                    end = len
                }
                if (end < start) end = start;
                var newBuf;
                if (Buffer.TYPED_ARRAY_SUPPORT) {
                    newBuf = this.subarray(start, end);
                    newBuf.__proto__ = Buffer.prototype
                } else {
                    var sliceLen = end - start;
                    newBuf = new Buffer(sliceLen, undefined);
                    for (var i = 0; i < sliceLen; ++i) {
                        newBuf[i] = this[i + start]
                    }
                }
                return newBuf
            };

            function checkOffset(offset, ext, length) {
                if (offset % 1 !== 0 || offset < 0) throw new RangeError("offset is not uint");
                if (offset + ext > length) throw new RangeError("Trying to access beyond buffer length")
            }
            Buffer.prototype.readUIntLE = function readUIntLE(offset, byteLength, noAssert) {
                offset = offset | 0;
                byteLength = byteLength | 0;
                if (!noAssert) checkOffset(offset, byteLength, this.length);
                var val = this[offset];
                var mul = 1;
                var i = 0;
                while (++i < byteLength && (mul *= 256)) {
                    val += this[offset + i] * mul
                }
                return val
            };
            Buffer.prototype.readUIntBE = function readUIntBE(offset, byteLength, noAssert) {
                offset = offset | 0;
                byteLength = byteLength | 0;
                if (!noAssert) {
                    checkOffset(offset, byteLength, this.length)
                }
                var val = this[offset + --byteLength];
                var mul = 1;
                while (byteLength > 0 && (mul *= 256)) {
                    val += this[offset + --byteLength] * mul
                }
                return val
            };
            Buffer.prototype.readUInt8 = function readUInt8(offset, noAssert) {
                if (!noAssert) checkOffset(offset, 1, this.length);
                return this[offset]
            };
            Buffer.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) {
                if (!noAssert) checkOffset(offset, 2, this.length);
                return this[offset] | this[offset + 1] << 8
            };
            Buffer.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) {
                if (!noAssert) checkOffset(offset, 2, this.length);
                return this[offset] << 8 | this[offset + 1]
            };
            Buffer.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) {
                if (!noAssert) checkOffset(offset, 4, this.length);
                return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 16777216
            };
            Buffer.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) {
                if (!noAssert) checkOffset(offset, 4, this.length);
                return this[offset] * 16777216 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3])
            };
            Buffer.prototype.readIntLE = function readIntLE(offset, byteLength, noAssert) {
                offset = offset | 0;
                byteLength = byteLength | 0;
                if (!noAssert) checkOffset(offset, byteLength, this.length);
                var val = this[offset];
                var mul = 1;
                var i = 0;
                while (++i < byteLength && (mul *= 256)) {
                    val += this[offset + i] * mul
                }
                mul *= 128;
                if (val >= mul) val -= Math.pow(2, 8 * byteLength);
                return val
            };
            Buffer.prototype.readIntBE = function readIntBE(offset, byteLength, noAssert) {
                offset = offset | 0;
                byteLength = byteLength | 0;
                if (!noAssert) checkOffset(offset, byteLength, this.length);
                var i = byteLength;
                var mul = 1;
                var val = this[offset + --i];
                while (i > 0 && (mul *= 256)) {
                    val += this[offset + --i] * mul
                }
                mul *= 128;
                if (val >= mul) val -= Math.pow(2, 8 * byteLength);
                return val
            };
            Buffer.prototype.readInt8 = function readInt8(offset, noAssert) {
                if (!noAssert) checkOffset(offset, 1, this.length);
                if (!(this[offset] & 128)) return this[offset];
                return (255 - this[offset] + 1) * -1
            };
            Buffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) {
                if (!noAssert) checkOffset(offset, 2, this.length);
                var val = this[offset] | this[offset + 1] << 8;
                return val & 32768 ? val | 4294901760 : val
            };
            Buffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) {
                if (!noAssert) checkOffset(offset, 2, this.length);
                var val = this[offset + 1] | this[offset] << 8;
                return val & 32768 ? val | 4294901760 : val
            };
            Buffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) {
                if (!noAssert) checkOffset(offset, 4, this.length);
                return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24
            };
            Buffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) {
                if (!noAssert) checkOffset(offset, 4, this.length);
                return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]
            };
            Buffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) {
                if (!noAssert) checkOffset(offset, 4, this.length);
                return ieee754.read(this, offset, true, 23, 4)
            };
            Buffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) {
                if (!noAssert) checkOffset(offset, 4, this.length);
                return ieee754.read(this, offset, false, 23, 4)
            };
            Buffer.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) {
                if (!noAssert) checkOffset(offset, 8, this.length);
                return ieee754.read(this, offset, true, 52, 8)
            };
            Buffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) {
                if (!noAssert) checkOffset(offset, 8, this.length);
                return ieee754.read(this, offset, false, 52, 8)
            };

            function checkInt(buf, value, offset, ext, max, min) {
                if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance');
                if (value > max || value < min) throw new RangeError('"value" argument is out of bounds');
                if (offset + ext > buf.length) throw new RangeError("Index out of range")
            }
            Buffer.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength, noAssert) {
                value = +value;
                offset = offset | 0;
                byteLength = byteLength | 0;
                if (!noAssert) {
                    var maxBytes = Math.pow(2, 8 * byteLength) - 1;
                    checkInt(this, value, offset, byteLength, maxBytes, 0)
                }
                var mul = 1;
                var i = 0;
                this[offset] = value & 255;
                while (++i < byteLength && (mul *= 256)) {
                    this[offset + i] = value / mul & 255
                }
                return offset + byteLength
            };
            Buffer.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength, noAssert) {
                value = +value;
                offset = offset | 0;
                byteLength = byteLength | 0;
                if (!noAssert) {
                    var maxBytes = Math.pow(2, 8 * byteLength) - 1;
                    checkInt(this, value, offset, byteLength, maxBytes, 0)
                }
                var i = byteLength - 1;
                var mul = 1;
                this[offset + i] = value & 255;
                while (--i >= 0 && (mul *= 256)) {
                    this[offset + i] = value / mul & 255
                }
                return offset + byteLength
            };
            Buffer.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) {
                value = +value;
                offset = offset | 0;
                if (!noAssert) checkInt(this, value, offset, 1, 255, 0);
                if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value);
                this[offset] = value & 255;
                return offset + 1
            };

            function objectWriteUInt16(buf, value, offset, littleEndian) {
                if (value < 0) value = 65535 + value + 1;
                for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {
                    buf[offset + i] = (value & 255 << 8 * (littleEndian ? i : 1 - i)) >>> (littleEndian ? i : 1 - i) * 8
                }
            }
            Buffer.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) {
                value = +value;
                offset = offset | 0;
                if (!noAssert) checkInt(this, value, offset, 2, 65535, 0);
                if (Buffer.TYPED_ARRAY_SUPPORT) {
                    this[offset] = value & 255;
                    this[offset + 1] = value >>> 8
                } else {
                    objectWriteUInt16(this, value, offset, true)
                }
                return offset + 2
            };
            Buffer.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) {
                value = +value;
                offset = offset | 0;
                if (!noAssert) checkInt(this, value, offset, 2, 65535, 0);
                if (Buffer.TYPED_ARRAY_SUPPORT) {
                    this[offset] = value >>> 8;
                    this[offset + 1] = value & 255
                } else {
                    objectWriteUInt16(this, value, offset, false)
                }
                return offset + 2
            };

            function objectWriteUInt32(buf, value, offset, littleEndian) {
                if (value < 0) value = 4294967295 + value + 1;
                for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {
                    buf[offset + i] = value >>> (littleEndian ? i : 3 - i) * 8 & 255
                }
            }
            Buffer.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) {
                value = +value;
                offset = offset | 0;
                if (!noAssert) checkInt(this, value, offset, 4, 4294967295, 0);
                if (Buffer.TYPED_ARRAY_SUPPORT) {
                    this[offset + 3] = value >>> 24;
                    this[offset + 2] = value >>> 16;
                    this[offset + 1] = value >>> 8;
                    this[offset] = value & 255
                } else {
                    objectWriteUInt32(this, value, offset, true)
                }
                return offset + 4
            };
            Buffer.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) {
                value = +value;
                offset = offset | 0;
                if (!noAssert) checkInt(this, value, offset, 4, 4294967295, 0);
                if (Buffer.TYPED_ARRAY_SUPPORT) {
                    this[offset] = value >>> 24;
                    this[offset + 1] = value >>> 16;
                    this[offset + 2] = value >>> 8;
                    this[offset + 3] = value & 255
                } else {
                    objectWriteUInt32(this, value, offset, false)
                }
                return offset + 4
            };
            Buffer.prototype.writeIntLE = function writeIntLE(value, offset, byteLength, noAssert) {
                value = +value;
                offset = offset | 0;
                if (!noAssert) {
                    var limit = Math.pow(2, 8 * byteLength - 1);
                    checkInt(this, value, offset, byteLength, limit - 1, -limit)
                }
                var i = 0;
                var mul = 1;
                var sub = 0;
                this[offset] = value & 255;
                while (++i < byteLength && (mul *= 256)) {
                    if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {
                        sub = 1
                    }
                    this[offset + i] = (value / mul >> 0) - sub & 255
                }
                return offset + byteLength
            };
            Buffer.prototype.writeIntBE = function writeIntBE(value, offset, byteLength, noAssert) {
                value = +value;
                offset = offset | 0;
                if (!noAssert) {
                    var limit = Math.pow(2, 8 * byteLength - 1);
                    checkInt(this, value, offset, byteLength, limit - 1, -limit)
                }
                var i = byteLength - 1;
                var mul = 1;
                var sub = 0;
                this[offset + i] = value & 255;
                while (--i >= 0 && (mul *= 256)) {
                    if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {
                        sub = 1
                    }
                    this[offset + i] = (value / mul >> 0) - sub & 255
                }
                return offset + byteLength
            };
            Buffer.prototype.writeInt8 = function writeInt8(value, offset, noAssert) {
                value = +value;
                offset = offset | 0;
                if (!noAssert) checkInt(this, value, offset, 1, 127, -128);
                if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value);
                if (value < 0) value = 255 + value + 1;
                this[offset] = value & 255;
                return offset + 1
            };
            Buffer.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) {
                value = +value;
                offset = offset | 0;
                if (!noAssert) checkInt(this, value, offset, 2, 32767, -32768);
                if (Buffer.TYPED_ARRAY_SUPPORT) {
                    this[offset] = value & 255;
                    this[offset + 1] = value >>> 8
                } else {
                    objectWriteUInt16(this, value, offset, true)
                }
                return offset + 2
            };
            Buffer.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) {
                value = +value;
                offset = offset | 0;
                if (!noAssert) checkInt(this, value, offset, 2, 32767, -32768);
                if (Buffer.TYPED_ARRAY_SUPPORT) {
                    this[offset] = value >>> 8;
                    this[offset + 1] = value & 255
                } else {
                    objectWriteUInt16(this, value, offset, false)
                }
                return offset + 2
            };
            Buffer.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) {
                value = +value;
                offset = offset | 0;
                if (!noAssert) checkInt(this, value, offset, 4, 2147483647, -2147483648);
                if (Buffer.TYPED_ARRAY_SUPPORT) {
                    this[offset] = value & 255;
                    this[offset + 1] = value >>> 8;
                    this[offset + 2] = value >>> 16;
                    this[offset + 3] = value >>> 24
                } else {
                    objectWriteUInt32(this, value, offset, true)
                }
                return offset + 4
            };
            Buffer.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) {
                value = +value;
                offset = offset | 0;
                if (!noAssert) checkInt(this, value, offset, 4, 2147483647, -2147483648);
                if (value < 0) value = 4294967295 + value + 1;
                if (Buffer.TYPED_ARRAY_SUPPORT) {
                    this[offset] = value >>> 24;
                    this[offset + 1] = value >>> 16;
                    this[offset + 2] = value >>> 8;
                    this[offset + 3] = value & 255
                } else {
                    objectWriteUInt32(this, value, offset, false)
                }
                return offset + 4
            };

            function checkIEEE754(buf, value, offset, ext, max, min) {
                if (offset + ext > buf.length) throw new RangeError("Index out of range");
                if (offset < 0) throw new RangeError("Index out of range")
            }

            function writeFloat(buf, value, offset, littleEndian, noAssert) {
                if (!noAssert) {
                    checkIEEE754(buf, value, offset, 4, 3.4028234663852886e38, -3.4028234663852886e38)
                }
                ieee754.write(buf, value, offset, littleEndian, 23, 4);
                return offset + 4
            }
            Buffer.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) {
                return writeFloat(this, value, offset, true, noAssert)
            };
            Buffer.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) {
                return writeFloat(this, value, offset, false, noAssert)
            };

            function writeDouble(buf, value, offset, littleEndian, noAssert) {
                if (!noAssert) {
                    checkIEEE754(buf, value, offset, 8, 1.7976931348623157e308, -1.7976931348623157e308)
                }
                ieee754.write(buf, value, offset, littleEndian, 52, 8);
                return offset + 8
            }
            Buffer.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) {
                return writeDouble(this, value, offset, true, noAssert)
            };
            Buffer.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) {
                return writeDouble(this, value, offset, false, noAssert)
            };
            Buffer.prototype.copy = function copy(target, targetStart, start, end) {
                if (!start) start = 0;
                if (!end && end !== 0) end = this.length;
                if (targetStart >= target.length) targetStart = target.length;
                if (!targetStart) targetStart = 0;
                if (end > 0 && end < start) end = start;
                if (end === start) return 0;
                if (target.length === 0 || this.length === 0) return 0;
                if (targetStart < 0) {
                    throw new RangeError("targetStart out of bounds")
                }
                if (start < 0 || start >= this.length) throw new RangeError("sourceStart out of bounds");
                if (end < 0) throw new RangeError("sourceEnd out of bounds");
                if (end > this.length) end = this.length;
                if (target.length - targetStart < end - start) {
                    end = target.length - targetStart + start
                }
                var len = end - start;
                var i;
                if (this === target && start < targetStart && targetStart < end) {
                    for (i = len - 1; i >= 0; --i) {
                        target[i + targetStart] = this[i + start]
                    }
                } else if (len < 1e3 || !Buffer.TYPED_ARRAY_SUPPORT) {
                    for (i = 0; i < len; ++i) {
                        target[i + targetStart] = this[i + start]
                    }
                } else {
                    Uint8Array.prototype.set.call(target, this.subarray(start, start + len), targetStart)
                }
                return len
            };
            Buffer.prototype.fill = function fill(val, start, end, encoding) {
                if (typeof val === "string") {
                    if (typeof start === "string") {
                        encoding = start;
                        start = 0;
                        end = this.length
                    } else if (typeof end === "string") {
                        encoding = end;
                        end = this.length
                    }
                    if (val.length === 1) {
                        var code = val.charCodeAt(0);
                        if (code < 256) {
                            val = code
                        }
                    }
                    if (encoding !== undefined && typeof encoding !== "string") {
                        throw new TypeError("encoding must be a string")
                    }
                    if (typeof encoding === "string" && !Buffer.isEncoding(encoding)) {
                        throw new TypeError("Unknown encoding: " + encoding)
                    }
                } else if (typeof val === "number") {
                    val = val & 255
                }
                if (start < 0 || this.length < start || this.length < end) {
                    throw new RangeError("Out of range index")
                }
                if (end <= start) {
                    return this
                }
                start = start >>> 0;
                end = end === undefined ? this.length : end >>> 0;
                if (!val) val = 0;
                var i;
                if (typeof val === "number") {
                    for (i = start; i < end; ++i) {
                        this[i] = val
                    }
                } else {
                    var bytes = Buffer.isBuffer(val) ? val : utf8ToBytes(new Buffer(val, encoding).toString());
                    var len = bytes.length;
                    for (i = 0; i < end - start; ++i) {
                        this[i + start] = bytes[i % len]
                    }
                }
                return this
            };
            var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g;

            function base64clean(str) {
                str = stringtrim(str).replace(INVALID_BASE64_RE, "");
                if (str.length < 2) return "";
                while (str.length % 4 !== 0) {
                    str = str + "="
                }
                return str
            }

            function stringtrim(str) {
                if (str.trim) return str.trim();
                return str.replace(/^\s+|\s+$/g, "")
            }

            function toHex(n) {
                if (n < 16) return "0" + n.toString(16);
                return n.toString(16)
            }

            function utf8ToBytes(string, units) {
                units = units || Infinity;
                var codePoint;
                var length = string.length;
                var leadSurrogate = null;
                var bytes = [];
                for (var i = 0; i < length; ++i) {
                    codePoint = string.charCodeAt(i);
                    if (codePoint > 55295 && codePoint < 57344) {
                        if (!leadSurrogate) {
                            if (codePoint > 56319) {
                                if ((units -= 3) > -1) bytes.push(239, 191, 189);
                                continue
                            } else if (i + 1 === length) {
                                if ((units -= 3) > -1) bytes.push(239, 191, 189);
                                continue
                            }
                            leadSurrogate = codePoint;
                            continue
                        }
                        if (codePoint < 56320) {
                            if ((units -= 3) > -1) bytes.push(239, 191, 189);
                            leadSurrogate = codePoint;
                            continue
                        }
                        codePoint = (leadSurrogate - 55296 << 10 | codePoint - 56320) + 65536
                    } else if (leadSurrogate) {
                        if ((units -= 3) > -1) bytes.push(239, 191, 189)
                    }
                    leadSurrogate = null;
                    if (codePoint < 128) {
                        if ((units -= 1) < 0) break;
                        bytes.push(codePoint)
                    } else if (codePoint < 2048) {
                        if ((units -= 2) < 0) break;
                        bytes.push(codePoint >> 6 | 192, codePoint & 63 | 128)
                    } else if (codePoint < 65536) {
                        if ((units -= 3) < 0) break;
                        bytes.push(codePoint >> 12 | 224, codePoint >> 6 & 63 | 128, codePoint & 63 | 128)
                    } else if (codePoint < 1114112) {
                        if ((units -= 4) < 0) break;
                        bytes.push(codePoint >> 18 | 240, codePoint >> 12 & 63 | 128, codePoint >> 6 & 63 | 128, codePoint & 63 | 128)
                    } else {
                        throw new Error("Invalid code point")
                    }
                }
                return bytes
            }

            function asciiToBytes(str) {
                var byteArray = [];
                for (var i = 0; i < str.length; ++i) {
                    byteArray.push(str.charCodeAt(i) & 255)
                }
                return byteArray
            }

            function utf16leToBytes(str, units) {
                var c, hi, lo;
                var byteArray = [];
                for (var i = 0; i < str.length; ++i) {
                    if ((units -= 2) < 0) break;
                    c = str.charCodeAt(i);
                    hi = c >> 8;
                    lo = c % 256;
                    byteArray.push(lo);
                    byteArray.push(hi)
                }
                return byteArray
            }

            function base64ToBytes(str) {
                return base64.toByteArray(base64clean(str))
            }

            function blitBuffer(src, dst, offset, length) {
                for (var i = 0; i < length; ++i) {
                    if (i + offset >= dst.length || i >= src.length) break;
                    dst[i + offset] = src[i]
                }
                return i
            }

            function isnan(val) {
                return val !== val
            }
        }).call(exports, __webpack_require__(180))
    }, function(module, exports) {
        module.exports = require("base64-js")
    }, function(module, exports) {
        module.exports = require("ieee754")
    }, function(module, exports) {
        module.exports = require("isarray")
    }, function(module, exports, __webpack_require__) {
        module.exports = {
            default: __webpack_require__(386),
            __esModule: true
        }
    }, function(module, exports, __webpack_require__) {
        __webpack_require__(77);
        __webpack_require__(61);
        module.exports = __webpack_require__(387)
    }, function(module, exports, __webpack_require__) {
        var classof = __webpack_require__(110);
        var ITERATOR = __webpack_require__(14)("iterator");
        var Iterators = __webpack_require__(45);
        module.exports = __webpack_require__(10).isIterable = function(it) {
            var O = Object(it);
            return O[ITERATOR] !== undefined || "@@iterator" in O || Iterators.hasOwnProperty(classof(O))
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var invalidPrototcolRegex = /^(%20|\s)*(javascript|data)/im;
        var ctrlCharactersRegex = /[^\x20-\x7E]/gim;
        var urlSchemeRegex = /^([^:]+):/gm;
        var relativeFirstCharacters = [".", "/"];

        function isRelativeUrl(url) {
            return relativeFirstCharacters.indexOf(url[0]) > -1
        }

        function sanitizeUrl(url) {
            var urlScheme, urlSchemeParseResults;
            var sanitizedUrl = url.replace(ctrlCharactersRegex, "");
            if (isRelativeUrl(sanitizedUrl)) {
                return sanitizedUrl
            }
            urlSchemeParseResults = sanitizedUrl.match(urlSchemeRegex);
            if (!urlSchemeParseResults) {
                return "about:blank"
            }
            urlScheme = urlSchemeParseResults[0];
            if (invalidPrototcolRegex.test(urlScheme)) {
                return "about:blank"
            }
            return sanitizedUrl
        }
        module.exports = {
            sanitizeUrl: sanitizeUrl
        }
    }, function(module, exports, __webpack_require__) {
        var capitalize = __webpack_require__(390),
            createCompounder = __webpack_require__(399);
        var camelCase = createCompounder(function(result, word, index) {
            word = word.toLowerCase();
            return result + (index ? capitalize(word) : word)
        });
        module.exports = camelCase
    }, function(module, exports, __webpack_require__) {
        var toString = __webpack_require__(51),
            upperFirst = __webpack_require__(183);

        function capitalize(string) {
            return upperFirst(toString(string).toLowerCase())
        }
        module.exports = capitalize
    }, function(module, exports, __webpack_require__) {
        var Symbol = __webpack_require__(52),
            arrayMap = __webpack_require__(182),
            isArray = __webpack_require__(20),
            isSymbol = __webpack_require__(91);
        var INFINITY = 1 / 0;
        var symbolProto = Symbol ? Symbol.prototype : undefined,
            symbolToString = symbolProto ? symbolProto.toString : undefined;

        function baseToString(value) {
            if (typeof value == "string") {
                return value
            }
            if (isArray(value)) {
                return arrayMap(value, baseToString) + ""
            }
            if (isSymbol(value)) {
                return symbolToString ? symbolToString.call(value) : ""
            }
            var result = value + "";
            return result == "0" && 1 / value == -INFINITY ? "-0" : result
        }
        module.exports = baseToString
    }, function(module, exports, __webpack_require__) {
        var Symbol = __webpack_require__(52);
        var objectProto = Object.prototype;
        var hasOwnProperty = objectProto.hasOwnProperty;
        var nativeObjectToString = objectProto.toString;
        var symToStringTag = Symbol ? Symbol.toStringTag : undefined;

        function getRawTag(value) {
            var isOwn = hasOwnProperty.call(value, symToStringTag),
                tag = value[symToStringTag];
            try {
                value[symToStringTag] = undefined;
                var unmasked = true
            } catch (e) {}
            var result = nativeObjectToString.call(value);
            if (unmasked) {
                if (isOwn) {
                    value[symToStringTag] = tag
                } else {
                    delete value[symToStringTag]
                }
            }
            return result
        }
        module.exports = getRawTag
    }, function(module, exports) {
        var objectProto = Object.prototype;
        var nativeObjectToString = objectProto.toString;

        function objectToString(value) {
            return nativeObjectToString.call(value)
        }
        module.exports = objectToString
    }, function(module, exports, __webpack_require__) {
        var castSlice = __webpack_require__(395),
            hasUnicode = __webpack_require__(185),
            stringToArray = __webpack_require__(396),
            toString = __webpack_require__(51);

        function createCaseFirst(methodName) {
            return function(string) {
                string = toString(string);
                var strSymbols = hasUnicode(string) ? stringToArray(string) : undefined;
                var chr = strSymbols ? strSymbols[0] : string.charAt(0);
                var trailing = strSymbols ? castSlice(strSymbols, 1).join("") : string.slice(1);
                return chr[methodName]() + trailing
            }
        }
        module.exports = createCaseFirst
    }, function(module, exports, __webpack_require__) {
        var baseSlice = __webpack_require__(184);

        function castSlice(array, start, end) {
            var length = array.length;
            end = end === undefined ? length : end;
            return !start && end >= length ? array : baseSlice(array, start, end)
        }
        module.exports = castSlice
    }, function(module, exports, __webpack_require__) {
        var asciiToArray = __webpack_require__(397),
            hasUnicode = __webpack_require__(185),
            unicodeToArray = __webpack_require__(398);

        function stringToArray(string) {
            return hasUnicode(string) ? unicodeToArray(string) : asciiToArray(string)
        }
        module.exports = stringToArray
    }, function(module, exports) {
        function asciiToArray(string) {
            return string.split("")
        }
        module.exports = asciiToArray
    }, function(module, exports) {
        var rsAstralRange = "\\ud800-\\udfff",
            rsComboMarksRange = "\\u0300-\\u036f",
            reComboHalfMarksRange = "\\ufe20-\\ufe2f",
            rsComboSymbolsRange = "\\u20d0-\\u20ff",
            rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,
            rsVarRange = "\\ufe0e\\ufe0f";
        var rsAstral = "[" + rsAstralRange + "]",
            rsCombo = "[" + rsComboRange + "]",
            rsFitz = "\\ud83c[\\udffb-\\udfff]",
            rsModifier = "(?:" + rsCombo + "|" + rsFitz + ")",
            rsNonAstral = "[^" + rsAstralRange + "]",
            rsRegional = "(?:\\ud83c[\\udde6-\\uddff]){2}",
            rsSurrPair = "[\\ud800-\\udbff][\\udc00-\\udfff]",
            rsZWJ = "\\u200d";
        var reOptMod = rsModifier + "?",
            rsOptVar = "[" + rsVarRange + "]?",
            rsOptJoin = "(?:" + rsZWJ + "(?:" + [rsNonAstral, rsRegional, rsSurrPair].join("|") + ")" + rsOptVar + reOptMod + ")*",
            rsSeq = rsOptVar + reOptMod + rsOptJoin,
            rsSymbol = "(?:" + [rsNonAstral + rsCombo + "?", rsCombo, rsRegional, rsSurrPair, rsAstral].join("|") + ")";
        var reUnicode = RegExp(rsFitz + "(?=" + rsFitz + ")|" + rsSymbol + rsSeq, "g");

        function unicodeToArray(string) {
            return string.match(reUnicode) || []
        }
        module.exports = unicodeToArray
    }, function(module, exports, __webpack_require__) {
        var arrayReduce = __webpack_require__(186),
            deburr = __webpack_require__(400),
            words = __webpack_require__(403);
        var rsApos = "['’]";
        var reApos = RegExp(rsApos, "g");

        function createCompounder(callback) {
            return function(string) {
                return arrayReduce(words(deburr(string).replace(reApos, "")), callback, "")
            }
        }
        module.exports = createCompounder
    }, function(module, exports, __webpack_require__) {
        var deburrLetter = __webpack_require__(401),
            toString = __webpack_require__(51);
        var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g;
        var rsComboMarksRange = "\\u0300-\\u036f",
            reComboHalfMarksRange = "\\ufe20-\\ufe2f",
            rsComboSymbolsRange = "\\u20d0-\\u20ff",
            rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;
        var rsCombo = "[" + rsComboRange + "]";
        var reComboMark = RegExp(rsCombo, "g");

        function deburr(string) {
            string = toString(string);
            return string && string.replace(reLatin, deburrLetter).replace(reComboMark, "")
        }
        module.exports = deburr
    }, function(module, exports, __webpack_require__) {
        var basePropertyOf = __webpack_require__(402);
        var deburredLetters = {
            "À": "A",
            "Á": "A",
            "Â": "A",
            "Ã": "A",
            "Ä": "A",
            "Å": "A",
            "à": "a",
            "á": "a",
            "â": "a",
            "ã": "a",
            "ä": "a",
            "å": "a",
            "Ç": "C",
            "ç": "c",
            "Ð": "D",
            "ð": "d",
            "È": "E",
            "É": "E",
            "Ê": "E",
            "Ë": "E",
            "è": "e",
            "é": "e",
            "ê": "e",
            "ë": "e",
            "Ì": "I",
            "Í": "I",
            "Î": "I",
            "Ï": "I",
            "ì": "i",
            "í": "i",
            "î": "i",
            "ï": "i",
            "Ñ": "N",
            "ñ": "n",
            "Ò": "O",
            "Ó": "O",
            "Ô": "O",
            "Õ": "O",
            "Ö": "O",
            "Ø": "O",
            "ò": "o",
            "ó": "o",
            "ô": "o",
            "õ": "o",
            "ö": "o",
            "ø": "o",
            "Ù": "U",
            "Ú": "U",
            "Û": "U",
            "Ü": "U",
            "ù": "u",
            "ú": "u",
            "û": "u",
            "ü": "u",
            "Ý": "Y",
            "ý": "y",
            "ÿ": "y",
            "Æ": "Ae",
            "æ": "ae",
            "Þ": "Th",
            "þ": "th",
            "ß": "ss",
            "Ā": "A",
            "Ă": "A",
            "Ą": "A",
            "ā": "a",
            "ă": "a",
            "ą": "a",
            "Ć": "C",
            "Ĉ": "C",
            "Ċ": "C",
            "Č": "C",
            "ć": "c",
            "ĉ": "c",
            "ċ": "c",
            "č": "c",
            "Ď": "D",
            "Đ": "D",
            "ď": "d",
            "đ": "d",
            "Ē": "E",
            "Ĕ": "E",
            "Ė": "E",
            "Ę": "E",
            "Ě": "E",
            "ē": "e",
            "ĕ": "e",
            "ė": "e",
            "ę": "e",
            "ě": "e",
            "Ĝ": "G",
            "Ğ": "G",
            "Ġ": "G",
            "Ģ": "G",
            "ĝ": "g",
            "ğ": "g",
            "ġ": "g",
            "ģ": "g",
            "Ĥ": "H",
            "Ħ": "H",
            "ĥ": "h",
            "ħ": "h",
            "Ĩ": "I",
            "Ī": "I",
            "Ĭ": "I",
            "Į": "I",
            "İ": "I",
            "ĩ": "i",
            "ī": "i",
            "ĭ": "i",
            "į": "i",
            "ı": "i",
            "Ĵ": "J",
            "ĵ": "j",
            "Ķ": "K",
            "ķ": "k",
            "ĸ": "k",
            "Ĺ": "L",
            "Ļ": "L",
            "Ľ": "L",
            "Ŀ": "L",
            "Ł": "L",
            "ĺ": "l",
            "ļ": "l",
            "ľ": "l",
            "ŀ": "l",
            "ł": "l",
            "Ń": "N",
            "Ņ": "N",
            "Ň": "N",
            "Ŋ": "N",
            "ń": "n",
            "ņ": "n",
            "ň": "n",
            "ŋ": "n",
            "Ō": "O",
            "Ŏ": "O",
            "Ő": "O",
            "ō": "o",
            "ŏ": "o",
            "ő": "o",
            "Ŕ": "R",
            "Ŗ": "R",
            "Ř": "R",
            "ŕ": "r",
            "ŗ": "r",
            "ř": "r",
            "Ś": "S",
            "Ŝ": "S",
            "Ş": "S",
            "Š": "S",
            "ś": "s",
            "ŝ": "s",
            "ş": "s",
            "š": "s",
            "Ţ": "T",
            "Ť": "T",
            "Ŧ": "T",
            "ţ": "t",
            "ť": "t",
            "ŧ": "t",
            "Ũ": "U",
            "Ū": "U",
            "Ŭ": "U",
            "Ů": "U",
            "Ű": "U",
            "Ų": "U",
            "ũ": "u",
            "ū": "u",
            "ŭ": "u",
            "ů": "u",
            "ű": "u",
            "ų": "u",
            "Ŵ": "W",
            "ŵ": "w",
            "Ŷ": "Y",
            "ŷ": "y",
            "Ÿ": "Y",
            "Ź": "Z",
            "Ż": "Z",
            "Ž": "Z",
            "ź": "z",
            "ż": "z",
            "ž": "z",
            "Ĳ": "IJ",
            "ĳ": "ij",
            "Œ": "Oe",
            "œ": "oe",
            "ŉ": "'n",
            "ſ": "s"
        };
        var deburrLetter = basePropertyOf(deburredLetters);
        module.exports = deburrLetter
    }, function(module, exports) {
        function basePropertyOf(object) {
            return function(key) {
                return object == null ? undefined : object[key]
            }
        }
        module.exports = basePropertyOf
    }, function(module, exports, __webpack_require__) {
        var asciiWords = __webpack_require__(404),
            hasUnicodeWord = __webpack_require__(405),
            toString = __webpack_require__(51),
            unicodeWords = __webpack_require__(406);

        function words(string, pattern, guard) {
            string = toString(string);
            pattern = guard ? undefined : pattern;
            if (pattern === undefined) {
                return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string)
            }
            return string.match(pattern) || []
        }
        module.exports = words
    }, function(module, exports) {
        var reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;

        function asciiWords(string) {
            return string.match(reAsciiWord) || []
        }
        module.exports = asciiWords
    }, function(module, exports) {
        var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;

        function hasUnicodeWord(string) {
            return reHasUnicodeWord.test(string)
        }
        module.exports = hasUnicodeWord
    }, function(module, exports) {
        var rsAstralRange = "\\ud800-\\udfff",
            rsComboMarksRange = "\\u0300-\\u036f",
            reComboHalfMarksRange = "\\ufe20-\\ufe2f",
            rsComboSymbolsRange = "\\u20d0-\\u20ff",
            rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,
            rsDingbatRange = "\\u2700-\\u27bf",
            rsLowerRange = "a-z\\xdf-\\xf6\\xf8-\\xff",
            rsMathOpRange = "\\xac\\xb1\\xd7\\xf7",
            rsNonCharRange = "\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",
            rsPunctuationRange = "\\u2000-\\u206f",
            rsSpaceRange = " \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",
            rsUpperRange = "A-Z\\xc0-\\xd6\\xd8-\\xde",
            rsVarRange = "\\ufe0e\\ufe0f",
            rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;
        var rsApos = "['’]",
            rsBreak = "[" + rsBreakRange + "]",
            rsCombo = "[" + rsComboRange + "]",
            rsDigits = "\\d+",
            rsDingbat = "[" + rsDingbatRange + "]",
            rsLower = "[" + rsLowerRange + "]",
            rsMisc = "[^" + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + "]",
            rsFitz = "\\ud83c[\\udffb-\\udfff]",
            rsModifier = "(?:" + rsCombo + "|" + rsFitz + ")",
            rsNonAstral = "[^" + rsAstralRange + "]",
            rsRegional = "(?:\\ud83c[\\udde6-\\uddff]){2}",
            rsSurrPair = "[\\ud800-\\udbff][\\udc00-\\udfff]",
            rsUpper = "[" + rsUpperRange + "]",
            rsZWJ = "\\u200d";
        var rsMiscLower = "(?:" + rsLower + "|" + rsMisc + ")",
            rsMiscUpper = "(?:" + rsUpper + "|" + rsMisc + ")",
            rsOptContrLower = "(?:" + rsApos + "(?:d|ll|m|re|s|t|ve))?",
            rsOptContrUpper = "(?:" + rsApos + "(?:D|LL|M|RE|S|T|VE))?",
            reOptMod = rsModifier + "?",
            rsOptVar = "[" + rsVarRange + "]?",
            rsOptJoin = "(?:" + rsZWJ + "(?:" + [rsNonAstral, rsRegional, rsSurrPair].join("|") + ")" + rsOptVar + reOptMod + ")*",
            rsOrdLower = "\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",
            rsOrdUpper = "\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",
            rsSeq = rsOptVar + reOptMod + rsOptJoin,
            rsEmoji = "(?:" + [rsDingbat, rsRegional, rsSurrPair].join("|") + ")" + rsSeq;
        var reUnicodeWord = RegExp([rsUpper + "?" + rsLower + "+" + rsOptContrLower + "(?=" + [rsBreak, rsUpper, "$"].join("|") + ")", rsMiscUpper + "+" + rsOptContrUpper + "(?=" + [rsBreak, rsUpper + rsMiscLower, "$"].join("|") + ")", rsUpper + "?" + rsMiscLower + "+" + rsOptContrLower, rsUpper + "+" + rsOptContrUpper, rsOrdUpper, rsOrdLower, rsDigits, rsEmoji].join("|"), "g");

        function unicodeWords(string) {
            return string.match(reUnicodeWord) || []
        }
        module.exports = unicodeWords
    }, function(module, exports, __webpack_require__) {
        var Hash = __webpack_require__(408),
            ListCache = __webpack_require__(93),
            Map = __webpack_require__(124);

        function mapCacheClear() {
            this.size = 0;
            this.__data__ = {
                hash: new Hash,
                map: new(Map || ListCache),
                string: new Hash
            }
        }
        module.exports = mapCacheClear
    }, function(module, exports, __webpack_require__) {
        var hashClear = __webpack_require__(409),
            hashDelete = __webpack_require__(414),
            hashGet = __webpack_require__(415),
            hashHas = __webpack_require__(416),
            hashSet = __webpack_require__(417);

        function Hash(entries) {
            var index = -1,
                length = entries == null ? 0 : entries.length;
            this.clear();
            while (++index < length) {
                var entry = entries[index];
                this.set(entry[0], entry[1])
            }
        }
        Hash.prototype.clear = hashClear;
        Hash.prototype["delete"] = hashDelete;
        Hash.prototype.get = hashGet;
        Hash.prototype.has = hashHas;
        Hash.prototype.set = hashSet;
        module.exports = Hash
    }, function(module, exports, __webpack_require__) {
        var nativeCreate = __webpack_require__(92);

        function hashClear() {
            this.__data__ = nativeCreate ? nativeCreate(null) : {};
            this.size = 0
        }
        module.exports = hashClear
    }, function(module, exports, __webpack_require__) {
        var isFunction = __webpack_require__(188),
            isMasked = __webpack_require__(411),
            isObject = __webpack_require__(28),
            toSource = __webpack_require__(189);
        var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
        var reIsHostCtor = /^\[object .+?Constructor\]$/;
        var funcProto = Function.prototype,
            objectProto = Object.prototype;
        var funcToString = funcProto.toString;
        var hasOwnProperty = objectProto.hasOwnProperty;
        var reIsNative = RegExp("^" + funcToString.call(hasOwnProperty).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$");

        function baseIsNative(value) {
            if (!isObject(value) || isMasked(value)) {
                return false
            }
            var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
            return pattern.test(toSource(value))
        }
        module.exports = baseIsNative
    }, function(module, exports, __webpack_require__) {
        var coreJsData = __webpack_require__(412);
        var maskSrcKey = function() {
            var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || "");
            return uid ? "Symbol(src)_1." + uid : ""
        }();

        function isMasked(func) {
            return !!maskSrcKey && maskSrcKey in func
        }
        module.exports = isMasked
    }, function(module, exports, __webpack_require__) {
        var root = __webpack_require__(26);
        var coreJsData = root["__core-js_shared__"];
        module.exports = coreJsData
    }, function(module, exports) {
        function getValue(object, key) {
            return object == null ? undefined : object[key]
        }
        module.exports = getValue
    }, function(module, exports) {
        function hashDelete(key) {
            var result = this.has(key) && delete this.__data__[key];
            this.size -= result ? 1 : 0;
            return result
        }
        module.exports = hashDelete
    }, function(module, exports, __webpack_require__) {
        var nativeCreate = __webpack_require__(92);
        var HASH_UNDEFINED = "__lodash_hash_undefined__";
        var objectProto = Object.prototype;
        var hasOwnProperty = objectProto.hasOwnProperty;

        function hashGet(key) {
            var data = this.__data__;
            if (nativeCreate) {
                var result = data[key];
                return result === HASH_UNDEFINED ? undefined : result
            }
            return hasOwnProperty.call(data, key) ? data[key] : undefined
        }
        module.exports = hashGet
    }, function(module, exports, __webpack_require__) {
        var nativeCreate = __webpack_require__(92);
        var objectProto = Object.prototype;
        var hasOwnProperty = objectProto.hasOwnProperty;

        function hashHas(key) {
            var data = this.__data__;
            return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key)
        }
        module.exports = hashHas
    }, function(module, exports, __webpack_require__) {
        var nativeCreate = __webpack_require__(92);
        var HASH_UNDEFINED = "__lodash_hash_undefined__";

        function hashSet(key, value) {
            var data = this.__data__;
            this.size += this.has(key) ? 0 : 1;
            data[key] = nativeCreate && value === undefined ? HASH_UNDEFINED : value;
            return this
        }
        module.exports = hashSet
    }, function(module, exports) {
        function listCacheClear() {
            this.__data__ = [];
            this.size = 0
        }
        module.exports = listCacheClear
    }, function(module, exports, __webpack_require__) {
        var assocIndexOf = __webpack_require__(94);
        var arrayProto = Array.prototype;
        var splice = arrayProto.splice;

        function listCacheDelete(key) {
            var data = this.__data__,
                index = assocIndexOf(data, key);
            if (index < 0) {
                return false
            }
            var lastIndex = data.length - 1;
            if (index == lastIndex) {
                data.pop()
            } else {
                splice.call(data, index, 1)
            }--this.size;
            return true
        }
        module.exports = listCacheDelete
    }, function(module, exports, __webpack_require__) {
        var assocIndexOf = __webpack_require__(94);

        function listCacheGet(key) {
            var data = this.__data__,
                index = assocIndexOf(data, key);
            return index < 0 ? undefined : data[index][1]
        }
        module.exports = listCacheGet
    }, function(module, exports, __webpack_require__) {
        var assocIndexOf = __webpack_require__(94);

        function listCacheHas(key) {
            return assocIndexOf(this.__data__, key) > -1
        }
        module.exports = listCacheHas
    }, function(module, exports, __webpack_require__) {
        var assocIndexOf = __webpack_require__(94);

        function listCacheSet(key, value) {
            var data = this.__data__,
                index = assocIndexOf(data, key);
            if (index < 0) {
                ++this.size;
                data.push([key, value])
            } else {
                data[index][1] = value
            }
            return this
        }
        module.exports = listCacheSet
    }, function(module, exports, __webpack_require__) {
        var getMapData = __webpack_require__(95);

        function mapCacheDelete(key) {
            var result = getMapData(this, key)["delete"](key);
            this.size -= result ? 1 : 0;
            return result
        }
        module.exports = mapCacheDelete
    }, function(module, exports) {
        function isKeyable(value) {
            var type = typeof value;
            return type == "string" || type == "number" || type == "symbol" || type == "boolean" ? value !== "__proto__" : value === null
        }
        module.exports = isKeyable
    }, function(module, exports, __webpack_require__) {
        var getMapData = __webpack_require__(95);

        function mapCacheGet(key) {
            return getMapData(this, key).get(key)
        }
        module.exports = mapCacheGet
    }, function(module, exports, __webpack_require__) {
        var getMapData = __webpack_require__(95);

        function mapCacheHas(key) {
            return getMapData(this, key).has(key)
        }
        module.exports = mapCacheHas
    }, function(module, exports, __webpack_require__) {
        var getMapData = __webpack_require__(95);

        function mapCacheSet(key, value) {
            var data = getMapData(this, key),
                size = data.size;
            data.set(key, value);
            this.size += data.size == size ? 0 : 1;
            return this
        }
        module.exports = mapCacheSet
    }, function(module, exports, __webpack_require__) {
        var createFind = __webpack_require__(429),
            findIndex = __webpack_require__(467);
        var find = createFind(findIndex);
        module.exports = find
    }, function(module, exports, __webpack_require__) {
        var baseIteratee = __webpack_require__(96),
            isArrayLike = __webpack_require__(68),
            keys = __webpack_require__(53);

        function createFind(findIndexFunc) {
            return function(collection, predicate, fromIndex) {
                var iterable = Object(collection);
                if (!isArrayLike(collection)) {
                    var iteratee = baseIteratee(predicate, 3);
                    collection = keys(collection);
                    predicate = function(key) {
                        return iteratee(iterable[key], key, iterable)
                    }
                }
                var index = findIndexFunc(collection, predicate, fromIndex);
                return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined
            }
        }
        module.exports = createFind
    }, function(module, exports, __webpack_require__) {
        var baseIsMatch = __webpack_require__(431),
            getMatchData = __webpack_require__(457),
            matchesStrictComparable = __webpack_require__(201);

        function baseMatches(source) {
            var matchData = getMatchData(source);
            if (matchData.length == 1 && matchData[0][2]) {
                return matchesStrictComparable(matchData[0][0], matchData[0][1])
            }
            return function(object) {
                return object === source || baseIsMatch(object, source, matchData)
            }
        }
        module.exports = baseMatches
    }, function(module, exports, __webpack_require__) {
        var Stack = __webpack_require__(125),
            baseIsEqual = __webpack_require__(190);
        var COMPARE_PARTIAL_FLAG = 1,
            COMPARE_UNORDERED_FLAG = 2;

        function baseIsMatch(object, source, matchData, customizer) {
            var index = matchData.length,
                length = index,
                noCustomizer = !customizer;
            if (object == null) {
                return !length
            }
            object = Object(object);
            while (index--) {
                var data = matchData[index];
                if (noCustomizer && data[2] ? data[1] !== object[data[0]] : !(data[0] in object)) {
                    return false
                }
            }
            while (++index < length) {
                data = matchData[index];
                var key = data[0],
                    objValue = object[key],
                    srcValue = data[1];
                if (noCustomizer && data[2]) {
                    if (objValue === undefined && !(key in object)) {
                        return false
                    }
                } else {
                    var stack = new Stack;
                    if (customizer) {
                        var result = customizer(objValue, srcValue, key, object, source, stack)
                    }
                    if (!(result === undefined ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack) : result)) {
                        return false
                    }
                }
            }
            return true
        }
        module.exports = baseIsMatch
    }, function(module, exports, __webpack_require__) {
        var ListCache = __webpack_require__(93);

        function stackClear() {
            this.__data__ = new ListCache;
            this.size = 0
        }
        module.exports = stackClear
    }, function(module, exports) {
        function stackDelete(key) {
            var data = this.__data__,
                result = data["delete"](key);
            this.size = data.size;
            return result
        }
        module.exports = stackDelete
    }, function(module, exports) {
        function stackGet(key) {
            return this.__data__.get(key)
        }
        module.exports = stackGet
    }, function(module, exports) {
        function stackHas(key) {
            return this.__data__.has(key)
        }
        module.exports = stackHas
    }, function(module, exports, __webpack_require__) {
        var ListCache = __webpack_require__(93),
            Map = __webpack_require__(124),
            MapCache = __webpack_require__(123);
        var LARGE_ARRAY_SIZE = 200;

        function stackSet(key, value) {
            var data = this.__data__;
            if (data instanceof ListCache) {
                var pairs = data.__data__;
                if (!Map || pairs.length < LARGE_ARRAY_SIZE - 1) {
                    pairs.push([key, value]);
                    this.size = ++data.size;
                    return this
                }
                data = this.__data__ = new MapCache(pairs)
            }
            data.set(key, value);
            this.size = data.size;
            return this
        }
        module.exports = stackSet
    }, function(module, exports, __webpack_require__) {
        var Stack = __webpack_require__(125),
            equalArrays = __webpack_require__(191),
            equalByTag = __webpack_require__(442),
            equalObjects = __webpack_require__(445),
            getTag = __webpack_require__(98),
            isArray = __webpack_require__(20),
            isBuffer = __webpack_require__(129),
            isTypedArray = __webpack_require__(198);
        var COMPARE_PARTIAL_FLAG = 1;
        var argsTag = "[object Arguments]",
            arrayTag = "[object Array]",
            objectTag = "[object Object]";
        var objectProto = Object.prototype;
        var hasOwnProperty = objectProto.hasOwnProperty;

        function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
            var objIsArr = isArray(object),
                othIsArr = isArray(other),
                objTag = objIsArr ? arrayTag : getTag(object),
                othTag = othIsArr ? arrayTag : getTag(other);
            objTag = objTag == argsTag ? objectTag : objTag;
            othTag = othTag == argsTag ? objectTag : othTag;
            var objIsObj = objTag == objectTag,
                othIsObj = othTag == objectTag,
                isSameTag = objTag == othTag;
            if (isSameTag && isBuffer(object)) {
                if (!isBuffer(other)) {
                    return false
                }
                objIsArr = true;
                objIsObj = false
            }
            if (isSameTag && !objIsObj) {
                stack || (stack = new Stack);
                return objIsArr || isTypedArray(object) ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack)
            }
            if (!(bitmask & COMPARE_PARTIAL_FLAG)) {
                var objIsWrapped = objIsObj && hasOwnProperty.call(object, "__wrapped__"),
                    othIsWrapped = othIsObj && hasOwnProperty.call(other, "__wrapped__");
                if (objIsWrapped || othIsWrapped) {
                    var objUnwrapped = objIsWrapped ? object.value() : object,
                        othUnwrapped = othIsWrapped ? other.value() : other;
                    stack || (stack = new Stack);
                    return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack)
                }
            }
            if (!isSameTag) {
                return false
            }
            stack || (stack = new Stack);
            return equalObjects(object, other, bitmask, customizer, equalFunc, stack)
        }
        module.exports = baseIsEqualDeep
    }, function(module, exports, __webpack_require__) {
        var MapCache = __webpack_require__(123),
            setCacheAdd = __webpack_require__(439),
            setCacheHas = __webpack_require__(440);

        function SetCache(values) {
            var index = -1,
                length = values == null ? 0 : values.length;
            this.__data__ = new MapCache;
            while (++index < length) {
                this.add(values[index])
            }
        }
        SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
        SetCache.prototype.has = setCacheHas;
        module.exports = SetCache
    }, function(module, exports) {
        var HASH_UNDEFINED = "__lodash_hash_undefined__";

        function setCacheAdd(value) {
            this.__data__.set(value, HASH_UNDEFINED);
            return this
        }
        module.exports = setCacheAdd
    }, function(module, exports) {
        function setCacheHas(value) {
            return this.__data__.has(value)
        }
        module.exports = setCacheHas
    }, function(module, exports) {
        function cacheHas(cache, key) {
            return cache.has(key)
        }
        module.exports = cacheHas
    }, function(module, exports, __webpack_require__) {
        var Symbol = __webpack_require__(52),
            Uint8Array = __webpack_require__(193),
            eq = __webpack_require__(67),
            equalArrays = __webpack_require__(191),
            mapToArray = __webpack_require__(443),
            setToArray = __webpack_require__(444);
        var COMPARE_PARTIAL_FLAG = 1,
            COMPARE_UNORDERED_FLAG = 2;
        var boolTag = "[object Boolean]",
            dateTag = "[object Date]",
            errorTag = "[object Error]",
            mapTag = "[object Map]",
            numberTag = "[object Number]",
            regexpTag = "[object RegExp]",
            setTag = "[object Set]",
            stringTag = "[object String]",
            symbolTag = "[object Symbol]";
        var arrayBufferTag = "[object ArrayBuffer]",
            dataViewTag = "[object DataView]";
        var symbolProto = Symbol ? Symbol.prototype : undefined,
            symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;

        function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
            switch (tag) {
                case dataViewTag:
                    if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) {
                        return false
                    }
                    object = object.buffer;
                    other = other.buffer;
                case arrayBufferTag:
                    if (object.byteLength != other.byteLength || !equalFunc(new Uint8Array(object), new Uint8Array(other))) {
                        return false
                    }
                    return true;
                case boolTag:
                case dateTag:
                case numberTag:
                    return eq(+object, +other);
                case errorTag:
                    return object.name == other.name && object.message == other.message;
                case regexpTag:
                case stringTag:
                    return object == other + "";
                case mapTag:
                    var convert = mapToArray;
                case setTag:
                    var isPartial = bitmask & COMPARE_PARTIAL_FLAG;
                    convert || (convert = setToArray);
                    if (object.size != other.size && !isPartial) {
                        return false
                    }
                    var stacked = stack.get(object);
                    if (stacked) {
                        return stacked == other
                    }
                    bitmask |= COMPARE_UNORDERED_FLAG;
                    stack.set(object, other);
                    var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);
                    stack["delete"](object);
                    return result;
                case symbolTag:
                    if (symbolValueOf) {
                        return symbolValueOf.call(object) == symbolValueOf.call(other)
                    }
            }
            return false
        }
        module.exports = equalByTag
    }, function(module, exports) {
        function mapToArray(map) {
            var index = -1,
                result = Array(map.size);
            map.forEach(function(value, key) {
                result[++index] = [key, value]
            });
            return result
        }
        module.exports = mapToArray
    }, function(module, exports) {
        function setToArray(set) {
            var index = -1,
                result = Array(set.size);
            set.forEach(function(value) {
                result[++index] = value
            });
            return result
        }
        module.exports = setToArray
    }, function(module, exports, __webpack_require__) {
        var getAllKeys = __webpack_require__(194);
        var COMPARE_PARTIAL_FLAG = 1;
        var objectProto = Object.prototype;
        var hasOwnProperty = objectProto.hasOwnProperty;

        function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
            var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
                objProps = getAllKeys(object),
                objLength = objProps.length,
                othProps = getAllKeys(other),
                othLength = othProps.length;
            if (objLength != othLength && !isPartial) {
                return false
            }
            var index = objLength;
            while (index--) {
                var key = objProps[index];
                if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {
                    return false
                }
            }
            var stacked = stack.get(object);
            if (stacked && stack.get(other)) {
                return stacked == other
            }
            var result = true;
            stack.set(object, other);
            stack.set(other, object);
            var skipCtor = isPartial;
            while (++index < objLength) {
                key = objProps[index];
                var objValue = object[key],
                    othValue = other[key];
                if (customizer) {
                    var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack) : customizer(objValue, othValue, key, object, other, stack)
                }
                if (!(compared === undefined ? objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack) : compared)) {
                    result = false;
                    break
                }
                skipCtor || (skipCtor = key == "constructor")
            }
            if (result && !skipCtor) {
                var objCtor = object.constructor,
                    othCtor = other.constructor;
                if (objCtor != othCtor && ("constructor" in object && "constructor" in other) && !(typeof objCtor == "function" && objCtor instanceof objCtor && typeof othCtor == "function" && othCtor instanceof othCtor)) {
                    result = false
                }
            }
            stack["delete"](object);
            stack["delete"](other);
            return result
        }
        module.exports = equalObjects
    }, function(module, exports) {
        function arrayFilter(array, predicate) {
            var index = -1,
                length = array == null ? 0 : array.length,
                resIndex = 0,
                result = [];
            while (++index < length) {
                var value = array[index];
                if (predicate(value, index, array)) {
                    result[resIndex++] = value
                }
            }
            return result
        }
        module.exports = arrayFilter
    }, function(module, exports) {
        function baseTimes(n, iteratee) {
            var index = -1,
                result = Array(n);
            while (++index < n) {
                result[index] = iteratee(index)
            }
            return result
        }
        module.exports = baseTimes
    }, function(module, exports, __webpack_require__) {
        var baseGetTag = __webpack_require__(43),
            isObjectLike = __webpack_require__(32);
        var argsTag = "[object Arguments]";

        function baseIsArguments(value) {
            return isObjectLike(value) && baseGetTag(value) == argsTag
        }
        module.exports = baseIsArguments
    }, function(module, exports) {
        function stubFalse() {
            return false
        }
        module.exports = stubFalse
    }, function(module, exports, __webpack_require__) {
        var baseGetTag = __webpack_require__(43),
            isLength = __webpack_require__(131),
            isObjectLike = __webpack_require__(32);
        var argsTag = "[object Arguments]",
            arrayTag = "[object Array]",
            boolTag = "[object Boolean]",
            dateTag = "[object Date]",
            errorTag = "[object Error]",
            funcTag = "[object Function]",
            mapTag = "[object Map]",
            numberTag = "[object Number]",
            objectTag = "[object Object]",
            regexpTag = "[object RegExp]",
            setTag = "[object Set]",
            stringTag = "[object String]",
            weakMapTag = "[object WeakMap]";
        var arrayBufferTag = "[object ArrayBuffer]",
            dataViewTag = "[object DataView]",
            float32Tag = "[object Float32Array]",
            float64Tag = "[object Float64Array]",
            int8Tag = "[object Int8Array]",
            int16Tag = "[object Int16Array]",
            int32Tag = "[object Int32Array]",
            uint8Tag = "[object Uint8Array]",
            uint8ClampedTag = "[object Uint8ClampedArray]",
            uint16Tag = "[object Uint16Array]",
            uint32Tag = "[object Uint32Array]";
        var typedArrayTags = {};
        typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;
        typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;

        function baseIsTypedArray(value) {
            return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)]
        }
        module.exports = baseIsTypedArray
    }, function(module, exports, __webpack_require__) {
        var isPrototype = __webpack_require__(134),
            nativeKeys = __webpack_require__(452);
        var objectProto = Object.prototype;
        var hasOwnProperty = objectProto.hasOwnProperty;

        function baseKeys(object) {
            if (!isPrototype(object)) {
                return nativeKeys(object)
            }
            var result = [];
            for (var key in Object(object)) {
                if (hasOwnProperty.call(object, key) && key != "constructor") {
                    result.push(key)
                }
            }
            return result
        }
        module.exports = baseKeys
    }, function(module, exports, __webpack_require__) {
        var overArg = __webpack_require__(199);
        var nativeKeys = overArg(Object.keys, Object);
        module.exports = nativeKeys
    }, function(module, exports, __webpack_require__) {
        var getNative = __webpack_require__(44),
            root = __webpack_require__(26);
        var DataView = getNative(root, "DataView");
        module.exports = DataView
    }, function(module, exports, __webpack_require__) {
        var getNative = __webpack_require__(44),
            root = __webpack_require__(26);
        var Promise = getNative(root, "Promise");
        module.exports = Promise
    }, function(module, exports, __webpack_require__) {
        var getNative = __webpack_require__(44),
            root = __webpack_require__(26);
        var Set = getNative(root, "Set");
        module.exports = Set
    }, function(module, exports, __webpack_require__) {
        var getNative = __webpack_require__(44),
            root = __webpack_require__(26);
        var WeakMap = getNative(root, "WeakMap");
        module.exports = WeakMap
    }, function(module, exports, __webpack_require__) {
        var isStrictComparable = __webpack_require__(200),
            keys = __webpack_require__(53);

        function getMatchData(object) {
            var result = keys(object),
                length = result.length;
            while (length--) {
                var key = result[length],
                    value = object[key];
                result[length] = [key, value, isStrictComparable(value)]
            }
            return result
        }
        module.exports = getMatchData
    }, function(module, exports, __webpack_require__) {
        var baseIsEqual = __webpack_require__(190),
            get = __webpack_require__(135),
            hasIn = __webpack_require__(461),
            isKey = __webpack_require__(137),
            isStrictComparable = __webpack_require__(200),
            matchesStrictComparable = __webpack_require__(201),
            toKey = __webpack_require__(54);
        var COMPARE_PARTIAL_FLAG = 1,
            COMPARE_UNORDERED_FLAG = 2;

        function baseMatchesProperty(path, srcValue) {
            if (isKey(path) && isStrictComparable(srcValue)) {
                return matchesStrictComparable(toKey(path), srcValue)
            }
            return function(object) {
                var objValue = get(object, path);
                return objValue === undefined && objValue === srcValue ? hasIn(object, path) : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG)
            }
        }
        module.exports = baseMatchesProperty
    }, function(module, exports, __webpack_require__) {
        var memoizeCapped = __webpack_require__(460);
        var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
        var reEscapeChar = /\\(\\)?/g;
        var stringToPath = memoizeCapped(function(string) {
            var result = [];
            if (string.charCodeAt(0) === 46) {
                result.push("")
            }
            string.replace(rePropName, function(match, number, quote, subString) {
                result.push(quote ? subString.replace(reEscapeChar, "$1") : number || match)
            });
            return result
        });
        module.exports = stringToPath
    }, function(module, exports, __webpack_require__) {
        var memoize = __webpack_require__(187);
        var MAX_MEMOIZE_SIZE = 500;

        function memoizeCapped(func) {
            var result = memoize(func, function(key) {
                if (cache.size === MAX_MEMOIZE_SIZE) {
                    cache.clear()
                }
                return key
            });
            var cache = result.cache;
            return result
        }
        module.exports = memoizeCapped
    }, function(module, exports, __webpack_require__) {
        var baseHasIn = __webpack_require__(462),
            hasPath = __webpack_require__(463);

        function hasIn(object, path) {
            return object != null && hasPath(object, path, baseHasIn)
        }
        module.exports = hasIn
    }, function(module, exports) {
        function baseHasIn(object, key) {
            return object != null && key in Object(object)
        }
        module.exports = baseHasIn
    }, function(module, exports, __webpack_require__) {
        var castPath = __webpack_require__(69),
            isArguments = __webpack_require__(128),
            isArray = __webpack_require__(20),
            isIndex = __webpack_require__(97),
            isLength = __webpack_require__(131),
            toKey = __webpack_require__(54);

        function hasPath(object, path, hasFunc) {
            path = castPath(path, object);
            var index = -1,
                length = path.length,
                result = false;
            while (++index < length) {
                var key = toKey(path[index]);
                if (!(result = object != null && hasFunc(object, key))) {
                    break
                }
                object = object[key]
            }
            if (result || ++index != length) {
                return result
            }
            length = object == null ? 0 : object.length;
            return !!length && isLength(length) && isIndex(key, length) && (isArray(object) || isArguments(object))
        }
        module.exports = hasPath
    }, function(module, exports, __webpack_require__) {
        var baseProperty = __webpack_require__(465),
            basePropertyDeep = __webpack_require__(466),
            isKey = __webpack_require__(137),
            toKey = __webpack_require__(54);

        function property(path) {
            return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path)
        }
        module.exports = property
    }, function(module, exports) {
        function baseProperty(key) {
            return function(object) {
                return object == null ? undefined : object[key]
            }
        }
        module.exports = baseProperty
    }, function(module, exports, __webpack_require__) {
        var baseGet = __webpack_require__(136);

        function basePropertyDeep(path) {
            return function(object) {
                return baseGet(object, path)
            }
        }
        module.exports = basePropertyDeep
    }, function(module, exports, __webpack_require__) {
        var baseFindIndex = __webpack_require__(468),
            baseIteratee = __webpack_require__(96),
            toInteger = __webpack_require__(469);
        var nativeMax = Math.max;

        function findIndex(array, predicate, fromIndex) {
            var length = array == null ? 0 : array.length;
            if (!length) {
                return -1
            }
            var index = fromIndex == null ? 0 : toInteger(fromIndex);
            if (index < 0) {
                index = nativeMax(length + index, 0)
            }
            return baseFindIndex(array, baseIteratee(predicate, 3), index)
        }
        module.exports = findIndex
    }, function(module, exports) {
        function baseFindIndex(array, predicate, fromIndex, fromRight) {
            var length = array.length,
                index = fromIndex + (fromRight ? 1 : -1);
            while (fromRight ? index-- : ++index < length) {
                if (predicate(array[index], index, array)) {
                    return index
                }
            }
            return -1
        }
        module.exports = baseFindIndex
    }, function(module, exports, __webpack_require__) {
        var toFinite = __webpack_require__(470);

        function toInteger(value) {
            var result = toFinite(value),
                remainder = result % 1;
            return result === result ? remainder ? result - remainder : result : 0
        }
        module.exports = toInteger
    }, function(module, exports, __webpack_require__) {
        var toNumber = __webpack_require__(203);
        var INFINITY = 1 / 0,
            MAX_INTEGER = 1.7976931348623157e308;

        function toFinite(value) {
            if (!value) {
                return value === 0 ? value : 0
            }
            value = toNumber(value);
            if (value === INFINITY || value === -INFINITY) {
                var sign = value < 0 ? -1 : 1;
                return sign * MAX_INTEGER
            }
            return value === value ? value : 0
        }
        module.exports = toFinite
    }, function(module, exports, __webpack_require__) {
        var arraySome = __webpack_require__(192),
            baseIteratee = __webpack_require__(96),
            baseSome = __webpack_require__(472),
            isArray = __webpack_require__(20),
            isIterateeCall = __webpack_require__(477);

        function some(collection, predicate, guard) {
            var func = isArray(collection) ? arraySome : baseSome;
            if (guard && isIterateeCall(collection, predicate, guard)) {
                predicate = undefined
            }
            return func(collection, baseIteratee(predicate, 3))
        }
        module.exports = some
    }, function(module, exports, __webpack_require__) {
        var baseEach = __webpack_require__(204);

        function baseSome(collection, predicate) {
            var result;
            baseEach(collection, function(value, index, collection) {
                result = predicate(value, index, collection);
                return !result
            });
            return !!result
        }
        module.exports = baseSome
    }, function(module, exports, __webpack_require__) {
        var baseFor = __webpack_require__(474),
            keys = __webpack_require__(53);

        function baseForOwn(object, iteratee) {
            return object && baseFor(object, iteratee, keys)
        }
        module.exports = baseForOwn
    }, function(module, exports, __webpack_require__) {
        var createBaseFor = __webpack_require__(475);
        var baseFor = createBaseFor();
        module.exports = baseFor
    }, function(module, exports) {
        function createBaseFor(fromRight) {
            return function(object, iteratee, keysFunc) {
                var index = -1,
                    iterable = Object(object),
                    props = keysFunc(object),
                    length = props.length;
                while (length--) {
                    var key = props[fromRight ? length : ++index];
                    if (iteratee(iterable[key], key, iterable) === false) {
                        break
                    }
                }
                return object
            }
        }
        module.exports = createBaseFor
    }, function(module, exports, __webpack_require__) {
        var isArrayLike = __webpack_require__(68);

        function createBaseEach(eachFunc, fromRight) {
            return function(collection, iteratee) {
                if (collection == null) {
                    return collection
                }
                if (!isArrayLike(collection)) {
                    return eachFunc(collection, iteratee)
                }
                var length = collection.length,
                    index = fromRight ? length : -1,
                    iterable = Object(collection);
                while (fromRight ? index-- : ++index < length) {
                    if (iteratee(iterable[index], index, iterable) === false) {
                        break
                    }
                }
                return collection
            }
        }
        module.exports = createBaseEach
    }, function(module, exports, __webpack_require__) {
        var eq = __webpack_require__(67),
            isArrayLike = __webpack_require__(68),
            isIndex = __webpack_require__(97),
            isObject = __webpack_require__(28);

        function isIterateeCall(value, index, object) {
            if (!isObject(object)) {
                return false
            }
            var type = typeof index;
            if (type == "number" ? isArrayLike(object) && isIndex(index, object.length) : type == "string" && index in object) {
                return eq(object[index], value)
            }
            return false
        }
        module.exports = isIterateeCall
    }, function(module, exports) {
        module.exports = require("xml")
    }, function(module, exports) {
        module.exports = require("memoizee")
    }, function(module, exports) {
        module.exports = require("css.escape")
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.default = PresetApis;
        var _base = __webpack_require__(482);
        var _base2 = _interopRequireDefault(_base);
        var _oas = __webpack_require__(263);
        var _oas2 = _interopRequireDefault(_oas);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }

        function PresetApis() {
            return [_base2.default, _oas2.default]
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.default = function() {
            var coreComponents = {
                components: {
                    App: _app2.default,
                    authorizationPopup: _authorizationPopup2.default,
                    authorizeBtn: _authorizeBtn2.default,
                    authorizeOperationBtn: _authorizeOperationBtn2.default,
                    auths: _auths2.default,
                    AuthItem: _authItem2.default,
                    authError: _error2.default,
                    oauth2: _oauth2.default,
                    apiKeyAuth: _apiKeyAuth2.default,
                    basicAuth: _basicAuth2.default,
                    clear: _clear2.default,
                    liveResponse: _liveResponse2.default,
                    info: _info2.default,
                    InfoContainer: _info4.default,
                    JumpToPath: _jumpToPath2.default,
                    onlineValidatorBadge: _onlineValidatorBadge2.default,
                    operations: _operations2.default,
                    operation: _operation2.default,
                    OperationSummary: _operationSummary2.default,
                    OperationSummaryMethod: _operationSummaryMethod2.default,
                    OperationSummaryPath: _operationSummaryPath2.default,
                    highlightCode: _highlightCode2.default,
                    responses: _responses2.default,
                    response: _response2.default,
                    responseBody: _responseBody2.default,
                    parameters: _parameters2.default,
                    parameterRow: _parameterRow2.default,
                    execute: _execute2.default,
                    headers: _headers2.default,
                    errors: _errors2.default,
                    contentType: _contentType2.default,
                    overview: _overview2.default,
                    footer: _footer2.default,
                    FilterContainer: _filter4.default,
                    ParamBody: _paramBody2.default,
                    curl: _curl2.default,
                    schemes: _schemes2.default,
                    SchemesContainer: _schemes4.default,
                    modelExample: _modelExample2.default,
                    ModelWrapper: _modelWrapper2.default,
                    ModelCollapse: _modelCollapse2.default,
                    Model: _model2.default,
                    Models: _models2.default,
                    EnumModel: _enumModel2.default,
                    ObjectModel: _objectModel2.default,
                    ArrayModel: _arrayModel2.default,
                    PrimitiveModel: _primitiveModel2.default,
                    Property: _property2.default,
                    TryItOutButton: _tryItOutButton2.default,
                    Markdown: _markdown2.default,
                    BaseLayout: _base2.default,
                    VersionPragmaFilter: _versionPragmaFilter2.default,
                    VersionStamp: _versionStamp2.default,
                    OperationExt: _operationExtensions2.default,
                    OperationExtRow: _operationExtensionRow2.default,
                    ParameterExt: _parameterExtension2.default,
                    ParameterIncludeEmpty: _parameterIncludeEmpty2.default,
                    OperationTag: _operationTag2.default,
                    OperationContainer: _OperationContainer2.default,
                    DeepLink: _deepLink2.default,
                    InfoUrl: _info.InfoUrl,
                    InfoBasePath: _info.InfoBasePath,
                    SvgAssets: _svgAssets2.default
                }
            };
            var formComponents = {
                components: LayoutUtils
            };
            var jsonSchemaComponents = {
                components: JsonSchemaComponents
            };
            return [_configs2.default, _util2.default, _logs2.default, _view2.default, _spec2.default, _err2.default, _layout2.default, _samples2.default, coreComponents, formComponents, _swaggerJs2.default, jsonSchemaComponents, _auth2.default, _downloadUrl2.default, _deepLinking2.default, _filter2.default, _onComplete2.default]
        };
        var _err = __webpack_require__(205);
        var _err2 = _interopRequireDefault(_err);
        var _layout = __webpack_require__(212);
        var _layout2 = _interopRequireDefault(_layout);
        var _spec = __webpack_require__(218);
        var _spec2 = _interopRequireDefault(_spec);
        var _view = __webpack_require__(231);
        var _view2 = _interopRequireDefault(_view);
        var _samples = __webpack_require__(236);
        var _samples2 = _interopRequireDefault(_samples);
        var _logs = __webpack_require__(237);
        var _logs2 = _interopRequireDefault(_logs);
        var _swaggerJs = __webpack_require__(238);
        var _swaggerJs2 = _interopRequireDefault(_swaggerJs);
        var _auth = __webpack_require__(240);
        var _auth2 = _interopRequireDefault(_auth);
        var _util = __webpack_require__(244);
        var _util2 = _interopRequireDefault(_util);
        var _downloadUrl = __webpack_require__(245);
        var _downloadUrl2 = _interopRequireDefault(_downloadUrl);
        var _configs = __webpack_require__(246);
        var _configs2 = _interopRequireDefault(_configs);
        var _deepLinking = __webpack_require__(250);
        var _deepLinking2 = _interopRequireDefault(_deepLinking);
        var _filter = __webpack_require__(255);
        var _filter2 = _interopRequireDefault(_filter);
        var _onComplete = __webpack_require__(257);
        var _onComplete2 = _interopRequireDefault(_onComplete);
        var _OperationContainer = __webpack_require__(579);
        var _OperationContainer2 = _interopRequireDefault(_OperationContainer);
        var _app = __webpack_require__(580);
        var _app2 = _interopRequireDefault(_app);
        var _authorizationPopup = __webpack_require__(581);
        var _authorizationPopup2 = _interopRequireDefault(_authorizationPopup);
        var _authorizeBtn = __webpack_require__(582);
        var _authorizeBtn2 = _interopRequireDefault(_authorizeBtn);
        var _authorizeOperationBtn = __webpack_require__(583);
        var _authorizeOperationBtn2 = _interopRequireDefault(_authorizeOperationBtn);
        var _auths = __webpack_require__(584);
        var _auths2 = _interopRequireDefault(_auths);
        var _authItem = __webpack_require__(585);
        var _authItem2 = _interopRequireDefault(_authItem);
        var _error = __webpack_require__(586);
        var _error2 = _interopRequireDefault(_error);
        var _apiKeyAuth = __webpack_require__(587);
        var _apiKeyAuth2 = _interopRequireDefault(_apiKeyAuth);
        var _basicAuth = __webpack_require__(588);
        var _basicAuth2 = _interopRequireDefault(_basicAuth);
        var _oauth = __webpack_require__(589);
        var _oauth2 = _interopRequireDefault(_oauth);
        var _clear = __webpack_require__(591);
        var _clear2 = _interopRequireDefault(_clear);
        var _liveResponse = __webpack_require__(592);
        var _liveResponse2 = _interopRequireDefault(_liveResponse);
        var _onlineValidatorBadge = __webpack_require__(593);
        var _onlineValidatorBadge2 = _interopRequireDefault(_onlineValidatorBadge);
        var _operations = __webpack_require__(594);
        var _operations2 = _interopRequireDefault(_operations);
        var _operationTag = __webpack_require__(595);
        var _operationTag2 = _interopRequireDefault(_operationTag);
        var _operation = __webpack_require__(596);
        var _operation2 = _interopRequireDefault(_operation);
        var _operationSummary = __webpack_require__(597);
        var _operationSummary2 = _interopRequireDefault(_operationSummary);
        var _operationSummaryMethod = __webpack_require__(598);
        var _operationSummaryMethod2 = _interopRequireDefault(_operationSummaryMethod);
        var _operationSummaryPath = __webpack_require__(599);
        var _operationSummaryPath2 = _interopRequireDefault(_operationSummaryPath);
        var _operationExtensions = __webpack_require__(600);
        var _operationExtensions2 = _interopRequireDefault(_operationExtensions);
        var _operationExtensionRow = __webpack_require__(601);
        var _operationExtensionRow2 = _interopRequireDefault(_operationExtensionRow);
        var _highlightCode = __webpack_require__(602);
        var _highlightCode2 = _interopRequireDefault(_highlightCode);
        var _responses = __webpack_require__(604);
        var _responses2 = _interopRequireDefault(_responses);
        var _response = __webpack_require__(605);
        var _response2 = _interopRequireDefault(_response);
        var _responseBody = __webpack_require__(606);
        var _responseBody2 = _interopRequireDefault(_responseBody);
        var _parameters = __webpack_require__(609);
        var _parameters2 = _interopRequireDefault(_parameters);
        var _parameterExtension = __webpack_require__(610);
        var _parameterExtension2 = _interopRequireDefault(_parameterExtension);
        var _parameterIncludeEmpty = __webpack_require__(611);
        var _parameterIncludeEmpty2 = _interopRequireDefault(_parameterIncludeEmpty);
        var _parameterRow = __webpack_require__(612);
        var _parameterRow2 = _interopRequireDefault(_parameterRow);
        var _execute = __webpack_require__(613);
        var _execute2 = _interopRequireDefault(_execute);
        var _headers = __webpack_require__(614);
        var _headers2 = _interopRequireDefault(_headers);
        var _errors = __webpack_require__(615);
        var _errors2 = _interopRequireDefault(_errors);
        var _contentType = __webpack_require__(616);
        var _contentType2 = _interopRequireDefault(_contentType);
        var _overview = __webpack_require__(617);
        var _overview2 = _interopRequireDefault(_overview);
        var _info = __webpack_require__(618);
        var _info2 = _interopRequireDefault(_info);
        var _info3 = __webpack_require__(619);
        var _info4 = _interopRequireDefault(_info3);
        var _jumpToPath = __webpack_require__(620);
        var _jumpToPath2 = _interopRequireDefault(_jumpToPath);
        var _footer = __webpack_require__(621);
        var _footer2 = _interopRequireDefault(_footer);
        var _filter3 = __webpack_require__(622);
        var _filter4 = _interopRequireDefault(_filter3);
        var _paramBody = __webpack_require__(623);
        var _paramBody2 = _interopRequireDefault(_paramBody);
        var _curl = __webpack_require__(624);
        var _curl2 = _interopRequireDefault(_curl);
        var _schemes = __webpack_require__(626);
        var _schemes2 = _interopRequireDefault(_schemes);
        var _schemes3 = __webpack_require__(627);
        var _schemes4 = _interopRequireDefault(_schemes3);
        var _modelCollapse = __webpack_require__(628);
        var _modelCollapse2 = _interopRequireDefault(_modelCollapse);
        var _modelExample = __webpack_require__(629);
        var _modelExample2 = _interopRequireDefault(_modelExample);
        var _modelWrapper = __webpack_require__(630);
        var _modelWrapper2 = _interopRequireDefault(_modelWrapper);
        var _model = __webpack_require__(260);
        var _model2 = _interopRequireDefault(_model);
        var _models = __webpack_require__(632);
        var _models2 = _interopRequireDefault(_models);
        var _enumModel = __webpack_require__(633);
        var _enumModel2 = _interopRequireDefault(_enumModel);
        var _objectModel = __webpack_require__(634);
        var _objectModel2 = _interopRequireDefault(_objectModel);
        var _arrayModel = __webpack_require__(635);
        var _arrayModel2 = _interopRequireDefault(_arrayModel);
        var _primitiveModel = __webpack_require__(636);
        var _primitiveModel2 = _interopRequireDefault(_primitiveModel);
        var _property = __webpack_require__(637);
        var _property2 = _interopRequireDefault(_property);
        var _tryItOutButton = __webpack_require__(638);
        var _tryItOutButton2 = _interopRequireDefault(_tryItOutButton);
        var _versionPragmaFilter = __webpack_require__(639);
        var _versionPragmaFilter2 = _interopRequireDefault(_versionPragmaFilter);
        var _versionStamp = __webpack_require__(640);
        var _versionStamp2 = _interopRequireDefault(_versionStamp);
        var _deepLink = __webpack_require__(641);
        var _deepLink2 = _interopRequireDefault(_deepLink);
        var _svgAssets = __webpack_require__(642);
        var _svgAssets2 = _interopRequireDefault(_svgAssets);
        var _markdown = __webpack_require__(261);
        var _markdown2 = _interopRequireDefault(_markdown);
        var _base = __webpack_require__(644);
        var _base2 = _interopRequireDefault(_base);
        var _layoutUtils = __webpack_require__(259);
        var LayoutUtils = _interopRequireWildcard(_layoutUtils);
        var _jsonSchemaComponents = __webpack_require__(645);
        var JsonSchemaComponents = _interopRequireWildcard(_jsonSchemaComponents);

        function _interopRequireWildcard(obj) {
            if (obj && obj.__esModule) {
                return obj
            } else {
                var newObj = {};
                if (obj != null) {
                    for (var key in obj) {
                        if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]
                    }
                }
                newObj.default = obj;
                return newObj
            }
        }

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
    }, function(module, exports, __webpack_require__) {
        var arrayReduce = __webpack_require__(186),
            baseEach = __webpack_require__(204),
            baseIteratee = __webpack_require__(96),
            baseReduce = __webpack_require__(484),
            isArray = __webpack_require__(20);

        function reduce(collection, iteratee, accumulator) {
            var func = isArray(collection) ? arrayReduce : baseReduce,
                initAccum = arguments.length < 3;
            return func(collection, baseIteratee(iteratee, 4), accumulator, initAccum, baseEach)
        }
        module.exports = reduce
    }, function(module, exports) {
        function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {
            eachFunc(collection, function(value, index, collection) {
                accumulator = initAccum ? (initAccum = false, value) : iteratee(accumulator, value, index, collection)
            });
            return accumulator
        }
        module.exports = baseReduce
    }, function(module, exports, __webpack_require__) {
        module.exports = {
            default: __webpack_require__(486),
            __esModule: true
        }
    }, function(module, exports, __webpack_require__) {
        __webpack_require__(61);
        __webpack_require__(487);
        module.exports = __webpack_require__(10).Array.from
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var ctx = __webpack_require__(47);
        var $export = __webpack_require__(25);
        var toObject = __webpack_require__(60);
        var call = __webpack_require__(215);
        var isArrayIter = __webpack_require__(216);
        var toLength = __webpack_require__(104);
        var createProperty = __webpack_require__(488);
        var getIterFn = __webpack_require__(109);
        $export($export.S + $export.F * !__webpack_require__(217)(function(iter) {
            Array.from(iter)
        }), "Array", {
            from: function from(arrayLike) {
                var O = toObject(arrayLike);
                var C = typeof this == "function" ? this : Array;
                var aLen = arguments.length;
                var mapfn = aLen > 1 ? arguments[1] : undefined;
                var mapping = mapfn !== undefined;
                var index = 0;
                var iterFn = getIterFn(O);
                var length, result, step, iterator;
                if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);
                if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {
                    for (iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++) {
                        createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value)
                    }
                } else {
                    length = toLength(O.length);
                    for (result = new C(length); length > index; index++) {
                        createProperty(result, index, mapping ? mapfn(O[index], index) : O[index])
                    }
                }
                result.length = index;
                return result
            }
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var $defineProperty = __webpack_require__(29);
        var createDesc = __webpack_require__(58);
        module.exports = function(object, index, value) {
            if (index in object) $defineProperty.f(object, index, createDesc(0, value));
            else object[index] = value
        }
    }, function(module, exports, __webpack_require__) {
        __webpack_require__(177);
        __webpack_require__(61);
        __webpack_require__(77);
        __webpack_require__(490);
        __webpack_require__(497);
        __webpack_require__(498);
        module.exports = __webpack_require__(10).Promise
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var LIBRARY = __webpack_require__(78);
        var global = __webpack_require__(15);
        var ctx = __webpack_require__(47);
        var classof = __webpack_require__(110);
        var $export = __webpack_require__(25);
        var isObject = __webpack_require__(33);
        var aFunction = __webpack_require__(79);
        var anInstance = __webpack_require__(491);
        var forOf = __webpack_require__(492);
        var speciesConstructor = __webpack_require__(221);
        var task = __webpack_require__(222).set;
        var microtask = __webpack_require__(494)();
        var newPromiseCapabilityModule = __webpack_require__(142);
        var perform = __webpack_require__(223);
        var promiseResolve = __webpack_require__(224);
        var PROMISE = "Promise";
        var TypeError = global.TypeError;
        var process = global.process;
        var $Promise = global[PROMISE];
        var isNode = classof(process) == "process";
        var empty = function() {};
        var Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;
        var newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;
        var USE_NATIVE = !! function() {
            try {
                var promise = $Promise.resolve(1);
                var FakePromise = (promise.constructor = {})[__webpack_require__(14)("species")] = function(exec) {
                    exec(empty, empty)
                };
                return (isNode || typeof PromiseRejectionEvent == "function") && promise.then(empty) instanceof FakePromise
            } catch (e) {}
        }();
        var isThenable = function(it) {
            var then;
            return isObject(it) && typeof(then = it.then) == "function" ? then : false
        };
        var notify = function(promise, isReject) {
            if (promise._n) return;
            promise._n = true;
            var chain = promise._c;
            microtask(function() {
                var value = promise._v;
                var ok = promise._s == 1;
                var i = 0;
                var run = function(reaction) {
                    var handler = ok ? reaction.ok : reaction.fail;
                    var resolve = reaction.resolve;
                    var reject = reaction.reject;
                    var domain = reaction.domain;
                    var result, then, exited;
                    try {
                        if (handler) {
                            if (!ok) {
                                if (promise._h == 2) onHandleUnhandled(promise);
                                promise._h = 1
                            }
                            if (handler === true) result = value;
                            else {
                                if (domain) domain.enter();
                                result = handler(value);
                                if (domain) {
                                    domain.exit();
                                    exited = true
                                }
                            }
                            if (result === reaction.promise) {
                                reject(TypeError("Promise-chain cycle"))
                            } else if (then = isThenable(result)) {
                                then.call(result, resolve, reject)
                            } else resolve(result)
                        } else reject(value)
                    } catch (e) {
                        if (domain && !exited) domain.exit();
                        reject(e)
                    }
                };
                while (chain.length > i) run(chain[i++]);
                promise._c = [];
                promise._n = false;
                if (isReject && !promise._h) onUnhandled(promise)
            })
        };
        var onUnhandled = function(promise) {
            task.call(global, function() {
                var value = promise._v;
                var unhandled = isUnhandled(promise);
                var result, handler, console;
                if (unhandled) {
                    result = perform(function() {
                        if (isNode) {
                            process.emit("unhandledRejection", value, promise)
                        } else if (handler = global.onunhandledrejection) {
                            handler({
                                promise: promise,
                                reason: value
                            })
                        } else if ((console = global.console) && console.error) {
                            console.error("Unhandled promise rejection", value)
                        }
                    });
                    promise._h = isNode || isUnhandled(promise) ? 2 : 1
                }
                promise._a = undefined;
                if (unhandled && result.e) throw result.v
            })
        };
        var isUnhandled = function(promise) {
            return promise._h !== 1 && (promise._a || promise._c).length === 0
        };
        var onHandleUnhandled = function(promise) {
            task.call(global, function() {
                var handler;
                if (isNode) {
                    process.emit("rejectionHandled", promise)
                } else if (handler = global.onrejectionhandled) {
                    handler({
                        promise: promise,
                        reason: promise._v
                    })
                }
            })
        };
        var $reject = function(value) {
            var promise = this;
            if (promise._d) return;
            promise._d = true;
            promise = promise._w || promise;
            promise._v = value;
            promise._s = 2;
            if (!promise._a) promise._a = promise._c.slice();
            notify(promise, true)
        };
        var $resolve = function(value) {
            var promise = this;
            var then;
            if (promise._d) return;
            promise._d = true;
            promise = promise._w || promise;
            try {
                if (promise === value) throw TypeError("Promise can't be resolved itself");
                if (then = isThenable(value)) {
                    microtask(function() {
                        var wrapper = {
                            _w: promise,
                            _d: false
                        };
                        try {
                            then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1))
                        } catch (e) {
                            $reject.call(wrapper, e)
                        }
                    })
                } else {
                    promise._v = value;
                    promise._s = 1;
                    notify(promise, false)
                }
            } catch (e) {
                $reject.call({
                    _w: promise,
                    _d: false
                }, e)
            }
        };
        if (!USE_NATIVE) {
            $Promise = function Promise(executor) {
                anInstance(this, $Promise, PROMISE, "_h");
                aFunction(executor);
                Internal.call(this);
                try {
                    executor(ctx($resolve, this, 1), ctx($reject, this, 1))
                } catch (err) {
                    $reject.call(this, err)
                }
            };
            Internal = function Promise(executor) {
                this._c = [];
                this._a = undefined;
                this._s = 0;
                this._d = false;
                this._v = undefined;
                this._h = 0;
                this._n = false
            };
            Internal.prototype = __webpack_require__(495)($Promise.prototype, {
                then: function then(onFulfilled, onRejected) {
                    var reaction = newPromiseCapability(speciesConstructor(this, $Promise));
                    reaction.ok = typeof onFulfilled == "function" ? onFulfilled : true;
                    reaction.fail = typeof onRejected == "function" && onRejected;
                    reaction.domain = isNode ? process.domain : undefined;
                    this._c.push(reaction);
                    if (this._a) this._a.push(reaction);
                    if (this._s) notify(this, false);
                    return reaction.promise
                },
                catch: function(onRejected) {
                    return this.then(undefined, onRejected)
                }
            });
            OwnPromiseCapability = function() {
                var promise = new Internal;
                this.promise = promise;
                this.resolve = ctx($resolve, promise, 1);
                this.reject = ctx($reject, promise, 1)
            };
            newPromiseCapabilityModule.f = newPromiseCapability = function(C) {
                return C === $Promise || C === Wrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C)
            }
        }
        $export($export.G + $export.W + $export.F * !USE_NATIVE, {
            Promise: $Promise
        });
        __webpack_require__(81)($Promise, PROMISE);
        __webpack_require__(496)(PROMISE);
        Wrapper = __webpack_require__(10)[PROMISE];
        $export($export.S + $export.F * !USE_NATIVE, PROMISE, {
            reject: function reject(r) {
                var capability = newPromiseCapability(this);
                var $$reject = capability.reject;
                $$reject(r);
                return capability.promise
            }
        });
        $export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {
            resolve: function resolve(x) {
                return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x)
            }
        });
        $export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(217)(function(iter) {
            $Promise.all(iter)["catch"](empty)
        })), PROMISE, {
            all: function all(iterable) {
                var C = this;
                var capability = newPromiseCapability(C);
                var resolve = capability.resolve;
                var reject = capability.reject;
                var result = perform(function() {
                    var values = [];
                    var index = 0;
                    var remaining = 1;
                    forOf(iterable, false, function(promise) {
                        var $index = index++;
                        var alreadyCalled = false;
                        values.push(undefined);
                        remaining++;
                        C.resolve(promise).then(function(value) {
                            if (alreadyCalled) return;
                            alreadyCalled = true;
                            values[$index] = value;
                            --remaining || resolve(values)
                        }, reject)
                    });
                    --remaining || resolve(values)
                });
                if (result.e) reject(result.v);
                return capability.promise
            },
            race: function race(iterable) {
                var C = this;
                var capability = newPromiseCapability(C);
                var reject = capability.reject;
                var result = perform(function() {
                    forOf(iterable, false, function(promise) {
                        C.resolve(promise).then(capability.resolve, reject)
                    })
                });
                if (result.e) reject(result.v);
                return capability.promise
            }
        })
    }, function(module, exports) {
        module.exports = function(it, Constructor, name, forbiddenField) {
            if (!(it instanceof Constructor) || forbiddenField !== undefined && forbiddenField in it) {
                throw TypeError(name + ": incorrect invocation!")
            }
            return it
        }
    }, function(module, exports, __webpack_require__) {
        var ctx = __webpack_require__(47);
        var call = __webpack_require__(215);
        var isArrayIter = __webpack_require__(216);
        var anObject = __webpack_require__(27);
        var toLength = __webpack_require__(104);
        var getIterFn = __webpack_require__(109);
        var BREAK = {};
        var RETURN = {};
        var exports = module.exports = function(iterable, entries, fn, that, ITERATOR) {
            var iterFn = ITERATOR ? function() {
                return iterable
            } : getIterFn(iterable);
            var f = ctx(fn, that, entries ? 2 : 1);
            var index = 0;
            var length, step, iterator, result;
            if (typeof iterFn != "function") throw TypeError(iterable + " is not iterable!");
            if (isArrayIter(iterFn))
                for (length = toLength(iterable.length); length > index; index++) {
                    result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
                    if (result === BREAK || result === RETURN) return result
                } else
                for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {
                    result = call(iterator, f, step.value, entries);
                    if (result === BREAK || result === RETURN) return result
                }
        };
        exports.BREAK = BREAK;
        exports.RETURN = RETURN
    }, function(module, exports) {
        module.exports = function(fn, args, that) {
            var un = that === undefined;
            switch (args.length) {
                case 0:
                    return un ? fn() : fn.call(that);
                case 1:
                    return un ? fn(args[0]) : fn.call(that, args[0]);
                case 2:
                    return un ? fn(args[0], args[1]) : fn.call(that, args[0], args[1]);
                case 3:
                    return un ? fn(args[0], args[1], args[2]) : fn.call(that, args[0], args[1], args[2]);
                case 4:
                    return un ? fn(args[0], args[1], args[2], args[3]) : fn.call(that, args[0], args[1], args[2], args[3])
            }
            return fn.apply(that, args)
        }
    }, function(module, exports, __webpack_require__) {
        var global = __webpack_require__(15);
        var macrotask = __webpack_require__(222).set;
        var Observer = global.MutationObserver || global.WebKitMutationObserver;
        var process = global.process;
        var Promise = global.Promise;
        var isNode = __webpack_require__(57)(process) == "process";
        module.exports = function() {
            var head, last, notify;
            var flush = function() {
                var parent, fn;
                if (isNode && (parent = process.domain)) parent.exit();
                while (head) {
                    fn = head.fn;
                    head = head.next;
                    try {
                        fn()
                    } catch (e) {
                        if (head) notify();
                        else last = undefined;
                        throw e
                    }
                }
                last = undefined;
                if (parent) parent.enter()
            };
            if (isNode) {
                notify = function() {
                    process.nextTick(flush)
                }
            } else if (Observer && !(global.navigator && global.navigator.standalone)) {
                var toggle = true;
                var node = document.createTextNode("");
                new Observer(flush).observe(node, {
                    characterData: true
                });
                notify = function() {
                    node.data = toggle = !toggle
                }
            } else if (Promise && Promise.resolve) {
                var promise = Promise.resolve();
                notify = function() {
                    promise.then(flush)
                }
            } else {
                notify = function() {
                    macrotask.call(global, flush)
                }
            }
            return function(fn) {
                var task = {
                    fn: fn,
                    next: undefined
                };
                if (last) last.next = task;
                if (!head) {
                    head = task;
                    notify()
                }
                last = task
            }
        }
    }, function(module, exports, __webpack_require__) {
        var hide = __webpack_require__(38);
        module.exports = function(target, src, safe) {
            for (var key in src) {
                if (safe && target[key]) target[key] = src[key];
                else hide(target, key, src[key])
            }
            return target
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var global = __webpack_require__(15);
        var core = __webpack_require__(10);
        var dP = __webpack_require__(29);
        var DESCRIPTORS = __webpack_require__(34);
        var SPECIES = __webpack_require__(14)("species");
        module.exports = function(KEY) {
            var C = typeof core[KEY] == "function" ? core[KEY] : global[KEY];
            if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {
                configurable: true,
                get: function() {
                    return this
                }
            })
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var $export = __webpack_require__(25);
        var core = __webpack_require__(10);
        var global = __webpack_require__(15);
        var speciesConstructor = __webpack_require__(221);
        var promiseResolve = __webpack_require__(224);
        $export($export.P + $export.R, "Promise", {
            finally: function(onFinally) {
                var C = speciesConstructor(this, core.Promise || global.Promise);
                var isFunction = typeof onFinally == "function";
                return this.then(isFunction ? function(x) {
                    return promiseResolve(C, onFinally()).then(function() {
                        return x
                    })
                } : onFinally, isFunction ? function(e) {
                    return promiseResolve(C, onFinally()).then(function() {
                        throw e
                    })
                } : onFinally)
            }
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var $export = __webpack_require__(25);
        var newPromiseCapability = __webpack_require__(142);
        var perform = __webpack_require__(223);
        $export($export.S, "Promise", {
            try: function(callbackfn) {
                var promiseCapability = newPromiseCapability.f(this);
                var result = perform(callbackfn);
                (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);
                return promiseCapability.promise
            }
        })
    }, function(module, exports, __webpack_require__) {
        module.exports = __webpack_require__(500)
    }, function(module, exports) {
        module.exports = require("regenerator-runtime")
    }, function(module, exports, __webpack_require__) {
        "use strict";
        exports.__esModule = true;
        var _promise = __webpack_require__(220);
        var _promise2 = _interopRequireDefault(_promise);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        exports.default = function(fn) {
            return function() {
                var gen = fn.apply(this, arguments);
                return new _promise2.default(function(resolve, reject) {
                    function step(key, arg) {
                        try {
                            var info = gen[key](arg);
                            var value = info.value
                        } catch (error) {
                            reject(error);
                            return
                        }
                        if (info.done) {
                            resolve(value)
                        } else {
                            return _promise2.default.resolve(value).then(function(value) {
                                step("next", value)
                            }, function(err) {
                                step("throw", err)
                            })
                        }
                    }
                    return step("next")
                })
            }
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var loader = __webpack_require__(503);
        var dumper = __webpack_require__(522);

        function deprecated(name) {
            return function() {
                throw new Error("Function " + name + " is deprecated and cannot be used.")
            }
        }
        module.exports.Type = __webpack_require__(11);
        module.exports.Schema = __webpack_require__(56);
        module.exports.FAILSAFE_SCHEMA = __webpack_require__(143);
        module.exports.JSON_SCHEMA = __webpack_require__(227);
        module.exports.CORE_SCHEMA = __webpack_require__(226);
        module.exports.DEFAULT_SAFE_SCHEMA = __webpack_require__(73);
        module.exports.DEFAULT_FULL_SCHEMA = __webpack_require__(99);
        module.exports.load = loader.load;
        module.exports.loadAll = loader.loadAll;
        module.exports.safeLoad = loader.safeLoad;
        module.exports.safeLoadAll = loader.safeLoadAll;
        module.exports.dump = dumper.dump;
        module.exports.safeDump = dumper.safeDump;
        module.exports.YAMLException = __webpack_require__(72);
        module.exports.MINIMAL_SCHEMA = __webpack_require__(143);
        module.exports.SAFE_SCHEMA = __webpack_require__(73);
        module.exports.DEFAULT_SCHEMA = __webpack_require__(99);
        module.exports.scan = deprecated("scan");
        module.exports.parse = deprecated("parse");
        module.exports.compose = deprecated("compose");
        module.exports.addConstructor = deprecated("addConstructor")
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var common = __webpack_require__(55);
        var YAMLException = __webpack_require__(72);
        var Mark = __webpack_require__(504);
        var DEFAULT_SAFE_SCHEMA = __webpack_require__(73);
        var DEFAULT_FULL_SCHEMA = __webpack_require__(99);
        var _hasOwnProperty = Object.prototype.hasOwnProperty;
        var CONTEXT_FLOW_IN = 1;
        var CONTEXT_FLOW_OUT = 2;
        var CONTEXT_BLOCK_IN = 3;
        var CONTEXT_BLOCK_OUT = 4;
        var CHOMPING_CLIP = 1;
        var CHOMPING_STRIP = 2;
        var CHOMPING_KEEP = 3;
        var PATTERN_NON_PRINTABLE = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/;
        var PATTERN_NON_ASCII_LINE_BREAKS = /[\x85\u2028\u2029]/;
        var PATTERN_FLOW_INDICATORS = /[,\[\]\{\}]/;
        var PATTERN_TAG_HANDLE = /^(?:!|!!|![a-z\-]+!)$/i;
        var PATTERN_TAG_URI = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;

        function is_EOL(c) {
            return c === 10 || c === 13
        }

        function is_WHITE_SPACE(c) {
            return c === 9 || c === 32
        }

        function is_WS_OR_EOL(c) {
            return c === 9 || c === 32 || c === 10 || c === 13
        }

        function is_FLOW_INDICATOR(c) {
            return c === 44 || c === 91 || c === 93 || c === 123 || c === 125
        }

        function fromHexCode(c) {
            var lc;
            if (48 <= c && c <= 57) {
                return c - 48
            }
            lc = c | 32;
            if (97 <= lc && lc <= 102) {
                return lc - 97 + 10
            }
            return -1
        }

        function escapedHexLen(c) {
            if (c === 120) {
                return 2
            }
            if (c === 117) {
                return 4
            }
            if (c === 85) {
                return 8
            }
            return 0
        }

        function fromDecimalCode(c) {
            if (48 <= c && c <= 57) {
                return c - 48
            }
            return -1
        }

        function simpleEscapeSequence(c) {
            return c === 48 ? "\0" : c === 97 ? "" : c === 98 ? "\b" : c === 116 ? "\t" : c === 9 ? "\t" : c === 110 ? "\n" : c === 118 ? "\v" : c === 102 ? "\f" : c === 114 ? "\r" : c === 101 ? "" : c === 32 ? " " : c === 34 ? '"' : c === 47 ? "/" : c === 92 ? "\\" : c === 78 ? "" : c === 95 ? " " : c === 76 ? "\u2028" : c === 80 ? "\u2029" : ""
        }

        function charFromCodepoint(c) {
            if (c <= 65535) {
                return String.fromCharCode(c)
            }
            return String.fromCharCode((c - 65536 >> 10) + 55296, (c - 65536 & 1023) + 56320)
        }
        var simpleEscapeCheck = new Array(256);
        var simpleEscapeMap = new Array(256);
        for (var i = 0; i < 256; i++) {
            simpleEscapeCheck[i] = simpleEscapeSequence(i) ? 1 : 0;
            simpleEscapeMap[i] = simpleEscapeSequence(i)
        }

        function State(input, options) {
            this.input = input;
            this.filename = options["filename"] || null;
            this.schema = options["schema"] || DEFAULT_FULL_SCHEMA;
            this.onWarning = options["onWarning"] || null;
            this.legacy = options["legacy"] || false;
            this.json = options["json"] || false;
            this.listener = options["listener"] || null;
            this.implicitTypes = this.schema.compiledImplicit;
            this.typeMap = this.schema.compiledTypeMap;
            this.length = input.length;
            this.position = 0;
            this.line = 0;
            this.lineStart = 0;
            this.lineIndent = 0;
            this.documents = []
        }

        function generateError(state, message) {
            return new YAMLException(message, new Mark(state.filename, state.input, state.position, state.line, state.position - state.lineStart))
        }

        function throwError(state, message) {
            throw generateError(state, message)
        }

        function throwWarning(state, message) {
            if (state.onWarning) {
                state.onWarning.call(null, generateError(state, message))
            }
        }
        var directiveHandlers = {
            YAML: function handleYamlDirective(state, name, args) {
                var match, major, minor;
                if (state.version !== null) {
                    throwError(state, "duplication of %YAML directive")
                }
                if (args.length !== 1) {
                    throwError(state, "YAML directive accepts exactly one argument")
                }
                match = /^([0-9]+)\.([0-9]+)$/.exec(args[0]);
                if (match === null) {
                    throwError(state, "ill-formed argument of the YAML directive")
                }
                major = parseInt(match[1], 10);
                minor = parseInt(match[2], 10);
                if (major !== 1) {
                    throwError(state, "unacceptable YAML version of the document")
                }
                state.version = args[0];
                state.checkLineBreaks = minor < 2;
                if (minor !== 1 && minor !== 2) {
                    throwWarning(state, "unsupported YAML version of the document")
                }
            },
            TAG: function handleTagDirective(state, name, args) {
                var handle, prefix;
                if (args.length !== 2) {
                    throwError(state, "TAG directive accepts exactly two arguments")
                }
                handle = args[0];
                prefix = args[1];
                if (!PATTERN_TAG_HANDLE.test(handle)) {
                    throwError(state, "ill-formed tag handle (first argument) of the TAG directive")
                }
                if (_hasOwnProperty.call(state.tagMap, handle)) {
                    throwError(state, 'there is a previously declared suffix for "' + handle + '" tag handle')
                }
                if (!PATTERN_TAG_URI.test(prefix)) {
                    throwError(state, "ill-formed tag prefix (second argument) of the TAG directive")
                }
                state.tagMap[handle] = prefix
            }
        };

        function captureSegment(state, start, end, checkJson) {
            var _position, _length, _character, _result;
            if (start < end) {
                _result = state.input.slice(start, end);
                if (checkJson) {
                    for (_position = 0, _length = _result.length; _position < _length; _position += 1) {
                        _character = _result.charCodeAt(_position);
                        if (!(_character === 9 || 32 <= _character && _character <= 1114111)) {
                            throwError(state, "expected valid JSON character")
                        }
                    }
                } else if (PATTERN_NON_PRINTABLE.test(_result)) {
                    throwError(state, "the stream contains non-printable characters")
                }
                state.result += _result
            }
        }

        function mergeMappings(state, destination, source, overridableKeys) {
            var sourceKeys, key, index, quantity;
            if (!common.isObject(source)) {
                throwError(state, "cannot merge mappings; the provided source object is unacceptable")
            }
            sourceKeys = Object.keys(source);
            for (index = 0, quantity = sourceKeys.length; index < quantity; index += 1) {
                key = sourceKeys[index];
                if (!_hasOwnProperty.call(destination, key)) {
                    destination[key] = source[key];
                    overridableKeys[key] = true
                }
            }
        }

        function storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, startLine, startPos) {
            var index, quantity;
            keyNode = String(keyNode);
            if (_result === null) {
                _result = {}
            }
            if (keyTag === "tag:yaml.org,2002:merge") {
                if (Array.isArray(valueNode)) {
                    for (index = 0, quantity = valueNode.length; index < quantity; index += 1) {
                        mergeMappings(state, _result, valueNode[index], overridableKeys)
                    }
                } else {
                    mergeMappings(state, _result, valueNode, overridableKeys)
                }
            } else {
                if (!state.json && !_hasOwnProperty.call(overridableKeys, keyNode) && _hasOwnProperty.call(_result, keyNode)) {
                    state.line = startLine || state.line;
                    state.position = startPos || state.position;
                    throwError(state, "duplicated mapping key")
                }
                _result[keyNode] = valueNode;
                delete overridableKeys[keyNode]
            }
            return _result
        }

        function readLineBreak(state) {
            var ch;
            ch = state.input.charCodeAt(state.position);
            if (ch === 10) {
                state.position++
            } else if (ch === 13) {
                state.position++;
                if (state.input.charCodeAt(state.position) === 10) {
                    state.position++
                }
            } else {
                throwError(state, "a line break is expected")
            }
            state.line += 1;
            state.lineStart = state.position
        }

        function skipSeparationSpace(state, allowComments, checkIndent) {
            var lineBreaks = 0,
                ch = state.input.charCodeAt(state.position);
            while (ch !== 0) {
                while (is_WHITE_SPACE(ch)) {
                    ch = state.input.charCodeAt(++state.position)
                }
                if (allowComments && ch === 35) {
                    do {
                        ch = state.input.charCodeAt(++state.position)
                    } while (ch !== 10 && ch !== 13 && ch !== 0)
                }
                if (is_EOL(ch)) {
                    readLineBreak(state);
                    ch = state.input.charCodeAt(state.position);
                    lineBreaks++;
                    state.lineIndent = 0;
                    while (ch === 32) {
                        state.lineIndent++;
                        ch = state.input.charCodeAt(++state.position)
                    }
                } else {
                    break
                }
            }
            if (checkIndent !== -1 && lineBreaks !== 0 && state.lineIndent < checkIndent) {
                throwWarning(state, "deficient indentation")
            }
            return lineBreaks
        }

        function testDocumentSeparator(state) {
            var _position = state.position,
                ch;
            ch = state.input.charCodeAt(_position);
            if ((ch === 45 || ch === 46) && ch === state.input.charCodeAt(_position + 1) && ch === state.input.charCodeAt(_position + 2)) {
                _position += 3;
                ch = state.input.charCodeAt(_position);
                if (ch === 0 || is_WS_OR_EOL(ch)) {
                    return true
                }
            }
            return false
        }

        function writeFoldedLines(state, count) {
            if (count === 1) {
                state.result += " "
            } else if (count > 1) {
                state.result += common.repeat("\n", count - 1)
            }
        }

        function readPlainScalar(state, nodeIndent, withinFlowCollection) {
            var preceding, following, captureStart, captureEnd, hasPendingContent, _line, _lineStart, _lineIndent, _kind = state.kind,
                _result = state.result,
                ch;
            ch = state.input.charCodeAt(state.position);
            if (is_WS_OR_EOL(ch) || is_FLOW_INDICATOR(ch) || ch === 35 || ch === 38 || ch === 42 || ch === 33 || ch === 124 || ch === 62 || ch === 39 || ch === 34 || ch === 37 || ch === 64 || ch === 96) {
                return false
            }
            if (ch === 63 || ch === 45) {
                following = state.input.charCodeAt(state.position + 1);
                if (is_WS_OR_EOL(following) || withinFlowCollection && is_FLOW_INDICATOR(following)) {
                    return false
                }
            }
            state.kind = "scalar";
            state.result = "";
            captureStart = captureEnd = state.position;
            hasPendingContent = false;
            while (ch !== 0) {
                if (ch === 58) {
                    following = state.input.charCodeAt(state.position + 1);
                    if (is_WS_OR_EOL(following) || withinFlowCollection && is_FLOW_INDICATOR(following)) {
                        break
                    }
                } else if (ch === 35) {
                    preceding = state.input.charCodeAt(state.position - 1);
                    if (is_WS_OR_EOL(preceding)) {
                        break
                    }
                } else if (state.position === state.lineStart && testDocumentSeparator(state) || withinFlowCollection && is_FLOW_INDICATOR(ch)) {
                    break
                } else if (is_EOL(ch)) {
                    _line = state.line;
                    _lineStart = state.lineStart;
                    _lineIndent = state.lineIndent;
                    skipSeparationSpace(state, false, -1);
                    if (state.lineIndent >= nodeIndent) {
                        hasPendingContent = true;
                        ch = state.input.charCodeAt(state.position);
                        continue
                    } else {
                        state.position = captureEnd;
                        state.line = _line;
                        state.lineStart = _lineStart;
                        state.lineIndent = _lineIndent;
                        break
                    }
                }
                if (hasPendingContent) {
                    captureSegment(state, captureStart, captureEnd, false);
                    writeFoldedLines(state, state.line - _line);
                    captureStart = captureEnd = state.position;
                    hasPendingContent = false
                }
                if (!is_WHITE_SPACE(ch)) {
                    captureEnd = state.position + 1
                }
                ch = state.input.charCodeAt(++state.position)
            }
            captureSegment(state, captureStart, captureEnd, false);
            if (state.result) {
                return true
            }
            state.kind = _kind;
            state.result = _result;
            return false
        }

        function readSingleQuotedScalar(state, nodeIndent) {
            var ch, captureStart, captureEnd;
            ch = state.input.charCodeAt(state.position);
            if (ch !== 39) {
                return false
            }
            state.kind = "scalar";
            state.result = "";
            state.position++;
            captureStart = captureEnd = state.position;
            while ((ch = state.input.charCodeAt(state.position)) !== 0) {
                if (ch === 39) {
                    captureSegment(state, captureStart, state.position, true);
                    ch = state.input.charCodeAt(++state.position);
                    if (ch === 39) {
                        captureStart = state.position;
                        state.position++;
                        captureEnd = state.position
                    } else {
                        return true
                    }
                } else if (is_EOL(ch)) {
                    captureSegment(state, captureStart, captureEnd, true);
                    writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));
                    captureStart = captureEnd = state.position
                } else if (state.position === state.lineStart && testDocumentSeparator(state)) {
                    throwError(state, "unexpected end of the document within a single quoted scalar")
                } else {
                    state.position++;
                    captureEnd = state.position
                }
            }
            throwError(state, "unexpected end of the stream within a single quoted scalar")
        }

        function readDoubleQuotedScalar(state, nodeIndent) {
            var captureStart, captureEnd, hexLength, hexResult, tmp, ch;
            ch = state.input.charCodeAt(state.position);
            if (ch !== 34) {
                return false
            }
            state.kind = "scalar";
            state.result = "";
            state.position++;
            captureStart = captureEnd = state.position;
            while ((ch = state.input.charCodeAt(state.position)) !== 0) {
                if (ch === 34) {
                    captureSegment(state, captureStart, state.position, true);
                    state.position++;
                    return true
                } else if (ch === 92) {
                    captureSegment(state, captureStart, state.position, true);
                    ch = state.input.charCodeAt(++state.position);
                    if (is_EOL(ch)) {
                        skipSeparationSpace(state, false, nodeIndent)
                    } else if (ch < 256 && simpleEscapeCheck[ch]) {
                        state.result += simpleEscapeMap[ch];
                        state.position++
                    } else if ((tmp = escapedHexLen(ch)) > 0) {
                        hexLength = tmp;
                        hexResult = 0;
                        for (; hexLength > 0; hexLength--) {
                            ch = state.input.charCodeAt(++state.position);
                            if ((tmp = fromHexCode(ch)) >= 0) {
                                hexResult = (hexResult << 4) + tmp
                            } else {
                                throwError(state, "expected hexadecimal character")
                            }
                        }
                        state.result += charFromCodepoint(hexResult);
                        state.position++
                    } else {
                        throwError(state, "unknown escape sequence")
                    }
                    captureStart = captureEnd = state.position
                } else if (is_EOL(ch)) {
                    captureSegment(state, captureStart, captureEnd, true);
                    writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));
                    captureStart = captureEnd = state.position
                } else if (state.position === state.lineStart && testDocumentSeparator(state)) {
                    throwError(state, "unexpected end of the document within a double quoted scalar")
                } else {
                    state.position++;
                    captureEnd = state.position
                }
            }
            throwError(state, "unexpected end of the stream within a double quoted scalar")
        }

        function readFlowCollection(state, nodeIndent) {
            var readNext = true,
                _line, _tag = state.tag,
                _result, _anchor = state.anchor,
                following, terminator, isPair, isExplicitPair, isMapping, overridableKeys = {},
                keyNode, keyTag, valueNode, ch;
            ch = state.input.charCodeAt(state.position);
            if (ch === 91) {
                terminator = 93;
                isMapping = false;
                _result = []
            } else if (ch === 123) {
                terminator = 125;
                isMapping = true;
                _result = {}
            } else {
                return false
            }
            if (state.anchor !== null) {
                state.anchorMap[state.anchor] = _result
            }
            ch = state.input.charCodeAt(++state.position);
            while (ch !== 0) {
                skipSeparationSpace(state, true, nodeIndent);
                ch = state.input.charCodeAt(state.position);
                if (ch === terminator) {
                    state.position++;
                    state.tag = _tag;
                    state.anchor = _anchor;
                    state.kind = isMapping ? "mapping" : "sequence";
                    state.result = _result;
                    return true
                } else if (!readNext) {
                    throwError(state, "missed comma between flow collection entries")
                }
                keyTag = keyNode = valueNode = null;
                isPair = isExplicitPair = false;
                if (ch === 63) {
                    following = state.input.charCodeAt(state.position + 1);
                    if (is_WS_OR_EOL(following)) {
                        isPair = isExplicitPair = true;
                        state.position++;
                        skipSeparationSpace(state, true, nodeIndent)
                    }
                }
                _line = state.line;
                composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);
                keyTag = state.tag;
                keyNode = state.result;
                skipSeparationSpace(state, true, nodeIndent);
                ch = state.input.charCodeAt(state.position);
                if ((isExplicitPair || state.line === _line) && ch === 58) {
                    isPair = true;
                    ch = state.input.charCodeAt(++state.position);
                    skipSeparationSpace(state, true, nodeIndent);
                    composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);
                    valueNode = state.result
                }
                if (isMapping) {
                    storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode)
                } else if (isPair) {
                    _result.push(storeMappingPair(state, null, overridableKeys, keyTag, keyNode, valueNode))
                } else {
                    _result.push(keyNode)
                }
                skipSeparationSpace(state, true, nodeIndent);
                ch = state.input.charCodeAt(state.position);
                if (ch === 44) {
                    readNext = true;
                    ch = state.input.charCodeAt(++state.position)
                } else {
                    readNext = false
                }
            }
            throwError(state, "unexpected end of the stream within a flow collection")
        }

        function readBlockScalar(state, nodeIndent) {
            var captureStart, folding, chomping = CHOMPING_CLIP,
                didReadContent = false,
                detectedIndent = false,
                textIndent = nodeIndent,
                emptyLines = 0,
                atMoreIndented = false,
                tmp, ch;
            ch = state.input.charCodeAt(state.position);
            if (ch === 124) {
                folding = false
            } else if (ch === 62) {
                folding = true
            } else {
                return false
            }
            state.kind = "scalar";
            state.result = "";
            while (ch !== 0) {
                ch = state.input.charCodeAt(++state.position);
                if (ch === 43 || ch === 45) {
                    if (CHOMPING_CLIP === chomping) {
                        chomping = ch === 43 ? CHOMPING_KEEP : CHOMPING_STRIP
                    } else {
                        throwError(state, "repeat of a chomping mode identifier")
                    }
                } else if ((tmp = fromDecimalCode(ch)) >= 0) {
                    if (tmp === 0) {
                        throwError(state, "bad explicit indentation width of a block scalar; it cannot be less than one")
                    } else if (!detectedIndent) {
                        textIndent = nodeIndent + tmp - 1;
                        detectedIndent = true
                    } else {
                        throwError(state, "repeat of an indentation width identifier")
                    }
                } else {
                    break
                }
            }
            if (is_WHITE_SPACE(ch)) {
                do {
                    ch = state.input.charCodeAt(++state.position)
                } while (is_WHITE_SPACE(ch));
                if (ch === 35) {
                    do {
                        ch = state.input.charCodeAt(++state.position)
                    } while (!is_EOL(ch) && ch !== 0)
                }
            }
            while (ch !== 0) {
                readLineBreak(state);
                state.lineIndent = 0;
                ch = state.input.charCodeAt(state.position);
                while ((!detectedIndent || state.lineIndent < textIndent) && ch === 32) {
                    state.lineIndent++;
                    ch = state.input.charCodeAt(++state.position)
                }
                if (!detectedIndent && state.lineIndent > textIndent) {
                    textIndent = state.lineIndent
                }
                if (is_EOL(ch)) {
                    emptyLines++;
                    continue
                }
                if (state.lineIndent < textIndent) {
                    if (chomping === CHOMPING_KEEP) {
                        state.result += common.repeat("\n", didReadContent ? 1 + emptyLines : emptyLines)
                    } else if (chomping === CHOMPING_CLIP) {
                        if (didReadContent) {
                            state.result += "\n"
                        }
                    }
                    break
                }
                if (folding) {
                    if (is_WHITE_SPACE(ch)) {
                        atMoreIndented = true;
                        state.result += common.repeat("\n", didReadContent ? 1 + emptyLines : emptyLines)
                    } else if (atMoreIndented) {
                        atMoreIndented = false;
                        state.result += common.repeat("\n", emptyLines + 1)
                    } else if (emptyLines === 0) {
                        if (didReadContent) {
                            state.result += " "
                        }
                    } else {
                        state.result += common.repeat("\n", emptyLines)
                    }
                } else {
                    state.result += common.repeat("\n", didReadContent ? 1 + emptyLines : emptyLines)
                }
                didReadContent = true;
                detectedIndent = true;
                emptyLines = 0;
                captureStart = state.position;
                while (!is_EOL(ch) && ch !== 0) {
                    ch = state.input.charCodeAt(++state.position)
                }
                captureSegment(state, captureStart, state.position, false)
            }
            return true
        }

        function readBlockSequence(state, nodeIndent) {
            var _line, _tag = state.tag,
                _anchor = state.anchor,
                _result = [],
                following, detected = false,
                ch;
            if (state.anchor !== null) {
                state.anchorMap[state.anchor] = _result
            }
            ch = state.input.charCodeAt(state.position);
            while (ch !== 0) {
                if (ch !== 45) {
                    break
                }
                following = state.input.charCodeAt(state.position + 1);
                if (!is_WS_OR_EOL(following)) {
                    break
                }
                detected = true;
                state.position++;
                if (skipSeparationSpace(state, true, -1)) {
                    if (state.lineIndent <= nodeIndent) {
                        _result.push(null);
                        ch = state.input.charCodeAt(state.position);
                        continue
                    }
                }
                _line = state.line;
                composeNode(state, nodeIndent, CONTEXT_BLOCK_IN, false, true);
                _result.push(state.result);
                skipSeparationSpace(state, true, -1);
                ch = state.input.charCodeAt(state.position);
                if ((state.line === _line || state.lineIndent > nodeIndent) && ch !== 0) {
                    throwError(state, "bad indentation of a sequence entry")
                } else if (state.lineIndent < nodeIndent) {
                    break
                }
            }
            if (detected) {
                state.tag = _tag;
                state.anchor = _anchor;
                state.kind = "sequence";
                state.result = _result;
                return true
            }
            return false
        }

        function readBlockMapping(state, nodeIndent, flowIndent) {
            var following, allowCompact, _line, _pos, _tag = state.tag,
                _anchor = state.anchor,
                _result = {},
                overridableKeys = {},
                keyTag = null,
                keyNode = null,
                valueNode = null,
                atExplicitKey = false,
                detected = false,
                ch;
            if (state.anchor !== null) {
                state.anchorMap[state.anchor] = _result
            }
            ch = state.input.charCodeAt(state.position);
            while (ch !== 0) {
                following = state.input.charCodeAt(state.position + 1);
                _line = state.line;
                _pos = state.position;
                if ((ch === 63 || ch === 58) && is_WS_OR_EOL(following)) {
                    if (ch === 63) {
                        if (atExplicitKey) {
                            storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null);
                            keyTag = keyNode = valueNode = null
                        }
                        detected = true;
                        atExplicitKey = true;
                        allowCompact = true
                    } else if (atExplicitKey) {
                        atExplicitKey = false;
                        allowCompact = true
                    } else {
                        throwError(state, "incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line")
                    }
                    state.position += 1;
                    ch = following
                } else if (composeNode(state, flowIndent, CONTEXT_FLOW_OUT, false, true)) {
                    if (state.line === _line) {
                        ch = state.input.charCodeAt(state.position);
                        while (is_WHITE_SPACE(ch)) {
                            ch = state.input.charCodeAt(++state.position)
                        }
                        if (ch === 58) {
                            ch = state.input.charCodeAt(++state.position);
                            if (!is_WS_OR_EOL(ch)) {
                                throwError(state, "a whitespace character is expected after the key-value separator within a block mapping")
                            }
                            if (atExplicitKey) {
                                storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null);
                                keyTag = keyNode = valueNode = null
                            }
                            detected = true;
                            atExplicitKey = false;
                            allowCompact = false;
                            keyTag = state.tag;
                            keyNode = state.result
                        } else if (detected) {
                            throwError(state, "can not read an implicit mapping pair; a colon is missed")
                        } else {
                            state.tag = _tag;
                            state.anchor = _anchor;
                            return true
                        }
                    } else if (detected) {
                        throwError(state, "can not read a block mapping entry; a multiline key may not be an implicit key")
                    } else {
                        state.tag = _tag;
                        state.anchor = _anchor;
                        return true
                    }
                } else {
                    break
                }
                if (state.line === _line || state.lineIndent > nodeIndent) {
                    if (composeNode(state, nodeIndent, CONTEXT_BLOCK_OUT, true, allowCompact)) {
                        if (atExplicitKey) {
                            keyNode = state.result
                        } else {
                            valueNode = state.result
                        }
                    }
                    if (!atExplicitKey) {
                        storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _line, _pos);
                        keyTag = keyNode = valueNode = null
                    }
                    skipSeparationSpace(state, true, -1);
                    ch = state.input.charCodeAt(state.position)
                }
                if (state.lineIndent > nodeIndent && ch !== 0) {
                    throwError(state, "bad indentation of a mapping entry")
                } else if (state.lineIndent < nodeIndent) {
                    break
                }
            }
            if (atExplicitKey) {
                storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null)
            }
            if (detected) {
                state.tag = _tag;
                state.anchor = _anchor;
                state.kind = "mapping";
                state.result = _result
            }
            return detected
        }

        function readTagProperty(state) {
            var _position, isVerbatim = false,
                isNamed = false,
                tagHandle, tagName, ch;
            ch = state.input.charCodeAt(state.position);
            if (ch !== 33) return false;
            if (state.tag !== null) {
                throwError(state, "duplication of a tag property")
            }
            ch = state.input.charCodeAt(++state.position);
            if (ch === 60) {
                isVerbatim = true;
                ch = state.input.charCodeAt(++state.position)
            } else if (ch === 33) {
                isNamed = true;
                tagHandle = "!!";
                ch = state.input.charCodeAt(++state.position)
            } else {
                tagHandle = "!"
            }
            _position = state.position;
            if (isVerbatim) {
                do {
                    ch = state.input.charCodeAt(++state.position)
                } while (ch !== 0 && ch !== 62);
                if (state.position < state.length) {
                    tagName = state.input.slice(_position, state.position);
                    ch = state.input.charCodeAt(++state.position)
                } else {
                    throwError(state, "unexpected end of the stream within a verbatim tag")
                }
            } else {
                while (ch !== 0 && !is_WS_OR_EOL(ch)) {
                    if (ch === 33) {
                        if (!isNamed) {
                            tagHandle = state.input.slice(_position - 1, state.position + 1);
                            if (!PATTERN_TAG_HANDLE.test(tagHandle)) {
                                throwError(state, "named tag handle cannot contain such characters")
                            }
                            isNamed = true;
                            _position = state.position + 1
                        } else {
                            throwError(state, "tag suffix cannot contain exclamation marks")
                        }
                    }
                    ch = state.input.charCodeAt(++state.position)
                }
                tagName = state.input.slice(_position, state.position);
                if (PATTERN_FLOW_INDICATORS.test(tagName)) {
                    throwError(state, "tag suffix cannot contain flow indicator characters")
                }
            }
            if (tagName && !PATTERN_TAG_URI.test(tagName)) {
                throwError(state, "tag name cannot contain such characters: " + tagName)
            }
            if (isVerbatim) {
                state.tag = tagName
            } else if (_hasOwnProperty.call(state.tagMap, tagHandle)) {
                state.tag = state.tagMap[tagHandle] + tagName
            } else if (tagHandle === "!") {
                state.tag = "!" + tagName
            } else if (tagHandle === "!!") {
                state.tag = "tag:yaml.org,2002:" + tagName
            } else {
                throwError(state, 'undeclared tag handle "' + tagHandle + '"')
            }
            return true
        }

        function readAnchorProperty(state) {
            var _position, ch;
            ch = state.input.charCodeAt(state.position);
            if (ch !== 38) return false;
            if (state.anchor !== null) {
                throwError(state, "duplication of an anchor property")
            }
            ch = state.input.charCodeAt(++state.position);
            _position = state.position;
            while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) {
                ch = state.input.charCodeAt(++state.position)
            }
            if (state.position === _position) {
                throwError(state, "name of an anchor node must contain at least one character")
            }
            state.anchor = state.input.slice(_position, state.position);
            return true
        }

        function readAlias(state) {
            var _position, alias, ch;
            ch = state.input.charCodeAt(state.position);
            if (ch !== 42) return false;
            ch = state.input.charCodeAt(++state.position);
            _position = state.position;
            while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) {
                ch = state.input.charCodeAt(++state.position)
            }
            if (state.position === _position) {
                throwError(state, "name of an alias node must contain at least one character")
            }
            alias = state.input.slice(_position, state.position);
            if (!state.anchorMap.hasOwnProperty(alias)) {
                throwError(state, 'unidentified alias "' + alias + '"')
            }
            state.result = state.anchorMap[alias];
            skipSeparationSpace(state, true, -1);
            return true
        }

        function composeNode(state, parentIndent, nodeContext, allowToSeek, allowCompact) {
            var allowBlockStyles, allowBlockScalars, allowBlockCollections, indentStatus = 1,
                atNewLine = false,
                hasContent = false,
                typeIndex, typeQuantity, type, flowIndent, blockIndent;
            if (state.listener !== null) {
                state.listener("open", state)
            }
            state.tag = null;
            state.anchor = null;
            state.kind = null;
            state.result = null;
            allowBlockStyles = allowBlockScalars = allowBlockCollections = CONTEXT_BLOCK_OUT === nodeContext || CONTEXT_BLOCK_IN === nodeContext;
            if (allowToSeek) {
                if (skipSeparationSpace(state, true, -1)) {
                    atNewLine = true;
                    if (state.lineIndent > parentIndent) {
                        indentStatus = 1
                    } else if (state.lineIndent === parentIndent) {
                        indentStatus = 0
                    } else if (state.lineIndent < parentIndent) {
                        indentStatus = -1
                    }
                }
            }
            if (indentStatus === 1) {
                while (readTagProperty(state) || readAnchorProperty(state)) {
                    if (skipSeparationSpace(state, true, -1)) {
                        atNewLine = true;
                        allowBlockCollections = allowBlockStyles;
                        if (state.lineIndent > parentIndent) {
                            indentStatus = 1
                        } else if (state.lineIndent === parentIndent) {
                            indentStatus = 0
                        } else if (state.lineIndent < parentIndent) {
                            indentStatus = -1
                        }
                    } else {
                        allowBlockCollections = false
                    }
                }
            }
            if (allowBlockCollections) {
                allowBlockCollections = atNewLine || allowCompact
            }
            if (indentStatus === 1 || CONTEXT_BLOCK_OUT === nodeContext) {
                if (CONTEXT_FLOW_IN === nodeContext || CONTEXT_FLOW_OUT === nodeContext) {
                    flowIndent = parentIndent
                } else {
                    flowIndent = parentIndent + 1
                }
                blockIndent = state.position - state.lineStart;
                if (indentStatus === 1) {
                    if (allowBlockCollections && (readBlockSequence(state, blockIndent) || readBlockMapping(state, blockIndent, flowIndent)) || readFlowCollection(state, flowIndent)) {
                        hasContent = true
                    } else {
                        if (allowBlockScalars && readBlockScalar(state, flowIndent) || readSingleQuotedScalar(state, flowIndent) || readDoubleQuotedScalar(state, flowIndent)) {
                            hasContent = true
                        } else if (readAlias(state)) {
                            hasContent = true;
                            if (state.tag !== null || state.anchor !== null) {
                                throwError(state, "alias node should not have any properties")
                            }
                        } else if (readPlainScalar(state, flowIndent, CONTEXT_FLOW_IN === nodeContext)) {
                            hasContent = true;
                            if (state.tag === null) {
                                state.tag = "?"
                            }
                        }
                        if (state.anchor !== null) {
                            state.anchorMap[state.anchor] = state.result
                        }
                    }
                } else if (indentStatus === 0) {
                    hasContent = allowBlockCollections && readBlockSequence(state, blockIndent)
                }
            }
            if (state.tag !== null && state.tag !== "!") {
                if (state.tag === "?") {
                    for (typeIndex = 0, typeQuantity = state.implicitTypes.length; typeIndex < typeQuantity; typeIndex += 1) {
                        type = state.implicitTypes[typeIndex];
                        if (type.resolve(state.result)) {
                            state.result = type.construct(state.result);
                            state.tag = type.tag;
                            if (state.anchor !== null) {
                                state.anchorMap[state.anchor] = state.result
                            }
                            break
                        }
                    }
                } else if (_hasOwnProperty.call(state.typeMap[state.kind || "fallback"], state.tag)) {
                    type = state.typeMap[state.kind || "fallback"][state.tag];
                    if (state.result !== null && type.kind !== state.kind) {
                        throwError(state, "unacceptable node kind for !<" + state.tag + '> tag; it should be "' + type.kind + '", not "' + state.kind + '"')
                    }
                    if (!type.resolve(state.result)) {
                        throwError(state, "cannot resolve a node with !<" + state.tag + "> explicit tag")
                    } else {
                        state.result = type.construct(state.result);
                        if (state.anchor !== null) {
                            state.anchorMap[state.anchor] = state.result
                        }
                    }
                } else {
                    throwError(state, "unknown tag !<" + state.tag + ">")
                }
            }
            if (state.listener !== null) {
                state.listener("close", state)
            }
            return state.tag !== null || state.anchor !== null || hasContent
        }

        function readDocument(state) {
            var documentStart = state.position,
                _position, directiveName, directiveArgs, hasDirectives = false,
                ch;
            state.version = null;
            state.checkLineBreaks = state.legacy;
            state.tagMap = {};
            state.anchorMap = {};
            while ((ch = state.input.charCodeAt(state.position)) !== 0) {
                skipSeparationSpace(state, true, -1);
                ch = state.input.charCodeAt(state.position);
                if (state.lineIndent > 0 || ch !== 37) {
                    break
                }
                hasDirectives = true;
                ch = state.input.charCodeAt(++state.position);
                _position = state.position;
                while (ch !== 0 && !is_WS_OR_EOL(ch)) {
                    ch = state.input.charCodeAt(++state.position)
                }
                directiveName = state.input.slice(_position, state.position);
                directiveArgs = [];
                if (directiveName.length < 1) {
                    throwError(state, "directive name must not be less than one character in length")
                }
                while (ch !== 0) {
                    while (is_WHITE_SPACE(ch)) {
                        ch = state.input.charCodeAt(++state.position)
                    }
                    if (ch === 35) {
                        do {
                            ch = state.input.charCodeAt(++state.position)
                        } while (ch !== 0 && !is_EOL(ch));
                        break
                    }
                    if (is_EOL(ch)) break;
                    _position = state.position;
                    while (ch !== 0 && !is_WS_OR_EOL(ch)) {
                        ch = state.input.charCodeAt(++state.position)
                    }
                    directiveArgs.push(state.input.slice(_position, state.position))
                }
                if (ch !== 0) readLineBreak(state);
                if (_hasOwnProperty.call(directiveHandlers, directiveName)) {
                    directiveHandlers[directiveName](state, directiveName, directiveArgs)
                } else {
                    throwWarning(state, 'unknown document directive "' + directiveName + '"')
                }
            }
            skipSeparationSpace(state, true, -1);
            if (state.lineIndent === 0 && state.input.charCodeAt(state.position) === 45 && state.input.charCodeAt(state.position + 1) === 45 && state.input.charCodeAt(state.position + 2) === 45) {
                state.position += 3;
                skipSeparationSpace(state, true, -1)
            } else if (hasDirectives) {
                throwError(state, "directives end mark is expected")
            }
            composeNode(state, state.lineIndent - 1, CONTEXT_BLOCK_OUT, false, true);
            skipSeparationSpace(state, true, -1);
            if (state.checkLineBreaks && PATTERN_NON_ASCII_LINE_BREAKS.test(state.input.slice(documentStart, state.position))) {
                throwWarning(state, "non-ASCII line breaks are interpreted as content")
            }
            state.documents.push(state.result);
            if (state.position === state.lineStart && testDocumentSeparator(state)) {
                if (state.input.charCodeAt(state.position) === 46) {
                    state.position += 3;
                    skipSeparationSpace(state, true, -1)
                }
                return
            }
            if (state.position < state.length - 1) {
                throwError(state, "end of the stream or a document separator is expected")
            } else {
                return
            }
        }

        function loadDocuments(input, options) {
            input = String(input);
            options = options || {};
            if (input.length !== 0) {
                if (input.charCodeAt(input.length - 1) !== 10 && input.charCodeAt(input.length - 1) !== 13) {
                    input += "\n"
                }
                if (input.charCodeAt(0) === 65279) {
                    input = input.slice(1)
                }
            }
            var state = new State(input, options);
            state.input += "\0";
            while (state.input.charCodeAt(state.position) === 32) {
                state.lineIndent += 1;
                state.position += 1
            }
            while (state.position < state.length - 1) {
                readDocument(state)
            }
            return state.documents
        }

        function loadAll(input, iterator, options) {
            var documents = loadDocuments(input, options),
                index, length;
            if (typeof iterator !== "function") {
                return documents
            }
            for (index = 0, length = documents.length; index < length; index += 1) {
                iterator(documents[index])
            }
        }

        function load(input, options) {
            var documents = loadDocuments(input, options);
            if (documents.length === 0) {
                return undefined
            } else if (documents.length === 1) {
                return documents[0]
            }
            throw new YAMLException("expected a single document in the stream, but found more")
        }

        function safeLoadAll(input, output, options) {
            if (typeof output === "function") {
                loadAll(input, output, common.extend({
                    schema: DEFAULT_SAFE_SCHEMA
                }, options))
            } else {
                return loadAll(input, common.extend({
                    schema: DEFAULT_SAFE_SCHEMA
                }, options))
            }
        }

        function safeLoad(input, options) {
            return load(input, common.extend({
                schema: DEFAULT_SAFE_SCHEMA
            }, options))
        }
        module.exports.loadAll = loadAll;
        module.exports.load = load;
        module.exports.safeLoadAll = safeLoadAll;
        module.exports.safeLoad = safeLoad
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var common = __webpack_require__(55);

        function Mark(name, buffer, position, line, column) {
            this.name = name;
            this.buffer = buffer;
            this.position = position;
            this.line = line;
            this.column = column
        }
        Mark.prototype.getSnippet = function getSnippet(indent, maxLength) {
            var head, start, tail, end, snippet;
            if (!this.buffer) return null;
            indent = indent || 4;
            maxLength = maxLength || 75;
            head = "";
            start = this.position;
            while (start > 0 && "\0\r\n\u2028\u2029".indexOf(this.buffer.charAt(start - 1)) === -1) {
                start -= 1;
                if (this.position - start > maxLength / 2 - 1) {
                    head = " ... ";
                    start += 5;
                    break
                }
            }
            tail = "";
            end = this.position;
            while (end < this.buffer.length && "\0\r\n\u2028\u2029".indexOf(this.buffer.charAt(end)) === -1) {
                end += 1;
                if (end - this.position > maxLength / 2 - 1) {
                    tail = " ... ";
                    end -= 5;
                    break
                }
            }
            snippet = this.buffer.slice(start, end);
            return common.repeat(" ", indent) + head + snippet + tail + "\n" + common.repeat(" ", indent + this.position - start + head.length) + "^"
        };
        Mark.prototype.toString = function toString(compact) {
            var snippet, where = "";
            if (this.name) {
                where += 'in "' + this.name + '" '
            }
            where += "at line " + (this.line + 1) + ", column " + (this.column + 1);
            if (!compact) {
                snippet = this.getSnippet();
                if (snippet) {
                    where += ":\n" + snippet
                }
            }
            return where
        };
        module.exports = Mark
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var Type = __webpack_require__(11);
        module.exports = new Type("tag:yaml.org,2002:str", {
            kind: "scalar",
            construct: function(data) {
                return data !== null ? data : ""
            }
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var Type = __webpack_require__(11);
        module.exports = new Type("tag:yaml.org,2002:seq", {
            kind: "sequence",
            construct: function(data) {
                return data !== null ? data : []
            }
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var Type = __webpack_require__(11);
        module.exports = new Type("tag:yaml.org,2002:map", {
            kind: "mapping",
            construct: function(data) {
                return data !== null ? data : {}
            }
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var Type = __webpack_require__(11);

        function resolveYamlNull(data) {
            if (data === null) return true;
            var max = data.length;
            return max === 1 && data === "~" || max === 4 && (data === "null" || data === "Null" || data === "NULL")
        }

        function constructYamlNull() {
            return null
        }

        function isNull(object) {
            return object === null
        }
        module.exports = new Type("tag:yaml.org,2002:null", {
            kind: "scalar",
            resolve: resolveYamlNull,
            construct: constructYamlNull,
            predicate: isNull,
            represent: {
                canonical: function() {
                    return "~"
                },
                lowercase: function() {
                    return "null"
                },
                uppercase: function() {
                    return "NULL"
                },
                camelcase: function() {
                    return "Null"
                }
            },
            defaultStyle: "lowercase"
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var Type = __webpack_require__(11);

        function resolveYamlBoolean(data) {
            if (data === null) return false;
            var max = data.length;
            return max === 4 && (data === "true" || data === "True" || data === "TRUE") || max === 5 && (data === "false" || data === "False" || data === "FALSE")
        }

        function constructYamlBoolean(data) {
            return data === "true" || data === "True" || data === "TRUE"
        }

        function isBoolean(object) {
            return Object.prototype.toString.call(object) === "[object Boolean]"
        }
        module.exports = new Type("tag:yaml.org,2002:bool", {
            kind: "scalar",
            resolve: resolveYamlBoolean,
            construct: constructYamlBoolean,
            predicate: isBoolean,
            represent: {
                lowercase: function(object) {
                    return object ? "true" : "false"
                },
                uppercase: function(object) {
                    return object ? "TRUE" : "FALSE"
                },
                camelcase: function(object) {
                    return object ? "True" : "False"
                }
            },
            defaultStyle: "lowercase"
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var common = __webpack_require__(55);
        var Type = __webpack_require__(11);

        function isHexCode(c) {
            return 48 <= c && c <= 57 || 65 <= c && c <= 70 || 97 <= c && c <= 102
        }

        function isOctCode(c) {
            return 48 <= c && c <= 55
        }

        function isDecCode(c) {
            return 48 <= c && c <= 57
        }

        function resolveYamlInteger(data) {
            if (data === null) return false;
            var max = data.length,
                index = 0,
                hasDigits = false,
                ch;
            if (!max) return false;
            ch = data[index];
            if (ch === "-" || ch === "+") {
                ch = data[++index]
            }
            if (ch === "0") {
                if (index + 1 === max) return true;
                ch = data[++index];
                if (ch === "b") {
                    index++;
                    for (; index < max; index++) {
                        ch = data[index];
                        if (ch === "_") continue;
                        if (ch !== "0" && ch !== "1") return false;
                        hasDigits = true
                    }
                    return hasDigits && ch !== "_"
                }
                if (ch === "x") {
                    index++;
                    for (; index < max; index++) {
                        ch = data[index];
                        if (ch === "_") continue;
                        if (!isHexCode(data.charCodeAt(index))) return false;
                        hasDigits = true
                    }
                    return hasDigits && ch !== "_"
                }
                for (; index < max; index++) {
                    ch = data[index];
                    if (ch === "_") continue;
                    if (!isOctCode(data.charCodeAt(index))) return false;
                    hasDigits = true
                }
                return hasDigits && ch !== "_"
            }
            if (ch === "_") return false;
            for (; index < max; index++) {
                ch = data[index];
                if (ch === "_") continue;
                if (ch === ":") break;
                if (!isDecCode(data.charCodeAt(index))) {
                    return false
                }
                hasDigits = true
            }
            if (!hasDigits || ch === "_") return false;
            if (ch !== ":") return true;
            return /^(:[0-5]?[0-9])+$/.test(data.slice(index))
        }

        function constructYamlInteger(data) {
            var value = data,
                sign = 1,
                ch, base, digits = [];
            if (value.indexOf("_") !== -1) {
                value = value.replace(/_/g, "")
            }
            ch = value[0];
            if (ch === "-" || ch === "+") {
                if (ch === "-") sign = -1;
                value = value.slice(1);
                ch = value[0]
            }
            if (value === "0") return 0;
            if (ch === "0") {
                if (value[1] === "b") return sign * parseInt(value.slice(2), 2);
                if (value[1] === "x") return sign * parseInt(value, 16);
                return sign * parseInt(value, 8)
            }
            if (value.indexOf(":") !== -1) {
                value.split(":").forEach(function(v) {
                    digits.unshift(parseInt(v, 10))
                });
                value = 0;
                base = 1;
                digits.forEach(function(d) {
                    value += d * base;
                    base *= 60
                });
                return sign * value
            }
            return sign * parseInt(value, 10)
        }

        function isInteger(object) {
            return Object.prototype.toString.call(object) === "[object Number]" && (object % 1 === 0 && !common.isNegativeZero(object))
        }
        module.exports = new Type("tag:yaml.org,2002:int", {
            kind: "scalar",
            resolve: resolveYamlInteger,
            construct: constructYamlInteger,
            predicate: isInteger,
            represent: {
                binary: function(obj) {
                    return obj >= 0 ? "0b" + obj.toString(2) : "-0b" + obj.toString(2).slice(1)
                },
                octal: function(obj) {
                    return obj >= 0 ? "0" + obj.toString(8) : "-0" + obj.toString(8).slice(1)
                },
                decimal: function(obj) {
                    return obj.toString(10)
                },
                hexadecimal: function(obj) {
                    return obj >= 0 ? "0x" + obj.toString(16).toUpperCase() : "-0x" + obj.toString(16).toUpperCase().slice(1)
                }
            },
            defaultStyle: "decimal",
            styleAliases: {
                binary: [2, "bin"],
                octal: [8, "oct"],
                decimal: [10, "dec"],
                hexadecimal: [16, "hex"]
            }
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var common = __webpack_require__(55);
        var Type = __webpack_require__(11);
        var YAML_FLOAT_PATTERN = new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?" + "|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?" + "|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*" + "|[-+]?\\.(?:inf|Inf|INF)" + "|\\.(?:nan|NaN|NAN))$");

        function resolveYamlFloat(data) {
            if (data === null) return false;
            if (!YAML_FLOAT_PATTERN.test(data) || data[data.length - 1] === "_") {
                return false
            }
            return true
        }

        function constructYamlFloat(data) {
            var value, sign, base, digits;
            value = data.replace(/_/g, "").toLowerCase();
            sign = value[0] === "-" ? -1 : 1;
            digits = [];
            if ("+-".indexOf(value[0]) >= 0) {
                value = value.slice(1)
            }
            if (value === ".inf") {
                return sign === 1 ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY
            } else if (value === ".nan") {
                return NaN
            } else if (value.indexOf(":") >= 0) {
                value.split(":").forEach(function(v) {
                    digits.unshift(parseFloat(v, 10))
                });
                value = 0;
                base = 1;
                digits.forEach(function(d) {
                    value += d * base;
                    base *= 60
                });
                return sign * value
            }
            return sign * parseFloat(value, 10)
        }
        var SCIENTIFIC_WITHOUT_DOT = /^[-+]?[0-9]+e/;

        function representYamlFloat(object, style) {
            var res;
            if (isNaN(object)) {
                switch (style) {
                    case "lowercase":
                        return ".nan";
                    case "uppercase":
                        return ".NAN";
                    case "camelcase":
                        return ".NaN"
                }
            } else if (Number.POSITIVE_INFINITY === object) {
                switch (style) {
                    case "lowercase":
                        return ".inf";
                    case "uppercase":
                        return ".INF";
                    case "camelcase":
                        return ".Inf"
                }
            } else if (Number.NEGATIVE_INFINITY === object) {
                switch (style) {
                    case "lowercase":
                        return "-.inf";
                    case "uppercase":
                        return "-.INF";
                    case "camelcase":
                        return "-.Inf"
                }
            } else if (common.isNegativeZero(object)) {
                return "-0.0"
            }
            res = object.toString(10);
            return SCIENTIFIC_WITHOUT_DOT.test(res) ? res.replace("e", ".e") : res
        }

        function isFloat(object) {
            return Object.prototype.toString.call(object) === "[object Number]" && (object % 1 !== 0 || common.isNegativeZero(object))
        }
        module.exports = new Type("tag:yaml.org,2002:float", {
            kind: "scalar",
            resolve: resolveYamlFloat,
            construct: constructYamlFloat,
            predicate: isFloat,
            represent: representYamlFloat,
            defaultStyle: "lowercase"
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var Type = __webpack_require__(11);
        var YAML_DATE_REGEXP = new RegExp("^([0-9][0-9][0-9][0-9])" + "-([0-9][0-9])" + "-([0-9][0-9])$");
        var YAML_TIMESTAMP_REGEXP = new RegExp("^([0-9][0-9][0-9][0-9])" + "-([0-9][0-9]?)" + "-([0-9][0-9]?)" + "(?:[Tt]|[ \\t]+)" + "([0-9][0-9]?)" + ":([0-9][0-9])" + ":([0-9][0-9])" + "(?:\\.([0-9]*))?" + "(?:[ \\t]*(Z|([-+])([0-9][0-9]?)" + "(?::([0-9][0-9]))?))?$");

        function resolveYamlTimestamp(data) {
            if (data === null) return false;
            if (YAML_DATE_REGEXP.exec(data) !== null) return true;
            if (YAML_TIMESTAMP_REGEXP.exec(data) !== null) return true;
            return false
        }

        function constructYamlTimestamp(data) {
            var match, year, month, day, hour, minute, second, fraction = 0,
                delta = null,
                tz_hour, tz_minute, date;
            match = YAML_DATE_REGEXP.exec(data);
            if (match === null) match = YAML_TIMESTAMP_REGEXP.exec(data);
            if (match === null) throw new Error("Date resolve error");
            year = +match[1];
            month = +match[2] - 1;
            day = +match[3];
            if (!match[4]) {
                return new Date(Date.UTC(year, month, day))
            }
            hour = +match[4];
            minute = +match[5];
            second = +match[6];
            if (match[7]) {
                fraction = match[7].slice(0, 3);
                while (fraction.length < 3) {
                    fraction += "0"
                }
                fraction = +fraction
            }
            if (match[9]) {
                tz_hour = +match[10];
                tz_minute = +(match[11] || 0);
                delta = (tz_hour * 60 + tz_minute) * 6e4;
                if (match[9] === "-") delta = -delta
            }
            date = new Date(Date.UTC(year, month, day, hour, minute, second, fraction));
            if (delta) date.setTime(date.getTime() - delta);
            return date
        }

        function representYamlTimestamp(object) {
            return object.toISOString()
        }
        module.exports = new Type("tag:yaml.org,2002:timestamp", {
            kind: "scalar",
            resolve: resolveYamlTimestamp,
            construct: constructYamlTimestamp,
            instanceOf: Date,
            represent: representYamlTimestamp
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var Type = __webpack_require__(11);

        function resolveYamlMerge(data) {
            return data === "<<" || data === null
        }
        module.exports = new Type("tag:yaml.org,2002:merge", {
            kind: "scalar",
            resolve: resolveYamlMerge
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var require;
        var NodeBuffer;
        try {
            var _require = require;
            NodeBuffer = __webpack_require__(515).Buffer
        } catch (__) {}
        var Type = __webpack_require__(11);
        var BASE64_MAP = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";

        function resolveYamlBinary(data) {
            if (data === null) return false;
            var code, idx, bitlen = 0,
                max = data.length,
                map = BASE64_MAP;
            for (idx = 0; idx < max; idx++) {
                code = map.indexOf(data.charAt(idx));
                if (code > 64) continue;
                if (code < 0) return false;
                bitlen += 6
            }
            return bitlen % 8 === 0
        }

        function constructYamlBinary(data) {
            var idx, tailbits, input = data.replace(/[\r\n=]/g, ""),
                max = input.length,
                map = BASE64_MAP,
                bits = 0,
                result = [];
            for (idx = 0; idx < max; idx++) {
                if (idx % 4 === 0 && idx) {
                    result.push(bits >> 16 & 255);
                    result.push(bits >> 8 & 255);
                    result.push(bits & 255)
                }
                bits = bits << 6 | map.indexOf(input.charAt(idx))
            }
            tailbits = max % 4 * 6;
            if (tailbits === 0) {
                result.push(bits >> 16 & 255);
                result.push(bits >> 8 & 255);
                result.push(bits & 255)
            } else if (tailbits === 18) {
                result.push(bits >> 10 & 255);
                result.push(bits >> 2 & 255)
            } else if (tailbits === 12) {
                result.push(bits >> 4 & 255)
            }
            if (NodeBuffer) {
                return NodeBuffer.from ? NodeBuffer.from(result) : new NodeBuffer(result)
            }
            return result
        }

        function representYamlBinary(object) {
            var result = "",
                bits = 0,
                idx, tail, max = object.length,
                map = BASE64_MAP;
            for (idx = 0; idx < max; idx++) {
                if (idx % 3 === 0 && idx) {
                    result += map[bits >> 18 & 63];
                    result += map[bits >> 12 & 63];
                    result += map[bits >> 6 & 63];
                    result += map[bits & 63]
                }
                bits = (bits << 8) + object[idx]
            }
            tail = max % 3;
            if (tail === 0) {
                result += map[bits >> 18 & 63];
                result += map[bits >> 12 & 63];
                result += map[bits >> 6 & 63];
                result += map[bits & 63]
            } else if (tail === 2) {
                result += map[bits >> 10 & 63];
                result += map[bits >> 4 & 63];
                result += map[bits << 2 & 63];
                result += map[64]
            } else if (tail === 1) {
                result += map[bits >> 2 & 63];
                result += map[bits << 4 & 63];
                result += map[64];
                result += map[64]
            }
            return result
        }

        function isBinary(object) {
            return NodeBuffer && NodeBuffer.isBuffer(object)
        }
        module.exports = new Type("tag:yaml.org,2002:binary", {
            kind: "scalar",
            resolve: resolveYamlBinary,
            construct: constructYamlBinary,
            predicate: isBinary,
            represent: representYamlBinary
        })
    }, function(module, exports) {
        module.exports = require("buffer")
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var Type = __webpack_require__(11);
        var _hasOwnProperty = Object.prototype.hasOwnProperty;
        var _toString = Object.prototype.toString;

        function resolveYamlOmap(data) {
            if (data === null) return true;
            var objectKeys = [],
                index, length, pair, pairKey, pairHasKey, object = data;
            for (index = 0, length = object.length; index < length; index += 1) {
                pair = object[index];
                pairHasKey = false;
                if (_toString.call(pair) !== "[object Object]") return false;
                for (pairKey in pair) {
                    if (_hasOwnProperty.call(pair, pairKey)) {
                        if (!pairHasKey) pairHasKey = true;
                        else return false
                    }
                }
                if (!pairHasKey) return false;
                if (objectKeys.indexOf(pairKey) === -1) objectKeys.push(pairKey);
                else return false
            }
            return true
        }

        function constructYamlOmap(data) {
            return data !== null ? data : []
        }
        module.exports = new Type("tag:yaml.org,2002:omap", {
            kind: "sequence",
            resolve: resolveYamlOmap,
            construct: constructYamlOmap
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var Type = __webpack_require__(11);
        var _toString = Object.prototype.toString;

        function resolveYamlPairs(data) {
            if (data === null) return true;
            var index, length, pair, keys, result, object = data;
            result = new Array(object.length);
            for (index = 0, length = object.length; index < length; index += 1) {
                pair = object[index];
                if (_toString.call(pair) !== "[object Object]") return false;
                keys = Object.keys(pair);
                if (keys.length !== 1) return false;
                result[index] = [keys[0], pair[keys[0]]]
            }
            return true
        }

        function constructYamlPairs(data) {
            if (data === null) return [];
            var index, length, pair, keys, result, object = data;
            result = new Array(object.length);
            for (index = 0, length = object.length; index < length; index += 1) {
                pair = object[index];
                keys = Object.keys(pair);
                result[index] = [keys[0], pair[keys[0]]]
            }
            return result
        }
        module.exports = new Type("tag:yaml.org,2002:pairs", {
            kind: "sequence",
            resolve: resolveYamlPairs,
            construct: constructYamlPairs
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var Type = __webpack_require__(11);
        var _hasOwnProperty = Object.prototype.hasOwnProperty;

        function resolveYamlSet(data) {
            if (data === null) return true;
            var key, object = data;
            for (key in object) {
                if (_hasOwnProperty.call(object, key)) {
                    if (object[key] !== null) return false
                }
            }
            return true
        }

        function constructYamlSet(data) {
            return data !== null ? data : {}
        }
        module.exports = new Type("tag:yaml.org,2002:set", {
            kind: "mapping",
            resolve: resolveYamlSet,
            construct: constructYamlSet
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var Type = __webpack_require__(11);

        function resolveJavascriptUndefined() {
            return true
        }

        function constructJavascriptUndefined() {
            return undefined
        }

        function representJavascriptUndefined() {
            return ""
        }

        function isUndefined(object) {
            return typeof object === "undefined"
        }
        module.exports = new Type("tag:yaml.org,2002:js/undefined", {
            kind: "scalar",
            resolve: resolveJavascriptUndefined,
            construct: constructJavascriptUndefined,
            predicate: isUndefined,
            represent: representJavascriptUndefined
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var Type = __webpack_require__(11);

        function resolveJavascriptRegExp(data) {
            if (data === null) return false;
            if (data.length === 0) return false;
            var regexp = data,
                tail = /\/([gim]*)$/.exec(data),
                modifiers = "";
            if (regexp[0] === "/") {
                if (tail) modifiers = tail[1];
                if (modifiers.length > 3) return false;
                if (regexp[regexp.length - modifiers.length - 1] !== "/") return false
            }
            return true
        }

        function constructJavascriptRegExp(data) {
            var regexp = data,
                tail = /\/([gim]*)$/.exec(data),
                modifiers = "";
            if (regexp[0] === "/") {
                if (tail) modifiers = tail[1];
                regexp = regexp.slice(1, regexp.length - modifiers.length - 1)
            }
            return new RegExp(regexp, modifiers)
        }

        function representJavascriptRegExp(object) {
            var result = "/" + object.source + "/";
            if (object.global) result += "g";
            if (object.multiline) result += "m";
            if (object.ignoreCase) result += "i";
            return result
        }

        function isRegExp(object) {
            return Object.prototype.toString.call(object) === "[object RegExp]"
        }
        module.exports = new Type("tag:yaml.org,2002:js/regexp", {
            kind: "scalar",
            resolve: resolveJavascriptRegExp,
            construct: constructJavascriptRegExp,
            predicate: isRegExp,
            represent: representJavascriptRegExp
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var esprima;
        if (typeof window !== "undefined") esprima = window.esprima;
        var Type = __webpack_require__(11);

        function resolveJavascriptFunction(data) {
            if (data === null) return false;
            try {
                var source = "(" + data + ")",
                    ast = esprima.parse(source, {
                        range: true
                    });
                if (ast.type !== "Program" || ast.body.length !== 1 || ast.body[0].type !== "ExpressionStatement" || ast.body[0].expression.type !== "ArrowFunctionExpression" && ast.body[0].expression.type !== "FunctionExpression") {
                    return false
                }
                return true
            } catch (err) {
                return false
            }
        }

        function constructJavascriptFunction(data) {
            var source = "(" + data + ")",
                ast = esprima.parse(source, {
                    range: true
                }),
                params = [],
                body;
            if (ast.type !== "Program" || ast.body.length !== 1 || ast.body[0].type !== "ExpressionStatement" || ast.body[0].expression.type !== "ArrowFunctionExpression" && ast.body[0].expression.type !== "FunctionExpression") {
                throw new Error("Failed to resolve function")
            }
            ast.body[0].expression.params.forEach(function(param) {
                params.push(param.name)
            });
            body = ast.body[0].expression.body.range;
            if (ast.body[0].expression.body.type === "BlockStatement") {
                return new Function(params, source.slice(body[0] + 1, body[1] - 1))
            }
            return new Function(params, "return " + source.slice(body[0], body[1]))
        }

        function representJavascriptFunction(object) {
            return object.toString()
        }

        function isFunction(object) {
            return Object.prototype.toString.call(object) === "[object Function]"
        }
        module.exports = new Type("tag:yaml.org,2002:js/function", {
            kind: "scalar",
            resolve: resolveJavascriptFunction,
            construct: constructJavascriptFunction,
            predicate: isFunction,
            represent: representJavascriptFunction
        })
    }, function(module, exports, __webpack_require__) {
        "use strict";
        var common = __webpack_require__(55);
        var YAMLException = __webpack_require__(72);
        var DEFAULT_FULL_SCHEMA = __webpack_require__(99);
        var DEFAULT_SAFE_SCHEMA = __webpack_require__(73);
        var _toString = Object.prototype.toString;
        var _hasOwnProperty = Object.prototype.hasOwnProperty;
        var CHAR_TAB = 9;
        var CHAR_LINE_FEED = 10;
        var CHAR_SPACE = 32;
        var CHAR_EXCLAMATION = 33;
        var CHAR_DOUBLE_QUOTE = 34;
        var CHAR_SHARP = 35;
        var CHAR_PERCENT = 37;
        var CHAR_AMPERSAND = 38;
        var CHAR_SINGLE_QUOTE = 39;
        var CHAR_ASTERISK = 42;
        var CHAR_COMMA = 44;
        var CHAR_MINUS = 45;
        var CHAR_COLON = 58;
        var CHAR_GREATER_THAN = 62;
        var CHAR_QUESTION = 63;
        var CHAR_COMMERCIAL_AT = 64;
        var CHAR_LEFT_SQUARE_BRACKET = 91;
        var CHAR_RIGHT_SQUARE_BRACKET = 93;
        var CHAR_GRAVE_ACCENT = 96;
        var CHAR_LEFT_CURLY_BRACKET = 123;
        var CHAR_VERTICAL_LINE = 124;
        var CHAR_RIGHT_CURLY_BRACKET = 125;
        var ESCAPE_SEQUENCES = {};
        ESCAPE_SEQUENCES[0] = "\\0";
        ESCAPE_SEQUENCES[7] = "\\a";
        ESCAPE_SEQUENCES[8] = "\\b";
        ESCAPE_SEQUENCES[9] = "\\t";
        ESCAPE_SEQUENCES[10] = "\\n";
        ESCAPE_SEQUENCES[11] = "\\v";
        ESCAPE_SEQUENCES[12] = "\\f";
        ESCAPE_SEQUENCES[13] = "\\r";
        ESCAPE_SEQUENCES[27] = "\\e";
        ESCAPE_SEQUENCES[34] = '\\"';
        ESCAPE_SEQUENCES[92] = "\\\\";
        ESCAPE_SEQUENCES[133] = "\\N";
        ESCAPE_SEQUENCES[160] = "\\_";
        ESCAPE_SEQUENCES[8232] = "\\L";
        ESCAPE_SEQUENCES[8233] = "\\P";
        var DEPRECATED_BOOLEANS_SYNTAX = ["y", "Y", "yes", "Yes", "YES", "on", "On", "ON", "n", "N", "no", "No", "NO", "off", "Off", "OFF"];

        function compileStyleMap(schema, map) {
            var result, keys, index, length, tag, style, type;
            if (map === null) return {};
            result = {};
            keys = Object.keys(map);
            for (index = 0, length = keys.length; index < length; index += 1) {
                tag = keys[index];
                style = String(map[tag]);
                if (tag.slice(0, 2) === "!!") {
                    tag = "tag:yaml.org,2002:" + tag.slice(2)
                }
                type = schema.compiledTypeMap["fallback"][tag];
                if (type && _hasOwnProperty.call(type.styleAliases, style)) {
                    style = type.styleAliases[style]
                }
                result[tag] = style
            }
            return result
        }

        function encodeHex(character) {
            var string, handle, length;
            string = character.toString(16).toUpperCase();
            if (character <= 255) {
                handle = "x";
                length = 2
            } else if (character <= 65535) {
                handle = "u";
                length = 4
            } else if (character <= 4294967295) {
                handle = "U";
                length = 8
            } else {
                throw new YAMLException("code point within a string may not be greater than 0xFFFFFFFF")
            }
            return "\\" + handle + common.repeat("0", length - string.length) + string
        }

        function State(options) {
            this.schema = options["schema"] || DEFAULT_FULL_SCHEMA;
            this.indent = Math.max(1, options["indent"] || 2);
            this.skipInvalid = options["skipInvalid"] || false;
            this.flowLevel = common.isNothing(options["flowLevel"]) ? -1 : options["flowLevel"];
            this.styleMap = compileStyleMap(this.schema, options["styles"] || null);
            this.sortKeys = options["sortKeys"] || false;
            this.lineWidth = options["lineWidth"] || 80;
            this.noRefs = options["noRefs"] || false;
            this.noCompatMode = options["noCompatMode"] || false;
            this.condenseFlow = options["condenseFlow"] || false;
            this.implicitTypes = this.schema.compiledImplicit;
            this.explicitTypes = this.schema.compiledExplicit;
            this.tag = null;
            this.result = "";
            this.duplicates = [];
            this.usedDuplicates = null
        }

        function indentString(string, spaces) {
            var ind = common.repeat(" ", spaces),
                position = 0,
                next = -1,
                result = "",
                line, length = string.length;
            while (position < length) {
                next = string.indexOf("\n", position);
                if (next === -1) {
                    line = string.slice(position);
                    position = length
                } else {
                    line = string.slice(position, next + 1);
                    position = next + 1
                }
                if (line.length && line !== "\n") result += ind;
                result += line
            }
            return result
        }

        function generateNextLine(state, level) {
            return "\n" + common.repeat(" ", state.indent * level)
        }

        function testImplicitResolving(state, str) {
            var index, length, type;
            for (index = 0, length = state.implicitTypes.length; index < length; index += 1) {
                type = state.implicitTypes[index];
                if (type.resolve(str)) {
                    return true
                }
            }
            return false
        }

        function isWhitespace(c) {
            return c === CHAR_SPACE || c === CHAR_TAB
        }

        function isPrintable(c) {
            return 32 <= c && c <= 126 || 161 <= c && c <= 55295 && c !== 8232 && c !== 8233 || 57344 <= c && c <= 65533 && c !== 65279 || 65536 <= c && c <= 1114111
        }

        function isPlainSafe(c) {
            return isPrintable(c) && c !== 65279 && c !== CHAR_COMMA && c !== CHAR_LEFT_SQUARE_BRACKET && c !== CHAR_RIGHT_SQUARE_BRACKET && c !== CHAR_LEFT_CURLY_BRACKET && c !== CHAR_RIGHT_CURLY_BRACKET && c !== CHAR_COLON && c !== CHAR_SHARP
        }

        function isPlainSafeFirst(c) {
            return isPrintable(c) && c !== 65279 && !isWhitespace(c) && c !== CHAR_MINUS && c !== CHAR_QUESTION && c !== CHAR_COLON && c !== CHAR_COMMA && c !== CHAR_LEFT_SQUARE_BRACKET && c !== CHAR_RIGHT_SQUARE_BRACKET && c !== CHAR_LEFT_CURLY_BRACKET && c !== CHAR_RIGHT_CURLY_BRACKET && c !== CHAR_SHARP && c !== CHAR_AMPERSAND && c !== CHAR_ASTERISK && c !== CHAR_EXCLAMATION && c !== CHAR_VERTICAL_LINE && c !== CHAR_GREATER_THAN && c !== CHAR_SINGLE_QUOTE && c !== CHAR_DOUBLE_QUOTE && c !== CHAR_PERCENT && c !== CHAR_COMMERCIAL_AT && c !== CHAR_GRAVE_ACCENT
        }

        function needIndentIndicator(string) {
            var leadingSpaceRe = /^\n* /;
            return leadingSpaceRe.test(string)
        }
        var STYLE_PLAIN = 1,
            STYLE_SINGLE = 2,
            STYLE_LITERAL = 3,
            STYLE_FOLDED = 4,
            STYLE_DOUBLE = 5;

        function chooseScalarStyle(string, singleLineOnly, indentPerLevel, lineWidth, testAmbiguousType) {
            var i;
            var char;
            var hasLineBreak = false;
            var hasFoldableLine = false;
            var shouldTrackWidth = lineWidth !== -1;
            var previousLineBreak = -1;
            var plain = isPlainSafeFirst(string.charCodeAt(0)) && !isWhitespace(string.charCodeAt(string.length - 1));
            if (singleLineOnly) {
                for (i = 0; i < string.length; i++) {
                    char = string.charCodeAt(i);
                    if (!isPrintable(char)) {
                        return STYLE_DOUBLE
                    }
                    plain = plain && isPlainSafe(char)
                }
            } else {
                for (i = 0; i < string.length; i++) {
                    char = string.charCodeAt(i);
                    if (char === CHAR_LINE_FEED) {
                        hasLineBreak = true;
                        if (shouldTrackWidth) {
                            hasFoldableLine = hasFoldableLine || i - previousLineBreak - 1 > lineWidth && string[previousLineBreak + 1] !== " ";
                            previousLineBreak = i
                        }
                    } else if (!isPrintable(char)) {
                        return STYLE_DOUBLE
                    }
                    plain = plain && isPlainSafe(char)
                }
                hasFoldableLine = hasFoldableLine || shouldTrackWidth && (i - previousLineBreak - 1 > lineWidth && string[previousLineBreak + 1] !== " ")
            }
            if (!hasLineBreak && !hasFoldableLine) {
                return plain && !testAmbiguousType(string) ? STYLE_PLAIN : STYLE_SINGLE
            }
            if (indentPerLevel > 9 && needIndentIndicator(string)) {
                return STYLE_DOUBLE
            }
            return hasFoldableLine ? STYLE_FOLDED : STYLE_LITERAL
        }

        function writeScalar(state, string, level, iskey) {
            state.dump = function() {
                if (string.length === 0) {
                    return "''"
                }
                if (!state.noCompatMode && DEPRECATED_BOOLEANS_SYNTAX.indexOf(string) !== -1) {
                    return "'" + string + "'"
                }
                var indent = state.indent * Math.max(1, level);
                var lineWidth = state.lineWidth === -1 ? -1 : Math.max(Math.min(state.lineWidth, 40), state.lineWidth - indent);
                var singleLineOnly = iskey || state.flowLevel > -1 && level >= state.flowLevel;

                function testAmbiguity(string) {
                    return testImplicitResolving(state, string)
                }
                switch (chooseScalarStyle(string, singleLineOnly, state.indent, lineWidth, testAmbiguity)) {
                    case STYLE_PLAIN:
                        return string;
                    case STYLE_SINGLE:
                        return "'" + string.replace(/'/g, "''") + "'";
                    case STYLE_LITERAL:
                        return "|" + blockHeader(string, state.indent) + dropEndingNewline(indentString(string, indent));
                    case STYLE_FOLDED:
                        return ">" + blockHeader(string, state.indent) + dropEndingNewline(indentString(foldString(string, lineWidth), indent));
                    case STYLE_DOUBLE:
                        return '"' + escapeString(string, lineWidth) + '"';
                    default:
                        throw new YAMLException("impossible error: invalid scalar style")
                }
            }()
        }

        function blockHeader(string, indentPerLevel) {
            var indentIndicator = needIndentIndicator(string) ? String(indentPerLevel) : "";
            var clip = string[string.length - 1] === "\n";
            var keep = clip && (string[string.length - 2] === "\n" || string === "\n");
            var chomp = keep ? "+" : clip ? "" : "-";
            return indentIndicator + chomp + "\n"
        }

        function dropEndingNewline(string) {
            return string[string.length - 1] === "\n" ? string.slice(0, -1) : string
        }

        function foldString(string, width) {
            var lineRe = /(\n+)([^\n]*)/g;
            var result = function() {
                var nextLF = string.indexOf("\n");
                nextLF = nextLF !== -1 ? nextLF : string.length;
                lineRe.lastIndex = nextLF;
                return foldLine(string.slice(0, nextLF), width)
            }();
            var prevMoreIndented = string[0] === "\n" || string[0] === " ";
            var moreIndented;
            var match;
            while (match = lineRe.exec(string)) {
                var prefix = match[1],
                    line = match[2];
                moreIndented = line[0] === " ";
                result += prefix + (!prevMoreIndented && !moreIndented && line !== "" ? "\n" : "") + foldLine(line, width);
                prevMoreIndented = moreIndented
            }
            return result
        }

        function foldLine(line, width) {
            if (line === "" || line[0] === " ") return line;
            var breakRe = / [^ ]/g;
            var match;
            var start = 0,
                end, curr = 0,
                next = 0;
            var result = "";
            while (match = breakRe.exec(line)) {
                next = match.index;
                if (next - start > width) {
                    end = curr > start ? curr : next;
                    result += "\n" + line.slice(start, end);
                    start = end + 1
                }
                curr = next
            }
            result += "\n";
            if (line.length - start > width && curr > start) {
                result += line.slice(start, curr) + "\n" + line.slice(curr + 1)
            } else {
                result += line.slice(start)
            }
            return result.slice(1)
        }

        function escapeString(string) {
            var result = "";
            var char, nextChar;
            var escapeSeq;
            for (var i = 0; i < string.length; i++) {
                char = string.charCodeAt(i);
                if (char >= 55296 && char <= 56319) {
                    nextChar = string.charCodeAt(i + 1);
                    if (nextChar >= 56320 && nextChar <= 57343) {
                        result += encodeHex((char - 55296) * 1024 + nextChar - 56320 + 65536);
                        i++;
                        continue
                    }
                }
                escapeSeq = ESCAPE_SEQUENCES[char];
                result += !escapeSeq && isPrintable(char) ? string[i] : escapeSeq || encodeHex(char)
            }
            return result
        }

        function writeFlowSequence(state, level, object) {
            var _result = "",
                _tag = state.tag,
                index, length;
            for (index = 0, length = object.length; index < length; index += 1) {
                if (writeNode(state, level, object[index], false, false)) {
                    if (index !== 0) _result += "," + (!state.condenseFlow ? " " : "");
                    _result += state.dump
                }
            }
            state.tag = _tag;
            state.dump = "[" + _result + "]"
        }

        function writeBlockSequence(state, level, object, compact) {
            var _result = "",
                _tag = state.tag,
                index, length;
            for (index = 0, length = object.length; index < length; index += 1) {
                if (writeNode(state, level + 1, object[index], true, true)) {
                    if (!compact || index !== 0) {
                        _result += generateNextLine(state, level)
                    }
                    if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {
                        _result += "-"
                    } else {
                        _result += "- "
                    }
                    _result += state.dump
                }
            }
            state.tag = _tag;
            state.dump = _result || "[]"
        }

        function writeFlowMapping(state, level, object) {
            var _result = "",
                _tag = state.tag,
                objectKeyList = Object.keys(object),
                index, length, objectKey, objectValue, pairBuffer;
            for (index = 0, length = objectKeyList.length; index < length; index += 1) {
                pairBuffer = state.condenseFlow ? '"' : "";
                if (index !== 0) pairBuffer += ", ";
                objectKey = objectKeyList[index];
                objectValue = object[objectKey];
                if (!writeNode(state, level, objectKey, false, false)) {
                    continue
                }
                if (state.dump.length > 1024) pairBuffer += "? ";
                pairBuffer += state.dump + (state.condenseFlow ? '"' : "") + ":" + (state.condenseFlow ? "" : " ");
                if (!writeNode(state, level, objectValue, false, false)) {
                    continue
                }
                pairBuffer += state.dump;
                _result += pairBuffer
            }
            state.tag = _tag;
            state.dump = "{" + _result + "}"
        }

        function writeBlockMapping(state, level, object, compact) {
            var _result = "",
                _tag = state.tag,
                objectKeyList = Object.keys(object),
                index, length, objectKey, objectValue, explicitPair, pairBuffer;
            if (state.sortKeys === true) {
                objectKeyList.sort()
            } else if (typeof state.sortKeys === "function") {
                objectKeyList.sort(state.sortKeys)
            } else if (state.sortKeys) {
                throw new YAMLException("sortKeys must be a boolean or a function")
            }
            for (index = 0, length = objectKeyList.length; index < length; index += 1) {
                pairBuffer = "";
                if (!compact || index !== 0) {
                    pairBuffer += generateNextLine(state, level)
                }
                objectKey = objectKeyList[index];
                objectValue = object[objectKey];
                if (!writeNode(state, level + 1, objectKey, true, true, true)) {
                    continue
                }
                explicitPair = state.tag !== null && state.tag !== "?" || state.dump && state.dump.length > 1024;
                if (explicitPair) {
                    if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {
                        pairBuffer += "?"
                    } else {
                        pairBuffer += "? "
                    }
                }
                pairBuffer += state.dump;
                if (explicitPair) {
                    pairBuffer += generateNextLine(state, level)
                }
                if (!writeNode(state, level + 1, objectValue, true, explicitPair)) {
                    continue
                }
                if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {
                    pairBuffer += ":"
                } else {
                    pairBuffer += ": "
                }
                pairBuffer += state.dump;
                _result += pairBuffer
            }
            state.tag = _tag;
            state.dump = _result || "{}"
        }

        function detectType(state, object, explicit) {
            var _result, typeList, index, length, type, style;
            typeList = explicit ? state.explicitTypes : state.implicitTypes;
            for (index = 0, length = typeList.length; index < length; index += 1) {
                type = typeList[index];
                if ((type.instanceOf || type.predicate) && (!type.instanceOf || typeof object === "object" && object instanceof type.instanceOf) && (!type.predicate || type.predicate(object))) {
                    state.tag = explicit ? type.tag : "?";
                    if (type.represent) {
                        style = state.styleMap[type.tag] || type.defaultStyle;
                        if (_toString.call(type.represent) === "[object Function]") {
                            _result = type.represent(object, style)
                        } else if (_hasOwnProperty.call(type.represent, style)) {
                            _result = type.represent[style](object, style)
                        } else {
                            throw new YAMLException("!<" + type.tag + '> tag resolver accepts not "' + style + '" style')
                        }
                        state.dump = _result
                    }
                    return true
                }
            }
            return false
        }

        function writeNode(state, level, object, block, compact, iskey) {
            state.tag = null;
            state.dump = object;
            if (!detectType(state, object, false)) {
                detectType(state, object, true)
            }
            var type = _toString.call(state.dump);
            if (block) {
                block = state.flowLevel < 0 || state.flowLevel > level
            }
            var objectOrArray = type === "[object Object]" || type === "[object Array]",
                duplicateIndex, duplicate;
            if (objectOrArray) {
                duplicateIndex = state.duplicates.indexOf(object);
                duplicate = duplicateIndex !== -1
            }
            if (state.tag !== null && state.tag !== "?" || duplicate || state.indent !== 2 && level > 0) {
                compact = false
            }
            if (duplicate && state.usedDuplicates[duplicateIndex]) {
                state.dump = "*ref_" + duplicateIndex
            } else {
                if (objectOrArray && duplicate && !state.usedDuplicates[duplicateIndex]) {
                    state.usedDuplicates[duplicateIndex] = true
                }
                if (type === "[object Object]") {
                    if (block && Object.keys(state.dump).length !== 0) {
                        writeBlockMapping(state, level, state.dump, compact);
                        if (duplicate) {
                            state.dump = "&ref_" + duplicateIndex + state.dump
                        }
                    } else {
                        writeFlowMapping(state, level, state.dump);
                        if (duplicate) {
                            state.dump = "&ref_" + duplicateIndex + " " + state.dump
                        }
                    }
                } else if (type === "[object Array]") {
                    if (block && state.dump.length !== 0) {
                        writeBlockSequence(state, level, state.dump, compact);
                        if (duplicate) {
                            state.dump = "&ref_" + duplicateIndex + state.dump
                        }
                    } else {
                        writeFlowSequence(state, level, state.dump);
                        if (duplicate) {
                            state.dump = "&ref_" + duplicateIndex + " " + state.dump
                        }
                    }
                } else if (type === "[object String]") {
                    if (state.tag !== "?") {
                        writeScalar(state, state.dump, level, iskey)
                    }
                } else {
                    if (state.skipInvalid) return false;
                    throw new YAMLException("unacceptable kind of an object to dump " + type)
                }
                if (state.tag !== null && state.tag !== "?") {
                    state.dump = "!<" + state.tag + "> " + state.dump
                }
            }
            return true
        }

        function getDuplicateReferences(object, state) {
            var objects = [],
                duplicatesIndexes = [],
                index, length;
            inspectNode(object, objects, duplicatesIndexes);
            for (index = 0, length = duplicatesIndexes.length; index < length; index += 1) {
                state.duplicates.push(objects[duplicatesIndexes[index]])
            }
            state.usedDuplicates = new Array(length)
        }

        function inspectNode(object, objects, duplicatesIndexes) {
            var objectKeyList, index, length;
            if (object !== null && typeof object === "object") {
                index = objects.indexOf(object);
                if (index !== -1) {
                    if (duplicatesIndexes.indexOf(index) === -1) {
                        duplicatesIndexes.push(index)
                    }
                } else {
                    objects.push(object);
                    if (Array.isArray(object)) {
                        for (index = 0, length = object.length; index < length; index += 1) {
                            inspectNode(object[index], objects, duplicatesIndexes)
                        }
                    } else {
                        objectKeyList = Object.keys(object);
                        for (index = 0, length = objectKeyList.length; index < length; index += 1) {
                            inspectNode(object[objectKeyList[index]], objects, duplicatesIndexes)
                        }
                    }
                }
            }
        }

        function dump(input, options) {
            options = options || {};
            var state = new State(options);
            if (!state.noRefs) getDuplicateReferences(input, state);
            if (writeNode(state, 0, input, true, true)) return state.dump + "\n";
            return ""
        }

        function safeDump(input, options) {
            return dump(input, common.extend({
                schema: DEFAULT_SAFE_SCHEMA
            }, options))
        }
        module.exports.dump = dump;
        module.exports.safeDump = safeDump
    }, function(module, exports, __webpack_require__) {
        var baseGetTag = __webpack_require__(43),
            isArray = __webpack_require__(20),
            isObjectLike = __webpack_require__(32);
        var stringTag = "[object String]";

        function isString(value) {
            return typeof value == "string" || !isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag
        }
        module.exports = isString
    }, function(module, exports, __webpack_require__) {
        var isObject = __webpack_require__(28),
            now = __webpack_require__(525),
            toNumber = __webpack_require__(203);
        var FUNC_ERROR_TEXT = "Expected a function";
        var nativeMax = Math.max,
            nativeMin = Math.min;

        function debounce(func, wait, options) {
            var lastArgs, lastThis, maxWait, result, timerId, lastCallTime, lastInvokeTime = 0,
                leading = false,
                maxing = false,
                trailing = true;
            if (typeof func != "function") {
                throw new TypeError(FUNC_ERROR_TEXT)
            }
            wait = toNumber(wait) || 0;
            if (isObject(options)) {
                leading = !!options.leading;
                maxing = "maxWait" in options;
                maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
                trailing = "trailing" in options ? !!options.trailing : trailing
            }

            function invokeFunc(time) {
                var args = lastArgs,
                    thisArg = lastThis;
                lastArgs = lastThis = undefined;
                lastInvokeTime = time;
                result = func.apply(thisArg, args);
                return result
            }

            function leadingEdge(time) {
                lastInvokeTime = time;
                timerId = setTimeout(timerExpired, wait);
                return leading ? invokeFunc(time) : result
            }

            function remainingWait(time) {
                var timeSinceLastCall = time - lastCallTime,
                    timeSinceLastInvoke = time - lastInvokeTime,
                    timeWaiting = wait - timeSinceLastCall;
                return maxing ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting
            }

            function shouldInvoke(time) {
                var timeSinceLastCall = time - lastCallTime,
                    timeSinceLastInvoke = time - lastInvokeTime;
                return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait
            }

            function timerExpired() {
                var time = now();
                if (shouldInvoke(time)) {
                    return trailingEdge(time)
                }
                timerId = setTimeout(timerExpired, remainingWait(time))
            }

            function trailingEdge(time) {
                timerId = undefined;
                if (trailing && lastArgs) {
                    return invokeFunc(time)
                }
                lastArgs = lastThis = undefined;
                return result
            }

            function cancel() {
                if (timerId !== undefined) {
                    clearTimeout(timerId)
                }
                lastInvokeTime = 0;
                lastArgs = lastCallTime = lastThis = timerId = undefined
            }

            function flush() {
                return timerId === undefined ? result : trailingEdge(now())
            }

            function debounced() {
                var time = now(),
                    isInvoking = shouldInvoke(time);
                lastArgs = arguments;
                lastThis = this;
                lastCallTime = time;
                if (isInvoking) {
                    if (timerId === undefined) {
                        return leadingEdge(lastCallTime)
                    }
                    if (maxing) {
                        timerId = setTimeout(timerExpired, wait);
                        return invokeFunc(lastCallTime)
                    }
                }
                if (timerId === undefined) {
                    timerId = setTimeout(timerExpired, wait)
                }
                return result
            }
            debounced.cancel = cancel;
            debounced.flush = flush;
            return debounced
        }
        module.exports = debounce
    }, function(module, exports, __webpack_require__) {
        var root = __webpack_require__(26);
        var now = function() {
            return root.Date.now()
        };
        module.exports = now
    }, function(module, exports, __webpack_require__) {
        var baseSet = __webpack_require__(527);

        function set(object, path, value) {
            return object == null ? object : baseSet(object, path, value)
        }
        module.exports = set
    }, function(module, exports, __webpack_require__) {
        var assignValue = __webpack_require__(145),
            castPath = __webpack_require__(69),
            isIndex = __webpack_require__(97),
            isObject = __webpack_require__(28),
            toKey = __webpack_require__(54);

        function baseSet(object, path, value, customizer) {
            if (!isObject(object)) {
                return object
            }
            path = castPath(path, object);
            var index = -1,
                length = path.length,
                lastIndex = length - 1,
                nested = object;
            while (nested != null && ++index < length) {
                var key = toKey(path[index]),
                    newValue = value;
                if (index != lastIndex) {
                    var objValue = nested[key];
                    newValue = customizer ? customizer(objValue, key, nested) : undefined;
                    if (newValue === undefined) {
                        newValue = isObject(objValue) ? objValue : isIndex(path[index + 1]) ? [] : {}
                    }
                }
                assignValue(nested, key, newValue);
                nested = nested[key]
            }
            return object
        }
        module.exports = baseSet
    }, function(module, exports, __webpack_require__) {
        __webpack_require__(529);
        module.exports = __webpack_require__(10).Object.getPrototypeOf
    }, function(module, exports, __webpack_require__) {
        var toObject = __webpack_require__(60);
        var $getPrototypeOf = __webpack_require__(158);
        __webpack_require__(174)("getPrototypeOf", function() {
            return function getPrototypeOf(it) {
                return $getPrototypeOf(toObject(it))
            }
        })
    }, function(module, exports, __webpack_require__) {
        module.exports = {
            default: __webpack_require__(531),
            __esModule: true
        }
    }, function(module, exports, __webpack_require__) {
        __webpack_require__(532);
        module.exports = __webpack_require__(10).Object.setPrototypeOf
    }, function(module, exports, __webpack_require__) {
        var $export = __webpack_require__(25);
        $export($export.S, "Object", {
            setPrototypeOf: __webpack_require__(533).set
        })
    }, function(module, exports, __webpack_require__) {
        var isObject = __webpack_require__(33);
        var anObject = __webpack_require__(27);
        var check = function(O, proto) {
            anObject(O);
            if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!")
        };
        module.exports = {
            set: Object.setPrototypeOf || ("__proto__" in {} ? function(test, buggy, set) {
                try {
                    set = __webpack_require__(47)(Function.call, __webpack_require__(176).f(Object.prototype, "__proto__").set, 2);
                    set(test, []);
                    buggy = !(test instanceof Array)
                } catch (e) {
                    buggy = true
                }
                return function setPrototypeOf(O, proto) {
                    check(O, proto);
                    if (buggy) O.__proto__ = proto;
                    else set(O, proto);
                    return O
                }
            }({}, false) : undefined),
            check: check
        }
    }, function(module, exports, __webpack_require__) {
        module.exports = {
            default: __webpack_require__(535),
            __esModule: true
        }
    }, function(module, exports, __webpack_require__) {
        __webpack_require__(536);
        var $Object = __webpack_require__(10).Object;
        module.exports = function create(P, D) {
            return $Object.create(P, D)
        }
    }, function(module, exports, __webpack_require__) {
        var $export = __webpack_require__(25);
        $export($export.S, "Object", {
            create: __webpack_require__(103)
        })
    }, function(module, exports) {
        module.exports = require("react-dom")
    }, function(module, exports) {
        module.exports = require("react-redux")
    }, function(module, exports, __webpack_require__) {
        var arrayMap = __webpack_require__(182),
            baseClone = __webpack_require__(540),
            baseUnset = __webpack_require__(562),
            castPath = __webpack_require__(69),
            copyObject = __webpack_require__(74),
            customOmitClone = __webpack_require__(565),
            flatRest = __webpack_require__(567),
            getAllKeysIn = __webpack_require__(235);
        var CLONE_DEEP_FLAG = 1,
            CLONE_FLAT_FLAG = 2,
            CLONE_SYMBOLS_FLAG = 4;
        var omit = flatRest(function(object, paths) {
            var result = {};
            if (object == null) {
                return result
            }
            var isDeep = false;
            paths = arrayMap(paths, function(path) {
                path = castPath(path, object);
                isDeep || (isDeep = path.length > 1);
                return path
            });
            copyObject(object, getAllKeysIn(object), result);
            if (isDeep) {
                result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone)
            }
            var length = paths.length;
            while (length--) {
                baseUnset(result, paths[length])
            }
            return result
        });
        module.exports = omit
    }, function(module, exports, __webpack_require__) {
        var Stack = __webpack_require__(125),
            arrayEach = __webpack_require__(541),
            assignValue = __webpack_require__(145),
            baseAssign = __webpack_require__(542),
            baseAssignIn = __webpack_require__(543),
            cloneBuffer = __webpack_require__(546),
            copyArray = __webpack_require__(547),
            copySymbols = __webpack_require__(548),
            copySymbolsIn = __webpack_require__(549),
            getAllKeys = __webpack_require__(194),
            getAllKeysIn = __webpack_require__(235),
            getTag = __webpack_require__(98),
            initCloneArray = __webpack_require__(550),
            initCloneByTag = __webpack_require__(551),
            initCloneObject = __webpack_require__(556),
            isArray = __webpack_require__(20),
            isBuffer = __webpack_require__(129),
            isMap = __webpack_require__(558),
            isObject = __webpack_require__(28),
            isSet = __webpack_require__(560),
            keys = __webpack_require__(53);
        var CLONE_DEEP_FLAG = 1,
            CLONE_FLAT_FLAG = 2,
            CLONE_SYMBOLS_FLAG = 4;
        var argsTag = "[object Arguments]",
            arrayTag = "[object Array]",
            boolTag = "[object Boolean]",
            dateTag = "[object Date]",
            errorTag = "[object Error]",
            funcTag = "[object Function]",
            genTag = "[object GeneratorFunction]",
            mapTag = "[object Map]",
            numberTag = "[object Number]",
            objectTag = "[object Object]",
            regexpTag = "[object RegExp]",
            setTag = "[object Set]",
            stringTag = "[object String]",
            symbolTag = "[object Symbol]",
            weakMapTag = "[object WeakMap]";
        var arrayBufferTag = "[object ArrayBuffer]",
            dataViewTag = "[object DataView]",
            float32Tag = "[object Float32Array]",
            float64Tag = "[object Float64Array]",
            int8Tag = "[object Int8Array]",
            int16Tag = "[object Int16Array]",
            int32Tag = "[object Int32Array]",
            uint8Tag = "[object Uint8Array]",
            uint8ClampedTag = "[object Uint8ClampedArray]",
            uint16Tag = "[object Uint16Array]",
            uint32Tag = "[object Uint32Array]";
        var cloneableTags = {};
        cloneableTags[argsTag] = cloneableTags[arrayTag] = cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = cloneableTags[boolTag] = cloneableTags[dateTag] = cloneableTags[float32Tag] = cloneableTags[float64Tag] = cloneableTags[int8Tag] = cloneableTags[int16Tag] = cloneableTags[int32Tag] = cloneableTags[mapTag] = cloneableTags[numberTag] = cloneableTags[objectTag] = cloneableTags[regexpTag] = cloneableTags[setTag] = cloneableTags[stringTag] = cloneableTags[symbolTag] = cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;
        cloneableTags[errorTag] = cloneableTags[funcTag] = cloneableTags[weakMapTag] = false;

        function baseClone(value, bitmask, customizer, key, object, stack) {
            var result, isDeep = bitmask & CLONE_DEEP_FLAG,
                isFlat = bitmask & CLONE_FLAT_FLAG,
                isFull = bitmask & CLONE_SYMBOLS_FLAG;
            if (customizer) {
                result = object ? customizer(value, key, object, stack) : customizer(value)
            }
            if (result !== undefined) {
                return result
            }
            if (!isObject(value)) {
                return value
            }
            var isArr = isArray(value);
            if (isArr) {
                result = initCloneArray(value);
                if (!isDeep) {
                    return copyArray(value, result)
                }
            } else {
                var tag = getTag(value),
                    isFunc = tag == funcTag || tag == genTag;
                if (isBuffer(value)) {
                    return cloneBuffer(value, isDeep)
                }
                if (tag == objectTag || tag == argsTag || isFunc && !object) {
                    result = isFlat || isFunc ? {} : initCloneObject(value);
                    if (!isDeep) {
                        return isFlat ? copySymbolsIn(value, baseAssignIn(result, value)) : copySymbols(value, baseAssign(result, value))
                    }
                } else {
                    if (!cloneableTags[tag]) {
                        return object ? value : {}
                    }
                    result = initCloneByTag(value, tag, isDeep)
                }
            }
            stack || (stack = new Stack);
            var stacked = stack.get(value);
            if (stacked) {
                return stacked
            }
            stack.set(value, result);
            if (isSet(value)) {
                value.forEach(function(subValue) {
                    result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack))
                });
                return result
            }
            if (isMap(value)) {
                value.forEach(function(subValue, key) {
                    result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack))
                });
                return result
            }
            var keysFunc = isFull ? isFlat ? getAllKeysIn : getAllKeys : isFlat ? keysIn : keys;
            var props = isArr ? undefined : keysFunc(value);
            arrayEach(props || value, function(subValue, key) {
                if (props) {
                    key = subValue;
                    subValue = value[key]
                }
                assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack))
            });
            return result
        }
        module.exports = baseClone
    }, function(module, exports) {
        function arrayEach(array, iteratee) {
            var index = -1,
                length = array == null ? 0 : array.length;
            while (++index < length) {
                if (iteratee(array[index], index, array) === false) {
                    break
                }
            }
            return array
        }
        module.exports = arrayEach
    }, function(module, exports, __webpack_require__) {
        var copyObject = __webpack_require__(74),
            keys = __webpack_require__(53);

        function baseAssign(object, source) {
            return object && copyObject(source, keys(source), object)
        }
        module.exports = baseAssign
    }, function(module, exports, __webpack_require__) {
        var copyObject = __webpack_require__(74),
            keysIn = __webpack_require__(233);

        function baseAssignIn(object, source) {
            return object && copyObject(source, keysIn(source), object)
        }
        module.exports = baseAssignIn
    }, function(module, exports, __webpack_require__) {
        var isObject = __webpack_require__(28),
            isPrototype = __webpack_require__(134),
            nativeKeysIn = __webpack_require__(545);
        var objectProto = Object.prototype;
        var hasOwnProperty = objectProto.hasOwnProperty;

        function baseKeysIn(object) {
            if (!isObject(object)) {
                return nativeKeysIn(object)
            }
            var isProto = isPrototype(object),
                result = [];
            for (var key in object) {
                if (!(key == "constructor" && (isProto || !hasOwnProperty.call(object, key)))) {
                    result.push(key)
                }
            }
            return result
        }
        module.exports = baseKeysIn
    }, function(module, exports) {
        function nativeKeysIn(object) {
            var result = [];
            if (object != null) {
                for (var key in Object(object)) {
                    result.push(key)
                }
            }
            return result
        }
        module.exports = nativeKeysIn
    }, function(module, exports, __webpack_require__) {
        (function(module) {
            var root = __webpack_require__(26);
            var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports;
            var freeModule = freeExports && typeof module == "object" && module && !module.nodeType && module;
            var moduleExports = freeModule && freeModule.exports === freeExports;
            var Buffer = moduleExports ? root.Buffer : undefined,
                allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;

            function cloneBuffer(buffer, isDeep) {
                if (isDeep) {
                    return buffer.slice()
                }
                var length = buffer.length,
                    result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);
                buffer.copy(result);
                return result
            }
            module.exports = cloneBuffer
        }).call(exports, __webpack_require__(130)(module))
    }, function(module, exports) {
        function copyArray(source, array) {
            var index = -1,
                length = source.length;
            array || (array = Array(length));
            while (++index < length) {
                array[index] = source[index]
            }
            return array
        }
        module.exports = copyArray
    }, function(module, exports, __webpack_require__) {
        var copyObject = __webpack_require__(74),
            getSymbols = __webpack_require__(127);

        function copySymbols(source, object) {
            return copyObject(source, getSymbols(source), object)
        }
        module.exports = copySymbols
    }, function(module, exports, __webpack_require__) {
        var copyObject = __webpack_require__(74),
            getSymbolsIn = __webpack_require__(234);

        function copySymbolsIn(source, object) {
            return copyObject(source, getSymbolsIn(source), object)
        }
        module.exports = copySymbolsIn
    }, function(module, exports) {
        var objectProto = Object.prototype;
        var hasOwnProperty = objectProto.hasOwnProperty;

        function initCloneArray(array) {
            var length = array.length,
                result = new array.constructor(length);
            if (length && typeof array[0] == "string" && hasOwnProperty.call(array, "index")) {
                result.index = array.index;
                result.input = array.input
            }
            return result
        }
        module.exports = initCloneArray
    }, function(module, exports, __webpack_require__) {
        var cloneArrayBuffer = __webpack_require__(147),
            cloneDataView = __webpack_require__(552),
            cloneRegExp = __webpack_require__(553),
            cloneSymbol = __webpack_require__(554),
            cloneTypedArray = __webpack_require__(555);
        var boolTag = "[object Boolean]",
            dateTag = "[object Date]",
            mapTag = "[object Map]",
            numberTag = "[object Number]",
            regexpTag = "[object RegExp]",
            setTag = "[object Set]",
            stringTag = "[object String]",
            symbolTag = "[object Symbol]";
        var arrayBufferTag = "[object ArrayBuffer]",
            dataViewTag = "[object DataView]",
            float32Tag = "[object Float32Array]",
            float64Tag = "[object Float64Array]",
            int8Tag = "[object Int8Array]",
            int16Tag = "[object Int16Array]",
            int32Tag = "[object Int32Array]",
            uint8Tag = "[object Uint8Array]",
            uint8ClampedTag = "[object Uint8ClampedArray]",
            uint16Tag = "[object Uint16Array]",
            uint32Tag = "[object Uint32Array]";

        function initCloneByTag(object, tag, isDeep) {
            var Ctor = object.constructor;
            switch (tag) {
                case arrayBufferTag:
                    return cloneArrayBuffer(object);
                case boolTag:
                case dateTag:
                    return new Ctor(+object);
                case dataViewTag:
                    return cloneDataView(object, isDeep);
                case float32Tag:
                case float64Tag:
                case int8Tag:
                case int16Tag:
                case int32Tag:
                case uint8Tag:
                case uint8ClampedTag:
                case uint16Tag:
                case uint32Tag:
                    return cloneTypedArray(object, isDeep);
                case mapTag:
                    return new Ctor;
                case numberTag:
                case stringTag:
                    return new Ctor(object);
                case regexpTag:
                    return cloneRegExp(object);
                case setTag:
                    return new Ctor;
                case symbolTag:
                    return cloneSymbol(object)
            }
        }
        module.exports = initCloneByTag
    }, function(module, exports, __webpack_require__) {
        var cloneArrayBuffer = __webpack_require__(147);

        function cloneDataView(dataView, isDeep) {
            var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;
            return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength)
        }
        module.exports = cloneDataView
    }, function(module, exports) {
        var reFlags = /\w*$/;

        function cloneRegExp(regexp) {
            var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));
            result.lastIndex = regexp.lastIndex;
            return result
        }
        module.exports = cloneRegExp
    }, function(module, exports, __webpack_require__) {
        var Symbol = __webpack_require__(52);
        var symbolProto = Symbol ? Symbol.prototype : undefined,
            symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;

        function cloneSymbol(symbol) {
            return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {}
        }
        module.exports = cloneSymbol
    }, function(module, exports, __webpack_require__) {
        var cloneArrayBuffer = __webpack_require__(147);

        function cloneTypedArray(typedArray, isDeep) {
            var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;
            return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length)
        }
        module.exports = cloneTypedArray
    }, function(module, exports, __webpack_require__) {
        var baseCreate = __webpack_require__(557),
            getPrototype = __webpack_require__(146),
            isPrototype = __webpack_require__(134);

        function initCloneObject(object) {
            return typeof object.constructor == "function" && !isPrototype(object) ? baseCreate(getPrototype(object)) : {}
        }
        module.exports = initCloneObject
    }, function(module, exports, __webpack_require__) {
        var isObject = __webpack_require__(28);
        var objectCreate = Object.create;
        var baseCreate = function() {
            function object() {}
            return function(proto) {
                if (!isObject(proto)) {
                    return {}
                }
                if (objectCreate) {
                    return objectCreate(proto)
                }
                object.prototype = proto;
                var result = new object;
                object.prototype = undefined;
                return result
            }
        }();
        module.exports = baseCreate
    }, function(module, exports, __webpack_require__) {
        var baseIsMap = __webpack_require__(559),
            baseUnary = __webpack_require__(132),
            nodeUtil = __webpack_require__(133);
        var nodeIsMap = nodeUtil && nodeUtil.isMap;
        var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;
        module.exports = isMap
    }, function(module, exports, __webpack_require__) {
        var getTag = __webpack_require__(98),
            isObjectLike = __webpack_require__(32);
        var mapTag = "[object Map]";

        function baseIsMap(value) {
            return isObjectLike(value) && getTag(value) == mapTag
        }
        module.exports = baseIsMap
    }, function(module, exports, __webpack_require__) {
        var baseIsSet = __webpack_require__(561),
            baseUnary = __webpack_require__(132),
            nodeUtil = __webpack_require__(133);
        var nodeIsSet = nodeUtil && nodeUtil.isSet;
        var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;
        module.exports = isSet
    }, function(module, exports, __webpack_require__) {
        var getTag = __webpack_require__(98),
            isObjectLike = __webpack_require__(32);
        var setTag = "[object Set]";

        function baseIsSet(value) {
            return isObjectLike(value) && getTag(value) == setTag
        }
        module.exports = baseIsSet
    }, function(module, exports, __webpack_require__) {
        var castPath = __webpack_require__(69),
            last = __webpack_require__(563),
            parent = __webpack_require__(564),
            toKey = __webpack_require__(54);

        function baseUnset(object, path) {
            path = castPath(path, object);
            object = parent(object, path);
            return object == null || delete object[toKey(last(path))]
        }
        module.exports = baseUnset
    }, function(module, exports) {
        function last(array) {
            var length = array == null ? 0 : array.length;
            return length ? array[length - 1] : undefined
        }
        module.exports = last
    }, function(module, exports, __webpack_require__) {
        var baseGet = __webpack_require__(136),
            baseSlice = __webpack_require__(184);

        function parent(object, path) {
            return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1))
        }
        module.exports = parent
    }, function(module, exports, __webpack_require__) {
        var isPlainObject = __webpack_require__(566);

        function customOmitClone(value) {
            return isPlainObject(value) ? undefined : value
        }
        module.exports = customOmitClone
    }, function(module, exports, __webpack_require__) {
        var baseGetTag = __webpack_require__(43),
            getPrototype = __webpack_require__(146),
            isObjectLike = __webpack_require__(32);
        var objectTag = "[object Object]";
        var funcProto = Function.prototype,
            objectProto = Object.prototype;
        var funcToString = funcProto.toString;
        var hasOwnProperty = objectProto.hasOwnProperty;
        var objectCtorString = funcToString.call(Object);

        function isPlainObject(value) {
            if (!isObjectLike(value) || baseGetTag(value) != objectTag) {
                return false
            }
            var proto = getPrototype(value);
            if (proto === null) {
                return true
            }
            var Ctor = hasOwnProperty.call(proto, "constructor") && proto.constructor;
            return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString
        }
        module.exports = isPlainObject
    }, function(module, exports, __webpack_require__) {
        var flatten = __webpack_require__(568),
            overRest = __webpack_require__(571),
            setToString = __webpack_require__(573);

        function flatRest(func) {
            return setToString(overRest(func, undefined, flatten), func + "")
        }
        module.exports = flatRest
    }, function(module, exports, __webpack_require__) {
        var baseFlatten = __webpack_require__(569);

        function flatten(array) {
            var length = array == null ? 0 : array.length;
            return length ? baseFlatten(array, 1) : []
        }
        module.exports = flatten
    }, function(module, exports, __webpack_require__) {
        var arrayPush = __webpack_require__(126),
            isFlattenable = __webpack_require__(570);

        function baseFlatten(array, depth, predicate, isStrict, result) {
            var index = -1,
                length = array.length;
            predicate || (predicate = isFlattenable);
            result || (result = []);
            while (++index < length) {
                var value = array[index];
                if (depth > 0 && predicate(value)) {
                    if (depth > 1) {
                        baseFlatten(value, depth - 1, predicate, isStrict, result)
                    } else {
                        arrayPush(result, value)
                    }
                } else if (!isStrict) {
                    result[result.length] = value
                }
            }
            return result
        }
        module.exports = baseFlatten
    }, function(module, exports, __webpack_require__) {
        var Symbol = __webpack_require__(52),
            isArguments = __webpack_require__(128),
            isArray = __webpack_require__(20);
        var spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;

        function isFlattenable(value) {
            return isArray(value) || isArguments(value) || !!(spreadableSymbol && value && value[spreadableSymbol])
        }
        module.exports = isFlattenable
    }, function(module, exports, __webpack_require__) {
        var apply = __webpack_require__(572);
        var nativeMax = Math.max;

        function overRest(func, start, transform) {
            start = nativeMax(start === undefined ? func.length - 1 : start, 0);
            return function() {
                var args = arguments,
                    index = -1,
                    length = nativeMax(args.length - start, 0),
                    array = Array(length);
                while (++index < length) {
                    array[index] = args[start + index]
                }
                index = -1;
                var otherArgs = Array(start + 1);
                while (++index < start) {
                    otherArgs[index] = args[index]
                }
                otherArgs[start] = transform(array);
                return apply(func, this, otherArgs)
            }
        }
        module.exports = overRest
    }, function(module, exports) {
        function apply(func, thisArg, args) {
            switch (args.length) {
                case 0:
                    return func.call(thisArg);
                case 1:
                    return func.call(thisArg, args[0]);
                case 2:
                    return func.call(thisArg, args[0], args[1]);
                case 3:
                    return func.call(thisArg, args[0], args[1], args[2])
            }
            return func.apply(thisArg, args)
        }
        module.exports = apply
    }, function(module, exports, __webpack_require__) {
        var baseSetToString = __webpack_require__(574),
            shortOut = __webpack_require__(576);
        var setToString = shortOut(baseSetToString);
        module.exports = setToString
    }, function(module, exports, __webpack_require__) {
        var constant = __webpack_require__(575),
            defineProperty = __webpack_require__(229),
            identity = __webpack_require__(202);
        var baseSetToString = !defineProperty ? identity : function(func, string) {
            return defineProperty(func, "toString", {
                configurable: true,
                enumerable: false,
                value: constant(string),
                writable: true
            })
        };
        module.exports = baseSetToString
    }, function(module, exports) {
        function constant(value) {
            return function() {
                return value
            }
        }
        module.exports = constant
    }, function(module, exports) {
        var HOT_COUNT = 800,
            HOT_SPAN = 16;
        var nativeNow = Date.now;

        function shortOut(func) {
            var count = 0,
                lastCalled = 0;
            return function() {
                var stamp = nativeNow(),
                    remaining = HOT_SPAN - (stamp - lastCalled);
                lastCalled = stamp;
                if (remaining > 0) {
                    if (++count >= HOT_COUNT) {
                        return arguments[0]
                    }
                } else {
                    count = 0
                }
                return func.apply(undefined, arguments)
            }
        }
        module.exports = shortOut
    }, function(module, exports) {
        module.exports = '---\nurl: "https://petstore.swagger.io/v2/swagger.json"\ndom_id: "#swagger-ui"\nvalidatorUrl: "https://online.swagger.io/validator"\noauth2RedirectUrl: "http://localhost:3200/oauth2-redirect.html"\n'
    }, function(module, exports) {
        module.exports = require("zenscroll")
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _reactImmutableProptypes = __webpack_require__(9);
        var _reactImmutableProptypes2 = _interopRequireDefault(_reactImmutableProptypes);
        var _swaggerClient = __webpack_require__(239);
        var _immutable = __webpack_require__(7);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var opId = _swaggerClient.helpers.opId;
        var OperationContainer = function(_PureComponent) {
            (0, _inherits3.default)(OperationContainer, _PureComponent);

            function OperationContainer(props, context) {
                (0, _classCallCheck3.default)(this, OperationContainer);
                var _this = (0, _possibleConstructorReturn3.default)(this, (OperationContainer.__proto__ || (0, _getPrototypeOf2.default)(OperationContainer)).call(this, props, context));
                _this.toggleShown = function() {
                    var _this$props = _this.props,
                        layoutActions = _this$props.layoutActions,
                        tag = _this$props.tag,
                        operationId = _this$props.operationId,
                        isShown = _this$props.isShown;
                    var resolvedSubtree = _this.getResolvedSubtree();
                    if (!isShown && resolvedSubtree === undefined) {
                        _this.requestResolvedSubtree()
                    }
                    layoutActions.show(["operations", tag, operationId], !isShown)
                };
                _this.onCancelClick = function() {
                    _this.setState({
                        tryItOutEnabled: !_this.state.tryItOutEnabled
                    })
                };
                _this.onTryoutClick = function() {
                    var _this$props2 = _this.props,
                        specActions = _this$props2.specActions,
                        path = _this$props2.path,
                        method = _this$props2.method;
                    _this.setState({
                        tryItOutEnabled: !_this.state.tryItOutEnabled
                    });
                    specActions.clearValidateParams([path, method])
                };
                _this.onExecute = function() {
                    _this.setState({
                        executeInProgress: true
                    })
                };
                _this.getResolvedSubtree = function() {
                    var _this$props3 = _this.props,
                        specSelectors = _this$props3.specSelectors,
                        path = _this$props3.path,
                        method = _this$props3.method,
                        specPath = _this$props3.specPath;
                    if (specPath) {
                        return specSelectors.specResolvedSubtree(specPath.toJS())
                    }
                    return specSelectors.specResolvedSubtree(["paths", path, method])
                };
                _this.requestResolvedSubtree = function() {
                    var _this$props4 = _this.props,
                        specActions = _this$props4.specActions,
                        path = _this$props4.path,
                        method = _this$props4.method,
                        specPath = _this$props4.specPath;
                    if (specPath) {
                        return specActions.requestResolvedSubtree(specPath.toJS())
                    }
                    return specActions.requestResolvedSubtree(["paths", path, method])
                };
                _this.state = {
                    tryItOutEnabled: false,
                    executeInProgress: false
                };
                return _this
            }(0, _createClass3.default)(OperationContainer, [{
                key: "mapStateToProps",
                value: function mapStateToProps(nextState, props) {
                    var op = props.op,
                        layoutSelectors = props.layoutSelectors,
                        getConfigs = props.getConfigs;
                    var _getConfigs = getConfigs(),
                        docExpansion = _getConfigs.docExpansion,
                        deepLinking = _getConfigs.deepLinking,
                        displayOperationId = _getConfigs.displayOperationId,
                        displayRequestDuration = _getConfigs.displayRequestDuration,
                        supportedSubmitMethods = _getConfigs.supportedSubmitMethods;
                    var showSummary = layoutSelectors.showSummary();
                    var operationId = op.getIn(["operation", "__originalOperationId"]) || op.getIn(["operation", "operationId"]) || opId(op.get("operation"), props.path, props.method) || op.get("id");
                    var isShownKey = ["operations", props.tag, operationId];
                    var isDeepLinkingEnabled = deepLinking && deepLinking !== "false";
                    var allowTryItOut = supportedSubmitMethods.indexOf(props.method) >= 0 && (typeof props.allowTryItOut === "undefined" ? props.specSelectors.allowTryItOutFor(props.path, props.method) : props.allowTryItOut);
                    var security = op.getIn(["operation", "security"]) || props.specSelectors.security();
                    return {
                        operationId: operationId,
                        isDeepLinkingEnabled: isDeepLinkingEnabled,
                        showSummary: showSummary,
                        displayOperationId: displayOperationId,
                        displayRequestDuration: displayRequestDuration,
                        allowTryItOut: allowTryItOut,
                        security: security,
                        isAuthorized: props.authSelectors.isAuthorized(security),
                        isShown: layoutSelectors.isShown(isShownKey, docExpansion === "full"),
                        jumpToKey: "paths." + props.path + "." + props.method,
                        response: props.specSelectors.responseFor(props.path, props.method),
                        request: props.specSelectors.requestFor(props.path, props.method)
                    }
                }
            }, {
                key: "componentDidMount",
                value: function componentDidMount() {
                    var isShown = this.props.isShown;
                    var resolvedSubtree = this.getResolvedSubtree();
                    if (isShown && resolvedSubtree === undefined) {
                        this.requestResolvedSubtree()
                    }
                }
            }, {
                key: "componentWillReceiveProps",
                value: function componentWillReceiveProps(nextProps) {
                    var response = nextProps.response,
                        isShown = nextProps.isShown;
                    var resolvedSubtree = this.getResolvedSubtree();
                    if (response !== this.props.response) {
                        this.setState({
                            executeInProgress: false
                        })
                    }
                    if (isShown && resolvedSubtree === undefined) {
                        this.requestResolvedSubtree()
                    }
                }
            }, {
                key: "render",
                value: function render() {
                    var _props = this.props,
                        unresolvedOp = _props.op,
                        tag = _props.tag,
                        path = _props.path,
                        method = _props.method,
                        security = _props.security,
                        isAuthorized = _props.isAuthorized,
                        operationId = _props.operationId,
                        showSummary = _props.showSummary,
                        isShown = _props.isShown,
                        jumpToKey = _props.jumpToKey,
                        allowTryItOut = _props.allowTryItOut,
                        response = _props.response,
                        request = _props.request,
                        displayOperationId = _props.displayOperationId,
                        displayRequestDuration = _props.displayRequestDuration,
                        isDeepLinkingEnabled = _props.isDeepLinkingEnabled,
                        specPath = _props.specPath,
                        specSelectors = _props.specSelectors,
                        specActions = _props.specActions,
                        getComponent = _props.getComponent,
                        getConfigs = _props.getConfigs,
                        layoutSelectors = _props.layoutSelectors,
                        layoutActions = _props.layoutActions,
                        authActions = _props.authActions,
                        authSelectors = _props.authSelectors,
                        oas3Actions = _props.oas3Actions,
                        oas3Selectors = _props.oas3Selectors,
                        fn = _props.fn;
                    var Operation = getComponent("operation");
                    var resolvedSubtree = this.getResolvedSubtree() || (0, _immutable.Map)();
                    var operationProps = (0, _immutable.fromJS)({
                        op: resolvedSubtree,
                        tag: tag,
                        path: path,
                        summary: unresolvedOp.getIn(["operation", "summary"]) || "",
                        deprecated: resolvedSubtree.get("deprecated") || unresolvedOp.getIn(["operation", "deprecated"]) || false,
                        method: method,
                        security: security,
                        isAuthorized: isAuthorized,
                        operationId: operationId,
                        originalOperationId: resolvedSubtree.getIn(["operation", "__originalOperationId"]),
                        showSummary: showSummary,
                        isShown: isShown,
                        jumpToKey: jumpToKey,
                        allowTryItOut: allowTryItOut,
                        request: request,
                        displayOperationId: displayOperationId,
                        displayRequestDuration: displayRequestDuration,
                        isDeepLinkingEnabled: isDeepLinkingEnabled,
                        executeInProgress: this.state.executeInProgress,
                        tryItOutEnabled: this.state.tryItOutEnabled
                    });
                    return _react2.default.createElement(Operation, {
                        operation: operationProps,
                        response: response,
                        request: request,
                        isShown: isShown,
                        toggleShown: this.toggleShown,
                        onTryoutClick: this.onTryoutClick,
                        onCancelClick: this.onCancelClick,
                        onExecute: this.onExecute,
                        specPath: specPath,
                        specActions: specActions,
                        specSelectors: specSelectors,
                        oas3Actions: oas3Actions,
                        oas3Selectors: oas3Selectors,
                        layoutActions: layoutActions,
                        layoutSelectors: layoutSelectors,
                        authActions: authActions,
                        authSelectors: authSelectors,
                        getComponent: getComponent,
                        getConfigs: getConfigs,
                        fn: fn
                    })
                }
            }]);
            return OperationContainer
        }(_react.PureComponent);
        OperationContainer.defaultProps = {
            showSummary: true,
            response: null,
            allowTryItOut: true,
            displayOperationId: false,
            displayRequestDuration: false
        };
        exports.default = OperationContainer
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var App = function(_React$Component) {
            (0, _inherits3.default)(App, _React$Component);

            function App() {
                (0, _classCallCheck3.default)(this, App);
                return (0, _possibleConstructorReturn3.default)(this, (App.__proto__ || (0, _getPrototypeOf2.default)(App)).apply(this, arguments))
            }(0, _createClass3.default)(App, [{
                key: "getLayout",
                value: function getLayout() {
                    var _props = this.props,
                        getComponent = _props.getComponent,
                        layoutSelectors = _props.layoutSelectors;
                    var layoutName = layoutSelectors.current();
                    var Component = getComponent(layoutName, true);
                    return Component ? Component : function() {
                        return _react2.default.createElement("h1", null, ' No layout defined for "', layoutName, '" ')
                    }
                }
            }, {
                key: "render",
                value: function render() {
                    var Layout = this.getLayout();
                    return _react2.default.createElement(Layout, null)
                }
            }]);
            return App
        }(_react2.default.Component);
        exports.default = App;
        App.defaultProps = {}
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var AuthorizationPopup = function(_React$Component) {
            (0, _inherits3.default)(AuthorizationPopup, _React$Component);

            function AuthorizationPopup() {
                var _ref;
                var _temp, _this, _ret;
                (0, _classCallCheck3.default)(this, AuthorizationPopup);
                for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
                    args[_key] = arguments[_key]
                }
                return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = AuthorizationPopup.__proto__ || (0, _getPrototypeOf2.default)(AuthorizationPopup)).call.apply(_ref, [this].concat(args))), _this), _this.close = function() {
                    var authActions = _this.props.authActions;
                    authActions.showDefinitions(false)
                }, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret)
            }(0, _createClass3.default)(AuthorizationPopup, [{
                key: "render",
                value: function render() {
                    var _props = this.props,
                        authSelectors = _props.authSelectors,
                        authActions = _props.authActions,
                        getComponent = _props.getComponent,
                        errSelectors = _props.errSelectors,
                        specSelectors = _props.specSelectors,
                        _props$fn$AST = _props.fn.AST,
                        AST = _props$fn$AST === undefined ? {} : _props$fn$AST;
                    var definitions = authSelectors.shownDefinitions();
                    var Auths = getComponent("auths");
                    return _react2.default.createElement("div", {
                        className: "dialog-ux"
                    }, _react2.default.createElement("div", {
                        className: "backdrop-ux"
                    }), _react2.default.createElement("div", {
                        className: "modal-ux"
                    }, _react2.default.createElement("div", {
                        className: "modal-dialog-ux"
                    }, _react2.default.createElement("div", {
                        className: "modal-ux-inner"
                    }, _react2.default.createElement("div", {
                        className: "modal-ux-header"
                    }, _react2.default.createElement("h3", null, "Available authorizations"), _react2.default.createElement("button", {
                        type: "button",
                        className: "close-modal",
                        onClick: this.close
                    }, _react2.default.createElement("svg", {
                        width: "20",
                        height: "20"
                    }, _react2.default.createElement("use", {
                        href: "#close",
                        xlinkHref: "#close"
                    })))), _react2.default.createElement("div", {
                        className: "modal-ux-content"
                    }, definitions.valueSeq().map(function(definition, key) {
                        return _react2.default.createElement(Auths, {
                            key: key,
                            AST: AST,
                            definitions: definition,
                            getComponent: getComponent,
                            errSelectors: errSelectors,
                            authSelectors: authSelectors,
                            authActions: authActions,
                            specSelectors: specSelectors
                        })
                    }))))))
                }
            }]);
            return AuthorizationPopup
        }(_react2.default.Component);
        exports.default = AuthorizationPopup
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var AuthorizeBtn = function(_React$Component) {
            (0, _inherits3.default)(AuthorizeBtn, _React$Component);

            function AuthorizeBtn() {
                var _ref;
                var _temp, _this, _ret;
                (0, _classCallCheck3.default)(this, AuthorizeBtn);
                for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
                    args[_key] = arguments[_key]
                }
                return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = AuthorizeBtn.__proto__ || (0, _getPrototypeOf2.default)(AuthorizeBtn)).call.apply(_ref, [this].concat(args))), _this), _this.onClick = function() {
                    var _this$props = _this.props,
                        authActions = _this$props.authActions,
                        authSelectors = _this$props.authSelectors;
                    var definitions = authSelectors.definitionsToAuthorize();
                    authActions.showDefinitions(definitions)
                }, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret)
            }(0, _createClass3.default)(AuthorizeBtn, [{
                key: "render",
                value: function render() {
                    var _props = this.props,
                        authSelectors = _props.authSelectors,
                        getComponent = _props.getComponent;
                    var AuthorizationPopup = getComponent("authorizationPopup", true);
                    var showPopup = !!authSelectors.shownDefinitions();
                    var isAuthorized = !!authSelectors.authorized().size;
                    return _react2.default.createElement("div", {
                        className: "auth-wrapper"
                    }, _react2.default.createElement("button", {
                        className: isAuthorized ? "btn authorize locked" : "btn authorize unlocked",
                        onClick: this.onClick
                    }, _react2.default.createElement("span", null, "Authorize"), _react2.default.createElement("svg", {
                        width: "20",
                        height: "20"
                    }, _react2.default.createElement("use", {
                        href: isAuthorized ? "#locked" : "#unlocked",
                        xlinkHref: isAuthorized ? "#locked" : "#unlocked"
                    }))), showPopup && _react2.default.createElement(AuthorizationPopup, null))
                }
            }]);
            return AuthorizeBtn
        }(_react2.default.Component);
        exports.default = AuthorizeBtn
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var AuthorizeOperationBtn = function(_React$Component) {
            (0, _inherits3.default)(AuthorizeOperationBtn, _React$Component);

            function AuthorizeOperationBtn() {
                var _ref;
                var _temp, _this, _ret;
                (0, _classCallCheck3.default)(this, AuthorizeOperationBtn);
                for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
                    args[_key] = arguments[_key]
                }
                return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = AuthorizeOperationBtn.__proto__ || (0, _getPrototypeOf2.default)(AuthorizeOperationBtn)).call.apply(_ref, [this].concat(args))), _this), _this.onClick = function(e) {
                    e.stopPropagation();
                    var onClick = _this.props.onClick;
                    if (onClick) {
                        onClick()
                    }
                }, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret)
            }(0, _createClass3.default)(AuthorizeOperationBtn, [{
                key: "render",
                value: function render() {
                    var isAuthorized = this.props.isAuthorized;
                    return _react2.default.createElement("button", {
                        className: isAuthorized ? "authorization__btn locked" : "authorization__btn unlocked",
                        "aria-label": isAuthorized ? "authorization button locked" : "authorization button unlocked",
                        onClick: this.onClick
                    }, _react2.default.createElement("svg", {
                        width: "20",
                        height: "20"
                    }, _react2.default.createElement("use", {
                        href: isAuthorized ? "#locked" : "#unlocked",
                        xlinkHref: isAuthorized ? "#locked" : "#unlocked"
                    })))
                }
            }]);
            return AuthorizeOperationBtn
        }(_react2.default.Component);
        exports.default = AuthorizeOperationBtn
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _defineProperty2 = __webpack_require__(18);
        var _defineProperty3 = _interopRequireDefault(_defineProperty2);
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _reactImmutableProptypes = __webpack_require__(9);
        var _reactImmutableProptypes2 = _interopRequireDefault(_reactImmutableProptypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var Auths = function(_React$Component) {
            (0, _inherits3.default)(Auths, _React$Component);

            function Auths(props, context) {
                (0, _classCallCheck3.default)(this, Auths);
                var _this = (0, _possibleConstructorReturn3.default)(this, (Auths.__proto__ || (0, _getPrototypeOf2.default)(Auths)).call(this, props, context));
                _this.onAuthChange = function(auth) {
                    var name = auth.name;
                    _this.setState((0, _defineProperty3.default)({}, name, auth))
                };
                _this.submitAuth = function(e) {
                    e.preventDefault();
                    var authActions = _this.props.authActions;
                    authActions.authorize(_this.state)
                };
                _this.logoutClick = function(e) {
                    e.preventDefault();
                    var _this$props = _this.props,
                        authActions = _this$props.authActions,
                        definitions = _this$props.definitions;
                    var auths = definitions.map(function(val, key) {
                        return key
                    }).toArray();
                    authActions.logout(auths)
                };
                _this.close = function(e) {
                    e.preventDefault();
                    var authActions = _this.props.authActions;
                    authActions.showDefinitions(false)
                };
                _this.state = {};
                return _this
            }(0, _createClass3.default)(Auths, [{
                key: "render",
                value: function render() {
                    var _this2 = this;
                    var _props = this.props,
                        definitions = _props.definitions,
                        getComponent = _props.getComponent,
                        authSelectors = _props.authSelectors,
                        errSelectors = _props.errSelectors;
                    var AuthItem = getComponent("AuthItem");
                    var Oauth2 = getComponent("oauth2", true);
                    var Button = getComponent("Button");
                    var authorized = authSelectors.authorized();
                    var authorizedAuth = definitions.filter(function(definition, key) {
                        return !!authorized.get(key)
                    });
                    var nonOauthDefinitions = definitions.filter(function(schema) {
                        return schema.get("type") !== "oauth2"
                    });
                    var oauthDefinitions = definitions.filter(function(schema) {
                        return schema.get("type") === "oauth2"
                    });
                    return _react2.default.createElement("div", {
                        className: "auth-container"
                    }, !!nonOauthDefinitions.size && _react2.default.createElement("form", {
                        onSubmit: this.submitAuth
                    }, nonOauthDefinitions.map(function(schema, name) {
                        return _react2.default.createElement(AuthItem, {
                            key: name,
                            schema: schema,
                            name: name,
                            getComponent: getComponent,
                            onAuthChange: _this2.onAuthChange,
                            authorized: authorized,
                            errSelectors: errSelectors
                        })
                    }).toArray(), _react2.default.createElement("div", {
                        className: "auth-btn-wrapper"
                    }, nonOauthDefinitions.size === authorizedAuth.size ? _react2.default.createElement(Button, {
                        className: "btn modal-btn auth",
                        onClick: this.logoutClick
                    }, "Logout") : _react2.default.createElement(Button, {
                        type: "submit",
                        className: "btn modal-btn auth authorize"
                    }, "Authorize"), _react2.default.createElement(Button, {
                        className: "btn modal-btn auth btn-done",
                        onClick: this.close
                    }, "Close"))), oauthDefinitions && oauthDefinitions.size ? _react2.default.createElement("div", null, _react2.default.createElement("div", {
                        className: "scope-def"
                    }, _react2.default.createElement("p", null, "Scopes are used to grant an application different levels of access to data on behalf of the end user. Each API may declare one or more scopes."), _react2.default.createElement("p", null, "API requires the following scopes. Select which ones you want to grant to Swagger UI.")), definitions.filter(function(schema) {
                        return schema.get("type") === "oauth2"
                    }).map(function(schema, name) {
                        return _react2.default.createElement("div", {
                            key: name
                        }, _react2.default.createElement(Oauth2, {
                            authorized: authorized,
                            schema: schema,
                            name: name
                        }))
                    }).toArray()) : null)
                }
            }]);
            return Auths
        }(_react2.default.Component);
        exports.default = Auths
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _reactImmutableProptypes = __webpack_require__(9);
        var _reactImmutableProptypes2 = _interopRequireDefault(_reactImmutableProptypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var Auths = function(_React$Component) {
            (0, _inherits3.default)(Auths, _React$Component);

            function Auths() {
                (0, _classCallCheck3.default)(this, Auths);
                return (0, _possibleConstructorReturn3.default)(this, (Auths.__proto__ || (0, _getPrototypeOf2.default)(Auths)).apply(this, arguments))
            }(0, _createClass3.default)(Auths, [{
                key: "render",
                value: function render() {
                    var _props = this.props,
                        schema = _props.schema,
                        name = _props.name,
                        getComponent = _props.getComponent,
                        onAuthChange = _props.onAuthChange,
                        authorized = _props.authorized,
                        errSelectors = _props.errSelectors;
                    var ApiKeyAuth = getComponent("apiKeyAuth");
                    var BasicAuth = getComponent("basicAuth");
                    var authEl = void 0;
                    var type = schema.get("type");
                    switch (type) {
                        case "apiKey":
                            authEl = _react2.default.createElement(ApiKeyAuth, {
                                key: name,
                                schema: schema,
                                name: name,
                                errSelectors: errSelectors,
                                authorized: authorized,
                                getComponent: getComponent,
                                onChange: onAuthChange
                            });
                            break;
                        case "basic":
                            authEl = _react2.default.createElement(BasicAuth, {
                                key: name,
                                schema: schema,
                                name: name,
                                errSelectors: errSelectors,
                                authorized: authorized,
                                getComponent: getComponent,
                                onChange: onAuthChange
                            });
                            break;
                        default:
                            authEl = _react2.default.createElement("div", {
                                key: name
                            }, "Unknown security definition type ", type)
                    }
                    return _react2.default.createElement("div", {
                        key: name + "-jump"
                    }, authEl)
                }
            }]);
            return Auths
        }(_react2.default.Component);
        exports.default = Auths
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var AuthError = function(_React$Component) {
            (0, _inherits3.default)(AuthError, _React$Component);

            function AuthError() {
                (0, _classCallCheck3.default)(this, AuthError);
                return (0, _possibleConstructorReturn3.default)(this, (AuthError.__proto__ || (0, _getPrototypeOf2.default)(AuthError)).apply(this, arguments))
            }(0, _createClass3.default)(AuthError, [{
                key: "render",
                value: function render() {
                    var error = this.props.error;
                    var level = error.get("level");
                    var message = error.get("message");
                    var source = error.get("source");
                    return _react2.default.createElement("div", {
                        className: "errors",
                        style: {
                            backgroundColor: "#ffeeee",
                            color: "red",
                            margin: "1em"
                        }
                    }, _react2.default.createElement("b", {
                        style: {
                            textTransform: "capitalize",
                            marginRight: "1em"
                        }
                    }, source, " ", level), _react2.default.createElement("span", null, message))
                }
            }]);
            return AuthError
        }(_react2.default.Component);
        exports.default = AuthError
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _assign = __webpack_require__(19);
        var _assign2 = _interopRequireDefault(_assign);
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var ApiKeyAuth = function(_React$Component) {
            (0, _inherits3.default)(ApiKeyAuth, _React$Component);

            function ApiKeyAuth(props, context) {
                (0, _classCallCheck3.default)(this, ApiKeyAuth);
                var _this = (0, _possibleConstructorReturn3.default)(this, (ApiKeyAuth.__proto__ || (0, _getPrototypeOf2.default)(ApiKeyAuth)).call(this, props, context));
                _initialiseProps.call(_this);
                var _this$props = _this.props,
                    name = _this$props.name,
                    schema = _this$props.schema;
                var value = _this.getValue();
                _this.state = {
                    name: name,
                    schema: schema,
                    value: value
                };
                return _this
            }(0, _createClass3.default)(ApiKeyAuth, [{
                key: "getValue",
                value: function getValue() {
                    var _props = this.props,
                        name = _props.name,
                        authorized = _props.authorized;
                    return authorized && authorized.getIn([name, "value"])
                }
            }, {
                key: "render",
                value: function render() {
                    var _props2 = this.props,
                        schema = _props2.schema,
                        getComponent = _props2.getComponent,
                        errSelectors = _props2.errSelectors,
                        name = _props2.name;
                    var Input = getComponent("Input");
                    var Row = getComponent("Row");
                    var Col = getComponent("Col");
                    var AuthError = getComponent("authError");
                    var Markdown = getComponent("Markdown");
                    var JumpToPath = getComponent("JumpToPath", true);
                    var value = this.getValue();
                    var errors = errSelectors.allErrors().filter(function(err) {
                        return err.get("authId") === name
                    });
                    return _react2.default.createElement("div", null, _react2.default.createElement("h4", null, _react2.default.createElement("code", null, name || schema.get("name")), "  (apiKey)", _react2.default.createElement(JumpToPath, {
                        path: ["securityDefinitions", name]
                    })), value && _react2.default.createElement("h6", null, "Authorized"), _react2.default.createElement(Row, null, _react2.default.createElement(Markdown, {
                        source: schema.get("description")
                    })), _react2.default.createElement(Row, null, _react2.default.createElement("p", null, "Name: ", _react2.default.createElement("code", null, schema.get("name")))), _react2.default.createElement(Row, null, _react2.default.createElement("p", null, "In: ", _react2.default.createElement("code", null, schema.get("in")))), _react2.default.createElement(Row, null, _react2.default.createElement("label", null, "Value:"), value ? _react2.default.createElement("code", null, " ****** ") : _react2.default.createElement(Col, null, _react2.default.createElement(Input, {
                        type: "text",
                        onChange: this.onChange
                    }))), errors.valueSeq().map(function(error, key) {
                        return _react2.default.createElement(AuthError, {
                            error: error,
                            key: key
                        })
                    }))
                }
            }]);
            return ApiKeyAuth
        }(_react2.default.Component);
        var _initialiseProps = function _initialiseProps() {
            var _this2 = this;
            this.onChange = function(e) {
                var onChange = _this2.props.onChange;
                var value = e.target.value;
                var newState = (0, _assign2.default)({}, _this2.state, {
                    value: value
                });
                _this2.setState(newState);
                onChange(newState)
            }
        };
        exports.default = ApiKeyAuth
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _reactImmutableProptypes = __webpack_require__(9);
        var _reactImmutableProptypes2 = _interopRequireDefault(_reactImmutableProptypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var BasicAuth = function(_React$Component) {
            (0, _inherits3.default)(BasicAuth, _React$Component);

            function BasicAuth(props, context) {
                (0, _classCallCheck3.default)(this, BasicAuth);
                var _this = (0, _possibleConstructorReturn3.default)(this, (BasicAuth.__proto__ || (0, _getPrototypeOf2.default)(BasicAuth)).call(this, props, context));
                _initialiseProps.call(_this);
                var _this$props = _this.props,
                    schema = _this$props.schema,
                    name = _this$props.name;
                var value = _this.getValue();
                var username = value.username;
                _this.state = {
                    name: name,
                    schema: schema,
                    value: !username ? {} : {
                        username: username
                    }
                };
                return _this
            }(0, _createClass3.default)(BasicAuth, [{
                key: "getValue",
                value: function getValue() {
                    var _props = this.props,
                        authorized = _props.authorized,
                        name = _props.name;
                    return authorized && authorized.getIn([name, "value"]) || {}
                }
            }, {
                key: "render",
                value: function render() {
                    var _props2 = this.props,
                        schema = _props2.schema,
                        getComponent = _props2.getComponent,
                        name = _props2.name,
                        errSelectors = _props2.errSelectors;
                    var Input = getComponent("Input");
                    var Row = getComponent("Row");
                    var Col = getComponent("Col");
                    var AuthError = getComponent("authError");
                    var JumpToPath = getComponent("JumpToPath", true);
                    var Markdown = getComponent("Markdown");
                    var username = this.getValue().username;
                    var errors = errSelectors.allErrors().filter(function(err) {
                        return err.get("authId") === name
                    });
                    return _react2.default.createElement("div", null, _react2.default.createElement("h4", null, "Basic authorization", _react2.default.createElement(JumpToPath, {
                        path: ["securityDefinitions", name]
                    })), username && _react2.default.createElement("h6", null, "Authorized"), _react2.default.createElement(Row, null, _react2.default.createElement(Markdown, {
                        source: schema.get("description")
                    })), _react2.default.createElement(Row, null, _react2.default.createElement("label", null, "Username:"), username ? _react2.default.createElement("code", null, " ", username, " ") : _react2.default.createElement(Col, null, _react2.default.createElement(Input, {
                        type: "text",
                        required: "required",
                        name: "username",
                        onChange: this.onChange
                    }))), _react2.default.createElement(Row, null, _react2.default.createElement("label", null, "Password:"), username ? _react2.default.createElement("code", null, " ****** ") : _react2.default.createElement(Col, null, _react2.default.createElement(Input, {
                        required: "required",
                        autoComplete: "new-password",
                        name: "password",
                        type: "password",
                        onChange: this.onChange
                    }))), errors.valueSeq().map(function(error, key) {
                        return _react2.default.createElement(AuthError, {
                            error: error,
                            key: key
                        })
                    }))
                }
            }]);
            return BasicAuth
        }(_react2.default.Component);
        var _initialiseProps = function _initialiseProps() {
            var _this2 = this;
            this.onChange = function(e) {
                var onChange = _this2.props.onChange;
                var _e$target = e.target,
                    value = _e$target.value,
                    name = _e$target.name;
                var newValue = _this2.state.value;
                newValue[name] = value;
                _this2.setState({
                    value: newValue
                });
                onChange(_this2.state)
            }
        };
        exports.default = BasicAuth
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _defineProperty2 = __webpack_require__(18);
        var _defineProperty3 = _interopRequireDefault(_defineProperty2);
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _oauth2Authorize = __webpack_require__(590);
        var _oauth2Authorize2 = _interopRequireDefault(_oauth2Authorize);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var Oauth2 = function(_React$Component) {
            (0, _inherits3.default)(Oauth2, _React$Component);

            function Oauth2(props, context) {
                (0, _classCallCheck3.default)(this, Oauth2);
                var _this = (0, _possibleConstructorReturn3.default)(this, (Oauth2.__proto__ || (0, _getPrototypeOf2.default)(Oauth2)).call(this, props, context));
                _initialiseProps.call(_this);
                var _this$props = _this.props,
                    name = _this$props.name,
                    schema = _this$props.schema,
                    authorized = _this$props.authorized,
                    authSelectors = _this$props.authSelectors;
                var auth = authorized && authorized.get(name);
                var authConfigs = authSelectors.getConfigs() || {};
                var username = auth && auth.get("username") || "";
                var clientId = auth && auth.get("clientId") || authConfigs.clientId || "";
                var clientSecret = auth && auth.get("clientSecret") || authConfigs.clientSecret || "";
                var passwordType = auth && auth.get("passwordType") || "request-body";
                _this.state = {
                    appName: authConfigs.appName,
                    name: name,
                    schema: schema,
                    scopes: [],
                    clientId: clientId,
                    clientSecret: clientSecret,
                    username: username,
                    password: "",
                    passwordType: passwordType
                };
                return _this
            }(0, _createClass3.default)(Oauth2, [{
                key: "render",
                value: function render() {
                    var _this2 = this;
                    var _props = this.props,
                        schema = _props.schema,
                        getComponent = _props.getComponent,
                        authSelectors = _props.authSelectors,
                        errSelectors = _props.errSelectors,
                        name = _props.name,
                        specSelectors = _props.specSelectors;
                    var Input = getComponent("Input");
                    var Row = getComponent("Row");
                    var Col = getComponent("Col");
                    var Button = getComponent("Button");
                    var AuthError = getComponent("authError");
                    var JumpToPath = getComponent("JumpToPath", true);
                    var Markdown = getComponent("Markdown");
                    var isOAS3 = specSelectors.isOAS3;
                    var IMPLICIT = "implicit";
                    var PASSWORD = "password";
                    var ACCESS_CODE = isOAS3() ? "authorizationCode" : "accessCode";
                    var APPLICATION = isOAS3() ? "clientCredentials" : "application";
                    var flow = schema.get("flow");
                    var scopes = schema.get("allowedScopes") || schema.get("scopes");
                    var authorizedAuth = authSelectors.authorized().get(name);
                    var isAuthorized = !!authorizedAuth;
                    var errors = errSelectors.allErrors().filter(function(err) {
                        return err.get("authId") === name
                    });
                    var isValid = !errors.filter(function(err) {
                        return err.get("source") === "validation"
                    }).size;
                    var description = schema.get("description");
                    return _react2.default.createElement("div", null, _react2.default.createElement("h4", null, name, " (OAuth2, ", schema.get("flow"), ") ", _react2.default.createElement(JumpToPath, {
                        path: ["securityDefinitions", name]
                    })), !this.state.appName ? null : _react2.default.createElement("h5", null, "Application: ", this.state.appName, " "), description && _react2.default.createElement(Markdown, {
                        source: schema.get("description")
                    }), isAuthorized && _react2.default.createElement("h6", null, "Authorized"), (flow === IMPLICIT || flow === ACCESS_CODE) && _react2.default.createElement("p", null, "Authorization URL: ", _react2.default.createElement("code", null, schema.get("authorizationUrl"))), (flow === PASSWORD || flow === ACCESS_CODE || flow === APPLICATION) && _react2.default.createElement("p", null, "Token URL:", _react2.default.createElement("code", null, " ", schema.get("tokenUrl"))), _react2.default.createElement("p", {
                        className: "flow"
                    }, "Flow: ", _react2.default.createElement("code", null, schema.get("flow"))), flow !== PASSWORD ? null : _react2.default.createElement(Row, null, _react2.default.createElement(Row, null, _react2.default.createElement("label", {
                        htmlFor: "oauth_username"
                    }, "username:"), isAuthorized ? _react2.default.createElement("code", null, " ", this.state.username, " ") : _react2.default.createElement(Col, {
                        tablet: 10,
                        desktop: 10
                    }, _react2.default.createElement("input", {
                        id: "oauth_username",
                        type: "text",
                        "data-name": "username",
                        onChange: this.onInputChange
                    }))), _react2.default.createElement(Row, null, _react2.default.createElement("label", {
                        htmlFor: "oauth_password"
                    }, "password:"), isAuthorized ? _react2.default.createElement("code", null, " ****** ") : _react2.default.createElement(Col, {
                        tablet: 10,
                        desktop: 10
                    }, _react2.default.createElement("input", {
                        id: "oauth_password",
                        type: "password",
                        "data-name": "password",
                        onChange: this.onInputChange
                    }))), _react2.default.createElement(Row, null, _react2.default.createElement("label", {
                        htmlFor: "password_type"
                    }, "type:"), isAuthorized ? _react2.default.createElement("code", null, " ", this.state.passwordType, " ") : _react2.default.createElement(Col, {
                        tablet: 10,
                        desktop: 10
                    }, _react2.default.createElement("select", {
                        id: "password_type",
                        "data-name": "passwordType",
                        onChange: this.onInputChange
                    }, _react2.default.createElement("option", {
                        value: "request-body"
                    }, "Request body"), _react2.default.createElement("option", {
                        value: "basic"
                    }, "Basic auth"), _react2.default.createElement("option", {
                        value: "query"
                    }, "Query parameters"))))), (flow === APPLICATION || flow === IMPLICIT || flow === ACCESS_CODE || flow === PASSWORD && this.state.passwordType !== "basic") && (!isAuthorized || isAuthorized && this.state.clientId) && _react2.default.createElement(Row, null, _react2.default.createElement("label", {
                        htmlFor: "client_id"
                    }, "client_id:"), isAuthorized ? _react2.default.createElement("code", null, " ****** ") : _react2.default.createElement(Col, {
                        tablet: 10,
                        desktop: 10
                    }, _react2.default.createElement("input", {
                        id: "client_id",
                        type: "text",
                        required: flow === PASSWORD,
                        value: this.state.clientId,
                        "data-name": "clientId",
                        onChange: this.onInputChange
                    }))), (flow === APPLICATION || flow === ACCESS_CODE || flow === PASSWORD && this.state.passwordType !== "basic") && _react2.default.createElement(Row, null, _react2.default.createElement("label", {
                        htmlFor: "client_secret"
                    }, "client_secret:"), isAuthorized ? _react2.default.createElement("code", null, " ****** ") : _react2.default.createElement(Col, {
                        tablet: 10,
                        desktop: 10
                    }, _react2.default.createElement("input", {
                        id: "client_secret",
                        value: this.state.clientSecret,
                        type: "text",
                        "data-name": "clientSecret",
                        onChange: this.onInputChange
                    }))), !isAuthorized && scopes && scopes.size ? _react2.default.createElement("div", {
                        className: "scopes"
                    }, _react2.default.createElement("h2", null, "Scopes:"), scopes.map(function(description, name) {
                        return _react2.default.createElement(Row, {
                            key: name
                        }, _react2.default.createElement("div", {
                            className: "checkbox"
                        }, _react2.default.createElement(Input, {
                            "data-value": name,
                            id: name + "-" + flow + "-checkbox-" + _this2.state.name,
                            disabled: isAuthorized,
                            type: "checkbox",
                            onChange: _this2.onScopeChange
                        }), _react2.default.createElement("label", {
                            htmlFor: name + "-" + flow + "-checkbox-" + _this2.state.name
                        }, _react2.default.createElement("span", {
                            className: "item"
                        }), _react2.default.createElement("div", {
                            className: "text"
                        }, _react2.default.createElement("p", {
                            className: "name"
                        }, name), _react2.default.createElement("p", {
                            className: "description"
                        }, description)))))
                    }).toArray()) : null, errors.valueSeq().map(function(error, key) {
                        return _react2.default.createElement(AuthError, {
                            error: error,
                            key: key
                        })
                    }), _react2.default.createElement("div", {
                        className: "auth-btn-wrapper"
                    }, isValid && (isAuthorized ? _react2.default.createElement(Button, {
                        className: "btn modal-btn auth authorize",
                        onClick: this.logout
                    }, "Logout") : _react2.default.createElement(Button, {
                        className: "btn modal-btn auth authorize",
                        onClick: this.authorize
                    }, "Authorize")), _react2.default.createElement(Button, {
                        className: "btn modal-btn auth btn-done",
                        onClick: this.close
                    }, "Close")))
                }
            }]);
            return Oauth2
        }(_react2.default.Component);
        var _initialiseProps = function _initialiseProps() {
            var _this3 = this;
            this.close = function(e) {
                e.preventDefault();
                var authActions = _this3.props.authActions;
                authActions.showDefinitions(false)
            };
            this.authorize = function() {
                var _props2 = _this3.props,
                    authActions = _props2.authActions,
                    errActions = _props2.errActions,
                    getConfigs = _props2.getConfigs,
                    authSelectors = _props2.authSelectors;
                var configs = getConfigs();
                var authConfigs = authSelectors.getConfigs();
                errActions.clear({
                    authId: name,
                    type: "auth",
                    source: "auth"
                });
                (0, _oauth2Authorize2.default)({
                    auth: _this3.state,
                    authActions: authActions,
                    errActions: errActions,
                    configs: configs,
                    authConfigs: authConfigs
                })
            };
            this.onScopeChange = function(e) {
                var target = e.target;
                var checked = target.checked;
                var scope = target.dataset.value;
                if (checked && _this3.state.scopes.indexOf(scope) === -1) {
                    var newScopes = _this3.state.scopes.concat([scope]);
                    _this3.setState({
                        scopes: newScopes
                    })
                } else if (!checked && _this3.state.scopes.indexOf(scope) > -1) {
                    _this3.setState({
                        scopes: _this3.state.scopes.filter(function(val) {
                            return val !== scope
                        })
                    })
                }
            };
            this.onInputChange = function(e) {
                var _e$target = e.target,
                    name = _e$target.dataset.name,
                    value = _e$target.value;
                var state = (0, _defineProperty3.default)({}, name, value);
                _this3.setState(state)
            };
            this.logout = function(e) {
                e.preventDefault();
                var _props3 = _this3.props,
                    authActions = _props3.authActions,
                    errActions = _props3.errActions,
                    name = _props3.name;
                errActions.clear({
                    authId: name,
                    type: "auth",
                    source: "auth"
                });
                authActions.logout([name])
            }
        };
        exports.default = Oauth2
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.default = authorize;
        var _window = __webpack_require__(22);
        var _window2 = _interopRequireDefault(_window);
        var _utils = __webpack_require__(8);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }

        function authorize(_ref) {
            var auth = _ref.auth,
                authActions = _ref.authActions,
                errActions = _ref.errActions,
                configs = _ref.configs,
                _ref$authConfigs = _ref.authConfigs,
                authConfigs = _ref$authConfigs === undefined ? {} : _ref$authConfigs;
            var schema = auth.schema,
                scopes = auth.scopes,
                name = auth.name,
                clientId = auth.clientId;
            var flow = schema.get("flow");
            var query = [];
            switch (flow) {
                case "password":
                    authActions.authorizePassword(auth);
                    return;
                case "application":
                    authActions.authorizeApplication(auth);
                    return;
                case "accessCode":
                    query.push("response_type=code");
                    break;
                case "implicit":
                    query.push("response_type=token");
                    break;
                case "clientCredentials":
                    authActions.authorizeApplication(auth);
                    return;
                case "authorizationCode":
                    query.push("response_type=code");
                    break
            }
            if (typeof clientId === "string") {
                query.push("client_id=" + encodeURIComponent(clientId))
            }
            var redirectUrl = configs.oauth2RedirectUrl;
            if (typeof redirectUrl === "undefined") {
                errActions.newAuthErr({
                    authId: name,
                    source: "validation",
                    level: "error",
                    message: "oauth2RedirectUrl configuration is not passed. Oauth2 authorization cannot be performed."
                });
                return
            }
            query.push("redirect_uri=" + encodeURIComponent(redirectUrl));
            if (Array.isArray(scopes) && 0 < scopes.length) {
                var scopeSeparator = authConfigs.scopeSeparator || " ";
                query.push("scope=" + encodeURIComponent(scopes.join(scopeSeparator)))
            }
            var state = (0, _utils.btoa)(new Date);
            query.push("state=" + encodeURIComponent(state));
            if (typeof authConfigs.realm !== "undefined") {
                query.push("realm=" + encodeURIComponent(authConfigs.realm))
            }
            var additionalQueryStringParams = authConfigs.additionalQueryStringParams;
            for (var key in additionalQueryStringParams) {
                if (typeof additionalQueryStringParams[key] !== "undefined") {
                    query.push([key, additionalQueryStringParams[key]].map(encodeURIComponent).join("="))
                }
            }
            var authorizationUrl = schema.get("authorizationUrl");
            var url = [authorizationUrl, query.join("&")].join(authorizationUrl.indexOf("?") === -1 ? "?" : "&");
            var callback = void 0;
            if (flow === "implicit") {
                callback = authActions.preAuthorizeImplicit
            } else if (authConfigs.useBasicAuthenticationWithAccessCodeGrant) {
                callback = authActions.authorizeAccessCodeWithBasicAuthentication
            } else {
                callback = authActions.authorizeAccessCodeWithFormParams
            }
            _window2.default.swaggerUIRedirectOauth2 = {
                auth: auth,
                state: state,
                redirectUrl: redirectUrl,
                callback: callback,
                errCb: errActions.newAuthErr
            };
            _window2.default.open(url)
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var Clear = function(_Component) {
            (0, _inherits3.default)(Clear, _Component);

            function Clear() {
                var _ref;
                var _temp, _this, _ret;
                (0, _classCallCheck3.default)(this, Clear);
                for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
                    args[_key] = arguments[_key]
                }
                return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = Clear.__proto__ || (0, _getPrototypeOf2.default)(Clear)).call.apply(_ref, [this].concat(args))), _this), _this.onClick = function() {
                    var _this$props = _this.props,
                        specActions = _this$props.specActions,
                        path = _this$props.path,
                        method = _this$props.method;
                    specActions.clearResponse(path, method);
                    specActions.clearRequest(path, method)
                }, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret)
            }(0, _createClass3.default)(Clear, [{
                key: "render",
                value: function render() {
                    return _react2.default.createElement("button", {
                        className: "btn btn-clear opblock-control__btn",
                        onClick: this.onClick
                    }, "Clear")
                }
            }]);
            return Clear
        }(_react.Component);
        exports.default = Clear
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _keys = __webpack_require__(31);
        var _keys2 = _interopRequireDefault(_keys);
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _reactImmutableProptypes = __webpack_require__(9);
        var _reactImmutableProptypes2 = _interopRequireDefault(_reactImmutableProptypes);
        var _immutable = __webpack_require__(7);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var Headers = function Headers(_ref) {
            var headers = _ref.headers;
            return _react2.default.createElement("div", null, _react2.default.createElement("h5", null, "Response headers"), _react2.default.createElement("pre", null, headers))
        };
        var Duration = function Duration(_ref2) {
            var duration = _ref2.duration;
            return _react2.default.createElement("div", null, _react2.default.createElement("h5", null, "Request duration"), _react2.default.createElement("pre", null, duration, " ms"))
        };
        var LiveResponse = function(_React$Component) {
            (0, _inherits3.default)(LiveResponse, _React$Component);

            function LiveResponse() {
                (0, _classCallCheck3.default)(this, LiveResponse);
                return (0, _possibleConstructorReturn3.default)(this, (LiveResponse.__proto__ || (0, _getPrototypeOf2.default)(LiveResponse)).apply(this, arguments))
            }(0, _createClass3.default)(LiveResponse, [{
                key: "shouldComponentUpdate",
                value: function shouldComponentUpdate(nextProps) {
                    return this.props.response !== nextProps.response || this.props.path !== nextProps.path || this.props.method !== nextProps.method || this.props.displayRequestDuration !== nextProps.displayRequestDuration
                }
            }, {
                key: "render",
                value: function render() {
                    var _props = this.props,
                        response = _props.response,
                        getComponent = _props.getComponent,
                        getConfigs = _props.getConfigs,
                        displayRequestDuration = _props.displayRequestDuration,
                        specSelectors = _props.specSelectors,
                        path = _props.path,
                        method = _props.method;
                    var _getConfigs = getConfigs(),
                        showMutatedRequest = _getConfigs.showMutatedRequest;
                    var curlRequest = showMutatedRequest ? specSelectors.mutatedRequestFor(path, method) : specSelectors.requestFor(path, method);
                    var status = response.get("status");
                    var url = curlRequest.get("url");
                    var headers = response.get("headers").toJS();
                    var notDocumented = response.get("notDocumented");
                    var isError = response.get("error");
                    var body = response.get("text");
                    var duration = response.get("duration");
                    var headersKeys = (0, _keys2.default)(headers);
                    var contentType = headers["content-type"] || headers["Content-Type"];
                    var Curl = getComponent("curl");
                    var ResponseBody = getComponent("responseBody");
                    var returnObject = headersKeys.map(function(key) {
                        return _react2.default.createElement("span", {
                            className: "headerline",
                            key: key
                        }, " ", key, ": ", headers[key], " ")
                    });
                    var hasHeaders = returnObject.length !== 0;
                    return _react2.default.createElement("div", null, curlRequest && _react2.default.createElement(Curl, {
                        request: curlRequest
                    }), url && _react2.default.createElement("div", null, _react2.default.createElement("h4", null, "Request URL"), _react2.default.createElement("div", {
                        className: "request-url"
                    }, _react2.default.createElement("pre", null, url))), _react2.default.createElement("h4", null, "Server response"), _react2.default.createElement("table", {
                        className: "responses-table"
                    }, _react2.default.createElement("thead", null, _react2.default.createElement("tr", {
                        className: "responses-header"
                    }, _react2.default.createElement("td", {
                        className: "col col_header response-col_status"
                    }, "Code"), _react2.default.createElement("td", {
                        className: "col col_header response-col_description"
                    }, "Details"))), _react2.default.createElement("tbody", null, _react2.default.createElement("tr", {
                        className: "response"
                    }, _react2.default.createElement("td", {
                        className: "col response-col_status"
                    }, status, notDocumented ? _react2.default.createElement("div", {
                        className: "response-undocumented"
                    }, _react2.default.createElement("i", null, " Undocumented ")) : null), _react2.default.createElement("td", {
                        className: "col response-col_description"
                    }, isError ? _react2.default.createElement("span", null, response.get("name") + ": " + response.get("message")) : null, body ? _react2.default.createElement(ResponseBody, {
                        content: body,
                        contentType: contentType,
                        url: url,
                        headers: headers,
                        getComponent: getComponent
                    }) : null, hasHeaders ? _react2.default.createElement(Headers, {
                        headers: returnObject
                    }) : null, displayRequestDuration && duration ? _react2.default.createElement(Duration, {
                        duration: duration
                    }) : null)))))
                }
            }]);
            return LiveResponse
        }(_react2.default.Component);
        exports.default = LiveResponse
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _keys = __webpack_require__(31);
        var _keys2 = _interopRequireDefault(_keys);
        var _typeof2 = __webpack_require__(36);
        var _typeof3 = _interopRequireDefault(_typeof2);
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _urlParse = __webpack_require__(144);
        var _urlParse2 = _interopRequireDefault(_urlParse);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _utils = __webpack_require__(8);
        var _window = __webpack_require__(22);
        var _window2 = _interopRequireDefault(_window);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var OnlineValidatorBadge = function(_React$Component) {
            (0, _inherits3.default)(OnlineValidatorBadge, _React$Component);

            function OnlineValidatorBadge(props, context) {
                (0, _classCallCheck3.default)(this, OnlineValidatorBadge);
                var _this = (0, _possibleConstructorReturn3.default)(this, (OnlineValidatorBadge.__proto__ || (0, _getPrototypeOf2.default)(OnlineValidatorBadge)).call(this, props, context));
                _this.getDefinitionUrl = function() {
                    var specSelectors = _this.props.specSelectors;
                    var urlObject = new _urlParse2.default(specSelectors.url(), _window2.default.location);
                    return urlObject.toString()
                };
                var getConfigs = props.getConfigs;
                var _getConfigs = getConfigs(),
                    validatorUrl = _getConfigs.validatorUrl;
                _this.state = {
                    url: _this.getDefinitionUrl(),
                    validatorUrl: validatorUrl === undefined ? "https://online.swagger.io/validator" : validatorUrl
                };
                return _this
            }(0, _createClass3.default)(OnlineValidatorBadge, [{
                key: "componentWillReceiveProps",
                value: function componentWillReceiveProps(nextProps) {
                    var getConfigs = nextProps.getConfigs;
                    var _getConfigs2 = getConfigs(),
                        validatorUrl = _getConfigs2.validatorUrl;
                    this.setState({
                        url: this.getDefinitionUrl(),
                        validatorUrl: validatorUrl === undefined ? "https://online.swagger.io/validator" : validatorUrl
                    })
                }
            }, {
                key: "render",
                value: function render() {
                    var getConfigs = this.props.getConfigs;
                    var _getConfigs3 = getConfigs(),
                        spec = _getConfigs3.spec;
                    var sanitizedValidatorUrl = (0, _utils.sanitizeUrl)(this.state.validatorUrl);
                    if ((typeof spec === "undefined" ? "undefined" : (0, _typeof3.default)(spec)) === "object" && (0, _keys2.default)(spec).length) return null;
                    if (!this.state.url || !this.state.validatorUrl || this.state.url.indexOf("localhost") >= 0 || this.state.url.indexOf("127.0.0.1") >= 0) {
                        return null
                    }
                    return _react2.default.createElement("span", {
                        style: {
                            float: "right"
                        }
                    }, _react2.default.createElement("a", {
                        target: "_blank",
                        rel: "noopener noreferrer",
                        href: sanitizedValidatorUrl + "/debug?url=" + encodeURIComponent(this.state.url)
                    }, _react2.default.createElement(ValidatorImage, {
                        src: sanitizedValidatorUrl + "?url=" + encodeURIComponent(this.state.url),
                        alt: "Online validator badge"
                    })))
                }
            }]);
            return OnlineValidatorBadge
        }(_react2.default.Component);
        exports.default = OnlineValidatorBadge;
        var ValidatorImage = function(_React$Component2) {
            (0, _inherits3.default)(ValidatorImage, _React$Component2);

            function ValidatorImage(props) {
                (0, _classCallCheck3.default)(this, ValidatorImage);
                var _this2 = (0, _possibleConstructorReturn3.default)(this, (ValidatorImage.__proto__ || (0, _getPrototypeOf2.default)(ValidatorImage)).call(this, props));
                _this2.state = {
                    loaded: false,
                    error: false
                };
                return _this2
            }(0, _createClass3.default)(ValidatorImage, [{
                key: "componentDidMount",
                value: function componentDidMount() {
                    var _this3 = this;
                    var img = new Image;
                    img.onload = function() {
                        _this3.setState({
                            loaded: true
                        })
                    };
                    img.onerror = function() {
                        _this3.setState({
                            error: true
                        })
                    };
                    img.src = this.props.src
                }
            }, {
                key: "componentWillReceiveProps",
                value: function componentWillReceiveProps(nextProps) {
                    var _this4 = this;
                    if (nextProps.src !== this.props.src) {
                        var img = new Image;
                        img.onload = function() {
                            _this4.setState({
                                loaded: true
                            })
                        };
                        img.onerror = function() {
                            _this4.setState({
                                error: true
                            })
                        };
                        img.src = nextProps.src
                    }
                }
            }, {
                key: "render",
                value: function render() {
                    if (this.state.error) {
                        return _react2.default.createElement("img", {
                            alt: "Error"
                        })
                    } else if (!this.state.loaded) {
                        return null
                    }
                    return _react2.default.createElement("img", {
                        src: this.props.src,
                        alt: this.props.alt
                    })
                }
            }]);
            return ValidatorImage
        }(_react2.default.Component)
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _immutable = __webpack_require__(7);
        var _immutable2 = _interopRequireDefault(_immutable);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var SWAGGER2_OPERATION_METHODS = ["get", "put", "post", "delete", "options", "head", "patch"];
        var OAS3_OPERATION_METHODS = SWAGGER2_OPERATION_METHODS.concat(["trace"]);
        var Operations = function(_React$Component) {
            (0, _inherits3.default)(Operations, _React$Component);

            function Operations() {
                (0, _classCallCheck3.default)(this, Operations);
                return (0, _possibleConstructorReturn3.default)(this, (Operations.__proto__ || (0, _getPrototypeOf2.default)(Operations)).apply(this, arguments))
            }(0, _createClass3.default)(Operations, [{
                key: "render",
                value: function render() {
                    var _props = this.props,
                        specSelectors = _props.specSelectors,
                        getComponent = _props.getComponent,
                        layoutSelectors = _props.layoutSelectors,
                        layoutActions = _props.layoutActions,
                        getConfigs = _props.getConfigs,
                        fn = _props.fn;
                    var taggedOps = specSelectors.taggedOperations();
                    var OperationContainer = getComponent("OperationContainer", true);
                    var OperationTag = getComponent("OperationTag");
                    var _getConfigs = getConfigs(),
                        maxDisplayedTags = _getConfigs.maxDisplayedTags;
                    var filter = layoutSelectors.currentFilter();
                    if (filter) {
                        if (filter !== true) {
                            taggedOps = fn.opsFilter(taggedOps, filter)
                        }
                    }
                    if (maxDisplayedTags && !isNaN(maxDisplayedTags) && maxDisplayedTags >= 0) {
                        taggedOps = taggedOps.slice(0, maxDisplayedTags)
                    }
                    return _react2.default.createElement("div", null, taggedOps.map(function(tagObj, tag) {
                        var operations = tagObj.get("operations");
                        return _react2.default.createElement(OperationTag, {
                            key: "operation-" + tag,
                            tagObj: tagObj,
                            tag: tag,
                            layoutSelectors: layoutSelectors,
                            layoutActions: layoutActions,
                            getConfigs: getConfigs,
                            getComponent: getComponent
                        }, operations.map(function(op) {
                            var path = op.get("path");
                            var method = op.get("method");
                            var specPath = _immutable2.default.List(["paths", path, method]);
                            var validMethods = specSelectors.isOAS3() ? OAS3_OPERATION_METHODS : SWAGGER2_OPERATION_METHODS;
                            if (validMethods.indexOf(method) === -1) {
                                return null
                            }
                            return _react2.default.createElement(OperationContainer, {
                                key: path + "-" + method,
                                specPath: specPath,
                                op: op,
                                path: path,
                                method: method,
                                tag: tag
                            })
                        }).toArray())
                    }).toArray(), taggedOps.size < 1 ? _react2.default.createElement("h3", null, " No operations defined in spec! ") : null)
                }
            }]);
            return Operations
        }(_react2.default.Component);
        exports.default = Operations
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _reactImmutableProptypes = __webpack_require__(9);
        var _reactImmutableProptypes2 = _interopRequireDefault(_reactImmutableProptypes);
        var _immutable = __webpack_require__(7);
        var _immutable2 = _interopRequireDefault(_immutable);
        var _utils = __webpack_require__(8);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var OperationTag = function(_React$Component) {
            (0, _inherits3.default)(OperationTag, _React$Component);

            function OperationTag() {
                (0, _classCallCheck3.default)(this, OperationTag);
                return (0, _possibleConstructorReturn3.default)(this, (OperationTag.__proto__ || (0, _getPrototypeOf2.default)(OperationTag)).apply(this, arguments))
            }(0, _createClass3.default)(OperationTag, [{
                key: "render",
                value: function render() {
                    var _props = this.props,
                        tagObj = _props.tagObj,
                        tag = _props.tag,
                        children = _props.children,
                        layoutSelectors = _props.layoutSelectors,
                        layoutActions = _props.layoutActions,
                        getConfigs = _props.getConfigs,
                        getComponent = _props.getComponent;
                    var _getConfigs = getConfigs(),
                        docExpansion = _getConfigs.docExpansion,
                        deepLinking = _getConfigs.deepLinking;
                    var isDeepLinkingEnabled = deepLinking && deepLinking !== "false";
                    var Collapse = getComponent("Collapse");
                    var Markdown = getComponent("Markdown");
                    var DeepLink = getComponent("DeepLink");
                    var Link = getComponent("Link");
                    var tagDescription = tagObj.getIn(["tagDetails", "description"], null);
                    var tagExternalDocsDescription = tagObj.getIn(["tagDetails", "externalDocs", "description"]);
                    var tagExternalDocsUrl = tagObj.getIn(["tagDetails", "externalDocs", "url"]);
                    var isShownKey = ["operations-tag", (0, _utils.createDeepLinkPath)(tag)];
                    var showTag = layoutSelectors.isShown(isShownKey, docExpansion === "full" || docExpansion === "list");
                    return _react2.default.createElement("div", {
                        className: showTag ? "opblock-tag-section is-open" : "opblock-tag-section"
                    }, _react2.default.createElement("h4", {
                        onClick: function onClick() {
                            return layoutActions.show(isShownKey, !showTag)
                        },
                        className: !tagDescription ? "opblock-tag no-desc" : "opblock-tag",
                        id: isShownKey.join("-")
                    }, _react2.default.createElement(DeepLink, {
                        enabled: isDeepLinkingEnabled,
                        isShown: showTag,
                        path: tag,
                        text: tag
                    }), !tagDescription ? _react2.default.createElement("small", null) : _react2.default.createElement("small", null, _react2.default.createElement(Markdown, {
                        source: tagDescription
                    })), _react2.default.createElement("div", null, !tagExternalDocsDescription ? null : _react2.default.createElement("small", null, tagExternalDocsDescription, tagExternalDocsUrl ? ": " : null, tagExternalDocsUrl ? _react2.default.createElement(Link, {
                        href: (0, _utils.sanitizeUrl)(tagExternalDocsUrl),
                        onClick: function onClick(e) {
                            return e.stopPropagation()
                        },
                        target: "_blank"
                    }, tagExternalDocsUrl) : null)), _react2.default.createElement("button", {
                        className: "expand-operation",
                        title: showTag ? "Collapse operation" : "Expand operation",
                        onClick: function onClick() {
                            return layoutActions.show(isShownKey, !showTag)
                        }
                    }, _react2.default.createElement("svg", {
                        className: "arrow",
                        width: "20",
                        height: "20"
                    }, _react2.default.createElement("use", {
                        href: showTag ? "#large-arrow-down" : "#large-arrow",
                        xlinkHref: showTag ? "#large-arrow-down" : "#large-arrow"
                    })))), _react2.default.createElement(Collapse, {
                        isOpened: showTag
                    }, children))
                }
            }]);
            return OperationTag
        }(_react2.default.Component);
        OperationTag.defaultProps = {
            tagObj: _immutable2.default.fromJS({}),
            tag: ""
        };
        exports.default = OperationTag
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _utils = __webpack_require__(8);
        var _immutable = __webpack_require__(7);
        var _reactImmutableProptypes = __webpack_require__(9);
        var _reactImmutableProptypes2 = _interopRequireDefault(_reactImmutableProptypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var Operation = function(_PureComponent) {
            (0, _inherits3.default)(Operation, _PureComponent);

            function Operation() {
                (0, _classCallCheck3.default)(this, Operation);
                return (0, _possibleConstructorReturn3.default)(this, (Operation.__proto__ || (0, _getPrototypeOf2.default)(Operation)).apply(this, arguments))
            }(0, _createClass3.default)(Operation, [{
                key: "render",
                value: function render() {
                    var _props = this.props,
                        specPath = _props.specPath,
                        response = _props.response,
                        request = _props.request,
                        toggleShown = _props.toggleShown,
                        onTryoutClick = _props.onTryoutClick,
                        onCancelClick = _props.onCancelClick,
                        onExecute = _props.onExecute,
                        fn = _props.fn,
                        getComponent = _props.getComponent,
                        getConfigs = _props.getConfigs,
                        specActions = _props.specActions,
                        specSelectors = _props.specSelectors,
                        authActions = _props.authActions,
                        authSelectors = _props.authSelectors,
                        oas3Actions = _props.oas3Actions,
                        oas3Selectors = _props.oas3Selectors;
                    var operationProps = this.props.operation;
                    var _operationProps$toJS = operationProps.toJS(),
                        deprecated = _operationProps$toJS.deprecated,
                        isShown = _operationProps$toJS.isShown,
                        path = _operationProps$toJS.path,
                        method = _operationProps$toJS.method,
                        op = _operationProps$toJS.op,
                        tag = _operationProps$toJS.tag,
                        operationId = _operationProps$toJS.operationId,
                        allowTryItOut = _operationProps$toJS.allowTryItOut,
                        displayRequestDuration = _operationProps$toJS.displayRequestDuration,
                        tryItOutEnabled = _operationProps$toJS.tryItOutEnabled,
                        executeInProgress = _operationProps$toJS.executeInProgress;
                    var description = op.description,
                        externalDocs = op.externalDocs,
                        schemes = op.schemes;
                    var operation = operationProps.getIn(["op"]);
                    var responses = operation.get("responses");
                    var produces = operation.get("produces");
                    var parameters = (0, _utils.getList)(operation, ["parameters"]);
                    var operationScheme = specSelectors.operationScheme(path, method);
                    var isShownKey = ["operations", tag, operationId];
                    var extensions = (0, _utils.getExtensions)(operation);
                    var Responses = getComponent("responses");
                    var Parameters = getComponent("parameters");
                    var Execute = getComponent("execute");
                    var Clear = getComponent("clear");
                    var Collapse = getComponent("Collapse");
                    var Markdown = getComponent("Markdown");
                    var Schemes = getComponent("schemes");
                    var OperationServers = getComponent("OperationServers");
                    var OperationExt = getComponent("OperationExt");
                    var OperationSummary = getComponent("OperationSummary");
                    var Link = getComponent("Link");
                    var _getConfigs = getConfigs(),
                        showExtensions = _getConfigs.showExtensions;
                    if (responses && response && response.size > 0) {
                        var notDocumented = !responses.get(String(response.get("status"))) && !responses.get("default");
                        response = response.set("notDocumented", notDocumented)
                    }
                    var onChangeKey = [path, method];
                    return _react2.default.createElement("div", {
                        className: deprecated ? "opblock opblock-deprecated" : isShown ? "opblock opblock-" + method + " is-open" : "opblock opblock-" + method,
                        id: (0, _utils.createDeepLinkPath)(isShownKey.join("-"))
                    }, _react2.default.createElement(OperationSummary, {
                        operationProps: operationProps,
                        toggleShown: toggleShown,
                        getComponent: getComponent,
                        authActions: authActions,
                        authSelectors: authSelectors,
                        specPath: specPath
                    }), _react2.default.createElement(Collapse, {
                        isOpened: isShown
                    }, _react2.default.createElement("div", {
                        className: "opblock-body"
                    }, operation && operation.size || operation === null ? null : _react2.default.createElement("img", {
                        height: "32px",
                        width: "32px",
                        src: __webpack_require__(258),
                        className: "opblock-loading-animation"
                    }), deprecated && _react2.default.createElement("h4", {
                        className: "opblock-title_normal"
                    }, " Warning: Deprecated"), description && _react2.default.createElement("div", {
                        className: "opblock-description-wrapper"
                    }, _react2.default.createElement("div", {
                        className: "opblock-description"
                    }, _react2.default.createElement(Markdown, {
                        source: description
                    }))), externalDocs && externalDocs.url ? _react2.default.createElement("div", {
                        className: "opblock-external-docs-wrapper"
                    }, _react2.default.createElement("h4", {
                        className: "opblock-title_normal"
                    }, "Find more details"), _react2.default.createElement("div", {
                        className: "opblock-external-docs"
                    }, _react2.default.createElement("span", {
                        className: "opblock-external-docs__description"
                    }, _react2.default.createElement(Markdown, {
                        source: externalDocs.description
                    })), _react2.default.createElement(Link, {
                        target: "_blank",
                        className: "opblock-external-docs__link",
                        href: (0, _utils.sanitizeUrl)(externalDocs.url)
                    }, externalDocs.url))) : null, !operation || !operation.size ? null : _react2.default.createElement(Parameters, {
                        parameters: parameters,
                        specPath: specPath.push("parameters"),
                        operation: operation,
                        onChangeKey: onChangeKey,
                        onTryoutClick: onTryoutClick,
                        onCancelClick: onCancelClick,
                        tryItOutEnabled: tryItOutEnabled,
                        allowTryItOut: allowTryItOut,
                        fn: fn,
                        getComponent: getComponent,
                        specActions: specActions,
                        specSelectors: specSelectors,
                        pathMethod: [path, method],
                        getConfigs: getConfigs
                    }), !tryItOutEnabled ? null : _react2.default.createElement(OperationServers, {
                        getComponent: getComponent,
                        path: path,
                        method: method,
                        operationServers: operation.get("servers"),
                        pathServers: specSelectors.paths().getIn([path, "servers"]),
                        getSelectedServer: oas3Selectors.selectedServer,
                        setSelectedServer: oas3Actions.setSelectedServer,
                        setServerVariableValue: oas3Actions.setServerVariableValue,
                        getServerVariable: oas3Selectors.serverVariableValue,
                        getEffectiveServerValue: oas3Selectors.serverEffectiveValue
                    }), !tryItOutEnabled || !allowTryItOut ? null : schemes && schemes.size ? _react2.default.createElement("div", {
                        className: "opblock-schemes"
                    }, _react2.default.createElement(Schemes, {
                        schemes: schemes,
                        path: path,
                        method: method,
                        specActions: specActions,
                        currentScheme: operationScheme
                    })) : null, _react2.default.createElement("div", {
                        className: !tryItOutEnabled || !response || !allowTryItOut ? "execute-wrapper" : "btn-group"
                    }, !tryItOutEnabled || !allowTryItOut ? null : _react2.default.createElement(Execute, {
                        operation: operation,
                        specActions: specActions,
                        specSelectors: specSelectors,
                        path: path,
                        method: method,
                        onExecute: onExecute
                    }), !tryItOutEnabled || !response || !allowTryItOut ? null : _react2.default.createElement(Clear, {
                        specActions: specActions,
                        path: path,
                        method: method
                    })), executeInProgress ? _react2.default.createElement("div", {
                        className: "loading-container"
                    }, _react2.default.createElement("div", {
                        className: "loading"
                    })) : null, !responses ? null : _react2.default.createElement(Responses, {
                        responses: responses,
                        request: request,
                        tryItOutResponse: response,
                        getComponent: getComponent,
                        getConfigs: getConfigs,
                        specSelectors: specSelectors,
                        oas3Actions: oas3Actions,
                        specActions: specActions,
                        produces: produces,
                        producesValue: specSelectors.currentProducesFor([path, method]),
                        specPath: specPath.push("responses"),
                        path: path,
                        method: method,
                        displayRequestDuration: displayRequestDuration,
                        fn: fn
                    }), !showExtensions || !extensions.size ? null : _react2.default.createElement(OperationExt, {
                        extensions: extensions,
                        getComponent: getComponent
                    }))))
                }
            }]);
            return Operation
        }(_react.PureComponent);
        Operation.defaultProps = {
            operation: null,
            response: null,
            request: null,
            specPath: (0, _immutable.List)(),
            summary: ""
        };
        exports.default = Operation
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _immutable = __webpack_require__(7);
        var _reactImmutableProptypes = __webpack_require__(9);
        var _reactImmutableProptypes2 = _interopRequireDefault(_reactImmutableProptypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var OperationSummary = function(_PureComponent) {
            (0, _inherits3.default)(OperationSummary, _PureComponent);

            function OperationSummary() {
                (0, _classCallCheck3.default)(this, OperationSummary);
                return (0, _possibleConstructorReturn3.default)(this, (OperationSummary.__proto__ || (0, _getPrototypeOf2.default)(OperationSummary)).apply(this, arguments))
            }(0, _createClass3.default)(OperationSummary, [{
                key: "render",
                value: function render() {
                    var _props = this.props,
                        toggleShown = _props.toggleShown,
                        getComponent = _props.getComponent,
                        authActions = _props.authActions,
                        authSelectors = _props.authSelectors,
                        operationProps = _props.operationProps,
                        specPath = _props.specPath;
                    var _operationProps$toJS = operationProps.toJS(),
                        summary = _operationProps$toJS.summary,
                        isAuthorized = _operationProps$toJS.isAuthorized,
                        method = _operationProps$toJS.method,
                        op = _operationProps$toJS.op,
                        showSummary = _operationProps$toJS.showSummary,
                        operationId = _operationProps$toJS.operationId,
                        originalOperationId = _operationProps$toJS.originalOperationId,
                        displayOperationId = _operationProps$toJS.displayOperationId;
                    var resolvedSummary = op.summary;
                    var security = operationProps.get("security");
                    var AuthorizeOperationBtn = getComponent("authorizeOperationBtn");
                    var OperationSummaryMethod = getComponent("OperationSummaryMethod");
                    var OperationSummaryPath = getComponent("OperationSummaryPath");
                    var JumpToPath = getComponent("JumpToPath", true);
                    return _react2.default.createElement("div", {
                        className: "opblock-summary opblock-summary-" + method,
                        onClick: toggleShown
                    }, _react2.default.createElement(OperationSummaryMethod, {
                        method: method
                    }), _react2.default.createElement(OperationSummaryPath, {
                        getComponent: getComponent,
                        operationProps: operationProps,
                        specPath: specPath
                    }), !showSummary ? null : _react2.default.createElement("div", {
                        className: "opblock-summary-description"
                    }, resolvedSummary || summary), displayOperationId && (originalOperationId || operationId) ? _react2.default.createElement("span", {
                        className: "opblock-summary-operation-id"
                    }, originalOperationId || operationId) : null, !security || !security.count() ? null : _react2.default.createElement(AuthorizeOperationBtn, {
                        isAuthorized: isAuthorized,
                        onClick: function onClick() {
                            var applicableDefinitions = authSelectors.definitionsForRequirements(security);
                            authActions.showDefinitions(applicableDefinitions)
                        }
                    }), _react2.default.createElement(JumpToPath, {
                        path: specPath
                    }))
                }
            }]);
            return OperationSummary
        }(_react.PureComponent);
        OperationSummary.defaultProps = {
            operationProps: null,
            specPath: (0, _immutable.List)(),
            summary: ""
        };
        exports.default = OperationSummary
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _immutable = __webpack_require__(7);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var OperationSummaryMethod = function(_PureComponent) {
            (0, _inherits3.default)(OperationSummaryMethod, _PureComponent);

            function OperationSummaryMethod() {
                (0, _classCallCheck3.default)(this, OperationSummaryMethod);
                return (0, _possibleConstructorReturn3.default)(this, (OperationSummaryMethod.__proto__ || (0, _getPrototypeOf2.default)(OperationSummaryMethod)).apply(this, arguments))
            }(0, _createClass3.default)(OperationSummaryMethod, [{
                key: "render",
                value: function render() {
                    var method = this.props.method;
                    return _react2.default.createElement("span", {
                        className: "opblock-summary-method"
                    }, method.toUpperCase())
                }
            }]);
            return OperationSummaryMethod
        }(_react.PureComponent);
        OperationSummaryMethod.defaultProps = {
            operationProps: null
        };
        exports.default = OperationSummaryMethod
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _immutable = __webpack_require__(7);
        var _utils = __webpack_require__(8);
        var _reactImmutableProptypes = __webpack_require__(9);
        var _reactImmutableProptypes2 = _interopRequireDefault(_reactImmutableProptypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var OperationSummaryPath = function(_PureComponent) {
            (0, _inherits3.default)(OperationSummaryPath, _PureComponent);

            function OperationSummaryPath() {
                (0, _classCallCheck3.default)(this, OperationSummaryPath);
                return (0, _possibleConstructorReturn3.default)(this, (OperationSummaryPath.__proto__ || (0, _getPrototypeOf2.default)(OperationSummaryPath)).apply(this, arguments))
            }(0, _createClass3.default)(OperationSummaryPath, [{
                key: "render",
                value: function render() {
                    var _props = this.props,
                        getComponent = _props.getComponent,
                        operationProps = _props.operationProps;
                    var _operationProps$toJS = operationProps.toJS(),
                        deprecated = _operationProps$toJS.deprecated,
                        isShown = _operationProps$toJS.isShown,
                        path = _operationProps$toJS.path,
                        tag = _operationProps$toJS.tag,
                        operationId = _operationProps$toJS.operationId,
                        isDeepLinkingEnabled = _operationProps$toJS.isDeepLinkingEnabled;
                    var DeepLink = getComponent("DeepLink");
                    return _react2.default.createElement("span", {
                        className: deprecated ? "opblock-summary-path__deprecated" : "opblock-summary-path"
                    }, _react2.default.createElement(DeepLink, {
                        enabled: isDeepLinkingEnabled,
                        isShown: isShown,
                        path: (0, _utils.createDeepLinkPath)(tag + "/" + operationId),
                        text: path
                    }))
                }
            }]);
            return OperationSummaryPath
        }(_react.PureComponent);
        exports.default = OperationSummaryPath
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.OperationExt = undefined;
        var _slicedToArray2 = __webpack_require__(13);
        var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var OperationExt = exports.OperationExt = function OperationExt(_ref) {
            var extensions = _ref.extensions,
                getComponent = _ref.getComponent;
            var OperationExtRow = getComponent("OperationExtRow");
            return _react2.default.createElement("div", {
                className: "opblock-section"
            }, _react2.default.createElement("div", {
                className: "opblock-section-header"
            }, _react2.default.createElement("h4", null, "Extensions")), _react2.default.createElement("div", {
                className: "table-container"
            }, _react2.default.createElement("table", null, _react2.default.createElement("thead", null, _react2.default.createElement("tr", null, _react2.default.createElement("td", {
                className: "col col_header"
            }, "Field"), _react2.default.createElement("td", {
                className: "col col_header"
            }, "Value"))), _react2.default.createElement("tbody", null, extensions.entrySeq().map(function(_ref2) {
                var _ref3 = (0, _slicedToArray3.default)(_ref2, 2),
                    k = _ref3[0],
                    v = _ref3[1];
                return _react2.default.createElement(OperationExtRow, {
                    key: k + "-" + v,
                    xKey: k,
                    xVal: v
                })
            })))))
        };
        exports.default = OperationExt
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.OperationExtRow = undefined;
        var _stringify = __webpack_require__(30);
        var _stringify2 = _interopRequireDefault(_stringify);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var OperationExtRow = exports.OperationExtRow = function OperationExtRow(_ref) {
            var xKey = _ref.xKey,
                xVal = _ref.xVal;
            var xNormalizedValue = !xVal ? null : xVal.toJS ? xVal.toJS() : xVal;
            return _react2.default.createElement("tr", null, _react2.default.createElement("td", null, xKey), _react2.default.createElement("td", null, (0, _stringify2.default)(xNormalizedValue)))
        };
        exports.default = OperationExtRow
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _utils = __webpack_require__(8);
        var _jsFileDownload = __webpack_require__(603);
        var _jsFileDownload2 = _interopRequireDefault(_jsFileDownload);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var HighlightCode = function(_Component) {
            (0, _inherits3.default)(HighlightCode, _Component);

            function HighlightCode() {
                var _ref;
                var _temp, _this, _ret;
                (0, _classCallCheck3.default)(this, HighlightCode);
                for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
                    args[_key] = arguments[_key]
                }
                return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = HighlightCode.__proto__ || (0, _getPrototypeOf2.default)(HighlightCode)).call.apply(_ref, [this].concat(args))), _this), _this.initializeComponent = function(c) {
                    _this.el = c
                }, _this.downloadText = function() {
                    (0, _jsFileDownload2.default)(_this.props.value, _this.props.fileName || "response.txt")
                }, _this.preventYScrollingBeyondElement = function(e) {
                    var target = e.target;
                    var deltaY = e.nativeEvent.deltaY;
                    var contentHeight = target.scrollHeight;
                    var visibleHeight = target.offsetHeight;
                    var scrollTop = target.scrollTop;
                    var scrollOffset = visibleHeight + scrollTop;
                    var isElementScrollable = contentHeight > visibleHeight;
                    var isScrollingPastTop = scrollTop === 0 && deltaY < 0;
                    var isScrollingPastBottom = scrollOffset >= contentHeight && deltaY > 0;
                    if (isElementScrollable && (isScrollingPastTop || isScrollingPastBottom)) {
                        e.preventDefault()
                    }
                }, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret)
            }(0, _createClass3.default)(HighlightCode, [{
                key: "componentDidMount",
                value: function componentDidMount() {
                    (0, _utils.highlight)(this.el)
                }
            }, {
                key: "componentDidUpdate",
                value: function componentDidUpdate() {
                    (0, _utils.highlight)(this.el)
                }
            }, {
                key: "render",
                value: function render() {
                    var _props = this.props,
                        value = _props.value,
                        className = _props.className,
                        downloadable = _props.downloadable;
                    className = className || "";
                    return _react2.default.createElement("div", {
                        className: "highlight-code"
                    }, !downloadable ? null : _react2.default.createElement("div", {
                        className: "download-contents",
                        onClick: this.downloadText
                    }, "Download"), _react2.default.createElement("pre", {
                        ref: this.initializeComponent,
                        onWheel: this.preventYScrollingBeyondElement,
                        className: className + " microlight"
                    }, value))
                }
            }]);
            return HighlightCode
        }(_react.Component);
        exports.default = HighlightCode
    }, function(module, exports) {
        module.exports = require("js-file-download")
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _slicedToArray2 = __webpack_require__(13);
        var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _immutable = __webpack_require__(7);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _reactImmutableProptypes = __webpack_require__(9);
        var _reactImmutableProptypes2 = _interopRequireDefault(_reactImmutableProptypes);
        var _utils = __webpack_require__(8);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var Responses = function(_React$Component) {
            (0, _inherits3.default)(Responses, _React$Component);

            function Responses() {
                var _ref;
                var _temp, _this, _ret;
                (0, _classCallCheck3.default)(this, Responses);
                for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
                    args[_key] = arguments[_key]
                }
                return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = Responses.__proto__ || (0, _getPrototypeOf2.default)(Responses)).call.apply(_ref, [this].concat(args))), _this), _this.onChangeProducesWrapper = function(val) {
                    return _this.props.specActions.changeProducesValue([_this.props.path, _this.props.method], val)
                }, _this.onResponseContentTypeChange = function(_ref2) {
                    var controlsAcceptHeader = _ref2.controlsAcceptHeader,
                        value = _ref2.value;
                    var _this$props = _this.props,
                        oas3Actions = _this$props.oas3Actions,
                        path = _this$props.path,
                        method = _this$props.method;
                    if (controlsAcceptHeader) {
                        oas3Actions.setResponseContentType({
                            value: value,
                            path: path,
                            method: method
                        })
                    }
                }, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret)
            }(0, _createClass3.default)(Responses, [{
                key: "shouldComponentUpdate",
                value: function shouldComponentUpdate(nextProps) {
                    var render = this.props.tryItOutResponse !== nextProps.tryItOutResponse || this.props.responses !== nextProps.responses || this.props.produces !== nextProps.produces || this.props.producesValue !== nextProps.producesValue || this.props.displayRequestDuration !== nextProps.displayRequestDuration || this.props.path !== nextProps.path || this.props.method !== nextProps.method;
                    return render
                }
            }, {
                key: "render",
                value: function render() {
                    var _this2 = this;
                    var _props = this.props,
                        responses = _props.responses,
                        tryItOutResponse = _props.tryItOutResponse,
                        getComponent = _props.getComponent,
                        getConfigs = _props.getConfigs,
                        specSelectors = _props.specSelectors,
                        fn = _props.fn,
                        producesValue = _props.producesValue,
                        displayRequestDuration = _props.displayRequestDuration,
                        specPath = _props.specPath;
                    var defaultCode = (0, _utils.defaultStatusCode)(responses);
                    var ContentType = getComponent("contentType");
                    var LiveResponse = getComponent("liveResponse");
                    var Response = getComponent("response");
                    var produces = this.props.produces && this.props.produces.size ? this.props.produces : Responses.defaultProps.produces;
                    var isSpecOAS3 = specSelectors.isOAS3();
                    var acceptControllingResponse = isSpecOAS3 ? (0, _utils.getAcceptControllingResponse)(responses) : null;
                    return _react2.default.createElement("div", {
                        className: "responses-wrapper"
                    }, _react2.default.createElement("div", {
                        className: "opblock-section-header"
                    }, _react2.default.createElement("h4", null, "Responses"), specSelectors.isOAS3() ? null : _react2.default.createElement("label", null, _react2.default.createElement("span", null, "Response content type"), _react2.default.createElement(ContentType, {
                        value: producesValue,
                        onChange: this.onChangeProducesWrapper,
                        contentTypes: produces,
                        className: "execute-content-type"
                    }))), _react2.default.createElement("div", {
                        className: "responses-inner"
                    }, !tryItOutResponse ? null : _react2.default.createElement("div", null, _react2.default.createElement(LiveResponse, {
                        response: tryItOutResponse,
                        getComponent: getComponent,
                        getConfigs: getConfigs,
                        specSelectors: specSelectors,
                        path: this.props.path,
                        method: this.props.method,
                        displayRequestDuration: displayRequestDuration
                    }), _react2.default.createElement("h4", null, "Responses")), _react2.default.createElement("table", {
                        className: "responses-table"
                    }, _react2.default.createElement("thead", null, _react2.default.createElement("tr", {
                        className: "responses-header"
                    }, _react2.default.createElement("td", {
                        className: "col col_header response-col_status"
                    }, "Code"), _react2.default.createElement("td", {
                        className: "col col_header response-col_description"
                    }, "Description"), specSelectors.isOAS3() ? _react2.default.createElement("td", {
                        className: "col col_header response-col_links"
                    }, "Links") : null)), _react2.default.createElement("tbody", null, responses.entrySeq().map(function(_ref3) {
                        var _ref4 = (0, _slicedToArray3.default)(_ref3, 2),
                            code = _ref4[0],
                            response = _ref4[1];
                        var className = tryItOutResponse && tryItOutResponse.get("status") == code ? "response_current" : "";
                        return _react2.default.createElement(Response, {
                            key: code,
                            specPath: specPath.push(code),
                            isDefault: defaultCode === code,
                            fn: fn,
                            className: className,
                            code: code,
                            response: response,
                            specSelectors: specSelectors,
                            controlsAcceptHeader: response === acceptControllingResponse,
                            onContentTypeChange: _this2.onResponseContentTypeChange,
                            contentType: producesValue,
                            getConfigs: getConfigs,
                            getComponent: getComponent
                        })
                    }).toArray()))))
                }
            }]);
            return Responses
        }(_react2.default.Component);
        Responses.defaultProps = {
            tryItOutResponse: null,
            produces: (0, _immutable.fromJS)(["application/json"]),
            displayRequestDuration: false
        };
        exports.default = Responses
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _slicedToArray2 = __webpack_require__(13);
        var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _reactImmutableProptypes = __webpack_require__(9);
        var _reactImmutableProptypes2 = _interopRequireDefault(_reactImmutableProptypes);
        var _classnames = __webpack_require__(75);
        var _classnames2 = _interopRequireDefault(_classnames);
        var _immutable = __webpack_require__(7);
        var _utils = __webpack_require__(8);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var getExampleComponent = function getExampleComponent(sampleResponse, examples, HighlightCode) {
            if (examples && examples.size) {
                return examples.entrySeq().map(function(_ref) {
                    var _ref2 = (0, _slicedToArray3.default)(_ref, 2),
                        key = _ref2[0],
                        example = _ref2[1];
                    var exampleValue = (0, _utils.stringify)(example);
                    return _react2.default.createElement("div", {
                        key: key
                    }, _react2.default.createElement("h5", null, key), _react2.default.createElement(HighlightCode, {
                        className: "example",
                        value: exampleValue
                    }))
                }).toArray()
            }
            if (sampleResponse) {
                return _react2.default.createElement("div", null, _react2.default.createElement(HighlightCode, {
                    className: "example",
                    value: sampleResponse
                }))
            }
            return null
        };
        var Response = function(_React$Component) {
            (0, _inherits3.default)(Response, _React$Component);

            function Response(props, context) {
                (0, _classCallCheck3.default)(this, Response);
                var _this = (0, _possibleConstructorReturn3.default)(this, (Response.__proto__ || (0, _getPrototypeOf2.default)(Response)).call(this, props, context));
                _this._onContentTypeChange = function(value) {
                    var _this$props = _this.props,
                        onContentTypeChange = _this$props.onContentTypeChange,
                        controlsAcceptHeader = _this$props.controlsAcceptHeader;
                    _this.setState({
                        responseContentType: value
                    });
                    onContentTypeChange({
                        value: value,
                        controlsAcceptHeader: controlsAcceptHeader
                    })
                };
                _this.state = {
                    responseContentType: ""
                };
                return _this
            }(0, _createClass3.default)(Response, [{
                key: "render",
                value: function render() {
                    var _props = this.props,
                        code = _props.code,
                        response = _props.response,
                        className = _props.className,
                        specPath = _props.specPath,
                        fn = _props.fn,
                        getComponent = _props.getComponent,
                        getConfigs = _props.getConfigs,
                        specSelectors = _props.specSelectors,
                        contentType = _props.contentType,
                        controlsAcceptHeader = _props.controlsAcceptHeader;
                    var inferSchema = fn.inferSchema;
                    var isOAS3 = specSelectors.isOAS3;
                    var headers = response.get("headers");
                    var examples = response.get("examples");
                    var links = response.get("links");
                    var Headers = getComponent("headers");
                    var HighlightCode = getComponent("highlightCode");
                    var ModelExample = getComponent("modelExample");
                    var Markdown = getComponent("Markdown");
                    var OperationLink = getComponent("operationLink");
                    var ContentType = getComponent("contentType");
                    var sampleResponse;
                    var sampleSchema;
                    var schema, specPathWithPossibleSchema;
                    var activeContentType = this.state.responseContentType || contentType;
                    if (isOAS3()) {
                        var mediaType = response.getIn(["content", activeContentType], (0, _immutable.Map)({}));
                        var oas3SchemaForContentType = mediaType.get("schema", (0, _immutable.Map)({}));
                        if (mediaType.get("example") !== undefined) {
                            sampleSchema = (0, _utils.stringify)(mediaType.get("example"))
                        } else {
                            sampleSchema = (0, _utils.getSampleSchema)(oas3SchemaForContentType.toJS(), this.state.responseContentType, {
                                includeReadOnly: true
                            })
                        }
                        sampleResponse = oas3SchemaForContentType ? sampleSchema : null;
                        schema = oas3SchemaForContentType ? inferSchema(oas3SchemaForContentType.toJS()) : null;
                        specPathWithPossibleSchema = oas3SchemaForContentType ? (0, _immutable.List)(["content", this.state.responseContentType, "schema"]) : specPath
                    } else {
                        schema = inferSchema(response.toJS());
                        specPathWithPossibleSchema = response.has("schema") ? specPath.push("schema") : specPath;
                        sampleResponse = schema ? (0, _utils.getSampleSchema)(schema, activeContentType, {
                            includeReadOnly: true,
                            includeWriteOnly: true
                        }) : null
                    }
                    if (examples) {
                        examples = examples.map(function(example) {
                            return example.set ? example.set("$$ref", undefined) : example
                        })
                    }
                    var example = getExampleComponent(sampleResponse, examples, HighlightCode);
                    return _react2.default.createElement("tr", {
                        className: "response " + (className || ""),
                        "data-code": code
                    }, _react2.default.createElement("td", {
                        className: "col response-col_status"
                    }, code), _react2.default.createElement("td", {
                        className: "col response-col_description"
                    }, _react2.default.createElement("div", {
                        className: "response-col_description__inner"
                    }, _react2.default.createElement(Markdown, {
                        source: response.get("description")
                    })), isOAS3 ? _react2.default.createElement("div", {
                        className: (0, _classnames2.default)("response-content-type", {
                            "controls-accept-header": controlsAcceptHeader
                        })
                    }, _react2.default.createElement(ContentType, {
                        value: this.state.responseContentType,
                        contentTypes: response.get("content") ? response.get("content").keySeq() : (0, _immutable.Seq)(),
                        onChange: this._onContentTypeChange
                    }), controlsAcceptHeader ? _react2.default.createElement("small", null, "Controls ", _react2.default.createElement("code", null, "Accept"), " header.") : null) : null, example ? _react2.default.createElement(ModelExample, {
                        specPath: specPathWithPossibleSchema,
                        getComponent: getComponent,
                        getConfigs: getConfigs,
                        specSelectors: specSelectors,
                        schema: (0, _utils.fromJSOrdered)(schema),
                        example: example
                    }) : null, headers ? _react2.default.createElement(Headers, {
                        headers: headers,
                        getComponent: getComponent
                    }) : null), specSelectors.isOAS3() ? _react2.default.createElement("td", {
                        className: "col response-col_links"
                    }, links ? links.toSeq().map(function(link, key) {
                        return _react2.default.createElement(OperationLink, {
                            key: key,
                            name: key,
                            link: link,
                            getComponent: getComponent
                        })
                    }) : _react2.default.createElement("i", null, "No links")) : null)
                }
            }]);
            return Response
        }(_react2.default.Component);
        Response.defaultProps = {
            response: (0, _immutable.fromJS)({}),
            onContentTypeChange: function onContentTypeChange() {}
        };
        exports.default = Response
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _stringify = __webpack_require__(30);
        var _stringify2 = _interopRequireDefault(_stringify);
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _xmlButPrettier = __webpack_require__(607);
        var _xmlButPrettier2 = _interopRequireDefault(_xmlButPrettier);
        var _toLower = __webpack_require__(608);
        var _toLower2 = _interopRequireDefault(_toLower);
        var _utils = __webpack_require__(8);
        var _window = __webpack_require__(22);
        var _window2 = _interopRequireDefault(_window);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var ResponseBody = function(_React$PureComponent) {
            (0, _inherits3.default)(ResponseBody, _React$PureComponent);

            function ResponseBody() {
                var _ref;
                var _temp, _this, _ret;
                (0, _classCallCheck3.default)(this, ResponseBody);
                for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
                    args[_key] = arguments[_key]
                }
                return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = ResponseBody.__proto__ || (0, _getPrototypeOf2.default)(ResponseBody)).call.apply(_ref, [this].concat(args))), _this), _this.state = {
                    parsedContent: null
                }, _this.updateParsedContent = function(prevContent) {
                    var content = _this.props.content;
                    if (prevContent === content) {
                        return
                    }
                    if (content && content instanceof Blob) {
                        var reader = new FileReader;
                        reader.onload = function() {
                            _this.setState({
                                parsedContent: reader.result
                            })
                        };
                        reader.readAsText(content)
                    } else {
                        _this.setState({
                            parsedContent: content.toString()
                        })
                    }
                }, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret)
            }(0, _createClass3.default)(ResponseBody, [{
                key: "componentDidMount",
                value: function componentDidMount() {
                    this.updateParsedContent(null)
                }
            }, {
                key: "componentDidUpdate",
                value: function componentDidUpdate(prevProps) {
                    this.updateParsedContent(prevProps.content)
                }
            }, {
                key: "render",
                value: function render() {
                    var _props = this.props,
                        content = _props.content,
                        contentType = _props.contentType,
                        url = _props.url,
                        _props$headers = _props.headers,
                        headers = _props$headers === undefined ? {} : _props$headers,
                        getComponent = _props.getComponent;
                    var parsedContent = this.state.parsedContent;
                    var HighlightCode = getComponent("highlightCode");
                    var downloadName = "response_" + (new Date).getTime();
                    var body = void 0,
                        bodyEl = void 0;
                    url = url || "";
                    if (/^application\/octet-stream/i.test(contentType) || headers["Content-Disposition"] && /attachment/i.test(headers["Content-Disposition"]) || headers["content-disposition"] && /attachment/i.test(headers["content-disposition"]) || headers["Content-Description"] && /File Transfer/i.test(headers["Content-Description"]) || headers["content-description"] && /File Transfer/i.test(headers["content-description"])) {
                        if ("Blob" in window) {
                            var type = contentType || "text/html";
                            var blob = content instanceof Blob ? content : new Blob([content], {
                                type: type
                            });
                            var href = window.URL.createObjectURL(blob);
                            var fileName = url.substr(url.lastIndexOf("/") + 1);
                            var download = [type, fileName, href].join(":");
                            var disposition = headers["content-disposition"] || headers["Content-Disposition"];
                            if (typeof disposition !== "undefined") {
                                var responseFilename = (0, _utils.extractFileNameFromContentDispositionHeader)(disposition);
                                if (responseFilename !== null) {
                                    download = responseFilename
                                }
                            }
                            if (_window2.default.navigator && _window2.default.navigator.msSaveOrOpenBlob) {
                                bodyEl = _react2.default.createElement("div", null, _react2.default.createElement("a", {
                                    href: href,
                                    onClick: function onClick() {
                                        return _window2.default.navigator.msSaveOrOpenBlob(blob, download)
                                    }
                                }, "Download file"))
                            } else {
                                bodyEl = _react2.default.createElement("div", null, _react2.default.createElement("a", {
                                    href: href,
                                    download: download
                                }, "Download file"))
                            }
                        } else {
                            bodyEl = _react2.default.createElement("pre", null, "Download headers detected but your browser does not support downloading binary via XHR (Blob).")
                        }
                    } else if (/json/i.test(contentType)) {
                        try {
                            body = (0, _stringify2.default)(JSON.parse(content), null, "  ")
                        } catch (error) {
                            body = "can't parse JSON.  Raw result:\n\n" + content
                        }
                        bodyEl = _react2.default.createElement(HighlightCode, {
                            downloadable: true,
                            fileName: downloadName + ".json",
                            value: body
                        })
                    } else if (/xml/i.test(contentType)) {
                        body = (0, _xmlButPrettier2.default)(content, {
                            textNodesOnSameLine: true,
                            indentor: "  "
                        });
                        bodyEl = _react2.default.createElement(HighlightCode, {
                            downloadable: true,
                            fileName: downloadName + ".xml",
                            value: body
                        })
                    } else if ((0, _toLower2.default)(contentType) === "text/html" || /text\/plain/.test(contentType)) {
                        bodyEl = _react2.default.createElement(HighlightCode, {
                            downloadable: true,
                            fileName: downloadName + ".html",
                            value: content
                        })
                    } else if (/^image\//i.test(contentType)) {
                        if (contentType.includes("svg")) {
                            bodyEl = _react2.default.createElement("div", null, " ", content, " ")
                        } else {
                            bodyEl = _react2.default.createElement("img", {
                                style: {
                                    maxWidth: "100%"
                                },
                                src: window.URL.createObjectURL(content)
                            })
                        }
                    } else if (/^audio\//i.test(contentType)) {
                        bodyEl = _react2.default.createElement("pre", null, _react2.default.createElement("audio", {
                            controls: true
                        }, _react2.default.createElement("source", {
                            src: url,
                            type: contentType
                        })))
                    } else if (typeof content === "string") {
                        bodyEl = _react2.default.createElement(HighlightCode, {
                            downloadable: true,
                            fileName: downloadName + ".txt",
                            value: content
                        })
                    } else if (content.size > 0) {
                        if (parsedContent) {
                            bodyEl = _react2.default.createElement("div", null, _react2.default.createElement("p", {
                                className: "i"
                            }, "Unrecognized response type; displaying content as text."), _react2.default.createElement(HighlightCode, {
                                downloadable: true,
                                fileName: downloadName + ".txt",
                                value: parsedContent
                            }))
                        } else {
                            bodyEl = _react2.default.createElement("p", {
                                className: "i"
                            }, "Unrecognized response type; unable to display.")
                        }
                    } else {
                        bodyEl = null
                    }
                    return !bodyEl ? null : _react2.default.createElement("div", null, _react2.default.createElement("h5", null, "Response body"), bodyEl)
                }
            }]);
            return ResponseBody
        }(_react2.default.PureComponent);
        exports.default = ResponseBody
    }, function(module, exports) {
        module.exports = require("xml-but-prettier")
    }, function(module, exports, __webpack_require__) {
        var toString = __webpack_require__(51);

        function toLower(value) {
            return toString(value).toLowerCase()
        }
        module.exports = toLower
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _reactImmutableProptypes = __webpack_require__(9);
        var _reactImmutableProptypes2 = _interopRequireDefault(_reactImmutableProptypes);
        var _immutable = __webpack_require__(7);
        var _immutable2 = _interopRequireDefault(_immutable);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var eachMap = function eachMap(iterable, fn) {
            return iterable.valueSeq().filter(_immutable2.default.Map.isMap).map(fn)
        };
        var Parameters = function(_Component) {
            (0, _inherits3.default)(Parameters, _Component);

            function Parameters() {
                var _ref;
                var _temp, _this, _ret;
                (0, _classCallCheck3.default)(this, Parameters);
                for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
                    args[_key] = arguments[_key]
                }
                return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = Parameters.__proto__ || (0, _getPrototypeOf2.default)(Parameters)).call.apply(_ref, [this].concat(args))), _this), _this.onChange = function(param, value, isXml) {
                    var _this$props = _this.props,
                        changeParamByIdentity = _this$props.specActions.changeParamByIdentity,
                        onChangeKey = _this$props.onChangeKey;
                    changeParamByIdentity(onChangeKey, param, value, isXml)
                }, _this.onChangeConsumesWrapper = function(val) {
                    var _this$props2 = _this.props,
                        changeConsumesValue = _this$props2.specActions.changeConsumesValue,
                        onChangeKey = _this$props2.onChangeKey;
                    changeConsumesValue(onChangeKey, val)
                }, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret)
            }(0, _createClass3.default)(Parameters, [{
                key: "render",
                value: function render() {
                    var _this2 = this;
                    var _props = this.props,
                        onTryoutClick = _props.onTryoutClick,
                        onCancelClick = _props.onCancelClick,
                        parameters = _props.parameters,
                        allowTryItOut = _props.allowTryItOut,
                        tryItOutEnabled = _props.tryItOutEnabled,
                        specPath = _props.specPath,
                        fn = _props.fn,
                        getComponent = _props.getComponent,
                        getConfigs = _props.getConfigs,
                        specSelectors = _props.specSelectors,
                        specActions = _props.specActions,
                        pathMethod = _props.pathMethod;
                    var ParameterRow = getComponent("parameterRow");
                    var TryItOutButton = getComponent("TryItOutButton");
                    var isExecute = tryItOutEnabled && allowTryItOut;
                    return _react2.default.createElement("div", {
                        className: "opblock-section"
                    }, _react2.default.createElement("div", {
                        className: "opblock-section-header"
                    }, _react2.default.createElement("div", {
                        className: "tab-header"
                    }, _react2.default.createElement("h4", {
                        className: "opblock-title"
                    }, "Parameters")), allowTryItOut ? _react2.default.createElement(TryItOutButton, {
                        enabled: tryItOutEnabled,
                        onCancelClick: onCancelClick,
                        onTryoutClick: onTryoutClick
                    }) : null), !parameters.count() ? _react2.default.createElement("div", {
                        className: "opblock-description-wrapper"
                    }, _react2.default.createElement("p", null, "No parameters")) : _react2.default.createElement("div", {
                        className: "table-container"
                    }, _react2.default.createElement("table", {
                        className: "parameters"
                    }, _react2.default.createElement("thead", null, _react2.default.createElement("tr", null, _react2.default.createElement("th", {
                        className: "col col_header parameters-col_name"
                    }, "Name"), _react2.default.createElement("th", {
                        className: "col col_header parameters-col_description"
                    }, "Description"))), _react2.default.createElement("tbody", null, eachMap(parameters, function(parameter, i) {
                        return _react2.default.createElement(ParameterRow, {
                            fn: fn,
                            specPath: specPath.push(i.toString()),
                            getComponent: getComponent,
                            getConfigs: getConfigs,
                            rawParam: parameter,
                            param: specSelectors.parameterWithMetaByIdentity(pathMethod, parameter),
                            key: parameter.get("in") + "." + parameter.get("name"),
                            onChange: _this2.onChange,
                            onChangeConsumes: _this2.onChangeConsumesWrapper,
                            specSelectors: specSelectors,
                            specActions: specActions,
                            pathMethod: pathMethod,
                            isExecute: isExecute
                        })
                    }).toArray()))))
                }
            }]);
            return Parameters
        }(_react.Component);
        Parameters.defaultProps = {
            onTryoutClick: Function.prototype,
            onCancelClick: Function.prototype,
            tryItOutEnabled: false,
            allowTryItOut: true,
            onChangeKey: [],
            specPath: []
        };
        exports.default = Parameters
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.ParameterExt = undefined;
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var ParameterExt = exports.ParameterExt = function ParameterExt(_ref) {
            var xKey = _ref.xKey,
                xVal = _ref.xVal;
            return _react2.default.createElement("div", {
                className: "parameter__extension"
            }, xKey, ": ", String(xVal))
        };
        exports.default = ParameterExt
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.ParameterIncludeEmpty = undefined;
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _classnames = __webpack_require__(75);
        var _classnames2 = _interopRequireDefault(_classnames);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _reactImmutableProptypes = __webpack_require__(9);
        var _reactImmutableProptypes2 = _interopRequireDefault(_reactImmutableProptypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var ParameterIncludeEmpty = exports.ParameterIncludeEmpty = function ParameterIncludeEmpty(_ref) {
            var param = _ref.param,
                isIncluded = _ref.isIncluded,
                onChange = _ref.onChange,
                isDisabled = _ref.isDisabled;
            var onCheckboxChange = function onCheckboxChange(e) {
                onChange(e.target.checked)
            };
            if (!param.get("allowEmptyValue")) {
                return null
            }
            return _react2.default.createElement("div", {
                className: (0, _classnames2.default)("parameter__empty_value_toggle", {
                    disabled: isDisabled
                })
            }, _react2.default.createElement("input", {
                type: "checkbox",
                disabled: isDisabled,
                checked: !isDisabled && isIncluded,
                onChange: onCheckboxChange
            }), "Send empty value")
        };
        exports.default = ParameterIncludeEmpty
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _immutable = __webpack_require__(7);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _reactImmutableProptypes = __webpack_require__(9);
        var _reactImmutableProptypes2 = _interopRequireDefault(_reactImmutableProptypes);
        var _window = __webpack_require__(22);
        var _window2 = _interopRequireDefault(_window);
        var _utils = __webpack_require__(8);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var ParameterRow = function(_Component) {
            (0, _inherits3.default)(ParameterRow, _Component);

            function ParameterRow(props, context) {
                (0, _classCallCheck3.default)(this, ParameterRow);
                var _this = (0, _possibleConstructorReturn3.default)(this, (ParameterRow.__proto__ || (0, _getPrototypeOf2.default)(ParameterRow)).call(this, props, context));
                _this.onChangeWrapper = function(value) {
                    var isXml = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
                    var _this$props = _this.props,
                        onChange = _this$props.onChange,
                        rawParam = _this$props.rawParam;
                    var valueForUpstream = void 0;
                    if (value === "" || value && value.size === 0) {
                        valueForUpstream = null
                    } else {
                        valueForUpstream = value
                    }
                    return onChange(rawParam, valueForUpstream, isXml)
                };
                _this.onChangeIncludeEmpty = function(newValue) {
                    var _this$props2 = _this.props,
                        specActions = _this$props2.specActions,
                        param = _this$props2.param,
                        pathMethod = _this$props2.pathMethod;
                    var paramName = param.get("name");
                    var paramIn = param.get("in");
                    return specActions.updateEmptyParamInclusion(pathMethod, paramName, paramIn, newValue)
                };
                _this.setDefaultValue = function() {
                    var _this$props3 = _this.props,
                        specSelectors = _this$props3.specSelectors,
                        pathMethod = _this$props3.pathMethod,
                        rawParam = _this$props3.rawParam;
                    var paramWithMeta = specSelectors.parameterWithMetaByIdentity(pathMethod, rawParam);
                    if (paramWithMeta.get("value") !== undefined) {
                        return
                    }
                    if (paramWithMeta.get("in") !== "body") {
                        var newValue = void 0;
                        if (specSelectors.isSwagger2()) {
                            newValue = paramWithMeta.get("x-example") || paramWithMeta.getIn(["default"]) || paramWithMeta.getIn(["schema", "example"]) || paramWithMeta.getIn(["schema", "default"])
                        } else if (specSelectors.isOAS3()) {
                            newValue = paramWithMeta.get("example") || paramWithMeta.getIn(["schema", "example"]) || paramWithMeta.getIn(["schema", "default"])
                        }
                        if (newValue !== undefined) {
                            _this.onChangeWrapper((0, _utils.numberToString)(newValue))
                        }
                    }
                };
                _this.setDefaultValue();
                return _this
            }(0, _createClass3.default)(ParameterRow, [{
                key: "componentWillReceiveProps",
                value: function componentWillReceiveProps(props) {
                    var specSelectors = props.specSelectors,
                        pathMethod = props.pathMethod,
                        rawParam = props.rawParam;
                    var isOAS3 = specSelectors.isOAS3;
                    var parameterWithMeta = specSelectors.parameterWithMetaByIdentity(pathMethod, rawParam);
                    parameterWithMeta = parameterWithMeta.isEmpty() ? rawParam : parameterWithMeta;
                    var enumValue = void 0;
                    if (isOAS3()) {
                        var schema = parameterWithMeta.get("schema") || (0, _immutable.Map)();
                        enumValue = schema.get("enum")
                    } else {
                        enumValue = parameterWithMeta ? parameterWithMeta.get("enum") : undefined
                    }
                    var paramValue = parameterWithMeta ? parameterWithMeta.get("value") : undefined;
                    var value = void 0;
                    if (paramValue !== undefined) {
                        value = paramValue
                    } else if (rawParam.get("required") && enumValue && enumValue.size) {
                        value = enumValue.first()
                    }
                    if (value !== undefined && value !== paramValue) {
                        this.onChangeWrapper((0, _utils.numberToString)(value))
                    }
                    this.setDefaultValue()
                }
            }, {
                key: "render",
                value: function render() {
                    var _props = this.props,
                        param = _props.param,
                        rawParam = _props.rawParam,
                        getComponent = _props.getComponent,
                        getConfigs = _props.getConfigs,
                        isExecute = _props.isExecute,
                        fn = _props.fn,
                        onChangeConsumes = _props.onChangeConsumes,
                        specSelectors = _props.specSelectors,
                        pathMethod = _props.pathMethod,
                        specPath = _props.specPath;
                    var isOAS3 = specSelectors.isOAS3;
                    var _getConfigs = getConfigs(),
                        showExtensions = _getConfigs.showExtensions,
                        showCommonExtensions = _getConfigs.showCommonExtensions;
                    var JsonSchemaForm = getComponent("JsonSchemaForm");
                    var ParamBody = getComponent("ParamBody");
                    var inType = param.get("in");
                    var bodyParam = inType !== "body" ? null : _react2.default.createElement(ParamBody, {
                        getComponent: getComponent,
                        fn: fn,
                        param: param,
                        consumes: specSelectors.operationConsumes(pathMethod),
                        consumesValue: specSelectors.contentTypeValues(pathMethod).get("requestContentType"),
                        onChange: this.onChangeWrapper,
                        onChangeConsumes: onChangeConsumes,
                        isExecute: isExecute,
                        specSelectors: specSelectors,
                        pathMethod: pathMethod
                    });
                    var ModelExample = getComponent("modelExample");
                    var Markdown = getComponent("Markdown");
                    var ParameterExt = getComponent("ParameterExt");
                    var ParameterIncludeEmpty = getComponent("ParameterIncludeEmpty");
                    var paramWithMeta = specSelectors.parameterWithMetaByIdentity(pathMethod, rawParam);
                    var format = param.get("format");
                    var schema = isOAS3 && isOAS3() ? param.get("schema") : param;
                    var type = schema.get("type");
                    var isFormData = inType === "formData";
                    var isFormDataSupported = "FormData" in _window2.default;
                    var required = param.get("required");
                    var itemType = schema.getIn(["items", "type"]);
                    var value = paramWithMeta ? paramWithMeta.get("value") : "";
                    var commonExt = showCommonExtensions ? (0, _utils.getCommonExtensions)(param) : null;
                    var extensions = showExtensions ? (0, _utils.getExtensions)(param) : null;
                    var paramItems = void 0;
                    var paramEnum = void 0;
                    var paramDefaultValue = void 0;
                    var paramExample = void 0;
                    var isDisplayParamEnum = false;
                    if (param !== undefined) {
                        paramItems = schema.get("items")
                    }
                    if (paramItems !== undefined) {
                        paramEnum = paramItems.get("enum");
                        paramDefaultValue = paramItems.get("default")
                    } else {
                        paramEnum = schema.get("enum")
                    }
                    if (paramEnum !== undefined && paramEnum.size > 0) {
                        isDisplayParamEnum = true
                    }
                    if (param !== undefined) {
                        paramDefaultValue = schema.get("default");
                        paramExample = param.get("example");
                        if (paramExample === undefined) {
                            paramExample = param.get("x-example")
                        }
                    }
                    return _react2.default.createElement("tr", {
                        "data-param-name": param.get("name"),
                        "data-param-in": param.get("in")
                    }, _react2.default.createElement("td", {
                        className: "col parameters-col_name"
                    }, _react2.default.createElement("div", {
                        className: required ? "parameter__name required" : "parameter__name"
                    }, param.get("name"), !required ? null : _react2.default.createElement("span", {
                        style: {
                            color: "red"
                        }
                    }, " *")), _react2.default.createElement("div", {
                        className: "parameter__type"
                    }, type, itemType && "[" + itemType + "]", format && _react2.default.createElement("span", {
                        className: "prop-format"
                    }, "($", format, ")")), _react2.default.createElement("div", {
                        className: "parameter__deprecated"
                    }, isOAS3 && isOAS3() && param.get("deprecated") ? "deprecated" : null), _react2.default.createElement("div", {
                        className: "parameter__in"
                    }, "(", param.get("in"), ")"), !showCommonExtensions || !commonExt.size ? null : commonExt.map(function(v, key) {
                        return _react2.default.createElement(ParameterExt, {
                            key: key + "-" + v,
                            xKey: key,
                            xVal: v
                        })
                    }), !showExtensions || !extensions.size ? null : extensions.map(function(v, key) {
                        return _react2.default.createElement(ParameterExt, {
                            key: key + "-" + v,
                            xKey: key,
                            xVal: v
                        })
                    })), _react2.default.createElement("td", {
                        className: "col parameters-col_description"
                    }, param.get("description") ? _react2.default.createElement(Markdown, {
                        source: param.get("description")
                    }) : null, (bodyParam || !isExecute) && isDisplayParamEnum ? _react2.default.createElement(Markdown, {
                        className: "parameter__enum",
                        source: "<i>Available values</i> : " + paramEnum.map(function(item) {
                            return item
                        }).toArray().join(", ")
                    }) : null, (bodyParam || !isExecute) && paramDefaultValue !== undefined ? _react2.default.createElement(Markdown, {
                        className: "parameter__default",
                        source: "<i>Default value</i> : " + paramDefaultValue
                    }) : null, isFormData && !isFormDataSupported && _react2.default.createElement("div", null, "Error: your browser does not support FormData"), bodyParam || !isExecute ? null : _react2.default.createElement(JsonSchemaForm, {
                        fn: fn,
                        getComponent: getComponent,
                        value: value,
                        required: required,
                        description: param.get("description") ? param.get("name") + " - " + param.get("description") : "" + param.get("name"),
                        onChange: this.onChangeWrapper,
                        errors: paramWithMeta.get("errors"),
                        schema: schema
                    }), bodyParam && schema ? _react2.default.createElement(ModelExample, {
                        getComponent: getComponent,
                        specPath: specPath.push("schema"),
                        getConfigs: getConfigs,
                        isExecute: isExecute,
                        specSelectors: specSelectors,
                        schema: param.get("schema"),
                        example: bodyParam
                    }) : null, !bodyParam && isExecute ? _react2.default.createElement(ParameterIncludeEmpty, {
                        onChange: this.onChangeIncludeEmpty,
                        isIncluded: specSelectors.parameterInclusionSettingFor(pathMethod, param.get("name"), param.get("in")),
                        isDisabled: value && value.size !== 0,
                        param: param
                    }) : null))
                }
            }]);
            return ParameterRow
        }(_react.Component);
        exports.default = ParameterRow
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var Execute = function(_Component) {
            (0, _inherits3.default)(Execute, _Component);

            function Execute() {
                var _ref;
                var _temp, _this, _ret;
                (0, _classCallCheck3.default)(this, Execute);
                for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
                    args[_key] = arguments[_key]
                }
                return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = Execute.__proto__ || (0, _getPrototypeOf2.default)(Execute)).call.apply(_ref, [this].concat(args))), _this), _this.onClick = function() {
                    var _this$props = _this.props,
                        specSelectors = _this$props.specSelectors,
                        specActions = _this$props.specActions,
                        operation = _this$props.operation,
                        path = _this$props.path,
                        method = _this$props.method;
                    specActions.validateParams([path, method]);
                    if (specSelectors.validateBeforeExecute([path, method])) {
                        if (_this.props.onExecute) {
                            _this.props.onExecute()
                        }
                        specActions.execute({
                            operation: operation,
                            path: path,
                            method: method
                        })
                    }
                }, _this.onChangeProducesWrapper = function(val) {
                    return _this.props.specActions.changeProducesValue([_this.props.path, _this.props.method], val)
                }, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret)
            }(0, _createClass3.default)(Execute, [{
                key: "render",
                value: function render() {
                    return _react2.default.createElement("button", {
                        className: "btn execute opblock-control__btn",
                        onClick: this.onClick
                    }, "Execute")
                }
            }]);
            return Execute
        }(_react.Component);
        exports.default = Execute
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _slicedToArray2 = __webpack_require__(13);
        var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _immutable = __webpack_require__(7);
        var _immutable2 = _interopRequireDefault(_immutable);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var propStyle = {
            color: "#999",
            fontStyle: "italic"
        };
        var Headers = function(_React$Component) {
            (0, _inherits3.default)(Headers, _React$Component);

            function Headers() {
                (0, _classCallCheck3.default)(this, Headers);
                return (0, _possibleConstructorReturn3.default)(this, (Headers.__proto__ || (0, _getPrototypeOf2.default)(Headers)).apply(this, arguments))
            }(0, _createClass3.default)(Headers, [{
                key: "render",
                value: function render() {
                    var _props = this.props,
                        headers = _props.headers,
                        getComponent = _props.getComponent;
                    var Property = getComponent("Property");
                    if (!headers || !headers.size) return null;
                    return _react2.default.createElement("div", {
                        className: "headers-wrapper"
                    }, _react2.default.createElement("h4", {
                        className: "headers__title"
                    }, "Headers:"), _react2.default.createElement("table", {
                        className: "headers"
                    }, _react2.default.createElement("thead", null, _react2.default.createElement("tr", {
                        className: "header-row"
                    }, _react2.default.createElement("th", {
                        className: "header-col"
                    }, "Name"), _react2.default.createElement("th", {
                        className: "header-col"
                    }, "Description"), _react2.default.createElement("th", {
                        className: "header-col"
                    }, "Type"))), _react2.default.createElement("tbody", null, headers.entrySeq().map(function(_ref) {
                        var _ref2 = (0, _slicedToArray3.default)(_ref, 2),
                            key = _ref2[0],
                            header = _ref2[1];
                        if (!_immutable2.default.Map.isMap(header)) {
                            return null
                        }
                        var type = header.getIn(["schema"]) ? header.getIn(["schema", "type"]) : header.getIn(["type"]);
                        var schemaExample = header.getIn(["schema", "example"]);
                        return _react2.default.createElement("tr", {
                            key: key
                        }, _react2.default.createElement("td", {
                            className: "header-col"
                        }, key), _react2.default.createElement("td", {
                            className: "header-col"
                        }, header.get("description")), _react2.default.createElement("td", {
                            className: "header-col"
                        }, type, " ", schemaExample ? _react2.default.createElement(Property, {
                            propKey: "Example",
                            propVal: schemaExample,
                            propStyle: propStyle
                        }) : null))
                    }).toArray())))
                }
            }]);
            return Headers
        }(_react2.default.Component);
        exports.default = Headers
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _immutable = __webpack_require__(7);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var Errors = function(_React$Component) {
            (0, _inherits3.default)(Errors, _React$Component);

            function Errors() {
                (0, _classCallCheck3.default)(this, Errors);
                return (0, _possibleConstructorReturn3.default)(this, (Errors.__proto__ || (0, _getPrototypeOf2.default)(Errors)).apply(this, arguments))
            }(0, _createClass3.default)(Errors, [{
                key: "render",
                value: function render() {
                    var _props = this.props,
                        editorActions = _props.editorActions,
                        errSelectors = _props.errSelectors,
                        layoutSelectors = _props.layoutSelectors,
                        layoutActions = _props.layoutActions,
                        getComponent = _props.getComponent;
                    var Collapse = getComponent("Collapse");
                    if (editorActions && editorActions.jumpToLine) {
                        var jumpToLine = editorActions.jumpToLine
                    }
                    var errors = errSelectors.allErrors();
                    var allErrorsToDisplay = errors.filter(function(err) {
                        return err.get("type") === "thrown" ? true : err.get("level") === "error"
                    });
                    if (!allErrorsToDisplay || allErrorsToDisplay.count() < 1) {
                        return null
                    }
                    var isVisible = layoutSelectors.isShown(["errorPane"], true);
                    var toggleVisibility = function toggleVisibility() {
                        return layoutActions.show(["errorPane"], !isVisible)
                    };
                    var sortedJSErrors = allErrorsToDisplay.sortBy(function(err) {
                        return err.get("line")
                    });
                    return _react2.default.createElement("pre", {
                        className: "errors-wrapper"
                    }, _react2.default.createElement("hgroup", {
                        className: "error"
                    }, _react2.default.createElement("h4", {
                        className: "errors__title"
                    }, "Errors"), _react2.default.createElement("button", {
                        className: "btn errors__clear-btn",
                        onClick: toggleVisibility
                    }, isVisible ? "Hide" : "Show")), _react2.default.createElement(Collapse, {
                        isOpened: isVisible,
                        animated: true
                    }, _react2.default.createElement("div", {
                        className: "errors"
                    }, sortedJSErrors.map(function(err, i) {
                        var type = err.get("type");
                        if (type === "thrown" || type === "auth") {
                            return _react2.default.createElement(ThrownErrorItem, {
                                key: i,
                                error: err.get("error") || err,
                                jumpToLine: jumpToLine
                            })
                        }
                        if (type === "spec") {
                            return _react2.default.createElement(SpecErrorItem, {
                                key: i,
                                error: err,
                                jumpToLine: jumpToLine
                            })
                        }
                    }))))
                }
            }]);
            return Errors
        }(_react2.default.Component);
        exports.default = Errors;
        var ThrownErrorItem = function ThrownErrorItem(_ref) {
            var error = _ref.error,
                jumpToLine = _ref.jumpToLine;
            if (!error) {
                return null
            }
            var errorLine = error.get("line");
            return _react2.default.createElement("div", {
                className: "error-wrapper"
            }, !error ? null : _react2.default.createElement("div", null, _react2.default.createElement("h4", null, error.get("source") && error.get("level") ? toTitleCase(error.get("source")) + " " + error.get("level") : "", error.get("path") ? _react2.default.createElement("small", null, " at ", error.get("path")) : null), _react2.default.createElement("span", {
                style: {
                    whiteSpace: "pre-line",
                    maxWidth: "100%"
                }
            }, error.get("message")), _react2.default.createElement("div", {
                style: {
                    "text-decoration": "underline",
                    cursor: "pointer"
                }
            }, errorLine && jumpToLine ? _react2.default.createElement("a", {
                onClick: jumpToLine.bind(null, errorLine)
            }, "Jump to line ", errorLine) : null)))
        };
        var SpecErrorItem = function SpecErrorItem(_ref2) {
            var error = _ref2.error,
                jumpToLine = _ref2.jumpToLine;
            var locationMessage = null;
            if (error.get("path")) {
                if (_immutable.List.isList(error.get("path"))) {
                    locationMessage = _react2.default.createElement("small", null, "at ", error.get("path").join("."))
                } else {
                    locationMessage = _react2.default.createElement("small", null, "at ", error.get("path"))
                }
            } else if (error.get("line") && !jumpToLine) {
                locationMessage = _react2.default.createElement("small", null, "on line ", error.get("line"))
            }
            return _react2.default.createElement("div", {
                className: "error-wrapper"
            }, !error ? null : _react2.default.createElement("div", null, _react2.default.createElement("h4", null, toTitleCase(error.get("source")) + " " + error.get("level"), " ", locationMessage), _react2.default.createElement("span", {
                style: {
                    whiteSpace: "pre-line"
                }
            }, error.get("message")), _react2.default.createElement("div", {
                style: {
                    "text-decoration": "underline",
                    cursor: "pointer"
                }
            }, jumpToLine ? _react2.default.createElement("a", {
                onClick: jumpToLine.bind(null, error.get("line"))
            }, "Jump to line ", error.get("line")) : null)))
        };

        function toTitleCase(str) {
            return (str || "").split(" ").map(function(substr) {
                return substr[0].toUpperCase() + substr.slice(1)
            }).join(" ")
        }
        ThrownErrorItem.defaultProps = {
            jumpToLine: null
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _reactImmutableProptypes = __webpack_require__(9);
        var _reactImmutableProptypes2 = _interopRequireDefault(_reactImmutableProptypes);
        var _immutable = __webpack_require__(7);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var noop = function noop() {};
        var ContentType = function(_React$Component) {
            (0, _inherits3.default)(ContentType, _React$Component);

            function ContentType() {
                var _ref;
                var _temp, _this, _ret;
                (0, _classCallCheck3.default)(this, ContentType);
                for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
                    args[_key] = arguments[_key]
                }
                return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = ContentType.__proto__ || (0, _getPrototypeOf2.default)(ContentType)).call.apply(_ref, [this].concat(args))), _this), _this.onChangeWrapper = function(e) {
                    return _this.props.onChange(e.target.value)
                }, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret)
            }(0, _createClass3.default)(ContentType, [{
                key: "componentDidMount",
                value: function componentDidMount() {
                    if (this.props.contentTypes) {
                        this.props.onChange(this.props.contentTypes.first())
                    }
                }
            }, {
                key: "componentWillReceiveProps",
                value: function componentWillReceiveProps(nextProps) {
                    if (!nextProps.contentTypes || !nextProps.contentTypes.size) {
                        return
                    }
                    if (!nextProps.contentTypes.includes(nextProps.value)) {
                        nextProps.onChange(nextProps.contentTypes.first())
                    }
                }
            }, {
                key: "render",
                value: function render() {
                    var _props = this.props,
                        contentTypes = _props.contentTypes,
                        className = _props.className,
                        value = _props.value;
                    if (!contentTypes || !contentTypes.size) return null;
                    return _react2.default.createElement("div", {
                        className: "content-type-wrapper " + (className || "")
                    }, _react2.default.createElement("select", {
                        className: "content-type",
                        value: value || "",
                        onChange: this.onChangeWrapper
                    }, contentTypes.map(function(val) {
                        return _react2.default.createElement("option", {
                            key: val,
                            value: val
                        }, val)
                    }).toArray()))
                }
            }]);
            return ContentType
        }(_react2.default.Component);
        ContentType.defaultProps = {
            onChange: noop,
            value: null,
            contentTypes: (0, _immutable.fromJS)(["application/json"])
        };
        exports.default = ContentType
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.OperationLink = undefined;
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _layoutUtils = __webpack_require__(259);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var Overview = function(_React$Component) {
            (0, _inherits3.default)(Overview, _React$Component);

            function Overview() {
                var _ref;
                (0, _classCallCheck3.default)(this, Overview);
                for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
                    args[_key] = arguments[_key]
                }
                var _this = (0, _possibleConstructorReturn3.default)(this, (_ref = Overview.__proto__ || (0, _getPrototypeOf2.default)(Overview)).call.apply(_ref, [this].concat(args)));
                _this.setTagShown = _this._setTagShown.bind(_this);
                return _this
            }(0, _createClass3.default)(Overview, [{
                key: "_setTagShown",
                value: function _setTagShown(showTagId, shown) {
                    this.props.layoutActions.show(showTagId, shown)
                }
            }, {
                key: "showOp",
                value: function showOp(key, shown) {
                    var layoutActions = this.props.layoutActions;
                    layoutActions.show(key, shown)
                }
            }, {
                key: "render",
                value: function render() {
                    var _props = this.props,
                        specSelectors = _props.specSelectors,
                        layoutSelectors = _props.layoutSelectors,
                        layoutActions = _props.layoutActions,
                        getComponent = _props.getComponent;
                    var taggedOps = specSelectors.taggedOperations();
                    var Collapse = getComponent("Collapse");
                    return _react2.default.createElement("div", null, _react2.default.createElement("h4", {
                        className: "overview-title"
                    }, "Overview"), taggedOps.map(function(tagObj, tag) {
                        var operations = tagObj.get("operations");
                        var showTagId = ["overview-tags", tag];
                        var showTag = layoutSelectors.isShown(showTagId, true);
                        var toggleShow = function toggleShow() {
                            return layoutActions.show(showTagId, !showTag)
                        };
                        return _react2.default.createElement("div", {
                            key: "overview-" + tag
                        }, _react2.default.createElement("h4", {
                            onClick: toggleShow,
                            className: "link overview-tag"
                        }, " ", showTag ? "-" : "+", tag), _react2.default.createElement(Collapse, {
                            isOpened: showTag,
                            animated: true
                        }, operations.map(function(op) {
                            var _op$toObject = op.toObject(),
                                path = _op$toObject.path,
                                method = _op$toObject.method,
                                id = _op$toObject.id;
                            var showOpIdPrefix = "operations";
                            var showOpId = id;
                            var shown = layoutSelectors.isShown([showOpIdPrefix, showOpId]);
                            return _react2.default.createElement(OperationLink, {
                                key: id,
                                path: path,
                                method: method,
                                id: path + "-" + method,
                                shown: shown,
                                showOpId: showOpId,
                                showOpIdPrefix: showOpIdPrefix,
                                href: "#operation-" + showOpId,
                                onClick: layoutActions.show
                            })
                        }).toArray()))
                    }).toArray(), taggedOps.size < 1 && _react2.default.createElement("h3", null, " No operations defined in spec! "))
                }
            }]);
            return Overview
        }(_react2.default.Component);
        exports.default = Overview;
        var OperationLink = exports.OperationLink = function(_React$Component2) {
            (0, _inherits3.default)(OperationLink, _React$Component2);

            function OperationLink(props) {
                (0, _classCallCheck3.default)(this, OperationLink);
                var _this2 = (0, _possibleConstructorReturn3.default)(this, (OperationLink.__proto__ || (0, _getPrototypeOf2.default)(OperationLink)).call(this, props));
                _this2.onClick = _this2._onClick.bind(_this2);
                return _this2
            }(0, _createClass3.default)(OperationLink, [{
                key: "_onClick",
                value: function _onClick() {
                    var _props2 = this.props,
                        showOpId = _props2.showOpId,
                        showOpIdPrefix = _props2.showOpIdPrefix,
                        onClick = _props2.onClick,
                        shown = _props2.shown;
                    onClick([showOpIdPrefix, showOpId], !shown)
                }
            }, {
                key: "render",
                value: function render() {
                    var _props3 = this.props,
                        id = _props3.id,
                        method = _props3.method,
                        shown = _props3.shown,
                        href = _props3.href;
                    return _react2.default.createElement(_layoutUtils.Link, {
                        href: href,
                        style: {
                            fontWeight: shown ? "bold" : "normal"
                        },
                        onClick: this.onClick,
                        className: "block opblock-link"
                    }, _react2.default.createElement("div", null, _react2.default.createElement("small", {
                        className: "bold-label-" + method
                    }, method.toUpperCase()), _react2.default.createElement("span", {
                        className: "bold-label"
                    }, id)))
                }
            }]);
            return OperationLink
        }(_react2.default.Component)
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.InfoUrl = exports.InfoBasePath = undefined;
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _immutable = __webpack_require__(7);
        var _reactImmutableProptypes = __webpack_require__(9);
        var _reactImmutableProptypes2 = _interopRequireDefault(_reactImmutableProptypes);
        var _utils = __webpack_require__(8);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var InfoBasePath = exports.InfoBasePath = function(_React$Component) {
            (0, _inherits3.default)(InfoBasePath, _React$Component);

            function InfoBasePath() {
                (0, _classCallCheck3.default)(this, InfoBasePath);
                return (0, _possibleConstructorReturn3.default)(this, (InfoBasePath.__proto__ || (0, _getPrototypeOf2.default)(InfoBasePath)).apply(this, arguments))
            }(0, _createClass3.default)(InfoBasePath, [{
                key: "render",
                value: function render() {
                    var _props = this.props,
                        host = _props.host,
                        basePath = _props.basePath;
                    return _react2.default.createElement("pre", {
                        className: "base-url"
                    }, "[ Base URL: ", host, basePath, " ]")
                }
            }]);
            return InfoBasePath
        }(_react2.default.Component);
        var Contact = function(_React$Component2) {
            (0, _inherits3.default)(Contact, _React$Component2);

            function Contact() {
                (0, _classCallCheck3.default)(this, Contact);
                return (0, _possibleConstructorReturn3.default)(this, (Contact.__proto__ || (0, _getPrototypeOf2.default)(Contact)).apply(this, arguments))
            }(0, _createClass3.default)(Contact, [{
                key: "render",
                value: function render() {
                    var _props2 = this.props,
                        data = _props2.data,
                        getComponent = _props2.getComponent;
                    var name = data.get("name") || "the developer";
                    var url = data.get("url");
                    var email = data.get("email");
                    var Link = getComponent("Link");
                    return _react2.default.createElement("div", null, url && _react2.default.createElement("div", null, _react2.default.createElement(Link, {
                        href: (0, _utils.sanitizeUrl)(url),
                        target: "_blank"
                    }, name, " - Website")), email && _react2.default.createElement(Link, {
                        href: (0, _utils.sanitizeUrl)("mailto:" + email)
                    }, url ? "Send email to " + name : "Contact " + name))
                }
            }]);
            return Contact
        }(_react2.default.Component);
        var License = function(_React$Component3) {
            (0, _inherits3.default)(License, _React$Component3);

            function License() {
                (0, _classCallCheck3.default)(this, License);
                return (0, _possibleConstructorReturn3.default)(this, (License.__proto__ || (0, _getPrototypeOf2.default)(License)).apply(this, arguments))
            }(0, _createClass3.default)(License, [{
                key: "render",
                value: function render() {
                    var _props3 = this.props,
                        license = _props3.license,
                        getComponent = _props3.getComponent;
                    var Link = getComponent("Link");
                    var name = license.get("name") || "License";
                    var url = license.get("url");
                    return _react2.default.createElement("div", null, url ? _react2.default.createElement(Link, {
                        target: "_blank",
                        href: (0, _utils.sanitizeUrl)(url)
                    }, name) : _react2.default.createElement("span", null, name))
                }
            }]);
            return License
        }(_react2.default.Component);
        var InfoUrl = exports.InfoUrl = function(_React$PureComponent) {
            (0, _inherits3.default)(InfoUrl, _React$PureComponent);

            function InfoUrl() {
                (0, _classCallCheck3.default)(this, InfoUrl);
                return (0, _possibleConstructorReturn3.default)(this, (InfoUrl.__proto__ || (0, _getPrototypeOf2.default)(InfoUrl)).apply(this, arguments))
            }(0, _createClass3.default)(InfoUrl, [{
                key: "render",
                value: function render() {
                    var _props4 = this.props,
                        url = _props4.url,
                        getComponent = _props4.getComponent;
                    var Link = getComponent("Link");
                    return _react2.default.createElement(Link, {
                        target: "_blank",
                        href: (0, _utils.sanitizeUrl)(url)
                    }, _react2.default.createElement("span", {
                        className: "url"
                    }, " ", url, " "))
                }
            }]);
            return InfoUrl
        }(_react2.default.PureComponent);
        var Info = function(_React$Component4) {
            (0, _inherits3.default)(Info, _React$Component4);

            function Info() {
                (0, _classCallCheck3.default)(this, Info);
                return (0, _possibleConstructorReturn3.default)(this, (Info.__proto__ || (0, _getPrototypeOf2.default)(Info)).apply(this, arguments))
            }(0, _createClass3.default)(Info, [{
                key: "render",
                value: function render() {
                    var _props5 = this.props,
                        info = _props5.info,
                        url = _props5.url,
                        host = _props5.host,
                        basePath = _props5.basePath,
                        getComponent = _props5.getComponent,
                        externalDocs = _props5.externalDocs;
                    var version = info.get("version");
                    var description = info.get("description");
                    var title = info.get("title");
                    var termsOfService = info.get("termsOfService");
                    var contact = info.get("contact");
                    var license = info.get("license");
                    var _toJS = (externalDocs || (0, _immutable.fromJS)({})).toJS(),
                        externalDocsUrl = _toJS.url,
                        externalDocsDescription = _toJS.description;
                    var Markdown = getComponent("Markdown");
                    var Link = getComponent("Link");
                    var VersionStamp = getComponent("VersionStamp");
                    var InfoUrl = getComponent("InfoUrl");
                    var InfoBasePath = getComponent("InfoBasePath");
                    return _react2.default.createElement("div", {
                        className: "info"
                    }, _react2.default.createElement("hgroup", {
                        className: "main"
                    }, _react2.default.createElement("h2", {
                        className: "title"
                    }, title, version && _react2.default.createElement(VersionStamp, {
                        version: version
                    })), host || basePath ? _react2.default.createElement(InfoBasePath, {
                        host: host,
                        basePath: basePath
                    }) : null, url && _react2.default.createElement(InfoUrl, {
                        getComponent: getComponent,
                        url: url
                    })), _react2.default.createElement("div", {
                        className: "description"
                    }, _react2.default.createElement(Markdown, {
                        source: description
                    })), termsOfService && _react2.default.createElement("div", null, _react2.default.createElement(Link, {
                        target: "_blank",
                        href: (0, _utils.sanitizeUrl)(termsOfService)
                    }, "Terms of service")), contact && contact.size ? _react2.default.createElement(Contact, {
                        getComponent: getComponent,
                        data: contact
                    }) : null, license && license.size ? _react2.default.createElement(License, {
                        getComponent: getComponent,
                        license: license
                    }) : null, externalDocsUrl ? _react2.default.createElement(Link, {
                        target: "_blank",
                        href: (0, _utils.sanitizeUrl)(externalDocsUrl)
                    }, externalDocsDescription || externalDocsUrl) : null)
                }
            }]);
            return Info
        }(_react2.default.Component);
        exports.default = Info
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var InfoContainer = function(_React$Component) {
            (0, _inherits3.default)(InfoContainer, _React$Component);

            function InfoContainer() {
                (0, _classCallCheck3.default)(this, InfoContainer);
                return (0, _possibleConstructorReturn3.default)(this, (InfoContainer.__proto__ || (0, _getPrototypeOf2.default)(InfoContainer)).apply(this, arguments))
            }(0, _createClass3.default)(InfoContainer, [{
                key: "render",
                value: function render() {
                    var _props = this.props,
                        specSelectors = _props.specSelectors,
                        getComponent = _props.getComponent;
                    var info = specSelectors.info();
                    var url = specSelectors.url();
                    var basePath = specSelectors.basePath();
                    var host = specSelectors.host();
                    var externalDocs = specSelectors.externalDocs();
                    var Info = getComponent("info");
                    return _react2.default.createElement("div", null, info && info.count() ? _react2.default.createElement(Info, {
                        info: info,
                        url: url,
                        host: host,
                        basePath: basePath,
                        externalDocs: externalDocs,
                        getComponent: getComponent
                    }) : null)
                }
            }]);
            return InfoContainer
        }(_react2.default.Component);
        exports.default = InfoContainer
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var JumpToPath = function(_React$Component) {
            (0, _inherits3.default)(JumpToPath, _React$Component);

            function JumpToPath() {
                (0, _classCallCheck3.default)(this, JumpToPath);
                return (0, _possibleConstructorReturn3.default)(this, (JumpToPath.__proto__ || (0, _getPrototypeOf2.default)(JumpToPath)).apply(this, arguments))
            }(0, _createClass3.default)(JumpToPath, [{
                key: "render",
                value: function render() {
                    return null
                }
            }]);
            return JumpToPath
        }(_react2.default.Component);
        exports.default = JumpToPath
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var Footer = function(_React$Component) {
            (0, _inherits3.default)(Footer, _React$Component);

            function Footer() {
                (0, _classCallCheck3.default)(this, Footer);
                return (0, _possibleConstructorReturn3.default)(this, (Footer.__proto__ || (0, _getPrototypeOf2.default)(Footer)).apply(this, arguments))
            }(0, _createClass3.default)(Footer, [{
                key: "render",
                value: function render() {
                    return _react2.default.createElement("div", {
                        className: "footer"
                    })
                }
            }]);
            return Footer
        }(_react2.default.Component);
        exports.default = Footer
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var FilterContainer = function(_React$Component) {
            (0, _inherits3.default)(FilterContainer, _React$Component);

            function FilterContainer() {
                var _ref;
                var _temp, _this, _ret;
                (0, _classCallCheck3.default)(this, FilterContainer);
                for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
                    args[_key] = arguments[_key]
                }
                return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = FilterContainer.__proto__ || (0, _getPrototypeOf2.default)(FilterContainer)).call.apply(_ref, [this].concat(args))), _this), _this.onFilterChange = function(e) {
                    var value = e.target.value;
                    _this.props.layoutActions.updateFilter(value)
                }, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret)
            }(0, _createClass3.default)(FilterContainer, [{
                key: "render",
                value: function render() {
                    var _props = this.props,
                        specSelectors = _props.specSelectors,
                        layoutSelectors = _props.layoutSelectors,
                        getComponent = _props.getComponent;
                    var Col = getComponent("Col");
                    var isLoading = specSelectors.loadingStatus() === "loading";
                    var isFailed = specSelectors.loadingStatus() === "failed";
                    var filter = layoutSelectors.currentFilter();
                    var inputStyle = {};
                    if (isFailed) inputStyle.color = "red";
                    if (isLoading) inputStyle.color = "#aaa";
                    return _react2.default.createElement("div", null, filter === null || filter === false ? null : _react2.default.createElement("div", {
                        className: "filter-container"
                    }, _react2.default.createElement(Col, {
                        className: "filter wrapper",
                        mobile: 12
                    }, _react2.default.createElement("input", {
                        className: "operation-filter-input",
                        placeholder: "Filter by tag",
                        type: "text",
                        onChange: this.onFilterChange,
                        value: filter === true || filter === "true" ? "" : filter,
                        disabled: isLoading,
                        style: inputStyle
                    }))))
                }
            }]);
            return FilterContainer
        }(_react2.default.Component);
        exports.default = FilterContainer
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _immutable = __webpack_require__(7);
        var _utils = __webpack_require__(8);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var NOOP = Function.prototype;
        var ParamBody = function(_PureComponent) {
            (0, _inherits3.default)(ParamBody, _PureComponent);

            function ParamBody(props, context) {
                (0, _classCallCheck3.default)(this, ParamBody);
                var _this = (0, _possibleConstructorReturn3.default)(this, (ParamBody.__proto__ || (0, _getPrototypeOf2.default)(ParamBody)).call(this, props, context));
                _initialiseProps.call(_this);
                _this.state = {
                    isEditBox: false,
                    value: ""
                };
                return _this
            }(0, _createClass3.default)(ParamBody, [{
                key: "componentDidMount",
                value: function componentDidMount() {
                    this.updateValues.call(this, this.props)
                }
            }, {
                key: "componentWillReceiveProps",
                value: function componentWillReceiveProps(nextProps) {
                    this.updateValues.call(this, nextProps)
                }
            }, {
                key: "render",
                value: function render() {
                    var _props = this.props,
                        onChangeConsumes = _props.onChangeConsumes,
                        param = _props.param,
                        isExecute = _props.isExecute,
                        specSelectors = _props.specSelectors,
                        pathMethod = _props.pathMethod,
                        getComponent = _props.getComponent;
                    var Button = getComponent("Button");
                    var TextArea = getComponent("TextArea");
                    var HighlightCode = getComponent("highlightCode");
                    var ContentType = getComponent("contentType");
                    var parameter = specSelectors ? specSelectors.parameterWithMetaByIdentity(pathMethod, param) : param;
                    var errors = parameter.get("errors", (0, _immutable.List)());
                    var consumesValue = specSelectors.contentTypeValues(pathMethod).get("requestContentType");
                    var consumes = this.props.consumes && this.props.consumes.size ? this.props.consumes : ParamBody.defaultProp.consumes;
                    var _state = this.state,
                        value = _state.value,
                        isEditBox = _state.isEditBox;
                    return _react2.default.createElement("div", {
                        className: "body-param",
                        "data-param-name": param.get("name"),
                        "data-param-in": param.get("in")
                    }, isEditBox && isExecute ? _react2.default.createElement(TextArea, {
                        className: "body-param__text" + (errors.count() ? " invalid" : ""),
                        value: value,
                        onChange: this.handleOnChange
                    }) : value && _react2.default.createElement(HighlightCode, {
                        className: "body-param__example",
                        value: value
                    }), _react2.default.createElement("div", {
                        className: "body-param-options"
                    }, !isExecute ? null : _react2.default.createElement("div", {
                        className: "body-param-edit"
                    }, _react2.default.createElement(Button, {
                        className: isEditBox ? "btn cancel body-param__example-edit" : "btn edit body-param__example-edit",
                        onClick: this.toggleIsEditBox
                    }, isEditBox ? "Cancel" : "Edit")), _react2.default.createElement("label", {
                        htmlFor: ""
                    }, _react2.default.createElement("span", null, "Parameter content type"), _react2.default.createElement(ContentType, {
                        value: consumesValue,
                        contentTypes: consumes,
                        onChange: onChangeConsumes,
                        className: "body-param-content-type"
                    }))))
                }
            }]);
            return ParamBody
        }(_react.PureComponent);
        ParamBody.defaultProp = {
            consumes: (0, _immutable.fromJS)(["application/json"]),
            param: (0, _immutable.fromJS)({}),
            onChange: NOOP,
            onChangeConsumes: NOOP
        };
        var _initialiseProps = function _initialiseProps() {
            var _this2 = this;
            this.updateValues = function(props) {
                var param = props.param,
                    isExecute = props.isExecute,
                    _props$consumesValue = props.consumesValue,
                    consumesValue = _props$consumesValue === undefined ? "" : _props$consumesValue;
                var isXml = /xml/i.test(consumesValue);
                var isJson = /json/i.test(consumesValue);
                var paramValue = isXml ? param.get("value_xml") : param.get("value");
                if (paramValue !== undefined) {
                    var val = !paramValue && isJson ? "{}" : paramValue;
                    _this2.setState({
                        value: val
                    });
                    _this2.onChange(val, {
                        isXml: isXml,
                        isEditBox: isExecute
                    })
                } else {
                    if (isXml) {
                        _this2.onChange(_this2.sample("xml"), {
                            isXml: isXml,
                            isEditBox: isExecute
                        })
                    } else {
                        _this2.onChange(_this2.sample(), {
                            isEditBox: isExecute
                        })
                    }
                }
            };
            this.sample = function(xml) {
                var _props2 = _this2.props,
                    param = _props2.param,
                    inferSchema = _props2.fn.inferSchema;
                var schema = inferSchema(param.toJS());
                return (0, _utils.getSampleSchema)(schema, xml, {
                    includeWriteOnly: true
                })
            };
            this.onChange = function(value, _ref) {
                var isEditBox = _ref.isEditBox,
                    isXml = _ref.isXml;
                _this2.setState({
                    value: value,
                    isEditBox: isEditBox
                });
                _this2._onChange(value, isXml)
            };
            this._onChange = function(val, isXml) {
                (_this2.props.onChange || NOOP)(val, isXml)
            };
            this.handleOnChange = function(e) {
                var consumesValue = _this2.props.consumesValue;
                var isJson = /json/i.test(consumesValue);
                var isXml = /xml/i.test(consumesValue);
                var inputValue = isJson ? e.target.value.trim() : e.target.value;
                _this2.onChange(inputValue, {
                    isXml: isXml
                })
            };
            this.toggleIsEditBox = function() {
                return _this2.setState(function(state) {
                    return {
                        isEditBox: !state.isEditBox
                    }
                })
            }
        };
        exports.default = ParamBody
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _curlify = __webpack_require__(625);
        var _curlify2 = _interopRequireDefault(_curlify);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var Curl = function(_React$Component) {
            (0, _inherits3.default)(Curl, _React$Component);

            function Curl() {
                (0, _classCallCheck3.default)(this, Curl);
                return (0, _possibleConstructorReturn3.default)(this, (Curl.__proto__ || (0, _getPrototypeOf2.default)(Curl)).apply(this, arguments))
            }(0, _createClass3.default)(Curl, [{
                key: "handleFocus",
                value: function handleFocus(e) {
                    e.target.select();
                    document.execCommand("copy")
                }
            }, {
                key: "render",
                value: function render() {
                    var request = this.props.request;
                    var curl = (0, _curlify2.default)(request);
                    return _react2.default.createElement("div", null, _react2.default.createElement("h4", null, "Curl"), _react2.default.createElement("div", {
                        className: "copy-paste"
                    }, _react2.default.createElement("textarea", {
                        onFocus: this.handleFocus,
                        readOnly: "true",
                        className: "curl",
                        style: {
                            whiteSpace: "normal"
                        },
                        value: curl
                    })))
                }
            }]);
            return Curl
        }(_react2.default.Component);
        exports.default = Curl
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _stringify = __webpack_require__(30);
        var _stringify2 = _interopRequireDefault(_stringify);
        var _slicedToArray2 = __webpack_require__(13);
        var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
        var _getIterator2 = __webpack_require__(76);
        var _getIterator3 = _interopRequireDefault(_getIterator2);
        exports.default = curl;
        var _window = __webpack_require__(22);
        var _window2 = _interopRequireDefault(_window);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }

        function curl(request) {
            var curlified = [];
            var type = "";
            var headers = request.get("headers");
            curlified.push("curl");
            curlified.push("-X", request.get("method"));
            curlified.push('"' + request.get("url") + '"');
            if (headers && headers.size) {
                var _iteratorNormalCompletion = true;
                var _didIteratorError = false;
                var _iteratorError = undefined;
                try {
                    for (var _iterator = (0, _getIterator3.default)(request.get("headers").entries()), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
                        var p = _step.value;
                        var _p = (0, _slicedToArray3.default)(p, 2),
                            h = _p[0],
                            v = _p[1];
                        type = v;
                        curlified.push("-H ");
                        curlified.push('"' + h + ": " + v + '"')
                    }
                } catch (err) {
                    _didIteratorError = true;
                    _iteratorError = err
                } finally {
                    try {
                        if (!_iteratorNormalCompletion && _iterator.return) {
                            _iterator.return()
                        }
                    } finally {
                        if (_didIteratorError) {
                            throw _iteratorError
                        }
                    }
                }
            }
            if (request.get("body")) {
                if (type === "multipart/form-data" && request.get("method") === "POST") {
                    var _iteratorNormalCompletion2 = true;
                    var _didIteratorError2 = false;
                    var _iteratorError2 = undefined;
                    try {
                        for (var _iterator2 = (0, _getIterator3.default)(request.get("body").entrySeq()), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
                            var _step2$value = (0, _slicedToArray3.default)(_step2.value, 2),
                                k = _step2$value[0],
                                v = _step2$value[1];
                            curlified.push("-F");
                            if (v instanceof _window2.default.File) {
                                curlified.push('"' + k + "=@" + v.name + ";type=" + v.type + '"')
                            } else {
                                curlified.push('"' + k + "=" + v + '"')
                            }
                        }
                    } catch (err) {
                        _didIteratorError2 = true;
                        _iteratorError2 = err
                    } finally {
                        try {
                            if (!_iteratorNormalCompletion2 && _iterator2.return) {
                                _iterator2.return()
                            }
                        } finally {
                            if (_didIteratorError2) {
                                throw _iteratorError2
                            }
                        }
                    }
                } else {
                    curlified.push("-d");
                    curlified.push((0, _stringify2.default)(request.get("body")).replace(/\\n/g, ""))
                }
            }
            return curlified.join(" ")
        }
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var Schemes = function(_React$Component) {
            (0, _inherits3.default)(Schemes, _React$Component);

            function Schemes() {
                var _ref;
                var _temp, _this, _ret;
                (0, _classCallCheck3.default)(this, Schemes);
                for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
                    args[_key] = arguments[_key]
                }
                return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = Schemes.__proto__ || (0, _getPrototypeOf2.default)(Schemes)).call.apply(_ref, [this].concat(args))), _this), _this.onChange = function(e) {
                    _this.setScheme(e.target.value)
                }, _this.setScheme = function(value) {
                    var _this$props = _this.props,
                        path = _this$props.path,
                        method = _this$props.method,
                        specActions = _this$props.specActions;
                    specActions.setScheme(value, path, method)
                }, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret)
            }(0, _createClass3.default)(Schemes, [{
                key: "componentWillMount",
                value: function componentWillMount() {
                    var schemes = this.props.schemes;
                    this.setScheme(schemes.first())
                }
            }, {
                key: "componentWillReceiveProps",
                value: function componentWillReceiveProps(nextProps) {
                    if (!this.props.currentScheme || !nextProps.schemes.includes(this.props.currentScheme)) {
                        this.setScheme(nextProps.schemes.first())
                    }
                }
            }, {
                key: "render",
                value: function render() {
                    var _props = this.props,
                        schemes = _props.schemes,
                        currentScheme = _props.currentScheme;
                    return _react2.default.createElement("label", {
                        htmlFor: "schemes"
                    }, _react2.default.createElement("span", {
                        className: "schemes-title"
                    }, "Schemes"), _react2.default.createElement("select", {
                        onChange: this.onChange,
                        value: currentScheme
                    }, schemes.valueSeq().map(function(scheme) {
                        return _react2.default.createElement("option", {
                            value: scheme,
                            key: scheme
                        }, scheme)
                    }).toArray()))
                }
            }]);
            return Schemes
        }(_react2.default.Component);
        exports.default = Schemes
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var SchemesContainer = function(_React$Component) {
            (0, _inherits3.default)(SchemesContainer, _React$Component);

            function SchemesContainer() {
                (0, _classCallCheck3.default)(this, SchemesContainer);
                return (0, _possibleConstructorReturn3.default)(this, (SchemesContainer.__proto__ || (0, _getPrototypeOf2.default)(SchemesContainer)).apply(this, arguments))
            }(0, _createClass3.default)(SchemesContainer, [{
                key: "render",
                value: function render() {
                    var _props = this.props,
                        specActions = _props.specActions,
                        specSelectors = _props.specSelectors,
                        getComponent = _props.getComponent;
                    var currentScheme = specSelectors.operationScheme();
                    var schemes = specSelectors.schemes();
                    var securityDefinitions = specSelectors.securityDefinitions();
                    var Col = getComponent("Col");
                    var AuthorizeBtn = getComponent("authorizeBtn", true);
                    var Schemes = getComponent("schemes");
                    return _react2.default.createElement("div", null, schemes && schemes.size || securityDefinitions ? _react2.default.createElement("div", {
                        className: "scheme-container"
                    }, _react2.default.createElement(Col, {
                        className: "schemes wrapper",
                        mobile: 12
                    }, schemes && schemes.size ? _react2.default.createElement(Schemes, {
                        currentScheme: currentScheme,
                        schemes: schemes,
                        specActions: specActions
                    }) : null, securityDefinitions ? _react2.default.createElement(AuthorizeBtn, null) : null)) : null)
                }
            }]);
            return SchemesContainer
        }(_react2.default.Component);
        exports.default = SchemesContainer
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var ModelCollapse = function(_Component) {
            (0, _inherits3.default)(ModelCollapse, _Component);

            function ModelCollapse(props, context) {
                (0, _classCallCheck3.default)(this, ModelCollapse);
                var _this = (0, _possibleConstructorReturn3.default)(this, (ModelCollapse.__proto__ || (0, _getPrototypeOf2.default)(ModelCollapse)).call(this, props, context));
                _this.toggleCollapsed = function() {
                    if (_this.props.onToggle) {
                        _this.props.onToggle(_this.props.modelName, !_this.state.expanded)
                    }
                    _this.setState({
                        expanded: !_this.state.expanded
                    })
                };
                var _this$props = _this.props,
                    expanded = _this$props.expanded,
                    collapsedContent = _this$props.collapsedContent;
                _this.state = {
                    expanded: expanded,
                    collapsedContent: collapsedContent || ModelCollapse.defaultProps.collapsedContent
                };
                return _this
            }(0, _createClass3.default)(ModelCollapse, [{
                key: "componentDidMount",
                value: function componentDidMount() {
                    var _props = this.props,
                        hideSelfOnExpand = _props.hideSelfOnExpand,
                        expanded = _props.expanded,
                        modelName = _props.modelName;
                    if (hideSelfOnExpand && expanded) {
                        this.props.onToggle(modelName, expanded)
                    }
                }
            }, {
                key: "componentWillReceiveProps",
                value: function componentWillReceiveProps(nextProps) {
                    if (this.props.expanded !== nextProps.expanded) {
                        this.setState({
                            expanded: nextProps.expanded
                        })
                    }
                }
            }, {
                key: "render",
                value: function render() {
                    var _props2 = this.props,
                        title = _props2.title,
                        classes = _props2.classes;
                    if (this.state.expanded) {
                        if (this.props.hideSelfOnExpand) {
                            return _react2.default.createElement("span", {
                                className: classes || ""
                            }, this.props.children)
                        }
                    }
                    return _react2.default.createElement("span", {
                        className: classes || ""
                    }, title && _react2.default.createElement("span", {
                        onClick: this.toggleCollapsed,
                        style: {
                            cursor: "pointer"
                        }
                    }, title), _react2.default.createElement("span", {
                        onClick: this.toggleCollapsed,
                        style: {
                            cursor: "pointer"
                        }
                    }, _react2.default.createElement("span", {
                        className: "model-toggle" + (this.state.expanded ? "" : " collapsed")
                    })), this.state.expanded ? this.props.children : this.state.collapsedContent)
                }
            }]);
            return ModelCollapse
        }(_react.Component);
        ModelCollapse.defaultProps = {
            collapsedContent: "{...}",
            expanded: false,
            title: null,
            onToggle: function onToggle() {},
            hideSelfOnExpand: false
        };
        exports.default = ModelCollapse
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _reactImmutableProptypes = __webpack_require__(9);
        var _reactImmutableProptypes2 = _interopRequireDefault(_reactImmutableProptypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var ModelExample = function(_React$Component) {
            (0, _inherits3.default)(ModelExample, _React$Component);

            function ModelExample(props, context) {
                (0, _classCallCheck3.default)(this, ModelExample);
                var _this = (0, _possibleConstructorReturn3.default)(this, (ModelExample.__proto__ || (0, _getPrototypeOf2.default)(ModelExample)).call(this, props, context));
                _this.activeTab = function(e) {
                    var name = e.target.dataset.name;
                    _this.setState({
                        activeTab: name
                    })
                };
                var _this$props = _this.props,
                    getConfigs = _this$props.getConfigs,
                    isExecute = _this$props.isExecute;
                var _getConfigs = getConfigs(),
                    defaultModelRendering = _getConfigs.defaultModelRendering;
                if (defaultModelRendering !== "example" && defaultModelRendering !== "model") {
                    defaultModelRendering = "example"
                }
                _this.state = {
                    activeTab: isExecute ? "example" : defaultModelRendering
                };
                return _this
            }(0, _createClass3.default)(ModelExample, [{
                key: "componentWillReceiveProps",
                value: function componentWillReceiveProps(props) {
                    if (props.isExecute && props.isExecute !== this.props.isExecute) {
                        this.setState({
                            activeTab: "example"
                        })
                    }
                }
            }, {
                key: "render",
                value: function render() {
                    var _props = this.props,
                        getComponent = _props.getComponent,
                        specSelectors = _props.specSelectors,
                        schema = _props.schema,
                        example = _props.example,
                        isExecute = _props.isExecute,
                        getConfigs = _props.getConfigs,
                        specPath = _props.specPath;
                    var _getConfigs2 = getConfigs(),
                        defaultModelExpandDepth = _getConfigs2.defaultModelExpandDepth;
                    var ModelWrapper = getComponent("ModelWrapper");
                    return _react2.default.createElement("div", null, _react2.default.createElement("ul", {
                        className: "tab"
                    }, _react2.default.createElement("li", {
                        className: "tabitem" + (this.state.activeTab === "example" ? " active" : "")
                    }, _react2.default.createElement("a", {
                        className: "tablinks",
                        "data-name": "example",
                        onClick: this.activeTab
                    }, isExecute ? "Edit Value" : "Example Value")), schema ? _react2.default.createElement("li", {
                        className: "tabitem" + (this.state.activeTab === "model" ? " active" : "")
                    }, _react2.default.createElement("a", {
                        className: "tablinks" + (isExecute ? " inactive" : ""),
                        "data-name": "model",
                        onClick: this.activeTab
                    }, "Model")) : null), _react2.default.createElement("div", null, this.state.activeTab === "example" && example, this.state.activeTab === "model" && _react2.default.createElement(ModelWrapper, {
                        schema: schema,
                        getComponent: getComponent,
                        getConfigs: getConfigs,
                        specSelectors: specSelectors,
                        expandDepth: defaultModelExpandDepth,
                        specPath: specPath
                    })))
                }
            }]);
            return ModelExample
        }(_react2.default.Component);
        exports.default = ModelExample
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _extends2 = __webpack_require__(21);
        var _extends3 = _interopRequireDefault(_extends2);
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var ModelWrapper = function(_Component) {
            (0, _inherits3.default)(ModelWrapper, _Component);

            function ModelWrapper() {
                var _ref;
                var _temp, _this, _ret;
                (0, _classCallCheck3.default)(this, ModelWrapper);
                for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
                    args[_key] = arguments[_key]
                }
                return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = ModelWrapper.__proto__ || (0, _getPrototypeOf2.default)(ModelWrapper)).call.apply(_ref, [this].concat(args))), _this), _this.onToggle = function(name, isShown) {
                    if (_this.props.layoutActions) {
                        _this.props.layoutActions.show(["models", name], isShown)
                    }
                }, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret)
            }(0, _createClass3.default)(ModelWrapper, [{
                key: "render",
                value: function render() {
                    var _props = this.props,
                        getComponent = _props.getComponent,
                        getConfigs = _props.getConfigs;
                    var Model = getComponent("Model");
                    var expanded = void 0;
                    if (this.props.layoutSelectors) {
                        expanded = this.props.layoutSelectors.isShown(["models", this.props.name])
                    }
                    return _react2.default.createElement("div", {
                        className: "model-box"
                    }, _react2.default.createElement(Model, (0, _extends3.default)({}, this.props, {
                        getConfigs: getConfigs,
                        expanded: expanded,
                        depth: 1,
                        onToggle: this.onToggle,
                        expandDepth: this.props.expandDepth || 0
                    })))
                }
            }]);
            return ModelWrapper
        }(_react.Component);
        exports.default = ModelWrapper
    }, function(module, exports) {
        module.exports = require("react-immutable-pure-component")
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _slicedToArray2 = __webpack_require__(13);
        var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
        var _toConsumableArray2 = __webpack_require__(70);
        var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _immutable = __webpack_require__(7);
        var _immutable2 = _interopRequireDefault(_immutable);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var Models = function(_Component) {
            (0, _inherits3.default)(Models, _Component);

            function Models() {
                var _ref;
                var _temp, _this, _ret;
                (0, _classCallCheck3.default)(this, Models);
                for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
                    args[_key] = arguments[_key]
                }
                return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = Models.__proto__ || (0, _getPrototypeOf2.default)(Models)).call.apply(_ref, [this].concat(args))), _this), _this.getSchemaBasePath = function() {
                    var isOAS3 = _this.props.specSelectors.isOAS3();
                    return isOAS3 ? ["components", "schemas"] : ["definitions"]
                }, _this.getCollapsedContent = function() {
                    return " "
                }, _this.handleToggle = function(name, isExpanded) {
                    var layoutActions = _this.props.layoutActions;
                    layoutActions.show(["models", name], isExpanded);
                    if (isExpanded) {
                        _this.props.specActions.requestResolvedSubtree([].concat((0, _toConsumableArray3.default)(_this.getSchemaBasePath()), [name]))
                    }
                }, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret)
            }(0, _createClass3.default)(Models, [{
                key: "render",
                value: function render() {
                    var _this2 = this;
                    var _props = this.props,
                        specSelectors = _props.specSelectors,
                        getComponent = _props.getComponent,
                        layoutSelectors = _props.layoutSelectors,
                        layoutActions = _props.layoutActions,
                        getConfigs = _props.getConfigs;
                    var definitions = specSelectors.definitions();
                    var _getConfigs = getConfigs(),
                        docExpansion = _getConfigs.docExpansion,
                        defaultModelsExpandDepth = _getConfigs.defaultModelsExpandDepth;
                    if (!definitions.size || defaultModelsExpandDepth < 0) return null;
                    var showModels = layoutSelectors.isShown("models", defaultModelsExpandDepth > 0 && docExpansion !== "none");
                    var specPathBase = this.getSchemaBasePath();
                    var ModelWrapper = getComponent("ModelWrapper");
                    var Collapse = getComponent("Collapse");
                    var ModelCollapse = getComponent("ModelCollapse");
                    var JumpToPath = getComponent("JumpToPath");
                    return _react2.default.createElement("section", {
                        className: showModels ? "models is-open" : "models"
                    }, _react2.default.createElement("h4", {
                        onClick: function onClick() {
                            return layoutActions.show("models", !showModels)
                        }
                    }, _react2.default.createElement("span", null, "Models"), _react2.default.createElement("svg", {
                        width: "20",
                        height: "20"
                    }, _react2.default.createElement("use", {
                        xlinkHref: showModels ? "#large-arrow-down" : "#large-arrow"
                    }))), _react2.default.createElement(Collapse, {
                        isOpened: showModels
                    }, definitions.entrySeq().map(function(_ref2) {
                        var _ref3 = (0, _slicedToArray3.default)(_ref2, 1),
                            name = _ref3[0];
                        var fullPath = [].concat((0, _toConsumableArray3.default)(specPathBase), [name]);
                        var schema = specSelectors.specResolvedSubtree(fullPath) || _immutable2.default.Map();
                        var rawSchema = specSelectors.specJson().getIn(fullPath, _immutable2.default.Map());
                        var displayName = schema.get("title") || rawSchema.get("title") || name;
                        if (layoutSelectors.isShown(["models", name], false) && schema === undefined) {
                            _this2.props.specActions.requestResolvedSubtree([].concat((0, _toConsumableArray3.default)(_this2.getSchemaBasePath()), [name]))
                        }
                        var specPath = _immutable2.default.List([].concat((0, _toConsumableArray3.default)(specPathBase), [name]));
                        var content = _react2.default.createElement(ModelWrapper, {
                            name: name,
                            expandDepth: defaultModelsExpandDepth,
                            schema: schema || _immutable2.default.Map(),
                            displayName: displayName,
                            specPath: specPath,
                            getComponent: getComponent,
                            specSelectors: specSelectors,
                            getConfigs: getConfigs,
                            layoutSelectors: layoutSelectors,
                            layoutActions: layoutActions
                        });
                        var title = _react2.default.createElement("span", {
                            className: "model-box"
                        }, _react2.default.createElement("span", {
                            className: "model model-title"
                        }, displayName));
                        return _react2.default.createElement("div", {
                            id: "model-" + name,
                            className: "model-container",
                            key: "models-section-" + name
                        }, _react2.default.createElement("span", {
                            className: "models-jump-to-path"
                        }, _react2.default.createElement(JumpToPath, {
                            specPath: specPath
                        })), _react2.default.createElement(ModelCollapse, {
                            classes: "model-box",
                            collapsedContent: _this2.getCollapsedContent(name),
                            onToggle: _this2.handleToggle,
                            title: title,
                            displayName: displayName,
                            modelName: name,
                            hideSelfOnExpand: true,
                            expanded: defaultModelsExpandDepth > 1
                        }, content))
                    }).toArray()))
                }
            }]);
            return Models
        }(_react.Component);
        exports.default = Models
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _reactImmutableProptypes = __webpack_require__(9);
        var _reactImmutableProptypes2 = _interopRequireDefault(_reactImmutableProptypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var EnumModel = function EnumModel(_ref) {
            var value = _ref.value,
                getComponent = _ref.getComponent;
            var ModelCollapse = getComponent("ModelCollapse");
            var collapsedContent = _react2.default.createElement("span", null, "Array [ ", value.count(), " ]");
            return _react2.default.createElement("span", {
                className: "prop-enum"
            }, "Enum:", _react2.default.createElement("br", null), _react2.default.createElement(ModelCollapse, {
                collapsedContent: collapsedContent
            }, "[ ", value.join(", "), " ]"))
        };
        exports.default = EnumModel
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _stringify = __webpack_require__(30);
        var _stringify2 = _interopRequireDefault(_stringify);
        var _extends2 = __webpack_require__(21);
        var _extends3 = _interopRequireDefault(_extends2);
        var _slicedToArray2 = __webpack_require__(13);
        var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
        var _objectWithoutProperties2 = __webpack_require__(71);
        var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _immutable = __webpack_require__(7);
        var _reactImmutableProptypes = __webpack_require__(9);
        var _reactImmutableProptypes2 = _interopRequireDefault(_reactImmutableProptypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var braceOpen = "{";
        var braceClose = "}";
        var ObjectModel = function(_Component) {
            (0, _inherits3.default)(ObjectModel, _Component);

            function ObjectModel() {
                (0, _classCallCheck3.default)(this, ObjectModel);
                return (0, _possibleConstructorReturn3.default)(this, (ObjectModel.__proto__ || (0, _getPrototypeOf2.default)(ObjectModel)).apply(this, arguments))
            }(0, _createClass3.default)(ObjectModel, [{
                key: "render",
                value: function render() {
                    var _props = this.props,
                        schema = _props.schema,
                        name = _props.name,
                        displayName = _props.displayName,
                        isRef = _props.isRef,
                        getComponent = _props.getComponent,
                        getConfigs = _props.getConfigs,
                        depth = _props.depth,
                        onToggle = _props.onToggle,
                        expanded = _props.expanded,
                        specPath = _props.specPath,
                        otherProps = (0, _objectWithoutProperties3.default)(_props, ["schema", "name", "displayName", "isRef", "getComponent", "getConfigs", "depth", "onToggle", "expanded", "specPath"]);
                    var specSelectors = otherProps.specSelectors,
                        expandDepth = otherProps.expandDepth;
                    var isOAS3 = specSelectors.isOAS3;
                    if (!schema) {
                        return null
                    }
                    var _getConfigs = getConfigs(),
                        showExtensions = _getConfigs.showExtensions;
                    var description = schema.get("description");
                    var properties = schema.get("properties");
                    var additionalProperties = schema.get("additionalProperties");
                    var title = schema.get("title") || displayName || name;
                    var requiredProperties = schema.get("required");
                    var JumpToPath = getComponent("JumpToPath", true);
                    var Markdown = getComponent("Markdown");
                    var Model = getComponent("Model");
                    var ModelCollapse = getComponent("ModelCollapse");
                    var JumpToPathSection = function JumpToPathSection() {
                        return _react2.default.createElement("span", {
                            className: "model-jump-to-path"
                        }, _react2.default.createElement(JumpToPath, {
                            specPath: specPath
                        }))
                    };
                    var collapsedContent = _react2.default.createElement("span", null, _react2.default.createElement("span", null, braceOpen), "...", _react2.default.createElement("span", null, braceClose), isRef ? _react2.default.createElement(JumpToPathSection, null) : "");
                    var anyOf = specSelectors.isOAS3() ? schema.get("anyOf") : null;
                    var oneOf = specSelectors.isOAS3() ? schema.get("oneOf") : null;
                    var not = specSelectors.isOAS3() ? schema.get("not") : null;
                    var titleEl = title && _react2.default.createElement("span", {
                        className: "model-title"
                    }, isRef && schema.get("$$ref") && _react2.default.createElement("span", {
                        className: "model-hint"
                    }, schema.get("$$ref")), _react2.default.createElement("span", {
                        className: "model-title__text"
                    }, title));
                    return _react2.default.createElement("span", {
                        className: "model"
                    }, _react2.default.createElement(ModelCollapse, {
                        modelName: name,
                        title: titleEl,
                        onToggle: onToggle,
                        expanded: expanded ? true : depth <= expandDepth,
                        collapsedContent: collapsedContent
                    }, _react2.default.createElement("span", {
                        className: "brace-open object"
                    }, braceOpen), !isRef ? null : _react2.default.createElement(JumpToPathSection, null), _react2.default.createElement("span", {
                        className: "inner-object"
                    }, _react2.default.createElement("table", {
                        className: "model"
                    }, _react2.default.createElement("tbody", null, !description ? null : _react2.default.createElement("tr", {
                        style: {
                            color: "#666",
                            fontStyle: "italic"
                        }
                    }, _react2.default.createElement("td", null, "description:"), _react2.default.createElement("td", null, _react2.default.createElement(Markdown, {
                        source: description
                    }))), !(properties && properties.size) ? null : properties.entrySeq().map(function(_ref) {
                        var _ref2 = (0, _slicedToArray3.default)(_ref, 2),
                            key = _ref2[0],
                            value = _ref2[1];
                        var isDeprecated = isOAS3() && value.get("deprecated");
                        var isRequired = _immutable.List.isList(requiredProperties) && requiredProperties.contains(key);
                        var propertyStyle = {
                            verticalAlign: "top",
                            paddingRight: "0.2em"
                        };
                        if (isRequired) {
                            propertyStyle.fontWeight = "bold"
                        }
                        return _react2.default.createElement("tr", {
                            key: key,
                            className: isDeprecated && "deprecated"
                        }, _react2.default.createElement("td", {
                            style: propertyStyle
                        }, key, isRequired && _react2.default.createElement("span", {
                            style: {
                                color: "red"
                            }
                        }, "*")), _react2.default.createElement("td", {
                            style: {
                                verticalAlign: "top"
                            }
                        }, _react2.default.createElement(Model, (0, _extends3.default)({
                            key: "object-" + name + "-" + key + "_" + value
                        }, otherProps, {
                            required: isRequired,
                            getComponent: getComponent,
                            specPath: specPath.push("properties", key),
                            getConfigs: getConfigs,
                            schema: value,
                            depth: depth + 1
                        }))))
                    }).toArray(), !showExtensions ? null : _react2.default.createElement("tr", null, " "), !showExtensions ? null : schema.entrySeq().map(function(_ref3) {
                        var _ref4 = (0, _slicedToArray3.default)(_ref3, 2),
                            key = _ref4[0],
                            value = _ref4[1];
                        if (key.slice(0, 2) !== "x-") {
                            return
                        }
                        var normalizedValue = !value ? null : value.toJS ? value.toJS() : value;
                        return _react2.default.createElement("tr", {
                            key: key,
                            style: {
                                color: "#777"
                            }
                        }, _react2.default.createElement("td", null, key), _react2.default.createElement("td", {
                            style: {
                                verticalAlign: "top"
                            }
                        }, (0, _stringify2.default)(normalizedValue)))
                    }).toArray(), !additionalProperties || !additionalProperties.size ? null : _react2.default.createElement("tr", null, _react2.default.createElement("td", null, "< * >:"), _react2.default.createElement("td", null, _react2.default.createElement(Model, (0, _extends3.default)({}, otherProps, {
                        required: false,
                        getComponent: getComponent,
                        specPath: specPath.push("additionalProperties"),
                        getConfigs: getConfigs,
                        schema: additionalProperties,
                        depth: depth + 1
                    })))), !anyOf ? null : _react2.default.createElement("tr", null, _react2.default.createElement("td", null, "anyOf ->"), _react2.default.createElement("td", null, anyOf.map(function(schema, k) {
                        return _react2.default.createElement("div", {
                            key: k
                        }, _react2.default.createElement(Model, (0, _extends3.default)({}, otherProps, {
                            required: false,
                            getComponent: getComponent,
                            specPath: specPath.push("anyOf", k),
                            getConfigs: getConfigs,
                            schema: schema,
                            depth: depth + 1
                        })))
                    }))), !oneOf ? null : _react2.default.createElement("tr", null, _react2.default.createElement("td", null, "oneOf ->"), _react2.default.createElement("td", null, oneOf.map(function(schema, k) {
                        return _react2.default.createElement("div", {
                            key: k
                        }, _react2.default.createElement(Model, (0, _extends3.default)({}, otherProps, {
                            required: false,
                            getComponent: getComponent,
                            specPath: specPath.push("oneOf", k),
                            getConfigs: getConfigs,
                            schema: schema,
                            depth: depth + 1
                        })))
                    }))), !not ? null : _react2.default.createElement("tr", null, _react2.default.createElement("td", null, "not ->"), _react2.default.createElement("td", null, _react2.default.createElement("div", null, _react2.default.createElement(Model, (0, _extends3.default)({}, otherProps, {
                        required: false,
                        getComponent: getComponent,
                        specPath: specPath.push("not"),
                        getConfigs: getConfigs,
                        schema: not,
                        depth: depth + 1
                    })))))))), _react2.default.createElement("span", {
                        className: "brace-close"
                    }, braceClose)))
                }
            }]);
            return ObjectModel
        }(_react.Component);
        exports.default = ObjectModel
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _extends2 = __webpack_require__(21);
        var _extends3 = _interopRequireDefault(_extends2);
        var _slicedToArray2 = __webpack_require__(13);
        var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _reactImmutableProptypes = __webpack_require__(9);
        var _reactImmutableProptypes2 = _interopRequireDefault(_reactImmutableProptypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var propStyle = {
            color: "#999",
            fontStyle: "italic"
        };
        var ArrayModel = function(_Component) {
            (0, _inherits3.default)(ArrayModel, _Component);

            function ArrayModel() {
                (0, _classCallCheck3.default)(this, ArrayModel);
                return (0, _possibleConstructorReturn3.default)(this, (ArrayModel.__proto__ || (0, _getPrototypeOf2.default)(ArrayModel)).apply(this, arguments))
            }(0, _createClass3.default)(ArrayModel, [{
                key: "render",
                value: function render() {
                    var _props = this.props,
                        getComponent = _props.getComponent,
                        getConfigs = _props.getConfigs,
                        schema = _props.schema,
                        depth = _props.depth,
                        expandDepth = _props.expandDepth,
                        name = _props.name,
                        displayName = _props.displayName,
                        specPath = _props.specPath;
                    var description = schema.get("description");
                    var items = schema.get("items");
                    var title = schema.get("title") || displayName || name;
                    var properties = schema.filter(function(v, key) {
                        return ["type", "items", "description", "$$ref"].indexOf(key) === -1
                    });
                    var Markdown = getComponent("Markdown");
                    var ModelCollapse = getComponent("ModelCollapse");
                    var Model = getComponent("Model");
                    var Property = getComponent("Property");
                    var titleEl = title && _react2.default.createElement("span", {
                        className: "model-title"
                    }, _react2.default.createElement("span", {
                        className: "model-title__text"
                    }, title));
                    return _react2.default.createElement("span", {
                        className: "model"
                    }, _react2.default.createElement(ModelCollapse, {
                        title: titleEl,
                        expanded: depth <= expandDepth,
                        collapsedContent: "[...]"
                    }, "[", properties.size ? properties.entrySeq().map(function(_ref) {
                        var _ref2 = (0, _slicedToArray3.default)(_ref, 2),
                            key = _ref2[0],
                            v = _ref2[1];
                        return _react2.default.createElement(Property, {
                            key: key + "-" + v,
                            propKey: key,
                            propVal: v,
                            propStyle: propStyle
                        })
                    }) : null, !description ? properties.size ? _react2.default.createElement("div", {
                        className: "markdown"
                    }) : null : _react2.default.createElement(Markdown, {
                        source: description
                    }), _react2.default.createElement("span", null, _react2.default.createElement(Model, (0, _extends3.default)({}, this.props, {
                        getConfigs: getConfigs,
                        specPath: specPath.push("items"),
                        name: null,
                        schema: items,
                        required: false,
                        depth: depth + 1
                    }))), "]"))
                }
            }]);
            return ArrayModel
        }(_react.Component);
        exports.default = ArrayModel
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _slicedToArray2 = __webpack_require__(13);
        var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _utils = __webpack_require__(8);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var propStyle = {
            color: "#6b6b6b",
            fontStyle: "italic"
        };
        var Primitive = function(_Component) {
            (0, _inherits3.default)(Primitive, _Component);

            function Primitive() {
                (0, _classCallCheck3.default)(this, Primitive);
                return (0, _possibleConstructorReturn3.default)(this, (Primitive.__proto__ || (0, _getPrototypeOf2.default)(Primitive)).apply(this, arguments))
            }(0, _createClass3.default)(Primitive, [{
                key: "render",
                value: function render() {
                    var _props = this.props,
                        schema = _props.schema,
                        getComponent = _props.getComponent,
                        getConfigs = _props.getConfigs,
                        name = _props.name,
                        displayName = _props.displayName,
                        depth = _props.depth;
                    var _getConfigs = getConfigs(),
                        showExtensions = _getConfigs.showExtensions;
                    if (!schema || !schema.get) {
                        return _react2.default.createElement("div", null)
                    }
                    var type = schema.get("type");
                    var format = schema.get("format");
                    var xml = schema.get("xml");
                    var enumArray = schema.get("enum");
                    var title = schema.get("title") || displayName || name;
                    var description = schema.get("description");
                    var extensions = (0, _utils.getExtensions)(schema);
                    var properties = schema.filter(function(v, key) {
                        return ["enum", "type", "format", "description", "$$ref"].indexOf(key) === -1
                    }).filterNot(function(v, key) {
                        return extensions.has(key)
                    });
                    var Markdown = getComponent("Markdown");
                    var EnumModel = getComponent("EnumModel");
                    var Property = getComponent("Property");
                    return _react2.default.createElement("span", {
                        className: "model"
                    }, _react2.default.createElement("span", {
                        className: "prop"
                    }, name && _react2.default.createElement("span", {
                        className: (depth === 1 && "model-title") + " prop-name"
                    }, title), _react2.default.createElement("span", {
                        className: "prop-type"
                    }, type), format && _react2.default.createElement("span", {
                        className: "prop-format"
                    }, "($", format, ")"), properties.size ? properties.entrySeq().map(function(_ref) {
                        var _ref2 = (0, _slicedToArray3.default)(_ref, 2),
                            key = _ref2[0],
                            v = _ref2[1];
                        return _react2.default.createElement(Property, {
                            key: key + "-" + v,
                            propKey: key,
                            propVal: v,
                            propStyle: propStyle
                        })
                    }) : null, showExtensions && extensions.size ? extensions.entrySeq().map(function(_ref3) {
                        var _ref4 = (0, _slicedToArray3.default)(_ref3, 2),
                            key = _ref4[0],
                            v = _ref4[1];
                        return _react2.default.createElement(Property, {
                            key: key + "-" + v,
                            propKey: key,
                            propVal: v,
                            propStyle: propStyle
                        })
                    }) : null, !description ? null : _react2.default.createElement(Markdown, {
                        source: description
                    }), xml && xml.size ? _react2.default.createElement("span", null, _react2.default.createElement("br", null), _react2.default.createElement("span", {
                        style: propStyle
                    }, "xml:"), xml.entrySeq().map(function(_ref5) {
                        var _ref6 = (0, _slicedToArray3.default)(_ref5, 2),
                            key = _ref6[0],
                            v = _ref6[1];
                        return _react2.default.createElement("span", {
                            key: key + "-" + v,
                            style: propStyle
                        }, _react2.default.createElement("br", null), "   ", key, ": ", String(v))
                    }).toArray()) : null, enumArray && _react2.default.createElement(EnumModel, {
                        value: enumArray,
                        getComponent: getComponent
                    })))
                }
            }]);
            return Primitive
        }(_react.Component);
        exports.default = Primitive
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.Property = undefined;
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var Property = exports.Property = function Property(_ref) {
            var propKey = _ref.propKey,
                propVal = _ref.propVal,
                propStyle = _ref.propStyle;
            return _react2.default.createElement("span", {
                style: propStyle
            }, _react2.default.createElement("br", null), propKey, ": ", String(propVal))
        };
        exports.default = Property
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var TryItOutButton = function(_React$Component) {
            (0, _inherits3.default)(TryItOutButton, _React$Component);

            function TryItOutButton() {
                (0, _classCallCheck3.default)(this, TryItOutButton);
                return (0, _possibleConstructorReturn3.default)(this, (TryItOutButton.__proto__ || (0, _getPrototypeOf2.default)(TryItOutButton)).apply(this, arguments))
            }(0, _createClass3.default)(TryItOutButton, [{
                key: "render",
                value: function render() {
                    var _props = this.props,
                        onTryoutClick = _props.onTryoutClick,
                        onCancelClick = _props.onCancelClick,
                        enabled = _props.enabled;
                    return _react2.default.createElement("div", {
                        className: "try-out"
                    }, enabled ? _react2.default.createElement("button", {
                        className: "btn try-out__btn cancel",
                        onClick: onCancelClick
                    }, "Cancel") : _react2.default.createElement("button", {
                        className: "btn try-out__btn",
                        onClick: onTryoutClick
                    }, "Try it out "))
                }
            }]);
            return TryItOutButton
        }(_react2.default.Component);
        TryItOutButton.defaultProps = {
            onTryoutClick: Function.prototype,
            onCancelClick: Function.prototype,
            enabled: false
        };
        exports.default = TryItOutButton
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var VersionPragmaFilter = function(_React$PureComponent) {
            (0, _inherits3.default)(VersionPragmaFilter, _React$PureComponent);

            function VersionPragmaFilter() {
                (0, _classCallCheck3.default)(this, VersionPragmaFilter);
                return (0, _possibleConstructorReturn3.default)(this, (VersionPragmaFilter.__proto__ || (0, _getPrototypeOf2.default)(VersionPragmaFilter)).apply(this, arguments))
            }(0, _createClass3.default)(VersionPragmaFilter, [{
                key: "render",
                value: function render() {
                    var _props = this.props,
                        bypass = _props.bypass,
                        isSwagger2 = _props.isSwagger2,
                        isOAS3 = _props.isOAS3,
                        alsoShow = _props.alsoShow;
                    if (bypass) {
                        return _react2.default.createElement("div", null, this.props.children)
                    }
                    if (isSwagger2 && isOAS3) {
                        return _react2.default.createElement("div", {
                            className: "version-pragma"
                        }, alsoShow, _react2.default.createElement("div", {
                            className: "version-pragma__message version-pragma__message--ambiguous"
                        }, _react2.default.createElement("div", null, _react2.default.createElement("h3", null, "Unable to render this definition"), _react2.default.createElement("p", null, _react2.default.createElement("code", null, "swagger"), " and ", _react2.default.createElement("code", null, "openapi"), " fields cannot be present in the same Swagger or OpenAPI definition. Please remove one of the fields."), _react2.default.createElement("p", null, "Supported version fields are ", _react2.default.createElement("code", null, "swagger: ", '"2.0"'), " and those that match ", _react2.default.createElement("code", null, "openapi: 3.0.n"), " (for example, ", _react2.default.createElement("code", null, "openapi: 3.0.0"), ")."))))
                    }
                    if (!isSwagger2 && !isOAS3) {
                        return _react2.default.createElement("div", {
                            className: "version-pragma"
                        }, alsoShow, _react2.default.createElement("div", {
                            className: "version-pragma__message version-pragma__message--missing"
                        }, _react2.default.createElement("div", null, _react2.default.createElement("h3", null, "Unable to render this definition"), _react2.default.createElement("p", null, "The provided definition does not specify a valid version field."), _react2.default.createElement("p", null, "Please indicate a valid Swagger or OpenAPI version field. Supported version fields are ", _react2.default.createElement("code", null, "swagger: ", '"2.0"'), " and those that match ", _react2.default.createElement("code", null, "openapi: 3.0.n"), " (for example, ", _react2.default.createElement("code", null, "openapi: 3.0.0"), ")."))))
                    }
                    return _react2.default.createElement("div", null, this.props.children)
                }
            }]);
            return VersionPragmaFilter
        }(_react2.default.PureComponent);
        VersionPragmaFilter.defaultProps = {
            alsoShow: null,
            children: null,
            bypass: false
        };
        exports.default = VersionPragmaFilter
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var VersionStamp = function VersionStamp(_ref) {
            var version = _ref.version;
            return _react2.default.createElement("small", null, _react2.default.createElement("pre", {
                className: "version"
            }, " ", version, " "))
        };
        exports.default = VersionStamp
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.DeepLink = undefined;
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var DeepLink = exports.DeepLink = function DeepLink(_ref) {
            var enabled = _ref.enabled,
                path = _ref.path,
                text = _ref.text;
            return _react2.default.createElement("a", {
                className: "nostyle",
                onClick: enabled ? function(e) {
                    return e.preventDefault()
                } : null,
                href: enabled ? "#/" + path : null
            }, _react2.default.createElement("span", null, text))
        };
        exports.default = DeepLink
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var SvgAssets = function SvgAssets() {
            return _react2.default.createElement("div", null, _react2.default.createElement("svg", {
                xmlns: "http://www.w3.org/2000/svg",
                xmlnsXlink: "http://www.w3.org/1999/xlink",
                style: {
                    position: "absolute",
                    width: 0,
                    height: 0
                }
            }, _react2.default.createElement("defs", null, _react2.default.createElement("symbol", {
                viewBox: "0 0 20 20",
                id: "unlocked"
            }, _react2.default.createElement("path", {
                d: "M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V6h2v-.801C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8z"
            })), _react2.default.createElement("symbol", {
                viewBox: "0 0 20 20",
                id: "locked"
            }, _react2.default.createElement("path", {
                d: "M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8zM12 8H8V5.199C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8z"
            })), _react2.default.createElement("symbol", {
                viewBox: "0 0 20 20",
                id: "close"
            }, _react2.default.createElement("path", {
                d: "M14.348 14.849c-.469.469-1.229.469-1.697 0L10 11.819l-2.651 3.029c-.469.469-1.229.469-1.697 0-.469-.469-.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-.469-.469-.469-1.228 0-1.697.469-.469 1.228-.469 1.697 0L10 8.183l2.651-3.031c.469-.469 1.228-.469 1.697 0 .469.469.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c.469.469.469 1.229 0 1.698z"
            })), _react2.default.createElement("symbol", {
                viewBox: "0 0 20 20",
                id: "large-arrow"
            }, _react2.default.createElement("path", {
                d: "M13.25 10L6.109 2.58c-.268-.27-.268-.707 0-.979.268-.27.701-.27.969 0l7.83 7.908c.268.271.268.709 0 .979l-7.83 7.908c-.268.271-.701.27-.969 0-.268-.269-.268-.707 0-.979L13.25 10z"
            })), _react2.default.createElement("symbol", {
                viewBox: "0 0 20 20",
                id: "large-arrow-down"
            }, _react2.default.createElement("path", {
                d: "M17.418 6.109c.272-.268.709-.268.979 0s.271.701 0 .969l-7.908 7.83c-.27.268-.707.268-.979 0l-7.908-7.83c-.27-.268-.27-.701 0-.969.271-.268.709-.268.979 0L10 13.25l7.418-7.141z"
            })), _react2.default.createElement("symbol", {
                viewBox: "0 0 24 24",
                id: "jump-to"
            }, _react2.default.createElement("path", {
                d: "M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.41L5.83 13H21V7z"
            })), _react2.default.createElement("symbol", {
                viewBox: "0 0 24 24",
                id: "expand"
            }, _react2.default.createElement("path", {
                d: "M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"
            })))))
        };
        exports.default = SvgAssets
    }, function(module, exports) {
        module.exports = require("dompurify")
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var BaseLayout = function(_React$Component) {
            (0, _inherits3.default)(BaseLayout, _React$Component);

            function BaseLayout() {
                (0, _classCallCheck3.default)(this, BaseLayout);
                return (0, _possibleConstructorReturn3.default)(this, (BaseLayout.__proto__ || (0, _getPrototypeOf2.default)(BaseLayout)).apply(this, arguments))
            }(0, _createClass3.default)(BaseLayout, [{
                key: "render",
                value: function render() {
                    var _props = this.props,
                        specSelectors = _props.specSelectors,
                        getComponent = _props.getComponent;
                    var SvgAssets = getComponent("SvgAssets");
                    var InfoContainer = getComponent("InfoContainer", true);
                    var VersionPragmaFilter = getComponent("VersionPragmaFilter");
                    var Operations = getComponent("operations", true);
                    var Models = getComponent("Models", true);
                    var Row = getComponent("Row");
                    var Col = getComponent("Col");
                    var ServersContainer = getComponent("ServersContainer", true);
                    var Errors = getComponent("errors", true);
                    var SchemesContainer = getComponent("SchemesContainer", true);
                    var FilterContainer = getComponent("FilterContainer", true);
                    var isSwagger2 = specSelectors.isSwagger2();
                    var isOAS3 = specSelectors.isOAS3();
                    var isSpecEmpty = !specSelectors.specStr();
                    if (isSpecEmpty) {
                        var loadingMessage = void 0;
                        var isLoading = specSelectors.loadingStatus() === "loading";
                        if (isLoading) {
                            loadingMessage = _react2.default.createElement("div", {
                                className: "loading"
                            })
                        } else {
                            loadingMessage = _react2.default.createElement("h4", null, "No API definition provided.")
                        }
                        return _react2.default.createElement("div", {
                            className: "swagger-ui"
                        }, _react2.default.createElement("div", {
                            className: "loading-container"
                        }, loadingMessage))
                    }
                    return _react2.default.createElement("div", {
                        className: "swagger-ui"
                    }, _react2.default.createElement(SvgAssets, null), _react2.default.createElement(VersionPragmaFilter, {
                        isSwagger2: isSwagger2,
                        isOAS3: isOAS3,
                        alsoShow: _react2.default.createElement(Errors, null)
                    }, _react2.default.createElement(Errors, null), _react2.default.createElement(Row, {
                        className: "information-container"
                    }, _react2.default.createElement(Col, {
                        mobile: 12
                    }, _react2.default.createElement(InfoContainer, null))), _react2.default.createElement(SchemesContainer, null), _react2.default.createElement(ServersContainer, null), _react2.default.createElement(FilterContainer, null), _react2.default.createElement(Row, null, _react2.default.createElement(Col, {
                        mobile: 12,
                        desktop: 12
                    }, _react2.default.createElement(Operations, null))), _react2.default.createElement(Row, null, _react2.default.createElement(Col, {
                        mobile: 12,
                        desktop: 12
                    }, _react2.default.createElement(Models, null)))))
                }
            }]);
            return BaseLayout
        }(_react2.default.Component);
        exports.default = BaseLayout
    }, function(module, exports, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
            value: true
        });
        exports.JsonSchema_object = exports.JsonSchema_boolean = exports.JsonSchema_array = exports.JsonSchema_string = exports.JsonSchemaForm = undefined;
        var _assign = __webpack_require__(19);
        var _assign2 = _interopRequireDefault(_assign);
        var _extends2 = __webpack_require__(21);
        var _extends3 = _interopRequireDefault(_extends2);
        var _getPrototypeOf = __webpack_require__(4);
        var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
        var _classCallCheck2 = __webpack_require__(2);
        var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
        var _createClass2 = __webpack_require__(3);
        var _createClass3 = _interopRequireDefault(_createClass2);
        var _possibleConstructorReturn2 = __webpack_require__(5);
        var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
        var _inherits2 = __webpack_require__(6);
        var _inherits3 = _interopRequireDefault(_inherits2);
        var _react = __webpack_require__(0);
        var _react2 = _interopRequireDefault(_react);
        var _propTypes = __webpack_require__(1);
        var _propTypes2 = _interopRequireDefault(_propTypes);
        var _immutable = __webpack_require__(7);
        var _classnames = __webpack_require__(75);
        var _classnames2 = _interopRequireDefault(_classnames);
        var _reactImmutableProptypes = __webpack_require__(9);
        var _reactImmutableProptypes2 = _interopRequireDefault(_reactImmutableProptypes);
        var _reactDebounceInput = __webpack_require__(646);
        var _reactDebounceInput2 = _interopRequireDefault(_reactDebounceInput);
        var _utils = __webpack_require__(8);

        function _interopRequireDefault(obj) {
            return obj && obj.__esModule ? obj : {
                default: obj
            }
        }
        var noop = function noop() {};
        var JsonSchemaPropShape = {
            getComponent: _propTypes2.default.func.isRequired,
            value: _propTypes2.default.any,
            onChange: _propTypes2.default.func,
            keyName: _propTypes2.default.any,
            fn: _propTypes2.default.object.isRequired,
            schema: _propTypes2.default.object,
            errors: _reactImmutableProptypes2.default.list,
            required: _propTypes2.default.bool,
            dispatchInitialValue: _propTypes2.default.bool,
            description: _propTypes2.default.any
        };
        var JsonSchemaDefaultProps = {
            value: "",
            onChange: noop,
            schema: {},
            keyName: "",
            required: false,
            errors: (0, _immutable.List)()
        };
        var JsonSchemaForm = exports.JsonSchemaForm = function(_Component) {
            (0, _inherits3.default)(JsonSchemaForm, _Component);

            function JsonSchemaForm() {
                (0, _classCallCheck3.default)(this, JsonSchemaForm);
                return (0, _possibleConstructorReturn3.default)(this, (JsonSchemaForm.__proto__ || (0, _getPrototypeOf2.default)(JsonSchemaForm)).apply(this, arguments))
            }(0, _createClass3.default)(JsonSchemaForm, [{
                key: "componentDidMount",
                value: function componentDidMount() {
                    var _props = this.props,
                        dispatchInitialValue = _props.dispatchInitialValue,
                        value = _props.value,
                        onChange = _props.onChange;
                    if (dispatchInitialValue) {
                        onChange(value)
                    }
                }
            }, {
                key: "render",
                value: function render() {
                    var _props2 = this.props,
                        schema = _props2.schema,
                        errors = _props2.errors,
                        value = _props2.value,
                        onChange = _props2.onChange,
                        getComponent = _props2.getComponent,
                        fn = _props2.fn;
                    if (schema.toJS) schema = schema.toJS();
                    var _schema = schema,
                        type = _schema.type,
                        _schema$format = _schema.format,
                        format = _schema$format === undefined ? "" : _schema$format;
                    var Comp = (format ? getComponent("JsonSchema_" + type + "_" + format) : getComponent("JsonSchema_" + type)) || getComponent("JsonSchema_string");
                    return _react2.default.createElement(Comp, (0, _extends3.default)({}, this.props, {
                        errors: errors,
                        fn: fn,
                        getComponent: getComponent,
                        value: value,
                        onChange: onChange,
                        schema: schema
                    }))
                }
            }]);
            return JsonSchemaForm
        }(_react.Component);
        JsonSchemaForm.defaultProps = JsonSchemaDefaultProps;
        var JsonSchema_string = exports.JsonSchema_string = function(_Component2) {
            (0, _inherits3.default)(JsonSchema_string, _Component2);

            function JsonSchema_string() {
                var _ref;
                var _temp, _this2, _ret;
                (0, _classCallCheck3.default)(this, JsonSchema_string);
                for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
                    args[_key] = arguments[_key]
                }
                return _ret = (_temp = (_this2 = (0, _possibleConstructorReturn3.default)(this, (_ref = JsonSchema_string.__proto__ || (0, _getPrototypeOf2.default)(JsonSchema_string)).call.apply(_ref, [this].concat(args))), _this2), _this2.onChange = function(e) {
                    var value = _this2.props.schema["type"] === "file" ? e.target.files[0] : e.target.value;
                    _this2.props.onChange(value, _this2.props.keyName)
                }, _this2.onEnumChange = function(val) {
                    return _this2.props.onChange(val)
                }, _temp), (0, _possibleConstructorReturn3.default)(_this2, _ret)
            }(0, _createClass3.default)(JsonSchema_string, [{
                key: "render",
                value: function render() {
                    var _props3 = this.props,
                        getComponent = _props3.getComponent,
                        value = _props3.value,
                        schema = _props3.schema,
                        errors = _props3.errors,
                        required = _props3.required,
                        description = _props3.description;
                    var enumValue = schema["enum"];
                    errors = errors.toJS ? errors.toJS() : [];
                    if (enumValue) {
                        var Select = getComponent("Select");
                        return _react2.default.createElement(Select, {
                            className: errors.length ? "invalid" : "",
                            title: errors.length ? errors : "",
                            allowedValues: enumValue,
                            value: value,
                            allowEmptyValue: !required,
                            onChange: this.onEnumChange
                        })
                    }
                    var isDisabled = schema["in"] === "formData" && !("FormData" in window);
                    var Input = getComponent("Input");
                    if (schema["type"] === "file") {
                        return _react2.default.createElement(Input, {
                            type: "file",
                            className: errors.length ? "invalid" : "",
                            title: errors.length ? errors : "",
                            onChange: this.onChange,
                            disabled: isDisabled
                        })
                    } else {
                        return _react2.default.createElement(_reactDebounceInput2.default, {
                            type: schema.format === "password" ? "password" : "text",
                            className: errors.length ? "invalid" : "",
                            title: errors.length ? errors : "",
                            value: value,
                            minLength: 0,
                            debounceTimeout: 350,
                            placeholder: description,
                            onChange: this.onChange,
                            disabled: isDisabled
                        })
                    }
                }
            }]);
            return JsonSchema_string
        }(_react.Component);
        JsonSchema_string.defaultProps = JsonSchemaDefaultProps;
        var JsonSchema_array = exports.JsonSchema_array = function(_PureComponent) {
            (0, _inherits3.default)(JsonSchema_array, _PureComponent);

            function JsonSchema_array(props, context) {
                (0, _classCallCheck3.default)(this, JsonSchema_array);
                var _this3 = (0, _possibleConstructorReturn3.default)(this, (JsonSchema_array.__proto__ || (0, _getPrototypeOf2.default)(JsonSchema_array)).call(this, props, context));
                _this3.onChange = function() {
                    return _this3.props.onChange(_this3.state.value)
                };
                _this3.onItemChange = function(itemVal, i) {
                    _this3.setState(function(state) {
                        return {
                            value: state.value.set(i, itemVal)
                        }
                    }, _this3.onChange)
                };
                _this3.removeItem = function(i) {
                    _this3.setState(function(state) {
                        return {
                            value: state.value.remove(i)
                        }
                    }, _this3.onChange)
                };
                _this3.addItem = function() {
                    _this3.setState(function(state) {
                        state.value = valueOrEmptyList(state.value);
                        return {
                            value: state.value.push("")
                        }
                    }, _this3.onChange)
                };
                _this3.onEnumChange = function(value) {
                    _this3.setState(function() {
                        return {
                            value: value
                        }
                    }, _this3.onChange)
                };
                _this3.state = {
                    value: valueOrEmptyList(props.value)
                };
                return _this3
            }(0, _createClass3.default)(JsonSchema_array, [{
                key: "componentWillReceiveProps",
                value: function componentWillReceiveProps(props) {
                    if (props.value !== this.state.value) this.setState({
                        value: props.value
                    })
                }
            }, {
                key: "render",
                value: function render() {
                    var _this4 = this;
                    var _props4 = this.props,
                        getComponent = _props4.getComponent,
                        required = _props4.required,
                        schema = _props4.schema,
                        errors = _props4.errors,
                        fn = _props4.fn;
                    errors = errors.toJS ? errors.toJS() : [];
                    var itemSchema = fn.inferSchema(schema.items);
                    var JsonSchemaForm = getComponent("JsonSchemaForm");
                    var Button = getComponent("Button");
                    var enumValue = itemSchema["enum"];
                    var value = this.state.value;
                    if (enumValue) {
                        var Select = getComponent("Select");
                        return _react2.default.createElement(Select, {
                            className: errors.length ? "invalid" : "",
                            title: errors.length ? errors : "",
                            multiple: true,
                            value: value,
                            allowedValues: enumValue,
                            allowEmptyValue: !required,
                            onChange: this.onEnumChange
                        })
                    }
                    return _react2.default.createElement("div", null, !value || !value.count || value.count() < 1 ? null : value.map(function(item, i) {
                        var schema = (0, _assign2.default)({}, itemSchema);
                        if (errors.length) {
                            var err = errors.filter(function(err) {
                                return err.index === i
                            });
                            if (err.length) errors = [err[0].error + i]
                        }
                        return _react2.default.createElement("div", {
                            key: i,
                            className: "json-schema-form-item"
                        }, _react2.default.createElement(JsonSchemaForm, {
                            fn: fn,
                            getComponent: getComponent,
                            value: item,
                            onChange: function onChange(val) {
                                return _this4.onItemChange(val, i)
                            },
                            schema: schema
                        }), _react2.default.createElement(Button, {
                            className: "btn btn-sm json-schema-form-item-remove",
                            onClick: function onClick() {
                                return _this4.removeItem(i)
                            }
                        }, " - "))
                    }).toArray(), _react2.default.createElement(Button, {
                        className: "btn btn-sm json-schema-form-item-add " + (errors.length ? "invalid" : null),
                        onClick: this.addItem
                    }, " Add item "))
                }
            }]);
            return JsonSchema_array
        }(_react.PureComponent);
        JsonSchema_array.defaultProps = JsonSchemaDefaultProps;
        var JsonSchema_boolean = exports.JsonSchema_boolean = function(_Component3) {
            (0, _inherits3.default)(JsonSchema_boolean, _Component3);

            function JsonSchema_boolean() {
                var _ref2;
                var _temp2, _this5, _ret2;
                (0, _classCallCheck3.default)(this, JsonSchema_boolean);
                for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
                    args[_key2] = arguments[_key2]
                }
                return _ret2 = (_temp2 = (_this5 = (0, _possibleConstructorReturn3.default)(this, (_ref2 = JsonSchema_boolean.__proto__ || (0, _getPrototypeOf2.default)(JsonSchema_boolean)).call.apply(_ref2, [this].concat(args))), _this5), _this5.onEnumChange = function(val) {
                    return _this5.props.onChange(val)
                }, _temp2), (0, _possibleConstructorReturn3.default)(_this5, _ret2)
            }(0, _createClass3.default)(JsonSchema_boolean, [{
                key: "render",
                value: function render() {
                    var _props5 = this.props,
                        getComponent = _props5.getComponent,
                        value = _props5.value,
                        errors = _props5.errors,
                        schema = _props5.schema,
                        required = _props5.required;
                    errors = errors.toJS ? errors.toJS() : [];
                    var Select = getComponent("Select");
                    return _react2.default.createElement(Select, {
                        className: errors.length ? "invalid" : "",
                        title: errors.length ? errors : "",
                        value: String(value),
                        allowedValues: (0, _immutable.fromJS)(schema.enum || ["true", "false"]),
                        allowEmptyValue: !schema.enum || !required,
                        onChange: this.onEnumChange
                    })
                }
            }]);
            return JsonSchema_boolean
        }(_react.Component);
        JsonSchema_boolean.defaultProps = JsonSchemaDefaultProps;
        var JsonSchema_object = exports.JsonSchema_object = function(_PureComponent2) {
            (0, _inherits3.default)(JsonSchema_object, _PureComponent2);

            function JsonSchema_object() {
                (0, _classCallCheck3.default)(this, JsonSchema_object);
                var _this6 = (0, _possibleConstructorReturn3.default)(this, (JsonSchema_object.__proto__ || (0, _getPrototypeOf2.default)(JsonSchema_object)).call(this));
                _this6.resetValueToSample = function() {
                    _this6.onChange((0, _utils.getSampleSchema)(_this6.props.schema))
                };
                _this6.onChange = function(value) {
                    _this6.props.onChange(value)
                };
                _this6.handleOnChange = function(e) {
                    var inputValue = e.target.value;
                    _this6.onChange(inputValue)
                };
                return _this6
            }(0, _createClass3.default)(JsonSchema_object, [{
                key: "componentDidMount",
                value: function componentDidMount() {
                    if (!this.props.value && this.props.schema) {
                        this.resetValueToSample()
                    }
                }
            }, {
                key: "render",
                value: function render() {
                    var _props6 = this.props,
                        getComponent = _props6.getComponent,
                        value = _props6.value,
                        errors = _props6.errors;
                    var TextArea = getComponent("TextArea");
                    return _react2.default.createElement("div", null, _react2.default.createElement(TextArea, {
                        className: (0, _classnames2.default)({
                            invalid: errors.size
                        }),
                        title: errors.size ? errors.join(", ") : "",
                        value: value,
                        onChange: this.handleOnChange
                    }))
                }
            }]);
            return JsonSchema_object
        }(_react.PureComponent);
        JsonSchema_object.defaultProps = JsonSchemaDefaultProps;

        function valueOrEmptyList(value) {
            return _immutable.List.isList(value) ? value : (0, _immutable.List)()
        }
    }, function(module, exports) {
        module.exports = require("react-debounce-input")
    }, function(module, exports, __webpack_require__) {
        var map = {
            "./all.js": 286,
            "./auth/actions.js": 148,
            "./auth/index.js": 240,
            "./auth/reducers.js": 241,
            "./auth/selectors.js": 242,
            "./auth/spec-wrap-actions.js": 243,
            "./configs/actions.js": 150,
            "./configs/helpers.js": 149,
            "./configs/index.js": 246,
            "./configs/reducers.js": 249,
            "./configs/selectors.js": 248,
            "./configs/spec-actions.js": 247,
            "./deep-linking/helpers.js": 252,
            "./deep-linking/index.js": 250,
            "./deep-linking/layout.js": 251,
            "./deep-linking/operation-tag-wrapper.jsx": 254,
            "./deep-linking/operation-wrapper.jsx": 253,
            "./download-url.js": 245,
            "./err/actions.js": 90,
            "./err/error-transformers/hook.js": 207,
            "./err/error-transformers/transformers/not-of-type.js": 208,
            "./err/error-transformers/transformers/parameter-oneof.js": 209,
            "./err/error-transformers/transformers/strip-instance.js": 210,
            "./err/index.js": 205,
            "./err/reducers.js": 206,
            "./err/selectors.js": 211,
            "./filter/index.js": 255,
            "./filter/opsFilter.js": 256,
            "./layout/actions.js": 139,
            "./layout/index.js": 212,
            "./layout/reducers.js": 213,
            "./layout/selectors.js": 214,
            "./logs/index.js": 237,
            "./oas3/actions.js": 151,
            "./oas3/auth-extensions/wrap-selectors.js": 265,
            "./oas3/components/callbacks.jsx": 268,
            "./oas3/components/http-auth.jsx": 274,
            "./oas3/components/index.js": 267,
            "./oas3/components/operation-link.jsx": 270,
            "./oas3/components/operation-servers.jsx": 275,
            "./oas3/components/request-body-editor.jsx": 273,
            "./oas3/components/request-body.jsx": 269,
            "./oas3/components/servers-container.jsx": 272,
            "./oas3/components/servers.jsx": 271,
            "./oas3/helpers.js": 24,
            "./oas3/index.js": 263,
            "./oas3/reducers.js": 285,
            "./oas3/selectors.js": 284,
            "./oas3/spec-extensions/selectors.js": 266,
            "./oas3/spec-extensions/wrap-selectors.js": 264,
            "./oas3/wrap-components/auth-item.jsx": 278,
            "./oas3/wrap-components/index.js": 276,
            "./oas3/wrap-components/json-schema-string.js": 283,
            "./oas3/wrap-components/markdown.js": 277,
            "./oas3/wrap-components/model.jsx": 282,
            "./oas3/wrap-components/online-validator-badge.js": 281,
            "./oas3/wrap-components/parameters.jsx": 279,
            "./oas3/wrap-components/version-stamp.jsx": 280,
            "./on-complete/index.js": 257,
            "./samples/fn.js": 138,
            "./samples/index.js": 236,
            "./spec/actions.js": 141,
            "./spec/index.js": 218,
            "./spec/reducers.js": 219,
            "./spec/selectors.js": 140,
            "./spec/wrap-actions.js": 230,
            "./swagger-js/index.js": 238,
            "./util/index.js": 244,
            "./view/index.js": 231,
            "./view/root-injects.js": 232
        };

        function webpackContext(req) {
            return __webpack_require__(webpackContextResolve(req))
        }

        function webpackContextResolve(req) {
            var id = map[req];
            if (!(id + 1)) throw new Error("Cannot find module '" + req + "'.");
            return id
        }
        webpackContext.keys = function webpackContextKeys() {
            return Object.keys(map)
        };
        webpackContext.resolve = webpackContextResolve;
        module.exports = webpackContext;
        webpackContext.id = 647
    }])
});
//# sourceMappingURL=swagger-ui.js.map