does.\n contentKey = 'textContent' in document.documentElement ? 'textContent' : 'innerText';\n }\n return contentKey;\n}\n\nmodule.exports = getTextContentAccessor;\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-dom/lib/getTextContentAccessor.js\n// module id = 107\n// module chunks = 0 1 2 3\n//# sourceURL=webpack:///./~/react-dom/lib/getTextContentAccessor.js?");
/***/ }),
/* 108 */
/***/ (function(module, exports, __webpack_require__) {
eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar ReactDOMComponentTree = __webpack_require__(7);\n\nfunction isCheckable(elem) {\n var type = elem.type;\n var nodeName = elem.nodeName;\n return nodeName && nodeName.toLowerCase() === 'input' && (type === 'checkbox' || type === 'radio');\n}\n\nfunction getTracker(inst) {\n return inst._wrapperState.valueTracker;\n}\n\nfunction attachTracker(inst, tracker) {\n inst._wrapperState.valueTracker = tracker;\n}\n\nfunction detachTracker(inst) {\n inst._wrapperState.valueTracker = null;\n}\n\nfunction getValueFromNode(node) {\n var value;\n if (node) {\n value = isCheckable(node) ? '' + node.checked : node.value;\n }\n return value;\n}\n\nvar inputValueTracking = {\n // exposed for testing\n _getTrackerFromNode: function (node) {\n return getTracker(ReactDOMComponentTree.getInstanceFromNode(node));\n },\n\n\n track: function (inst) {\n if (getTracker(inst)) {\n return;\n }\n\n var node = ReactDOMComponentTree.getNodeFromInstance(inst);\n var valueField = isCheckable(node) ? 'checked' : 'value';\n var descriptor = Object.getOwnPropertyDescriptor(node.constructor.prototype, valueField);\n\n var currentValue = '' + node[valueField];\n\n // if someone has already defined a value or Safari, then bail\n // and don't track value will cause over reporting of changes,\n // but it's better then a hard failure\n // (needed for certain tests that spyOn input values and Safari)\n if (node.hasOwnProperty(valueField) || typeof descriptor.get !== 'function' || typeof descriptor.set !== 'function') {\n return;\n }\n\n Object.defineProperty(node, valueField, {\n enumerable: descriptor.enumerable,\n configurable: true,\n get: function () {\n return descriptor.get.call(this);\n },\n set: function (value) {\n currentValue = '' + value;\n descriptor.set.call(this, value);\n }\n });\n\n attachTracker(inst, {\n getValue: function () {\n return currentValue;\n },\n setValue: function (value) {\n currentValue = '' + value;\n },\n stopTracking: function () {\n detachTracker(inst);\n delete node[valueField];\n }\n });\n },\n\n updateValueIfChanged: function (inst) {\n if (!inst) {\n return false;\n }\n var tracker = getTracker(inst);\n\n if (!tracker) {\n inputValueTracking.track(inst);\n return true;\n }\n\n var lastValue = tracker.getValue();\n var nextValue = getValueFromNode(ReactDOMComponentTree.getNodeFromInstance(inst));\n\n if (nextValue !== lastValue) {\n tracker.setValue(nextValue);\n return true;\n }\n\n return false;\n },\n stopTracking: function (inst) {\n var tracker = getTracker(inst);\n if (tracker) {\n tracker.stopTracking();\n }\n }\n};\n\nmodule.exports = inputValueTracking;\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-dom/lib/inputValueTracking.js\n// module id = 108\n// module chunks = 0 1 2 3\n//# sourceURL=webpack:///./~/react-dom/lib/inputValueTracking.js?");
/***/ }),
/* 109 */
/***/ (function(module, exports, __webpack_require__) {
eval("/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _prodInvariant = __webpack_require__(6),\n _assign = __webpack_require__(8);\n\nvar ReactCompositeComponent = __webpack_require__(180);\nvar ReactEmptyComponent = __webpack_require__(96);\nvar ReactHostComponent = __webpack_require__(98);\n\nvar getNextDebugID = __webpack_require__(248);\nvar invariant = __webpack_require__(3);\nvar warning = __webpack_require__(4);\n\n// To avoid a cyclic dependency, we create the final class in this module\nvar ReactCompositeComponentWrapper = function (element) {\n this.construct(element);\n};\n\nfunction getDeclarationErrorAddendum(owner) {\n if (owner) {\n var name = owner.getName();\n if (name) {\n return ' Check the render method of `' + name + '`.';\n }\n }\n return '';\n}\n\n/**\n * Check if the type reference is a known internal type. I.e. not a user\n * provided composite type.\n *\n * @param {function} type\n * @return {boolean} Returns true if this is a valid internal type.\n */\nfunction isInternalComponentType(type) {\n return typeof type === 'function' && typeof type.prototype !== 'undefined' && typeof type.prototype.mountComponent === 'function' && typeof type.prototype.receiveComponent === 'function';\n}\n\n/**\n * Given a ReactNode, create an instance that will actually be mounted.\n *\n * @param {ReactNode} node\n * @param {boolean} shouldHaveDebugID\n * @return {object} A new instance of the element's constructor.\n * @protected\n */\nfunction instantiateReactComponent(node, shouldHaveDebugID) {\n var instance;\n\n if (node === null || node === false) {\n instance = ReactEmptyComponent.create(instantiateReactComponent);\n } else if (typeof node === 'object') {\n var element = node;\n var type = element.type;\n if (typeof type !== 'function' && typeof type !== 'string') {\n var info = '';\n if (process.env.NODE_ENV !== 'production') {\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in.\";\n }\n }\n info += getDeclarationErrorAddendum(element._owner);\n true ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s', type == null ? type : typeof type, info) : _prodInvariant('130', type == null ? type : typeof type, info) : void 0;\n }\n\n // Special case string values\n if (typeof element.type === 'string') {\n instance = ReactHostComponent.createInternalComponent(element);\n } else if (isInternalComponentType(element.type)) {\n // This is temporarily available for custom components that are not string\n // representations. I.e. ART. Once those are updated to use the string\n // representation, we can drop this code path.\n instance = new element.type(element);\n\n // We renamed this. Allow the old name for compat. :(\n if (!instance.getHostNode) {\n instance.getHostNode = instance.getNativeNode;\n }\n } else {\n instance = new ReactCompositeComponentWrapper(element);\n }\n } else if (typeof node === 'string' || typeof node === 'number') {\n instance = ReactHostComponent.createInstanceForText(node);\n } else {\n true ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Encountered invalid React node of type %s', typeof node) : _prodInvariant('131', typeof node) : void 0;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(typeof instance.mountComponent === 'function' && typeof instance.receiveComponent === 'function' && typeof instance.getHostNode === 'function' && typeof instance.unmountComponent === 'function', 'Only React Components can be mounted.') : void 0;\n }\n\n // These two fields are used by the DOM and ART diffing algorithms\n // respectively. Instead of using expandos on components, we should be\n // storing the state needed by the diffing algorithms elsewhere.\n instance._mountIndex = 0;\n instance._mountImage = null;\n\n if (process.env.NODE_ENV !== 'production') {\n instance._debugID = shouldHaveDebugID ? getNextDebugID() : 0;\n }\n\n // Internal instances should fully constructed at this point, so they should\n // not get any new fields added to them at this point.\n if (process.env.NODE_ENV !== 'production') {\n if (Object.preventExtensions) {\n Object.preventExtensions(instance);\n }\n }\n\n return instance;\n}\n\n_assign(ReactCompositeComponentWrapper.prototype, ReactCompositeComponent, {\n _instantiateReactComponent: instantiateReactComponent\n});\n\nmodule.exports = instantiateReactComponent;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2)))\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-dom/lib/instantiateReactComponent.js\n// module id = 109\n// module chunks = 0 1 2 3\n//# sourceURL=webpack:///./~/react-dom/lib/instantiateReactComponent.js?");
/***/ }),
/* 110 */
/***/ (function(module, exports) {
eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n'use strict';\n\n/**\n * @see https://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary\n */\n\nvar supportedInputTypes = {\n color: true,\n date: true,\n datetime: true,\n 'datetime-local': true,\n email: true,\n month: true,\n number: true,\n password: true,\n range: true,\n search: true,\n tel: true,\n text: true,\n time: true,\n url: true,\n week: true\n};\n\nfunction isTextInputElement(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n\n if (nodeName === 'input') {\n return !!supportedInputTypes[elem.type];\n }\n\n if (nodeName === 'textarea') {\n return true;\n }\n\n return false;\n}\n\nmodule.exports = isTextInputElement;\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-dom/lib/isTextInputElement.js\n// module id = 110\n// module chunks = 0 1 2 3\n//# sourceURL=webpack:///./~/react-dom/lib/isTextInputElement.js?");
/***/ }),
/* 111 */
/***/ (function(module, exports, __webpack_require__) {
eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar ExecutionEnvironment = __webpack_require__(9);\nvar escapeTextContentForBrowser = __webpack_require__(49);\nvar setInnerHTML = __webpack_require__(50);\n\n/**\n * Set the textContent property of a node, ensuring that whitespace is preserved\n * even in IE8. innerText is a poor substitute for textContent and, among many\n * issues, inserts
instead of the literal newline chars. innerHTML behaves\n * as it should.\n *\n * @param {DOMElement} node\n * @param {string} text\n * @internal\n */\nvar setTextContent = function (node, text) {\n if (text) {\n var firstChild = node.firstChild;\n\n if (firstChild && firstChild === node.lastChild && firstChild.nodeType === 3) {\n firstChild.nodeValue = text;\n return;\n }\n }\n node.textContent = text;\n};\n\nif (ExecutionEnvironment.canUseDOM) {\n if (!('textContent' in document.documentElement)) {\n setTextContent = function (node, text) {\n if (node.nodeType === 3) {\n node.nodeValue = text;\n return;\n }\n setInnerHTML(node, escapeTextContentForBrowser(text));\n };\n }\n}\n\nmodule.exports = setTextContent;\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-dom/lib/setTextContent.js\n// module id = 111\n// module chunks = 0 1 2 3\n//# sourceURL=webpack:///./~/react-dom/lib/setTextContent.js?");
/***/ }),
/* 112 */
/***/ (function(module, exports, __webpack_require__) {
eval("/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _prodInvariant = __webpack_require__(6);\n\nvar ReactCurrentOwner = __webpack_require__(17);\nvar REACT_ELEMENT_TYPE = __webpack_require__(199);\n\nvar getIteratorFn = __webpack_require__(233);\nvar invariant = __webpack_require__(3);\nvar KeyEscapeUtils = __webpack_require__(59);\nvar warning = __webpack_require__(4);\n\nvar SEPARATOR = '.';\nvar SUBSEPARATOR = ':';\n\n/**\n * This is inlined from ReactElement since this file is shared between\n * isomorphic and renderers. We could extract this to a\n *\n */\n\n/**\n * TODO: Test that a single child and an array with one item have the same key\n * pattern.\n */\n\nvar didWarnAboutMaps = false;\n\n/**\n * Generate a key string that identifies a component within a set.\n *\n * @param {*} component A component that could contain a manual key.\n * @param {number} index Index that is used if a manual key is not provided.\n * @return {string}\n */\nfunction getComponentKey(component, index) {\n // Do some typechecking here since we call this blindly. We want to ensure\n // that we don't block potential future ES APIs.\n if (component && typeof component === 'object' && component.key != null) {\n // Explicit key\n return KeyEscapeUtils.escape(component.key);\n }\n // Implicit key determined by the index in the set\n return index.toString(36);\n}\n\n/**\n * @param {?*} children Children tree container.\n * @param {!string} nameSoFar Name of the key path so far.\n * @param {!function} callback Callback to invoke with each child found.\n * @param {?*} traverseContext Used to pass information throughout the traversal\n * process.\n * @return {!number} The number of children in this subtree.\n */\nfunction traverseAllChildrenImpl(children, nameSoFar, callback, traverseContext) {\n var type = typeof children;\n\n if (type === 'undefined' || type === 'boolean') {\n // All of the above are perceived as null.\n children = null;\n }\n\n if (children === null || type === 'string' || type === 'number' ||\n // The following is inlined from ReactElement. This means we can optimize\n // some checks. React Fiber also inlines this logic for similar purposes.\n type === 'object' && children.$$typeof === REACT_ELEMENT_TYPE) {\n callback(traverseContext, children,\n // If it's the only child, treat the name as if it was wrapped in an array\n // so that it's consistent if the number of children grows.\n nameSoFar === '' ? SEPARATOR + getComponentKey(children, 0) : nameSoFar);\n return 1;\n }\n\n var child;\n var nextName;\n var subtreeCount = 0; // Count of children found in the current subtree.\n var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;\n\n if (Array.isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n nextName = nextNamePrefix + getComponentKey(child, i);\n subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);\n }\n } else {\n var iteratorFn = getIteratorFn(children);\n if (iteratorFn) {\n var iterator = iteratorFn.call(children);\n var step;\n if (iteratorFn !== children.entries) {\n var ii = 0;\n while (!(step = iterator.next()).done) {\n child = step.value;\n nextName = nextNamePrefix + getComponentKey(child, ii++);\n subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);\n }\n } else {\n if (process.env.NODE_ENV !== 'production') {\n var mapsAsChildrenAddendum = '';\n if (ReactCurrentOwner.current) {\n var mapsAsChildrenOwnerName = ReactCurrentOwner.current.getName();\n if (mapsAsChildrenOwnerName) {\n mapsAsChildrenAddendum = ' Check the render method of `' + mapsAsChildrenOwnerName + '`.';\n }\n }\n process.env.NODE_ENV !== 'production' ? warning(didWarnAboutMaps, 'Using Maps as children is not yet fully supported. It is an ' + 'experimental feature that might be removed. Convert it to a ' + 'sequence / iterable of keyed ReactElements instead.%s', mapsAsChildrenAddendum) : void 0;\n didWarnAboutMaps = true;\n }\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n child = entry[1];\n nextName = nextNamePrefix + KeyEscapeUtils.escape(entry[0]) + SUBSEPARATOR + getComponentKey(child, 0);\n subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);\n }\n }\n }\n } else if (type === 'object') {\n var addendum = '';\n if (process.env.NODE_ENV !== 'production') {\n addendum = ' If you meant to render a collection of children, use an array ' + 'instead or wrap the object using createFragment(object) from the ' + 'React add-ons.';\n if (children._isReactElement) {\n addendum = \" It looks like you're using an element created by a different \" + 'version of React. Make sure to use only one copy of React.';\n }\n if (ReactCurrentOwner.current) {\n var name = ReactCurrentOwner.current.getName();\n if (name) {\n addendum += ' Check the render method of `' + name + '`.';\n }\n }\n }\n var childrenString = String(children);\n true ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Objects are not valid as a React child (found: %s).%s', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum) : _prodInvariant('31', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum) : void 0;\n }\n }\n\n return subtreeCount;\n}\n\n/**\n * Traverses children that are typically specified as `props.children`, but\n * might also be specified through attributes:\n *\n * - `traverseAllChildren(this.props.children, ...)`\n * - `traverseAllChildren(this.props.leftPanelChildren, ...)`\n *\n * The `traverseContext` is an optional argument that is passed through the\n * entire traversal. It can be used to store accumulations or anything else that\n * the callback might find relevant.\n *\n * @param {?*} children Children tree object.\n * @param {!function} callback To invoke upon traversing each child.\n * @param {?*} traverseContext Context for traversal.\n * @return {!number} The number of children in this subtree.\n */\nfunction traverseAllChildren(children, callback, traverseContext) {\n if (children == null) {\n return 0;\n }\n\n return traverseAllChildrenImpl(children, '', callback, traverseContext);\n}\n\nmodule.exports = traverseAllChildren;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2)))\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-dom/lib/traverseAllChildren.js\n// module id = 112\n// module chunks = 0 1 2 3\n//# sourceURL=webpack:///./~/react-dom/lib/traverseAllChildren.js?");
/***/ }),
/* 113 */
/***/ (function(module, exports, __webpack_require__) {
eval("/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _prodInvariant = __webpack_require__(32),\n _assign = __webpack_require__(72);\n\nvar ReactNoopUpdateQueue = __webpack_require__(116);\n\nvar canDefineProperty = __webpack_require__(51);\nvar emptyObject = __webpack_require__(44);\nvar invariant = __webpack_require__(3);\nvar lowPriorityWarning = __webpack_require__(71);\n\n/**\n * Base class helpers for the updating state of a component.\n */\nfunction ReactComponent(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n // We initialize the default updater but the real one gets injected by the\n // renderer.\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nReactComponent.prototype.isReactComponent = {};\n\n/**\n * Sets a subset of the state. Always use this to mutate\n * state. You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * There is no guarantee that calls to `setState` will run synchronously,\n * as they may eventually be batched together. You can provide an optional\n * callback that will be executed when the call to setState is actually\n * completed.\n *\n * When a function is provided to setState, it will be called at some point in\n * the future (not synchronously). It will be called with the up to date\n * component arguments (state, props, context). These values can be different\n * from this.* because your function may be called after receiveProps but before\n * shouldComponentUpdate, and this new state, props, and context will not yet be\n * assigned to this.\n *\n * @param {object|function} partialState Next partial state or function to\n * produce next partial state to be merged with current state.\n * @param {?function} callback Called after state is updated.\n * @final\n * @protected\n */\nReactComponent.prototype.setState = function (partialState, callback) {\n !(typeof partialState === 'object' || typeof partialState === 'function' || partialState == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'setState(...): takes an object of state variables to update or a function which returns an object of state variables.') : _prodInvariant('85') : void 0;\n this.updater.enqueueSetState(this, partialState);\n if (callback) {\n this.updater.enqueueCallback(this, callback, 'setState');\n }\n};\n\n/**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {?function} callback Called after update is complete.\n * @final\n * @protected\n */\nReactComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this);\n if (callback) {\n this.updater.enqueueCallback(this, callback, 'forceUpdate');\n }\n};\n\n/**\n * Deprecated APIs. These APIs used to exist on classic React classes but since\n * we would like to deprecate them, we're not going to move them over to this\n * modern base class. Instead, we define a getter that warns if it's accessed.\n */\nif (process.env.NODE_ENV !== 'production') {\n var deprecatedAPIs = {\n isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'],\n replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).']\n };\n var defineDeprecationWarning = function (methodName, info) {\n if (canDefineProperty) {\n Object.defineProperty(ReactComponent.prototype, methodName, {\n get: function () {\n lowPriorityWarning(false, '%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]);\n return undefined;\n }\n });\n }\n };\n for (var fnName in deprecatedAPIs) {\n if (deprecatedAPIs.hasOwnProperty(fnName)) {\n defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);\n }\n }\n}\n\n/**\n * Base class helpers for the updating state of a component.\n */\nfunction ReactPureComponent(props, context, updater) {\n // Duplicated from ReactComponent.\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n // We initialize the default updater but the real one gets injected by the\n // renderer.\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nfunction ComponentDummy() {}\nComponentDummy.prototype = ReactComponent.prototype;\nReactPureComponent.prototype = new ComponentDummy();\nReactPureComponent.prototype.constructor = ReactPureComponent;\n// Avoid an extra prototype jump for these methods.\n_assign(ReactPureComponent.prototype, ReactComponent.prototype);\nReactPureComponent.prototype.isPureReactComponent = true;\n\nmodule.exports = {\n Component: ReactComponent,\n PureComponent: ReactPureComponent\n};\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2)))\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react/lib/ReactBaseClasses.js\n// module id = 113\n// module chunks = 0 1 2 3\n//# sourceURL=webpack:///./~/react/lib/ReactBaseClasses.js?");
/***/ }),
/* 114 */
/***/ (function(module, exports) {
eval("/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n'use strict';\n\n// The Symbol used to tag the ReactElement type. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\n\nvar REACT_ELEMENT_TYPE = typeof Symbol === 'function' && Symbol['for'] && Symbol['for']('react.element') || 0xeac7;\n\nmodule.exports = REACT_ELEMENT_TYPE;\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react/lib/ReactElementSymbol.js\n// module id = 114\n// module chunks = 0 1 2 3\n//# sourceURL=webpack:///./~/react/lib/ReactElementSymbol.js?");
/***/ }),
/* 115 */
/***/ (function(module, exports, __webpack_require__) {
eval("/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n/**\n * ReactElementValidator provides a wrapper around a element factory\n * which validates the props passed to the element. This is intended to be\n * used only in DEV and could be replaced by a static type checker for languages\n * that support it.\n */\n\n'use strict';\n\nvar ReactCurrentOwner = __webpack_require__(17);\nvar ReactComponentTreeHook = __webpack_require__(10);\nvar ReactElement = __webpack_require__(27);\n\nvar checkReactTypeSpec = __webpack_require__(246);\n\nvar canDefineProperty = __webpack_require__(51);\nvar getIteratorFn = __webpack_require__(117);\nvar warning = __webpack_require__(4);\nvar lowPriorityWarning = __webpack_require__(71);\n\nfunction getDeclarationErrorAddendum() {\n if (ReactCurrentOwner.current) {\n var name = ReactCurrentOwner.current.getName();\n if (name) {\n return ' Check the render method of `' + name + '`.';\n }\n }\n return '';\n}\n\nfunction getSourceInfoErrorAddendum(elementProps) {\n if (elementProps !== null && elementProps !== undefined && elementProps.__source !== undefined) {\n var source = elementProps.__source;\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return ' Check your code at ' + fileName + ':' + lineNumber + '.';\n }\n return '';\n}\n\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n if (parentName) {\n info = ' Check the top-level render call using <' + parentName + '>.';\n }\n }\n return info;\n}\n\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\nfunction validateExplicitKey(element, parentType) {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n element._store.validated = true;\n\n var memoizer = ownerHasKeyUseWarning.uniqueKey || (ownerHasKeyUseWarning.uniqueKey = {});\n\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n if (memoizer[currentComponentErrorInfo]) {\n return;\n }\n memoizer[currentComponentErrorInfo] = true;\n\n // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n var childOwner = '';\n if (element && element._owner && element._owner !== ReactCurrentOwner.current) {\n // Give the component that originally created this child.\n childOwner = ' It was passed a child from ' + element._owner.getName() + '.';\n }\n\n process.env.NODE_ENV !== 'production' ? warning(false, 'Each child in an array or iterator should have a unique \"key\" prop.' + '%s%s See https://fb.me/react-warning-keys for more information.%s', currentComponentErrorInfo, childOwner, ReactComponentTreeHook.getCurrentStackAddendum(element)) : void 0;\n}\n\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\nfunction validateChildKeys(node, parentType) {\n if (typeof node !== 'object') {\n return;\n }\n if (Array.isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n if (ReactElement.isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (ReactElement.isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n // Entry iterators provide implicit keys.\n if (iteratorFn) {\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n while (!(step = iterator.next()).done) {\n if (ReactElement.isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n}\n\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\nfunction validatePropTypes(element) {\n var componentClass = element.type;\n if (typeof componentClass !== 'function') {\n return;\n }\n var name = componentClass.displayName || componentClass.name;\n if (componentClass.propTypes) {\n checkReactTypeSpec(componentClass.propTypes, element.props, 'prop', name, element, null);\n }\n if (typeof componentClass.getDefaultProps === 'function') {\n process.env.NODE_ENV !== 'production' ? warning(componentClass.getDefaultProps.isReactClassApproved, 'getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.') : void 0;\n }\n}\n\nvar ReactElementValidator = {\n createElement: function (type, props, children) {\n var validType = typeof type === 'string' || typeof type === 'function';\n // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n if (!validType) {\n if (typeof type !== 'function' && typeof type !== 'string') {\n var info = '';\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendum(props);\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n info += ReactComponentTreeHook.getCurrentStackAddendum();\n\n var currentSource = props !== null && props !== undefined && props.__source !== undefined ? props.__source : null;\n ReactComponentTreeHook.pushNonStandardWarningStack(true, currentSource);\n process.env.NODE_ENV !== 'production' ? warning(false, 'React.createElement: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', type == null ? type : typeof type, info) : void 0;\n ReactComponentTreeHook.popNonStandardWarningStack();\n }\n }\n\n var element = ReactElement.createElement.apply(this, arguments);\n\n // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n if (element == null) {\n return element;\n }\n\n // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n if (validType) {\n for (var i = 2; i < arguments.length; i++) {\n validateChildKeys(arguments[i], type);\n }\n }\n\n validatePropTypes(element);\n\n return element;\n },\n\n createFactory: function (type) {\n var validatedFactory = ReactElementValidator.createElement.bind(null, type);\n // Legacy hook TODO: Warn if this is accessed\n validatedFactory.type = type;\n\n if (process.env.NODE_ENV !== 'production') {\n if (canDefineProperty) {\n Object.defineProperty(validatedFactory, 'type', {\n enumerable: false,\n get: function () {\n lowPriorityWarning(false, 'Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.');\n Object.defineProperty(this, 'type', {\n value: type\n });\n return type;\n }\n });\n }\n }\n\n return validatedFactory;\n },\n\n cloneElement: function (element, props, children) {\n var newElement = ReactElement.cloneElement.apply(this, arguments);\n for (var i = 2; i < arguments.length; i++) {\n validateChildKeys(arguments[i], newElement.type);\n }\n validatePropTypes(newElement);\n return newElement;\n }\n};\n\nmodule.exports = ReactElementValidator;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2)))\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react/lib/ReactElementValidator.js\n// module id = 115\n// module chunks = 0 1 2 3\n//# sourceURL=webpack:///./~/react/lib/ReactElementValidator.js?");
/***/ }),
/* 116 */
/***/ (function(module, exports, __webpack_require__) {
eval("/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright (c) 2015-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar warning = __webpack_require__(4);\n\nfunction warnNoop(publicInstance, callerName) {\n if (process.env.NODE_ENV !== 'production') {\n var constructor = publicInstance.constructor;\n process.env.NODE_ENV !== 'production' ? warning(false, '%s(...): Can only update a mounted or mounting component. ' + 'This usually means you called %s() on an unmounted component. ' + 'This is a no-op. Please check the code for the %s component.', callerName, callerName, constructor && (constructor.displayName || constructor.name) || 'ReactClass') : void 0;\n }\n}\n\n/**\n * This is the abstract API for an update queue.\n */\nvar ReactNoopUpdateQueue = {\n /**\n * Checks whether or not this composite component is mounted.\n * @param {ReactClass} publicInstance The instance we want to test.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function (publicInstance) {\n return false;\n },\n\n /**\n * Enqueue a callback that will be executed after all the pending updates\n * have processed.\n *\n * @param {ReactClass} publicInstance The instance to use as `this` context.\n * @param {?function} callback Called after state is updated.\n * @internal\n */\n enqueueCallback: function (publicInstance, callback) {},\n\n /**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @internal\n */\n enqueueForceUpdate: function (publicInstance) {\n warnNoop(publicInstance, 'forceUpdate');\n },\n\n /**\n * Replaces all of the state. Always use this or `setState` to mutate state.\n * You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} completeState Next state.\n * @internal\n */\n enqueueReplaceState: function (publicInstance, completeState) {\n warnNoop(publicInstance, 'replaceState');\n },\n\n /**\n * Sets a subset of the state. This only exists because _pendingState is\n * internal. This provides a merging strategy that is not available to deep\n * properties which is confusing. TODO: Expose pendingState or don't use it\n * during the merge.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} partialState Next partial state to be merged with state.\n * @internal\n */\n enqueueSetState: function (publicInstance, partialState) {\n warnNoop(publicInstance, 'setState');\n }\n};\n\nmodule.exports = ReactNoopUpdateQueue;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2)))\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react/lib/ReactNoopUpdateQueue.js\n// module id = 116\n// module chunks = 0 1 2 3\n//# sourceURL=webpack:///./~/react/lib/ReactNoopUpdateQueue.js?");
/***/ }),
/* 117 */
/***/ (function(module, exports) {
eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n'use strict';\n\n/* global Symbol */\n\nvar ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n/**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\nfunction getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n}\n\nmodule.exports = getIteratorFn;\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react/lib/getIteratorFn.js\n// module id = 117\n// module chunks = 0 1 2 3\n//# sourceURL=webpack:///./~/react/lib/getIteratorFn.js?");
/***/ }),
/* 118 */,
/* 119 */,
/* 120 */,
/* 121 */,
/* 122 */,
/* 123 */,
/* 124 */,
/* 125 */,
/* 126 */,
/* 127 */,
/* 128 */,
/* 129 */,
/* 130 */,
/* 131 */
/***/ (function(module, exports, __webpack_require__) {
eval("(function webpackUniversalModuleDefinition(root, factory) {\n\tif(true)\n\t\tmodule.exports = factory(__webpack_require__(43), __webpack_require__(1), __webpack_require__(34));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"prop-types\", \"react\", \"react-dom\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"react-owl-carousel2\"] = factory(require(\"prop-types\"), require(\"react\"), require(\"react-dom\"));\n\telse\n\t\troot[\"react-owl-carousel2\"] = factory(root[\"PropTypes\"], root[\"React\"], root[\"ReactDOM\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_3__, __WEBPACK_EXTERNAL_MODULE_4__, __WEBPACK_EXTERNAL_MODULE_5__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\teval(\"'use strict';\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n\\tvalue: true\\n});\\n\\nvar _extends = Object.assign || 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; };\\n\\nvar _createClass = 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; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\\n\\nvar _react = __webpack_require__(4);\\n\\nvar _react2 = _interopRequireDefault(_react);\\n\\nvar _reactDom = __webpack_require__(5);\\n\\nvar _propTypes = __webpack_require__(3);\\n\\nvar _propTypes2 = _interopRequireDefault(_propTypes);\\n\\n__webpack_require__(2);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nfunction _objectWithoutProperties(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; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\"); } return call && (typeof call === \\\"object\\\" || typeof call === \\\"function\\\") ? call : self; }\\n\\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \\\"function\\\" && superClass !== null) { throw new TypeError(\\\"Super expression must either be null or a function, not \\\" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\\n\\nvar owlCarouselOptions = {\\n\\tcore: ['items', 'loop', 'center', 'rewind', 'mouseDrag', 'touchDrag', 'pullDrag', 'freeDrag', 'margin', 'stagePadding', 'merge', 'mergeFit', 'autoWidth', 'startPosition', 'rtl', 'smartSpeed', 'fluidSpeed', 'dragEndSpeed', 'responsive', 'responsiveRefreshRate', 'responsiveBaseElement', 'fallbackEasing', 'info', 'nestedItemSelector', 'itemElement', 'stageElement', 'refreshClass', 'loadedClass', 'loadingClass', 'rtlClass', 'responsiveClass', 'dragClass', 'itemClass', 'stageClass', 'stageOuterClass', 'grabClass'],\\n\\tautorefresh: ['autoRefresh', 'autoRefreshInterval'],\\n\\tlazy: ['lazyLoad'],\\n\\tautoHeight: ['autoHeight', 'autoHeightClass'],\\n\\tvideo: ['video', 'videoHeight', 'videoWidth'],\\n\\tanimate: ['animateOut', 'animateIn'],\\n\\tautoplay: ['autoplay', 'autoplayTimeout', 'autoplayHoverPause', 'autoplaySpeed'],\\n\\tnavigation: ['nav', 'navText', 'navSpeed', 'navElement', 'navContainer', 'navContainerClass', 'navClass', 'slideBy', 'dotClass', 'dotsClass', 'dots', 'dotsEach', 'dotsData', 'dotsSpeed', 'dotsContainer'],\\n\\thash: ['URLhashListener']\\n};\\n\\nvar owlCarouselEvents = {\\n\\tcore: ['onInitialize', 'onInitialized', 'onResize', 'onResized', 'onRefresh', 'onRefreshed', 'onDrag', 'onDragged', 'onTranslate', 'onTranslated', 'onChange', 'onChanged'],\\n\\tlazy: ['onLoadLazy', 'onLoadedLazy'],\\n\\tvideo: ['onStopVideo', 'onPlayVideo']\\n};\\n\\nvar OwlCarousel = function (_React$Component) {\\n\\t_inherits(OwlCarousel, _React$Component);\\n\\n\\tfunction OwlCarousel(props, context) {\\n\\t\\t_classCallCheck(this, OwlCarousel);\\n\\n\\t\\tvar _this = _possibleConstructorReturn(this, (OwlCarousel.__proto__ || Object.getPrototypeOf(OwlCarousel)).call(this, props, context));\\n\\n\\t\\t_this.onTranslate = function (next) {\\n\\t\\t\\treturn function (event) {\\n\\t\\t\\t\\t_this.currentPosition = event.item.index;\\n\\t\\t\\t\\tif (next) next(event);\\n\\t\\t\\t};\\n\\t\\t};\\n\\n\\t\\t_this.next = function () {\\n\\t\\t\\treturn _this.$car.next();\\n\\t\\t};\\n\\t\\t_this.prev = function () {\\n\\t\\t\\treturn _this.$car.prev();\\n\\t\\t};\\n\\t\\t_this.goTo = function (x) {\\n\\t\\t\\treturn _this.$car.to(x);\\n\\t\\t};\\n\\n\\t\\t_this.currentPosition = 0;\\n\\t\\t_this.onTranslate = _this.onTranslate.bind(_this);\\n\\t\\treturn _this;\\n\\t}\\n\\n\\t_createClass(OwlCarousel, [{\\n\\t\\tkey: 'componentDidMount',\\n\\t\\tvalue: function componentDidMount() {\\n\\t\\t\\t__webpack_require__(1);\\n\\t\\t\\tvar options = this.getOptions();\\n\\t\\t\\tthis.init(options);\\n\\t\\t}\\n\\t}, {\\n\\t\\tkey: 'componentWillReceiveProps',\\n\\t\\tvalue: function componentWillReceiveProps(nextProps) {\\n\\t\\t\\tthis.destroy();\\n\\t\\t}\\n\\t}, {\\n\\t\\tkey: 'componentDidUpdate',\\n\\t\\tvalue: function componentDidUpdate(prevProps, prevState) {\\n\\t\\t\\tvar options = this.getOptions();\\n\\t\\t\\toptions.startPosition = this.currentPosition;\\n\\t\\t\\tthis.init(options);\\n\\t\\t}\\n\\t}, {\\n\\t\\tkey: 'componentWillUnmount',\\n\\t\\tvalue: function componentWillUnmount() {\\n\\t\\t\\tthis.destroy();\\n\\t\\t}\\n\\t}, {\\n\\t\\tkey: 'init',\\n\\t\\tvalue: function init(options) {\\n\\t\\t\\tvar next = options.onTranslate;\\n\\t\\t\\toptions.onTranslate = this.onTranslate(next);\\n\\t\\t\\tthis.$node.owlCarousel(options);\\n\\t\\t\\tthis.$car = this.$node.data('owl.carousel');\\n\\t\\t}\\n\\t}, {\\n\\t\\tkey: 'destroy',\\n\\t\\tvalue: function destroy() {\\n\\t\\t\\tthis.$car.destroy();\\n\\t\\t}\\n\\t}, {\\n\\t\\tkey: 'getOptions',\\n\\t\\tvalue: function getOptions() {\\n\\t\\t\\tvar _this2 = this;\\n\\n\\t\\t\\tvar options = {};\\n\\n\\t\\t\\tvar carOptions = Object.values(owlCarouselOptions).reduce(function (a, v) {\\n\\t\\t\\t\\treturn a.concat(v);\\n\\t\\t\\t}, []);\\n\\n\\t\\t\\tcarOptions.forEach(function (val) {\\n\\t\\t\\t\\tif (val in _this2.props.options) options[val] = _this2.props.options[val];\\n\\t\\t\\t});\\n\\n\\t\\t\\tvar carEvents = Object.values(owlCarouselEvents).reduce(function (a, v) {\\n\\t\\t\\t\\treturn a.concat(v);\\n\\t\\t\\t}, []);\\n\\n\\t\\t\\tcarEvents.forEach(function (val) {\\n\\t\\t\\t\\tif (val in _this2.props.events) options[val] = _this2.props.events[val];\\n\\t\\t\\t});\\n\\n\\t\\t\\treturn options;\\n\\t\\t}\\n\\t}, {\\n\\t\\tkey: 'render',\\n\\t\\tvalue: function render() {\\n\\t\\t\\tvar _this3 = this;\\n\\n\\t\\t\\tvar _props = this.props,\\n\\t\\t\\t options = _props.options,\\n\\t\\t\\t events = _props.events,\\n\\t\\t\\t children = _props.children,\\n\\t\\t\\t props = _objectWithoutProperties(_props, ['options', 'events', 'children']);\\n\\n\\t\\t\\treturn _react2.default.createElement(\\n\\t\\t\\t\\t'div',\\n\\t\\t\\t\\t_extends({ ref: function ref(item) {\\n\\t\\t\\t\\t\\t\\treturn _this3.$node = $((0, _reactDom.findDOMNode)(item));\\n\\t\\t\\t\\t\\t}, className: 'owl-carousel owl-theme' }, props),\\n\\t\\t\\t\\tchildren\\n\\t\\t\\t);\\n\\t\\t}\\n\\t}]);\\n\\n\\treturn OwlCarousel;\\n}(_react2.default.Component);\\n\\nOwlCarousel.propTypes = {\\n\\tchildren: _propTypes2.default.oneOfType([_propTypes2.default.element, _propTypes2.default.arrayOf(_propTypes2.default.element.isRequired)]).isRequired,\\n\\n\\tstyle: _propTypes2.default.object,\\n\\tid: _propTypes2.default.string,\\n\\n\\toptions: _propTypes2.default.shape({\\n\\t\\t// core\\n\\t\\titems: _propTypes2.default.number,\\n\\t\\tloop: _propTypes2.default.bool,\\n\\t\\tcenter: _propTypes2.default.bool,\\n\\t\\trewind: _propTypes2.default.bool,\\n\\n\\t\\tmouseDrag: _propTypes2.default.bool,\\n\\t\\ttouchDrag: _propTypes2.default.bool,\\n\\t\\tpullDrag: _propTypes2.default.bool,\\n\\t\\tfreeDrag: _propTypes2.default.bool,\\n\\n\\t\\tmargin: _propTypes2.default.number,\\n\\t\\tstagePadding: _propTypes2.default.number,\\n\\n\\t\\tmerge: _propTypes2.default.bool,\\n\\t\\tmergeFit: _propTypes2.default.bool,\\n\\t\\tautoWidth: _propTypes2.default.bool,\\n\\n\\t\\tstartPosition: _propTypes2.default.number,\\n\\t\\trtl: _propTypes2.default.bool,\\n\\n\\t\\tsmartSpeed: _propTypes2.default.number,\\n\\t\\tfluidSpeed: _propTypes2.default.bool,\\n\\t\\tdragEndSpeed: _propTypes2.default.bool,\\n\\n\\t\\tresponsive: _propTypes2.default.oneOfType([_propTypes2.default.bool, _propTypes2.default.object]),\\n\\t\\tresponsiveRefreshRate: _propTypes2.default.number,\\n\\t\\tresponsiveBaseElement: _propTypes2.default.object,\\n\\n\\t\\tfallbackEasing: _propTypes2.default.string,\\n\\n\\t\\tinfo: _propTypes2.default.bool,\\n\\n\\t\\tnestedItemSelector: _propTypes2.default.bool,\\n\\t\\titemElement: _propTypes2.default.string,\\n\\t\\tstageElement: _propTypes2.default.string,\\n\\n\\t\\trefreshClass: _propTypes2.default.string,\\n\\t\\tloadedClass: _propTypes2.default.string,\\n\\t\\tloadingClass: _propTypes2.default.string,\\n\\t\\trtlClass: _propTypes2.default.string,\\n\\t\\tresponsiveClass: _propTypes2.default.string,\\n\\t\\tdragClass: _propTypes2.default.string,\\n\\t\\titemClass: _propTypes2.default.string,\\n\\t\\tstageClass: _propTypes2.default.string,\\n\\t\\tstageOuterClass: _propTypes2.default.string,\\n\\t\\tgrabClass: _propTypes2.default.string,\\n\\n\\t\\t// autoRefresh\\n\\t\\tautoRefresh: _propTypes2.default.bool,\\n\\t\\tautoRefreshInterval: _propTypes2.default.number,\\n\\n\\t\\t// lazy\\n\\t\\tlazyLoad: _propTypes2.default.bool,\\n\\n\\t\\t// autoHeight\\n\\t\\tautoHeight: _propTypes2.default.bool,\\n\\t\\tautoHeightClass: _propTypes2.default.string,\\n\\n\\t\\t// video\\n\\t\\tvideo: _propTypes2.default.bool,\\n\\t\\tvideoHeight: _propTypes2.default.bool,\\n\\t\\tvideoWidth: _propTypes2.default.bool,\\n\\n\\t\\t// animate\\n\\t\\tanimateOut: _propTypes2.default.oneOfType([_propTypes2.default.bool, _propTypes2.default.string]),\\n\\t\\tanimateIn: _propTypes2.default.oneOfType([_propTypes2.default.bool, _propTypes2.default.string]),\\n\\n\\t\\t// autoplay\\n\\t\\tautoplay: _propTypes2.default.bool,\\n\\t\\tautoplayTimeout: _propTypes2.default.number,\\n\\t\\tautoplayHoverPause: _propTypes2.default.bool,\\n\\t\\tautoplaySpeed: _propTypes2.default.bool,\\n\\n\\t\\t// navigation\\n\\t\\tnav: _propTypes2.default.bool,\\n\\t\\tnavText: _propTypes2.default.array,\\n\\t\\tnavSpeed: _propTypes2.default.bool,\\n\\t\\tnavElement: _propTypes2.default.string,\\n\\t\\tnavContainer: _propTypes2.default.bool,\\n\\t\\tnavContainerClass: _propTypes2.default.string,\\n\\t\\tnavClass: _propTypes2.default.array,\\n\\t\\tslideBy: _propTypes2.default.number,\\n\\t\\tdotClass: _propTypes2.default.string,\\n\\t\\tdotsClass: _propTypes2.default.string,\\n\\t\\tdots: _propTypes2.default.bool,\\n\\t\\tdotsEach: _propTypes2.default.bool,\\n\\t\\tdotsData: _propTypes2.default.bool,\\n\\t\\tdotsSpeed: _propTypes2.default.bool,\\n\\t\\tdotsContainer: _propTypes2.default.bool,\\n\\n\\t\\t// hash\\n\\t\\tURLhashListener: _propTypes2.default.bool\\n\\t}),\\n\\n\\tevents: _propTypes2.default.shape({\\n\\t\\t// core\\n\\t\\tonInitialize: _propTypes2.default.func,\\n\\t\\tonInitialized: _propTypes2.default.func,\\n\\t\\tonResize: _propTypes2.default.func,\\n\\t\\tonResized: _propTypes2.default.func,\\n\\t\\tonRefresh: _propTypes2.default.func,\\n\\t\\tonRefreshed: _propTypes2.default.func,\\n\\t\\tonDrag: _propTypes2.default.func,\\n\\t\\tonDragged: _propTypes2.default.func,\\n\\t\\tonTranslate: _propTypes2.default.func,\\n\\t\\tonTranslated: _propTypes2.default.func,\\n\\t\\tonChange: _propTypes2.default.func,\\n\\t\\tonChanged: _propTypes2.default.func,\\n\\n\\t\\t// lazy\\n\\t\\tonLoadLazy: _propTypes2.default.func,\\n\\t\\tonLoadedLazy: _propTypes2.default.func,\\n\\n\\t\\t// video\\n\\t\\tonStopVideo: _propTypes2.default.func,\\n\\t\\tonPlayVideo: _propTypes2.default.func\\n\\t})\\n};\\n\\nOwlCarousel.defaultProps = {\\n\\toptions: {},\\n\\tevents: {}\\n};\\n\\nexports.default = OwlCarousel;\\nmodule.exports = exports['default'];\\n\\n/*****************\\n ** WEBPACK FOOTER\\n ** ./components/OwlCarousel.jsx\\n ** module id = 0\\n ** module chunks = 0\\n **/\\n//# sourceURL=webpack:///./components/OwlCarousel.jsx?\");\n\n/***/ },\n/* 1 */\n/***/ function(module, exports) {\n\n\teval(\"'use strict';\\n\\nvar _typeof = typeof Symbol === \\\"function\\\" && typeof Symbol.iterator === \\\"symbol\\\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \\\"function\\\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \\\"symbol\\\" : typeof obj; };\\n\\n/**\\n * Owl Carousel v2.2.1\\n * Copyright 2013-2017 David Deutsch\\n * Licensed under ()\\n */\\n/**\\n * Owl carousel\\n * @version 2.1.6\\n * @author Bartosz Wojciechowski\\n * @author David Deutsch\\n * @license The MIT License (MIT)\\n * @todo Lazy Load Icon\\n * @todo prevent animationend bubling\\n * @todo itemsScaleUp\\n * @todo Test Zepto\\n * @todo stagePadding calculate wrong active classes\\n */\\n;(function ($, window, document, undefined) {\\n\\n\\t/**\\n * Creates a carousel.\\n * @class The Owl Carousel.\\n * @public\\n * @param {HTMLElement|jQuery} element - The element to create the carousel for.\\n * @param {Object} [options] - The options\\n */\\n\\tfunction Owl(element, options) {\\n\\n\\t\\t/**\\n * Current settings for the carousel.\\n * @public\\n */\\n\\t\\tthis.settings = null;\\n\\n\\t\\t/**\\n * Current options set by the caller including defaults.\\n * @public\\n */\\n\\t\\tthis.options = $.extend({}, Owl.Defaults, options);\\n\\n\\t\\t/**\\n * Plugin element.\\n * @public\\n */\\n\\t\\tthis.$element = $(element);\\n\\n\\t\\t/**\\n * Proxied event handlers.\\n * @protected\\n */\\n\\t\\tthis._handlers = {};\\n\\n\\t\\t/**\\n * References to the running plugins of this carousel.\\n * @protected\\n */\\n\\t\\tthis._plugins = {};\\n\\n\\t\\t/**\\n * Currently suppressed events to prevent them from beeing retriggered.\\n * @protected\\n */\\n\\t\\tthis._supress = {};\\n\\n\\t\\t/**\\n * Absolute current position.\\n * @protected\\n */\\n\\t\\tthis._current = null;\\n\\n\\t\\t/**\\n * Animation speed in milliseconds.\\n * @protected\\n */\\n\\t\\tthis._speed = null;\\n\\n\\t\\t/**\\n * Coordinates of all items in pixel.\\n * @todo The name of this member is missleading.\\n * @protected\\n */\\n\\t\\tthis._coordinates = [];\\n\\n\\t\\t/**\\n * Current breakpoint.\\n * @todo Real media queries would be nice.\\n * @protected\\n */\\n\\t\\tthis._breakpoint = null;\\n\\n\\t\\t/**\\n * Current width of the plugin element.\\n */\\n\\t\\tthis._width = null;\\n\\n\\t\\t/**\\n * All real items.\\n * @protected\\n */\\n\\t\\tthis._items = [];\\n\\n\\t\\t/**\\n * All cloned items.\\n * @protected\\n */\\n\\t\\tthis._clones = [];\\n\\n\\t\\t/**\\n * Merge values of all items.\\n * @todo Maybe this could be part of a plugin.\\n * @protected\\n */\\n\\t\\tthis._mergers = [];\\n\\n\\t\\t/**\\n * Widths of all items.\\n */\\n\\t\\tthis._widths = [];\\n\\n\\t\\t/**\\n * Invalidated parts within the update process.\\n * @protected\\n */\\n\\t\\tthis._invalidated = {};\\n\\n\\t\\t/**\\n * Ordered list of workers for the update process.\\n * @protected\\n */\\n\\t\\tthis._pipe = [];\\n\\n\\t\\t/**\\n * Current state information for the drag operation.\\n * @todo #261\\n * @protected\\n */\\n\\t\\tthis._drag = {\\n\\t\\t\\ttime: null,\\n\\t\\t\\ttarget: null,\\n\\t\\t\\tpointer: null,\\n\\t\\t\\tstage: {\\n\\t\\t\\t\\tstart: null,\\n\\t\\t\\t\\tcurrent: null\\n\\t\\t\\t},\\n\\t\\t\\tdirection: null\\n\\t\\t};\\n\\n\\t\\t/**\\n * Current state information and their tags.\\n * @type {Object}\\n * @protected\\n */\\n\\t\\tthis._states = {\\n\\t\\t\\tcurrent: {},\\n\\t\\t\\ttags: {\\n\\t\\t\\t\\t'initializing': ['busy'],\\n\\t\\t\\t\\t'animating': ['busy'],\\n\\t\\t\\t\\t'dragging': ['interacting']\\n\\t\\t\\t}\\n\\t\\t};\\n\\n\\t\\t$.each(['onResize', 'onThrottledResize'], $.proxy(function (i, handler) {\\n\\t\\t\\tthis._handlers[handler] = $.proxy(this[handler], this);\\n\\t\\t}, this));\\n\\n\\t\\t$.each(Owl.Plugins, $.proxy(function (key, plugin) {\\n\\t\\t\\tthis._plugins[key.charAt(0).toLowerCase() + key.slice(1)] = new plugin(this);\\n\\t\\t}, this));\\n\\n\\t\\t$.each(Owl.Workers, $.proxy(function (priority, worker) {\\n\\t\\t\\tthis._pipe.push({\\n\\t\\t\\t\\t'filter': worker.filter,\\n\\t\\t\\t\\t'run': $.proxy(worker.run, this)\\n\\t\\t\\t});\\n\\t\\t}, this));\\n\\n\\t\\tthis.setup();\\n\\t\\tthis.initialize();\\n\\t}\\n\\n\\t/**\\n * Default options for the carousel.\\n * @public\\n */\\n\\tOwl.Defaults = {\\n\\t\\titems: 3,\\n\\t\\tloop: false,\\n\\t\\tcenter: false,\\n\\t\\trewind: false,\\n\\n\\t\\tmouseDrag: true,\\n\\t\\ttouchDrag: true,\\n\\t\\tpullDrag: true,\\n\\t\\tfreeDrag: false,\\n\\n\\t\\tmargin: 0,\\n\\t\\tstagePadding: 0,\\n\\n\\t\\tmerge: false,\\n\\t\\tmergeFit: true,\\n\\t\\tautoWidth: false,\\n\\n\\t\\tstartPosition: 0,\\n\\t\\trtl: false,\\n\\n\\t\\tsmartSpeed: 250,\\n\\t\\tfluidSpeed: false,\\n\\t\\tdragEndSpeed: false,\\n\\n\\t\\tresponsive: {},\\n\\t\\tresponsiveRefreshRate: 200,\\n\\t\\tresponsiveBaseElement: window,\\n\\n\\t\\tfallbackEasing: 'swing',\\n\\n\\t\\tinfo: false,\\n\\n\\t\\tnestedItemSelector: false,\\n\\t\\titemElement: 'div',\\n\\t\\tstageElement: 'div',\\n\\n\\t\\trefreshClass: 'owl-refresh',\\n\\t\\tloadedClass: 'owl-loaded',\\n\\t\\tloadingClass: 'owl-loading',\\n\\t\\trtlClass: 'owl-rtl',\\n\\t\\tresponsiveClass: 'owl-responsive',\\n\\t\\tdragClass: 'owl-drag',\\n\\t\\titemClass: 'owl-item',\\n\\t\\tstageClass: 'owl-stage',\\n\\t\\tstageOuterClass: 'owl-stage-outer',\\n\\t\\tgrabClass: 'owl-grab'\\n\\t};\\n\\n\\t/**\\n * Enumeration for width.\\n * @public\\n * @readonly\\n * @enum {String}\\n */\\n\\tOwl.Width = {\\n\\t\\tDefault: 'default',\\n\\t\\tInner: 'inner',\\n\\t\\tOuter: 'outer'\\n\\t};\\n\\n\\t/**\\n * Enumeration for types.\\n * @public\\n * @readonly\\n * @enum {String}\\n */\\n\\tOwl.Type = {\\n\\t\\tEvent: 'event',\\n\\t\\tState: 'state'\\n\\t};\\n\\n\\t/**\\n * Contains all registered plugins.\\n * @public\\n */\\n\\tOwl.Plugins = {};\\n\\n\\t/**\\n * List of workers involved in the update process.\\n */\\n\\tOwl.Workers = [{\\n\\t\\tfilter: ['width', 'settings'],\\n\\t\\trun: function run() {\\n\\t\\t\\tthis._width = this.$element.width();\\n\\t\\t}\\n\\t}, {\\n\\t\\tfilter: ['width', 'items', 'settings'],\\n\\t\\trun: function run(cache) {\\n\\t\\t\\tcache.current = this._items && this._items[this.relative(this._current)];\\n\\t\\t}\\n\\t}, {\\n\\t\\tfilter: ['items', 'settings'],\\n\\t\\trun: function run() {\\n\\t\\t\\tthis.$stage.children('.cloned').remove();\\n\\t\\t}\\n\\t}, {\\n\\t\\tfilter: ['width', 'items', 'settings'],\\n\\t\\trun: function run(cache) {\\n\\t\\t\\tvar margin = this.settings.margin || '',\\n\\t\\t\\t grid = !this.settings.autoWidth,\\n\\t\\t\\t rtl = this.settings.rtl,\\n\\t\\t\\t css = {\\n\\t\\t\\t\\t'width': 'auto',\\n\\t\\t\\t\\t'margin-left': rtl ? margin : '',\\n\\t\\t\\t\\t'margin-right': rtl ? '' : margin\\n\\t\\t\\t};\\n\\n\\t\\t\\t!grid && this.$stage.children().css(css);\\n\\n\\t\\t\\tcache.css = css;\\n\\t\\t}\\n\\t}, {\\n\\t\\tfilter: ['width', 'items', 'settings'],\\n\\t\\trun: function run(cache) {\\n\\t\\t\\tvar width = (this.width() / this.settings.items).toFixed(3) - this.settings.margin,\\n\\t\\t\\t merge = null,\\n\\t\\t\\t iterator = this._items.length,\\n\\t\\t\\t grid = !this.settings.autoWidth,\\n\\t\\t\\t widths = [];\\n\\n\\t\\t\\tcache.items = {\\n\\t\\t\\t\\tmerge: false,\\n\\t\\t\\t\\twidth: width\\n\\t\\t\\t};\\n\\n\\t\\t\\twhile (iterator--) {\\n\\t\\t\\t\\tmerge = this._mergers[iterator];\\n\\t\\t\\t\\tmerge = this.settings.mergeFit && Math.min(merge, this.settings.items) || merge;\\n\\n\\t\\t\\t\\tcache.items.merge = merge > 1 || cache.items.merge;\\n\\n\\t\\t\\t\\twidths[iterator] = !grid ? this._items[iterator].width() : width * merge;\\n\\t\\t\\t}\\n\\n\\t\\t\\tthis._widths = widths;\\n\\t\\t}\\n\\t}, {\\n\\t\\tfilter: ['items', 'settings'],\\n\\t\\trun: function run() {\\n\\t\\t\\tvar clones = [],\\n\\t\\t\\t items = this._items,\\n\\t\\t\\t settings = this.settings,\\n\\n\\t\\t\\t// TODO: Should be computed from number of min width items in stage\\n\\t\\t\\tview = Math.max(settings.items * 2, 4),\\n\\t\\t\\t size = Math.ceil(items.length / 2) * 2,\\n\\t\\t\\t repeat = settings.loop && items.length ? settings.rewind ? view : Math.max(view, size) : 0,\\n\\t\\t\\t append = '',\\n\\t\\t\\t prepend = '';\\n\\n\\t\\t\\trepeat /= 2;\\n\\n\\t\\t\\twhile (repeat--) {\\n\\t\\t\\t\\t// Switch to only using appended clones\\n\\t\\t\\t\\tclones.push(this.normalize(clones.length / 2, true));\\n\\t\\t\\t\\tappend = append + items[clones[clones.length - 1]][0].outerHTML;\\n\\t\\t\\t\\tclones.push(this.normalize(items.length - 1 - (clones.length - 1) / 2, true));\\n\\t\\t\\t\\tprepend = items[clones[clones.length - 1]][0].outerHTML + prepend;\\n\\t\\t\\t}\\n\\n\\t\\t\\tthis._clones = clones;\\n\\n\\t\\t\\t$(append).addClass('cloned').appendTo(this.$stage);\\n\\t\\t\\t$(prepend).addClass('cloned').prependTo(this.$stage);\\n\\t\\t}\\n\\t}, {\\n\\t\\tfilter: ['width', 'items', 'settings'],\\n\\t\\trun: function run() {\\n\\t\\t\\tvar rtl = this.settings.rtl ? 1 : -1,\\n\\t\\t\\t size = this._clones.length + this._items.length,\\n\\t\\t\\t iterator = -1,\\n\\t\\t\\t previous = 0,\\n\\t\\t\\t current = 0,\\n\\t\\t\\t coordinates = [];\\n\\n\\t\\t\\twhile (++iterator < size) {\\n\\t\\t\\t\\tprevious = coordinates[iterator - 1] || 0;\\n\\t\\t\\t\\tcurrent = this._widths[this.relative(iterator)] + this.settings.margin;\\n\\t\\t\\t\\tcoordinates.push(previous + current * rtl);\\n\\t\\t\\t}\\n\\n\\t\\t\\tthis._coordinates = coordinates;\\n\\t\\t}\\n\\t}, {\\n\\t\\tfilter: ['width', 'items', 'settings'],\\n\\t\\trun: function run() {\\n\\t\\t\\tvar padding = this.settings.stagePadding,\\n\\t\\t\\t coordinates = this._coordinates,\\n\\t\\t\\t css = {\\n\\t\\t\\t\\t'width': Math.ceil(Math.abs(coordinates[coordinates.length - 1])) + padding * 2,\\n\\t\\t\\t\\t'padding-left': padding || '',\\n\\t\\t\\t\\t'padding-right': padding || ''\\n\\t\\t\\t};\\n\\n\\t\\t\\tthis.$stage.css(css);\\n\\t\\t}\\n\\t}, {\\n\\t\\tfilter: ['width', 'items', 'settings'],\\n\\t\\trun: function run(cache) {\\n\\t\\t\\tvar iterator = this._coordinates.length,\\n\\t\\t\\t grid = !this.settings.autoWidth,\\n\\t\\t\\t items = this.$stage.children();\\n\\n\\t\\t\\tif (grid && cache.items.merge) {\\n\\t\\t\\t\\twhile (iterator--) {\\n\\t\\t\\t\\t\\tcache.css.width = this._widths[this.relative(iterator)];\\n\\t\\t\\t\\t\\titems.eq(iterator).css(cache.css);\\n\\t\\t\\t\\t}\\n\\t\\t\\t} else if (grid) {\\n\\t\\t\\t\\tcache.css.width = cache.items.width;\\n\\t\\t\\t\\titems.css(cache.css);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}, {\\n\\t\\tfilter: ['items'],\\n\\t\\trun: function run() {\\n\\t\\t\\tthis._coordinates.length < 1 && this.$stage.removeAttr('style');\\n\\t\\t}\\n\\t}, {\\n\\t\\tfilter: ['width', 'items', 'settings'],\\n\\t\\trun: function run(cache) {\\n\\t\\t\\tcache.current = cache.current ? this.$stage.children().index(cache.current) : 0;\\n\\t\\t\\tcache.current = Math.max(this.minimum(), Math.min(this.maximum(), cache.current));\\n\\t\\t\\tthis.reset(cache.current);\\n\\t\\t}\\n\\t}, {\\n\\t\\tfilter: ['position'],\\n\\t\\trun: function run() {\\n\\t\\t\\tthis.animate(this.coordinates(this._current));\\n\\t\\t}\\n\\t}, {\\n\\t\\tfilter: ['width', 'position', 'items', 'settings'],\\n\\t\\trun: function run() {\\n\\t\\t\\tvar rtl = this.settings.rtl ? 1 : -1,\\n\\t\\t\\t padding = this.settings.stagePadding * 2,\\n\\t\\t\\t begin = this.coordinates(this.current()) + padding,\\n\\t\\t\\t end = begin + this.width() * rtl,\\n\\t\\t\\t inner,\\n\\t\\t\\t outer,\\n\\t\\t\\t matches = [],\\n\\t\\t\\t i,\\n\\t\\t\\t n;\\n\\n\\t\\t\\tfor (i = 0, n = this._coordinates.length; i < n; i++) {\\n\\t\\t\\t\\tinner = this._coordinates[i - 1] || 0;\\n\\t\\t\\t\\touter = Math.abs(this._coordinates[i]) + padding * rtl;\\n\\n\\t\\t\\t\\tif (this.op(inner, '<=', begin) && this.op(inner, '>', end) || this.op(outer, '<', begin) && this.op(outer, '>', end)) {\\n\\t\\t\\t\\t\\tmatches.push(i);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\tthis.$stage.children('.active').removeClass('active');\\n\\t\\t\\tthis.$stage.children(':eq(' + matches.join('), :eq(') + ')').addClass('active');\\n\\n\\t\\t\\tif (this.settings.center) {\\n\\t\\t\\t\\tthis.$stage.children('.center').removeClass('center');\\n\\t\\t\\t\\tthis.$stage.children().eq(this.current()).addClass('center');\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}];\\n\\n\\t/**\\n * Initializes the carousel.\\n * @protected\\n */\\n\\tOwl.prototype.initialize = function () {\\n\\t\\tthis.enter('initializing');\\n\\t\\tthis.trigger('initialize');\\n\\n\\t\\tthis.$element.toggleClass(this.settings.rtlClass, this.settings.rtl);\\n\\n\\t\\tif (this.settings.autoWidth && !this.is('pre-loading')) {\\n\\t\\t\\tvar imgs, nestedSelector, width;\\n\\t\\t\\timgs = this.$element.find('img');\\n\\t\\t\\tnestedSelector = this.settings.nestedItemSelector ? '.' + this.settings.nestedItemSelector : undefined;\\n\\t\\t\\twidth = this.$element.children(nestedSelector).width();\\n\\n\\t\\t\\tif (imgs.length && width <= 0) {\\n\\t\\t\\t\\tthis.preloadAutoWidthImages(imgs);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tthis.$element.addClass(this.options.loadingClass);\\n\\n\\t\\t// HACK: DISABLE SCROLLBAR\\n\\t\\tvar overflowVal = $('body').css('overflow');\\n\\t\\t$('body').css({ 'overflow': 'hidden' });\\n\\n\\t\\t// create stage\\n\\t\\tthis.$stage = $('<' + this.settings.stageElement + ' class=\\\"' + this.settings.stageClass + '\\\"/>').wrap('
');\\n\\n\\t\\t// append stage\\n\\t\\tthis.$element.append(this.$stage.parent());\\n\\n\\t\\t// append content\\n\\t\\tthis.replace(this.$element.children().not(this.$stage.parent()));\\n\\n\\t\\t// check visibility\\n\\t\\tif (this.$element.is(':visible')) {\\n\\t\\t\\t// update view\\n\\t\\t\\tthis.refresh();\\n\\t\\t} else {\\n\\t\\t\\t// invalidate width\\n\\t\\t\\tthis.invalidate('width');\\n\\t\\t}\\n\\n\\t\\t// HACK: RESTORE SCROLLBAR\\n\\t\\t$('body').css({ 'overflow': overflowVal });\\n\\n\\t\\tthis.$element.removeClass(this.options.loadingClass).addClass(this.options.loadedClass);\\n\\n\\t\\t// register event handlers\\n\\t\\tthis.registerEventHandlers();\\n\\n\\t\\tthis.leave('initializing');\\n\\t\\tthis.trigger('initialized');\\n\\t};\\n\\n\\t/**\\n * Setups the current settings.\\n * @todo Remove responsive classes. Why should adaptive designs be brought into IE8?\\n * @todo Support for media queries by using `matchMedia` would be nice.\\n * @public\\n */\\n\\tOwl.prototype.setup = function () {\\n\\t\\tvar viewport = this.viewport(),\\n\\t\\t overwrites = this.options.responsive,\\n\\t\\t match = -1,\\n\\t\\t settings = null;\\n\\n\\t\\tif (!overwrites) {\\n\\t\\t\\tsettings = $.extend({}, this.options);\\n\\t\\t} else {\\n\\t\\t\\t$.each(overwrites, function (breakpoint) {\\n\\t\\t\\t\\tif (breakpoint <= viewport && breakpoint > match) {\\n\\t\\t\\t\\t\\tmatch = Number(breakpoint);\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\n\\t\\t\\tsettings = $.extend({}, this.options, overwrites[match]);\\n\\t\\t\\tif (typeof settings.stagePadding === 'function') {\\n\\t\\t\\t\\tsettings.stagePadding = settings.stagePadding();\\n\\t\\t\\t}\\n\\t\\t\\tdelete settings.responsive;\\n\\n\\t\\t\\t// responsive class\\n\\t\\t\\tif (settings.responsiveClass) {\\n\\t\\t\\t\\tthis.$element.attr('class', this.$element.attr('class').replace(new RegExp('(' + this.options.responsiveClass + '-)\\\\\\\\S+\\\\\\\\s', 'g'), '$1' + match));\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tthis.trigger('change', { property: { name: 'settings', value: settings } });\\n\\t\\tthis._breakpoint = match;\\n\\t\\tthis.settings = settings;\\n\\t\\tthis.invalidate('settings');\\n\\t\\tthis.trigger('changed', { property: { name: 'settings', value: this.settings } });\\n\\t};\\n\\n\\t/**\\n * Updates option logic if necessery.\\n * @protected\\n */\\n\\tOwl.prototype.optionsLogic = function () {\\n\\t\\tif (this.settings.autoWidth) {\\n\\t\\t\\tthis.settings.stagePadding = false;\\n\\t\\t\\tthis.settings.merge = false;\\n\\t\\t}\\n\\t};\\n\\n\\t/**\\n * Prepares an item before add.\\n * @todo Rename event parameter `content` to `item`.\\n * @protected\\n * @returns {jQuery|HTMLElement} - The item container.\\n */\\n\\tOwl.prototype.prepare = function (item) {\\n\\t\\tvar event = this.trigger('prepare', { content: item });\\n\\n\\t\\tif (!event.data) {\\n\\t\\t\\tevent.data = $('<' + this.settings.itemElement + '/>').addClass(this.options.itemClass).append(item);\\n\\t\\t}\\n\\n\\t\\tthis.trigger('prepared', { content: event.data });\\n\\n\\t\\treturn event.data;\\n\\t};\\n\\n\\t/**\\n * Updates the view.\\n * @public\\n */\\n\\tOwl.prototype.update = function () {\\n\\t\\tvar i = 0,\\n\\t\\t n = this._pipe.length,\\n\\t\\t filter = $.proxy(function (p) {\\n\\t\\t\\treturn this[p];\\n\\t\\t}, this._invalidated),\\n\\t\\t cache = {};\\n\\n\\t\\twhile (i < n) {\\n\\t\\t\\tif (this._invalidated.all || $.grep(this._pipe[i].filter, filter).length > 0) {\\n\\t\\t\\t\\tthis._pipe[i].run(cache);\\n\\t\\t\\t}\\n\\t\\t\\ti++;\\n\\t\\t}\\n\\n\\t\\tthis._invalidated = {};\\n\\n\\t\\t!this.is('valid') && this.enter('valid');\\n\\t};\\n\\n\\t/**\\n * Gets the width of the view.\\n * @public\\n * @param {Owl.Width} [dimension=Owl.Width.Default] - The dimension to return.\\n * @returns {Number} - The width of the view in pixel.\\n */\\n\\tOwl.prototype.width = function (dimension) {\\n\\t\\tdimension = dimension || Owl.Width.Default;\\n\\t\\tswitch (dimension) {\\n\\t\\t\\tcase Owl.Width.Inner:\\n\\t\\t\\tcase Owl.Width.Outer:\\n\\t\\t\\t\\treturn this._width;\\n\\t\\t\\tdefault:\\n\\t\\t\\t\\treturn this._width - this.settings.stagePadding * 2 + this.settings.margin;\\n\\t\\t}\\n\\t};\\n\\n\\t/**\\n * Refreshes the carousel primarily for adaptive purposes.\\n * @public\\n */\\n\\tOwl.prototype.refresh = function () {\\n\\t\\tthis.enter('refreshing');\\n\\t\\tthis.trigger('refresh');\\n\\n\\t\\tthis.setup();\\n\\n\\t\\tthis.optionsLogic();\\n\\n\\t\\tthis.$element.addClass(this.options.refreshClass);\\n\\n\\t\\tthis.update();\\n\\n\\t\\tthis.$element.removeClass(this.options.refreshClass);\\n\\n\\t\\tthis.leave('refreshing');\\n\\t\\tthis.trigger('refreshed');\\n\\t};\\n\\n\\t/**\\n * Checks window `resize` event.\\n * @protected\\n */\\n\\tOwl.prototype.onThrottledResize = function () {\\n\\t\\twindow.clearTimeout(this.resizeTimer);\\n\\t\\tthis.resizeTimer = window.setTimeout(this._handlers.onResize, this.settings.responsiveRefreshRate);\\n\\t};\\n\\n\\t/**\\n * Checks window `resize` event.\\n * @protected\\n */\\n\\tOwl.prototype.onResize = function () {\\n\\t\\tif (!this._items.length) {\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\n\\t\\tif (this._width === this.$element.width()) {\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\n\\t\\tif (!this.$element.is(':visible')) {\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\n\\t\\tthis.enter('resizing');\\n\\n\\t\\tif (this.trigger('resize').isDefaultPrevented()) {\\n\\t\\t\\tthis.leave('resizing');\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\n\\t\\tthis.invalidate('width');\\n\\n\\t\\tthis.refresh();\\n\\n\\t\\tthis.leave('resizing');\\n\\t\\tthis.trigger('resized');\\n\\t};\\n\\n\\t/**\\n * Registers event handlers.\\n * @todo Check `msPointerEnabled`\\n * @todo #261\\n * @protected\\n */\\n\\tOwl.prototype.registerEventHandlers = function () {\\n\\t\\tif ($.support.transition) {\\n\\t\\t\\tthis.$stage.on($.support.transition.end + '.owl.core', $.proxy(this.onTransitionEnd, this));\\n\\t\\t}\\n\\n\\t\\tif (this.settings.responsive !== false) {\\n\\t\\t\\tthis.on(window, 'resize', this._handlers.onThrottledResize);\\n\\t\\t}\\n\\n\\t\\tif (this.settings.mouseDrag) {\\n\\t\\t\\tthis.$element.addClass(this.options.dragClass);\\n\\t\\t\\tthis.$stage.on('mousedown.owl.core', $.proxy(this.onDragStart, this));\\n\\t\\t\\tthis.$stage.on('dragstart.owl.core selectstart.owl.core', function () {\\n\\t\\t\\t\\treturn false;\\n\\t\\t\\t});\\n\\t\\t}\\n\\n\\t\\tif (this.settings.touchDrag) {\\n\\t\\t\\tthis.$stage.on('touchstart.owl.core', $.proxy(this.onDragStart, this));\\n\\t\\t\\tthis.$stage.on('touchcancel.owl.core', $.proxy(this.onDragEnd, this));\\n\\t\\t}\\n\\t};\\n\\n\\t/**\\n * Handles `touchstart` and `mousedown` events.\\n * @todo Horizontal swipe threshold as option\\n * @todo #261\\n * @protected\\n * @param {Event} event - The event arguments.\\n */\\n\\tOwl.prototype.onDragStart = function (event) {\\n\\t\\tvar stage = null;\\n\\n\\t\\tif (event.which === 3) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\tif ($.support.transform) {\\n\\t\\t\\tstage = this.$stage.css('transform').replace(/.*\\\\(|\\\\)| /g, '').split(',');\\n\\t\\t\\tstage = {\\n\\t\\t\\t\\tx: stage[stage.length === 16 ? 12 : 4],\\n\\t\\t\\t\\ty: stage[stage.length === 16 ? 13 : 5]\\n\\t\\t\\t};\\n\\t\\t} else {\\n\\t\\t\\tstage = this.$stage.position();\\n\\t\\t\\tstage = {\\n\\t\\t\\t\\tx: this.settings.rtl ? stage.left + this.$stage.width() - this.width() + this.settings.margin : stage.left,\\n\\t\\t\\t\\ty: stage.top\\n\\t\\t\\t};\\n\\t\\t}\\n\\n\\t\\tif (this.is('animating')) {\\n\\t\\t\\t$.support.transform ? this.animate(stage.x) : this.$stage.stop();\\n\\t\\t\\tthis.invalidate('position');\\n\\t\\t}\\n\\n\\t\\tthis.$element.toggleClass(this.options.grabClass, event.type === 'mousedown');\\n\\n\\t\\tthis.speed(0);\\n\\n\\t\\tthis._drag.time = new Date().getTime();\\n\\t\\tthis._drag.target = $(event.target);\\n\\t\\tthis._drag.stage.start = stage;\\n\\t\\tthis._drag.stage.current = stage;\\n\\t\\tthis._drag.pointer = this.pointer(event);\\n\\n\\t\\t$(document).on('mouseup.owl.core touchend.owl.core', $.proxy(this.onDragEnd, this));\\n\\n\\t\\t$(document).one('mousemove.owl.core touchmove.owl.core', $.proxy(function (event) {\\n\\t\\t\\tvar delta = this.difference(this._drag.pointer, this.pointer(event));\\n\\n\\t\\t\\t$(document).on('mousemove.owl.core touchmove.owl.core', $.proxy(this.onDragMove, this));\\n\\n\\t\\t\\tif (Math.abs(delta.x) < Math.abs(delta.y) && this.is('valid')) {\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\n\\t\\t\\tevent.preventDefault();\\n\\n\\t\\t\\tthis.enter('dragging');\\n\\t\\t\\tthis.trigger('drag');\\n\\t\\t}, this));\\n\\t};\\n\\n\\t/**\\n * Handles the `touchmove` and `mousemove` events.\\n * @todo #261\\n * @protected\\n * @param {Event} event - The event arguments.\\n */\\n\\tOwl.prototype.onDragMove = function (event) {\\n\\t\\tvar minimum = null,\\n\\t\\t maximum = null,\\n\\t\\t pull = null,\\n\\t\\t delta = this.difference(this._drag.pointer, this.pointer(event)),\\n\\t\\t stage = this.difference(this._drag.stage.start, delta);\\n\\n\\t\\tif (!this.is('dragging')) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\tevent.preventDefault();\\n\\n\\t\\tif (this.settings.loop) {\\n\\t\\t\\tminimum = this.coordinates(this.minimum());\\n\\t\\t\\tmaximum = this.coordinates(this.maximum() + 1) - minimum;\\n\\t\\t\\tstage.x = ((stage.x - minimum) % maximum + maximum) % maximum + minimum;\\n\\t\\t} else {\\n\\t\\t\\tminimum = this.settings.rtl ? this.coordinates(this.maximum()) : this.coordinates(this.minimum());\\n\\t\\t\\tmaximum = this.settings.rtl ? this.coordinates(this.minimum()) : this.coordinates(this.maximum());\\n\\t\\t\\tpull = this.settings.pullDrag ? -1 * delta.x / 5 : 0;\\n\\t\\t\\tstage.x = Math.max(Math.min(stage.x, minimum + pull), maximum + pull);\\n\\t\\t}\\n\\n\\t\\tthis._drag.stage.current = stage;\\n\\n\\t\\tthis.animate(stage.x);\\n\\t};\\n\\n\\t/**\\n * Handles the `touchend` and `mouseup` events.\\n * @todo #261\\n * @todo Threshold for click event\\n * @protected\\n * @param {Event} event - The event arguments.\\n */\\n\\tOwl.prototype.onDragEnd = function (event) {\\n\\t\\tvar delta = this.difference(this._drag.pointer, this.pointer(event)),\\n\\t\\t stage = this._drag.stage.current,\\n\\t\\t direction = delta.x > 0 ^ this.settings.rtl ? 'left' : 'right';\\n\\n\\t\\t$(document).off('.owl.core');\\n\\n\\t\\tthis.$element.removeClass(this.options.grabClass);\\n\\n\\t\\tif (delta.x !== 0 && this.is('dragging') || !this.is('valid')) {\\n\\t\\t\\tthis.speed(this.settings.dragEndSpeed || this.settings.smartSpeed);\\n\\t\\t\\tthis.current(this.closest(stage.x, delta.x !== 0 ? direction : this._drag.direction));\\n\\t\\t\\tthis.invalidate('position');\\n\\t\\t\\tthis.update();\\n\\n\\t\\t\\tthis._drag.direction = direction;\\n\\n\\t\\t\\tif (Math.abs(delta.x) > 3 || new Date().getTime() - this._drag.time > 300) {\\n\\t\\t\\t\\tthis._drag.target.one('click.owl.core', function () {\\n\\t\\t\\t\\t\\treturn false;\\n\\t\\t\\t\\t});\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tif (!this.is('dragging')) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\tthis.leave('dragging');\\n\\t\\tthis.trigger('dragged');\\n\\t};\\n\\n\\t/**\\n * Gets absolute position of the closest item for a coordinate.\\n * @todo Setting `freeDrag` makes `closest` not reusable. See #165.\\n * @protected\\n * @param {Number} coordinate - The coordinate in pixel.\\n * @param {String} direction - The direction to check for the closest item. Ether `left` or `right`.\\n * @return {Number} - The absolute position of the closest item.\\n */\\n\\tOwl.prototype.closest = function (coordinate, direction) {\\n\\t\\tvar position = -1,\\n\\t\\t pull = 30,\\n\\t\\t width = this.width(),\\n\\t\\t coordinates = this.coordinates();\\n\\n\\t\\tif (!this.settings.freeDrag) {\\n\\t\\t\\t// check closest item\\n\\t\\t\\t$.each(coordinates, $.proxy(function (index, value) {\\n\\t\\t\\t\\t// on a left pull, check on current index\\n\\t\\t\\t\\tif (direction === 'left' && coordinate > value - pull && coordinate < value + pull) {\\n\\t\\t\\t\\t\\tposition = index;\\n\\t\\t\\t\\t\\t// on a right pull, check on previous index\\n\\t\\t\\t\\t\\t// to do so, subtract width from value and set position = index + 1\\n\\t\\t\\t\\t} else if (direction === 'right' && coordinate > value - width - pull && coordinate < value - width + pull) {\\n\\t\\t\\t\\t\\tposition = index + 1;\\n\\t\\t\\t\\t} else if (this.op(coordinate, '<', value) && this.op(coordinate, '>', coordinates[index + 1] || value - width)) {\\n\\t\\t\\t\\t\\tposition = direction === 'left' ? index + 1 : index;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn position === -1;\\n\\t\\t\\t}, this));\\n\\t\\t}\\n\\n\\t\\tif (!this.settings.loop) {\\n\\t\\t\\t// non loop boundries\\n\\t\\t\\tif (this.op(coordinate, '>', coordinates[this.minimum()])) {\\n\\t\\t\\t\\tposition = coordinate = this.minimum();\\n\\t\\t\\t} else if (this.op(coordinate, '<', coordinates[this.maximum()])) {\\n\\t\\t\\t\\tposition = coordinate = this.maximum();\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\treturn position;\\n\\t};\\n\\n\\t/**\\n * Animates the stage.\\n * @todo #270\\n * @public\\n * @param {Number} coordinate - The coordinate in pixels.\\n */\\n\\tOwl.prototype.animate = function (coordinate) {\\n\\t\\tvar animate = this.speed() > 0;\\n\\n\\t\\tthis.is('animating') && this.onTransitionEnd();\\n\\n\\t\\tif (animate) {\\n\\t\\t\\tthis.enter('animating');\\n\\t\\t\\tthis.trigger('translate');\\n\\t\\t}\\n\\n\\t\\tif ($.support.transform3d && $.support.transition) {\\n\\t\\t\\tthis.$stage.css({\\n\\t\\t\\t\\ttransform: 'translate3d(' + coordinate + 'px,0px,0px)',\\n\\t\\t\\t\\ttransition: this.speed() / 1000 + 's'\\n\\t\\t\\t});\\n\\t\\t} else if (animate) {\\n\\t\\t\\tthis.$stage.animate({\\n\\t\\t\\t\\tleft: coordinate + 'px'\\n\\t\\t\\t}, this.speed(), this.settings.fallbackEasing, $.proxy(this.onTransitionEnd, this));\\n\\t\\t} else {\\n\\t\\t\\tthis.$stage.css({\\n\\t\\t\\t\\tleft: coordinate + 'px'\\n\\t\\t\\t});\\n\\t\\t}\\n\\t};\\n\\n\\t/**\\n * Checks whether the carousel is in a specific state or not.\\n * @param {String} state - The state to check.\\n * @returns {Boolean} - The flag which indicates if the carousel is busy.\\n */\\n\\tOwl.prototype.is = function (state) {\\n\\t\\treturn this._states.current[state] && this._states.current[state] > 0;\\n\\t};\\n\\n\\t/**\\n * Sets the absolute position of the current item.\\n * @public\\n * @param {Number} [position] - The new absolute position or nothing to leave it unchanged.\\n * @returns {Number} - The absolute position of the current item.\\n */\\n\\tOwl.prototype.current = function (position) {\\n\\t\\tif (position === undefined) {\\n\\t\\t\\treturn this._current;\\n\\t\\t}\\n\\n\\t\\tif (this._items.length === 0) {\\n\\t\\t\\treturn undefined;\\n\\t\\t}\\n\\n\\t\\tposition = this.normalize(position);\\n\\n\\t\\tif (this._current !== position) {\\n\\t\\t\\tvar event = this.trigger('change', { property: { name: 'position', value: position } });\\n\\n\\t\\t\\tif (event.data !== undefined) {\\n\\t\\t\\t\\tposition = this.normalize(event.data);\\n\\t\\t\\t}\\n\\n\\t\\t\\tthis._current = position;\\n\\n\\t\\t\\tthis.invalidate('position');\\n\\n\\t\\t\\tthis.trigger('changed', { property: { name: 'position', value: this._current } });\\n\\t\\t}\\n\\n\\t\\treturn this._current;\\n\\t};\\n\\n\\t/**\\n * Invalidates the given part of the update routine.\\n * @param {String} [part] - The part to invalidate.\\n * @returns {Array.
} - The invalidated parts.\\n */\\n\\tOwl.prototype.invalidate = function (part) {\\n\\t\\tif ($.type(part) === 'string') {\\n\\t\\t\\tthis._invalidated[part] = true;\\n\\t\\t\\tthis.is('valid') && this.leave('valid');\\n\\t\\t}\\n\\t\\treturn $.map(this._invalidated, function (v, i) {\\n\\t\\t\\treturn i;\\n\\t\\t});\\n\\t};\\n\\n\\t/**\\n * Resets the absolute position of the current item.\\n * @public\\n * @param {Number} position - The absolute position of the new item.\\n */\\n\\tOwl.prototype.reset = function (position) {\\n\\t\\tposition = this.normalize(position);\\n\\n\\t\\tif (position === undefined) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\tthis._speed = 0;\\n\\t\\tthis._current = position;\\n\\n\\t\\tthis.suppress(['translate', 'translated']);\\n\\n\\t\\tthis.animate(this.coordinates(position));\\n\\n\\t\\tthis.release(['translate', 'translated']);\\n\\t};\\n\\n\\t/**\\n * Normalizes an absolute or a relative position of an item.\\n * @public\\n * @param {Number} position - The absolute or relative position to normalize.\\n * @param {Boolean} [relative=false] - Whether the given position is relative or not.\\n * @returns {Number} - The normalized position.\\n */\\n\\tOwl.prototype.normalize = function (position, relative) {\\n\\t\\tvar n = this._items.length,\\n\\t\\t m = relative ? 0 : this._clones.length;\\n\\n\\t\\tif (!this.isNumeric(position) || n < 1) {\\n\\t\\t\\tposition = undefined;\\n\\t\\t} else if (position < 0 || position >= n + m) {\\n\\t\\t\\tposition = ((position - m / 2) % n + n) % n + m / 2;\\n\\t\\t}\\n\\n\\t\\treturn position;\\n\\t};\\n\\n\\t/**\\n * Converts an absolute position of an item into a relative one.\\n * @public\\n * @param {Number} position - The absolute position to convert.\\n * @returns {Number} - The converted position.\\n */\\n\\tOwl.prototype.relative = function (position) {\\n\\t\\tposition -= this._clones.length / 2;\\n\\t\\treturn this.normalize(position, true);\\n\\t};\\n\\n\\t/**\\n * Gets the maximum position for the current item.\\n * @public\\n * @param {Boolean} [relative=false] - Whether to return an absolute position or a relative position.\\n * @returns {Number}\\n */\\n\\tOwl.prototype.maximum = function (relative) {\\n\\t\\tvar settings = this.settings,\\n\\t\\t maximum = this._coordinates.length,\\n\\t\\t iterator,\\n\\t\\t reciprocalItemsWidth,\\n\\t\\t elementWidth;\\n\\n\\t\\tif (settings.loop) {\\n\\t\\t\\tmaximum = this._clones.length / 2 + this._items.length - 1;\\n\\t\\t} else if (settings.autoWidth || settings.merge) {\\n\\t\\t\\titerator = this._items.length;\\n\\t\\t\\treciprocalItemsWidth = this._items[--iterator].width();\\n\\t\\t\\telementWidth = this.$element.width();\\n\\t\\t\\twhile (iterator--) {\\n\\t\\t\\t\\treciprocalItemsWidth += this._items[iterator].width() + this.settings.margin;\\n\\t\\t\\t\\tif (reciprocalItemsWidth > elementWidth) {\\n\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\tmaximum = iterator + 1;\\n\\t\\t} else if (settings.center) {\\n\\t\\t\\tmaximum = this._items.length - 1;\\n\\t\\t} else {\\n\\t\\t\\tmaximum = this._items.length - settings.items;\\n\\t\\t}\\n\\n\\t\\tif (relative) {\\n\\t\\t\\tmaximum -= this._clones.length / 2;\\n\\t\\t}\\n\\n\\t\\treturn Math.max(maximum, 0);\\n\\t};\\n\\n\\t/**\\n * Gets the minimum position for the current item.\\n * @public\\n * @param {Boolean} [relative=false] - Whether to return an absolute position or a relative position.\\n * @returns {Number}\\n */\\n\\tOwl.prototype.minimum = function (relative) {\\n\\t\\treturn relative ? 0 : this._clones.length / 2;\\n\\t};\\n\\n\\t/**\\n * Gets an item at the specified relative position.\\n * @public\\n * @param {Number} [position] - The relative position of the item.\\n * @return {jQuery|Array.} - The item at the given position or all items if no position was given.\\n */\\n\\tOwl.prototype.items = function (position) {\\n\\t\\tif (position === undefined) {\\n\\t\\t\\treturn this._items.slice();\\n\\t\\t}\\n\\n\\t\\tposition = this.normalize(position, true);\\n\\t\\treturn this._items[position];\\n\\t};\\n\\n\\t/**\\n * Gets an item at the specified relative position.\\n * @public\\n * @param {Number} [position] - The relative position of the item.\\n * @return {jQuery|Array.} - The item at the given position or all items if no position was given.\\n */\\n\\tOwl.prototype.mergers = function (position) {\\n\\t\\tif (position === undefined) {\\n\\t\\t\\treturn this._mergers.slice();\\n\\t\\t}\\n\\n\\t\\tposition = this.normalize(position, true);\\n\\t\\treturn this._mergers[position];\\n\\t};\\n\\n\\t/**\\n * Gets the absolute positions of clones for an item.\\n * @public\\n * @param {Number} [position] - The relative position of the item.\\n * @returns {Array.} - The absolute positions of clones for the item or all if no position was given.\\n */\\n\\tOwl.prototype.clones = function (position) {\\n\\t\\tvar odd = this._clones.length / 2,\\n\\t\\t even = odd + this._items.length,\\n\\t\\t map = function map(index) {\\n\\t\\t\\treturn index % 2 === 0 ? even + index / 2 : odd - (index + 1) / 2;\\n\\t\\t};\\n\\n\\t\\tif (position === undefined) {\\n\\t\\t\\treturn $.map(this._clones, function (v, i) {\\n\\t\\t\\t\\treturn map(i);\\n\\t\\t\\t});\\n\\t\\t}\\n\\n\\t\\treturn $.map(this._clones, function (v, i) {\\n\\t\\t\\treturn v === position ? map(i) : null;\\n\\t\\t});\\n\\t};\\n\\n\\t/**\\n * Sets the current animation speed.\\n * @public\\n * @param {Number} [speed] - The animation speed in milliseconds or nothing to leave it unchanged.\\n * @returns {Number} - The current animation speed in milliseconds.\\n */\\n\\tOwl.prototype.speed = function (speed) {\\n\\t\\tif (speed !== undefined) {\\n\\t\\t\\tthis._speed = speed;\\n\\t\\t}\\n\\n\\t\\treturn this._speed;\\n\\t};\\n\\n\\t/**\\n * Gets the coordinate of an item.\\n * @todo The name of this method is missleanding.\\n * @public\\n * @param {Number} position - The absolute position of the item within `minimum()` and `maximum()`.\\n * @returns {Number|Array.} - The coordinate of the item in pixel or all coordinates.\\n */\\n\\tOwl.prototype.coordinates = function (position) {\\n\\t\\tvar multiplier = 1,\\n\\t\\t newPosition = position - 1,\\n\\t\\t coordinate;\\n\\n\\t\\tif (position === undefined) {\\n\\t\\t\\treturn $.map(this._coordinates, $.proxy(function (coordinate, index) {\\n\\t\\t\\t\\treturn this.coordinates(index);\\n\\t\\t\\t}, this));\\n\\t\\t}\\n\\n\\t\\tif (this.settings.center) {\\n\\t\\t\\tif (this.settings.rtl) {\\n\\t\\t\\t\\tmultiplier = -1;\\n\\t\\t\\t\\tnewPosition = position + 1;\\n\\t\\t\\t}\\n\\n\\t\\t\\tcoordinate = this._coordinates[position];\\n\\t\\t\\tcoordinate += (this.width() - coordinate + (this._coordinates[newPosition] || 0)) / 2 * multiplier;\\n\\t\\t} else {\\n\\t\\t\\tcoordinate = this._coordinates[newPosition] || 0;\\n\\t\\t}\\n\\n\\t\\tcoordinate = Math.ceil(coordinate);\\n\\n\\t\\treturn coordinate;\\n\\t};\\n\\n\\t/**\\n * Calculates the speed for a translation.\\n * @protected\\n * @param {Number} from - The absolute position of the start item.\\n * @param {Number} to - The absolute position of the target item.\\n * @param {Number} [factor=undefined] - The time factor in milliseconds.\\n * @returns {Number} - The time in milliseconds for the translation.\\n */\\n\\tOwl.prototype.duration = function (from, to, factor) {\\n\\t\\tif (factor === 0) {\\n\\t\\t\\treturn 0;\\n\\t\\t}\\n\\n\\t\\treturn Math.min(Math.max(Math.abs(to - from), 1), 6) * Math.abs(factor || this.settings.smartSpeed);\\n\\t};\\n\\n\\t/**\\n * Slides to the specified item.\\n * @public\\n * @param {Number} position - The position of the item.\\n * @param {Number} [speed] - The time in milliseconds for the transition.\\n */\\n\\tOwl.prototype.to = function (position, speed) {\\n\\t\\tvar current = this.current(),\\n\\t\\t revert = null,\\n\\t\\t distance = position - this.relative(current),\\n\\t\\t direction = (distance > 0) - (distance < 0),\\n\\t\\t items = this._items.length,\\n\\t\\t minimum = this.minimum(),\\n\\t\\t maximum = this.maximum();\\n\\n\\t\\tif (this.settings.loop) {\\n\\t\\t\\tif (!this.settings.rewind && Math.abs(distance) > items / 2) {\\n\\t\\t\\t\\tdistance += direction * -1 * items;\\n\\t\\t\\t}\\n\\n\\t\\t\\tposition = current + distance;\\n\\t\\t\\trevert = ((position - minimum) % items + items) % items + minimum;\\n\\n\\t\\t\\tif (revert !== position && revert - distance <= maximum && revert - distance > 0) {\\n\\t\\t\\t\\tcurrent = revert - distance;\\n\\t\\t\\t\\tposition = revert;\\n\\t\\t\\t\\tthis.reset(current);\\n\\t\\t\\t}\\n\\t\\t} else if (this.settings.rewind) {\\n\\t\\t\\tmaximum += 1;\\n\\t\\t\\tposition = (position % maximum + maximum) % maximum;\\n\\t\\t} else {\\n\\t\\t\\tposition = Math.max(minimum, Math.min(maximum, position));\\n\\t\\t}\\n\\n\\t\\tthis.speed(this.duration(current, position, speed));\\n\\t\\tthis.current(position);\\n\\n\\t\\tif (this.$element.is(':visible')) {\\n\\t\\t\\tthis.update();\\n\\t\\t}\\n\\t};\\n\\n\\t/**\\n * Slides to the next item.\\n * @public\\n * @param {Number} [speed] - The time in milliseconds for the transition.\\n */\\n\\tOwl.prototype.next = function (speed) {\\n\\t\\tspeed = speed || false;\\n\\t\\tthis.to(this.relative(this.current()) + 1, speed);\\n\\t};\\n\\n\\t/**\\n * Slides to the previous item.\\n * @public\\n * @param {Number} [speed] - The time in milliseconds for the transition.\\n */\\n\\tOwl.prototype.prev = function (speed) {\\n\\t\\tspeed = speed || false;\\n\\t\\tthis.to(this.relative(this.current()) - 1, speed);\\n\\t};\\n\\n\\t/**\\n * Handles the end of an animation.\\n * @protected\\n * @param {Event} event - The event arguments.\\n */\\n\\tOwl.prototype.onTransitionEnd = function (event) {\\n\\n\\t\\t// if css2 animation then event object is undefined\\n\\t\\tif (event !== undefined) {\\n\\t\\t\\tevent.stopPropagation();\\n\\n\\t\\t\\t// Catch only owl-stage transitionEnd event\\n\\t\\t\\tif ((event.target || event.srcElement || event.originalTarget) !== this.$stage.get(0)) {\\n\\t\\t\\t\\treturn false;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tthis.leave('animating');\\n\\t\\tthis.trigger('translated');\\n\\t};\\n\\n\\t/**\\n * Gets viewport width.\\n * @protected\\n * @return {Number} - The width in pixel.\\n */\\n\\tOwl.prototype.viewport = function () {\\n\\t\\tvar width;\\n\\t\\tif (this.options.responsiveBaseElement !== window) {\\n\\t\\t\\twidth = $(this.options.responsiveBaseElement).width();\\n\\t\\t} else if (window.innerWidth) {\\n\\t\\t\\twidth = window.innerWidth;\\n\\t\\t} else if (document.documentElement && document.documentElement.clientWidth) {\\n\\t\\t\\twidth = document.documentElement.clientWidth;\\n\\t\\t} else {\\n\\t\\t\\tconsole.warn('Can not detect viewport width.');\\n\\t\\t}\\n\\t\\treturn width;\\n\\t};\\n\\n\\t/**\\n * Replaces the current content.\\n * @public\\n * @param {HTMLElement|jQuery|String} content - The new content.\\n */\\n\\tOwl.prototype.replace = function (content) {\\n\\t\\tthis.$stage.empty();\\n\\t\\tthis._items = [];\\n\\n\\t\\tif (content) {\\n\\t\\t\\tcontent = content instanceof jQuery ? content : $(content);\\n\\t\\t}\\n\\n\\t\\tif (this.settings.nestedItemSelector) {\\n\\t\\t\\tcontent = content.find('.' + this.settings.nestedItemSelector);\\n\\t\\t}\\n\\n\\t\\tcontent.filter(function () {\\n\\t\\t\\treturn this.nodeType === 1;\\n\\t\\t}).each($.proxy(function (index, item) {\\n\\t\\t\\titem = this.prepare(item);\\n\\t\\t\\tthis.$stage.append(item);\\n\\t\\t\\tthis._items.push(item);\\n\\t\\t\\tthis._mergers.push(item.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1);\\n\\t\\t}, this));\\n\\n\\t\\tthis.reset(this.isNumeric(this.settings.startPosition) ? this.settings.startPosition : 0);\\n\\n\\t\\tthis.invalidate('items');\\n\\t};\\n\\n\\t/**\\n * Adds an item.\\n * @todo Use `item` instead of `content` for the event arguments.\\n * @public\\n * @param {HTMLElement|jQuery|String} content - The item content to add.\\n * @param {Number} [position] - The relative position at which to insert the item otherwise the item will be added to the end.\\n */\\n\\tOwl.prototype.add = function (content, position) {\\n\\t\\tvar current = this.relative(this._current);\\n\\n\\t\\tposition = position === undefined ? this._items.length : this.normalize(position, true);\\n\\t\\tcontent = content instanceof jQuery ? content : $(content);\\n\\n\\t\\tthis.trigger('add', { content: content, position: position });\\n\\n\\t\\tcontent = this.prepare(content);\\n\\n\\t\\tif (this._items.length === 0 || position === this._items.length) {\\n\\t\\t\\tthis._items.length === 0 && this.$stage.append(content);\\n\\t\\t\\tthis._items.length !== 0 && this._items[position - 1].after(content);\\n\\t\\t\\tthis._items.push(content);\\n\\t\\t\\tthis._mergers.push(content.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1);\\n\\t\\t} else {\\n\\t\\t\\tthis._items[position].before(content);\\n\\t\\t\\tthis._items.splice(position, 0, content);\\n\\t\\t\\tthis._mergers.splice(position, 0, content.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1);\\n\\t\\t}\\n\\n\\t\\tthis._items[current] && this.reset(this._items[current].index());\\n\\n\\t\\tthis.invalidate('items');\\n\\n\\t\\tthis.trigger('added', { content: content, position: position });\\n\\t};\\n\\n\\t/**\\n * Removes an item by its position.\\n * @todo Use `item` instead of `content` for the event arguments.\\n * @public\\n * @param {Number} position - The relative position of the item to remove.\\n */\\n\\tOwl.prototype.remove = function (position) {\\n\\t\\tposition = this.normalize(position, true);\\n\\n\\t\\tif (position === undefined) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\tthis.trigger('remove', { content: this._items[position], position: position });\\n\\n\\t\\tthis._items[position].remove();\\n\\t\\tthis._items.splice(position, 1);\\n\\t\\tthis._mergers.splice(position, 1);\\n\\n\\t\\tthis.invalidate('items');\\n\\n\\t\\tthis.trigger('removed', { content: null, position: position });\\n\\t};\\n\\n\\t/**\\n * Preloads images with auto width.\\n * @todo Replace by a more generic approach\\n * @protected\\n */\\n\\tOwl.prototype.preloadAutoWidthImages = function (images) {\\n\\t\\timages.each($.proxy(function (i, element) {\\n\\t\\t\\tthis.enter('pre-loading');\\n\\t\\t\\telement = $(element);\\n\\t\\t\\t$(new Image()).one('load', $.proxy(function (e) {\\n\\t\\t\\t\\telement.attr('src', e.target.src);\\n\\t\\t\\t\\telement.css('opacity', 1);\\n\\t\\t\\t\\tthis.leave('pre-loading');\\n\\t\\t\\t\\t!this.is('pre-loading') && !this.is('initializing') && this.refresh();\\n\\t\\t\\t}, this)).attr('src', element.attr('src') || element.attr('data-src') || element.attr('data-src-retina'));\\n\\t\\t}, this));\\n\\t};\\n\\n\\t/**\\n * Destroys the carousel.\\n * @public\\n */\\n\\tOwl.prototype.destroy = function () {\\n\\n\\t\\tthis.$element.off('.owl.core');\\n\\t\\tthis.$stage.off('.owl.core');\\n\\t\\t$(document).off('.owl.core');\\n\\n\\t\\tif (this.settings.responsive !== false) {\\n\\t\\t\\twindow.clearTimeout(this.resizeTimer);\\n\\t\\t\\tthis.off(window, 'resize', this._handlers.onThrottledResize);\\n\\t\\t}\\n\\n\\t\\tfor (var i in this._plugins) {\\n\\t\\t\\tthis._plugins[i].destroy();\\n\\t\\t}\\n\\n\\t\\tthis.$stage.children('.cloned').remove();\\n\\n\\t\\tthis.$stage.unwrap();\\n\\t\\tthis.$stage.children().contents().unwrap();\\n\\t\\tthis.$stage.children().unwrap();\\n\\n\\t\\tthis.$element.removeClass(this.options.refreshClass).removeClass(this.options.loadingClass).removeClass(this.options.loadedClass).removeClass(this.options.rtlClass).removeClass(this.options.dragClass).removeClass(this.options.grabClass).attr('class', this.$element.attr('class').replace(new RegExp(this.options.responsiveClass + '-\\\\\\\\S+\\\\\\\\s', 'g'), '')).removeData('owl.carousel');\\n\\t};\\n\\n\\t/**\\n * Operators to calculate right-to-left and left-to-right.\\n * @protected\\n * @param {Number} [a] - The left side operand.\\n * @param {String} [o] - The operator.\\n * @param {Number} [b] - The right side operand.\\n */\\n\\tOwl.prototype.op = function (a, o, b) {\\n\\t\\tvar rtl = this.settings.rtl;\\n\\t\\tswitch (o) {\\n\\t\\t\\tcase '<':\\n\\t\\t\\t\\treturn rtl ? a > b : a < b;\\n\\t\\t\\tcase '>':\\n\\t\\t\\t\\treturn rtl ? a < b : a > b;\\n\\t\\t\\tcase '>=':\\n\\t\\t\\t\\treturn rtl ? a <= b : a >= b;\\n\\t\\t\\tcase '<=':\\n\\t\\t\\t\\treturn rtl ? a >= b : a <= b;\\n\\t\\t\\tdefault:\\n\\t\\t\\t\\tbreak;\\n\\t\\t}\\n\\t};\\n\\n\\t/**\\n * Attaches to an internal event.\\n * @protected\\n * @param {HTMLElement} element - The event source.\\n * @param {String} event - The event name.\\n * @param {Function} listener - The event handler to attach.\\n * @param {Boolean} capture - Wether the event should be handled at the capturing phase or not.\\n */\\n\\tOwl.prototype.on = function (element, event, listener, capture) {\\n\\t\\tif (element.addEventListener) {\\n\\t\\t\\telement.addEventListener(event, listener, capture);\\n\\t\\t} else if (element.attachEvent) {\\n\\t\\t\\telement.attachEvent('on' + event, listener);\\n\\t\\t}\\n\\t};\\n\\n\\t/**\\n * Detaches from an internal event.\\n * @protected\\n * @param {HTMLElement} element - The event source.\\n * @param {String} event - The event name.\\n * @param {Function} listener - The attached event handler to detach.\\n * @param {Boolean} capture - Wether the attached event handler was registered as a capturing listener or not.\\n */\\n\\tOwl.prototype.off = function (element, event, listener, capture) {\\n\\t\\tif (element.removeEventListener) {\\n\\t\\t\\telement.removeEventListener(event, listener, capture);\\n\\t\\t} else if (element.detachEvent) {\\n\\t\\t\\telement.detachEvent('on' + event, listener);\\n\\t\\t}\\n\\t};\\n\\n\\t/**\\n * Triggers a public event.\\n * @todo Remove `status`, `relatedTarget` should be used instead.\\n * @protected\\n * @param {String} name - The event name.\\n * @param {*} [data=null] - The event data.\\n * @param {String} [namespace=carousel] - The event namespace.\\n * @param {String} [state] - The state which is associated with the event.\\n * @param {Boolean} [enter=false] - Indicates if the call enters the specified state or not.\\n * @returns {Event} - The event arguments.\\n */\\n\\tOwl.prototype.trigger = function (name, data, namespace, state, enter) {\\n\\t\\tvar status = {\\n\\t\\t\\titem: { count: this._items.length, index: this.current() }\\n\\t\\t},\\n\\t\\t handler = $.camelCase($.grep(['on', name, namespace], function (v) {\\n\\t\\t\\treturn v;\\n\\t\\t}).join('-').toLowerCase()),\\n\\t\\t event = $.Event([name, 'owl', namespace || 'carousel'].join('.').toLowerCase(), $.extend({ relatedTarget: this }, status, data));\\n\\n\\t\\tif (!this._supress[name]) {\\n\\t\\t\\t$.each(this._plugins, function (name, plugin) {\\n\\t\\t\\t\\tif (plugin.onTrigger) {\\n\\t\\t\\t\\t\\tplugin.onTrigger(event);\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\n\\t\\t\\tthis.register({ type: Owl.Type.Event, name: name });\\n\\t\\t\\tthis.$element.trigger(event);\\n\\n\\t\\t\\tif (this.settings && typeof this.settings[handler] === 'function') {\\n\\t\\t\\t\\tthis.settings[handler].call(this, event);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\treturn event;\\n\\t};\\n\\n\\t/**\\n * Enters a state.\\n * @param name - The state name.\\n */\\n\\tOwl.prototype.enter = function (name) {\\n\\t\\t$.each([name].concat(this._states.tags[name] || []), $.proxy(function (i, name) {\\n\\t\\t\\tif (this._states.current[name] === undefined) {\\n\\t\\t\\t\\tthis._states.current[name] = 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\tthis._states.current[name]++;\\n\\t\\t}, this));\\n\\t};\\n\\n\\t/**\\n * Leaves a state.\\n * @param name - The state name.\\n */\\n\\tOwl.prototype.leave = function (name) {\\n\\t\\t$.each([name].concat(this._states.tags[name] || []), $.proxy(function (i, name) {\\n\\t\\t\\tthis._states.current[name]--;\\n\\t\\t}, this));\\n\\t};\\n\\n\\t/**\\n * Registers an event or state.\\n * @public\\n * @param {Object} object - The event or state to register.\\n */\\n\\tOwl.prototype.register = function (object) {\\n\\t\\tif (object.type === Owl.Type.Event) {\\n\\t\\t\\tif (!$.event.special[object.name]) {\\n\\t\\t\\t\\t$.event.special[object.name] = {};\\n\\t\\t\\t}\\n\\n\\t\\t\\tif (!$.event.special[object.name].owl) {\\n\\t\\t\\t\\tvar _default = $.event.special[object.name]._default;\\n\\t\\t\\t\\t$.event.special[object.name]._default = function (e) {\\n\\t\\t\\t\\t\\tif (_default && _default.apply && (!e.namespace || e.namespace.indexOf('owl') === -1)) {\\n\\t\\t\\t\\t\\t\\treturn _default.apply(this, arguments);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\treturn e.namespace && e.namespace.indexOf('owl') > -1;\\n\\t\\t\\t\\t};\\n\\t\\t\\t\\t$.event.special[object.name].owl = true;\\n\\t\\t\\t}\\n\\t\\t} else if (object.type === Owl.Type.State) {\\n\\t\\t\\tif (!this._states.tags[object.name]) {\\n\\t\\t\\t\\tthis._states.tags[object.name] = object.tags;\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tthis._states.tags[object.name] = this._states.tags[object.name].concat(object.tags);\\n\\t\\t\\t}\\n\\n\\t\\t\\tthis._states.tags[object.name] = $.grep(this._states.tags[object.name], $.proxy(function (tag, i) {\\n\\t\\t\\t\\treturn $.inArray(tag, this._states.tags[object.name]) === i;\\n\\t\\t\\t}, this));\\n\\t\\t}\\n\\t};\\n\\n\\t/**\\n * Suppresses events.\\n * @protected\\n * @param {Array.} events - The events to suppress.\\n */\\n\\tOwl.prototype.suppress = function (events) {\\n\\t\\t$.each(events, $.proxy(function (index, event) {\\n\\t\\t\\tthis._supress[event] = true;\\n\\t\\t}, this));\\n\\t};\\n\\n\\t/**\\n * Releases suppressed events.\\n * @protected\\n * @param {Array.} events - The events to release.\\n */\\n\\tOwl.prototype.release = function (events) {\\n\\t\\t$.each(events, $.proxy(function (index, event) {\\n\\t\\t\\tdelete this._supress[event];\\n\\t\\t}, this));\\n\\t};\\n\\n\\t/**\\n * Gets unified pointer coordinates from event.\\n * @todo #261\\n * @protected\\n * @param {Event} - The `mousedown` or `touchstart` event.\\n * @returns {Object} - Contains `x` and `y` coordinates of current pointer position.\\n */\\n\\tOwl.prototype.pointer = function (event) {\\n\\t\\tvar result = { x: null, y: null };\\n\\n\\t\\tevent = event.originalEvent || event || window.event;\\n\\n\\t\\tevent = event.touches && event.touches.length ? event.touches[0] : event.changedTouches && event.changedTouches.length ? event.changedTouches[0] : event;\\n\\n\\t\\tif (event.pageX) {\\n\\t\\t\\tresult.x = event.pageX;\\n\\t\\t\\tresult.y = event.pageY;\\n\\t\\t} else {\\n\\t\\t\\tresult.x = event.clientX;\\n\\t\\t\\tresult.y = event.clientY;\\n\\t\\t}\\n\\n\\t\\treturn result;\\n\\t};\\n\\n\\t/**\\n * Determines if the input is a Number or something that can be coerced to a Number\\n * @protected\\n * @param {Number|String|Object|Array|Boolean|RegExp|Function|Symbol} - The input to be tested\\n * @returns {Boolean} - An indication if the input is a Number or can be coerced to a Number\\n */\\n\\tOwl.prototype.isNumeric = function (number) {\\n\\t\\treturn !isNaN(parseFloat(number));\\n\\t};\\n\\n\\t/**\\n * Gets the difference of two vectors.\\n * @todo #261\\n * @protected\\n * @param {Object} - The first vector.\\n * @param {Object} - The second vector.\\n * @returns {Object} - The difference.\\n */\\n\\tOwl.prototype.difference = function (first, second) {\\n\\t\\treturn {\\n\\t\\t\\tx: first.x - second.x,\\n\\t\\t\\ty: first.y - second.y\\n\\t\\t};\\n\\t};\\n\\n\\t/**\\n * The jQuery Plugin for the Owl Carousel\\n * @todo Navigation plugin `next` and `prev`\\n * @public\\n */\\n\\t$.fn.owlCarousel = function (option) {\\n\\t\\tvar args = Array.prototype.slice.call(arguments, 1);\\n\\n\\t\\treturn this.each(function () {\\n\\t\\t\\tvar $this = $(this),\\n\\t\\t\\t data = $this.data('owl.carousel');\\n\\n\\t\\t\\tif (!data) {\\n\\t\\t\\t\\tdata = new Owl(this, (typeof option === 'undefined' ? 'undefined' : _typeof(option)) == 'object' && option);\\n\\t\\t\\t\\t$this.data('owl.carousel', data);\\n\\n\\t\\t\\t\\t$.each(['next', 'prev', 'to', 'destroy', 'refresh', 'replace', 'add', 'remove'], function (i, event) {\\n\\t\\t\\t\\t\\tdata.register({ type: Owl.Type.Event, name: event });\\n\\t\\t\\t\\t\\tdata.$element.on(event + '.owl.carousel.core', $.proxy(function (e) {\\n\\t\\t\\t\\t\\t\\tif (e.namespace && e.relatedTarget !== this) {\\n\\t\\t\\t\\t\\t\\t\\tthis.suppress([event]);\\n\\t\\t\\t\\t\\t\\t\\tdata[event].apply(this, [].slice.call(arguments, 1));\\n\\t\\t\\t\\t\\t\\t\\tthis.release([event]);\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}, data));\\n\\t\\t\\t\\t});\\n\\t\\t\\t}\\n\\n\\t\\t\\tif (typeof option == 'string' && option.charAt(0) !== '_') {\\n\\t\\t\\t\\tdata[option].apply(data, args);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t};\\n\\n\\t/**\\n * The constructor for the jQuery Plugin\\n * @public\\n */\\n\\t$.fn.owlCarousel.Constructor = Owl;\\n})(window.Zepto || window.jQuery, window, document);\\n\\n/**\\n * AutoRefresh Plugin\\n * @version 2.1.0\\n * @author Artus Kolanowski\\n * @author David Deutsch\\n * @license The MIT License (MIT)\\n */\\n;(function ($, window, document, undefined) {\\n\\n\\t/**\\n * Creates the auto refresh plugin.\\n * @class The Auto Refresh Plugin\\n * @param {Owl} carousel - The Owl Carousel\\n */\\n\\tvar AutoRefresh = function AutoRefresh(carousel) {\\n\\t\\t/**\\n * Reference to the core.\\n * @protected\\n * @type {Owl}\\n */\\n\\t\\tthis._core = carousel;\\n\\n\\t\\t/**\\n * Refresh interval.\\n * @protected\\n * @type {number}\\n */\\n\\t\\tthis._interval = null;\\n\\n\\t\\t/**\\n * Whether the element is currently visible or not.\\n * @protected\\n * @type {Boolean}\\n */\\n\\t\\tthis._visible = null;\\n\\n\\t\\t/**\\n * All event handlers.\\n * @protected\\n * @type {Object}\\n */\\n\\t\\tthis._handlers = {\\n\\t\\t\\t'initialized.owl.carousel': $.proxy(function (e) {\\n\\t\\t\\t\\tif (e.namespace && this._core.settings.autoRefresh) {\\n\\t\\t\\t\\t\\tthis.watch();\\n\\t\\t\\t\\t}\\n\\t\\t\\t}, this)\\n\\t\\t};\\n\\n\\t\\t// set default options\\n\\t\\tthis._core.options = $.extend({}, AutoRefresh.Defaults, this._core.options);\\n\\n\\t\\t// register event handlers\\n\\t\\tthis._core.$element.on(this._handlers);\\n\\t};\\n\\n\\t/**\\n * Default options.\\n * @public\\n */\\n\\tAutoRefresh.Defaults = {\\n\\t\\tautoRefresh: true,\\n\\t\\tautoRefreshInterval: 500\\n\\t};\\n\\n\\t/**\\n * Watches the element.\\n */\\n\\tAutoRefresh.prototype.watch = function () {\\n\\t\\tif (this._interval) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\tthis._visible = this._core.$element.is(':visible');\\n\\t\\tthis._interval = window.setInterval($.proxy(this.refresh, this), this._core.settings.autoRefreshInterval);\\n\\t};\\n\\n\\t/**\\n * Refreshes the element.\\n */\\n\\tAutoRefresh.prototype.refresh = function () {\\n\\t\\tif (this._core.$element.is(':visible') === this._visible) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\tthis._visible = !this._visible;\\n\\n\\t\\tthis._core.$element.toggleClass('owl-hidden', !this._visible);\\n\\n\\t\\tthis._visible && this._core.invalidate('width') && this._core.refresh();\\n\\t};\\n\\n\\t/**\\n * Destroys the plugin.\\n */\\n\\tAutoRefresh.prototype.destroy = function () {\\n\\t\\tvar handler, property;\\n\\n\\t\\twindow.clearInterval(this._interval);\\n\\n\\t\\tfor (handler in this._handlers) {\\n\\t\\t\\tthis._core.$element.off(handler, this._handlers[handler]);\\n\\t\\t}\\n\\t\\tfor (property in Object.getOwnPropertyNames(this)) {\\n\\t\\t\\ttypeof this[property] != 'function' && (this[property] = null);\\n\\t\\t}\\n\\t};\\n\\n\\t$.fn.owlCarousel.Constructor.Plugins.AutoRefresh = AutoRefresh;\\n})(window.Zepto || window.jQuery, window, document);\\n\\n/**\\n * Lazy Plugin\\n * @version 2.1.0\\n * @author Bartosz Wojciechowski\\n * @author David Deutsch\\n * @license The MIT License (MIT)\\n */\\n;(function ($, window, document, undefined) {\\n\\n\\t/**\\n * Creates the lazy plugin.\\n * @class The Lazy Plugin\\n * @param {Owl} carousel - The Owl Carousel\\n */\\n\\tvar Lazy = function Lazy(carousel) {\\n\\n\\t\\t/**\\n * Reference to the core.\\n * @protected\\n * @type {Owl}\\n */\\n\\t\\tthis._core = carousel;\\n\\n\\t\\t/**\\n * Already loaded items.\\n * @protected\\n * @type {Array.}\\n */\\n\\t\\tthis._loaded = [];\\n\\n\\t\\t/**\\n * Event handlers.\\n * @protected\\n * @type {Object}\\n */\\n\\t\\tthis._handlers = {\\n\\t\\t\\t'initialized.owl.carousel change.owl.carousel resized.owl.carousel': $.proxy(function (e) {\\n\\t\\t\\t\\tif (!e.namespace) {\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tif (!this._core.settings || !this._core.settings.lazyLoad) {\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tif (e.property && e.property.name == 'position' || e.type == 'initialized') {\\n\\t\\t\\t\\t\\tvar settings = this._core.settings,\\n\\t\\t\\t\\t\\t n = settings.center && Math.ceil(settings.items / 2) || settings.items,\\n\\t\\t\\t\\t\\t i = settings.center && n * -1 || 0,\\n\\t\\t\\t\\t\\t position = (e.property && e.property.value !== undefined ? e.property.value : this._core.current()) + i,\\n\\t\\t\\t\\t\\t clones = this._core.clones().length,\\n\\t\\t\\t\\t\\t load = $.proxy(function (i, v) {\\n\\t\\t\\t\\t\\t\\tthis.load(v);\\n\\t\\t\\t\\t\\t}, this);\\n\\n\\t\\t\\t\\t\\twhile (i++ < n) {\\n\\t\\t\\t\\t\\t\\tthis.load(clones / 2 + this._core.relative(position));\\n\\t\\t\\t\\t\\t\\tclones && $.each(this._core.clones(this._core.relative(position)), load);\\n\\t\\t\\t\\t\\t\\tposition++;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}, this)\\n\\t\\t};\\n\\n\\t\\t// set the default options\\n\\t\\tthis._core.options = $.extend({}, Lazy.Defaults, this._core.options);\\n\\n\\t\\t// register event handler\\n\\t\\tthis._core.$element.on(this._handlers);\\n\\t};\\n\\n\\t/**\\n * Default options.\\n * @public\\n */\\n\\tLazy.Defaults = {\\n\\t\\tlazyLoad: false\\n\\t};\\n\\n\\t/**\\n * Loads all resources of an item at the specified position.\\n * @param {Number} position - The absolute position of the item.\\n * @protected\\n */\\n\\tLazy.prototype.load = function (position) {\\n\\t\\tvar $item = this._core.$stage.children().eq(position),\\n\\t\\t $elements = $item && $item.find('.owl-lazy');\\n\\n\\t\\tif (!$elements || $.inArray($item.get(0), this._loaded) > -1) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\t$elements.each($.proxy(function (index, element) {\\n\\t\\t\\tvar $element = $(element),\\n\\t\\t\\t image,\\n\\t\\t\\t url = window.devicePixelRatio > 1 && $element.attr('data-src-retina') || $element.attr('data-src');\\n\\n\\t\\t\\tthis._core.trigger('load', { element: $element, url: url }, 'lazy');\\n\\n\\t\\t\\tif ($element.is('img')) {\\n\\t\\t\\t\\t$element.one('load.owl.lazy', $.proxy(function () {\\n\\t\\t\\t\\t\\t$element.css('opacity', 1);\\n\\t\\t\\t\\t\\tthis._core.trigger('loaded', { element: $element, url: url }, 'lazy');\\n\\t\\t\\t\\t}, this)).attr('src', url);\\n\\t\\t\\t} else {\\n\\t\\t\\t\\timage = new Image();\\n\\t\\t\\t\\timage.onload = $.proxy(function () {\\n\\t\\t\\t\\t\\t$element.css({\\n\\t\\t\\t\\t\\t\\t'background-image': 'url(\\\"' + url + '\\\")',\\n\\t\\t\\t\\t\\t\\t'opacity': '1'\\n\\t\\t\\t\\t\\t});\\n\\t\\t\\t\\t\\tthis._core.trigger('loaded', { element: $element, url: url }, 'lazy');\\n\\t\\t\\t\\t}, this);\\n\\t\\t\\t\\timage.src = url;\\n\\t\\t\\t}\\n\\t\\t}, this));\\n\\n\\t\\tthis._loaded.push($item.get(0));\\n\\t};\\n\\n\\t/**\\n * Destroys the plugin.\\n * @public\\n */\\n\\tLazy.prototype.destroy = function () {\\n\\t\\tvar handler, property;\\n\\n\\t\\tfor (handler in this.handlers) {\\n\\t\\t\\tthis._core.$element.off(handler, this.handlers[handler]);\\n\\t\\t}\\n\\t\\tfor (property in Object.getOwnPropertyNames(this)) {\\n\\t\\t\\ttypeof this[property] != 'function' && (this[property] = null);\\n\\t\\t}\\n\\t};\\n\\n\\t$.fn.owlCarousel.Constructor.Plugins.Lazy = Lazy;\\n})(window.Zepto || window.jQuery, window, document);\\n\\n/**\\n * AutoHeight Plugin\\n * @version 2.1.0\\n * @author Bartosz Wojciechowski\\n * @author David Deutsch\\n * @license The MIT License (MIT)\\n */\\n;(function ($, window, document, undefined) {\\n\\n\\t/**\\n * Creates the auto height plugin.\\n * @class The Auto Height Plugin\\n * @param {Owl} carousel - The Owl Carousel\\n */\\n\\tvar AutoHeight = function AutoHeight(carousel) {\\n\\t\\t/**\\n * Reference to the core.\\n * @protected\\n * @type {Owl}\\n */\\n\\t\\tthis._core = carousel;\\n\\n\\t\\t/**\\n * All event handlers.\\n * @protected\\n * @type {Object}\\n */\\n\\t\\tthis._handlers = {\\n\\t\\t\\t'initialized.owl.carousel refreshed.owl.carousel': $.proxy(function (e) {\\n\\t\\t\\t\\tif (e.namespace && this._core.settings.autoHeight) {\\n\\t\\t\\t\\t\\tthis.update();\\n\\t\\t\\t\\t}\\n\\t\\t\\t}, this),\\n\\t\\t\\t'changed.owl.carousel': $.proxy(function (e) {\\n\\t\\t\\t\\tif (e.namespace && this._core.settings.autoHeight && e.property.name == 'position') {\\n\\t\\t\\t\\t\\tthis.update();\\n\\t\\t\\t\\t}\\n\\t\\t\\t}, this),\\n\\t\\t\\t'loaded.owl.lazy': $.proxy(function (e) {\\n\\t\\t\\t\\tif (e.namespace && this._core.settings.autoHeight && e.element.closest('.' + this._core.settings.itemClass).index() === this._core.current()) {\\n\\t\\t\\t\\t\\tthis.update();\\n\\t\\t\\t\\t}\\n\\t\\t\\t}, this)\\n\\t\\t};\\n\\n\\t\\t// set default options\\n\\t\\tthis._core.options = $.extend({}, AutoHeight.Defaults, this._core.options);\\n\\n\\t\\t// register event handlers\\n\\t\\tthis._core.$element.on(this._handlers);\\n\\t};\\n\\n\\t/**\\n * Default options.\\n * @public\\n */\\n\\tAutoHeight.Defaults = {\\n\\t\\tautoHeight: false,\\n\\t\\tautoHeightClass: 'owl-height'\\n\\t};\\n\\n\\t/**\\n * Updates the view.\\n */\\n\\tAutoHeight.prototype.update = function () {\\n\\t\\tvar start = this._core._current,\\n\\t\\t end = start + this._core.settings.items,\\n\\t\\t visible = this._core.$stage.children().toArray().slice(start, end),\\n\\t\\t heights = [],\\n\\t\\t maxheight = 0;\\n\\n\\t\\t$.each(visible, function (index, item) {\\n\\t\\t\\theights.push($(item).height());\\n\\t\\t});\\n\\n\\t\\tmaxheight = Math.max.apply(null, heights);\\n\\n\\t\\tthis._core.$stage.parent().height(maxheight).addClass(this._core.settings.autoHeightClass);\\n\\t};\\n\\n\\tAutoHeight.prototype.destroy = function () {\\n\\t\\tvar handler, property;\\n\\n\\t\\tfor (handler in this._handlers) {\\n\\t\\t\\tthis._core.$element.off(handler, this._handlers[handler]);\\n\\t\\t}\\n\\t\\tfor (property in Object.getOwnPropertyNames(this)) {\\n\\t\\t\\ttypeof this[property] != 'function' && (this[property] = null);\\n\\t\\t}\\n\\t};\\n\\n\\t$.fn.owlCarousel.Constructor.Plugins.AutoHeight = AutoHeight;\\n})(window.Zepto || window.jQuery, window, document);\\n\\n/**\\n * Video Plugin\\n * @version 2.1.0\\n * @author Bartosz Wojciechowski\\n * @author David Deutsch\\n * @license The MIT License (MIT)\\n */\\n;(function ($, window, document, undefined) {\\n\\n\\t/**\\n * Creates the video plugin.\\n * @class The Video Plugin\\n * @param {Owl} carousel - The Owl Carousel\\n */\\n\\tvar Video = function Video(carousel) {\\n\\t\\t/**\\n * Reference to the core.\\n * @protected\\n * @type {Owl}\\n */\\n\\t\\tthis._core = carousel;\\n\\n\\t\\t/**\\n * Cache all video URLs.\\n * @protected\\n * @type {Object}\\n */\\n\\t\\tthis._videos = {};\\n\\n\\t\\t/**\\n * Current playing item.\\n * @protected\\n * @type {jQuery}\\n */\\n\\t\\tthis._playing = null;\\n\\n\\t\\t/**\\n * All event handlers.\\n * @todo The cloned content removale is too late\\n * @protected\\n * @type {Object}\\n */\\n\\t\\tthis._handlers = {\\n\\t\\t\\t'initialized.owl.carousel': $.proxy(function (e) {\\n\\t\\t\\t\\tif (e.namespace) {\\n\\t\\t\\t\\t\\tthis._core.register({ type: 'state', name: 'playing', tags: ['interacting'] });\\n\\t\\t\\t\\t}\\n\\t\\t\\t}, this),\\n\\t\\t\\t'resize.owl.carousel': $.proxy(function (e) {\\n\\t\\t\\t\\tif (e.namespace && this._core.settings.video && this.isInFullScreen()) {\\n\\t\\t\\t\\t\\te.preventDefault();\\n\\t\\t\\t\\t}\\n\\t\\t\\t}, this),\\n\\t\\t\\t'refreshed.owl.carousel': $.proxy(function (e) {\\n\\t\\t\\t\\tif (e.namespace && this._core.is('resizing')) {\\n\\t\\t\\t\\t\\tthis._core.$stage.find('.cloned .owl-video-frame').remove();\\n\\t\\t\\t\\t}\\n\\t\\t\\t}, this),\\n\\t\\t\\t'changed.owl.carousel': $.proxy(function (e) {\\n\\t\\t\\t\\tif (e.namespace && e.property.name === 'position' && this._playing) {\\n\\t\\t\\t\\t\\tthis.stop();\\n\\t\\t\\t\\t}\\n\\t\\t\\t}, this),\\n\\t\\t\\t'prepared.owl.carousel': $.proxy(function (e) {\\n\\t\\t\\t\\tif (!e.namespace) {\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tvar $element = $(e.content).find('.owl-video');\\n\\n\\t\\t\\t\\tif ($element.length) {\\n\\t\\t\\t\\t\\t$element.css('display', 'none');\\n\\t\\t\\t\\t\\tthis.fetch($element, $(e.content));\\n\\t\\t\\t\\t}\\n\\t\\t\\t}, this)\\n\\t\\t};\\n\\n\\t\\t// set default options\\n\\t\\tthis._core.options = $.extend({}, Video.Defaults, this._core.options);\\n\\n\\t\\t// register event handlers\\n\\t\\tthis._core.$element.on(this._handlers);\\n\\n\\t\\tthis._core.$element.on('click.owl.video', '.owl-video-play-icon', $.proxy(function (e) {\\n\\t\\t\\tthis.play(e);\\n\\t\\t}, this));\\n\\t};\\n\\n\\t/**\\n * Default options.\\n * @public\\n */\\n\\tVideo.Defaults = {\\n\\t\\tvideo: false,\\n\\t\\tvideoHeight: false,\\n\\t\\tvideoWidth: false\\n\\t};\\n\\n\\t/**\\n * Gets the video ID and the type (YouTube/Vimeo/vzaar only).\\n * @protected\\n * @param {jQuery} target - The target containing the video data.\\n * @param {jQuery} item - The item containing the video.\\n */\\n\\tVideo.prototype.fetch = function (target, item) {\\n\\t\\tvar type = function () {\\n\\t\\t\\tif (target.attr('data-vimeo-id')) {\\n\\t\\t\\t\\treturn 'vimeo';\\n\\t\\t\\t} else if (target.attr('data-vzaar-id')) {\\n\\t\\t\\t\\treturn 'vzaar';\\n\\t\\t\\t} else {\\n\\t\\t\\t\\treturn 'youtube';\\n\\t\\t\\t}\\n\\t\\t}(),\\n\\t\\t id = target.attr('data-vimeo-id') || target.attr('data-youtube-id') || target.attr('data-vzaar-id'),\\n\\t\\t width = target.attr('data-width') || this._core.settings.videoWidth,\\n\\t\\t height = target.attr('data-height') || this._core.settings.videoHeight,\\n\\t\\t url = target.attr('href');\\n\\n\\t\\tif (url) {\\n\\n\\t\\t\\t/*\\n \\t\\tParses the id's out of the following urls (and probably more):\\n \\t\\thttps://www.youtube.com/watch?v=:id\\n \\t\\thttps://youtu.be/:id\\n \\t\\thttps://vimeo.com/:id\\n \\t\\thttps://vimeo.com/channels/:channel/:id\\n \\t\\thttps://vimeo.com/groups/:group/videos/:id\\n \\t\\thttps://app.vzaar.com/videos/:id\\n \\t\\t\\tVisual example: https://regexper.com/#(http%3A%7Chttps%3A%7C)%5C%2F%5C%2F(player.%7Cwww.%7Capp.)%3F(vimeo%5C.com%7Cyoutu(be%5C.com%7C%5C.be%7Cbe%5C.googleapis%5C.com)%7Cvzaar%5C.com)%5C%2F(video%5C%2F%7Cvideos%5C%2F%7Cembed%5C%2F%7Cchannels%5C%2F.%2B%5C%2F%7Cgroups%5C%2F.%2B%5C%2F%7Cwatch%5C%3Fv%3D%7Cv%5C%2F)%3F(%5BA-Za-z0-9._%25-%5D*)(%5C%26%5CS%2B)%3F\\n */\\n\\n\\t\\t\\tid = url.match(/(https:|https:|)\\\\/\\\\/(player.|www.|app.)?(vimeo\\\\.com|youtu(be\\\\.com|\\\\.be|be\\\\.googleapis\\\\.com)|vzaar\\\\.com)\\\\/(video\\\\/|videos\\\\/|embed\\\\/|channels\\\\/.+\\\\/|groups\\\\/.+\\\\/|watch\\\\?v=|v\\\\/)?([A-Za-z0-9._%-]*)(\\\\&\\\\S+)?/);\\n\\n\\t\\t\\tif (id[3].indexOf('youtu') > -1) {\\n\\t\\t\\t\\ttype = 'youtube';\\n\\t\\t\\t} else if (id[3].indexOf('vimeo') > -1) {\\n\\t\\t\\t\\ttype = 'vimeo';\\n\\t\\t\\t} else if (id[3].indexOf('vzaar') > -1) {\\n\\t\\t\\t\\ttype = 'vzaar';\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tthrow new Error('Video URL not supported.');\\n\\t\\t\\t}\\n\\t\\t\\tid = id[6];\\n\\t\\t} else {\\n\\t\\t\\tthrow new Error('Missing video URL.');\\n\\t\\t}\\n\\n\\t\\tthis._videos[url] = {\\n\\t\\t\\ttype: type,\\n\\t\\t\\tid: id,\\n\\t\\t\\twidth: width,\\n\\t\\t\\theight: height\\n\\t\\t};\\n\\n\\t\\titem.attr('data-video', url);\\n\\n\\t\\tthis.thumbnail(target, this._videos[url]);\\n\\t};\\n\\n\\t/**\\n * Creates video thumbnail.\\n * @protected\\n * @param {jQuery} target - The target containing the video data.\\n * @param {Object} info - The video info object.\\n * @see `fetch`\\n */\\n\\tVideo.prototype.thumbnail = function (target, video) {\\n\\t\\tvar tnLink,\\n\\t\\t icon,\\n\\t\\t path,\\n\\t\\t dimensions = video.width && video.height ? 'style=\\\"width:' + video.width + 'px;height:' + video.height + 'px;\\\"' : '',\\n\\t\\t customTn = target.find('img'),\\n\\t\\t srcType = 'src',\\n\\t\\t lazyClass = '',\\n\\t\\t settings = this._core.settings,\\n\\t\\t create = function create(path) {\\n\\t\\t\\ticon = '';\\n\\n\\t\\t\\tif (settings.lazyLoad) {\\n\\t\\t\\t\\ttnLink = '';\\n\\t\\t\\t} else {\\n\\t\\t\\t\\ttnLink = '';\\n\\t\\t\\t}\\n\\t\\t\\ttarget.after(tnLink);\\n\\t\\t\\ttarget.after(icon);\\n\\t\\t};\\n\\n\\t\\t// wrap video content into owl-video-wrapper div\\n\\t\\ttarget.wrap('');\\n\\n\\t\\tif (this._core.settings.lazyLoad) {\\n\\t\\t\\tsrcType = 'data-src';\\n\\t\\t\\tlazyClass = 'owl-lazy';\\n\\t\\t}\\n\\n\\t\\t// custom thumbnail\\n\\t\\tif (customTn.length) {\\n\\t\\t\\tcreate(customTn.attr(srcType));\\n\\t\\t\\tcustomTn.remove();\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\n\\t\\tif (video.type === 'youtube') {\\n\\t\\t\\tpath = \\\"//img.youtube.com/vi/\\\" + video.id + \\\"/hqdefault.jpg\\\";\\n\\t\\t\\tcreate(path);\\n\\t\\t} else if (video.type === 'vimeo') {\\n\\t\\t\\t$.ajax({\\n\\t\\t\\t\\ttype: 'GET',\\n\\t\\t\\t\\turl: '//vimeo.com/api/v2/video/' + video.id + '.json',\\n\\t\\t\\t\\tjsonp: 'callback',\\n\\t\\t\\t\\tdataType: 'jsonp',\\n\\t\\t\\t\\tsuccess: function success(data) {\\n\\t\\t\\t\\t\\tpath = data[0].thumbnail_large;\\n\\t\\t\\t\\t\\tcreate(path);\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t} else if (video.type === 'vzaar') {\\n\\t\\t\\t$.ajax({\\n\\t\\t\\t\\ttype: 'GET',\\n\\t\\t\\t\\turl: '//vzaar.com/api/videos/' + video.id + '.json',\\n\\t\\t\\t\\tjsonp: 'callback',\\n\\t\\t\\t\\tdataType: 'jsonp',\\n\\t\\t\\t\\tsuccess: function success(data) {\\n\\t\\t\\t\\t\\tpath = data.framegrab_url;\\n\\t\\t\\t\\t\\tcreate(path);\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t}\\n\\t};\\n\\n\\t/**\\n * Stops the current video.\\n * @public\\n */\\n\\tVideo.prototype.stop = function () {\\n\\t\\tthis._core.trigger('stop', null, 'video');\\n\\t\\tthis._playing.find('.owl-video-frame').remove();\\n\\t\\tthis._playing.removeClass('owl-video-playing');\\n\\t\\tthis._playing = null;\\n\\t\\tthis._core.leave('playing');\\n\\t\\tthis._core.trigger('stopped', null, 'video');\\n\\t};\\n\\n\\t/**\\n * Starts the current video.\\n * @public\\n * @param {Event} event - The event arguments.\\n */\\n\\tVideo.prototype.play = function (event) {\\n\\t\\tvar target = $(event.target),\\n\\t\\t item = target.closest('.' + this._core.settings.itemClass),\\n\\t\\t video = this._videos[item.attr('data-video')],\\n\\t\\t width = video.width || '100%',\\n\\t\\t height = video.height || this._core.$stage.height(),\\n\\t\\t html;\\n\\n\\t\\tif (this._playing) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\tthis._core.enter('playing');\\n\\t\\tthis._core.trigger('play', null, 'video');\\n\\n\\t\\titem = this._core.items(this._core.relative(item.index()));\\n\\n\\t\\tthis._core.reset(item.index());\\n\\n\\t\\tif (video.type === 'youtube') {\\n\\t\\t\\thtml = '';\\n\\t\\t} else if (video.type === 'vimeo') {\\n\\t\\t\\thtml = '';\\n\\t\\t} else if (video.type === 'vzaar') {\\n\\t\\t\\thtml = '';\\n\\t\\t}\\n\\n\\t\\t$('' + html + '
').insertAfter(item.find('.owl-video'));\\n\\n\\t\\tthis._playing = item.addClass('owl-video-playing');\\n\\t};\\n\\n\\t/**\\n * Checks whether an video is currently in full screen mode or not.\\n * @todo Bad style because looks like a readonly method but changes members.\\n * @protected\\n * @returns {Boolean}\\n */\\n\\tVideo.prototype.isInFullScreen = function () {\\n\\t\\tvar element = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement;\\n\\n\\t\\treturn element && $(element).parent().hasClass('owl-video-frame');\\n\\t};\\n\\n\\t/**\\n * Destroys the plugin.\\n */\\n\\tVideo.prototype.destroy = function () {\\n\\t\\tvar handler, property;\\n\\n\\t\\tthis._core.$element.off('click.owl.video');\\n\\n\\t\\tfor (handler in this._handlers) {\\n\\t\\t\\tthis._core.$element.off(handler, this._handlers[handler]);\\n\\t\\t}\\n\\t\\tfor (property in Object.getOwnPropertyNames(this)) {\\n\\t\\t\\ttypeof this[property] != 'function' && (this[property] = null);\\n\\t\\t}\\n\\t};\\n\\n\\t$.fn.owlCarousel.Constructor.Plugins.Video = Video;\\n})(window.Zepto || window.jQuery, window, document);\\n\\n/**\\n * Animate Plugin\\n * @version 2.1.0\\n * @author Bartosz Wojciechowski\\n * @author David Deutsch\\n * @license The MIT License (MIT)\\n */\\n;(function ($, window, document, undefined) {\\n\\n\\t/**\\n * Creates the animate plugin.\\n * @class The Navigation Plugin\\n * @param {Owl} scope - The Owl Carousel\\n */\\n\\tvar Animate = function Animate(scope) {\\n\\t\\tthis.core = scope;\\n\\t\\tthis.core.options = $.extend({}, Animate.Defaults, this.core.options);\\n\\t\\tthis.swapping = true;\\n\\t\\tthis.previous = undefined;\\n\\t\\tthis.next = undefined;\\n\\n\\t\\tthis.handlers = {\\n\\t\\t\\t'change.owl.carousel': $.proxy(function (e) {\\n\\t\\t\\t\\tif (e.namespace && e.property.name == 'position') {\\n\\t\\t\\t\\t\\tthis.previous = this.core.current();\\n\\t\\t\\t\\t\\tthis.next = e.property.value;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}, this),\\n\\t\\t\\t'drag.owl.carousel dragged.owl.carousel translated.owl.carousel': $.proxy(function (e) {\\n\\t\\t\\t\\tif (e.namespace) {\\n\\t\\t\\t\\t\\tthis.swapping = e.type == 'translated';\\n\\t\\t\\t\\t}\\n\\t\\t\\t}, this),\\n\\t\\t\\t'translate.owl.carousel': $.proxy(function (e) {\\n\\t\\t\\t\\tif (e.namespace && this.swapping && (this.core.options.animateOut || this.core.options.animateIn)) {\\n\\t\\t\\t\\t\\tthis.swap();\\n\\t\\t\\t\\t}\\n\\t\\t\\t}, this)\\n\\t\\t};\\n\\n\\t\\tthis.core.$element.on(this.handlers);\\n\\t};\\n\\n\\t/**\\n * Default options.\\n * @public\\n */\\n\\tAnimate.Defaults = {\\n\\t\\tanimateOut: false,\\n\\t\\tanimateIn: false\\n\\t};\\n\\n\\t/**\\n * Toggles the animation classes whenever an translations starts.\\n * @protected\\n * @returns {Boolean|undefined}\\n */\\n\\tAnimate.prototype.swap = function () {\\n\\n\\t\\tif (this.core.settings.items !== 1) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\tif (!$.support.animation || !$.support.transition) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\tthis.core.speed(0);\\n\\n\\t\\tvar left,\\n\\t\\t clear = $.proxy(this.clear, this),\\n\\t\\t previous = this.core.$stage.children().eq(this.previous),\\n\\t\\t next = this.core.$stage.children().eq(this.next),\\n\\t\\t incoming = this.core.settings.animateIn,\\n\\t\\t outgoing = this.core.settings.animateOut;\\n\\n\\t\\tif (this.core.current() === this.previous) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\tif (outgoing) {\\n\\t\\t\\tleft = this.core.coordinates(this.previous) - this.core.coordinates(this.next);\\n\\t\\t\\tprevious.one($.support.animation.end, clear).css({ 'left': left + 'px' }).addClass('animated owl-animated-out').addClass(outgoing);\\n\\t\\t}\\n\\n\\t\\tif (incoming) {\\n\\t\\t\\tnext.one($.support.animation.end, clear).addClass('animated owl-animated-in').addClass(incoming);\\n\\t\\t}\\n\\t};\\n\\n\\tAnimate.prototype.clear = function (e) {\\n\\t\\t$(e.target).css({ 'left': '' }).removeClass('animated owl-animated-out owl-animated-in').removeClass(this.core.settings.animateIn).removeClass(this.core.settings.animateOut);\\n\\t\\tthis.core.onTransitionEnd();\\n\\t};\\n\\n\\t/**\\n * Destroys the plugin.\\n * @public\\n */\\n\\tAnimate.prototype.destroy = function () {\\n\\t\\tvar handler, property;\\n\\n\\t\\tfor (handler in this.handlers) {\\n\\t\\t\\tthis.core.$element.off(handler, this.handlers[handler]);\\n\\t\\t}\\n\\t\\tfor (property in Object.getOwnPropertyNames(this)) {\\n\\t\\t\\ttypeof this[property] != 'function' && (this[property] = null);\\n\\t\\t}\\n\\t};\\n\\n\\t$.fn.owlCarousel.Constructor.Plugins.Animate = Animate;\\n})(window.Zepto || window.jQuery, window, document);\\n\\n/**\\n * Autoplay Plugin\\n * @version 2.1.0\\n * @author Bartosz Wojciechowski\\n * @author Artus Kolanowski\\n * @author David Deutsch\\n * @license The MIT License (MIT)\\n */\\n;(function ($, window, document, undefined) {\\n\\n\\t/**\\n * Creates the autoplay plugin.\\n * @class The Autoplay Plugin\\n * @param {Owl} scope - The Owl Carousel\\n */\\n\\tvar Autoplay = function Autoplay(carousel) {\\n\\t\\t/**\\n * Reference to the core.\\n * @protected\\n * @type {Owl}\\n */\\n\\t\\tthis._core = carousel;\\n\\n\\t\\t/**\\n * The autoplay timeout.\\n * @type {Timeout}\\n */\\n\\t\\tthis._timeout = null;\\n\\n\\t\\t/**\\n * Indicates whenever the autoplay is paused.\\n * @type {Boolean}\\n */\\n\\t\\tthis._paused = false;\\n\\n\\t\\t/**\\n * All event handlers.\\n * @protected\\n * @type {Object}\\n */\\n\\t\\tthis._handlers = {\\n\\t\\t\\t'changed.owl.carousel': $.proxy(function (e) {\\n\\t\\t\\t\\tif (e.namespace && e.property.name === 'settings') {\\n\\t\\t\\t\\t\\tif (this._core.settings.autoplay) {\\n\\t\\t\\t\\t\\t\\tthis.play();\\n\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\tthis.stop();\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t} else if (e.namespace && e.property.name === 'position') {\\n\\t\\t\\t\\t\\t//console.log('play?', e);\\n\\t\\t\\t\\t\\tif (this._core.settings.autoplay) {\\n\\t\\t\\t\\t\\t\\tthis._setAutoPlayInterval();\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}, this),\\n\\t\\t\\t'initialized.owl.carousel': $.proxy(function (e) {\\n\\t\\t\\t\\tif (e.namespace && this._core.settings.autoplay) {\\n\\t\\t\\t\\t\\tthis.play();\\n\\t\\t\\t\\t}\\n\\t\\t\\t}, this),\\n\\t\\t\\t'play.owl.autoplay': $.proxy(function (e, t, s) {\\n\\t\\t\\t\\tif (e.namespace) {\\n\\t\\t\\t\\t\\tthis.play(t, s);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}, this),\\n\\t\\t\\t'stop.owl.autoplay': $.proxy(function (e) {\\n\\t\\t\\t\\tif (e.namespace) {\\n\\t\\t\\t\\t\\tthis.stop();\\n\\t\\t\\t\\t}\\n\\t\\t\\t}, this),\\n\\t\\t\\t'mouseover.owl.autoplay': $.proxy(function () {\\n\\t\\t\\t\\tif (this._core.settings.autoplayHoverPause && this._core.is('rotating')) {\\n\\t\\t\\t\\t\\tthis.pause();\\n\\t\\t\\t\\t}\\n\\t\\t\\t}, this),\\n\\t\\t\\t'mouseleave.owl.autoplay': $.proxy(function () {\\n\\t\\t\\t\\tif (this._core.settings.autoplayHoverPause && this._core.is('rotating')) {\\n\\t\\t\\t\\t\\tthis.play();\\n\\t\\t\\t\\t}\\n\\t\\t\\t}, this),\\n\\t\\t\\t'touchstart.owl.core': $.proxy(function () {\\n\\t\\t\\t\\tif (this._core.settings.autoplayHoverPause && this._core.is('rotating')) {\\n\\t\\t\\t\\t\\tthis.pause();\\n\\t\\t\\t\\t}\\n\\t\\t\\t}, this),\\n\\t\\t\\t'touchend.owl.core': $.proxy(function () {\\n\\t\\t\\t\\tif (this._core.settings.autoplayHoverPause) {\\n\\t\\t\\t\\t\\tthis.play();\\n\\t\\t\\t\\t}\\n\\t\\t\\t}, this)\\n\\t\\t};\\n\\n\\t\\t// register event handlers\\n\\t\\tthis._core.$element.on(this._handlers);\\n\\n\\t\\t// set default options\\n\\t\\tthis._core.options = $.extend({}, Autoplay.Defaults, this._core.options);\\n\\t};\\n\\n\\t/**\\n * Default options.\\n * @public\\n */\\n\\tAutoplay.Defaults = {\\n\\t\\tautoplay: false,\\n\\t\\tautoplayTimeout: 5000,\\n\\t\\tautoplayHoverPause: false,\\n\\t\\tautoplaySpeed: false\\n\\t};\\n\\n\\t/**\\n * Starts the autoplay.\\n * @public\\n * @param {Number} [timeout] - The interval before the next animation starts.\\n * @param {Number} [speed] - The animation speed for the animations.\\n */\\n\\tAutoplay.prototype.play = function (timeout, speed) {\\n\\t\\tthis._paused = false;\\n\\n\\t\\tif (this._core.is('rotating')) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\tthis._core.enter('rotating');\\n\\n\\t\\tthis._setAutoPlayInterval();\\n\\t};\\n\\n\\t/**\\n * Gets a new timeout\\n * @private\\n * @param {Number} [timeout] - The interval before the next animation starts.\\n * @param {Number} [speed] - The animation speed for the animations.\\n * @return {Timeout}\\n */\\n\\tAutoplay.prototype._getNextTimeout = function (timeout, speed) {\\n\\t\\tif (this._timeout) {\\n\\t\\t\\twindow.clearTimeout(this._timeout);\\n\\t\\t}\\n\\t\\treturn window.setTimeout($.proxy(function () {\\n\\t\\t\\tif (this._paused || this._core.is('busy') || this._core.is('interacting') || document.hidden) {\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\t\\t\\tthis._core.next(speed || this._core.settings.autoplaySpeed);\\n\\t\\t}, this), timeout || this._core.settings.autoplayTimeout);\\n\\t};\\n\\n\\t/**\\n * Sets autoplay in motion.\\n * @private\\n */\\n\\tAutoplay.prototype._setAutoPlayInterval = function () {\\n\\t\\tthis._timeout = this._getNextTimeout();\\n\\t};\\n\\n\\t/**\\n * Stops the autoplay.\\n * @public\\n */\\n\\tAutoplay.prototype.stop = function () {\\n\\t\\tif (!this._core.is('rotating')) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\twindow.clearTimeout(this._timeout);\\n\\t\\tthis._core.leave('rotating');\\n\\t};\\n\\n\\t/**\\n * Stops the autoplay.\\n * @public\\n */\\n\\tAutoplay.prototype.pause = function () {\\n\\t\\tif (!this._core.is('rotating')) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\tthis._paused = true;\\n\\t};\\n\\n\\t/**\\n * Destroys the plugin.\\n */\\n\\tAutoplay.prototype.destroy = function () {\\n\\t\\tvar handler, property;\\n\\n\\t\\tthis.stop();\\n\\n\\t\\tfor (handler in this._handlers) {\\n\\t\\t\\tthis._core.$element.off(handler, this._handlers[handler]);\\n\\t\\t}\\n\\t\\tfor (property in Object.getOwnPropertyNames(this)) {\\n\\t\\t\\ttypeof this[property] != 'function' && (this[property] = null);\\n\\t\\t}\\n\\t};\\n\\n\\t$.fn.owlCarousel.Constructor.Plugins.autoplay = Autoplay;\\n})(window.Zepto || window.jQuery, window, document);\\n\\n/**\\n * Navigation Plugin\\n * @version 2.1.0\\n * @author Artus Kolanowski\\n * @author David Deutsch\\n * @license The MIT License (MIT)\\n */\\n;(function ($, window, document, undefined) {\\n\\t'use strict';\\n\\n\\t/**\\n * Creates the navigation plugin.\\n * @class The Navigation Plugin\\n * @param {Owl} carousel - The Owl Carousel.\\n */\\n\\n\\tvar Navigation = function Navigation(carousel) {\\n\\t\\t/**\\n * Reference to the core.\\n * @protected\\n * @type {Owl}\\n */\\n\\t\\tthis._core = carousel;\\n\\n\\t\\t/**\\n * Indicates whether the plugin is initialized or not.\\n * @protected\\n * @type {Boolean}\\n */\\n\\t\\tthis._initialized = false;\\n\\n\\t\\t/**\\n * The current paging indexes.\\n * @protected\\n * @type {Array}\\n */\\n\\t\\tthis._pages = [];\\n\\n\\t\\t/**\\n * All DOM elements of the user interface.\\n * @protected\\n * @type {Object}\\n */\\n\\t\\tthis._controls = {};\\n\\n\\t\\t/**\\n * Markup for an indicator.\\n * @protected\\n * @type {Array.}\\n */\\n\\t\\tthis._templates = [];\\n\\n\\t\\t/**\\n * The carousel element.\\n * @type {jQuery}\\n */\\n\\t\\tthis.$element = this._core.$element;\\n\\n\\t\\t/**\\n * Overridden methods of the carousel.\\n * @protected\\n * @type {Object}\\n */\\n\\t\\tthis._overrides = {\\n\\t\\t\\tnext: this._core.next,\\n\\t\\t\\tprev: this._core.prev,\\n\\t\\t\\tto: this._core.to\\n\\t\\t};\\n\\n\\t\\t/**\\n * All event handlers.\\n * @protected\\n * @type {Object}\\n */\\n\\t\\tthis._handlers = {\\n\\t\\t\\t'prepared.owl.carousel': $.proxy(function (e) {\\n\\t\\t\\t\\tif (e.namespace && this._core.settings.dotsData) {\\n\\t\\t\\t\\t\\tthis._templates.push('' + $(e.content).find('[data-dot]').addBack('[data-dot]').attr('data-dot') + '
');\\n\\t\\t\\t\\t}\\n\\t\\t\\t}, this),\\n\\t\\t\\t'added.owl.carousel': $.proxy(function (e) {\\n\\t\\t\\t\\tif (e.namespace && this._core.settings.dotsData) {\\n\\t\\t\\t\\t\\tthis._templates.splice(e.position, 0, this._templates.pop());\\n\\t\\t\\t\\t}\\n\\t\\t\\t}, this),\\n\\t\\t\\t'remove.owl.carousel': $.proxy(function (e) {\\n\\t\\t\\t\\tif (e.namespace && this._core.settings.dotsData) {\\n\\t\\t\\t\\t\\tthis._templates.splice(e.position, 1);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}, this),\\n\\t\\t\\t'changed.owl.carousel': $.proxy(function (e) {\\n\\t\\t\\t\\tif (e.namespace && e.property.name == 'position') {\\n\\t\\t\\t\\t\\tthis.draw();\\n\\t\\t\\t\\t}\\n\\t\\t\\t}, this),\\n\\t\\t\\t'initialized.owl.carousel': $.proxy(function (e) {\\n\\t\\t\\t\\tif (e.namespace && !this._initialized) {\\n\\t\\t\\t\\t\\tthis._core.trigger('initialize', null, 'navigation');\\n\\t\\t\\t\\t\\tthis.initialize();\\n\\t\\t\\t\\t\\tthis.update();\\n\\t\\t\\t\\t\\tthis.draw();\\n\\t\\t\\t\\t\\tthis._initialized = true;\\n\\t\\t\\t\\t\\tthis._core.trigger('initialized', null, 'navigation');\\n\\t\\t\\t\\t}\\n\\t\\t\\t}, this),\\n\\t\\t\\t'refreshed.owl.carousel': $.proxy(function (e) {\\n\\t\\t\\t\\tif (e.namespace && this._initialized) {\\n\\t\\t\\t\\t\\tthis._core.trigger('refresh', null, 'navigation');\\n\\t\\t\\t\\t\\tthis.update();\\n\\t\\t\\t\\t\\tthis.draw();\\n\\t\\t\\t\\t\\tthis._core.trigger('refreshed', null, 'navigation');\\n\\t\\t\\t\\t}\\n\\t\\t\\t}, this)\\n\\t\\t};\\n\\n\\t\\t// set default options\\n\\t\\tthis._core.options = $.extend({}, Navigation.Defaults, this._core.options);\\n\\n\\t\\t// register event handlers\\n\\t\\tthis.$element.on(this._handlers);\\n\\t};\\n\\n\\t/**\\n * Default options.\\n * @public\\n * @todo Rename `slideBy` to `navBy`\\n */\\n\\tNavigation.Defaults = {\\n\\t\\tnav: false,\\n\\t\\tnavText: ['prev', 'next'],\\n\\t\\tnavSpeed: false,\\n\\t\\tnavElement: 'div',\\n\\t\\tnavContainer: false,\\n\\t\\tnavContainerClass: 'owl-nav',\\n\\t\\tnavClass: ['owl-prev', 'owl-next'],\\n\\t\\tslideBy: 1,\\n\\t\\tdotClass: 'owl-dot',\\n\\t\\tdotsClass: 'owl-dots',\\n\\t\\tdots: true,\\n\\t\\tdotsEach: false,\\n\\t\\tdotsData: false,\\n\\t\\tdotsSpeed: false,\\n\\t\\tdotsContainer: false\\n\\t};\\n\\n\\t/**\\n * Initializes the layout of the plugin and extends the carousel.\\n * @protected\\n */\\n\\tNavigation.prototype.initialize = function () {\\n\\t\\tvar override,\\n\\t\\t settings = this._core.settings;\\n\\n\\t\\t// create DOM structure for relative navigation\\n\\t\\tthis._controls.$relative = (settings.navContainer ? $(settings.navContainer) : $('').addClass(settings.navContainerClass).appendTo(this.$element)).addClass('disabled');\\n\\n\\t\\tthis._controls.$previous = $('<' + settings.navElement + '>').addClass(settings.navClass[0]).html(settings.navText[0]).prependTo(this._controls.$relative).on('click', $.proxy(function (e) {\\n\\t\\t\\tthis.prev(settings.navSpeed);\\n\\t\\t}, this));\\n\\t\\tthis._controls.$next = $('<' + settings.navElement + '>').addClass(settings.navClass[1]).html(settings.navText[1]).appendTo(this._controls.$relative).on('click', $.proxy(function (e) {\\n\\t\\t\\tthis.next(settings.navSpeed);\\n\\t\\t}, this));\\n\\n\\t\\t// create DOM structure for absolute navigation\\n\\t\\tif (!settings.dotsData) {\\n\\t\\t\\tthis._templates = [$('
').addClass(settings.dotClass).append($('
')).prop('outerHTML')];\\n\\t\\t}\\n\\n\\t\\tthis._controls.$absolute = (settings.dotsContainer ? $(settings.dotsContainer) : $('').addClass(settings.dotsClass).appendTo(this.$element)).addClass('disabled');\\n\\n\\t\\tthis._controls.$absolute.on('click', 'div', $.proxy(function (e) {\\n\\t\\t\\tvar index = $(e.target).parent().is(this._controls.$absolute) ? $(e.target).index() : $(e.target).parent().index();\\n\\n\\t\\t\\te.preventDefault();\\n\\n\\t\\t\\tthis.to(index, settings.dotsSpeed);\\n\\t\\t}, this));\\n\\n\\t\\t// override public methods of the carousel\\n\\t\\tfor (override in this._overrides) {\\n\\t\\t\\tthis._core[override] = $.proxy(this[override], this);\\n\\t\\t}\\n\\t};\\n\\n\\t/**\\n * Destroys the plugin.\\n * @protected\\n */\\n\\tNavigation.prototype.destroy = function () {\\n\\t\\tvar handler, control, property, override;\\n\\n\\t\\tfor (handler in this._handlers) {\\n\\t\\t\\tthis.$element.off(handler, this._handlers[handler]);\\n\\t\\t}\\n\\t\\tfor (control in this._controls) {\\n\\t\\t\\tthis._controls[control].remove();\\n\\t\\t}\\n\\t\\tfor (override in this.overides) {\\n\\t\\t\\tthis._core[override] = this._overrides[override];\\n\\t\\t}\\n\\t\\tfor (property in Object.getOwnPropertyNames(this)) {\\n\\t\\t\\ttypeof this[property] != 'function' && (this[property] = null);\\n\\t\\t}\\n\\t};\\n\\n\\t/**\\n * Updates the internal state.\\n * @protected\\n */\\n\\tNavigation.prototype.update = function () {\\n\\t\\tvar i,\\n\\t\\t j,\\n\\t\\t k,\\n\\t\\t lower = this._core.clones().length / 2,\\n\\t\\t upper = lower + this._core.items().length,\\n\\t\\t maximum = this._core.maximum(true),\\n\\t\\t settings = this._core.settings,\\n\\t\\t size = settings.center || settings.autoWidth || settings.dotsData ? 1 : settings.dotsEach || settings.items;\\n\\n\\t\\tif (settings.slideBy !== 'page') {\\n\\t\\t\\tsettings.slideBy = Math.min(settings.slideBy, settings.items);\\n\\t\\t}\\n\\n\\t\\tif (settings.dots || settings.slideBy == 'page') {\\n\\t\\t\\tthis._pages = [];\\n\\n\\t\\t\\tfor (i = lower, j = 0, k = 0; i < upper; i++) {\\n\\t\\t\\t\\tif (j >= size || j === 0) {\\n\\t\\t\\t\\t\\tthis._pages.push({\\n\\t\\t\\t\\t\\t\\tstart: Math.min(maximum, i - lower),\\n\\t\\t\\t\\t\\t\\tend: i - lower + size - 1\\n\\t\\t\\t\\t\\t});\\n\\t\\t\\t\\t\\tif (Math.min(maximum, i - lower) === maximum) {\\n\\t\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\tj = 0, ++k;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tj += this._core.mergers(this._core.relative(i));\\n\\t\\t\\t}\\n\\t\\t}\\n\\t};\\n\\n\\t/**\\n * Draws the user interface.\\n * @todo The option `dotsData` wont work.\\n * @protected\\n */\\n\\tNavigation.prototype.draw = function () {\\n\\t\\tvar difference,\\n\\t\\t settings = this._core.settings,\\n\\t\\t disabled = this._core.items().length <= settings.items,\\n\\t\\t index = this._core.relative(this._core.current()),\\n\\t\\t loop = settings.loop || settings.rewind;\\n\\n\\t\\tthis._controls.$relative.toggleClass('disabled', !settings.nav || disabled);\\n\\n\\t\\tif (settings.nav) {\\n\\t\\t\\tthis._controls.$previous.toggleClass('disabled', !loop && index <= this._core.minimum(true));\\n\\t\\t\\tthis._controls.$next.toggleClass('disabled', !loop && index >= this._core.maximum(true));\\n\\t\\t}\\n\\n\\t\\tthis._controls.$absolute.toggleClass('disabled', !settings.dots || disabled);\\n\\n\\t\\tif (settings.dots) {\\n\\t\\t\\tdifference = this._pages.length - this._controls.$absolute.children().length;\\n\\n\\t\\t\\tif (settings.dotsData && difference !== 0) {\\n\\t\\t\\t\\tthis._controls.$absolute.html(this._templates.join(''));\\n\\t\\t\\t} else if (difference > 0) {\\n\\t\\t\\t\\tthis._controls.$absolute.append(new Array(difference + 1).join(this._templates[0]));\\n\\t\\t\\t} else if (difference < 0) {\\n\\t\\t\\t\\tthis._controls.$absolute.children().slice(difference).remove();\\n\\t\\t\\t}\\n\\n\\t\\t\\tthis._controls.$absolute.find('.active').removeClass('active');\\n\\t\\t\\tthis._controls.$absolute.children().eq($.inArray(this.current(), this._pages)).addClass('active');\\n\\t\\t}\\n\\t};\\n\\n\\t/**\\n * Extends event data.\\n * @protected\\n * @param {Event} event - The event object which gets thrown.\\n */\\n\\tNavigation.prototype.onTrigger = function (event) {\\n\\t\\tvar settings = this._core.settings;\\n\\n\\t\\tevent.page = {\\n\\t\\t\\tindex: $.inArray(this.current(), this._pages),\\n\\t\\t\\tcount: this._pages.length,\\n\\t\\t\\tsize: settings && (settings.center || settings.autoWidth || settings.dotsData ? 1 : settings.dotsEach || settings.items)\\n\\t\\t};\\n\\t};\\n\\n\\t/**\\n * Gets the current page position of the carousel.\\n * @protected\\n * @returns {Number}\\n */\\n\\tNavigation.prototype.current = function () {\\n\\t\\tvar current = this._core.relative(this._core.current());\\n\\t\\treturn $.grep(this._pages, $.proxy(function (page, index) {\\n\\t\\t\\treturn page.start <= current && page.end >= current;\\n\\t\\t}, this)).pop();\\n\\t};\\n\\n\\t/**\\n * Gets the current succesor/predecessor position.\\n * @protected\\n * @returns {Number}\\n */\\n\\tNavigation.prototype.getPosition = function (successor) {\\n\\t\\tvar position,\\n\\t\\t length,\\n\\t\\t settings = this._core.settings;\\n\\n\\t\\tif (settings.slideBy == 'page') {\\n\\t\\t\\tposition = $.inArray(this.current(), this._pages);\\n\\t\\t\\tlength = this._pages.length;\\n\\t\\t\\tsuccessor ? ++position : --position;\\n\\t\\t\\tposition = this._pages[(position % length + length) % length].start;\\n\\t\\t} else {\\n\\t\\t\\tposition = this._core.relative(this._core.current());\\n\\t\\t\\tlength = this._core.items().length;\\n\\t\\t\\tsuccessor ? position += settings.slideBy : position -= settings.slideBy;\\n\\t\\t}\\n\\n\\t\\treturn position;\\n\\t};\\n\\n\\t/**\\n * Slides to the next item or page.\\n * @public\\n * @param {Number} [speed=false] - The time in milliseconds for the transition.\\n */\\n\\tNavigation.prototype.next = function (speed) {\\n\\t\\t$.proxy(this._overrides.to, this._core)(this.getPosition(true), speed);\\n\\t};\\n\\n\\t/**\\n * Slides to the previous item or page.\\n * @public\\n * @param {Number} [speed=false] - The time in milliseconds for the transition.\\n */\\n\\tNavigation.prototype.prev = function (speed) {\\n\\t\\t$.proxy(this._overrides.to, this._core)(this.getPosition(false), speed);\\n\\t};\\n\\n\\t/**\\n * Slides to the specified item or page.\\n * @public\\n * @param {Number} position - The position of the item or page.\\n * @param {Number} [speed] - The time in milliseconds for the transition.\\n * @param {Boolean} [standard=false] - Whether to use the standard behaviour or not.\\n */\\n\\tNavigation.prototype.to = function (position, speed, standard) {\\n\\t\\tvar length;\\n\\n\\t\\tif (!standard && this._pages.length) {\\n\\t\\t\\tlength = this._pages.length;\\n\\t\\t\\t$.proxy(this._overrides.to, this._core)(this._pages[(position % length + length) % length].start, speed);\\n\\t\\t} else {\\n\\t\\t\\t$.proxy(this._overrides.to, this._core)(position, speed);\\n\\t\\t}\\n\\t};\\n\\n\\t$.fn.owlCarousel.Constructor.Plugins.Navigation = Navigation;\\n})(window.Zepto || window.jQuery, window, document);\\n\\n/**\\n * Hash Plugin\\n * @version 2.1.0\\n * @author Artus Kolanowski\\n * @author David Deutsch\\n * @license The MIT License (MIT)\\n */\\n;(function ($, window, document, undefined) {\\n\\t'use strict';\\n\\n\\t/**\\n * Creates the hash plugin.\\n * @class The Hash Plugin\\n * @param {Owl} carousel - The Owl Carousel\\n */\\n\\n\\tvar Hash = function Hash(carousel) {\\n\\t\\t/**\\n * Reference to the core.\\n * @protected\\n * @type {Owl}\\n */\\n\\t\\tthis._core = carousel;\\n\\n\\t\\t/**\\n * Hash index for the items.\\n * @protected\\n * @type {Object}\\n */\\n\\t\\tthis._hashes = {};\\n\\n\\t\\t/**\\n * The carousel element.\\n * @type {jQuery}\\n */\\n\\t\\tthis.$element = this._core.$element;\\n\\n\\t\\t/**\\n * All event handlers.\\n * @protected\\n * @type {Object}\\n */\\n\\t\\tthis._handlers = {\\n\\t\\t\\t'initialized.owl.carousel': $.proxy(function (e) {\\n\\t\\t\\t\\tif (e.namespace && this._core.settings.startPosition === 'URLHash') {\\n\\t\\t\\t\\t\\t$(window).trigger('hashchange.owl.navigation');\\n\\t\\t\\t\\t}\\n\\t\\t\\t}, this),\\n\\t\\t\\t'prepared.owl.carousel': $.proxy(function (e) {\\n\\t\\t\\t\\tif (e.namespace) {\\n\\t\\t\\t\\t\\tvar hash = $(e.content).find('[data-hash]').addBack('[data-hash]').attr('data-hash');\\n\\n\\t\\t\\t\\t\\tif (!hash) {\\n\\t\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\tthis._hashes[hash] = e.content;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}, this),\\n\\t\\t\\t'changed.owl.carousel': $.proxy(function (e) {\\n\\t\\t\\t\\tif (e.namespace && e.property.name === 'position') {\\n\\t\\t\\t\\t\\tvar current = this._core.items(this._core.relative(this._core.current())),\\n\\t\\t\\t\\t\\t hash = $.map(this._hashes, function (item, hash) {\\n\\t\\t\\t\\t\\t\\treturn item === current ? hash : null;\\n\\t\\t\\t\\t\\t}).join();\\n\\n\\t\\t\\t\\t\\tif (!hash || window.location.hash.slice(1) === hash) {\\n\\t\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\twindow.location.hash = hash;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}, this)\\n\\t\\t};\\n\\n\\t\\t// set default options\\n\\t\\tthis._core.options = $.extend({}, Hash.Defaults, this._core.options);\\n\\n\\t\\t// register the event handlers\\n\\t\\tthis.$element.on(this._handlers);\\n\\n\\t\\t// register event listener for hash navigation\\n\\t\\t$(window).on('hashchange.owl.navigation', $.proxy(function (e) {\\n\\t\\t\\tvar hash = window.location.hash.substring(1),\\n\\t\\t\\t items = this._core.$stage.children(),\\n\\t\\t\\t position = this._hashes[hash] && items.index(this._hashes[hash]);\\n\\n\\t\\t\\tif (position === undefined || position === this._core.current()) {\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\n\\t\\t\\tthis._core.to(this._core.relative(position), false, true);\\n\\t\\t}, this));\\n\\t};\\n\\n\\t/**\\n * Default options.\\n * @public\\n */\\n\\tHash.Defaults = {\\n\\t\\tURLhashListener: false\\n\\t};\\n\\n\\t/**\\n * Destroys the plugin.\\n * @public\\n */\\n\\tHash.prototype.destroy = function () {\\n\\t\\tvar handler, property;\\n\\n\\t\\t$(window).off('hashchange.owl.navigation');\\n\\n\\t\\tfor (handler in this._handlers) {\\n\\t\\t\\tthis._core.$element.off(handler, this._handlers[handler]);\\n\\t\\t}\\n\\t\\tfor (property in Object.getOwnPropertyNames(this)) {\\n\\t\\t\\ttypeof this[property] != 'function' && (this[property] = null);\\n\\t\\t}\\n\\t};\\n\\n\\t$.fn.owlCarousel.Constructor.Plugins.Hash = Hash;\\n})(window.Zepto || window.jQuery, window, document);\\n\\n/**\\n * Support Plugin\\n *\\n * @version 2.1.0\\n * @author Vivid Planet Software GmbH\\n * @author Artus Kolanowski\\n * @author David Deutsch\\n * @license The MIT License (MIT)\\n */\\n;(function ($, window, document, undefined) {\\n\\n\\tvar style = $('
').get(0).style,\\n\\t prefixes = 'Webkit Moz O ms'.split(' '),\\n\\t events = {\\n\\t\\ttransition: {\\n\\t\\t\\tend: {\\n\\t\\t\\t\\tWebkitTransition: 'webkitTransitionEnd',\\n\\t\\t\\t\\tMozTransition: 'transitionend',\\n\\t\\t\\t\\tOTransition: 'oTransitionEnd',\\n\\t\\t\\t\\ttransition: 'transitionend'\\n\\t\\t\\t}\\n\\t\\t},\\n\\t\\tanimation: {\\n\\t\\t\\tend: {\\n\\t\\t\\t\\tWebkitAnimation: 'webkitAnimationEnd',\\n\\t\\t\\t\\tMozAnimation: 'animationend',\\n\\t\\t\\t\\tOAnimation: 'oAnimationEnd',\\n\\t\\t\\t\\tanimation: 'animationend'\\n\\t\\t\\t}\\n\\t\\t}\\n\\t},\\n\\t tests = {\\n\\t\\tcsstransforms: function csstransforms() {\\n\\t\\t\\treturn !!test('transform');\\n\\t\\t},\\n\\t\\tcsstransforms3d: function csstransforms3d() {\\n\\t\\t\\treturn !!test('perspective');\\n\\t\\t},\\n\\t\\tcsstransitions: function csstransitions() {\\n\\t\\t\\treturn !!test('transition');\\n\\t\\t},\\n\\t\\tcssanimations: function cssanimations() {\\n\\t\\t\\treturn !!test('animation');\\n\\t\\t}\\n\\t};\\n\\n\\tfunction test(property, prefixed) {\\n\\t\\tvar result = false,\\n\\t\\t upper = property.charAt(0).toUpperCase() + property.slice(1);\\n\\n\\t\\t$.each((property + ' ' + prefixes.join(upper + ' ') + upper).split(' '), function (i, property) {\\n\\t\\t\\tif (style[property] !== undefined) {\\n\\t\\t\\t\\tresult = prefixed ? property : true;\\n\\t\\t\\t\\treturn false;\\n\\t\\t\\t}\\n\\t\\t});\\n\\n\\t\\treturn result;\\n\\t}\\n\\n\\tfunction prefixed(property) {\\n\\t\\treturn test(property, true);\\n\\t}\\n\\n\\tif (tests.csstransitions()) {\\n\\t\\t/* jshint -W053 */\\n\\t\\t$.support.transition = new String(prefixed('transition'));\\n\\t\\t$.support.transition.end = events.transition.end[$.support.transition];\\n\\t}\\n\\n\\tif (tests.cssanimations()) {\\n\\t\\t/* jshint -W053 */\\n\\t\\t$.support.animation = new String(prefixed('animation'));\\n\\t\\t$.support.animation.end = events.animation.end[$.support.animation];\\n\\t}\\n\\n\\tif (tests.csstransforms()) {\\n\\t\\t/* jshint -W053 */\\n\\t\\t$.support.transform = new String(prefixed('transform'));\\n\\t\\t$.support.transform3d = tests.csstransforms3d();\\n\\t}\\n})(window.Zepto || window.jQuery, window, document);\\n\\n/*****************\\n ** WEBPACK FOOTER\\n ** ./src/owl.carousel.js\\n ** module id = 1\\n ** module chunks = 0\\n **/\\n//# sourceURL=webpack:///./src/owl.carousel.js?\");\n\n/***/ },\n/* 2 */\n/***/ function(module, exports) {\n\n\teval(\"// removed by extract-text-webpack-plugin\\n\\n/*****************\\n ** WEBPACK FOOTER\\n ** ./src/owl.carousel.css\\n ** module id = 2\\n ** module chunks = 0\\n **/\\n//# sourceURL=webpack:///./src/owl.carousel.css?\");\n\n/***/ },\n/* 3 */\n/***/ function(module, exports) {\n\n\teval(\"module.exports = __WEBPACK_EXTERNAL_MODULE_3__;\\n\\n/*****************\\n ** WEBPACK FOOTER\\n ** external {\\\"root\\\":\\\"PropTypes\\\",\\\"commonjs2\\\":\\\"prop-types\\\",\\\"commonjs\\\":\\\"prop-types\\\",\\\"amd\\\":\\\"prop-types\\\"}\\n ** module id = 3\\n ** module chunks = 0\\n **/\\n//# sourceURL=webpack:///external_%7B%22root%22:%22PropTypes%22,%22commonjs2%22:%22prop-types%22,%22commonjs%22:%22prop-types%22,%22amd%22:%22prop-types%22%7D?\");\n\n/***/ },\n/* 4 */\n/***/ function(module, exports) {\n\n\teval(\"module.exports = __WEBPACK_EXTERNAL_MODULE_4__;\\n\\n/*****************\\n ** WEBPACK FOOTER\\n ** external {\\\"root\\\":\\\"React\\\",\\\"commonjs2\\\":\\\"react\\\",\\\"commonjs\\\":\\\"react\\\",\\\"amd\\\":\\\"react\\\"}\\n ** module id = 4\\n ** module chunks = 0\\n **/\\n//# sourceURL=webpack:///external_%7B%22root%22:%22React%22,%22commonjs2%22:%22react%22,%22commonjs%22:%22react%22,%22amd%22:%22react%22%7D?\");\n\n/***/ },\n/* 5 */\n/***/ function(module, exports) {\n\n\teval(\"module.exports = __WEBPACK_EXTERNAL_MODULE_5__;\\n\\n/*****************\\n ** WEBPACK FOOTER\\n ** external {\\\"root\\\":\\\"ReactDOM\\\",\\\"commonjs2\\\":\\\"react-dom\\\",\\\"commonjs\\\":\\\"react-dom\\\",\\\"amd\\\":\\\"react-dom\\\"}\\n ** module id = 5\\n ** module chunks = 0\\n **/\\n//# sourceURL=webpack:///external_%7B%22root%22:%22ReactDOM%22,%22commonjs2%22:%22react-dom%22,%22commonjs%22:%22react-dom%22,%22amd%22:%22react-dom%22%7D?\");\n\n/***/ }\n/******/ ])\n});\n;\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-owl-carousel2/lib/OwlCarousel.js\n// module id = 131\n// module chunks = 1 2 3\n//# sourceURL=webpack:///./~/react-owl-carousel2/lib/OwlCarousel.js?");
/***/ }),
/* 132 */,
/* 133 */
/***/ (function(module, exports) {
eval("'use strict';\n\nvar BusinessSettingsSubmission = function BusinessSettingsSubmission(data) {\n\tvar self = this;\n\n\tself.customerNumber = '';\n\n\tself.addressInfo = new CompanyAddressInfo();\n\tself.contactInfo = new CompanyContactInfo();\n\tself.financialInfo = new CompanyFinancialInfo();\n\n\tself.customDealerItems = [];\n\n\tself.members = [];\n\n\tif (data !== undefined) {\n\t\tif (data.customerNumber !== undefined) {\n\t\t\tself.customerNumber = data.customerNumber;\n\t\t}\n\t\tif (data.addressInfo !== undefined) {\n\t\t\tself.addressInfo = new CompanyAddressInfo(data.addressInfo);\n\t\t}\n\t\tif (data.contactInfo !== undefined) {\n\t\t\tself.contactInfo = new CompanyContactInfo(data.contactInfo);\n\t\t}\n\t\tif (data.financialInfo !== undefined) {\n\t\t\tself.financialInfo = new CompanyFinancialInfo(data.financialInfo);\n\t\t}\n\t\tif (data.customDealerItems !== undefined) {\n\t\t\tself.customDealerItems = data.customDealerItems;\n\t\t}\n\t\tif (data.members !== undefined) {\n\t\t\tself.members = data.members;\n\t\t}\n\t}\n};\n\nvar CompanyAddressInfo = function CompanyAddressInfo(data) {\n\tvar self = this;\n\n\tvar address1 = '';\n\tvar address2 = '';\n\tvar zipCode = '';\n\tvar location = '';\n\tvar country = '';\n\n\tif (data !== undefined) {\n\t\tif (data.address1 !== undefined) {\n\t\t\tself.address1 = data.address1;\n\t\t}\n\t\tif (data.address2 !== undefined) {\n\t\t\tself.address2 = data.address2;\n\t\t}\n\t\tif (data.zipCode !== undefined) {\n\t\t\tself.zipCode = data.zipCode;\n\t\t}\n\t\tif (data.location !== undefined) {\n\t\t\tself.location = data.location;\n\t\t}\n\t\tif (data.country !== undefined) {\n\t\t\tself.country = data.country;\n\t\t}\n\t}\n};\n\nvar CompanyContactInfo = function CompanyContactInfo(data) {\n\tvar self = this;\n\n\tvar phoneCountryPrefix = '';\n\tvar phoneNumber = '';\n\tvar faxCountryPrefix = '';\n\tvar faxNumber = '';\n\tvar mobileCountryPrefix = '';\n\tvar mobileNumber = '';\n\tvar email = '';\n\n\tif (data !== undefined) {\n\t\tif (data.phoneCountryPrefix !== undefined) {\n\t\t\tself.phoneCountryPrefix = data.phoneCountryPrefix;\n\t\t}\n\t\tif (data.phoneNumber !== undefined) {\n\t\t\tself.phoneNumber = data.phoneNumber;\n\t\t}\n\t\tif (data.faxCountryPrefix !== undefined) {\n\t\t\tself.faxCountryPrefix = data.faxCountryPrefix;\n\t\t}\n\t\tif (data.faxNumber !== undefined) {\n\t\t\tself.faxNumber = data.faxNumber;\n\t\t}\n\t\tif (data.mobileCountryPrefix !== undefined) {\n\t\t\tself.mobileCountryPrefix = data.mobileCountryPrefix;\n\t\t}\n\t\tif (data.mobileNumber !== undefined) {\n\t\t\tself.mobileNumber = data.mobileNumber;\n\t\t}\n\t\tif (data.email !== undefined) {\n\t\t\tself.email = data.email;\n\t\t}\n\t}\n};\n\nvar CompanyFinancialInfo = function CompanyFinancialInfo(data) {\n\tvar self = this;\n\n\tvar vat = '';\n\tvar iban = '';\n\tvar bic = '';\n\n\tif (data !== undefined) {\n\t\tif (data.vat !== undefined) {\n\t\t\tself.vat = data.vat;\n\t\t}\n\t\tif (data.iban !== undefined) {\n\t\t\tself.iban = data.iban;\n\t\t}\n\t\tif (data.bic !== undefined) {\n\t\t\tself.bic = data.bic;\n\t\t}\n\t}\n};\n\nmodule.exports = BusinessSettingsSubmission;\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/react/models/businessSettingsSubmission.js\n// module id = 133\n// module chunks = 2\n//# sourceURL=webpack:///./assets/react/models/businessSettingsSubmission.js?");
/***/ }),
/* 134 */
/***/ (function(module, exports) {
eval("\"use strict\";\n\nvar BusinessSettingsSubmissionResult = function BusinessSettingsSubmissionResult(data) {\n var self = this;\n\n self.isSuccess = false;\n self.messages = [];\n\n if (data !== undefined) {\n if (data.isSuccess !== undefined) {\n self.isSuccess = data.isSuccess;\n }\n if (data.messages !== undefined) {\n self.messages = data.messages;\n }\n }\n};\n\nmodule.exports = BusinessSettingsSubmissionResult;\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/react/models/businessSettingsSubmissionResult.js\n// module id = 134\n// module chunks = 2\n//# sourceURL=webpack:///./assets/react/models/businessSettingsSubmissionResult.js?");
/***/ }),
/* 135 */
/***/ (function(module, exports) {
eval("\"use strict\";\n\nvar BusinessSettingsValidation = function BusinessSettingsValidation(data) {\n var self = this;\n\n self.allBusinessRulesFulfilled = function () {\n return self.financialInfoOk() && self.addressInfoOk() && self.customItemDataOk() && self.memberDataOk();\n };\n\n self.financialInfoOk = function () {\n return self.vat;\n };\n\n self.addressInfoOk = function () {\n return true;\n };\n\n self.contactInfoOk = function () {\n return self.phoneCountryPrefix && self.phoneNumber && self.email;\n };\n\n self.customItemDataOk = function () {\n var valid = true;\n\n self.customItemValidation.forEach(function (validation) {\n valid = valid && validation.customItemDataOk();\n });\n\n return valid;\n };\n\n self.memberDataOk = function () {\n var valid = true;\n\n self.memberValidation.forEach(function (validation) {\n valid = valid && validation.memberDataOk();\n });\n\n return valid;\n };\n\n self.vat = true;\n self.iban = true;\n self.bic = true;\n\n if (data !== undefined) {\n if (data.vat !== undefined) {\n self.vat = data.vat;\n }\n if (data.iban !== undefined) {\n self.iban = data.iban;\n }\n if (data.bic !== undefined) {\n self.bic = data.bic;\n }\n }\n\n self.address1 = true;\n self.address2 = true;\n self.zipCode = true;\n self.location = true;\n self.country = true;\n\n if (data !== undefined) {\n if (data.address1 !== undefined) {\n self.address1 = data.address1;\n }\n if (data.address2 !== undefined) {\n self.address2 = data.address2;\n }\n if (data.zipCode !== undefined) {\n self.zipCode = data.zipCode;\n }\n if (data.location !== undefined) {\n self.location = data.location;\n }\n if (data.country !== undefined) {\n self.country = data.country;\n }\n }\n\n self.phoneCountryPrefix = true;\n self.phoneNumber = true;\n self.email = true;\n\n if (data !== undefined) {\n if (data.phoneCountryPrefix !== undefined) {\n self.phoneCountryPrefix = data.phoneCountryPrefix;\n }\n if (data.phoneNumber !== undefined) {\n self.phoneNumber = data.phoneNumber;\n }\n if (data.email !== undefined) {\n self.email = data.email;\n }\n }\n\n self.memberValidation = [];\n self.customItemValidation = [];\n};\n\nmodule.exports = BusinessSettingsValidation;\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/react/models/businessSettingsValidation.js\n// module id = 135\n// module chunks = 2\n//# sourceURL=webpack:///./assets/react/models/businessSettingsValidation.js?");
/***/ }),
/* 136 */
/***/ (function(module, exports, __webpack_require__) {
eval("'use strict';\n\nvar React = __webpack_require__(1);\n\n/**\r\n * @class TextArea\r\n * @property {string} name - The name for the input\r\n * @property {string} title - The text title for the input\r\n * @property {string} placeholder - A string to display before anything is entered.\r\n * @property {string} value - The input's value\r\n * @property {string} wrapperClass - Class names for the wrapper div\r\n * @property {function} onChange - Function to run when value changes\r\n * @property {bool} isRequired\r\n * @property {bool} hasError\r\n * @property {string} extraInputClassName - Some text input fields require extra class name, use this property to add those\r\n * @description A TextArea with associated wrapper elements for the form.\r\n */\nvar TextArea = React.createClass({\n\tdisplayName: 'TextArea',\n\n\trenderInputClassName: function renderInputClassName() {\n\t\tvar className = 'c_form__field c_form__field--text';\n\t\tif (this.props.extraInputClassName) {\n\t\t\tclassName += ' ' + this.props.extraInputClassName;\n\t\t}\n\t\tif (this.props.hasError) {\n\t\t\tclassName += ' input-validation-error';\n\t\t}\n\t\treturn className;\n\t},\n\trender: function render() {\n\t\treturn React.createElement(\n\t\t\t'div',\n\t\t\t{ className: this.props.wrapperClass },\n\t\t\tReact.createElement(\n\t\t\t\t'fieldset',\n\t\t\t\t{ className: 'c_form__fieldset c_form__entry' },\n\t\t\t\tReact.createElement(\n\t\t\t\t\t'label',\n\t\t\t\t\t{ htmlFor: 'frm_' + this.props.name, className: 'c_form__label' },\n\t\t\t\t\tthis.props.title,\n\t\t\t\t\tthis.props.isRequired ? React.createElement(\n\t\t\t\t\t\t'span',\n\t\t\t\t\t\t{ className: 'c_text--blue' },\n\t\t\t\t\t\t'*'\n\t\t\t\t\t) : null\n\t\t\t\t),\n\t\t\t\tReact.createElement('textarea', {\n\t\t\t\t\tname: this.props.name,\n\t\t\t\t\tid: 'frm_' + this.props.name,\n\t\t\t\t\tplaceholder: this.props.placeholder,\n\t\t\t\t\tvalue: this.props.value != null ? this.props.value : '',\n\t\t\t\t\ttabIndex: '',\n\t\t\t\t\trequired: this.props.isRequired,\n\t\t\t\t\tclassName: this.renderInputClassName(),\n\t\t\t\t\tonChange: this.props.onChange,\n\t\t\t\t\tonInput: this.props.onInput,\n\t\t\t\t\t'aria-required': this.props.isRequired,\n\t\t\t\t\t'aria-invalid': this.props.hasError\n\t\t\t\t})\n\t\t\t)\n\t\t);\n\t}\n});\n\nmodule.exports = TextArea;\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/react/views/Common/TextArea.jsx\n// module id = 136\n// module chunks = 2\n//# sourceURL=webpack:///./assets/react/views/Common/TextArea.jsx?");
/***/ }),
/* 137 */
/***/ (function(module, exports, __webpack_require__) {
eval("'use strict';\n\nvar React = __webpack_require__(1);\n\n/**\r\n * @class TextBox\r\n * @property {string} name - The name for the input\r\n * @property {string} title - The text title for the input\r\n * @property {string} placeholder - A string to display before anything is entered.\r\n * @property {string} value - The input's value\r\n * @property {string} wrapperClass - Class names for the wrapper div\r\n * @property {function} onChange - Function to run when value changes\r\n * @property {bool} isRequired\r\n * @property {bool} hasError\r\n * @property {string} extraInputClassName - Some text input fields require extra class name, use this property to add those\r\n * @description A textbox with associated wrapper elements for the form.\r\n */\nvar TextBox = React.createClass({\n\tdisplayName: 'TextBox',\n\n\trenderInputClassName: function renderInputClassName() {\n\t\tvar className = 'c_form__field c_form__field--text';\n\t\tif (this.props.extraInputClassName) {\n\t\t\tclassName += ' ' + this.props.extraInputClassName;\n\t\t}\n\t\tif (this.props.hasError) {\n\t\t\tclassName += ' input-validation-error';\n\t\t}\n\t\treturn className;\n\t},\n\trender: function render() {\n\t\treturn React.createElement(\n\t\t\t'div',\n\t\t\t{ className: this.props.wrapperClass },\n\t\t\tReact.createElement(\n\t\t\t\t'fieldset',\n\t\t\t\t{ className: 'c_form__fieldset c_form__entry' },\n\t\t\t\tReact.createElement(\n\t\t\t\t\t'label',\n\t\t\t\t\t{ htmlFor: 'frm_' + this.props.name, className: 'c_form__label' },\n\t\t\t\t\tthis.props.title,\n\t\t\t\t\tthis.props.isRequired ? React.createElement(\n\t\t\t\t\t\t'span',\n\t\t\t\t\t\t{ className: 'c_text--blue' },\n\t\t\t\t\t\t'*'\n\t\t\t\t\t) : null\n\t\t\t\t),\n\t\t\t\tthis.props.addon && React.createElement(\n\t\t\t\t\t'div',\n\t\t\t\t\t{ className: 'c_form__field--addon__container' },\n\t\t\t\t\tReact.createElement('input', {\n\t\t\t\t\t\ttype: this.props.type ? this.props.type : 'text',\n\t\t\t\t\t\tname: this.props.name,\n\t\t\t\t\t\tid: 'frm_' + this.props.name,\n\t\t\t\t\t\tplaceholder: this.props.placeholder,\n\t\t\t\t\t\tvalue: this.props.value != null ? this.props.value : '',\n\t\t\t\t\t\ttabIndex: '',\n\t\t\t\t\t\trequired: this.props.isRequired,\n\t\t\t\t\t\tclassName: this.renderInputClassName(),\n\t\t\t\t\t\tonChange: this.props.onChange,\n\t\t\t\t\t\tonInput: this.props.onInput,\n\t\t\t\t\t\t'aria-required': this.props.isRequired,\n\t\t\t\t\t\t'aria-invalid': this.props.hasError,\n\t\t\t\t\t\tdisabled: this.props.disabled\n\t\t\t\t\t}),\n\t\t\t\t\tReact.createElement(\n\t\t\t\t\t\t'span',\n\t\t\t\t\t\t{ className: 'c_form__field--addon' },\n\t\t\t\t\t\tthis.props.addon\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t\t!this.props.addon && React.createElement('input', {\n\t\t\t\t\ttype: this.props.type ? this.props.type : 'text',\n\t\t\t\t\tname: this.props.name,\n\t\t\t\t\tid: 'frm_' + this.props.name,\n\t\t\t\t\tplaceholder: this.props.placeholder,\n\t\t\t\t\tvalue: this.props.value != null ? this.props.value : '',\n\t\t\t\t\ttabIndex: '',\n\t\t\t\t\trequired: this.props.isRequired,\n\t\t\t\t\tclassName: this.renderInputClassName(),\n\t\t\t\t\tonChange: this.props.onChange,\n\t\t\t\t\tonInput: this.props.onInput,\n\t\t\t\t\t'aria-required': this.props.isRequired,\n\t\t\t\t\t'aria-invalid': this.props.hasError,\n\t\t\t\t\tdisabled: this.props.disabled\n\t\t\t\t})\n\t\t\t)\n\t\t);\n\t}\n});\n\nmodule.exports = TextBox;\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/react/views/Common/TextBox.jsx\n// module id = 137\n// module chunks = 2\n//# sourceURL=webpack:///./assets/react/views/Common/TextBox.jsx?");
/***/ }),
/* 138 */,
/* 139 */,
/* 140 */,
/* 141 */,
/* 142 */,
/* 143 */,
/* 144 */,
/* 145 */,
/* 146 */,
/* 147 */,
/* 148 */,
/* 149 */
/***/ (function(module, exports, __webpack_require__) {
eval("/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _assign = __webpack_require__(150);\n\nvar emptyObject = __webpack_require__(44);\nvar _invariant = __webpack_require__(3);\n\nif (process.env.NODE_ENV !== 'production') {\n var warning = __webpack_require__(4);\n}\n\nvar MIXINS_KEY = 'mixins';\n\n// Helper function to allow the creation of anonymous functions which do not\n// have .name set to the name of the variable being assigned to.\nfunction identity(fn) {\n return fn;\n}\n\nvar ReactPropTypeLocationNames;\nif (process.env.NODE_ENV !== 'production') {\n ReactPropTypeLocationNames = {\n prop: 'prop',\n context: 'context',\n childContext: 'child context'\n };\n} else {\n ReactPropTypeLocationNames = {};\n}\n\nfunction factory(ReactComponent, isValidElement, ReactNoopUpdateQueue) {\n /**\n * Policies that describe methods in `ReactClassInterface`.\n */\n\n var injectedMixins = [];\n\n /**\n * Composite components are higher-level components that compose other composite\n * or host components.\n *\n * To create a new type of `ReactClass`, pass a specification of\n * your new class to `React.createClass`. The only requirement of your class\n * specification is that you implement a `render` method.\n *\n * var MyComponent = React.createClass({\n * render: function() {\n * return Hello World
;\n * }\n * });\n *\n * The class specification supports a specific protocol of methods that have\n * special meaning (e.g. `render`). See `ReactClassInterface` for\n * more the comprehensive protocol. Any other properties and methods in the\n * class specification will be available on the prototype.\n *\n * @interface ReactClassInterface\n * @internal\n */\n var ReactClassInterface = {\n /**\n * An array of Mixin objects to include when defining your component.\n *\n * @type {array}\n * @optional\n */\n mixins: 'DEFINE_MANY',\n\n /**\n * An object containing properties and methods that should be defined on\n * the component's constructor instead of its prototype (static methods).\n *\n * @type {object}\n * @optional\n */\n statics: 'DEFINE_MANY',\n\n /**\n * Definition of prop types for this component.\n *\n * @type {object}\n * @optional\n */\n propTypes: 'DEFINE_MANY',\n\n /**\n * Definition of context types for this component.\n *\n * @type {object}\n * @optional\n */\n contextTypes: 'DEFINE_MANY',\n\n /**\n * Definition of context types this component sets for its children.\n *\n * @type {object}\n * @optional\n */\n childContextTypes: 'DEFINE_MANY',\n\n // ==== Definition methods ====\n\n /**\n * Invoked when the component is mounted. Values in the mapping will be set on\n * `this.props` if that prop is not specified (i.e. using an `in` check).\n *\n * This method is invoked before `getInitialState` and therefore cannot rely\n * on `this.state` or use `this.setState`.\n *\n * @return {object}\n * @optional\n */\n getDefaultProps: 'DEFINE_MANY_MERGED',\n\n /**\n * Invoked once before the component is mounted. The return value will be used\n * as the initial value of `this.state`.\n *\n * getInitialState: function() {\n * return {\n * isOn: false,\n * fooBaz: new BazFoo()\n * }\n * }\n *\n * @return {object}\n * @optional\n */\n getInitialState: 'DEFINE_MANY_MERGED',\n\n /**\n * @return {object}\n * @optional\n */\n getChildContext: 'DEFINE_MANY_MERGED',\n\n /**\n * Uses props from `this.props` and state from `this.state` to render the\n * structure of the component.\n *\n * No guarantees are made about when or how often this method is invoked, so\n * it must not have side effects.\n *\n * render: function() {\n * var name = this.props.name;\n * return Hello, {name}!
;\n * }\n *\n * @return {ReactComponent}\n * @required\n */\n render: 'DEFINE_ONCE',\n\n // ==== Delegate methods ====\n\n /**\n * Invoked when the component is initially created and about to be mounted.\n * This may have side effects, but any external subscriptions or data created\n * by this method must be cleaned up in `componentWillUnmount`.\n *\n * @optional\n */\n componentWillMount: 'DEFINE_MANY',\n\n /**\n * Invoked when the component has been mounted and has a DOM representation.\n * However, there is no guarantee that the DOM node is in the document.\n *\n * Use this as an opportunity to operate on the DOM when the component has\n * been mounted (initialized and rendered) for the first time.\n *\n * @param {DOMElement} rootNode DOM element representing the component.\n * @optional\n */\n componentDidMount: 'DEFINE_MANY',\n\n /**\n * Invoked before the component receives new props.\n *\n * Use this as an opportunity to react to a prop transition by updating the\n * state using `this.setState`. Current props are accessed via `this.props`.\n *\n * componentWillReceiveProps: function(nextProps, nextContext) {\n * this.setState({\n * likesIncreasing: nextProps.likeCount > this.props.likeCount\n * });\n * }\n *\n * NOTE: There is no equivalent `componentWillReceiveState`. An incoming prop\n * transition may cause a state change, but the opposite is not true. If you\n * need it, you are probably looking for `componentWillUpdate`.\n *\n * @param {object} nextProps\n * @optional\n */\n componentWillReceiveProps: 'DEFINE_MANY',\n\n /**\n * Invoked while deciding if the component should be updated as a result of\n * receiving new props, state and/or context.\n *\n * Use this as an opportunity to `return false` when you're certain that the\n * transition to the new props/state/context will not require a component\n * update.\n *\n * shouldComponentUpdate: function(nextProps, nextState, nextContext) {\n * return !equal(nextProps, this.props) ||\n * !equal(nextState, this.state) ||\n * !equal(nextContext, this.context);\n * }\n *\n * @param {object} nextProps\n * @param {?object} nextState\n * @param {?object} nextContext\n * @return {boolean} True if the component should update.\n * @optional\n */\n shouldComponentUpdate: 'DEFINE_ONCE',\n\n /**\n * Invoked when the component is about to update due to a transition from\n * `this.props`, `this.state` and `this.context` to `nextProps`, `nextState`\n * and `nextContext`.\n *\n * Use this as an opportunity to perform preparation before an update occurs.\n *\n * NOTE: You **cannot** use `this.setState()` in this method.\n *\n * @param {object} nextProps\n * @param {?object} nextState\n * @param {?object} nextContext\n * @param {ReactReconcileTransaction} transaction\n * @optional\n */\n componentWillUpdate: 'DEFINE_MANY',\n\n /**\n * Invoked when the component's DOM representation has been updated.\n *\n * Use this as an opportunity to operate on the DOM when the component has\n * been updated.\n *\n * @param {object} prevProps\n * @param {?object} prevState\n * @param {?object} prevContext\n * @param {DOMElement} rootNode DOM element representing the component.\n * @optional\n */\n componentDidUpdate: 'DEFINE_MANY',\n\n /**\n * Invoked when the component is about to be removed from its parent and have\n * its DOM representation destroyed.\n *\n * Use this as an opportunity to deallocate any external resources.\n *\n * NOTE: There is no `componentDidUnmount` since your component will have been\n * destroyed by that point.\n *\n * @optional\n */\n componentWillUnmount: 'DEFINE_MANY',\n\n /**\n * Replacement for (deprecated) `componentWillMount`.\n *\n * @optional\n */\n UNSAFE_componentWillMount: 'DEFINE_MANY',\n\n /**\n * Replacement for (deprecated) `componentWillReceiveProps`.\n *\n * @optional\n */\n UNSAFE_componentWillReceiveProps: 'DEFINE_MANY',\n\n /**\n * Replacement for (deprecated) `componentWillUpdate`.\n *\n * @optional\n */\n UNSAFE_componentWillUpdate: 'DEFINE_MANY',\n\n // ==== Advanced methods ====\n\n /**\n * Updates the component's currently mounted DOM representation.\n *\n * By default, this implements React's rendering and reconciliation algorithm.\n * Sophisticated clients may wish to override this.\n *\n * @param {ReactReconcileTransaction} transaction\n * @internal\n * @overridable\n */\n updateComponent: 'OVERRIDE_BASE'\n };\n\n /**\n * Similar to ReactClassInterface but for static methods.\n */\n var ReactClassStaticInterface = {\n /**\n * This method is invoked after a component is instantiated and when it\n * receives new props. Return an object to update state in response to\n * prop changes. Return null to indicate no change to state.\n *\n * If an object is returned, its keys will be merged into the existing state.\n *\n * @return {object || null}\n * @optional\n */\n getDerivedStateFromProps: 'DEFINE_MANY_MERGED'\n };\n\n /**\n * Mapping from class specification keys to special processing functions.\n *\n * Although these are declared like instance properties in the specification\n * when defining classes using `React.createClass`, they are actually static\n * and are accessible on the constructor instead of the prototype. Despite\n * being static, they must be defined outside of the \"statics\" key under\n * which all other static methods are defined.\n */\n var RESERVED_SPEC_KEYS = {\n displayName: function(Constructor, displayName) {\n Constructor.displayName = displayName;\n },\n mixins: function(Constructor, mixins) {\n if (mixins) {\n for (var i = 0; i < mixins.length; i++) {\n mixSpecIntoComponent(Constructor, mixins[i]);\n }\n }\n },\n childContextTypes: function(Constructor, childContextTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, childContextTypes, 'childContext');\n }\n Constructor.childContextTypes = _assign(\n {},\n Constructor.childContextTypes,\n childContextTypes\n );\n },\n contextTypes: function(Constructor, contextTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, contextTypes, 'context');\n }\n Constructor.contextTypes = _assign(\n {},\n Constructor.contextTypes,\n contextTypes\n );\n },\n /**\n * Special case getDefaultProps which should move into statics but requires\n * automatic merging.\n */\n getDefaultProps: function(Constructor, getDefaultProps) {\n if (Constructor.getDefaultProps) {\n Constructor.getDefaultProps = createMergedResultFunction(\n Constructor.getDefaultProps,\n getDefaultProps\n );\n } else {\n Constructor.getDefaultProps = getDefaultProps;\n }\n },\n propTypes: function(Constructor, propTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, propTypes, 'prop');\n }\n Constructor.propTypes = _assign({}, Constructor.propTypes, propTypes);\n },\n statics: function(Constructor, statics) {\n mixStaticSpecIntoComponent(Constructor, statics);\n },\n autobind: function() {}\n };\n\n function validateTypeDef(Constructor, typeDef, location) {\n for (var propName in typeDef) {\n if (typeDef.hasOwnProperty(propName)) {\n // use a warning instead of an _invariant so components\n // don't show up in prod but only in __DEV__\n if (process.env.NODE_ENV !== 'production') {\n warning(\n typeof typeDef[propName] === 'function',\n '%s: %s type `%s` is invalid; it must be a function, usually from ' +\n 'React.PropTypes.',\n Constructor.displayName || 'ReactClass',\n ReactPropTypeLocationNames[location],\n propName\n );\n }\n }\n }\n }\n\n function validateMethodOverride(isAlreadyDefined, name) {\n var specPolicy = ReactClassInterface.hasOwnProperty(name)\n ? ReactClassInterface[name]\n : null;\n\n // Disallow overriding of base class methods unless explicitly allowed.\n if (ReactClassMixin.hasOwnProperty(name)) {\n _invariant(\n specPolicy === 'OVERRIDE_BASE',\n 'ReactClassInterface: You are attempting to override ' +\n '`%s` from your class specification. Ensure that your method names ' +\n 'do not overlap with React methods.',\n name\n );\n }\n\n // Disallow defining methods more than once unless explicitly allowed.\n if (isAlreadyDefined) {\n _invariant(\n specPolicy === 'DEFINE_MANY' || specPolicy === 'DEFINE_MANY_MERGED',\n 'ReactClassInterface: You are attempting to define ' +\n '`%s` on your component more than once. This conflict may be due ' +\n 'to a mixin.',\n name\n );\n }\n }\n\n /**\n * Mixin helper which handles policy validation and reserved\n * specification keys when building React classes.\n */\n function mixSpecIntoComponent(Constructor, spec) {\n if (!spec) {\n if (process.env.NODE_ENV !== 'production') {\n var typeofSpec = typeof spec;\n var isMixinValid = typeofSpec === 'object' && spec !== null;\n\n if (process.env.NODE_ENV !== 'production') {\n warning(\n isMixinValid,\n \"%s: You're attempting to include a mixin that is either null \" +\n 'or not an object. Check the mixins included by the component, ' +\n 'as well as any mixins they include themselves. ' +\n 'Expected object but got %s.',\n Constructor.displayName || 'ReactClass',\n spec === null ? null : typeofSpec\n );\n }\n }\n\n return;\n }\n\n _invariant(\n typeof spec !== 'function',\n \"ReactClass: You're attempting to \" +\n 'use a component class or function as a mixin. Instead, just use a ' +\n 'regular object.'\n );\n _invariant(\n !isValidElement(spec),\n \"ReactClass: You're attempting to \" +\n 'use a component as a mixin. Instead, just use a regular object.'\n );\n\n var proto = Constructor.prototype;\n var autoBindPairs = proto.__reactAutoBindPairs;\n\n // By handling mixins before any other properties, we ensure the same\n // chaining order is applied to methods with DEFINE_MANY policy, whether\n // mixins are listed before or after these methods in the spec.\n if (spec.hasOwnProperty(MIXINS_KEY)) {\n RESERVED_SPEC_KEYS.mixins(Constructor, spec.mixins);\n }\n\n for (var name in spec) {\n if (!spec.hasOwnProperty(name)) {\n continue;\n }\n\n if (name === MIXINS_KEY) {\n // We have already handled mixins in a special case above.\n continue;\n }\n\n var property = spec[name];\n var isAlreadyDefined = proto.hasOwnProperty(name);\n validateMethodOverride(isAlreadyDefined, name);\n\n if (RESERVED_SPEC_KEYS.hasOwnProperty(name)) {\n RESERVED_SPEC_KEYS[name](Constructor, property);\n } else {\n // Setup methods on prototype:\n // The following member methods should not be automatically bound:\n // 1. Expected ReactClass methods (in the \"interface\").\n // 2. Overridden methods (that were mixed in).\n var isReactClassMethod = ReactClassInterface.hasOwnProperty(name);\n var isFunction = typeof property === 'function';\n var shouldAutoBind =\n isFunction &&\n !isReactClassMethod &&\n !isAlreadyDefined &&\n spec.autobind !== false;\n\n if (shouldAutoBind) {\n autoBindPairs.push(name, property);\n proto[name] = property;\n } else {\n if (isAlreadyDefined) {\n var specPolicy = ReactClassInterface[name];\n\n // These cases should already be caught by validateMethodOverride.\n _invariant(\n isReactClassMethod &&\n (specPolicy === 'DEFINE_MANY_MERGED' ||\n specPolicy === 'DEFINE_MANY'),\n 'ReactClass: Unexpected spec policy %s for key %s ' +\n 'when mixing in component specs.',\n specPolicy,\n name\n );\n\n // For methods which are defined more than once, call the existing\n // methods before calling the new property, merging if appropriate.\n if (specPolicy === 'DEFINE_MANY_MERGED') {\n proto[name] = createMergedResultFunction(proto[name], property);\n } else if (specPolicy === 'DEFINE_MANY') {\n proto[name] = createChainedFunction(proto[name], property);\n }\n } else {\n proto[name] = property;\n if (process.env.NODE_ENV !== 'production') {\n // Add verbose displayName to the function, which helps when looking\n // at profiling tools.\n if (typeof property === 'function' && spec.displayName) {\n proto[name].displayName = spec.displayName + '_' + name;\n }\n }\n }\n }\n }\n }\n }\n\n function mixStaticSpecIntoComponent(Constructor, statics) {\n if (!statics) {\n return;\n }\n\n for (var name in statics) {\n var property = statics[name];\n if (!statics.hasOwnProperty(name)) {\n continue;\n }\n\n var isReserved = name in RESERVED_SPEC_KEYS;\n _invariant(\n !isReserved,\n 'ReactClass: You are attempting to define a reserved ' +\n 'property, `%s`, that shouldn\\'t be on the \"statics\" key. Define it ' +\n 'as an instance property instead; it will still be accessible on the ' +\n 'constructor.',\n name\n );\n\n var isAlreadyDefined = name in Constructor;\n if (isAlreadyDefined) {\n var specPolicy = ReactClassStaticInterface.hasOwnProperty(name)\n ? ReactClassStaticInterface[name]\n : null;\n\n _invariant(\n specPolicy === 'DEFINE_MANY_MERGED',\n 'ReactClass: You are attempting to define ' +\n '`%s` on your component more than once. This conflict may be ' +\n 'due to a mixin.',\n name\n );\n\n Constructor[name] = createMergedResultFunction(Constructor[name], property);\n\n return;\n }\n\n Constructor[name] = property;\n }\n }\n\n /**\n * Merge two objects, but throw if both contain the same key.\n *\n * @param {object} one The first object, which is mutated.\n * @param {object} two The second object\n * @return {object} one after it has been mutated to contain everything in two.\n */\n function mergeIntoWithNoDuplicateKeys(one, two) {\n _invariant(\n one && two && typeof one === 'object' && typeof two === 'object',\n 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.'\n );\n\n for (var key in two) {\n if (two.hasOwnProperty(key)) {\n _invariant(\n one[key] === undefined,\n 'mergeIntoWithNoDuplicateKeys(): ' +\n 'Tried to merge two objects with the same key: `%s`. This conflict ' +\n 'may be due to a mixin; in particular, this may be caused by two ' +\n 'getInitialState() or getDefaultProps() methods returning objects ' +\n 'with clashing keys.',\n key\n );\n one[key] = two[key];\n }\n }\n return one;\n }\n\n /**\n * Creates a function that invokes two functions and merges their return values.\n *\n * @param {function} one Function to invoke first.\n * @param {function} two Function to invoke second.\n * @return {function} Function that invokes the two argument functions.\n * @private\n */\n function createMergedResultFunction(one, two) {\n return function mergedResult() {\n var a = one.apply(this, arguments);\n var b = two.apply(this, arguments);\n if (a == null) {\n return b;\n } else if (b == null) {\n return a;\n }\n var c = {};\n mergeIntoWithNoDuplicateKeys(c, a);\n mergeIntoWithNoDuplicateKeys(c, b);\n return c;\n };\n }\n\n /**\n * Creates a function that invokes two functions and ignores their return vales.\n *\n * @param {function} one Function to invoke first.\n * @param {function} two Function to invoke second.\n * @return {function} Function that invokes the two argument functions.\n * @private\n */\n function createChainedFunction(one, two) {\n return function chainedFunction() {\n one.apply(this, arguments);\n two.apply(this, arguments);\n };\n }\n\n /**\n * Binds a method to the component.\n *\n * @param {object} component Component whose method is going to be bound.\n * @param {function} method Method to be bound.\n * @return {function} The bound method.\n */\n function bindAutoBindMethod(component, method) {\n var boundMethod = method.bind(component);\n if (process.env.NODE_ENV !== 'production') {\n boundMethod.__reactBoundContext = component;\n boundMethod.__reactBoundMethod = method;\n boundMethod.__reactBoundArguments = null;\n var componentName = component.constructor.displayName;\n var _bind = boundMethod.bind;\n boundMethod.bind = function(newThis) {\n for (\n var _len = arguments.length,\n args = Array(_len > 1 ? _len - 1 : 0),\n _key = 1;\n _key < _len;\n _key++\n ) {\n args[_key - 1] = arguments[_key];\n }\n\n // User is trying to bind() an autobound method; we effectively will\n // ignore the value of \"this\" that the user is trying to use, so\n // let's warn.\n if (newThis !== component && newThis !== null) {\n if (process.env.NODE_ENV !== 'production') {\n warning(\n false,\n 'bind(): React component methods may only be bound to the ' +\n 'component instance. See %s',\n componentName\n );\n }\n } else if (!args.length) {\n if (process.env.NODE_ENV !== 'production') {\n warning(\n false,\n 'bind(): You are binding a component method to the component. ' +\n 'React does this for you automatically in a high-performance ' +\n 'way, so you can safely remove this call. See %s',\n componentName\n );\n }\n return boundMethod;\n }\n var reboundMethod = _bind.apply(boundMethod, arguments);\n reboundMethod.__reactBoundContext = component;\n reboundMethod.__reactBoundMethod = method;\n reboundMethod.__reactBoundArguments = args;\n return reboundMethod;\n };\n }\n return boundMethod;\n }\n\n /**\n * Binds all auto-bound methods in a component.\n *\n * @param {object} component Component whose method is going to be bound.\n */\n function bindAutoBindMethods(component) {\n var pairs = component.__reactAutoBindPairs;\n for (var i = 0; i < pairs.length; i += 2) {\n var autoBindKey = pairs[i];\n var method = pairs[i + 1];\n component[autoBindKey] = bindAutoBindMethod(component, method);\n }\n }\n\n var IsMountedPreMixin = {\n componentDidMount: function() {\n this.__isMounted = true;\n }\n };\n\n var IsMountedPostMixin = {\n componentWillUnmount: function() {\n this.__isMounted = false;\n }\n };\n\n /**\n * Add more to the ReactClass base class. These are all legacy features and\n * therefore not already part of the modern ReactComponent.\n */\n var ReactClassMixin = {\n /**\n * TODO: This will be deprecated because state should always keep a consistent\n * type signature and the only use case for this, is to avoid that.\n */\n replaceState: function(newState, callback) {\n this.updater.enqueueReplaceState(this, newState, callback);\n },\n\n /**\n * Checks whether or not this composite component is mounted.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function() {\n if (process.env.NODE_ENV !== 'production') {\n warning(\n this.__didWarnIsMounted,\n '%s: isMounted is deprecated. Instead, make sure to clean up ' +\n 'subscriptions and pending requests in componentWillUnmount to ' +\n 'prevent memory leaks.',\n (this.constructor && this.constructor.displayName) ||\n this.name ||\n 'Component'\n );\n this.__didWarnIsMounted = true;\n }\n return !!this.__isMounted;\n }\n };\n\n var ReactClassComponent = function() {};\n _assign(\n ReactClassComponent.prototype,\n ReactComponent.prototype,\n ReactClassMixin\n );\n\n /**\n * Creates a composite component class given a class specification.\n * See https://facebook.github.io/react/docs/top-level-api.html#react.createclass\n *\n * @param {object} spec Class specification (which must define `render`).\n * @return {function} Component constructor function.\n * @public\n */\n function createClass(spec) {\n // To keep our warnings more understandable, we'll use a little hack here to\n // ensure that Constructor.name !== 'Constructor'. This makes sure we don't\n // unnecessarily identify a class without displayName as 'Constructor'.\n var Constructor = identity(function(props, context, updater) {\n // This constructor gets overridden by mocks. The argument is used\n // by mocks to assert on what gets mounted.\n\n if (process.env.NODE_ENV !== 'production') {\n warning(\n this instanceof Constructor,\n 'Something is calling a React component directly. Use a factory or ' +\n 'JSX instead. See: https://fb.me/react-legacyfactory'\n );\n }\n\n // Wire up auto-binding\n if (this.__reactAutoBindPairs.length) {\n bindAutoBindMethods(this);\n }\n\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n\n this.state = null;\n\n // ReactClasses doesn't have constructors. Instead, they use the\n // getInitialState and componentWillMount methods for initialization.\n\n var initialState = this.getInitialState ? this.getInitialState() : null;\n if (process.env.NODE_ENV !== 'production') {\n // We allow auto-mocks to proceed as if they're returning null.\n if (\n initialState === undefined &&\n this.getInitialState._isMockFunction\n ) {\n // This is probably bad practice. Consider warning here and\n // deprecating this convenience.\n initialState = null;\n }\n }\n _invariant(\n typeof initialState === 'object' && !Array.isArray(initialState),\n '%s.getInitialState(): must return an object or null',\n Constructor.displayName || 'ReactCompositeComponent'\n );\n\n this.state = initialState;\n });\n Constructor.prototype = new ReactClassComponent();\n Constructor.prototype.constructor = Constructor;\n Constructor.prototype.__reactAutoBindPairs = [];\n\n injectedMixins.forEach(mixSpecIntoComponent.bind(null, Constructor));\n\n mixSpecIntoComponent(Constructor, IsMountedPreMixin);\n mixSpecIntoComponent(Constructor, spec);\n mixSpecIntoComponent(Constructor, IsMountedPostMixin);\n\n // Initialize the defaultProps property after all mixins have been merged.\n if (Constructor.getDefaultProps) {\n Constructor.defaultProps = Constructor.getDefaultProps();\n }\n\n if (process.env.NODE_ENV !== 'production') {\n // This is a tag to indicate that the use of these method names is ok,\n // since it's used with createClass. If it's not, then it's likely a\n // mistake so we'll warn you to use the static property, property\n // initializer or constructor respectively.\n if (Constructor.getDefaultProps) {\n Constructor.getDefaultProps.isReactClassApproved = {};\n }\n if (Constructor.prototype.getInitialState) {\n Constructor.prototype.getInitialState.isReactClassApproved = {};\n }\n }\n\n _invariant(\n Constructor.prototype.render,\n 'createClass(...): Class specification must implement a `render` method.'\n );\n\n if (process.env.NODE_ENV !== 'production') {\n warning(\n !Constructor.prototype.componentShouldUpdate,\n '%s has a method called ' +\n 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' +\n 'The name is phrased as a question because the function is ' +\n 'expected to return a value.',\n spec.displayName || 'A component'\n );\n warning(\n !Constructor.prototype.componentWillRecieveProps,\n '%s has a method called ' +\n 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?',\n spec.displayName || 'A component'\n );\n warning(\n !Constructor.prototype.UNSAFE_componentWillRecieveProps,\n '%s has a method called UNSAFE_componentWillRecieveProps(). ' +\n 'Did you mean UNSAFE_componentWillReceiveProps()?',\n spec.displayName || 'A component'\n );\n }\n\n // Reduce time spent doing lookups by setting these on the prototype.\n for (var methodName in ReactClassInterface) {\n if (!Constructor.prototype[methodName]) {\n Constructor.prototype[methodName] = null;\n }\n }\n\n return Constructor;\n }\n\n return createClass;\n}\n\nmodule.exports = factory;\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2)))\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/create-react-class/factory.js\n// module id = 149\n// module chunks = 0 1 2 3\n//# sourceURL=webpack:///./~/create-react-class/factory.js?");
/***/ }),
/* 150 */
/***/ (function(module, exports) {
eval("/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/create-react-class/~/object-assign/index.js\n// module id = 150\n// module chunks = 0 1 2 3\n//# sourceURL=webpack:///./~/create-react-class/~/object-assign/index.js?");
/***/ }),
/* 151 */
/***/ (function(module, exports) {
eval("\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\nvar _hyphenPattern = /-(.)/g;\n\n/**\n * Camelcases a hyphenated string, for example:\n *\n * > camelize('background-color')\n * < \"backgroundColor\"\n *\n * @param {string} string\n * @return {string}\n */\nfunction camelize(string) {\n return string.replace(_hyphenPattern, function (_, character) {\n return character.toUpperCase();\n });\n}\n\nmodule.exports = camelize;\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/fbjs/lib/camelize.js\n// module id = 151\n// module chunks = 0 1 2 3\n//# sourceURL=webpack:///./~/fbjs/lib/camelize.js?");
/***/ }),
/* 152 */
/***/ (function(module, exports, __webpack_require__) {
eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\n'use strict';\n\nvar camelize = __webpack_require__(151);\n\nvar msPattern = /^-ms-/;\n\n/**\n * Camelcases a hyphenated CSS property name, for example:\n *\n * > camelizeStyleName('background-color')\n * < \"backgroundColor\"\n * > camelizeStyleName('-moz-transition')\n * < \"MozTransition\"\n * > camelizeStyleName('-ms-transition')\n * < \"msTransition\"\n *\n * As Andi Smith suggests\n * (https://www.andismith.com/blog/2012/02/modernizr-prefixed/), an `-ms` prefix\n * is converted to lowercase `ms`.\n *\n * @param {string} string\n * @return {string}\n */\nfunction camelizeStyleName(string) {\n return camelize(string.replace(msPattern, 'ms-'));\n}\n\nmodule.exports = camelizeStyleName;\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/fbjs/lib/camelizeStyleName.js\n// module id = 152\n// module chunks = 0 1 2 3\n//# sourceURL=webpack:///./~/fbjs/lib/camelizeStyleName.js?");
/***/ }),
/* 153 */
/***/ (function(module, exports, __webpack_require__) {
eval("'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar isTextNode = __webpack_require__(161);\n\n/*eslint-disable no-bitwise */\n\n/**\n * Checks if a given DOM node contains or is another DOM node.\n */\nfunction containsNode(outerNode, innerNode) {\n if (!outerNode || !innerNode) {\n return false;\n } else if (outerNode === innerNode) {\n return true;\n } else if (isTextNode(outerNode)) {\n return false;\n } else if (isTextNode(innerNode)) {\n return containsNode(outerNode, innerNode.parentNode);\n } else if ('contains' in outerNode) {\n return outerNode.contains(innerNode);\n } else if (outerNode.compareDocumentPosition) {\n return !!(outerNode.compareDocumentPosition(innerNode) & 16);\n } else {\n return false;\n }\n}\n\nmodule.exports = containsNode;\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/fbjs/lib/containsNode.js\n// module id = 153\n// module chunks = 0 1 2 3\n//# sourceURL=webpack:///./~/fbjs/lib/containsNode.js?");
/***/ }),
/* 154 */
/***/ (function(module, exports, __webpack_require__) {
eval("/* WEBPACK VAR INJECTION */(function(process) {'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\nvar invariant = __webpack_require__(3);\n\n/**\n * Convert array-like objects to arrays.\n *\n * This API assumes the caller knows the contents of the data type. For less\n * well defined inputs use createArrayFromMixed.\n *\n * @param {object|function|filelist} obj\n * @return {array}\n */\nfunction toArray(obj) {\n var length = obj.length;\n\n // Some browsers builtin objects can report typeof 'function' (e.g. NodeList\n // in old versions of Safari).\n !(!Array.isArray(obj) && (typeof obj === 'object' || typeof obj === 'function')) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'toArray: Array-like object expected') : invariant(false) : void 0;\n\n !(typeof length === 'number') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'toArray: Object needs a length property') : invariant(false) : void 0;\n\n !(length === 0 || length - 1 in obj) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'toArray: Object should have keys for indices') : invariant(false) : void 0;\n\n !(typeof obj.callee !== 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'toArray: Object can\\'t be `arguments`. Use rest params ' + '(function(...args) {}) or Array.from() instead.') : invariant(false) : void 0;\n\n // Old IE doesn't give collections access to hasOwnProperty. Assume inputs\n // without method will throw during the slice call and skip straight to the\n // fallback.\n if (obj.hasOwnProperty) {\n try {\n return Array.prototype.slice.call(obj);\n } catch (e) {\n // IE < 9 does not support Array#slice on collections objects\n }\n }\n\n // Fall back to copying key by key. This assumes all keys have a value,\n // so will not preserve sparsely populated inputs.\n var ret = Array(length);\n for (var ii = 0; ii < length; ii++) {\n ret[ii] = obj[ii];\n }\n return ret;\n}\n\n/**\n * Perform a heuristic test to determine if an object is \"array-like\".\n *\n * A monk asked Joshu, a Zen master, \"Has a dog Buddha nature?\"\n * Joshu replied: \"Mu.\"\n *\n * This function determines if its argument has \"array nature\": it returns\n * true if the argument is an actual array, an `arguments' object, or an\n * HTMLCollection (e.g. node.childNodes or node.getElementsByTagName()).\n *\n * It will return false for other array-like objects like Filelist.\n *\n * @param {*} obj\n * @return {boolean}\n */\nfunction hasArrayNature(obj) {\n return (\n // not null/false\n !!obj && (\n // arrays are objects, NodeLists are functions in Safari\n typeof obj == 'object' || typeof obj == 'function') &&\n // quacks like an array\n 'length' in obj &&\n // not window\n !('setInterval' in obj) &&\n // no DOM node should be considered an array-like\n // a 'select' element has 'length' and 'item' properties on IE8\n typeof obj.nodeType != 'number' && (\n // a real array\n Array.isArray(obj) ||\n // arguments\n 'callee' in obj ||\n // HTMLCollection/NodeList\n 'item' in obj)\n );\n}\n\n/**\n * Ensure that the argument is an array by wrapping it in an array if it is not.\n * Creates a copy of the argument if it is already an array.\n *\n * This is mostly useful idiomatically:\n *\n * var createArrayFromMixed = require('createArrayFromMixed');\n *\n * function takesOneOrMoreThings(things) {\n * things = createArrayFromMixed(things);\n * ...\n * }\n *\n * This allows you to treat `things' as an array, but accept scalars in the API.\n *\n * If you need to convert an array-like object, like `arguments`, into an array\n * use toArray instead.\n *\n * @param {*} obj\n * @return {array}\n */\nfunction createArrayFromMixed(obj) {\n if (!hasArrayNature(obj)) {\n return [obj];\n } else if (Array.isArray(obj)) {\n return obj.slice();\n } else {\n return toArray(obj);\n }\n}\n\nmodule.exports = createArrayFromMixed;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2)))\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/fbjs/lib/createArrayFromMixed.js\n// module id = 154\n// module chunks = 0 1 2 3\n//# sourceURL=webpack:///./~/fbjs/lib/createArrayFromMixed.js?");
/***/ }),
/* 155 */
/***/ (function(module, exports, __webpack_require__) {
eval("/* WEBPACK VAR INJECTION */(function(process) {'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\n/*eslint-disable fb-www/unsafe-html*/\n\nvar ExecutionEnvironment = __webpack_require__(9);\n\nvar createArrayFromMixed = __webpack_require__(154);\nvar getMarkupWrap = __webpack_require__(156);\nvar invariant = __webpack_require__(3);\n\n/**\n * Dummy container used to render all markup.\n */\nvar dummyNode = ExecutionEnvironment.canUseDOM ? document.createElement('div') : null;\n\n/**\n * Pattern used by `getNodeName`.\n */\nvar nodeNamePattern = /^\\s*<(\\w+)/;\n\n/**\n * Extracts the `nodeName` of the first element in a string of markup.\n *\n * @param {string} markup String of markup.\n * @return {?string} Node name of the supplied markup.\n */\nfunction getNodeName(markup) {\n var nodeNameMatch = markup.match(nodeNamePattern);\n return nodeNameMatch && nodeNameMatch[1].toLowerCase();\n}\n\n/**\n * Creates an array containing the nodes rendered from the supplied markup. The\n * optionally supplied `handleScript` function will be invoked once for each\n *