diff --git a/README.md b/README.md index ea84972..7ce21a9 100644 --- a/README.md +++ b/README.md @@ -60,6 +60,11 @@ The following APIs need to be implemented in your browser: In addition to the APIs mentioned above: - [MediaDevices](http://caniuse.com/#feat=stream) +__Important:__ Accessing `getUserMedia` requires a secure origin in most +browsers, meaning that `http://` can only be used on `localhost`. All other +hostnames need to be served via `https://`. You can find more information in the +[Chrome M47 WebRTC Release Notes](https://groups.google.com/forum/#!topic/discuss-webrtc/sq5CVmY69sc). + ## Installing QuaggaJS can be installed using __npm__, __bower__, or by including it with diff --git a/dist/quagga.js b/dist/quagga.js index e104478..b276391 100644 --- a/dist/quagga.js +++ b/dist/quagga.js @@ -45,7 +45,7 @@ return /******/ (function(modules) { // webpackBootstrap /******/ __webpack_require__.p = "/"; /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 222); +/******/ return __webpack_require__(__webpack_require__.s = 214); /******/ }) /************************************************************************/ /******/ ([ @@ -135,7 +135,7 @@ return /******/ (function(modules) { // webpackBootstrap /** * Browser detector. * - * @return {object} result containing browser, version and minVersion + * @return {object} result containing browser and version * properties. */ detectBrowser: function() { @@ -143,7 +143,6 @@ return /******/ (function(modules) { // webpackBootstrap var result = {}; result.browser = null; result.version = null; - result.minVersion = null; // Fail early if it's not a browser if (typeof window === 'undefined' || !window.navigator) { @@ -156,7 +155,6 @@ return /******/ (function(modules) { // webpackBootstrap result.browser = 'firefox'; result.version = this.extractVersion(navigator.userAgent, /Firefox\/([0-9]+)\./, 1); - result.minVersion = 31; // all webkit-based browsers } else if (navigator.webkitGetUserMedia) { @@ -165,7 +163,6 @@ return /******/ (function(modules) { // webpackBootstrap result.browser = 'chrome'; result.version = this.extractVersion(navigator.userAgent, /Chrom(e|ium)\/([0-9]+)\./, 2); - result.minVersion = 38; // Safari or unknown webkit-based // for the time being Safari has support for MediaStreams but not webRTC @@ -185,7 +182,6 @@ return /******/ (function(modules) { // webpackBootstrap result.browser = 'safari'; result.version = this.extractVersion(navigator.userAgent, /AppleWebKit\/([0-9]+)\./, 1); - result.minVersion = 602; // unknown webkit-based browser } else { @@ -201,7 +197,6 @@ return /******/ (function(modules) { // webpackBootstrap result.browser = 'edge'; result.version = this.extractVersion(navigator.userAgent, /Edge\/(\d+).(\d+)$/, 2); - result.minVersion = 10547; // Default fallthrough: not supported. } else { @@ -209,13 +204,6 @@ return /******/ (function(modules) { // webpackBootstrap return result; } - // Warn if version is less than minVersion. - if (result.version < result.minVersion) { - utils.log('Browser: ' + result.browser + ' Version: ' + result.version + - ' < minimum supported version: ' + result.minVersion + - '\n some things might not work!'); - } - return result; } }; @@ -270,7 +258,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 3 */ /***/ function(module, exports, __webpack_require__) { - var freeGlobal = __webpack_require__(68); + var freeGlobal = __webpack_require__(63); /** Detect free variable `self`. */ var freeSelf = typeof self == 'object' && self && self.Object === Object && self; @@ -285,10 +273,10 @@ return /******/ (function(modules) { // webpackBootstrap /* 4 */ /***/ function(module, exports, __webpack_require__) { - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_merge__ = __webpack_require__(7); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_merge__ = __webpack_require__(15); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_merge___default = __WEBPACK_IMPORTED_MODULE_0_lodash_merge__ && __WEBPACK_IMPORTED_MODULE_0_lodash_merge__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_0_lodash_merge__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_0_lodash_merge__; } /* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_0_lodash_merge___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_0_lodash_merge___default }); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__barcode_reader__ = __webpack_require__(9); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__barcode_reader__ = __webpack_require__(7); var _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; }; @@ -662,8 +650,8 @@ return /******/ (function(modules) { // webpackBootstrap /* 5 */ /***/ function(module, exports, __webpack_require__) { - var baseIsNative = __webpack_require__(138), - getValue = __webpack_require__(165); + var baseIsNative = __webpack_require__(129), + getValue = __webpack_require__(158); /** * Gets the native function at `key` of `object`. @@ -683,78 +671,6 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, /* 6 */ -/***/ function(module, exports, __webpack_require__) { - - var isSymbol = __webpack_require__(42); - - /** Used as references for various `Number` constants. */ - var INFINITY = 1 / 0; - - /** - * Converts `value` to a string key if it's not a string or symbol. - * - * @private - * @param {*} value The value to inspect. - * @returns {string|symbol} Returns the key. - */ - function toKey(value) { - if (typeof value == 'string' || isSymbol(value)) { - return value; - } - var result = (value + ''); - return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; - } - - module.e = toKey; - - -/***/ }, -/* 7 */ -/***/ function(module, exports, __webpack_require__) { - - var baseMerge = __webpack_require__(143), - createAssigner = __webpack_require__(159); - - /** - * This method is like `_.assign` except that it recursively merges own and - * inherited enumerable string keyed properties of source objects into the - * destination object. Source properties that resolve to `undefined` are - * skipped if a destination value exists. Array and plain object properties - * are merged recursively. Other objects and value types are overridden by - * assignment. Source objects are applied from left to right. Subsequent - * sources overwrite property assignments of previous sources. - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 0.5.0 - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @example - * - * var object = { - * 'a': [{ 'b': 2 }, { 'd': 4 }] - * }; - * - * var other = { - * 'a': [{ 'c': 3 }, { 'e': 5 }] - * }; - * - * _.merge(object, other); - * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] } - */ - var merge = createAssigner(function(object, source, srcIndex) { - baseMerge(object, source, srcIndex); - }); - - module.e = merge; - - -/***/ }, -/* 8 */ /***/ function(module, exports, __webpack_require__) { /* harmony default export */ exports["a"] = { @@ -800,7 +716,7 @@ return /******/ (function(modules) { // webpackBootstrap }; /***/ }, -/* 9 */ +/* 7 */ /***/ function(module, exports, __webpack_require__) { function BarcodeReader(config, supplements) { @@ -1021,7 +937,7 @@ return /******/ (function(modules) { // webpackBootstrap /* harmony default export */ exports["a"] = BarcodeReader; /***/ }, -/* 10 */ +/* 8 */ /***/ function(module, exports, __webpack_require__) { module.e = clone @@ -1040,7 +956,34 @@ return /******/ (function(modules) { // webpackBootstrap } /***/ }, -/* 11 */ +/* 9 */ +/***/ function(module, exports, __webpack_require__) { + + var isSymbol = __webpack_require__(40); + + /** Used as references for various `Number` constants. */ + var INFINITY = 1 / 0; + + /** + * Converts `value` to a string key if it's not a string or symbol. + * + * @private + * @param {*} value The value to inspect. + * @returns {string|symbol} Returns the key. + */ + function toKey(value) { + if (typeof value == 'string' || isSymbol(value)) { + return value; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; + } + + module.e = toKey; + + +/***/ }, +/* 10 */ /***/ function(module, exports, __webpack_require__) { /** @@ -1083,10 +1026,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 12 */ +/* 11 */ /***/ function(module, exports, __webpack_require__) { - var isArrayLikeObject = __webpack_require__(76); + var isArrayLikeObject = __webpack_require__(70); /** `Object#toString` result references. */ var argsTag = '[object Arguments]'; @@ -1135,11 +1078,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 13 */ +/* 12 */ /***/ function(module, exports, __webpack_require__) { - var isFunction = __webpack_require__(40), - isLength = __webpack_require__(41); + var isFunction = __webpack_require__(38), + isLength = __webpack_require__(39); /** * Checks if `value` is array-like. A value is considered array-like if it's @@ -1174,7 +1117,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 14 */ +/* 13 */ /***/ function(module, exports, __webpack_require__) { /** @@ -1209,12 +1152,12 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 15 */ +/* 14 */ /***/ function(module, exports, __webpack_require__) { - var arrayLikeKeys = __webpack_require__(52), - baseKeys = __webpack_require__(140), - isArrayLike = __webpack_require__(13); + var arrayLikeKeys = __webpack_require__(49), + baseKeys = __webpack_require__(131), + isArrayLike = __webpack_require__(12); /** * Creates an array of the own enumerable property names of `object`. @@ -1251,6 +1194,51 @@ return /******/ (function(modules) { // webpackBootstrap module.e = keys; +/***/ }, +/* 15 */ +/***/ function(module, exports, __webpack_require__) { + + var baseMerge = __webpack_require__(134), + createAssigner = __webpack_require__(151); + + /** + * This method is like `_.assign` except that it recursively merges own and + * inherited enumerable string keyed properties of source objects into the + * destination object. Source properties that resolve to `undefined` are + * skipped if a destination value exists. Array and plain object properties + * are merged recursively. Other objects and value types are overridden by + * assignment. Source objects are applied from left to right. Subsequent + * sources overwrite property assignments of previous sources. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 0.5.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @example + * + * var object = { + * 'a': [{ 'b': 2 }, { 'd': 4 }] + * }; + * + * var other = { + * 'a': [{ 'c': 3 }, { 'e': 5 }] + * }; + * + * _.merge(object, other); + * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] } + */ + var merge = createAssigner(function(object, source, srcIndex) { + baseMerge(object, source, srcIndex); + }); + + module.e = merge; + + /***/ }, /* 16 */ /***/ function(module, exports, __webpack_require__) { @@ -1347,11 +1335,11 @@ return /******/ (function(modules) { // webpackBootstrap /* 17 */ /***/ function(module, exports, __webpack_require__) { - var listCacheClear = __webpack_require__(179), - listCacheDelete = __webpack_require__(180), - listCacheGet = __webpack_require__(181), - listCacheHas = __webpack_require__(182), - listCacheSet = __webpack_require__(183); + var listCacheClear = __webpack_require__(172), + listCacheDelete = __webpack_require__(173), + listCacheGet = __webpack_require__(174), + listCacheHas = __webpack_require__(175), + listCacheSet = __webpack_require__(176); /** * Creates an list cache object. @@ -1386,11 +1374,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ function(module, exports, __webpack_require__) { var ListCache = __webpack_require__(17), - stackClear = __webpack_require__(193), - stackDelete = __webpack_require__(194), - stackGet = __webpack_require__(195), - stackHas = __webpack_require__(196), - stackSet = __webpack_require__(197); + stackClear = __webpack_require__(186), + stackDelete = __webpack_require__(187), + stackGet = __webpack_require__(188), + stackHas = __webpack_require__(189), + stackSet = __webpack_require__(190); /** * Creates a stack cache object to store key-value pairs. @@ -1429,7 +1417,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 20 */ /***/ function(module, exports, __webpack_require__) { - var eq = __webpack_require__(11); + var eq = __webpack_require__(10); /** * Gets the index at which the `key` is found in `array` of key-value pairs. @@ -1456,7 +1444,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 21 */ /***/ function(module, exports, __webpack_require__) { - var isKeyable = __webpack_require__(177); + var isKeyable = __webpack_require__(170); /** * Gets the data for `map`. @@ -1507,7 +1495,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ function(module, exports, __webpack_require__) { var isArray = __webpack_require__(0), - isSymbol = __webpack_require__(42); + isSymbol = __webpack_require__(40); /** Used to match property names within property paths. */ var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, @@ -1577,15 +1565,15 @@ return /******/ (function(modules) { // webpackBootstrap /* 26 */ /***/ function(module, exports, __webpack_require__) { - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__cluster__ = __webpack_require__(83); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__cluster__ = __webpack_require__(77); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__array_helper__ = __webpack_require__(16); /* harmony export */ exports["f"] = imageRef;/* unused harmony export computeIntegralImage2 *//* unused harmony export computeIntegralImage *//* unused harmony export thresholdImage *//* unused harmony export computeHistogram *//* unused harmony export sharpenLine *//* unused harmony export determineOtsuThreshold *//* harmony export */ exports["c"] = otsuThreshold;/* unused harmony export computeBinaryImage *//* harmony export */ exports["d"] = cluster;/* unused harmony export dilate *//* unused harmony export erode *//* unused harmony export subtract *//* unused harmony export bitwiseOr *//* unused harmony export countNonZero *//* harmony export */ exports["e"] = topGeneric;/* unused harmony export grayArrayFromImage *//* unused harmony export grayArrayFromContext *//* harmony export */ exports["i"] = grayAndHalfSampleFromCanvasData;/* harmony export */ exports["j"] = computeGray;/* unused harmony export loadImageArray *//* harmony export */ exports["g"] = halfSample;/* harmony export */ exports["a"] = hsv2rgb;/* unused harmony export _computeDivisors *//* harmony export */ exports["b"] = calculatePatchSize;/* unused harmony export _parseCSSDimensionValues *//* harmony export */ exports["h"] = computeImageArea; var vec2 = { - clone: __webpack_require__(10) + clone: __webpack_require__(8) }; var vec3 = { - clone: __webpack_require__(115) + clone: __webpack_require__(109) }; /** @@ -2361,14 +2349,14 @@ return /******/ (function(modules) { // webpackBootstrap /* 27 */ /***/ function(module, exports, __webpack_require__) { - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__subImage__ = __webpack_require__(86); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__subImage__ = __webpack_require__(80); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_cv_utils__ = __webpack_require__(26); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__common_array_helper__ = __webpack_require__(16); var vec2 = { - clone: __webpack_require__(10) + clone: __webpack_require__(8) }; /** @@ -2734,11 +2722,11 @@ return /******/ (function(modules) { // webpackBootstrap /* 29 */ /***/ function(module, exports, __webpack_require__) { - var mapCacheClear = __webpack_require__(184), - mapCacheDelete = __webpack_require__(185), - mapCacheGet = __webpack_require__(186), - mapCacheHas = __webpack_require__(187), - mapCacheSet = __webpack_require__(188); + var mapCacheClear = __webpack_require__(177), + mapCacheDelete = __webpack_require__(178), + mapCacheGet = __webpack_require__(179), + mapCacheHas = __webpack_require__(180), + mapCacheSet = __webpack_require__(181); /** * Creates a map cache object to store key-value pairs. @@ -2770,33 +2758,6 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, /* 30 */ -/***/ function(module, exports, __webpack_require__) { - - /** - * A specialized version of `_.map` for arrays without support for iteratee - * shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns the new mapped array. - */ - function arrayMap(array, iteratee) { - var index = -1, - length = array ? array.length : 0, - result = Array(length); - - while (++index < length) { - result[index] = iteratee(array[index], index, array); - } - return result; - } - - module.e = arrayMap; - - -/***/ }, -/* 31 */ /***/ function(module, exports, __webpack_require__) { /** @@ -2822,51 +2783,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 32 */ -/***/ function(module, exports, __webpack_require__) { - - var apply = __webpack_require__(123); - - /* Built-in method references for those with the same name as other `lodash` methods. */ - var nativeMax = Math.max; - - /** - * The base implementation of `_.rest` which doesn't validate or coerce arguments. - * - * @private - * @param {Function} func The function to apply a rest parameter to. - * @param {number} [start=func.length-1] The start position of the rest parameter. - * @returns {Function} Returns the new function. - */ - function baseRest(func, start) { - start = nativeMax(start === undefined ? (func.length - 1) : start, 0); - return function() { - var args = arguments, - index = -1, - length = nativeMax(args.length - start, 0), - array = Array(length); - - while (++index < length) { - array[index] = args[start + index]; - } - index = -1; - var otherArgs = Array(start + 1); - while (++index < start) { - otherArgs[index] = args[index]; - } - otherArgs[start] = array; - return apply(func, this, otherArgs); - }; - } - - module.e = baseRest; - - -/***/ }, -/* 33 */ +/* 31 */ /***/ function(module, exports, __webpack_require__) { - var Uint8Array = __webpack_require__(50); + var Uint8Array = __webpack_require__(47); /** * Creates a clone of `arrayBuffer`. @@ -2885,10 +2805,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 34 */ +/* 32 */ /***/ function(module, exports, __webpack_require__) { - var assignValue = __webpack_require__(55); + var assignValue = __webpack_require__(52); /** * Copies properties of `source` to `object`. @@ -2922,10 +2842,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 35 */ +/* 33 */ /***/ function(module, exports, __webpack_require__) { - var overArg = __webpack_require__(39); + var overArg = __webpack_require__(37); /** Built-in value references. */ var getPrototype = overArg(Object.getPrototypeOf, Object); @@ -2934,11 +2854,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 36 */ +/* 34 */ /***/ function(module, exports, __webpack_require__) { - var overArg = __webpack_require__(39), - stubArray = __webpack_require__(80); + var overArg = __webpack_require__(37), + stubArray = __webpack_require__(74); /* Built-in method references for those with the same name as other `lodash` methods. */ var nativeGetSymbols = Object.getOwnPropertySymbols; @@ -2956,16 +2876,16 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 37 */ +/* 35 */ /***/ function(module, exports, __webpack_require__) { - var DataView = __webpack_require__(116), + var DataView = __webpack_require__(110), Map = __webpack_require__(28), - Promise = __webpack_require__(118), - Set = __webpack_require__(119), - WeakMap = __webpack_require__(120), - baseGetTag = __webpack_require__(132), - toSource = __webpack_require__(75); + Promise = __webpack_require__(112), + Set = __webpack_require__(113), + WeakMap = __webpack_require__(115), + baseGetTag = __webpack_require__(125), + toSource = __webpack_require__(69); /** `Object#toString` result references. */ var mapTag = '[object Map]', @@ -3031,7 +2951,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 38 */ +/* 36 */ /***/ function(module, exports, __webpack_require__) { /** Used as references for various `Number` constants. */ @@ -3059,7 +2979,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 39 */ +/* 37 */ /***/ function(module, exports, __webpack_require__) { /** @@ -3080,7 +3000,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 40 */ +/* 38 */ /***/ function(module, exports, __webpack_require__) { var isObject = __webpack_require__(2); @@ -3127,7 +3047,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 41 */ +/* 39 */ /***/ function(module, exports, __webpack_require__) { /** Used as references for various `Number` constants. */ @@ -3168,10 +3088,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 42 */ +/* 40 */ /***/ function(module, exports, __webpack_require__) { - var isObjectLike = __webpack_require__(14); + var isObjectLike = __webpack_require__(13); /** `Object#toString` result references. */ var symbolTag = '[object Symbol]'; @@ -3212,12 +3132,12 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 43 */ +/* 41 */ /***/ function(module, exports, __webpack_require__) { - var baseIsTypedArray = __webpack_require__(139), - baseUnary = __webpack_require__(64), - nodeUtil = __webpack_require__(190); + var baseIsTypedArray = __webpack_require__(130), + baseUnary = __webpack_require__(141), + nodeUtil = __webpack_require__(183); /* Node.js helper references. */ var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; @@ -3245,10 +3165,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 44 */ +/* 42 */ /***/ function(module, exports, __webpack_require__) { - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__common_image_debug__ = __webpack_require__(8); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__common_image_debug__ = __webpack_require__(6); function contains(codeResult, list) { @@ -3305,13 +3225,13 @@ return /******/ (function(modules) { // webpackBootstrap }; /***/ }, -/* 45 */ +/* 43 */ /***/ function(module, exports, __webpack_require__) { var config = void 0; if (true) { - config = __webpack_require__(88); + config = __webpack_require__(82); } else if (ENV.node) { config = require('./config.node.js'); } else { @@ -3321,7 +3241,7 @@ return /******/ (function(modules) { // webpackBootstrap /* harmony default export */ exports["a"] = config; /***/ }, -/* 46 */ +/* 44 */ /***/ function(module, exports, __webpack_require__) { /** @@ -3425,10 +3345,10 @@ return /******/ (function(modules) { // webpackBootstrap /* harmony default export */ exports["a"] = Tracer; /***/ }, -/* 47 */ +/* 45 */ /***/ function(module, exports, __webpack_require__) { - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__barcode_reader__ = __webpack_require__(9); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__barcode_reader__ = __webpack_require__(7); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_array_helper__ = __webpack_require__(16); @@ -3643,7 +3563,7 @@ return /******/ (function(modules) { // webpackBootstrap /* harmony default export */ exports["a"] = Code39Reader; /***/ }, -/* 48 */ +/* 46 */ /***/ function(module, exports, __webpack_require__) { module.e = dot @@ -3660,40 +3580,7 @@ return /******/ (function(modules) { // webpackBootstrap } /***/ }, -/* 49 */ -/***/ function(module, exports, __webpack_require__) { - - var MapCache = __webpack_require__(29), - setCacheAdd = __webpack_require__(191), - setCacheHas = __webpack_require__(192); - - /** - * - * Creates an array cache object to store unique values. - * - * @private - * @constructor - * @param {Array} [values] The values to cache. - */ - function SetCache(values) { - var index = -1, - length = values ? values.length : 0; - - this.__data__ = new MapCache; - while (++index < length) { - this.add(values[index]); - } - } - - // Add methods to `SetCache`. - SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; - SetCache.prototype.has = setCacheHas; - - module.e = SetCache; - - -/***/ }, -/* 50 */ +/* 47 */ /***/ function(module, exports, __webpack_require__) { var root = __webpack_require__(3); @@ -3705,7 +3592,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 51 */ +/* 48 */ /***/ function(module, exports, __webpack_require__) { /** @@ -3733,13 +3620,13 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 52 */ +/* 49 */ /***/ function(module, exports, __webpack_require__) { - var baseTimes = __webpack_require__(147), - isArguments = __webpack_require__(12), + var baseTimes = __webpack_require__(139), + isArguments = __webpack_require__(11), isArray = __webpack_require__(0), - isIndex = __webpack_require__(38); + isIndex = __webpack_require__(36); /** Used for built-in method references. */ var objectProto = Object.prototype; @@ -3778,7 +3665,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 53 */ +/* 50 */ /***/ function(module, exports, __webpack_require__) { /** @@ -3810,10 +3697,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 54 */ +/* 51 */ /***/ function(module, exports, __webpack_require__) { - var eq = __webpack_require__(11); + var eq = __webpack_require__(10); /** * This function is like `assignValue` except that it doesn't assign @@ -3835,10 +3722,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 55 */ +/* 52 */ /***/ function(module, exports, __webpack_require__) { - var eq = __webpack_require__(11); + var eq = __webpack_require__(10); /** Used for built-in method references. */ var objectProto = Object.prototype; @@ -3868,56 +3755,12 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 56 */ -/***/ function(module, exports, __webpack_require__) { - - var arrayPush = __webpack_require__(31), - isFlattenable = __webpack_require__(175); - - /** - * The base implementation of `_.flatten` with support for restricting flattening. - * - * @private - * @param {Array} array The array to flatten. - * @param {number} depth The maximum recursion depth. - * @param {boolean} [predicate=isFlattenable] The function invoked per iteration. - * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks. - * @param {Array} [result=[]] The initial result value. - * @returns {Array} Returns the new flattened array. - */ - function baseFlatten(array, depth, predicate, isStrict, result) { - var index = -1, - length = array.length; - - predicate || (predicate = isFlattenable); - result || (result = []); - - while (++index < length) { - var value = array[index]; - if (depth > 0 && predicate(value)) { - if (depth > 1) { - // Recursively flatten arrays (susceptible to call stack limits). - baseFlatten(value, depth - 1, predicate, isStrict, result); - } else { - arrayPush(result, value); - } - } else if (!isStrict) { - result[result.length] = value; - } - } - return result; - } - - module.e = baseFlatten; - - -/***/ }, -/* 57 */ +/* 53 */ /***/ function(module, exports, __webpack_require__) { - var castPath = __webpack_require__(65), + var castPath = __webpack_require__(60), isKey = __webpack_require__(23), - toKey = __webpack_require__(6); + toKey = __webpack_require__(9); /** * The base implementation of `_.get` without support for default values. @@ -3943,10 +3786,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 58 */ +/* 54 */ /***/ function(module, exports, __webpack_require__) { - var arrayPush = __webpack_require__(31), + var arrayPush = __webpack_require__(30), isArray = __webpack_require__(0); /** @@ -3969,12 +3812,12 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 59 */ +/* 55 */ /***/ function(module, exports, __webpack_require__) { - var baseIsEqualDeep = __webpack_require__(135), + var baseIsEqualDeep = __webpack_require__(127), isObject = __webpack_require__(2), - isObjectLike = __webpack_require__(14); + isObjectLike = __webpack_require__(13); /** * The base implementation of `_.isEqual` which supports partial comparisons @@ -4005,14 +3848,14 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 60 */ +/* 56 */ /***/ function(module, exports, __webpack_require__) { - var baseMatches = __webpack_require__(141), - baseMatchesProperty = __webpack_require__(142), - identity = __webpack_require__(201), + var baseMatches = __webpack_require__(132), + baseMatchesProperty = __webpack_require__(133), + identity = __webpack_require__(194), isArray = __webpack_require__(0), - property = __webpack_require__(209); + property = __webpack_require__(201); /** * The base implementation of `_.iteratee`. @@ -4042,12 +3885,12 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 61 */ +/* 57 */ /***/ function(module, exports, __webpack_require__) { var isObject = __webpack_require__(2), isPrototype = __webpack_require__(24), - nativeKeysIn = __webpack_require__(189); + nativeKeysIn = __webpack_require__(182); /** Used for built-in method references. */ var objectProto = Object.prototype; @@ -4081,32 +3924,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 62 */ -/***/ function(module, exports, __webpack_require__) { - - var basePickBy = __webpack_require__(63); - - /** - * The base implementation of `_.pick` without support for individual - * property identifiers. - * - * @private - * @param {Object} object The source object. - * @param {string[]} props The property identifiers to pick. - * @returns {Object} Returns the new object. - */ - function basePick(object, props) { - object = Object(object); - return basePickBy(object, props, function(value, key) { - return key in object; - }); - } - - module.e = basePick; - - -/***/ }, -/* 63 */ +/* 58 */ /***/ function(module, exports, __webpack_require__) { /** @@ -4138,31 +3956,52 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 64 */ +/* 59 */ /***/ function(module, exports, __webpack_require__) { + var apply = __webpack_require__(118); + + /* Built-in method references for those with the same name as other `lodash` methods. */ + var nativeMax = Math.max; + /** - * The base implementation of `_.unary` without support for storing metadata. + * The base implementation of `_.rest` which doesn't validate or coerce arguments. * * @private - * @param {Function} func The function to cap arguments for. - * @returns {Function} Returns the new capped function. + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @returns {Function} Returns the new function. */ - function baseUnary(func) { - return function(value) { - return func(value); + function baseRest(func, start) { + start = nativeMax(start === undefined ? (func.length - 1) : start, 0); + return function() { + var args = arguments, + index = -1, + length = nativeMax(args.length - start, 0), + array = Array(length); + + while (++index < length) { + array[index] = args[start + index]; + } + index = -1; + var otherArgs = Array(start + 1); + while (++index < start) { + otherArgs[index] = args[index]; + } + otherArgs[start] = array; + return apply(func, this, otherArgs); }; } - module.e = baseUnary; + module.e = baseRest; /***/ }, -/* 65 */ +/* 60 */ /***/ function(module, exports, __webpack_require__) { var isArray = __webpack_require__(0), - stringToPath = __webpack_require__(198); + stringToPath = __webpack_require__(191); /** * Casts `value` to a path array if it's not one. @@ -4179,7 +4018,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 66 */ +/* 61 */ /***/ function(module, exports, __webpack_require__) { /** @@ -4205,11 +4044,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 67 */ +/* 62 */ /***/ function(module, exports, __webpack_require__) { - var SetCache = __webpack_require__(49), - arraySome = __webpack_require__(126); + var SetCache = __webpack_require__(114), + arraySome = __webpack_require__(120); /** Used to compose bitmasks for comparison styles. */ var UNORDERED_COMPARE_FLAG = 1, @@ -4294,7 +4133,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 68 */ +/* 63 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(global) {/** Detect free variable `global` from Node.js. */ @@ -4305,30 +4144,7 @@ return /******/ (function(modules) { // webpackBootstrap /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()))) /***/ }, -/* 69 */ -/***/ function(module, exports, __webpack_require__) { - - var baseGetAllKeys = __webpack_require__(58), - getSymbolsIn = __webpack_require__(164), - keysIn = __webpack_require__(78); - - /** - * Creates an array of own and inherited enumerable property names and - * symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names and symbols. - */ - function getAllKeysIn(object) { - return baseGetAllKeys(object, keysIn, getSymbolsIn); - } - - module.e = getAllKeysIn; - - -/***/ }, -/* 70 */ +/* 64 */ /***/ function(module, exports, __webpack_require__) { var isObject = __webpack_require__(2); @@ -4349,7 +4165,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 71 */ +/* 65 */ /***/ function(module, exports, __webpack_require__) { /** @@ -4373,7 +4189,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 72 */ +/* 66 */ /***/ function(module, exports, __webpack_require__) { /** @@ -4399,10 +4215,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 73 */ +/* 67 */ /***/ function(module, exports, __webpack_require__) { - var overArg = __webpack_require__(39); + var overArg = __webpack_require__(37); /* Built-in method references for those with the same name as other `lodash` methods. */ var nativeKeys = overArg(Object.keys, Object); @@ -4411,7 +4227,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 74 */ +/* 68 */ /***/ function(module, exports, __webpack_require__) { /** @@ -4435,7 +4251,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 75 */ +/* 69 */ /***/ function(module, exports, __webpack_require__) { /** Used for built-in method references. */ @@ -4467,11 +4283,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 76 */ +/* 70 */ /***/ function(module, exports, __webpack_require__) { - var isArrayLike = __webpack_require__(13), - isObjectLike = __webpack_require__(14); + var isArrayLike = __webpack_require__(12), + isObjectLike = __webpack_require__(13); /** * This method is like `_.isArrayLike` except that it also checks if `value` @@ -4506,11 +4322,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 77 */ +/* 71 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(3), - stubFalse = __webpack_require__(210); + stubFalse = __webpack_require__(202); /** Detect free variable `exports`. */ var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; @@ -4548,15 +4364,15 @@ return /******/ (function(modules) { // webpackBootstrap module.e = isBuffer; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(81)(module))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(75)(module))) /***/ }, -/* 78 */ +/* 72 */ /***/ function(module, exports, __webpack_require__) { - var arrayLikeKeys = __webpack_require__(52), - baseKeysIn = __webpack_require__(61), - isArrayLike = __webpack_require__(13); + var arrayLikeKeys = __webpack_require__(49), + baseKeysIn = __webpack_require__(57), + isArrayLike = __webpack_require__(12); /** * Creates an array of the own and inherited enumerable property names of `object`. @@ -4589,14 +4405,14 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 79 */ +/* 73 */ /***/ function(module, exports, __webpack_require__) { - var arrayMap = __webpack_require__(30), - baseFlatten = __webpack_require__(56), - basePick = __webpack_require__(62), - baseRest = __webpack_require__(32), - toKey = __webpack_require__(6); + var arrayMap = __webpack_require__(119), + baseFlatten = __webpack_require__(124), + basePick = __webpack_require__(136), + baseRest = __webpack_require__(59), + toKey = __webpack_require__(9); /** * Creates an object composed of the picked `object` properties. @@ -4623,7 +4439,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 80 */ +/* 74 */ /***/ function(module, exports, __webpack_require__) { /** @@ -4652,7 +4468,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 81 */ +/* 75 */ /***/ function(module, exports, __webpack_require__) { module.e = function(module) { @@ -4684,24 +4500,24 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 82 */ +/* 76 */ /***/ function(module, exports, __webpack_require__) { - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_merge__ = __webpack_require__(7); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_merge__ = __webpack_require__(15); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_merge___default = __WEBPACK_IMPORTED_MODULE_0_lodash_merge__ && __WEBPACK_IMPORTED_MODULE_0_lodash_merge__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_0_lodash_merge__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_0_lodash_merge__; } /* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_0_lodash_merge___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_0_lodash_merge___default }); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_typedefs__ = __webpack_require__(87); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_typedefs__ = __webpack_require__(81); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_typedefs___default = __WEBPACK_IMPORTED_MODULE_1__common_typedefs__ && __WEBPACK_IMPORTED_MODULE_1__common_typedefs__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_1__common_typedefs__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_1__common_typedefs__; } /* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_1__common_typedefs___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_1__common_typedefs___default }); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_webrtc_adapter__ = __webpack_require__(214); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_webrtc_adapter__ = __webpack_require__(206); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_webrtc_adapter___default = __WEBPACK_IMPORTED_MODULE_2_webrtc_adapter__ && __WEBPACK_IMPORTED_MODULE_2_webrtc_adapter__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_2_webrtc_adapter__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_2_webrtc_adapter__; } /* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_2_webrtc_adapter___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_2_webrtc_adapter___default }); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__scanner__ = __webpack_require__(109); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__scanner__ = __webpack_require__(103); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__common_image_wrapper__ = __webpack_require__(27); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__common_image_debug__ = __webpack_require__(8); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__analytics_result_collector__ = __webpack_require__(44); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__config_config__ = __webpack_require__(45); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__input_config_factory__ = __webpack_require__(92); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__common_image_debug__ = __webpack_require__(6); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__analytics_result_collector__ = __webpack_require__(42); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__config_config__ = __webpack_require__(43); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__input_config_factory__ = __webpack_require__(86); var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; @@ -4865,12 +4681,12 @@ return /******/ (function(modules) { // webpackBootstrap /* harmony default export */ exports["default"] = createApi(); /***/ }, -/* 83 */ +/* 77 */ /***/ function(module, exports, __webpack_require__) { var vec2 = { - clone: __webpack_require__(10), - dot: __webpack_require__(48) + clone: __webpack_require__(8), + dot: __webpack_require__(46) }; /** @@ -4940,7 +4756,7 @@ return /******/ (function(modules) { // webpackBootstrap }; /***/ }, -/* 84 */ +/* 78 */ /***/ function(module, exports, __webpack_require__) { var _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; }; @@ -4963,7 +4779,7 @@ return /******/ (function(modules) { // webpackBootstrap /* harmony default export */ exports["a"] = DOMHelper; /***/ }, -/* 85 */ +/* 79 */ /***/ function(module, exports, __webpack_require__) { /* harmony export */ exports["a"] = createEventedElement;function createEventedElement() { @@ -5062,7 +4878,7 @@ return /******/ (function(modules) { // webpackBootstrap }; /***/ }, -/* 86 */ +/* 80 */ /***/ function(module, exports, __webpack_require__) { /** @@ -5151,7 +4967,7 @@ return /******/ (function(modules) { // webpackBootstrap /* harmony default export */ exports["a"] = SubImage; /***/ }, -/* 87 */ +/* 81 */ /***/ function(module, exports) { /* @@ -5177,7 +4993,7 @@ return /******/ (function(modules) { // webpackBootstrap }; /***/ }, -/* 88 */ +/* 82 */ /***/ function(module, exports, __webpack_require__) { module.e = { @@ -5229,22 +5045,22 @@ return /******/ (function(modules) { // webpackBootstrap }; /***/ }, -/* 89 */ +/* 83 */ /***/ function(module, exports, __webpack_require__) { - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__bresenham__ = __webpack_require__(90); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_image_debug__ = __webpack_require__(8); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__reader_code_128_reader__ = __webpack_require__(101); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__bresenham__ = __webpack_require__(84); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_image_debug__ = __webpack_require__(6); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__reader_code_128_reader__ = __webpack_require__(95); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__reader_ean_reader__ = __webpack_require__(4); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__reader_code_39_reader__ = __webpack_require__(47); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__reader_code_39_vin_reader__ = __webpack_require__(102); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__reader_codabar_reader__ = __webpack_require__(100); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__reader_upc_reader__ = __webpack_require__(108); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__reader_ean_8_reader__ = __webpack_require__(105); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__reader_ean_2_reader__ = __webpack_require__(103); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__reader_ean_5_reader__ = __webpack_require__(104); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__reader_upc_e_reader__ = __webpack_require__(107); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__reader_i2of5_reader__ = __webpack_require__(106); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__reader_code_39_reader__ = __webpack_require__(45); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__reader_code_39_vin_reader__ = __webpack_require__(96); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__reader_codabar_reader__ = __webpack_require__(94); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__reader_upc_reader__ = __webpack_require__(102); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__reader_ean_8_reader__ = __webpack_require__(99); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__reader_ean_2_reader__ = __webpack_require__(97); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__reader_ean_5_reader__ = __webpack_require__(98); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__reader_upc_e_reader__ = __webpack_require__(101); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__reader_i2of5_reader__ = __webpack_require__(100); var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; @@ -5569,7 +5385,7 @@ return /******/ (function(modules) { // webpackBootstrap }; /***/ }, -/* 90 */ +/* 84 */ /***/ function(module, exports, __webpack_require__) { var Bresenham = {}; @@ -5771,24 +5587,15 @@ return /******/ (function(modules) { // webpackBootstrap /* harmony default export */ exports["a"] = Bresenham; /***/ }, -/* 91 */ +/* 85 */ /***/ function(module, exports, __webpack_require__) { - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_omit__ = __webpack_require__(206); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_omit___default = __WEBPACK_IMPORTED_MODULE_0_lodash_omit__ && __WEBPACK_IMPORTED_MODULE_0_lodash_omit__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_0_lodash_omit__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_0_lodash_omit__; } - /* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_0_lodash_omit___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_0_lodash_omit___default }); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_pick__ = __webpack_require__(79); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_pick___default = __WEBPACK_IMPORTED_MODULE_1_lodash_pick__ && __WEBPACK_IMPORTED_MODULE_1_lodash_pick__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_1_lodash_pick__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_1_lodash_pick__; } - /* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_1_lodash_pick___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_1_lodash_pick___default }); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_lodash_merge__ = __webpack_require__(7); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_lodash_merge___default = __WEBPACK_IMPORTED_MODULE_2_lodash_merge__ && __WEBPACK_IMPORTED_MODULE_2_lodash_merge__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_2_lodash_merge__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_2_lodash_merge__; } - /* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_2_lodash_merge___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_2_lodash_merge___default }); - + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_pick__ = __webpack_require__(73); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_pick___default = __WEBPACK_IMPORTED_MODULE_0_lodash_pick__ && __WEBPACK_IMPORTED_MODULE_0_lodash_pick__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_0_lodash_pick__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_0_lodash_pick__; } + /* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_0_lodash_pick___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_0_lodash_pick___default }); - var _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; }; - var streamRef; function waitForVideo(video) { @@ -5821,21 +5628,24 @@ return /******/ (function(modules) { // webpackBootstrap * @param {Object} video */ function initCamera(video, constraints) { - return navigator.mediaDevices.getUserMedia(constraints).then(function (stream) { - return new Promise(function (resolve) { - streamRef = stream; - video.setAttribute("autoplay", 'true'); - video.srcObject = stream; - video.addEventListener('loadedmetadata', function () { - video.play(); - resolve(); + if (navigator.mediaDevices && typeof navigator.mediaDevices.getUserMedia === 'function') { + return navigator.mediaDevices.getUserMedia(constraints).then(function (stream) { + return new Promise(function (resolve) { + streamRef = stream; + video.setAttribute("autoplay", 'true'); + video.srcObject = stream; + video.addEventListener('loadedmetadata', function () { + video.play(); + resolve(); + }); }); - }); - }).then(waitForVideo.bind(null, video)); + }).then(waitForVideo.bind(null, video)); + } + return Promise.reject(new Error('getUserMedia is not defined')); } function deprecatedConstraints(videoConstraints) { - var normalized = /* harmony import */__WEBPACK_IMPORTED_MODULE_1_lodash_pick___default.a.bind()(videoConstraints, ["width", "height", "facingMode", "aspectRatio", "deviceId"]); + var normalized = /* harmony import */__WEBPACK_IMPORTED_MODULE_0_lodash_pick___default.a.bind()(videoConstraints, ["width", "height", "facingMode", "aspectRatio", "deviceId"]); if (typeof videoConstraints.minAspectRatio !== 'undefined' && videoConstraints.minAspectRatio > 0) { normalized.aspectRatio = videoConstraints.minAspectRatio; @@ -5848,41 +5658,16 @@ return /******/ (function(modules) { // webpackBootstrap return normalized; } - function applyCameraFacing(facing, constraints) { - if (typeof constraints.video.deviceId === 'string' && constraints.video.deviceId.length > 0) { - return Promise.resolve(_extends({}, constraints, { - video: _extends({}, /* harmony import */__WEBPACK_IMPORTED_MODULE_0_lodash_omit___default.a.bind()(constraints.video, "facingMode")) - })); - } else if (!facing) { - return Promise.resolve(constraints); - } - if (typeof MediaStreamTrack !== 'undefined' && typeof MediaStreamTrack.getSources !== 'undefined') { - return new Promise(function (resolve) { - MediaStreamTrack.getSources(function (sourceInfos) { - var videoSource = sourceInfos.filter(function (sourceInfo) { - return sourceInfo.kind === "video" && sourceInfo.facing === facing; - })[0]; - if (videoSource) { - return resolve(/* harmony import */__WEBPACK_IMPORTED_MODULE_2_lodash_merge___default.a.bind()({}, constraints, { video: { deviceId: videoSource.id } })); - } - return resolve(constraints); - }); - }); - } - return Promise.resolve(/* harmony import */__WEBPACK_IMPORTED_MODULE_2_lodash_merge___default.a.bind()({}, constraints, { video: { facingMode: facing } })); - } - function pickConstraints(videoConstraints) { - var constraints = { + return { audio: false, video: deprecatedConstraints(videoConstraints) }; - return applyCameraFacing(constraints.video.facingMode, constraints); } /* harmony default export */ exports["a"] = { request: function request(video, videoConstraints) { - return pickConstraints(videoConstraints).then(initCamera.bind(null, video)); + return initCamera(video, pickConstraints(videoConstraints)); }, release: function release() { var tracks = streamRef && streamRef.getVideoTracks(); @@ -5894,22 +5679,22 @@ return /******/ (function(modules) { // webpackBootstrap }; /***/ }, -/* 92 */ +/* 86 */ /***/ function(module, exports, __webpack_require__) { - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_isEmpty__ = __webpack_require__(202); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_isEmpty__ = __webpack_require__(195); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_isEmpty___default = __WEBPACK_IMPORTED_MODULE_0_lodash_isEmpty__ && __WEBPACK_IMPORTED_MODULE_0_lodash_isEmpty__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_0_lodash_isEmpty__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_0_lodash_isEmpty__; } /* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_0_lodash_isEmpty___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_0_lodash_isEmpty___default }); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_omitBy__ = __webpack_require__(207); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_omitBy__ = __webpack_require__(199); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_omitBy___default = __WEBPACK_IMPORTED_MODULE_1_lodash_omitBy__ && __WEBPACK_IMPORTED_MODULE_1_lodash_omitBy__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_1_lodash_omitBy__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_1_lodash_omitBy__; } /* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_1_lodash_omitBy___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_1_lodash_omitBy___default }); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_lodash_pick__ = __webpack_require__(79); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_lodash_pick__ = __webpack_require__(73); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_lodash_pick___default = __WEBPACK_IMPORTED_MODULE_2_lodash_pick__ && __WEBPACK_IMPORTED_MODULE_2_lodash_pick__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_2_lodash_pick__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_2_lodash_pick__; } /* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_2_lodash_pick___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_2_lodash_pick___default }); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_lodash_merge__ = __webpack_require__(7); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_lodash_merge__ = __webpack_require__(15); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_lodash_merge___default = __WEBPACK_IMPORTED_MODULE_3_lodash_merge__ && __WEBPACK_IMPORTED_MODULE_3_lodash_merge__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_3_lodash_merge__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_3_lodash_merge__; } /* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_3_lodash_merge___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_3_lodash_merge___default }); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__common_dom_helper__ = __webpack_require__(84); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__common_dom_helper__ = __webpack_require__(78); /* harmony export */ exports["a"] = createConfigFromSource; @@ -6077,7 +5862,7 @@ return /******/ (function(modules) { // webpackBootstrap } /***/ }, -/* 93 */ +/* 87 */ /***/ function(module, exports, __webpack_require__) { /* harmony export */ exports["a"] = findTagsInObjectURL;/* unused harmony export base64ToArrayBuffer *//* unused harmony export findTagsInBuffer */// Scraped from https://github.com/exif-js/exif-js @@ -6236,7 +6021,7 @@ return /******/ (function(modules) { // webpackBootstrap } /***/ }, -/* 94 */ +/* 88 */ /***/ function(module, exports, __webpack_require__) { /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__common_cv_utils__ = __webpack_require__(26); @@ -6360,10 +6145,10 @@ return /******/ (function(modules) { // webpackBootstrap /* harmony default export */ exports["a"] = FrameGrabber; /***/ }, -/* 95 */ +/* 89 */ /***/ function(module, exports, __webpack_require__) { - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__exif_helper__ = __webpack_require__(93); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__exif_helper__ = __webpack_require__(87); var ImageLoader = {}; @@ -6436,10 +6221,10 @@ return /******/ (function(modules) { // webpackBootstrap /* harmony default export */ exports["a"] = ImageLoader; /***/ }, -/* 96 */ +/* 90 */ /***/ function(module, exports, __webpack_require__) { - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__image_loader__ = __webpack_require__(95); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__image_loader__ = __webpack_require__(89); var InputStream = {}; @@ -6771,16 +6556,16 @@ return /******/ (function(modules) { // webpackBootstrap /* harmony default export */ exports["a"] = InputStream; /***/ }, -/* 97 */ +/* 91 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__common_image_wrapper__ = __webpack_require__(27); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_cv_utils__ = __webpack_require__(26); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__common_array_helper__ = __webpack_require__(16); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__common_image_debug__ = __webpack_require__(8); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__rasterizer__ = __webpack_require__(98); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__tracer__ = __webpack_require__(46); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__skeletonizer__ = __webpack_require__(99); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__common_image_debug__ = __webpack_require__(6); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__rasterizer__ = __webpack_require__(92); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__tracer__ = __webpack_require__(44); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__skeletonizer__ = __webpack_require__(93); /* harmony export */ exports["b"] = createLocator;/* harmony export */ exports["a"] = checkImageConstraints; @@ -6789,15 +6574,15 @@ return /******/ (function(modules) { // webpackBootstrap var vec2 = { - clone: __webpack_require__(10), - dot: __webpack_require__(48), - scale: __webpack_require__(113), - transformMat2: __webpack_require__(114) + clone: __webpack_require__(8), + dot: __webpack_require__(46), + scale: __webpack_require__(107), + transformMat2: __webpack_require__(108) }; var mat2 = { - copy: __webpack_require__(110), - create: __webpack_require__(111), - invert: __webpack_require__(112) + copy: __webpack_require__(104), + create: __webpack_require__(105), + invert: __webpack_require__(106) }; function createLocator(inputImageWrapper, config) { @@ -7360,10 +7145,10 @@ return /******/ (function(modules) { // webpackBootstrap /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()))) /***/ }, -/* 98 */ +/* 92 */ /***/ function(module, exports, __webpack_require__) { - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__tracer__ = __webpack_require__(46); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__tracer__ = __webpack_require__(44); /** @@ -7559,7 +7344,7 @@ return /******/ (function(modules) { // webpackBootstrap /* harmony default export */ exports["a"] = Rasterizer; /***/ }, -/* 99 */ +/* 93 */ /***/ function(module, exports, __webpack_require__) { /* @preserve ASM BEGIN */ @@ -7761,10 +7546,10 @@ return /******/ (function(modules) { // webpackBootstrap /* eslint-enable eqeqeq*/ /***/ }, -/* 100 */ +/* 94 */ /***/ function(module, exports, __webpack_require__) { - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__barcode_reader__ = __webpack_require__(9); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__barcode_reader__ = __webpack_require__(7); function CodabarReader() { @@ -8051,10 +7836,10 @@ return /******/ (function(modules) { // webpackBootstrap /* harmony default export */ exports["a"] = CodabarReader; /***/ }, -/* 101 */ +/* 95 */ /***/ function(module, exports, __webpack_require__) { - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__barcode_reader__ = __webpack_require__(9); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__barcode_reader__ = __webpack_require__(7); function Code128Reader() { @@ -8402,10 +8187,10 @@ return /******/ (function(modules) { // webpackBootstrap /* harmony default export */ exports["a"] = Code128Reader; /***/ }, -/* 102 */ +/* 96 */ /***/ function(module, exports, __webpack_require__) { - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__code_39_reader__ = __webpack_require__(47); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__code_39_reader__ = __webpack_require__(45); function Code39VINReader() { @@ -8459,7 +8244,7 @@ return /******/ (function(modules) { // webpackBootstrap /* harmony default export */ exports["a"] = Code39VINReader; /***/ }, -/* 103 */ +/* 97 */ /***/ function(module, exports, __webpack_require__) { /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ean_reader__ = __webpack_require__(4); @@ -8516,7 +8301,7 @@ return /******/ (function(modules) { // webpackBootstrap /* harmony default export */ exports["a"] = EAN2Reader; /***/ }, -/* 104 */ +/* 98 */ /***/ function(module, exports, __webpack_require__) { /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ean_reader__ = __webpack_require__(4); @@ -8605,7 +8390,7 @@ return /******/ (function(modules) { // webpackBootstrap /* harmony default export */ exports["a"] = EAN5Reader; /***/ }, -/* 105 */ +/* 99 */ /***/ function(module, exports, __webpack_require__) { /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ean_reader__ = __webpack_require__(4); @@ -8656,13 +8441,13 @@ return /******/ (function(modules) { // webpackBootstrap /* harmony default export */ exports["a"] = EAN8Reader; /***/ }, -/* 106 */ +/* 100 */ /***/ function(module, exports, __webpack_require__) { - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_merge__ = __webpack_require__(7); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_merge__ = __webpack_require__(15); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_merge___default = __WEBPACK_IMPORTED_MODULE_0_lodash_merge__ && __WEBPACK_IMPORTED_MODULE_0_lodash_merge__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_0_lodash_merge__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_0_lodash_merge__; } /* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_0_lodash_merge___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_0_lodash_merge___default }); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__barcode_reader__ = __webpack_require__(9); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__barcode_reader__ = __webpack_require__(7); @@ -8978,7 +8763,7 @@ return /******/ (function(modules) { // webpackBootstrap /* harmony default export */ exports["a"] = I2of5Reader; /***/ }, -/* 107 */ +/* 101 */ /***/ function(module, exports, __webpack_require__) { /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ean_reader__ = __webpack_require__(4); @@ -9078,7 +8863,7 @@ return /******/ (function(modules) { // webpackBootstrap /* harmony default export */ exports["a"] = UPCEReader; /***/ }, -/* 108 */ +/* 102 */ /***/ function(module, exports, __webpack_require__) { /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ean_reader__ = __webpack_require__(4); @@ -9108,22 +8893,22 @@ return /******/ (function(modules) { // webpackBootstrap /* harmony default export */ exports["a"] = UPCReader; /***/ }, -/* 109 */ +/* 103 */ /***/ function(module, exports, __webpack_require__) { - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_merge__ = __webpack_require__(7); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_merge__ = __webpack_require__(15); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_merge___default = __WEBPACK_IMPORTED_MODULE_0_lodash_merge__ && __WEBPACK_IMPORTED_MODULE_0_lodash_merge__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_0_lodash_merge__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_0_lodash_merge__; } /* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_0_lodash_merge___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_0_lodash_merge___default }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_image_wrapper__ = __webpack_require__(27); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__locator_barcode_locator__ = __webpack_require__(97); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__decoder_barcode_decoder__ = __webpack_require__(89); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__common_events__ = __webpack_require__(85); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__input_camera_access__ = __webpack_require__(91); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__common_image_debug__ = __webpack_require__(8); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__analytics_result_collector__ = __webpack_require__(44); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__config_config__ = __webpack_require__(45); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_input_stream__ = __webpack_require__(96); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_frame_grabber__ = __webpack_require__(94); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__locator_barcode_locator__ = __webpack_require__(91); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__decoder_barcode_decoder__ = __webpack_require__(83); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__common_events__ = __webpack_require__(79); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__input_camera_access__ = __webpack_require__(85); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__common_image_debug__ = __webpack_require__(6); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__analytics_result_collector__ = __webpack_require__(42); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__config_config__ = __webpack_require__(43); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_input_stream__ = __webpack_require__(90); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_frame_grabber__ = __webpack_require__(88); var _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; }; @@ -9140,7 +8925,7 @@ return /******/ (function(modules) { // webpackBootstrap var vec2 = { - clone: __webpack_require__(10) + clone: __webpack_require__(8) }; function createScanner() { @@ -9629,7 +9414,7 @@ return /******/ (function(modules) { // webpackBootstrap /* harmony default export */ exports["a"] = createScanner; /***/ }, -/* 110 */ +/* 104 */ /***/ function(module, exports, __webpack_require__) { module.e = copy @@ -9652,7 +9437,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 111 */ +/* 105 */ /***/ function(module, exports, __webpack_require__) { module.e = create @@ -9674,7 +9459,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 112 */ +/* 106 */ /***/ function(module, exports, __webpack_require__) { module.e = invert @@ -9707,7 +9492,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 113 */ +/* 107 */ /***/ function(module, exports, __webpack_require__) { module.e = scale @@ -9727,7 +9512,7 @@ return /******/ (function(modules) { // webpackBootstrap } /***/ }, -/* 114 */ +/* 108 */ /***/ function(module, exports, __webpack_require__) { module.e = transformMat2 @@ -9749,7 +9534,7 @@ return /******/ (function(modules) { // webpackBootstrap } /***/ }, -/* 115 */ +/* 109 */ /***/ function(module, exports, __webpack_require__) { module.e = clone; @@ -9769,7 +9554,7 @@ return /******/ (function(modules) { // webpackBootstrap } /***/ }, -/* 116 */ +/* 110 */ /***/ function(module, exports, __webpack_require__) { var getNative = __webpack_require__(5), @@ -9782,14 +9567,14 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 117 */ +/* 111 */ /***/ function(module, exports, __webpack_require__) { - var hashClear = __webpack_require__(167), - hashDelete = __webpack_require__(168), - hashGet = __webpack_require__(169), - hashHas = __webpack_require__(170), - hashSet = __webpack_require__(171); + var hashClear = __webpack_require__(160), + hashDelete = __webpack_require__(161), + hashGet = __webpack_require__(162), + hashHas = __webpack_require__(163), + hashSet = __webpack_require__(164); /** * Creates a hash object. @@ -9820,7 +9605,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 118 */ +/* 112 */ /***/ function(module, exports, __webpack_require__) { var getNative = __webpack_require__(5), @@ -9833,7 +9618,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 119 */ +/* 113 */ /***/ function(module, exports, __webpack_require__) { var getNative = __webpack_require__(5), @@ -9846,7 +9631,40 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 120 */ +/* 114 */ +/***/ function(module, exports, __webpack_require__) { + + var MapCache = __webpack_require__(29), + setCacheAdd = __webpack_require__(184), + setCacheHas = __webpack_require__(185); + + /** + * + * Creates an array cache object to store unique values. + * + * @private + * @constructor + * @param {Array} [values] The values to cache. + */ + function SetCache(values) { + var index = -1, + length = values ? values.length : 0; + + this.__data__ = new MapCache; + while (++index < length) { + this.add(values[index]); + } + } + + // Add methods to `SetCache`. + SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; + SetCache.prototype.has = setCacheHas; + + module.e = SetCache; + + +/***/ }, +/* 115 */ /***/ function(module, exports, __webpack_require__) { var getNative = __webpack_require__(5), @@ -9859,7 +9677,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 121 */ +/* 116 */ /***/ function(module, exports, __webpack_require__) { /** @@ -9880,7 +9698,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 122 */ +/* 117 */ /***/ function(module, exports, __webpack_require__) { /** @@ -9901,7 +9719,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 123 */ +/* 118 */ /***/ function(module, exports, __webpack_require__) { /** @@ -9928,58 +9746,34 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 124 */ -/***/ function(module, exports, __webpack_require__) { - - var baseIndexOf = __webpack_require__(134); - - /** - * A specialized version of `_.includes` for arrays without support for - * specifying an index to search from. - * - * @private - * @param {Array} [array] The array to inspect. - * @param {*} target The value to search for. - * @returns {boolean} Returns `true` if `target` is found, else `false`. - */ - function arrayIncludes(array, value) { - var length = array ? array.length : 0; - return !!length && baseIndexOf(array, value, 0) > -1; - } - - module.e = arrayIncludes; - - -/***/ }, -/* 125 */ +/* 119 */ /***/ function(module, exports, __webpack_require__) { /** - * This function is like `arrayIncludes` except that it accepts a comparator. + * A specialized version of `_.map` for arrays without support for iteratee + * shorthands. * * @private - * @param {Array} [array] The array to inspect. - * @param {*} target The value to search for. - * @param {Function} comparator The comparator invoked per element. - * @returns {boolean} Returns `true` if `target` is found, else `false`. + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the new mapped array. */ - function arrayIncludesWith(array, value, comparator) { + function arrayMap(array, iteratee) { var index = -1, - length = array ? array.length : 0; + length = array ? array.length : 0, + result = Array(length); while (++index < length) { - if (comparator(value, array[index])) { - return true; - } + result[index] = iteratee(array[index], index, array); } - return false; + return result; } - module.e = arrayIncludesWith; + module.e = arrayMap; /***/ }, -/* 126 */ +/* 120 */ /***/ function(module, exports, __webpack_require__) { /** @@ -10008,11 +9802,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 127 */ +/* 121 */ /***/ function(module, exports, __webpack_require__) { - var copyObject = __webpack_require__(34), - keys = __webpack_require__(15); + var copyObject = __webpack_require__(32), + keys = __webpack_require__(14); /** * The base implementation of `_.assign` without support for multiple sources @@ -10031,26 +9825,26 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 128 */ +/* 122 */ /***/ function(module, exports, __webpack_require__) { var Stack = __webpack_require__(18), - arrayEach = __webpack_require__(51), - assignValue = __webpack_require__(55), - baseAssign = __webpack_require__(127), - cloneBuffer = __webpack_require__(150), - copyArray = __webpack_require__(66), - copySymbols = __webpack_require__(157), - getAllKeys = __webpack_require__(162), - getTag = __webpack_require__(37), - initCloneArray = __webpack_require__(172), - initCloneByTag = __webpack_require__(173), - initCloneObject = __webpack_require__(174), + arrayEach = __webpack_require__(48), + assignValue = __webpack_require__(52), + baseAssign = __webpack_require__(121), + cloneBuffer = __webpack_require__(142), + copyArray = __webpack_require__(61), + copySymbols = __webpack_require__(149), + getAllKeys = __webpack_require__(154), + getTag = __webpack_require__(35), + initCloneArray = __webpack_require__(165), + initCloneByTag = __webpack_require__(166), + initCloneObject = __webpack_require__(167), isArray = __webpack_require__(0), - isBuffer = __webpack_require__(77), + isBuffer = __webpack_require__(71), isHostObject = __webpack_require__(22), isObject = __webpack_require__(2), - keys = __webpack_require__(15); + keys = __webpack_require__(14); /** `Object#toString` result references. */ var argsTag = '[object Arguments]', @@ -10176,7 +9970,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 129 */ +/* 123 */ /***/ function(module, exports, __webpack_require__) { var isObject = __webpack_require__(2); @@ -10200,110 +9994,51 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 130 */ +/* 124 */ /***/ function(module, exports, __webpack_require__) { - var SetCache = __webpack_require__(49), - arrayIncludes = __webpack_require__(124), - arrayIncludesWith = __webpack_require__(125), - arrayMap = __webpack_require__(30), - baseUnary = __webpack_require__(64), - cacheHas = __webpack_require__(149); - - /** Used as the size to enable large array optimizations. */ - var LARGE_ARRAY_SIZE = 200; + var arrayPush = __webpack_require__(30), + isFlattenable = __webpack_require__(168); /** - * The base implementation of methods like `_.difference` without support - * for excluding multiple arrays or iteratee shorthands. + * The base implementation of `_.flatten` with support for restricting flattening. * * @private - * @param {Array} array The array to inspect. - * @param {Array} values The values to exclude. - * @param {Function} [iteratee] The iteratee invoked per element. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new array of filtered values. + * @param {Array} array The array to flatten. + * @param {number} depth The maximum recursion depth. + * @param {boolean} [predicate=isFlattenable] The function invoked per iteration. + * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks. + * @param {Array} [result=[]] The initial result value. + * @returns {Array} Returns the new flattened array. */ - function baseDifference(array, values, iteratee, comparator) { + function baseFlatten(array, depth, predicate, isStrict, result) { var index = -1, - includes = arrayIncludes, - isCommon = true, - length = array.length, - result = [], - valuesLength = values.length; + length = array.length; - if (!length) { - return result; - } - if (iteratee) { - values = arrayMap(values, baseUnary(iteratee)); - } - if (comparator) { - includes = arrayIncludesWith; - isCommon = false; - } - else if (values.length >= LARGE_ARRAY_SIZE) { - includes = cacheHas; - isCommon = false; - values = new SetCache(values); - } - outer: - while (++index < length) { - var value = array[index], - computed = iteratee ? iteratee(value) : value; + predicate || (predicate = isFlattenable); + result || (result = []); - value = (comparator || value !== 0) ? value : 0; - if (isCommon && computed === computed) { - var valuesIndex = valuesLength; - while (valuesIndex--) { - if (values[valuesIndex] === computed) { - continue outer; - } + while (++index < length) { + var value = array[index]; + if (depth > 0 && predicate(value)) { + if (depth > 1) { + // Recursively flatten arrays (susceptible to call stack limits). + baseFlatten(value, depth - 1, predicate, isStrict, result); + } else { + arrayPush(result, value); } - result.push(value); - } - else if (!includes(values, computed, comparator)) { - result.push(value); + } else if (!isStrict) { + result[result.length] = value; } } return result; } - module.e = baseDifference; - - -/***/ }, -/* 131 */ -/***/ function(module, exports, __webpack_require__) { - - /** - * The base implementation of `_.findIndex` and `_.findLastIndex` without - * support for iteratee shorthands. - * - * @private - * @param {Array} array The array to inspect. - * @param {Function} predicate The function invoked per iteration. - * @param {number} fromIndex The index to search from. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {number} Returns the index of the matched value, else `-1`. - */ - function baseFindIndex(array, predicate, fromIndex, fromRight) { - var length = array.length, - index = fromIndex + (fromRight ? 1 : -1); - - while ((fromRight ? index-- : ++index < length)) { - if (predicate(array[index], index, array)) { - return index; - } - } - return -1; - } - - module.e = baseFindIndex; + module.e = baseFlatten; /***/ }, -/* 132 */ +/* 125 */ /***/ function(module, exports, __webpack_require__) { /** Used for built-in method references. */ @@ -10331,7 +10066,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 133 */ +/* 126 */ /***/ function(module, exports, __webpack_require__) { /** @@ -10350,51 +10085,17 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 134 */ -/***/ function(module, exports, __webpack_require__) { - - var baseFindIndex = __webpack_require__(131), - baseIsNaN = __webpack_require__(137); - - /** - * The base implementation of `_.indexOf` without `fromIndex` bounds checks. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} fromIndex The index to search from. - * @returns {number} Returns the index of the matched value, else `-1`. - */ - function baseIndexOf(array, value, fromIndex) { - if (value !== value) { - return baseFindIndex(array, baseIsNaN, fromIndex); - } - var index = fromIndex - 1, - length = array.length; - - while (++index < length) { - if (array[index] === value) { - return index; - } - } - return -1; - } - - module.e = baseIndexOf; - - -/***/ }, -/* 135 */ +/* 127 */ /***/ function(module, exports, __webpack_require__) { var Stack = __webpack_require__(18), - equalArrays = __webpack_require__(67), - equalByTag = __webpack_require__(160), - equalObjects = __webpack_require__(161), - getTag = __webpack_require__(37), + equalArrays = __webpack_require__(62), + equalByTag = __webpack_require__(152), + equalObjects = __webpack_require__(153), + getTag = __webpack_require__(35), isArray = __webpack_require__(0), isHostObject = __webpack_require__(22), - isTypedArray = __webpack_require__(43); + isTypedArray = __webpack_require__(41); /** Used to compose bitmasks for comparison styles. */ var PARTIAL_COMPARE_FLAG = 2; @@ -10472,11 +10173,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 136 */ +/* 128 */ /***/ function(module, exports, __webpack_require__) { var Stack = __webpack_require__(18), - baseIsEqual = __webpack_require__(59); + baseIsEqual = __webpack_require__(55); /** Used to compose bitmasks for comparison styles. */ var UNORDERED_COMPARE_FLAG = 1, @@ -10540,32 +10241,14 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 137 */ -/***/ function(module, exports, __webpack_require__) { - - /** - * The base implementation of `_.isNaN` without support for number objects. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. - */ - function baseIsNaN(value) { - return value !== value; - } - - module.e = baseIsNaN; - - -/***/ }, -/* 138 */ +/* 129 */ /***/ function(module, exports, __webpack_require__) { - var isFunction = __webpack_require__(40), + var isFunction = __webpack_require__(38), isHostObject = __webpack_require__(22), - isMasked = __webpack_require__(178), + isMasked = __webpack_require__(171), isObject = __webpack_require__(2), - toSource = __webpack_require__(75); + toSource = __webpack_require__(69); /** * Used to match `RegExp` @@ -10612,11 +10295,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 139 */ +/* 130 */ /***/ function(module, exports, __webpack_require__) { - var isLength = __webpack_require__(41), - isObjectLike = __webpack_require__(14); + var isLength = __webpack_require__(39), + isObjectLike = __webpack_require__(13); /** `Object#toString` result references. */ var argsTag = '[object Arguments]', @@ -10687,11 +10370,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 140 */ +/* 131 */ /***/ function(module, exports, __webpack_require__) { var isPrototype = __webpack_require__(24), - nativeKeys = __webpack_require__(73); + nativeKeys = __webpack_require__(67); /** Used for built-in method references. */ var objectProto = Object.prototype; @@ -10723,12 +10406,12 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 141 */ +/* 132 */ /***/ function(module, exports, __webpack_require__) { - var baseIsMatch = __webpack_require__(136), - getMatchData = __webpack_require__(163), - matchesStrictComparable = __webpack_require__(72); + var baseIsMatch = __webpack_require__(128), + getMatchData = __webpack_require__(156), + matchesStrictComparable = __webpack_require__(66); /** * The base implementation of `_.matches` which doesn't clone `source`. @@ -10751,16 +10434,16 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 142 */ +/* 133 */ /***/ function(module, exports, __webpack_require__) { - var baseIsEqual = __webpack_require__(59), - get = __webpack_require__(199), - hasIn = __webpack_require__(200), + var baseIsEqual = __webpack_require__(55), + get = __webpack_require__(192), + hasIn = __webpack_require__(193), isKey = __webpack_require__(23), - isStrictComparable = __webpack_require__(70), - matchesStrictComparable = __webpack_require__(72), - toKey = __webpack_require__(6); + isStrictComparable = __webpack_require__(64), + matchesStrictComparable = __webpack_require__(66), + toKey = __webpack_require__(9); /** Used to compose bitmasks for comparison styles. */ var UNORDERED_COMPARE_FLAG = 1, @@ -10790,17 +10473,17 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 143 */ +/* 134 */ /***/ function(module, exports, __webpack_require__) { var Stack = __webpack_require__(18), - arrayEach = __webpack_require__(51), - assignMergeValue = __webpack_require__(54), - baseKeysIn = __webpack_require__(61), - baseMergeDeep = __webpack_require__(144), + arrayEach = __webpack_require__(48), + assignMergeValue = __webpack_require__(51), + baseKeysIn = __webpack_require__(57), + baseMergeDeep = __webpack_require__(135), isArray = __webpack_require__(0), isObject = __webpack_require__(2), - isTypedArray = __webpack_require__(43); + isTypedArray = __webpack_require__(41); /** * The base implementation of `_.merge` without support for multiple sources. @@ -10846,20 +10529,20 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 144 */ +/* 135 */ /***/ function(module, exports, __webpack_require__) { - var assignMergeValue = __webpack_require__(54), - baseClone = __webpack_require__(128), - copyArray = __webpack_require__(66), - isArguments = __webpack_require__(12), + var assignMergeValue = __webpack_require__(51), + baseClone = __webpack_require__(122), + copyArray = __webpack_require__(61), + isArguments = __webpack_require__(11), isArray = __webpack_require__(0), - isArrayLikeObject = __webpack_require__(76), - isFunction = __webpack_require__(40), + isArrayLikeObject = __webpack_require__(70), + isFunction = __webpack_require__(38), isObject = __webpack_require__(2), - isPlainObject = __webpack_require__(203), - isTypedArray = __webpack_require__(43), - toPlainObject = __webpack_require__(211); + isPlainObject = __webpack_require__(196), + isTypedArray = __webpack_require__(41), + toPlainObject = __webpack_require__(203); /** * A specialized version of `baseMerge` for arrays and objects which performs @@ -10930,11 +10613,36 @@ return /******/ (function(modules) { // webpackBootstrap assignMergeValue(object, key, newValue); } - module.e = baseMergeDeep; + module.e = baseMergeDeep; + + +/***/ }, +/* 136 */ +/***/ function(module, exports, __webpack_require__) { + + var basePickBy = __webpack_require__(58); + + /** + * The base implementation of `_.pick` without support for individual + * property identifiers. + * + * @private + * @param {Object} object The source object. + * @param {string[]} props The property identifiers to pick. + * @returns {Object} Returns the new object. + */ + function basePick(object, props) { + object = Object(object); + return basePickBy(object, props, function(value, key) { + return key in object; + }); + } + + module.e = basePick; /***/ }, -/* 145 */ +/* 137 */ /***/ function(module, exports, __webpack_require__) { /** @@ -10954,10 +10662,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 146 */ +/* 138 */ /***/ function(module, exports, __webpack_require__) { - var baseGet = __webpack_require__(57); + var baseGet = __webpack_require__(53); /** * A specialized version of `baseProperty` which supports deep paths. @@ -10976,7 +10684,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 147 */ +/* 139 */ /***/ function(module, exports, __webpack_require__) { /** @@ -11002,11 +10710,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 148 */ +/* 140 */ /***/ function(module, exports, __webpack_require__) { var Symbol = __webpack_require__(19), - isSymbol = __webpack_require__(42); + isSymbol = __webpack_require__(40); /** Used as references for various `Number` constants. */ var INFINITY = 1 / 0; @@ -11039,26 +10747,27 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 149 */ +/* 141 */ /***/ function(module, exports, __webpack_require__) { /** - * Checks if a cache value for `key` exists. + * The base implementation of `_.unary` without support for storing metadata. * * @private - * @param {Object} cache The cache to query. - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + * @param {Function} func The function to cap arguments for. + * @returns {Function} Returns the new capped function. */ - function cacheHas(cache, key) { - return cache.has(key); + function baseUnary(func) { + return function(value) { + return func(value); + }; } - module.e = cacheHas; + module.e = baseUnary; /***/ }, -/* 150 */ +/* 142 */ /***/ function(module, exports, __webpack_require__) { /** @@ -11082,10 +10791,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 151 */ +/* 143 */ /***/ function(module, exports, __webpack_require__) { - var cloneArrayBuffer = __webpack_require__(33); + var cloneArrayBuffer = __webpack_require__(31); /** * Creates a clone of `dataView`. @@ -11104,12 +10813,12 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 152 */ +/* 144 */ /***/ function(module, exports, __webpack_require__) { - var addMapEntry = __webpack_require__(121), - arrayReduce = __webpack_require__(53), - mapToArray = __webpack_require__(71); + var addMapEntry = __webpack_require__(116), + arrayReduce = __webpack_require__(50), + mapToArray = __webpack_require__(65); /** * Creates a clone of `map`. @@ -11129,7 +10838,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 153 */ +/* 145 */ /***/ function(module, exports, __webpack_require__) { /** Used to match `RegExp` flags from their coerced string values. */ @@ -11152,12 +10861,12 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 154 */ +/* 146 */ /***/ function(module, exports, __webpack_require__) { - var addSetEntry = __webpack_require__(122), - arrayReduce = __webpack_require__(53), - setToArray = __webpack_require__(74); + var addSetEntry = __webpack_require__(117), + arrayReduce = __webpack_require__(50), + setToArray = __webpack_require__(68); /** * Creates a clone of `set`. @@ -11177,7 +10886,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 155 */ +/* 147 */ /***/ function(module, exports, __webpack_require__) { var Symbol = __webpack_require__(19); @@ -11201,10 +10910,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 156 */ +/* 148 */ /***/ function(module, exports, __webpack_require__) { - var cloneArrayBuffer = __webpack_require__(33); + var cloneArrayBuffer = __webpack_require__(31); /** * Creates a clone of `typedArray`. @@ -11223,11 +10932,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 157 */ +/* 149 */ /***/ function(module, exports, __webpack_require__) { - var copyObject = __webpack_require__(34), - getSymbols = __webpack_require__(36); + var copyObject = __webpack_require__(32), + getSymbols = __webpack_require__(34); /** * Copies own symbol properties of `source` to `object`. @@ -11245,7 +10954,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 158 */ +/* 150 */ /***/ function(module, exports, __webpack_require__) { var root = __webpack_require__(3); @@ -11257,11 +10966,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 159 */ +/* 151 */ /***/ function(module, exports, __webpack_require__) { - var baseRest = __webpack_require__(32), - isIterateeCall = __webpack_require__(176); + var baseRest = __webpack_require__(59), + isIterateeCall = __webpack_require__(169); /** * Creates a function like `_.assign`. @@ -11300,15 +11009,15 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 160 */ +/* 152 */ /***/ function(module, exports, __webpack_require__) { var Symbol = __webpack_require__(19), - Uint8Array = __webpack_require__(50), - eq = __webpack_require__(11), - equalArrays = __webpack_require__(67), - mapToArray = __webpack_require__(71), - setToArray = __webpack_require__(74); + Uint8Array = __webpack_require__(47), + eq = __webpack_require__(10), + equalArrays = __webpack_require__(62), + mapToArray = __webpack_require__(65), + setToArray = __webpack_require__(68); /** Used to compose bitmasks for comparison styles. */ var UNORDERED_COMPARE_FLAG = 1, @@ -11419,10 +11128,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 161 */ +/* 153 */ /***/ function(module, exports, __webpack_require__) { - var keys = __webpack_require__(15); + var keys = __webpack_require__(14); /** Used to compose bitmasks for comparison styles. */ var PARTIAL_COMPARE_FLAG = 2; @@ -11515,12 +11224,12 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 162 */ +/* 154 */ /***/ function(module, exports, __webpack_require__) { - var baseGetAllKeys = __webpack_require__(58), - getSymbols = __webpack_require__(36), - keys = __webpack_require__(15); + var baseGetAllKeys = __webpack_require__(54), + getSymbols = __webpack_require__(34), + keys = __webpack_require__(14); /** * Creates an array of own enumerable property names and symbols of `object`. @@ -11537,11 +11246,34 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 163 */ +/* 155 */ /***/ function(module, exports, __webpack_require__) { - var isStrictComparable = __webpack_require__(70), - keys = __webpack_require__(15); + var baseGetAllKeys = __webpack_require__(54), + getSymbolsIn = __webpack_require__(157), + keysIn = __webpack_require__(72); + + /** + * Creates an array of own and inherited enumerable property names and + * symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names and symbols. + */ + function getAllKeysIn(object) { + return baseGetAllKeys(object, keysIn, getSymbolsIn); + } + + module.e = getAllKeysIn; + + +/***/ }, +/* 156 */ +/***/ function(module, exports, __webpack_require__) { + + var isStrictComparable = __webpack_require__(64), + keys = __webpack_require__(14); /** * Gets the property names, values, and compare flags of `object`. @@ -11567,13 +11299,13 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 164 */ +/* 157 */ /***/ function(module, exports, __webpack_require__) { - var arrayPush = __webpack_require__(31), - getPrototype = __webpack_require__(35), - getSymbols = __webpack_require__(36), - stubArray = __webpack_require__(80); + var arrayPush = __webpack_require__(30), + getPrototype = __webpack_require__(33), + getSymbols = __webpack_require__(34), + stubArray = __webpack_require__(74); /* Built-in method references for those with the same name as other `lodash` methods. */ var nativeGetSymbols = Object.getOwnPropertySymbols; @@ -11599,7 +11331,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 165 */ +/* 158 */ /***/ function(module, exports, __webpack_require__) { /** @@ -11618,16 +11350,16 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 166 */ +/* 159 */ /***/ function(module, exports, __webpack_require__) { - var castPath = __webpack_require__(65), - isArguments = __webpack_require__(12), + var castPath = __webpack_require__(60), + isArguments = __webpack_require__(11), isArray = __webpack_require__(0), - isIndex = __webpack_require__(38), + isIndex = __webpack_require__(36), isKey = __webpack_require__(23), - isLength = __webpack_require__(41), - toKey = __webpack_require__(6); + isLength = __webpack_require__(39), + toKey = __webpack_require__(9); /** * Checks if `path` exists on `object`. @@ -11664,7 +11396,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 167 */ +/* 160 */ /***/ function(module, exports, __webpack_require__) { var nativeCreate = __webpack_require__(25); @@ -11684,7 +11416,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 168 */ +/* 161 */ /***/ function(module, exports, __webpack_require__) { /** @@ -11705,7 +11437,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 169 */ +/* 162 */ /***/ function(module, exports, __webpack_require__) { var nativeCreate = __webpack_require__(25); @@ -11741,7 +11473,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 170 */ +/* 163 */ /***/ function(module, exports, __webpack_require__) { var nativeCreate = __webpack_require__(25); @@ -11770,7 +11502,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 171 */ +/* 164 */ /***/ function(module, exports, __webpack_require__) { var nativeCreate = __webpack_require__(25); @@ -11798,7 +11530,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 172 */ +/* 165 */ /***/ function(module, exports, __webpack_require__) { /** Used for built-in method references. */ @@ -11830,16 +11562,16 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 173 */ +/* 166 */ /***/ function(module, exports, __webpack_require__) { - var cloneArrayBuffer = __webpack_require__(33), - cloneDataView = __webpack_require__(151), - cloneMap = __webpack_require__(152), - cloneRegExp = __webpack_require__(153), - cloneSet = __webpack_require__(154), - cloneSymbol = __webpack_require__(155), - cloneTypedArray = __webpack_require__(156); + var cloneArrayBuffer = __webpack_require__(31), + cloneDataView = __webpack_require__(143), + cloneMap = __webpack_require__(144), + cloneRegExp = __webpack_require__(145), + cloneSet = __webpack_require__(146), + cloneSymbol = __webpack_require__(147), + cloneTypedArray = __webpack_require__(148); /** `Object#toString` result references. */ var boolTag = '[object Boolean]', @@ -11916,11 +11648,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 174 */ +/* 167 */ /***/ function(module, exports, __webpack_require__) { - var baseCreate = __webpack_require__(129), - getPrototype = __webpack_require__(35), + var baseCreate = __webpack_require__(123), + getPrototype = __webpack_require__(33), isPrototype = __webpack_require__(24); /** @@ -11940,11 +11672,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 175 */ +/* 168 */ /***/ function(module, exports, __webpack_require__) { var Symbol = __webpack_require__(19), - isArguments = __webpack_require__(12), + isArguments = __webpack_require__(11), isArray = __webpack_require__(0); /** Built-in value references. */ @@ -11966,12 +11698,12 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 176 */ +/* 169 */ /***/ function(module, exports, __webpack_require__) { - var eq = __webpack_require__(11), - isArrayLike = __webpack_require__(13), - isIndex = __webpack_require__(38), + var eq = __webpack_require__(10), + isArrayLike = __webpack_require__(12), + isIndex = __webpack_require__(36), isObject = __webpack_require__(2); /** @@ -12002,7 +11734,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 177 */ +/* 170 */ /***/ function(module, exports, __webpack_require__) { /** @@ -12023,10 +11755,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 178 */ +/* 171 */ /***/ function(module, exports, __webpack_require__) { - var coreJsData = __webpack_require__(158); + var coreJsData = __webpack_require__(150); /** Used to detect methods masquerading as native. */ var maskSrcKey = (function() { @@ -12049,7 +11781,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 179 */ +/* 172 */ /***/ function(module, exports, __webpack_require__) { /** @@ -12067,7 +11799,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 180 */ +/* 173 */ /***/ function(module, exports, __webpack_require__) { var assocIndexOf = __webpack_require__(20); @@ -12107,7 +11839,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 181 */ +/* 174 */ /***/ function(module, exports, __webpack_require__) { var assocIndexOf = __webpack_require__(20); @@ -12132,7 +11864,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 182 */ +/* 175 */ /***/ function(module, exports, __webpack_require__) { var assocIndexOf = __webpack_require__(20); @@ -12154,7 +11886,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 183 */ +/* 176 */ /***/ function(module, exports, __webpack_require__) { var assocIndexOf = __webpack_require__(20); @@ -12185,10 +11917,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 184 */ +/* 177 */ /***/ function(module, exports, __webpack_require__) { - var Hash = __webpack_require__(117), + var Hash = __webpack_require__(111), ListCache = __webpack_require__(17), Map = __webpack_require__(28); @@ -12211,7 +11943,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 185 */ +/* 178 */ /***/ function(module, exports, __webpack_require__) { var getMapData = __webpack_require__(21); @@ -12233,7 +11965,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 186 */ +/* 179 */ /***/ function(module, exports, __webpack_require__) { var getMapData = __webpack_require__(21); @@ -12255,7 +11987,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 187 */ +/* 180 */ /***/ function(module, exports, __webpack_require__) { var getMapData = __webpack_require__(21); @@ -12277,7 +12009,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 188 */ +/* 181 */ /***/ function(module, exports, __webpack_require__) { var getMapData = __webpack_require__(21); @@ -12301,7 +12033,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 189 */ +/* 182 */ /***/ function(module, exports, __webpack_require__) { /** @@ -12327,10 +12059,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 190 */ +/* 183 */ /***/ function(module, exports, __webpack_require__) { - /* WEBPACK VAR INJECTION */(function(module) {var freeGlobal = __webpack_require__(68); + /* WEBPACK VAR INJECTION */(function(module) {var freeGlobal = __webpack_require__(63); /** Detect free variable `exports`. */ var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; @@ -12353,10 +12085,10 @@ return /******/ (function(modules) { // webpackBootstrap module.e = nodeUtil; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(81)(module))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(75)(module))) /***/ }, -/* 191 */ +/* 184 */ /***/ function(module, exports, __webpack_require__) { /** Used to stand-in for `undefined` hash values. */ @@ -12381,7 +12113,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 192 */ +/* 185 */ /***/ function(module, exports, __webpack_require__) { /** @@ -12401,7 +12133,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 193 */ +/* 186 */ /***/ function(module, exports, __webpack_require__) { var ListCache = __webpack_require__(17); @@ -12421,7 +12153,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 194 */ +/* 187 */ /***/ function(module, exports, __webpack_require__) { /** @@ -12441,7 +12173,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 195 */ +/* 188 */ /***/ function(module, exports, __webpack_require__) { /** @@ -12461,7 +12193,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 196 */ +/* 189 */ /***/ function(module, exports, __webpack_require__) { /** @@ -12481,7 +12213,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 197 */ +/* 190 */ /***/ function(module, exports, __webpack_require__) { var ListCache = __webpack_require__(17), @@ -12519,11 +12251,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 198 */ +/* 191 */ /***/ function(module, exports, __webpack_require__) { - var memoize = __webpack_require__(204), - toString = __webpack_require__(212); + var memoize = __webpack_require__(197), + toString = __webpack_require__(204); /** Used to match property names within property paths. */ var reLeadingDot = /^\./, @@ -12556,10 +12288,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 199 */ +/* 192 */ /***/ function(module, exports, __webpack_require__) { - var baseGet = __webpack_require__(57); + var baseGet = __webpack_require__(53); /** * Gets the value at `path` of `object`. If the resolved value is @@ -12595,11 +12327,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 200 */ +/* 193 */ /***/ function(module, exports, __webpack_require__) { - var baseHasIn = __webpack_require__(133), - hasPath = __webpack_require__(166); + var baseHasIn = __webpack_require__(126), + hasPath = __webpack_require__(159); /** * Checks if `path` is a direct or inherited property of `object`. @@ -12635,7 +12367,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 201 */ +/* 194 */ /***/ function(module, exports, __webpack_require__) { /** @@ -12662,16 +12394,16 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 202 */ +/* 195 */ /***/ function(module, exports, __webpack_require__) { - var getTag = __webpack_require__(37), - isArguments = __webpack_require__(12), + var getTag = __webpack_require__(35), + isArguments = __webpack_require__(11), isArray = __webpack_require__(0), - isArrayLike = __webpack_require__(13), - isBuffer = __webpack_require__(77), + isArrayLike = __webpack_require__(12), + isBuffer = __webpack_require__(71), isPrototype = __webpack_require__(24), - nativeKeys = __webpack_require__(73); + nativeKeys = __webpack_require__(67); /** `Object#toString` result references. */ var mapTag = '[object Map]', @@ -12747,12 +12479,12 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 203 */ +/* 196 */ /***/ function(module, exports, __webpack_require__) { - var getPrototype = __webpack_require__(35), + var getPrototype = __webpack_require__(33), isHostObject = __webpack_require__(22), - isObjectLike = __webpack_require__(14); + isObjectLike = __webpack_require__(13); /** `Object#toString` result references. */ var objectTag = '[object Object]'; @@ -12823,7 +12555,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 204 */ +/* 197 */ /***/ function(module, exports, __webpack_require__) { var MapCache = __webpack_require__(29); @@ -12902,7 +12634,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 205 */ +/* 198 */ /***/ function(module, exports, __webpack_require__) { /** Used as the `TypeError` message for "Functions" methods. */ @@ -12948,54 +12680,12 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 206 */ -/***/ function(module, exports, __webpack_require__) { - - var arrayMap = __webpack_require__(30), - baseDifference = __webpack_require__(130), - baseFlatten = __webpack_require__(56), - basePick = __webpack_require__(62), - baseRest = __webpack_require__(32), - getAllKeysIn = __webpack_require__(69), - toKey = __webpack_require__(6); - - /** - * The opposite of `_.pick`; this method creates an object composed of the - * own and inherited enumerable string keyed properties of `object` that are - * not omitted. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The source object. - * @param {...(string|string[])} [props] The property identifiers to omit. - * @returns {Object} Returns the new object. - * @example - * - * var object = { 'a': 1, 'b': '2', 'c': 3 }; - * - * _.omit(object, ['a', 'c']); - * // => { 'b': '2' } - */ - var omit = baseRest(function(object, props) { - if (object == null) { - return {}; - } - props = arrayMap(baseFlatten(props, 1), toKey); - return basePick(object, baseDifference(getAllKeysIn(object), props)); - }); - - module.e = omit; - - -/***/ }, -/* 207 */ +/* 199 */ /***/ function(module, exports, __webpack_require__) { - var baseIteratee = __webpack_require__(60), - negate = __webpack_require__(205), - pickBy = __webpack_require__(208); + var baseIteratee = __webpack_require__(56), + negate = __webpack_require__(198), + pickBy = __webpack_require__(200); /** * The opposite of `_.pickBy`; this method creates an object composed of @@ -13025,12 +12715,12 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 208 */ +/* 200 */ /***/ function(module, exports, __webpack_require__) { - var baseIteratee = __webpack_require__(60), - basePickBy = __webpack_require__(63), - getAllKeysIn = __webpack_require__(69); + var baseIteratee = __webpack_require__(56), + basePickBy = __webpack_require__(58), + getAllKeysIn = __webpack_require__(155); /** * Creates an object composed of the `object` properties `predicate` returns @@ -13058,13 +12748,13 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 209 */ +/* 201 */ /***/ function(module, exports, __webpack_require__) { - var baseProperty = __webpack_require__(145), - basePropertyDeep = __webpack_require__(146), + var baseProperty = __webpack_require__(137), + basePropertyDeep = __webpack_require__(138), isKey = __webpack_require__(23), - toKey = __webpack_require__(6); + toKey = __webpack_require__(9); /** * Creates a function that returns the value at `path` of a given object. @@ -13096,7 +12786,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 210 */ +/* 202 */ /***/ function(module, exports, __webpack_require__) { /** @@ -13120,11 +12810,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 211 */ +/* 203 */ /***/ function(module, exports, __webpack_require__) { - var copyObject = __webpack_require__(34), - keysIn = __webpack_require__(78); + var copyObject = __webpack_require__(32), + keysIn = __webpack_require__(72); /** * Converts `value` to a plain object flattening inherited enumerable string @@ -13158,10 +12848,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 212 */ +/* 204 */ /***/ function(module, exports, __webpack_require__) { - var baseToString = __webpack_require__(148); + var baseToString = __webpack_require__(140); /** * Converts `value` to a string. An empty string is returned for `null` @@ -13192,7 +12882,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 213 */ +/* 205 */ /***/ function(module, exports, __webpack_require__) { /* eslint-env node */ @@ -13689,7 +13379,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 214 */ +/* 206 */ /***/ function(module, exports, __webpack_require__) { /* @@ -13720,10 +13410,10 @@ return /******/ (function(modules) { // webpackBootstrap // require('./utils').disableLog(false); // Browser shims. - var chromeShim = __webpack_require__(215) || null; - var edgeShim = __webpack_require__(217) || null; - var firefoxShim = __webpack_require__(219) || null; - var safariShim = __webpack_require__(221) || null; + var chromeShim = __webpack_require__(207) || null; + var edgeShim = __webpack_require__(209) || null; + var firefoxShim = __webpack_require__(211) || null; + var safariShim = __webpack_require__(213) || null; // Shim browser if found. switch (browserDetails.browser) { @@ -13787,7 +13477,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 215 */ +/* 207 */ /***/ function(module, exports, __webpack_require__) { @@ -14020,14 +13710,6 @@ return /******/ (function(modules) { // webpackBootstrap }); } - // support for addIceCandidate(null) - var nativeAddIceCandidate = - RTCPeerConnection.prototype.addIceCandidate; - RTCPeerConnection.prototype.addIceCandidate = function() { - return arguments[0] === null ? Promise.resolve() - : nativeAddIceCandidate.apply(this, arguments); - }; - // shim implicit creation of RTCSessionDescription/RTCIceCandidate ['setLocalDescription', 'setRemoteDescription', 'addIceCandidate'] .forEach(function(method) { @@ -14038,27 +13720,14 @@ return /******/ (function(modules) { // webpackBootstrap return nativeMethod.apply(this, arguments); }; }); - }, - - // Attach a media stream to an element. - attachMediaStream: function(element, stream) { - logging('DEPRECATED, attachMediaStream will soon be removed.'); - if (browserDetails.version >= 43) { - element.srcObject = stream; - } else if (typeof element.src !== 'undefined') { - element.src = URL.createObjectURL(stream); - } else { - logging('Error attaching stream to element.'); - } - }, - reattachMediaStream: function(to, from) { - logging('DEPRECATED, reattachMediaStream will soon be removed.'); - if (browserDetails.version >= 43) { - to.srcObject = from.srcObject; - } else { - to.src = from.src; - } + // support for addIceCandidate(null) + var nativeAddIceCandidate = + RTCPeerConnection.prototype.addIceCandidate; + RTCPeerConnection.prototype.addIceCandidate = function() { + return arguments[0] === null ? Promise.resolve() + : nativeAddIceCandidate.apply(this, arguments); + }; } }; @@ -14069,14 +13738,12 @@ return /******/ (function(modules) { // webpackBootstrap shimOnTrack: chromeShim.shimOnTrack, shimSourceObject: chromeShim.shimSourceObject, shimPeerConnection: chromeShim.shimPeerConnection, - shimGetUserMedia: __webpack_require__(216), - attachMediaStream: chromeShim.attachMediaStream, - reattachMediaStream: chromeShim.reattachMediaStream + shimGetUserMedia: __webpack_require__(208) }; /***/ }, -/* 216 */ +/* 208 */ /***/ function(module, exports, __webpack_require__) { /* @@ -14271,7 +13938,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 217 */ +/* 209 */ /***/ function(module, exports, __webpack_require__) { /* @@ -14284,8 +13951,8 @@ return /******/ (function(modules) { // webpackBootstrap /* eslint-env node */ 'use strict'; - var SDPUtils = __webpack_require__(213); - var logging = __webpack_require__(1).log; + var SDPUtils = __webpack_require__(205); + var browserDetails = __webpack_require__(1).browserDetails; var edgeShim = { shimPeerConnection: function() { @@ -14370,6 +14037,7 @@ return /******/ (function(modules) { // webpackBootstrap // Edge does not like // 1) stun: // 2) turn: that does not have all of turn:host:port?transport=udp + // 3) turn: with ipv6 addresses var iceServers = JSON.parse(JSON.stringify(config.iceServers)); this.iceOptions.iceServers = iceServers.filter(function(server) { if (server && server.urls) { @@ -14378,8 +14046,11 @@ return /******/ (function(modules) { // webpackBootstrap urls = [urls]; } urls = urls.filter(function(url) { - return url.indexOf('turn:') === 0 && - url.indexOf('transport=udp') !== -1; + return (url.indexOf('turn:') === 0 && + url.indexOf('transport=udp') !== -1 && + url.indexOf('turn:[') === -1) || + (url.indexOf('stun:') === 0 && + browserDetails.version >= 14393); })[0]; return !!urls; } @@ -14483,8 +14154,18 @@ return /******/ (function(modules) { // webpackBootstrap // push rCodec so we reply with offerer payload type commonCapabilities.codecs.push(rCodec); - // FIXME: also need to determine intersection between - // .rtcpFeedback and .parameters + // determine common feedback mechanisms + rCodec.rtcpFeedback = rCodec.rtcpFeedback.filter(function(fb) { + for (var j = 0; j < lCodec.rtcpFeedback.length; j++) { + if (lCodec.rtcpFeedback[j].type === fb.type && + lCodec.rtcpFeedback[j].parameter === fb.parameter) { + return true; + } + } + return false; + }); + // FIXME: also need to determine .parameters + // see https://github.com/openpeer/ortc/issues/569 break; } } @@ -14823,7 +14504,7 @@ return /******/ (function(modules) { // webpackBootstrap } var isComplete = SDPUtils.matchPrefix(mediaSection, - 'a=end-of-candidates').length > 0; + 'a=end-of-candidates', sessionpart).length > 0; var cands = SDPUtils.matchPrefix(mediaSection, 'a=candidate:') .map(function(cand) { return SDPUtils.parseCandidate(cand); @@ -14858,11 +14539,16 @@ return /******/ (function(modules) { // webpackBootstrap // FIXME: look at direction. if (self.localStreams.length > 0 && self.localStreams[0].getTracks().length >= sdpMLineIndex) { - // FIXME: actually more complicated, needs to match types etc - var localtrack = self.localStreams[0] - .getTracks()[sdpMLineIndex]; - rtpSender = new RTCRtpSender(localtrack, - transports.dtlsTransport); + var localTrack; + if (kind === 'audio') { + localTrack = self.localStreams[0].getAudioTracks()[0]; + } else if (kind === 'video') { + localTrack = self.localStreams[0].getVideoTracks()[0]; + } + if (localTrack) { + rtpSender = new RTCRtpSender(localTrack, + transports.dtlsTransport); + } } self.transceivers[sdpMLineIndex] = { @@ -15247,7 +14933,7 @@ return /******/ (function(modules) { // webpackBootstrap var cand = Object.keys(candidate.candidate).length > 0 ? SDPUtils.parseCandidate(candidate.candidate) : {}; // Ignore Chrome's invalid candidates since Edge does not like them. - if (cand.protocol === 'tcp' && cand.port === 0) { + if (cand.protocol === 'tcp' && (cand.port === 0 || cand.port === 9)) { return; } // Ignore RTCP candidates, we assume RTCP-MUX. @@ -15302,31 +14988,18 @@ return /******/ (function(modules) { // webpackBootstrap }); }); }; - }, - - // Attach a media stream to an element. - attachMediaStream: function(element, stream) { - logging('DEPRECATED, attachMediaStream will soon be removed.'); - element.srcObject = stream; - }, - - reattachMediaStream: function(to, from) { - logging('DEPRECATED, reattachMediaStream will soon be removed.'); - to.srcObject = from.srcObject; } }; // Expose public methods. module.e = { shimPeerConnection: edgeShim.shimPeerConnection, - shimGetUserMedia: __webpack_require__(218), - attachMediaStream: edgeShim.attachMediaStream, - reattachMediaStream: edgeShim.reattachMediaStream + shimGetUserMedia: __webpack_require__(210) }; /***/ }, -/* 218 */ +/* 210 */ /***/ function(module, exports, __webpack_require__) { /* @@ -15364,7 +15037,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 219 */ +/* 211 */ /***/ function(module, exports, __webpack_require__) { /* @@ -15377,7 +15050,6 @@ return /******/ (function(modules) { // webpackBootstrap /* eslint-env node */ 'use strict'; - var logging = __webpack_require__(1).log; var browserDetails = __webpack_require__(1).browserDetails; var firefoxShim = { @@ -15513,17 +15185,6 @@ return /******/ (function(modules) { // webpackBootstrap }) .then(onSucc, onErr); }; - }, - - // Attach a media stream to an element. - attachMediaStream: function(element, stream) { - logging('DEPRECATED, attachMediaStream will soon be removed.'); - element.srcObject = stream; - }, - - reattachMediaStream: function(to, from) { - logging('DEPRECATED, reattachMediaStream will soon be removed.'); - to.srcObject = from.srcObject; } }; @@ -15532,14 +15193,12 @@ return /******/ (function(modules) { // webpackBootstrap shimOnTrack: firefoxShim.shimOnTrack, shimSourceObject: firefoxShim.shimSourceObject, shimPeerConnection: firefoxShim.shimPeerConnection, - shimGetUserMedia: __webpack_require__(220), - attachMediaStream: firefoxShim.attachMediaStream, - reattachMediaStream: firefoxShim.reattachMediaStream + shimGetUserMedia: __webpack_require__(212) }; /***/ }, -/* 220 */ +/* 212 */ /***/ function(module, exports, __webpack_require__) { /* @@ -15695,7 +15354,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 221 */ +/* 213 */ /***/ function(module, exports, __webpack_require__) { /* @@ -15710,10 +15369,6 @@ return /******/ (function(modules) { // webpackBootstrap // TODO: DrAlex, should be here, double check against LayoutTests // shimOnTrack: function() { }, - // TODO: DrAlex - // attachMediaStream: function(element, stream) { }, - // reattachMediaStream: function(to, from) { }, - // TODO: once the back-end for the mac port is done, add. // TODO: check for webkitGTK+ // shimPeerConnection: function() { }, @@ -15728,17 +15383,15 @@ return /******/ (function(modules) { // webpackBootstrap shimGetUserMedia: safariShim.shimGetUserMedia // TODO // shimOnTrack: safariShim.shimOnTrack, - // shimPeerConnection: safariShim.shimPeerConnection, - // attachMediaStream: safariShim.attachMediaStream, - // reattachMediaStream: safariShim.reattachMediaStream + // shimPeerConnection: safariShim.shimPeerConnection }; /***/ }, -/* 222 */ +/* 214 */ /***/ function(module, exports, __webpack_require__) { - module.e = __webpack_require__(82); + module.e = __webpack_require__(76); /***/ } diff --git a/dist/quagga.js.map b/dist/quagga.js.map index d093631..c31f496 100644 --- a/dist/quagga.js.map +++ b/dist/quagga.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/myModuleDefinition","webpack:///webpack/bootstrap e54ba9edb5b4b0a23149","webpack:///./~/lodash/isArray.js","webpack:///./~/webrtc-adapter/src/js/utils.js","webpack:///./~/lodash/isObject.js","webpack:///./~/lodash/_root.js","webpack:///./src/reader/ean_reader.js","webpack:///./~/lodash/_getNative.js","webpack:///./~/lodash/_toKey.js","webpack:///./~/lodash/merge.js","webpack:///./src/common/image_debug.js","webpack:///./src/reader/barcode_reader.js","webpack:///./~/gl-vec2/clone.js","webpack:///./~/lodash/eq.js","webpack:///./~/lodash/isArguments.js","webpack:///./~/lodash/isArrayLike.js","webpack:///./~/lodash/isObjectLike.js","webpack:///./~/lodash/keys.js","webpack:///./src/common/array_helper.js","webpack:///./~/lodash/_ListCache.js","webpack:///./~/lodash/_Stack.js","webpack:///./~/lodash/_Symbol.js","webpack:///./~/lodash/_assocIndexOf.js","webpack:///./~/lodash/_getMapData.js","webpack:///./~/lodash/_isHostObject.js","webpack:///./~/lodash/_isKey.js","webpack:///./~/lodash/_isPrototype.js","webpack:///./~/lodash/_nativeCreate.js","webpack:///./src/common/cv_utils.js","webpack:///./src/common/image_wrapper.js","webpack:///./~/lodash/_Map.js","webpack:///./~/lodash/_MapCache.js","webpack:///./~/lodash/_arrayMap.js","webpack:///./~/lodash/_arrayPush.js","webpack:///./~/lodash/_baseRest.js","webpack:///./~/lodash/_cloneArrayBuffer.js","webpack:///./~/lodash/_copyObject.js","webpack:///./~/lodash/_getPrototype.js","webpack:///./~/lodash/_getSymbols.js","webpack:///./~/lodash/_getTag.js","webpack:///./~/lodash/_isIndex.js","webpack:///./~/lodash/_overArg.js","webpack:///./~/lodash/isFunction.js","webpack:///./~/lodash/isLength.js","webpack:///./~/lodash/isSymbol.js","webpack:///./~/lodash/isTypedArray.js","webpack:///./src/analytics/result_collector.js","webpack:///./src/config/config.js","webpack:///./src/locator/tracer.js","webpack:///./src/reader/code_39_reader.js","webpack:///./~/gl-vec2/dot.js","webpack:///./~/lodash/_SetCache.js","webpack:///./~/lodash/_Uint8Array.js","webpack:///./~/lodash/_arrayEach.js","webpack:///./~/lodash/_arrayLikeKeys.js","webpack:///./~/lodash/_arrayReduce.js","webpack:///./~/lodash/_assignMergeValue.js","webpack:///./~/lodash/_assignValue.js","webpack:///./~/lodash/_baseFlatten.js","webpack:///./~/lodash/_baseGet.js","webpack:///./~/lodash/_baseGetAllKeys.js","webpack:///./~/lodash/_baseIsEqual.js","webpack:///./~/lodash/_baseIteratee.js","webpack:///./~/lodash/_baseKeysIn.js","webpack:///./~/lodash/_basePick.js","webpack:///./~/lodash/_basePickBy.js","webpack:///./~/lodash/_baseUnary.js","webpack:///./~/lodash/_castPath.js","webpack:///./~/lodash/_copyArray.js","webpack:///./~/lodash/_equalArrays.js","webpack:///./~/lodash/_freeGlobal.js","webpack:///./~/lodash/_getAllKeysIn.js","webpack:///./~/lodash/_isStrictComparable.js","webpack:///./~/lodash/_mapToArray.js","webpack:///./~/lodash/_matchesStrictComparable.js","webpack:///./~/lodash/_nativeKeys.js","webpack:///./~/lodash/_setToArray.js","webpack:///./~/lodash/_toSource.js","webpack:///./~/lodash/isArrayLikeObject.js","webpack:///./~/lodash/isBuffer.js","webpack:///./~/lodash/keysIn.js","webpack:///./~/lodash/pick.js","webpack:///./~/lodash/stubArray.js","webpack:///(webpack)/buildin/module.js","webpack:///./src/quagga.js","webpack:///./src/common/cluster.js","webpack:///./src/common/dom_helper.js","webpack:///./src/common/events.js","webpack:///./src/common/subImage.js","webpack:///./src/common/typedefs.js","webpack:///./src/config/config.dev.js","webpack:///./src/decoder/barcode_decoder.js","webpack:///./src/decoder/bresenham.js","webpack:///./src/input/camera_access.js","webpack:///./src/input/config_factory.js","webpack:///./src/input/exif_helper.js","webpack:///./src/input/frame_grabber.js","webpack:///./src/input/image_loader.js","webpack:///./src/input/input_stream.js","webpack:///./src/locator/barcode_locator.js","webpack:///./src/locator/rasterizer.js","webpack:///./src/locator/skeletonizer.js","webpack:///./src/reader/codabar_reader.js","webpack:///./src/reader/code_128_reader.js","webpack:///./src/reader/code_39_vin_reader.js","webpack:///./src/reader/ean_2_reader.js","webpack:///./src/reader/ean_5_reader.js","webpack:///./src/reader/ean_8_reader.js","webpack:///./src/reader/i2of5_reader.js","webpack:///./src/reader/upc_e_reader.js","webpack:///./src/reader/upc_reader.js","webpack:///./src/scanner.js","webpack:///./~/gl-mat2/copy.js","webpack:///./~/gl-mat2/create.js","webpack:///./~/gl-mat2/invert.js","webpack:///./~/gl-vec2/scale.js","webpack:///./~/gl-vec2/transformMat2.js","webpack:///./~/gl-vec3/clone.js","webpack:///./~/lodash/_DataView.js","webpack:///./~/lodash/_Hash.js","webpack:///./~/lodash/_Promise.js","webpack:///./~/lodash/_Set.js","webpack:///./~/lodash/_WeakMap.js","webpack:///./~/lodash/_addMapEntry.js","webpack:///./~/lodash/_addSetEntry.js","webpack:///./~/lodash/_apply.js","webpack:///./~/lodash/_arrayIncludes.js","webpack:///./~/lodash/_arrayIncludesWith.js","webpack:///./~/lodash/_arraySome.js","webpack:///./~/lodash/_baseAssign.js","webpack:///./~/lodash/_baseClone.js","webpack:///./~/lodash/_baseCreate.js","webpack:///./~/lodash/_baseDifference.js","webpack:///./~/lodash/_baseFindIndex.js","webpack:///./~/lodash/_baseGetTag.js","webpack:///./~/lodash/_baseHasIn.js","webpack:///./~/lodash/_baseIndexOf.js","webpack:///./~/lodash/_baseIsEqualDeep.js","webpack:///./~/lodash/_baseIsMatch.js","webpack:///./~/lodash/_baseIsNaN.js","webpack:///./~/lodash/_baseIsNative.js","webpack:///./~/lodash/_baseIsTypedArray.js","webpack:///./~/lodash/_baseKeys.js","webpack:///./~/lodash/_baseMatches.js","webpack:///./~/lodash/_baseMatchesProperty.js","webpack:///./~/lodash/_baseMerge.js","webpack:///./~/lodash/_baseMergeDeep.js","webpack:///./~/lodash/_baseProperty.js","webpack:///./~/lodash/_basePropertyDeep.js","webpack:///./~/lodash/_baseTimes.js","webpack:///./~/lodash/_baseToString.js","webpack:///./~/lodash/_cacheHas.js","webpack:///./~/lodash/_cloneBuffer.js","webpack:///./~/lodash/_cloneDataView.js","webpack:///./~/lodash/_cloneMap.js","webpack:///./~/lodash/_cloneRegExp.js","webpack:///./~/lodash/_cloneSet.js","webpack:///./~/lodash/_cloneSymbol.js","webpack:///./~/lodash/_cloneTypedArray.js","webpack:///./~/lodash/_copySymbols.js","webpack:///./~/lodash/_coreJsData.js","webpack:///./~/lodash/_createAssigner.js","webpack:///./~/lodash/_equalByTag.js","webpack:///./~/lodash/_equalObjects.js","webpack:///./~/lodash/_getAllKeys.js","webpack:///./~/lodash/_getMatchData.js","webpack:///./~/lodash/_getSymbolsIn.js","webpack:///./~/lodash/_getValue.js","webpack:///./~/lodash/_hasPath.js","webpack:///./~/lodash/_hashClear.js","webpack:///./~/lodash/_hashDelete.js","webpack:///./~/lodash/_hashGet.js","webpack:///./~/lodash/_hashHas.js","webpack:///./~/lodash/_hashSet.js","webpack:///./~/lodash/_initCloneArray.js","webpack:///./~/lodash/_initCloneByTag.js","webpack:///./~/lodash/_initCloneObject.js","webpack:///./~/lodash/_isFlattenable.js","webpack:///./~/lodash/_isIterateeCall.js","webpack:///./~/lodash/_isKeyable.js","webpack:///./~/lodash/_isMasked.js","webpack:///./~/lodash/_listCacheClear.js","webpack:///./~/lodash/_listCacheDelete.js","webpack:///./~/lodash/_listCacheGet.js","webpack:///./~/lodash/_listCacheHas.js","webpack:///./~/lodash/_listCacheSet.js","webpack:///./~/lodash/_mapCacheClear.js","webpack:///./~/lodash/_mapCacheDelete.js","webpack:///./~/lodash/_mapCacheGet.js","webpack:///./~/lodash/_mapCacheHas.js","webpack:///./~/lodash/_mapCacheSet.js","webpack:///./~/lodash/_nativeKeysIn.js","webpack:///./~/lodash/_nodeUtil.js","webpack:///./~/lodash/_setCacheAdd.js","webpack:///./~/lodash/_setCacheHas.js","webpack:///./~/lodash/_stackClear.js","webpack:///./~/lodash/_stackDelete.js","webpack:///./~/lodash/_stackGet.js","webpack:///./~/lodash/_stackHas.js","webpack:///./~/lodash/_stackSet.js","webpack:///./~/lodash/_stringToPath.js","webpack:///./~/lodash/get.js","webpack:///./~/lodash/hasIn.js","webpack:///./~/lodash/identity.js","webpack:///./~/lodash/isEmpty.js","webpack:///./~/lodash/isPlainObject.js","webpack:///./~/lodash/memoize.js","webpack:///./~/lodash/negate.js","webpack:///./~/lodash/omit.js","webpack:///./~/lodash/omitBy.js","webpack:///./~/lodash/pickBy.js","webpack:///./~/lodash/property.js","webpack:///./~/lodash/stubFalse.js","webpack:///./~/lodash/toPlainObject.js","webpack:///./~/lodash/toString.js","webpack:///./~/sdp/sdp.js","webpack:///./~/webrtc-adapter/src/js/adapter_core.js","webpack:///./~/webrtc-adapter/src/js/chrome/chrome_shim.js","webpack:///./~/webrtc-adapter/src/js/chrome/getusermedia.js","webpack:///./~/webrtc-adapter/src/js/edge/edge_shim.js","webpack:///./~/webrtc-adapter/src/js/edge/getusermedia.js","webpack:///./~/webrtc-adapter/src/js/firefox/firefox_shim.js","webpack:///./~/webrtc-adapter/src/js/firefox/getusermedia.js","webpack:///./~/webrtc-adapter/src/js/safari/safari_shim.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACRA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa,QAAQ;AACrB,cAAa,QAAQ;AACrB,cAAa,QAAQ;AACrB,eAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,eAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC9IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAA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QAAP,EAAiB;AACb,oBAAO,IAAI,MAAJ,CAAP;AACH;AACD,gBAAO,GAAP;AACH;AA7EU,EAAf,C;;;;;;ACAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;;AAEA;AACA;;AAEA;;;;;;;ACLA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpBA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5BA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACjBA;;AAEA;AACA;;AAEA;;;;;;;;;gtCCLA;AACA;AACA,KAAM,OAAO;AACT,YAAO,oBAAQ,EAAR;AADE,EAAb;AAGA,KAAM,OAAO;AACT,YAAO,oBAAQ,GAAR;AADE,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AlB,IAAuB,OAAO,CAAP,CAAvB;AACA,cAAK,SAAS,CAAT,GAAa,CAAlB,IAAuB,OAAO,CAAP,CAAvB;AACA,cAAK,SAAS,CAAT,GAAa,CAAlB,IAAuB,OAAO,CAAP,CAAvB;AACA,cAAK,SAAS,CAAT,GAAa,CAAlB,IAAuB,GAAvB;AACH;AACD,SAAI,YAAJ,CAAiB,KAAjB,EAAwB,KAAK,CAA7B,EAAgC,KAAK,CAArC;AACH,EAtBD;;AAwBA,6CAAe,YAAf,C;;;;;;AC5VA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACNA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpBA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClCA;;AAEA;AACA;AACA;AACA;AACA,YAAW,YAAY;AACvB,cAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,OAAO,WAAW;AAC7B,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA,yBAAwB;;AAExB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;AC9BA;;AAEA;AACA;;AAEA;;;;;;;ACLA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;;AAEA;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxCA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClCA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA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;;;;ACrBA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB;AACA,cAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC1BA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrCA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,aAAa;AACxB,cAAa,EAAE;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7BA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9BA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChCA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;;;;;;;AClBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClFA;AACA;;AAEA;;;;;;;;ACHA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,EAAE;AACb,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;;AAEA;AACA;;AAEA;;;;;;;ACLA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;;;;;;ACjBA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;;;;;;;ACzBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChCA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACrCA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/BA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,qBAAqB;AAChC,cAAa,OAAO;AACpB;AACA;AACA,kBAAiB;AACjB;AACA;AACA,WAAU;AACV;AACA;AACA,6BAA4B;AAC5B,EAAC;;AAED;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAoB,iBAAiB,EAAE;AACvC,sBAAqB,qBAAqB;AAC1C,IAAG;AACH;AACA;AACA;AACA,qBAAoB,iBAAiB;AACrC,IAAG;AACH;AACA;AACA;AACA,qBAAoB,iBAAiB;AACrC,IAAG;AACH;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;ACzBA;AACA;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AACA;AACA;AACA;AACA,E;;;;;;ACdA;;AAEA;AACA;AACA;AACA,YAAW,KAAK;AAChB,YAAW,KAAK;AAChB,YAAW,KAAK;AAChB,cAAa,KAAK;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;AChBA;;AAEA;AACA;AACA;AACA,YAAW,KAAK;AAChB,cAAa,KAAK;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACdA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACNA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/BA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACNA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACNA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACNA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,YAAW,MAAM;AACjB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpBA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChBA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,EAAE;AACb,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA0C;AAC1C;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;;;;;;AC1IA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,aAAa;AACxB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACZA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjFA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7DA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACXA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qCAAoC;;AAEpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7BA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,EAAE;AACb,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;;;;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjFA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;;AAEA;AACA;AACA;AACA;AACA,YAAW,aAAa;AACxB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9BA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACZA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO,WAAW;AAC7B,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;;AAEA;AACA;;AAEA;;;;;;;ACLA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChHA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzFA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;ACvBA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,aAAa;AACxB,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvCA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7BA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;AC/EA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7BA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;;AAEA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACXA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;;;;;;;ACjCA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;AClBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;;;;;;;ACxBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH,EAAC;;AAED;;;;;;;;ACrBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/BA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,EAAC;;AAED;;;;;;;AC9BA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,aAAa;AACxB,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA,kBAAiB,QAAQ,OAAO,SAAS,EAAE;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChCA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,aAAa;AACxB,cAAa,QAAQ;AACrB;AACA;AACA,2BAA0B,gBAAgB,SAAS,GAAG;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,kDAAiD,eAAe;;AAEhE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9EA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,SAAS;AACtB;AACA;AACA,kBAAiB;AACjB,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACxEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,6BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,qBAAqB;AAChC,cAAa,OAAO;AACpB;AACA;AACA,kBAAiB;AACjB;AACA;AACA,WAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;;;;;;;ACnCA;AACA;AACA;;AAEA;AACA,+BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA,kBAAiB;AACjB;AACA;AACA,WAAU;AACV;AACA;AACA;AACA;;AAEA;;;;;;;AC5BA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA,kBAAiB;AACjB;AACA;AACA,WAAU;AACV;AACA;AACA,6BAA4B;AAC5B;;AAEA;;;;;;;AC1BA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,aAAa;AACxB,cAAa,SAAS;AACtB;AACA;AACA;AACA,OAAM,OAAO,SAAS,EAAE;AACxB,OAAM,OAAO,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,SAAS;AACtB,WAAU;AACV;AACA,cAAa,SAAS;AACtB,WAAU;AACV;AACA;AACA;AACA;;AAEA;;;;;;;AC/BA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAuC;AACvC;AACA,qCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,6CAA4C;AAC5C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAoB;AACpB,2BAA0B;AAC1B;AACA;AACA;AACA,0DAAyD;AACzD,kBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,kDAAiD;AACjD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB,kBAAkB,OAAO;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,6CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;AC1eA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC;;;;;;;;AC1FD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAgC;AAChC;AACA;AACA,cAAa;AACb;AACA;AACA;AACA,iCAAgC;AAChC;AACA;AACA,cAAa;AACb,YAAW;AACX;AACA,QAAO;AACP;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA,UAAS;AACT;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA,YAAW;;AAEX;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA,YAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf,YAAW;AACX;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA,UAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA,YAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC1RA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA2D,YAAY;;AAEvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,cAAa;AACb;AACA,0DAAyD,qBAAqB;AAC9E,0DAAyD;AACzD;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAO;AACP,MAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,wBAAuB;AACvB;AACA;AACA,uBAAsB;AACtB;AACA;AACA;AACA,cAAa;AACb,YAAW;AACX,UAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC5LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA,UAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB,qBAAqB;AAC9C;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,sCAAsC;AACjE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA,gCAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;;AAEf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB;AACnB;AACA;AACA,oBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA,kBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,gBAAe;;AAEf;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAe;;AAEf;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB;AACnB;AACA,gBAAe;AACf,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP;AACA,QAAO;AACP;AACA,QAAO;AACP;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,YAAW;AACX;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAS;;AAET;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,QAAO;;AAEP;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAO;;AAEP;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yDAAwD;AACxD,UAAS;AACT,QAAO;AACP;AACA;AACA,0BAAyB,8BAA8B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb,YAAW;AACX;AACA;AACA;AACA;AACA,UAAS;AACT,QAAO;AACP;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxhCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAa,yCAAyC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAgC;AAChC;AACA;AACA,cAAa;AACb,YAAW;AACX;AACA,QAAO;AACP;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,gCAAgC;AAC3D;AACA;AACA,gCAA+B,wBAAwB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB;AACvB,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA,+BAA8B;AAC9B,qCAAoC,EAAE;AACtC,wCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,gEAAgE;AAC7E,cAAa;AACb;AACA;AACA,UAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,EAAE;;AAEhC;AACA,oDAAmD,EAAE;AACrD,+CAA8C,EAAE;;AAEhD;AACA;AACA,sCAAqC,EAAE;;AAEvC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"quagga.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(factory.toString()).default;\n\telse if(typeof exports === 'object')\n\t\texports[\"Quagga\"] = factory(factory.toString()).default;\n\telse\n\t\troot[\"Quagga\"] = factory(factory.toString()).default;\n})(this, function(__factorySource__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/myModuleDefinition\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].e;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\te: {},\n \t\t\ti: moduleId,\n \t\t\tl: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.e, module, module.e, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.e;\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__(__webpack_require__.s = 222);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap e54ba9edb5b4b0a23149\n **/","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isArray.js\n ** module id = 0\n ** module chunks = 0\n **/","/*\n * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.\n *\n * Use of this source code is governed by a BSD-style license\n * that can be found in the LICENSE file in the root of the source\n * tree.\n */\n /* eslint-env node */\n'use strict';\n\nvar logDisabled_ = true;\n\n// Utility methods.\nvar utils = {\n disableLog: function(bool) {\n if (typeof bool !== 'boolean') {\n return new Error('Argument type: ' + typeof bool +\n '. Please use a boolean.');\n }\n logDisabled_ = bool;\n return (bool) ? 'adapter.js logging disabled' :\n 'adapter.js logging enabled';\n },\n\n log: function() {\n if (typeof window === 'object') {\n if (logDisabled_) {\n return;\n }\n if (typeof console !== 'undefined' && typeof console.log === 'function') {\n console.log.apply(console, arguments);\n }\n }\n },\n\n /**\n * Extract browser version out of the provided user agent string.\n *\n * @param {!string} uastring userAgent string.\n * @param {!string} expr Regular expression used as match criteria.\n * @param {!number} pos position in the version string to be returned.\n * @return {!number} browser version.\n */\n extractVersion: function(uastring, expr, pos) {\n var match = uastring.match(expr);\n return match && match.length >= pos && parseInt(match[pos], 10);\n },\n\n /**\n * Browser detector.\n *\n * @return {object} result containing browser, version and minVersion\n * properties.\n */\n detectBrowser: function() {\n // Returned result object.\n var result = {};\n result.browser = null;\n result.version = null;\n result.minVersion = null;\n\n // Fail early if it's not a browser\n if (typeof window === 'undefined' || !window.navigator) {\n result.browser = 'Not a browser.';\n return result;\n }\n\n // Firefox.\n if (navigator.mozGetUserMedia) {\n result.browser = 'firefox';\n result.version = this.extractVersion(navigator.userAgent,\n /Firefox\\/([0-9]+)\\./, 1);\n result.minVersion = 31;\n\n // all webkit-based browsers\n } else if (navigator.webkitGetUserMedia) {\n // Chrome, Chromium, Webview, Opera, all use the chrome shim for now\n if (window.webkitRTCPeerConnection) {\n result.browser = 'chrome';\n result.version = this.extractVersion(navigator.userAgent,\n /Chrom(e|ium)\\/([0-9]+)\\./, 2);\n result.minVersion = 38;\n\n // Safari or unknown webkit-based\n // for the time being Safari has support for MediaStreams but not webRTC\n } else {\n // Safari UA substrings of interest for reference:\n // - webkit version: AppleWebKit/602.1.25 (also used in Op,Cr)\n // - safari UI version: Version/9.0.3 (unique to Safari)\n // - safari UI webkit version: Safari/601.4.4 (also used in Op,Cr)\n //\n // if the webkit version and safari UI webkit versions are equals,\n // ... this is a stable version.\n //\n // only the internal webkit version is important today to know if\n // media streams are supported\n //\n if (navigator.userAgent.match(/Version\\/(\\d+).(\\d+)/)) {\n result.browser = 'safari';\n result.version = this.extractVersion(navigator.userAgent,\n /AppleWebKit\\/([0-9]+)\\./, 1);\n result.minVersion = 602;\n\n // unknown webkit-based browser\n } else {\n result.browser = 'Unsupported webkit-based browser ' +\n 'with GUM support but no WebRTC support.';\n return result;\n }\n }\n\n // Edge.\n } else if (navigator.mediaDevices &&\n navigator.userAgent.match(/Edge\\/(\\d+).(\\d+)$/)) {\n result.browser = 'edge';\n result.version = this.extractVersion(navigator.userAgent,\n /Edge\\/(\\d+).(\\d+)$/, 2);\n result.minVersion = 10547;\n\n // Default fallthrough: not supported.\n } else {\n result.browser = 'Not a supported browser.';\n return result;\n }\n\n // Warn if version is less than minVersion.\n if (result.version < result.minVersion) {\n utils.log('Browser: ' + result.browser + ' Version: ' + result.version +\n ' < minimum supported version: ' + result.minVersion +\n '\\n some things might not work!');\n }\n\n return result;\n }\n};\n\n// Export.\nmodule.exports = {\n log: utils.log,\n disableLog: utils.disableLog,\n browserDetails: utils.detectBrowser(),\n extractVersion: utils.extractVersion\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/webrtc-adapter/src/js/utils.js\n ** module id = 1\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isObject.js\n ** module id = 2\n ** module chunks = 0\n **/","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_root.js\n ** module id = 3\n ** module chunks = 0\n **/","import BarcodeReader from './barcode_reader';\r\nimport {merge} from 'lodash';\r\n\r\nfunction EANReader(opts, supplements) {\r\n opts = merge(getDefaulConfig(), opts);\r\n BarcodeReader.call(this, opts, supplements);\r\n}\r\n\r\nfunction getDefaulConfig() {\r\n var config = {};\r\n\r\n Object.keys(EANReader.CONFIG_KEYS).forEach(function(key) {\r\n config[key] = EANReader.CONFIG_KEYS[key].default;\r\n });\r\n return config;\r\n}\r\n\r\nvar properties = {\r\n CODE_L_START: {value: 0},\r\n CODE_G_START: {value: 10},\r\n START_PATTERN: {value: [1, 1, 1]},\r\n STOP_PATTERN: {value: [1, 1, 1]},\r\n MIDDLE_PATTERN: {value: [1, 1, 1, 1, 1]},\r\n EXTENSION_START_PATTERN: {value: [1, 1, 2]},\r\n CODE_PATTERN: {value: [\r\n [3, 2, 1, 1],\r\n [2, 2, 2, 1],\r\n [2, 1, 2, 2],\r\n [1, 4, 1, 1],\r\n [1, 1, 3, 2],\r\n [1, 2, 3, 1],\r\n [1, 1, 1, 4],\r\n [1, 3, 1, 2],\r\n [1, 2, 1, 3],\r\n [3, 1, 1, 2],\r\n [1, 1, 2, 3],\r\n [1, 2, 2, 2],\r\n [2, 2, 1, 2],\r\n [1, 1, 4, 1],\r\n [2, 3, 1, 1],\r\n [1, 3, 2, 1],\r\n [4, 1, 1, 1],\r\n [2, 1, 3, 1],\r\n [3, 1, 2, 1],\r\n [2, 1, 1, 3]\r\n ]},\r\n CODE_FREQUENCY: {value: [0, 11, 13, 14, 19, 25, 28, 21, 22, 26]},\r\n SINGLE_CODE_ERROR: {value: 0.70},\r\n AVG_CODE_ERROR: {value: 0.48},\r\n FORMAT: {value: \"ean_13\", writeable: false}\r\n};\r\n\r\nEANReader.prototype = Object.create(BarcodeReader.prototype, properties);\r\nEANReader.prototype.constructor = EANReader;\r\n\r\nEANReader.prototype._decodeCode = function(start, coderange) {\r\n var counter = [0, 0, 0, 0],\r\n i,\r\n self = this,\r\n offset = start,\r\n isWhite = !self._row[offset],\r\n counterPos = 0,\r\n bestMatch = {\r\n error: Number.MAX_VALUE,\r\n code: -1,\r\n start: start,\r\n end: start\r\n },\r\n code,\r\n error;\r\n\r\n if (!coderange) {\r\n coderange = self.CODE_PATTERN.length;\r\n }\r\n\r\n for ( i = offset; i < self._row.length; i++) {\r\n if (self._row[i] ^ isWhite) {\r\n counter[counterPos]++;\r\n } else {\r\n if (counterPos === counter.length - 1) {\r\n for (code = 0; code < coderange; code++) {\r\n error = self._matchPattern(counter, self.CODE_PATTERN[code]);\r\n if (error < bestMatch.error) {\r\n bestMatch.code = code;\r\n bestMatch.error = error;\r\n }\r\n }\r\n bestMatch.end = i;\r\n if (bestMatch.error > self.AVG_CODE_ERROR) {\r\n return null;\r\n }\r\n return bestMatch;\r\n } else {\r\n counterPos++;\r\n }\r\n counter[counterPos] = 1;\r\n isWhite = !isWhite;\r\n }\r\n }\r\n return null;\r\n};\r\n\r\nEANReader.prototype._findPattern = function(pattern, offset, isWhite, tryHarder, epsilon) {\r\n var counter = [],\r\n self = this,\r\n i,\r\n counterPos = 0,\r\n bestMatch = {\r\n error: Number.MAX_VALUE,\r\n code: -1,\r\n start: 0,\r\n end: 0\r\n },\r\n error,\r\n j,\r\n sum;\r\n\r\n if (!offset) {\r\n offset = self._nextSet(self._row);\r\n }\r\n\r\n if (isWhite === undefined) {\r\n isWhite = false;\r\n }\r\n\r\n if (tryHarder === undefined) {\r\n tryHarder = true;\r\n }\r\n\r\n if ( epsilon === undefined) {\r\n epsilon = self.AVG_CODE_ERROR;\r\n }\r\n\r\n for ( i = 0; i < pattern.length; i++) {\r\n counter[i] = 0;\r\n }\r\n\r\n for ( i = offset; i < self._row.length; i++) {\r\n if (self._row[i] ^ isWhite) {\r\n counter[counterPos]++;\r\n } else {\r\n if (counterPos === counter.length - 1) {\r\n sum = 0;\r\n for ( j = 0; j < counter.length; j++) {\r\n sum += counter[j];\r\n }\r\n error = self._matchPattern(counter, pattern);\r\n\r\n if (error < epsilon) {\r\n bestMatch.error = error;\r\n bestMatch.start = i - sum;\r\n bestMatch.end = i;\r\n return bestMatch;\r\n }\r\n if (tryHarder) {\r\n for ( j = 0; j < counter.length - 2; j++) {\r\n counter[j] = counter[j + 2];\r\n }\r\n counter[counter.length - 2] = 0;\r\n counter[counter.length - 1] = 0;\r\n counterPos--;\r\n } else {\r\n return null;\r\n }\r\n } else {\r\n counterPos++;\r\n }\r\n counter[counterPos] = 1;\r\n isWhite = !isWhite;\r\n }\r\n }\r\n return null;\r\n};\r\n\r\nEANReader.prototype._findStart = function() {\r\n var self = this,\r\n leadingWhitespaceStart,\r\n offset = self._nextSet(self._row),\r\n startInfo;\r\n\r\n while (!startInfo) {\r\n startInfo = self._findPattern(self.START_PATTERN, offset);\r\n if (!startInfo) {\r\n return null;\r\n }\r\n leadingWhitespaceStart = startInfo.start - (startInfo.end - startInfo.start);\r\n if (leadingWhitespaceStart >= 0) {\r\n if (self._matchRange(leadingWhitespaceStart, startInfo.start, 0)) {\r\n return startInfo;\r\n }\r\n }\r\n offset = startInfo.end;\r\n startInfo = null;\r\n }\r\n};\r\n\r\nEANReader.prototype._verifyTrailingWhitespace = function(endInfo) {\r\n var self = this,\r\n trailingWhitespaceEnd;\r\n\r\n trailingWhitespaceEnd = endInfo.end + (endInfo.end - endInfo.start);\r\n if (trailingWhitespaceEnd < self._row.length) {\r\n if (self._matchRange(endInfo.end, trailingWhitespaceEnd, 0)) {\r\n return endInfo;\r\n }\r\n }\r\n return null;\r\n};\r\n\r\nEANReader.prototype._findEnd = function(offset, isWhite) {\r\n var self = this,\r\n endInfo = self._findPattern(self.STOP_PATTERN, offset, isWhite, false);\r\n\r\n return endInfo !== null ? self._verifyTrailingWhitespace(endInfo) : null;\r\n};\r\n\r\nEANReader.prototype._calculateFirstDigit = function(codeFrequency) {\r\n var i,\r\n self = this;\r\n\r\n for ( i = 0; i < self.CODE_FREQUENCY.length; i++) {\r\n if (codeFrequency === self.CODE_FREQUENCY[i]) {\r\n return i;\r\n }\r\n }\r\n return null;\r\n};\r\n\r\nEANReader.prototype._decodePayload = function(code, result, decodedCodes) {\r\n var i,\r\n self = this,\r\n codeFrequency = 0x0,\r\n firstDigit;\r\n\r\n for ( i = 0; i < 6; i++) {\r\n code = self._decodeCode(code.end);\r\n if (!code) {\r\n return null;\r\n }\r\n if (code.code >= self.CODE_G_START) {\r\n code.code = code.code - self.CODE_G_START;\r\n codeFrequency |= 1 << (5 - i);\r\n } else {\r\n codeFrequency |= 0 << (5 - i);\r\n }\r\n result.push(code.code);\r\n decodedCodes.push(code);\r\n }\r\n\r\n firstDigit = self._calculateFirstDigit(codeFrequency);\r\n if (firstDigit === null) {\r\n return null;\r\n }\r\n result.unshift(firstDigit);\r\n\r\n code = self._findPattern(self.MIDDLE_PATTERN, code.end, true, false);\r\n if (code === null) {\r\n return null;\r\n }\r\n decodedCodes.push(code);\r\n\r\n for ( i = 0; i < 6; i++) {\r\n code = self._decodeCode(code.end, self.CODE_G_START);\r\n if (!code) {\r\n return null;\r\n }\r\n decodedCodes.push(code);\r\n result.push(code.code);\r\n }\r\n\r\n return code;\r\n};\r\n\r\nEANReader.prototype._decode = function() {\r\n var startInfo,\r\n self = this,\r\n code,\r\n result = [],\r\n decodedCodes = [],\r\n resultInfo = {};\r\n\r\n startInfo = self._findStart();\r\n if (!startInfo) {\r\n return null;\r\n }\r\n code = {\r\n code: startInfo.code,\r\n start: startInfo.start,\r\n end: startInfo.end\r\n };\r\n decodedCodes.push(code);\r\n code = self._decodePayload(code, result, decodedCodes);\r\n if (!code) {\r\n return null;\r\n }\r\n code = self._findEnd(code.end, false);\r\n if (!code){\r\n return null;\r\n }\r\n\r\n decodedCodes.push(code);\r\n\r\n // Checksum\r\n if (!self._checksum(result)) {\r\n return null;\r\n }\r\n\r\n if (this.supplements.length > 0) {\r\n let ext = this._decodeExtensions(code.end);\r\n if (!ext) {\r\n return null;\r\n }\r\n let lastCode = ext.decodedCodes[ext.decodedCodes.length-1],\r\n endInfo = {\r\n start: lastCode.start + (((lastCode.end - lastCode.start) / 2) | 0),\r\n end: lastCode.end\r\n };\r\n if(!self._verifyTrailingWhitespace(endInfo)) {\r\n return null;\r\n }\r\n resultInfo = {\r\n supplement: ext,\r\n code: result.join(\"\") + ext.code\r\n }\r\n }\r\n\r\n return {\r\n code: result.join(\"\"),\r\n start: startInfo.start,\r\n end: code.end,\r\n codeset: \"\",\r\n startInfo: startInfo,\r\n decodedCodes: decodedCodes,\r\n ...resultInfo\r\n };\r\n};\r\n\r\nEANReader.prototype._decodeExtensions = function(offset) {\r\n var i,\r\n start = this._nextSet(this._row, offset),\r\n startInfo = this._findPattern(this.EXTENSION_START_PATTERN, start, false, false),\r\n result;\r\n\r\n if (startInfo === null) {\r\n return null;\r\n }\r\n\r\n for (i = 0; i < this.supplements.length; i++) {\r\n result = this.supplements[i].decode(this._row, startInfo.end);\r\n if (result !== null) {\r\n return {\r\n code: result.code,\r\n start,\r\n startInfo,\r\n end: result.end,\r\n codeset: \"\",\r\n decodedCodes: result.decodedCodes\r\n }\r\n }\r\n }\r\n return null;\r\n};\r\n\r\nEANReader.prototype._checksum = function(result) {\r\n var sum = 0, i;\r\n\r\n for ( i = result.length - 2; i >= 0; i -= 2) {\r\n sum += result[i];\r\n }\r\n sum *= 3;\r\n for ( i = result.length - 1; i >= 0; i -= 2) {\r\n sum += result[i];\r\n }\r\n return sum % 10 === 0;\r\n};\r\n\r\nEANReader.CONFIG_KEYS = {\r\n supplements: {\r\n 'type': 'arrayOf(string)',\r\n 'default': [],\r\n 'description': 'Allowed extensions to be decoded (2 and/or 5)'\r\n }\r\n};\r\n\r\nexport default (EANReader);\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/reader/ean_reader.js\n **/","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_getNative.js\n ** module id = 5\n ** module chunks = 0\n **/","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_toKey.js\n ** module id = 6\n ** module chunks = 0\n **/","var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nmodule.exports = merge;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/merge.js\n ** module id = 7\n ** module chunks = 0\n **/","export default {\r\n drawRect: function(pos, size, ctx, style){\r\n ctx.strokeStyle = style.color;\r\n ctx.fillStyle = style.color;\r\n ctx.lineWidth = 1;\r\n ctx.beginPath();\r\n ctx.strokeRect(pos.x, pos.y, size.x, size.y);\r\n },\r\n drawPath: function(path, def, ctx, style) {\r\n ctx.strokeStyle = style.color;\r\n ctx.fillStyle = style.color;\r\n ctx.lineWidth = style.lineWidth;\r\n ctx.beginPath();\r\n ctx.moveTo(path[0][def.x], path[0][def.y]);\r\n for (var j = 1; j < path.length; j++) {\r\n ctx.lineTo(path[j][def.x], path[j][def.y]);\r\n }\r\n ctx.closePath();\r\n ctx.stroke();\r\n },\r\n drawImage: function(imageData, size, ctx) {\r\n var canvasData = ctx.getImageData(0, 0, size.x, size.y),\r\n data = canvasData.data,\r\n imageDataPos = imageData.length,\r\n canvasDataPos = data.length,\r\n value;\r\n\r\n if (canvasDataPos / imageDataPos !== 4) {\r\n return false;\r\n }\r\n while (imageDataPos--){\r\n value = imageData[imageDataPos];\r\n data[--canvasDataPos] = 255;\r\n data[--canvasDataPos] = value;\r\n data[--canvasDataPos] = value;\r\n data[--canvasDataPos] = value;\r\n }\r\n ctx.putImageData(canvasData, 0, 0);\r\n return true;\r\n }\r\n};\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/common/image_debug.js\n **/","function BarcodeReader(config, supplements) {\r\n this._row = [];\r\n this.config = config || {};\r\n this.supplements = supplements;\r\n return this;\r\n}\r\n\r\nBarcodeReader.prototype._nextUnset = function(line, start) {\r\n var i;\r\n\r\n if (start === undefined) {\r\n start = 0;\r\n }\r\n for (i = start; i < line.length; i++) {\r\n if (!line[i]) {\r\n return i;\r\n }\r\n }\r\n return line.length;\r\n};\r\n\r\nBarcodeReader.prototype._matchPattern = function(counter, code, maxSingleError) {\r\n var i,\r\n error = 0,\r\n singleError = 0,\r\n sum = 0,\r\n modulo = 0,\r\n barWidth,\r\n count,\r\n scaled;\r\n\r\n maxSingleError = maxSingleError || this.SINGLE_CODE_ERROR || 1;\r\n\r\n for (i = 0; i < counter.length; i++) {\r\n sum += counter[i];\r\n modulo += code[i];\r\n }\r\n if (sum < modulo) {\r\n return Number.MAX_VALUE;\r\n }\r\n barWidth = sum / modulo;\r\n maxSingleError *= barWidth;\r\n\r\n for (i = 0; i < counter.length; i++) {\r\n count = counter[i];\r\n scaled = code[i] * barWidth;\r\n singleError = Math.abs(count - scaled) / scaled;\r\n if (singleError > maxSingleError) {\r\n return Number.MAX_VALUE;\r\n }\r\n error += singleError;\r\n }\r\n return error / modulo;\r\n};\r\n\r\nBarcodeReader.prototype._nextSet = function(line, offset) {\r\n var i;\r\n\r\n offset = offset || 0;\r\n for (i = offset; i < line.length; i++) {\r\n if (line[i]) {\r\n return i;\r\n }\r\n }\r\n return line.length;\r\n};\r\n\r\nBarcodeReader.prototype._correctBars = function(counter, correction, indices) {\r\n var length = indices.length,\r\n tmp = 0;\r\n while(length--) {\r\n tmp = counter[indices[length]] * (1 - ((1 - correction) / 2));\r\n if (tmp > 1) {\r\n counter[indices[length]] = tmp;\r\n }\r\n }\r\n}\r\n\r\nBarcodeReader.prototype._matchTrace = function(cmpCounter, epsilon) {\r\n var counter = [],\r\n i,\r\n self = this,\r\n offset = self._nextSet(self._row),\r\n isWhite = !self._row[offset],\r\n counterPos = 0,\r\n bestMatch = {\r\n error: Number.MAX_VALUE,\r\n code: -1,\r\n start: 0\r\n },\r\n error;\r\n\r\n if (cmpCounter) {\r\n for ( i = 0; i < cmpCounter.length; i++) {\r\n counter.push(0);\r\n }\r\n for ( i = offset; i < self._row.length; i++) {\r\n if (self._row[i] ^ isWhite) {\r\n counter[counterPos]++;\r\n } else {\r\n if (counterPos === counter.length - 1) {\r\n error = self._matchPattern(counter, cmpCounter);\r\n\r\n if (error < epsilon) {\r\n bestMatch.start = i - offset;\r\n bestMatch.end = i;\r\n bestMatch.counter = counter;\r\n return bestMatch;\r\n } else {\r\n return null;\r\n }\r\n } else {\r\n counterPos++;\r\n }\r\n counter[counterPos] = 1;\r\n isWhite = !isWhite;\r\n }\r\n }\r\n } else {\r\n counter.push(0);\r\n for ( i = offset; i < self._row.length; i++) {\r\n if (self._row[i] ^ isWhite) {\r\n counter[counterPos]++;\r\n } else {\r\n counterPos++;\r\n counter.push(0);\r\n counter[counterPos] = 1;\r\n isWhite = !isWhite;\r\n }\r\n }\r\n }\r\n\r\n // if cmpCounter was not given\r\n bestMatch.start = offset;\r\n bestMatch.end = self._row.length - 1;\r\n bestMatch.counter = counter;\r\n return bestMatch;\r\n};\r\n\r\nBarcodeReader.prototype.decodePattern = function(pattern) {\r\n var self = this,\r\n result;\r\n\r\n self._row = pattern;\r\n result = self._decode();\r\n if (result === null) {\r\n self._row.reverse();\r\n result = self._decode();\r\n if (result) {\r\n result.direction = BarcodeReader.DIRECTION.REVERSE;\r\n result.start = self._row.length - result.start;\r\n result.end = self._row.length - result.end;\r\n }\r\n } else {\r\n result.direction = BarcodeReader.DIRECTION.FORWARD;\r\n }\r\n if (result) {\r\n result.format = self.FORMAT;\r\n }\r\n return result;\r\n};\r\n\r\nBarcodeReader.prototype._matchRange = function(start, end, value) {\r\n var i;\r\n\r\n start = start < 0 ? 0 : start;\r\n for (i = start; i < end; i++) {\r\n if (this._row[i] !== value) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n};\r\n\r\nBarcodeReader.prototype._fillCounters = function(offset, end, isWhite) {\r\n var self = this,\r\n counterPos = 0,\r\n i,\r\n counters = [];\r\n\r\n isWhite = (typeof isWhite !== 'undefined') ? isWhite : true;\r\n offset = (typeof offset !== 'undefined') ? offset : self._nextUnset(self._row);\r\n end = end || self._row.length;\r\n\r\n counters[counterPos] = 0;\r\n for (i = offset; i < end; i++) {\r\n if (self._row[i] ^ isWhite) {\r\n counters[counterPos]++;\r\n } else {\r\n counterPos++;\r\n counters[counterPos] = 1;\r\n isWhite = !isWhite;\r\n }\r\n }\r\n return counters;\r\n};\r\n\r\nObject.defineProperty(BarcodeReader.prototype, \"FORMAT\", {\r\n value: 'unknown',\r\n writeable: false\r\n});\r\n\r\nBarcodeReader.DIRECTION = {\r\n FORWARD: 1,\r\n REVERSE: -1\r\n};\r\n\r\nBarcodeReader.Exception = {\r\n StartNotFoundException: \"Start-Info was not found!\",\r\n CodeNotFoundException: \"Code could not be found!\",\r\n PatternNotFoundException: \"Pattern could not be found!\"\r\n};\r\n\r\nBarcodeReader.CONFIG_KEYS = {};\r\n\r\nexport default BarcodeReader;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/reader/barcode_reader.js\n **/","module.exports = clone\n\n/**\n * Creates a new vec2 initialized with values from an existing vector\n *\n * @param {vec2} a vector to clone\n * @returns {vec2} a new 2D vector\n */\nfunction clone(a) {\n var out = new Float32Array(2)\n out[0] = a[0]\n out[1] = a[1]\n return out\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/gl-vec2/clone.js\n ** module id = 10\n ** module chunks = 0\n **/","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/eq.js\n ** module id = 11\n ** module chunks = 0\n **/","var isArrayLikeObject = require('./isArrayLikeObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isArguments.js\n ** module id = 12\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isArrayLike.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isObjectLike.js\n ** module id = 14\n ** module chunks = 0\n **/","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/keys.js\n ** module id = 15\n ** module chunks = 0\n **/","export default {\r\n init: function(arr, val) {\r\n var l = arr.length;\r\n while (l--) {\r\n arr[l] = val;\r\n }\r\n },\r\n\r\n /**\r\n * Shuffles the content of an array\r\n * @return {Array} the array itself shuffled\r\n */\r\n shuffle: function(arr) {\r\n var i = arr.length - 1, j, x;\r\n for (i; i >= 0; i--) {\r\n j = Math.floor(Math.random() * i);\r\n x = arr[i];\r\n arr[i] = arr[j];\r\n arr[j] = x;\r\n }\r\n return arr;\r\n },\r\n\r\n toPointList: function(arr) {\r\n var i, j, row = [], rows = [];\r\n for ( i = 0; i < arr.length; i++) {\r\n row = [];\r\n for ( j = 0; j < arr[i].length; j++) {\r\n row[j] = arr[i][j];\r\n }\r\n rows[i] = \"[\" + row.join(\",\") + \"]\";\r\n }\r\n return \"[\" + rows.join(\",\\r\\n\") + \"]\";\r\n },\r\n\r\n /**\r\n * returns the elements which's score is bigger than the threshold\r\n * @return {Array} the reduced array\r\n */\r\n threshold: function(arr, threshold, scoreFunc) {\r\n var i, queue = [];\r\n for ( i = 0; i < arr.length; i++) {\r\n if (scoreFunc.apply(arr, [arr[i]]) >= threshold) {\r\n queue.push(arr[i]);\r\n }\r\n }\r\n return queue;\r\n },\r\n\r\n maxIndex: function(arr) {\r\n var i, max = 0;\r\n for ( i = 0; i < arr.length; i++) {\r\n if (arr[i] > arr[max]) {\r\n max = i;\r\n }\r\n }\r\n return max;\r\n },\r\n\r\n max: function(arr) {\r\n var i, max = 0;\r\n for ( i = 0; i < arr.length; i++) {\r\n if (arr[i] > max) {\r\n max = arr[i];\r\n }\r\n }\r\n return max;\r\n },\r\n\r\n sum: function(arr) {\r\n var length = arr.length,\r\n sum = 0;\r\n\r\n while (length--) {\r\n sum += arr[length];\r\n }\r\n return sum;\r\n }\r\n};\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/common/array_helper.js\n **/","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_ListCache.js\n ** module id = 17\n ** module chunks = 0\n **/","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_Stack.js\n ** module id = 18\n ** module chunks = 0\n **/","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_Symbol.js\n ** module id = 19\n ** module chunks = 0\n **/","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_assocIndexOf.js\n ** module id = 20\n ** module chunks = 0\n **/","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_getMapData.js\n ** module id = 21\n ** module chunks = 0\n **/","/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\nmodule.exports = isHostObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_isHostObject.js\n ** module id = 22\n ** module chunks = 0\n **/","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_isKey.js\n ** module id = 23\n ** module chunks = 0\n **/","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_isPrototype.js\n ** module id = 24\n ** module chunks = 0\n **/","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_nativeCreate.js\n ** module id = 25\n ** module chunks = 0\n **/","import Cluster2 from './cluster';\r\nimport ArrayHelper from './array_helper';\r\nconst vec2 = {\r\n clone: require('gl-vec2/clone')\r\n};\r\nconst vec3 = {\r\n clone: require('gl-vec3/clone')\r\n};\r\n\r\n/**\r\n * @param x x-coordinate\r\n * @param y y-coordinate\r\n * @return ImageReference {x,y} Coordinate\r\n */\r\nexport function imageRef(x, y) {\r\n var that = {\r\n x: x,\r\n y: y,\r\n toVec2: function() {\r\n return vec2.clone([this.x, this.y]);\r\n },\r\n toVec3: function() {\r\n return vec3.clone([this.x, this.y, 1]);\r\n },\r\n round: function() {\r\n this.x = this.x > 0.0 ? Math.floor(this.x + 0.5) : Math.floor(this.x - 0.5);\r\n this.y = this.y > 0.0 ? Math.floor(this.y + 0.5) : Math.floor(this.y - 0.5);\r\n return this;\r\n }\r\n };\r\n return that;\r\n};\r\n\r\n/**\r\n * Computes an integral image of a given grayscale image.\r\n * @param imageDataContainer {ImageDataContainer} the image to be integrated\r\n */\r\nexport function computeIntegralImage2(imageWrapper, integralWrapper) {\r\n var imageData = imageWrapper.data;\r\n var width = imageWrapper.size.x;\r\n var height = imageWrapper.size.y;\r\n var integralImageData = integralWrapper.data;\r\n var sum = 0, posA = 0, posB = 0, posC = 0, posD = 0, x, y;\r\n\r\n // sum up first column\r\n posB = width;\r\n sum = 0;\r\n for ( y = 1; y < height; y++) {\r\n sum += imageData[posA];\r\n integralImageData[posB] += sum;\r\n posA += width;\r\n posB += width;\r\n }\r\n\r\n posA = 0;\r\n posB = 1;\r\n sum = 0;\r\n for ( x = 1; x < width; x++) {\r\n sum += imageData[posA];\r\n integralImageData[posB] += sum;\r\n posA++;\r\n posB++;\r\n }\r\n\r\n for ( y = 1; y < height; y++) {\r\n posA = y * width + 1;\r\n posB = (y - 1) * width + 1;\r\n posC = y * width;\r\n posD = (y - 1) * width;\r\n for ( x = 1; x < width; x++) {\r\n integralImageData[posA] +=\r\n imageData[posA] + integralImageData[posB] + integralImageData[posC] - integralImageData[posD];\r\n posA++;\r\n posB++;\r\n posC++;\r\n posD++;\r\n }\r\n }\r\n};\r\n\r\nexport function computeIntegralImage(imageWrapper, integralWrapper) {\r\n var imageData = imageWrapper.data;\r\n var width = imageWrapper.size.x;\r\n var height = imageWrapper.size.y;\r\n var integralImageData = integralWrapper.data;\r\n var sum = 0;\r\n\r\n // sum up first row\r\n for (var i = 0; i < width; i++) {\r\n sum += imageData[i];\r\n integralImageData[i] = sum;\r\n }\r\n\r\n for (var v = 1; v < height; v++) {\r\n sum = 0;\r\n for (var u = 0; u < width; u++) {\r\n sum += imageData[v * width + u];\r\n integralImageData[((v) * width) + u] = sum + integralImageData[(v - 1) * width + u];\r\n }\r\n }\r\n};\r\n\r\nexport function thresholdImage(imageWrapper, threshold, targetWrapper) {\r\n if (!targetWrapper) {\r\n targetWrapper = imageWrapper;\r\n }\r\n var imageData = imageWrapper.data, length = imageData.length, targetData = targetWrapper.data;\r\n\r\n while (length--) {\r\n targetData[length] = imageData[length] < threshold ? 1 : 0;\r\n }\r\n};\r\n\r\nexport function computeHistogram(imageWrapper, bitsPerPixel) {\r\n if (!bitsPerPixel) {\r\n bitsPerPixel = 8;\r\n }\r\n var imageData = imageWrapper.data,\r\n length = imageData.length,\r\n bitShift = 8 - bitsPerPixel,\r\n bucketCnt = 1 << bitsPerPixel,\r\n hist = new Int32Array(bucketCnt);\r\n\r\n while (length--) {\r\n hist[imageData[length] >> bitShift]++;\r\n }\r\n return hist;\r\n};\r\n\r\nexport function sharpenLine(line) {\r\n var i,\r\n length = line.length,\r\n left = line[0],\r\n center = line[1],\r\n right;\r\n\r\n for (i = 1; i < length - 1; i++) {\r\n right = line[i + 1];\r\n // -1 4 -1 kernel\r\n line[i - 1] = (((center * 2) - left - right)) & 255;\r\n left = center;\r\n center = right;\r\n }\r\n return line;\r\n};\r\n\r\nexport function determineOtsuThreshold(imageWrapper, bitsPerPixel) {\r\n if (!bitsPerPixel) {\r\n bitsPerPixel = 8;\r\n }\r\n var hist,\r\n threshold,\r\n bitShift = 8 - bitsPerPixel;\r\n\r\n function px(init, end) {\r\n var sum = 0, i;\r\n for ( i = init; i <= end; i++) {\r\n sum += hist[i];\r\n }\r\n return sum;\r\n }\r\n\r\n function mx(init, end) {\r\n var i, sum = 0;\r\n\r\n for ( i = init; i <= end; i++) {\r\n sum += i * hist[i];\r\n }\r\n\r\n return sum;\r\n }\r\n\r\n function determineThreshold() {\r\n var vet = [0], p1, p2, p12, k, m1, m2, m12,\r\n max = (1 << bitsPerPixel) - 1;\r\n\r\n hist = computeHistogram(imageWrapper, bitsPerPixel);\r\n for ( k = 1; k < max; k++) {\r\n p1 = px(0, k);\r\n p2 = px(k + 1, max);\r\n p12 = p1 * p2;\r\n if (p12 === 0) {\r\n p12 = 1;\r\n }\r\n m1 = mx(0, k) * p2;\r\n m2 = mx(k + 1, max) * p1;\r\n m12 = m1 - m2;\r\n vet[k] = m12 * m12 / p12;\r\n }\r\n return ArrayHelper.maxIndex(vet);\r\n }\r\n\r\n threshold = determineThreshold();\r\n return threshold << bitShift;\r\n};\r\n\r\nexport function otsuThreshold(imageWrapper, targetWrapper) {\r\n var threshold = determineOtsuThreshold(imageWrapper);\r\n\r\n thresholdImage(imageWrapper, threshold, targetWrapper);\r\n return threshold;\r\n};\r\n\r\n// local thresholding\r\nexport function computeBinaryImage(imageWrapper, integralWrapper, targetWrapper) {\r\n computeIntegralImage(imageWrapper, integralWrapper);\r\n\r\n if (!targetWrapper) {\r\n targetWrapper = imageWrapper;\r\n }\r\n var imageData = imageWrapper.data;\r\n var targetData = targetWrapper.data;\r\n var width = imageWrapper.size.x;\r\n var height = imageWrapper.size.y;\r\n var integralImageData = integralWrapper.data;\r\n var sum = 0, v, u, kernel = 3, A, B, C, D, avg, size = (kernel * 2 + 1) * (kernel * 2 + 1);\r\n\r\n // clear out top & bottom-border\r\n for ( v = 0; v <= kernel; v++) {\r\n for ( u = 0; u < width; u++) {\r\n targetData[((v) * width) + u] = 0;\r\n targetData[(((height - 1) - v) * width) + u] = 0;\r\n }\r\n }\r\n\r\n // clear out left & right border\r\n for ( v = kernel; v < height - kernel; v++) {\r\n for ( u = 0; u <= kernel; u++) {\r\n targetData[((v) * width) + u] = 0;\r\n targetData[((v) * width) + (width - 1 - u)] = 0;\r\n }\r\n }\r\n\r\n for ( v = kernel + 1; v < height - kernel - 1; v++) {\r\n for ( u = kernel + 1; u < width - kernel; u++) {\r\n A = integralImageData[(v - kernel - 1) * width + (u - kernel - 1)];\r\n B = integralImageData[(v - kernel - 1) * width + (u + kernel)];\r\n C = integralImageData[(v + kernel) * width + (u - kernel - 1)];\r\n D = integralImageData[(v + kernel) * width + (u + kernel)];\r\n sum = D - C - B + A;\r\n avg = sum / (size);\r\n targetData[v * width + u] = imageData[v * width + u] > (avg + 5) ? 0 : 1;\r\n }\r\n }\r\n};\r\n\r\nexport function cluster(points, threshold, property) {\r\n var i, k, cluster, point, clusters = [];\r\n\r\n if (!property) {\r\n property = \"rad\";\r\n }\r\n\r\n function addToCluster(newPoint) {\r\n var found = false;\r\n for ( k = 0; k < clusters.length; k++) {\r\n cluster = clusters[k];\r\n if (cluster.fits(newPoint)) {\r\n cluster.add(newPoint);\r\n found = true;\r\n }\r\n }\r\n return found;\r\n }\r\n\r\n // iterate over each cloud\r\n for ( i = 0; i < points.length; i++) {\r\n point = Cluster2.createPoint(points[i], i, property);\r\n if (!addToCluster(point)) {\r\n clusters.push(Cluster2.create(point, threshold));\r\n }\r\n }\r\n return clusters;\r\n};\r\n\r\nexport const Tracer = {\r\n trace: function(points, vec) {\r\n var iteration, maxIterations = 10, top = [], result = [], centerPos = 0, currentPos = 0;\r\n\r\n function trace(idx, forward) {\r\n var from, to, toIdx, predictedPos, thresholdX = 1, thresholdY = Math.abs(vec[1] / 10), found = false;\r\n\r\n function match(pos, predicted) {\r\n if (pos.x > (predicted.x - thresholdX)\r\n && pos.x < (predicted.x + thresholdX)\r\n && pos.y > (predicted.y - thresholdY)\r\n && pos.y < (predicted.y + thresholdY)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n // check if the next index is within the vec specifications\r\n // if not, check as long as the threshold is met\r\n\r\n from = points[idx];\r\n if (forward) {\r\n predictedPos = {\r\n x: from.x + vec[0],\r\n y: from.y + vec[1]\r\n };\r\n } else {\r\n predictedPos = {\r\n x: from.x - vec[0],\r\n y: from.y - vec[1]\r\n };\r\n }\r\n\r\n toIdx = forward ? idx + 1 : idx - 1;\r\n to = points[toIdx];\r\n while (to && ( found = match(to, predictedPos)) !== true && (Math.abs(to.y - from.y) < vec[1])) {\r\n toIdx = forward ? toIdx + 1 : toIdx - 1;\r\n to = points[toIdx];\r\n }\r\n\r\n return found ? toIdx : null;\r\n }\r\n\r\n for ( iteration = 0; iteration < maxIterations; iteration++) {\r\n // randomly select point to start with\r\n centerPos = Math.floor(Math.random() * points.length);\r\n\r\n // trace forward\r\n top = [];\r\n currentPos = centerPos;\r\n top.push(points[currentPos]);\r\n while (( currentPos = trace(currentPos, true)) !== null) {\r\n top.push(points[currentPos]);\r\n }\r\n if (centerPos > 0) {\r\n currentPos = centerPos;\r\n while (( currentPos = trace(currentPos, false)) !== null) {\r\n top.push(points[currentPos]);\r\n }\r\n }\r\n\r\n if (top.length > result.length) {\r\n result = top;\r\n }\r\n }\r\n return result;\r\n }\r\n};\r\n\r\nexport const DILATE = 1;\r\nexport const ERODE = 2;\r\n\r\nexport function dilate(inImageWrapper, outImageWrapper) {\r\n var v,\r\n u,\r\n inImageData = inImageWrapper.data,\r\n outImageData = outImageWrapper.data,\r\n height = inImageWrapper.size.y,\r\n width = inImageWrapper.size.x,\r\n sum,\r\n yStart1,\r\n yStart2,\r\n xStart1,\r\n xStart2;\r\n\r\n for ( v = 1; v < height - 1; v++) {\r\n for ( u = 1; u < width - 1; u++) {\r\n yStart1 = v - 1;\r\n yStart2 = v + 1;\r\n xStart1 = u - 1;\r\n xStart2 = u + 1;\r\n sum = inImageData[yStart1 * width + xStart1] + inImageData[yStart1 * width + xStart2] +\r\n inImageData[v * width + u] +\r\n inImageData[yStart2 * width + xStart1] + inImageData[yStart2 * width + xStart2];\r\n outImageData[v * width + u] = sum > 0 ? 1 : 0;\r\n }\r\n }\r\n};\r\n\r\nexport function erode(inImageWrapper, outImageWrapper) {\r\n var v,\r\n u,\r\n inImageData = inImageWrapper.data,\r\n outImageData = outImageWrapper.data,\r\n height = inImageWrapper.size.y,\r\n width = inImageWrapper.size.x,\r\n sum,\r\n yStart1,\r\n yStart2,\r\n xStart1,\r\n xStart2;\r\n\r\n for ( v = 1; v < height - 1; v++) {\r\n for ( u = 1; u < width - 1; u++) {\r\n yStart1 = v - 1;\r\n yStart2 = v + 1;\r\n xStart1 = u - 1;\r\n xStart2 = u + 1;\r\n sum = inImageData[yStart1 * width + xStart1] + inImageData[yStart1 * width + xStart2] +\r\n inImageData[v * width + u] +\r\n inImageData[yStart2 * width + xStart1] + inImageData[yStart2 * width + xStart2];\r\n outImageData[v * width + u] = sum === 5 ? 1 : 0;\r\n }\r\n }\r\n};\r\n\r\nexport function subtract(aImageWrapper, bImageWrapper, resultImageWrapper) {\r\n if (!resultImageWrapper) {\r\n resultImageWrapper = aImageWrapper;\r\n }\r\n var length = aImageWrapper.data.length,\r\n aImageData = aImageWrapper.data,\r\n bImageData = bImageWrapper.data,\r\n cImageData = resultImageWrapper.data;\r\n\r\n while (length--) {\r\n cImageData[length] = aImageData[length] - bImageData[length];\r\n }\r\n};\r\n\r\nexport function bitwiseOr(aImageWrapper, bImageWrapper, resultImageWrapper) {\r\n if (!resultImageWrapper) {\r\n resultImageWrapper = aImageWrapper;\r\n }\r\n var length = aImageWrapper.data.length,\r\n aImageData = aImageWrapper.data,\r\n bImageData = bImageWrapper.data,\r\n cImageData = resultImageWrapper.data;\r\n\r\n while (length--) {\r\n cImageData[length] = aImageData[length] || bImageData[length];\r\n }\r\n};\r\n\r\nexport function countNonZero(imageWrapper) {\r\n var length = imageWrapper.data.length, data = imageWrapper.data, sum = 0;\r\n\r\n while (length--) {\r\n sum += data[length];\r\n }\r\n return sum;\r\n};\r\n\r\nexport function topGeneric(list, top, scoreFunc) {\r\n var i, minIdx = 0, min = 0, queue = [], score, hit, pos;\r\n\r\n for ( i = 0; i < top; i++) {\r\n queue[i] = {\r\n score: 0,\r\n item: null\r\n };\r\n }\r\n\r\n for ( i = 0; i < list.length; i++) {\r\n score = scoreFunc.apply(this, [list[i]]);\r\n if (score > min) {\r\n hit = queue[minIdx];\r\n hit.score = score;\r\n hit.item = list[i];\r\n min = Number.MAX_VALUE;\r\n for ( pos = 0; pos < top; pos++) {\r\n if (queue[pos].score < min) {\r\n min = queue[pos].score;\r\n minIdx = pos;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return queue;\r\n};\r\n\r\nexport function grayArrayFromImage(htmlImage, offsetX, ctx, array) {\r\n ctx.drawImage(htmlImage, offsetX, 0, htmlImage.width, htmlImage.height);\r\n var ctxData = ctx.getImageData(offsetX, 0, htmlImage.width, htmlImage.height).data;\r\n computeGray(ctxData, array);\r\n};\r\n\r\nexport function grayArrayFromContext(ctx, size, offset, array) {\r\n var ctxData = ctx.getImageData(offset.x, offset.y, size.x, size.y).data;\r\n computeGray(ctxData, array);\r\n};\r\n\r\nexport function grayAndHalfSampleFromCanvasData(canvasData, size, outArray) {\r\n var topRowIdx = 0;\r\n var bottomRowIdx = size.x;\r\n var endIdx = Math.floor(canvasData.length / 4);\r\n var outWidth = size.x / 2;\r\n var outImgIdx = 0;\r\n var inWidth = size.x;\r\n var i;\r\n\r\n while (bottomRowIdx < endIdx) {\r\n for ( i = 0; i < outWidth; i++) {\r\n outArray[outImgIdx] = Math.floor((\r\n (0.299 * canvasData[topRowIdx * 4 + 0] +\r\n 0.587 * canvasData[topRowIdx * 4 + 1] +\r\n 0.114 * canvasData[topRowIdx * 4 + 2]) +\r\n (0.299 * canvasData[(topRowIdx + 1) * 4 + 0] +\r\n 0.587 * canvasData[(topRowIdx + 1) * 4 + 1] +\r\n 0.114 * canvasData[(topRowIdx + 1) * 4 + 2]) +\r\n (0.299 * canvasData[(bottomRowIdx) * 4 + 0] +\r\n 0.587 * canvasData[(bottomRowIdx) * 4 + 1] +\r\n 0.114 * canvasData[(bottomRowIdx) * 4 + 2]) +\r\n (0.299 * canvasData[(bottomRowIdx + 1) * 4 + 0] +\r\n 0.587 * canvasData[(bottomRowIdx + 1) * 4 + 1] +\r\n 0.114 * canvasData[(bottomRowIdx + 1) * 4 + 2])) / 4);\r\n outImgIdx++;\r\n topRowIdx = topRowIdx + 2;\r\n bottomRowIdx = bottomRowIdx + 2;\r\n }\r\n topRowIdx = topRowIdx + inWidth;\r\n bottomRowIdx = bottomRowIdx + inWidth;\r\n }\r\n};\r\n\r\nexport function computeGray(imageData, outArray, config) {\r\n var l = (imageData.length / 4) | 0,\r\n i,\r\n singleChannel = config && config.singleChannel === true;\r\n\r\n if (singleChannel) {\r\n for (i = 0; i < l; i++) {\r\n outArray[i] = imageData[i * 4 + 0];\r\n }\r\n } else {\r\n for (i = 0; i < l; i++) {\r\n outArray[i] = Math.floor(\r\n 0.299 * imageData[i * 4 + 0] + 0.587 * imageData[i * 4 + 1] + 0.114 * imageData[i * 4 + 2]);\r\n }\r\n }\r\n};\r\n\r\nexport function loadImageArray(src, callback, canvas) {\r\n if (!canvas) {\r\n canvas = document.createElement('canvas');\r\n }\r\n var img = new Image();\r\n img.callback = callback;\r\n img.onload = function() {\r\n canvas.width = this.width;\r\n canvas.height = this.height;\r\n var ctx = canvas.getContext('2d');\r\n ctx.drawImage(this, 0, 0);\r\n var array = new Uint8Array(this.width * this.height);\r\n ctx.drawImage(this, 0, 0);\r\n var data = ctx.getImageData(0, 0, this.width, this.height).data;\r\n computeGray(data, array);\r\n this.callback(array, {\r\n x: this.width,\r\n y: this.height\r\n }, this);\r\n };\r\n img.src = src;\r\n};\r\n\r\n/**\r\n * @param inImg {ImageWrapper} input image to be sampled\r\n * @param outImg {ImageWrapper} to be stored in\r\n */\r\nexport function halfSample(inImgWrapper, outImgWrapper) {\r\n var inImg = inImgWrapper.data;\r\n var inWidth = inImgWrapper.size.x;\r\n var outImg = outImgWrapper.data;\r\n var topRowIdx = 0;\r\n var bottomRowIdx = inWidth;\r\n var endIdx = inImg.length;\r\n var outWidth = inWidth / 2;\r\n var outImgIdx = 0;\r\n while (bottomRowIdx < endIdx) {\r\n for (var i = 0; i < outWidth; i++) {\r\n outImg[outImgIdx] = Math.floor(\r\n (inImg[topRowIdx] + inImg[topRowIdx + 1] + inImg[bottomRowIdx] + inImg[bottomRowIdx + 1]) / 4);\r\n outImgIdx++;\r\n topRowIdx = topRowIdx + 2;\r\n bottomRowIdx = bottomRowIdx + 2;\r\n }\r\n topRowIdx = topRowIdx + inWidth;\r\n bottomRowIdx = bottomRowIdx + inWidth;\r\n }\r\n};\r\n\r\nexport function hsv2rgb(hsv, rgb) {\r\n var h = hsv[0],\r\n s = hsv[1],\r\n v = hsv[2],\r\n c = v * s,\r\n x = c * (1 - Math.abs((h / 60) % 2 - 1)),\r\n m = v - c,\r\n r = 0,\r\n g = 0,\r\n b = 0;\r\n\r\n rgb = rgb || [0, 0, 0];\r\n\r\n if (h < 60) {\r\n r = c;\r\n g = x;\r\n } else if (h < 120) {\r\n r = x;\r\n g = c;\r\n } else if (h < 180) {\r\n g = c;\r\n b = x;\r\n } else if (h < 240) {\r\n g = x;\r\n b = c;\r\n } else if (h < 300) {\r\n r = x;\r\n b = c;\r\n } else if (h < 360) {\r\n r = c;\r\n b = x;\r\n }\r\n rgb[0] = ((r + m) * 255) | 0;\r\n rgb[1] = ((g + m) * 255) | 0;\r\n rgb[2] = ((b + m) * 255) | 0;\r\n return rgb;\r\n};\r\n\r\nexport function _computeDivisors(n) {\r\n var largeDivisors = [],\r\n divisors = [],\r\n i;\r\n\r\n for (i = 1; i < Math.sqrt(n) + 1; i++) {\r\n if (n % i === 0) {\r\n divisors.push(i);\r\n if (i !== n / i) {\r\n largeDivisors.unshift(Math.floor(n / i));\r\n }\r\n }\r\n }\r\n return divisors.concat(largeDivisors);\r\n};\r\n\r\nfunction _computeIntersection(arr1, arr2) {\r\n var i = 0,\r\n j = 0,\r\n result = [];\r\n\r\n while (i < arr1.length && j < arr2.length) {\r\n if (arr1[i] === arr2[j]) {\r\n result.push(arr1[i]);\r\n i++;\r\n j++;\r\n } else if (arr1[i] > arr2[j]) {\r\n j++;\r\n } else {\r\n i++;\r\n }\r\n }\r\n return result;\r\n};\r\n\r\nexport function calculatePatchSize(patchSize, imgSize) {\r\n var divisorsX = _computeDivisors(imgSize.x),\r\n divisorsY = _computeDivisors(imgSize.y),\r\n wideSide = Math.max(imgSize.x, imgSize.y),\r\n common = _computeIntersection(divisorsX, divisorsY),\r\n nrOfPatchesList = [8, 10, 15, 20, 32, 60, 80],\r\n nrOfPatchesMap = {\r\n \"x-small\": 5,\r\n \"small\": 4,\r\n \"medium\": 3,\r\n \"large\": 2,\r\n \"x-large\": 1\r\n },\r\n nrOfPatchesIdx = nrOfPatchesMap[patchSize] || nrOfPatchesMap.medium,\r\n nrOfPatches = nrOfPatchesList[nrOfPatchesIdx],\r\n desiredPatchSize = Math.floor(wideSide / nrOfPatches),\r\n optimalPatchSize;\r\n\r\n function findPatchSizeForDivisors(divisors) {\r\n var i = 0,\r\n found = divisors[Math.floor(divisors.length / 2)];\r\n\r\n while (i < (divisors.length - 1) && divisors[i] < desiredPatchSize) {\r\n i++;\r\n }\r\n if (i > 0) {\r\n if (Math.abs(divisors[i] - desiredPatchSize) > Math.abs(divisors[i - 1] - desiredPatchSize)) {\r\n found = divisors[i - 1];\r\n } else {\r\n found = divisors[i];\r\n }\r\n }\r\n if (desiredPatchSize / found < nrOfPatchesList[nrOfPatchesIdx + 1] / nrOfPatchesList[nrOfPatchesIdx] &&\r\n desiredPatchSize / found > nrOfPatchesList[nrOfPatchesIdx - 1] / nrOfPatchesList[nrOfPatchesIdx] ) {\r\n return {x: found, y: found};\r\n }\r\n return null;\r\n }\r\n\r\n optimalPatchSize = findPatchSizeForDivisors(common);\r\n if (!optimalPatchSize) {\r\n optimalPatchSize = findPatchSizeForDivisors(_computeDivisors(wideSide));\r\n if (!optimalPatchSize) {\r\n optimalPatchSize = findPatchSizeForDivisors((_computeDivisors(desiredPatchSize * nrOfPatches)));\r\n }\r\n }\r\n return optimalPatchSize;\r\n};\r\n\r\nexport function _parseCSSDimensionValues(value) {\r\n var dimension = {\r\n value: parseFloat(value),\r\n unit: value.indexOf(\"%\") === value.length - 1 ? \"%\" : \"%\"\r\n };\r\n\r\n return dimension;\r\n};\r\n\r\nexport const _dimensionsConverters = {\r\n top: function(dimension, context) {\r\n if (dimension.unit === \"%\") {\r\n return Math.floor(context.height * (dimension.value / 100));\r\n }\r\n },\r\n right: function(dimension, context) {\r\n if (dimension.unit === \"%\") {\r\n return Math.floor(context.width - (context.width * (dimension.value / 100)));\r\n }\r\n },\r\n bottom: function(dimension, context) {\r\n if (dimension.unit === \"%\") {\r\n return Math.floor(context.height - (context.height * (dimension.value / 100)));\r\n }\r\n },\r\n left: function(dimension, context) {\r\n if (dimension.unit === \"%\") {\r\n return Math.floor(context.width * (dimension.value / 100));\r\n }\r\n }\r\n};\r\n\r\nexport function computeImageArea(inputWidth, inputHeight, area) {\r\n var context = {width: inputWidth, height: inputHeight};\r\n\r\n var parsedArea = Object.keys(area).reduce(function(result, key) {\r\n var value = area[key],\r\n parsed = _parseCSSDimensionValues(value),\r\n calculated = _dimensionsConverters[key](parsed, context);\r\n\r\n result[key] = calculated;\r\n return result;\r\n }, {});\r\n\r\n return {\r\n sx: parsedArea.left,\r\n sy: parsedArea.top,\r\n sw: parsedArea.right - parsedArea.left,\r\n sh: parsedArea.bottom - parsedArea.top\r\n };\r\n};\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/common/cv_utils.js\n **/","import SubImage from './subImage';\r\nimport {hsv2rgb} from '../common/cv_utils';\r\nimport ArrayHelper from '../common/array_helper';\r\nconst vec2 = {\r\n clone: require('gl-vec2/clone'),\r\n};\r\n\r\n/**\r\n * Represents a basic image combining the data and size.\r\n * In addition, some methods for manipulation are contained.\r\n * @param size {x,y} The size of the image in pixel\r\n * @param data {Array} If given, a flat array containing the pixel data\r\n * @param ArrayType {Type} If given, the desired DataType of the Array (may be typed/non-typed)\r\n * @param initialize {Boolean} Indicating if the array should be initialized on creation.\r\n * @returns {ImageWrapper}\r\n */\r\nfunction ImageWrapper(size, data, ArrayType, initialize) {\r\n if (!data) {\r\n if (ArrayType) {\r\n this.data = new ArrayType(size.x * size.y);\r\n if (ArrayType === Array && initialize) {\r\n ArrayHelper.init(this.data, 0);\r\n }\r\n } else {\r\n this.data = new Uint8Array(size.x * size.y);\r\n if (Uint8Array === Array && initialize) {\r\n ArrayHelper.init(this.data, 0);\r\n }\r\n }\r\n } else {\r\n this.data = data;\r\n }\r\n this.size = size;\r\n}\r\n\r\n/**\r\n * tests if a position is within the image with a given offset\r\n * @param imgRef {x, y} The location to test\r\n * @param border Number the padding value in pixel\r\n * @returns {Boolean} true if location inside the image's border, false otherwise\r\n * @see cvd/image.h\r\n */\r\nImageWrapper.prototype.inImageWithBorder = function(imgRef, border) {\r\n return (imgRef.x >= border)\r\n && (imgRef.y >= border)\r\n && (imgRef.x < (this.size.x - border))\r\n && (imgRef.y < (this.size.y - border));\r\n};\r\n\r\n/**\r\n * Performs bilinear sampling\r\n * @param inImg Image to extract sample from\r\n * @param x the x-coordinate\r\n * @param y the y-coordinate\r\n * @returns the sampled value\r\n * @see cvd/vision.h\r\n */\r\nImageWrapper.sample = function(inImg, x, y) {\r\n var lx = Math.floor(x);\r\n var ly = Math.floor(y);\r\n var w = inImg.size.x;\r\n var base = ly * inImg.size.x + lx;\r\n var a = inImg.data[base + 0];\r\n var b = inImg.data[base + 1];\r\n var c = inImg.data[base + w];\r\n var d = inImg.data[base + w + 1];\r\n var e = a - b;\r\n x -= lx;\r\n y -= ly;\r\n\r\n var result = Math.floor(x * (y * (e - c + d) - e) + y * (c - a) + a);\r\n return result;\r\n};\r\n\r\n/**\r\n * Initializes a given array. Sets each element to zero.\r\n * @param array {Array} The array to initialize\r\n */\r\nImageWrapper.clearArray = function(array) {\r\n var l = array.length;\r\n while (l--) {\r\n array[l] = 0;\r\n }\r\n};\r\n\r\n/**\r\n * Creates a {SubImage} from the current image ({this}).\r\n * @param from {ImageRef} The position where to start the {SubImage} from. (top-left corner)\r\n * @param size {ImageRef} The size of the resulting image\r\n * @returns {SubImage} A shared part of the original image\r\n */\r\nImageWrapper.prototype.subImage = function(from, size) {\r\n return new SubImage(from, size, this);\r\n};\r\n\r\n/**\r\n * Creates an {ImageWrapper) and copies the needed underlying image-data area\r\n * @param imageWrapper {ImageWrapper} The target {ImageWrapper} where the data should be copied\r\n * @param from {ImageRef} The location where to copy from (top-left location)\r\n */\r\nImageWrapper.prototype.subImageAsCopy = function(imageWrapper, from) {\r\n var sizeY = imageWrapper.size.y, sizeX = imageWrapper.size.x;\r\n var x, y;\r\n for ( x = 0; x < sizeX; x++) {\r\n for ( y = 0; y < sizeY; y++) {\r\n imageWrapper.data[y * sizeX + x] = this.data[(from.y + y) * this.size.x + from.x + x];\r\n }\r\n }\r\n};\r\n\r\nImageWrapper.prototype.copyTo = function(imageWrapper) {\r\n var length = this.data.length, srcData = this.data, dstData = imageWrapper.data;\r\n\r\n while (length--) {\r\n dstData[length] = srcData[length];\r\n }\r\n};\r\n\r\n/**\r\n * Retrieves a given pixel position from the image\r\n * @param x {Number} The x-position\r\n * @param y {Number} The y-position\r\n * @returns {Number} The grayscale value at the pixel-position\r\n */\r\nImageWrapper.prototype.get = function(x, y) {\r\n return this.data[y * this.size.x + x];\r\n};\r\n\r\n/**\r\n * Retrieves a given pixel position from the image\r\n * @param x {Number} The x-position\r\n * @param y {Number} The y-position\r\n * @returns {Number} The grayscale value at the pixel-position\r\n */\r\nImageWrapper.prototype.getSafe = function(x, y) {\r\n var i;\r\n\r\n if (!this.indexMapping) {\r\n this.indexMapping = {\r\n x: [],\r\n y: []\r\n };\r\n for (i = 0; i < this.size.x; i++) {\r\n this.indexMapping.x[i] = i;\r\n this.indexMapping.x[i + this.size.x] = i;\r\n }\r\n for (i = 0; i < this.size.y; i++) {\r\n this.indexMapping.y[i] = i;\r\n this.indexMapping.y[i + this.size.y] = i;\r\n }\r\n }\r\n return this.data[(this.indexMapping.y[y + this.size.y]) * this.size.x + this.indexMapping.x[x + this.size.x]];\r\n};\r\n\r\n/**\r\n * Sets a given pixel position in the image\r\n * @param x {Number} The x-position\r\n * @param y {Number} The y-position\r\n * @param value {Number} The grayscale value to set\r\n * @returns {ImageWrapper} The Image itself (for possible chaining)\r\n */\r\nImageWrapper.prototype.set = function(x, y, value) {\r\n this.data[y * this.size.x + x] = value;\r\n return this;\r\n};\r\n\r\n/**\r\n * Sets the border of the image (1 pixel) to zero\r\n */\r\nImageWrapper.prototype.zeroBorder = function() {\r\n var i, width = this.size.x, height = this.size.y, data = this.data;\r\n for ( i = 0; i < width; i++) {\r\n data[i] = data[(height - 1) * width + i] = 0;\r\n }\r\n for ( i = 1; i < height - 1; i++) {\r\n data[i * width] = data[i * width + (width - 1)] = 0;\r\n }\r\n};\r\n\r\n/**\r\n * Inverts a binary image in place\r\n */\r\nImageWrapper.prototype.invert = function() {\r\n var data = this.data, length = data.length;\r\n\r\n while (length--) {\r\n data[length] = data[length] ? 0 : 1;\r\n }\r\n};\r\n\r\nImageWrapper.prototype.convolve = function(kernel) {\r\n var x, y, kx, ky, kSize = (kernel.length / 2) | 0, accu = 0;\r\n for ( y = 0; y < this.size.y; y++) {\r\n for ( x = 0; x < this.size.x; x++) {\r\n accu = 0;\r\n for ( ky = -kSize; ky <= kSize; ky++) {\r\n for ( kx = -kSize; kx <= kSize; kx++) {\r\n accu += kernel[ky + kSize][kx + kSize] * this.getSafe(x + kx, y + ky);\r\n }\r\n }\r\n this.data[y * this.size.x + x] = accu;\r\n }\r\n }\r\n};\r\n\r\nImageWrapper.prototype.moments = function(labelcount) {\r\n var data = this.data,\r\n x,\r\n y,\r\n height = this.size.y,\r\n width = this.size.x,\r\n val,\r\n ysq,\r\n labelsum = [],\r\n i,\r\n label,\r\n mu11,\r\n mu02,\r\n mu20,\r\n x_,\r\n y_,\r\n tmp,\r\n result = [],\r\n PI = Math.PI,\r\n PI_4 = PI / 4;\r\n\r\n if (labelcount <= 0) {\r\n return result;\r\n }\r\n\r\n for ( i = 0; i < labelcount; i++) {\r\n labelsum[i] = {\r\n m00: 0,\r\n m01: 0,\r\n m10: 0,\r\n m11: 0,\r\n m02: 0,\r\n m20: 0,\r\n theta: 0,\r\n rad: 0\r\n };\r\n }\r\n\r\n for ( y = 0; y < height; y++) {\r\n ysq = y * y;\r\n for ( x = 0; x < width; x++) {\r\n val = data[y * width + x];\r\n if (val > 0) {\r\n label = labelsum[val - 1];\r\n label.m00 += 1;\r\n label.m01 += y;\r\n label.m10 += x;\r\n label.m11 += x * y;\r\n label.m02 += ysq;\r\n label.m20 += x * x;\r\n }\r\n }\r\n }\r\n\r\n for ( i = 0; i < labelcount; i++) {\r\n label = labelsum[i];\r\n if (!isNaN(label.m00) && label.m00 !== 0) {\r\n x_ = label.m10 / label.m00;\r\n y_ = label.m01 / label.m00;\r\n mu11 = label.m11 / label.m00 - x_ * y_;\r\n mu02 = label.m02 / label.m00 - y_ * y_;\r\n mu20 = label.m20 / label.m00 - x_ * x_;\r\n tmp = (mu02 - mu20) / (2 * mu11);\r\n tmp = 0.5 * Math.atan(tmp) + (mu11 >= 0 ? PI_4 : -PI_4 ) + PI;\r\n label.theta = (tmp * 180 / PI + 90) % 180 - 90;\r\n if (label.theta < 0) {\r\n label.theta += 180;\r\n }\r\n label.rad = tmp > PI ? tmp - PI : tmp;\r\n label.vec = vec2.clone([Math.cos(tmp), Math.sin(tmp)]);\r\n result.push(label);\r\n }\r\n }\r\n\r\n return result;\r\n};\r\n\r\n/**\r\n * Displays the {ImageWrapper} in a given canvas\r\n * @param canvas {Canvas} The canvas element to write to\r\n * @param scale {Number} Scale which is applied to each pixel-value\r\n */\r\nImageWrapper.prototype.show = function(canvas, scale) {\r\n var ctx,\r\n frame,\r\n data,\r\n current,\r\n pixel,\r\n x,\r\n y;\r\n\r\n if (!scale) {\r\n scale = 1.0;\r\n }\r\n ctx = canvas.getContext('2d');\r\n canvas.width = this.size.x;\r\n canvas.height = this.size.y;\r\n frame = ctx.getImageData(0, 0, canvas.width, canvas.height);\r\n data = frame.data;\r\n current = 0;\r\n for (y = 0; y < this.size.y; y++) {\r\n for (x = 0; x < this.size.x; x++) {\r\n pixel = y * this.size.x + x;\r\n current = this.get(x, y) * scale;\r\n data[pixel * 4 + 0] = current;\r\n data[pixel * 4 + 1] = current;\r\n data[pixel * 4 + 2] = current;\r\n data[pixel * 4 + 3] = 255;\r\n }\r\n }\r\n //frame.data = data;\r\n ctx.putImageData(frame, 0, 0);\r\n};\r\n\r\n/**\r\n * Displays the {SubImage} in a given canvas\r\n * @param canvas {Canvas} The canvas element to write to\r\n * @param scale {Number} Scale which is applied to each pixel-value\r\n */\r\nImageWrapper.prototype.overlay = function(canvas, scale, from) {\r\n if (!scale || scale < 0 || scale > 360) {\r\n scale = 360;\r\n }\r\n var hsv = [0, 1, 1];\r\n var rgb = [0, 0, 0];\r\n var whiteRgb = [255, 255, 255];\r\n var blackRgb = [0, 0, 0];\r\n var result = [];\r\n var ctx = canvas.getContext('2d');\r\n var frame = ctx.getImageData(from.x, from.y, this.size.x, this.size.y);\r\n var data = frame.data;\r\n var length = this.data.length;\r\n while (length--) {\r\n hsv[0] = this.data[length] * scale;\r\n result = hsv[0] <= 0 ? whiteRgb : hsv[0] >= 360 ? blackRgb : hsv2rgb(hsv, rgb);\r\n data[length * 4 + 0] = result[0];\r\n data[length * 4 + 1] = result[1];\r\n data[length * 4 + 2] = result[2];\r\n data[length * 4 + 3] = 255;\r\n }\r\n ctx.putImageData(frame, from.x, from.y);\r\n};\r\n\r\nexport default ImageWrapper;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/common/image_wrapper.js\n **/","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_Map.js\n ** module id = 28\n ** module chunks = 0\n **/","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_MapCache.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array ? array.length : 0,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_arrayMap.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_arrayPush.js\n ** module id = 31\n ** module chunks = 0\n **/","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = array;\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = baseRest;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_baseRest.js\n ** module id = 32\n ** module chunks = 0\n **/","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_cloneArrayBuffer.js\n ** module id = 33\n ** module chunks = 0\n **/","var assignValue = require('./_assignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n assignValue(object, key, newValue === undefined ? source[key] : newValue);\n }\n return object;\n}\n\nmodule.exports = copyObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_copyObject.js\n ** module id = 34\n ** module chunks = 0\n **/","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_getPrototype.js\n ** module id = 35\n ** module chunks = 0\n **/","var overArg = require('./_overArg'),\n stubArray = require('./stubArray');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbol properties of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = nativeGetSymbols ? overArg(nativeGetSymbols, Object) : stubArray;\n\nmodule.exports = getSymbols;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_getSymbols.js\n ** module id = 36\n ** module chunks = 0\n **/","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_getTag.js\n ** module id = 37\n ** module chunks = 0\n **/","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_isIndex.js\n ** module id = 38\n ** module chunks = 0\n **/","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_overArg.js\n ** module id = 39\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isFunction.js\n ** module id = 40\n ** module chunks = 0\n **/","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isLength.js\n ** module id = 41\n ** module chunks = 0\n **/","var isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isSymbol.js\n ** module id = 42\n ** module chunks = 0\n **/","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isTypedArray.js\n ** module id = 43\n ** module chunks = 0\n **/","import ImageDebug from '../common/image_debug';\r\n\r\nfunction contains(codeResult, list) {\r\n if (list) {\r\n return list.some(function (item) {\r\n return Object.keys(item).every(function (key) {\r\n return item[key] === codeResult[key];\r\n });\r\n });\r\n }\r\n return false;\r\n}\r\n\r\nfunction passesFilter(codeResult, filter) {\r\n if (typeof filter === 'function') {\r\n return filter(codeResult);\r\n }\r\n return true;\r\n}\r\n\r\nexport default {\r\n create: function(config) {\r\n var canvas = document.createElement(\"canvas\"),\r\n ctx = canvas.getContext(\"2d\"),\r\n results = [],\r\n capacity = config.capacity || 20,\r\n capture = config.capture === true;\r\n\r\n function matchesConstraints(codeResult) {\r\n return capacity\r\n && codeResult\r\n && !contains(codeResult, config.blacklist)\r\n && passesFilter(codeResult, config.filter);\r\n }\r\n\r\n return {\r\n addResult: function(data, imageSize, codeResult) {\r\n var result = {};\r\n\r\n if (matchesConstraints(codeResult)) {\r\n capacity--;\r\n result.codeResult = codeResult;\r\n if (capture) {\r\n canvas.width = imageSize.x;\r\n canvas.height = imageSize.y;\r\n ImageDebug.drawImage(data, imageSize, ctx);\r\n result.frame = canvas.toDataURL();\r\n }\r\n results.push(result);\r\n }\r\n },\r\n getResults: function() {\r\n return results;\r\n }\r\n };\r\n }\r\n};\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/analytics/result_collector.js\n **/","let config;\r\n\r\nif (ENV.development){\r\n config = require('./config.dev.js');\r\n} else if (ENV.node) {\r\n config = require('./config.node.js');\r\n} else {\r\n config = require('./config.prod.js');\r\n}\r\n\r\nexport default config;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/config/config.js\n **/","/**\r\n * http://www.codeproject.com/Tips/407172/Connected-Component-Labeling-and-Vectorization\r\n */\r\nvar Tracer = {\r\n searchDirections: [[0, 1], [1, 1], [1, 0], [1, -1], [0, -1], [-1, -1], [-1, 0], [-1, 1]],\r\n create: function(imageWrapper, labelWrapper) {\r\n var imageData = imageWrapper.data,\r\n labelData = labelWrapper.data,\r\n searchDirections = this.searchDirections,\r\n width = imageWrapper.size.x,\r\n pos;\r\n\r\n function trace(current, color, label, edgelabel) {\r\n var i,\r\n y,\r\n x;\r\n\r\n for ( i = 0; i < 7; i++) {\r\n y = current.cy + searchDirections[current.dir][0];\r\n x = current.cx + searchDirections[current.dir][1];\r\n pos = y * width + x;\r\n if ((imageData[pos] === color) && ((labelData[pos] === 0) || (labelData[pos] === label))) {\r\n labelData[pos] = label;\r\n current.cy = y;\r\n current.cx = x;\r\n return true;\r\n } else {\r\n if (labelData[pos] === 0) {\r\n labelData[pos] = edgelabel;\r\n }\r\n current.dir = (current.dir + 1) % 8;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n function vertex2D(x, y, dir) {\r\n return {\r\n dir: dir,\r\n x: x,\r\n y: y,\r\n next: null,\r\n prev: null\r\n };\r\n }\r\n\r\n function contourTracing(sy, sx, label, color, edgelabel) {\r\n var Fv = null,\r\n Cv,\r\n P,\r\n ldir,\r\n current = {\r\n cx: sx,\r\n cy: sy,\r\n dir: 0\r\n };\r\n\r\n if (trace(current, color, label, edgelabel)) {\r\n Fv = vertex2D(sx, sy, current.dir);\r\n Cv = Fv;\r\n ldir = current.dir;\r\n P = vertex2D(current.cx, current.cy, 0);\r\n P.prev = Cv;\r\n Cv.next = P;\r\n P.next = null;\r\n Cv = P;\r\n do {\r\n current.dir = (current.dir + 6) % 8;\r\n trace(current, color, label, edgelabel);\r\n if (ldir !== current.dir) {\r\n Cv.dir = current.dir;\r\n P = vertex2D(current.cx, current.cy, 0);\r\n P.prev = Cv;\r\n Cv.next = P;\r\n P.next = null;\r\n Cv = P;\r\n } else {\r\n Cv.dir = ldir;\r\n Cv.x = current.cx;\r\n Cv.y = current.cy;\r\n }\r\n ldir = current.dir;\r\n } while (current.cx !== sx || current.cy !== sy);\r\n Fv.prev = Cv.prev;\r\n Cv.prev.next = Fv;\r\n }\r\n return Fv;\r\n }\r\n\r\n return {\r\n trace: function(current, color, label, edgelabel) {\r\n return trace(current, color, label, edgelabel);\r\n },\r\n contourTracing: function(sy, sx, label, color, edgelabel) {\r\n return contourTracing(sy, sx, label, color, edgelabel);\r\n }\r\n };\r\n }\r\n};\r\n\r\nexport default (Tracer);\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/locator/tracer.js\n **/","import BarcodeReader from './barcode_reader';\r\nimport ArrayHelper from '../common/array_helper';\r\n\r\nfunction Code39Reader() {\r\n BarcodeReader.call(this);\r\n}\r\n\r\nvar properties = {\r\n ALPHABETH_STRING: {value: \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. *$/+%\"},\r\n ALPHABET: {value: [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,\r\n 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 45, 46, 32, 42, 36, 47, 43, 37]},\r\n CHARACTER_ENCODINGS: {value: [0x034, 0x121, 0x061, 0x160, 0x031, 0x130, 0x070, 0x025, 0x124, 0x064, 0x109, 0x049,\r\n 0x148, 0x019, 0x118, 0x058, 0x00D, 0x10C, 0x04C, 0x01C, 0x103, 0x043, 0x142, 0x013, 0x112, 0x052, 0x007, 0x106,\r\n 0x046, 0x016, 0x181, 0x0C1, 0x1C0, 0x091, 0x190, 0x0D0, 0x085, 0x184, 0x0C4, 0x094, 0x0A8, 0x0A2, 0x08A, 0x02A\r\n ]},\r\n ASTERISK: {value: 0x094},\r\n FORMAT: {value: \"code_39\", writeable: false}\r\n};\r\n\r\nCode39Reader.prototype = Object.create(BarcodeReader.prototype, properties);\r\nCode39Reader.prototype.constructor = Code39Reader;\r\n\r\nCode39Reader.prototype._toCounters = function(start, counter) {\r\n var self = this,\r\n numCounters = counter.length,\r\n end = self._row.length,\r\n isWhite = !self._row[start],\r\n i,\r\n counterPos = 0;\r\n\r\n ArrayHelper.init(counter, 0);\r\n\r\n for ( i = start; i < end; i++) {\r\n if (self._row[i] ^ isWhite) {\r\n counter[counterPos]++;\r\n } else {\r\n counterPos++;\r\n if (counterPos === numCounters) {\r\n break;\r\n } else {\r\n counter[counterPos] = 1;\r\n isWhite = !isWhite;\r\n }\r\n }\r\n }\r\n\r\n return counter;\r\n};\r\n\r\nCode39Reader.prototype._decode = function() {\r\n var self = this,\r\n counters = [0, 0, 0, 0, 0, 0, 0, 0, 0],\r\n result = [],\r\n start = self._findStart(),\r\n decodedChar,\r\n lastStart,\r\n pattern,\r\n nextStart;\r\n\r\n if (!start) {\r\n return null;\r\n }\r\n nextStart = self._nextSet(self._row, start.end);\r\n\r\n do {\r\n counters = self._toCounters(nextStart, counters);\r\n pattern = self._toPattern(counters);\r\n if (pattern < 0) {\r\n return null;\r\n }\r\n decodedChar = self._patternToChar(pattern);\r\n if (decodedChar < 0){\r\n return null;\r\n }\r\n result.push(decodedChar);\r\n lastStart = nextStart;\r\n nextStart += ArrayHelper.sum(counters);\r\n nextStart = self._nextSet(self._row, nextStart);\r\n } while (decodedChar !== '*');\r\n result.pop();\r\n\r\n if (!result.length) {\r\n return null;\r\n }\r\n\r\n if (!self._verifyTrailingWhitespace(lastStart, nextStart, counters)) {\r\n return null;\r\n }\r\n\r\n return {\r\n code: result.join(\"\"),\r\n start: start.start,\r\n end: nextStart,\r\n startInfo: start,\r\n decodedCodes: result\r\n };\r\n};\r\n\r\nCode39Reader.prototype._verifyTrailingWhitespace = function(lastStart, nextStart, counters) {\r\n var trailingWhitespaceEnd,\r\n patternSize = ArrayHelper.sum(counters);\r\n\r\n trailingWhitespaceEnd = nextStart - lastStart - patternSize;\r\n if ((trailingWhitespaceEnd * 3) >= patternSize) {\r\n return true;\r\n }\r\n return false;\r\n};\r\n\r\nCode39Reader.prototype._patternToChar = function(pattern) {\r\n var i,\r\n self = this;\r\n\r\n for (i = 0; i < self.CHARACTER_ENCODINGS.length; i++) {\r\n if (self.CHARACTER_ENCODINGS[i] === pattern) {\r\n return String.fromCharCode(self.ALPHABET[i]);\r\n }\r\n }\r\n return -1;\r\n};\r\n\r\nCode39Reader.prototype._findNextWidth = function(counters, current) {\r\n var i,\r\n minWidth = Number.MAX_VALUE;\r\n\r\n for (i = 0; i < counters.length; i++) {\r\n if (counters[i] < minWidth && counters[i] > current) {\r\n minWidth = counters[i];\r\n }\r\n }\r\n\r\n return minWidth;\r\n};\r\n\r\nCode39Reader.prototype._toPattern = function(counters) {\r\n var numCounters = counters.length,\r\n maxNarrowWidth = 0,\r\n numWideBars = numCounters,\r\n wideBarWidth = 0,\r\n self = this,\r\n pattern,\r\n i;\r\n\r\n while (numWideBars > 3) {\r\n maxNarrowWidth = self._findNextWidth(counters, maxNarrowWidth);\r\n numWideBars = 0;\r\n pattern = 0;\r\n for (i = 0; i < numCounters; i++) {\r\n if (counters[i] > maxNarrowWidth) {\r\n pattern |= 1 << (numCounters - 1 - i);\r\n numWideBars++;\r\n wideBarWidth += counters[i];\r\n }\r\n }\r\n\r\n if (numWideBars === 3) {\r\n for (i = 0; i < numCounters && numWideBars > 0; i++) {\r\n if (counters[i] > maxNarrowWidth) {\r\n numWideBars--;\r\n if ((counters[i] * 2) >= wideBarWidth) {\r\n return -1;\r\n }\r\n }\r\n }\r\n return pattern;\r\n }\r\n }\r\n return -1;\r\n};\r\n\r\nCode39Reader.prototype._findStart = function() {\r\n var self = this,\r\n offset = self._nextSet(self._row),\r\n patternStart = offset,\r\n counter = [0, 0, 0, 0, 0, 0, 0, 0, 0],\r\n counterPos = 0,\r\n isWhite = false,\r\n i,\r\n j,\r\n whiteSpaceMustStart;\r\n\r\n for ( i = offset; i < self._row.length; i++) {\r\n if (self._row[i] ^ isWhite) {\r\n counter[counterPos]++;\r\n } else {\r\n if (counterPos === counter.length - 1) {\r\n // find start pattern\r\n if (self._toPattern(counter) === self.ASTERISK) {\r\n whiteSpaceMustStart = Math.floor(Math.max(0, patternStart - ((i - patternStart) / 4)));\r\n if (self._matchRange(whiteSpaceMustStart, patternStart, 0)) {\r\n return {\r\n start: patternStart,\r\n end: i\r\n };\r\n }\r\n }\r\n\r\n patternStart += counter[0] + counter[1];\r\n for ( j = 0; j < 7; j++) {\r\n counter[j] = counter[j + 2];\r\n }\r\n counter[7] = 0;\r\n counter[8] = 0;\r\n counterPos--;\r\n } else {\r\n counterPos++;\r\n }\r\n counter[counterPos] = 1;\r\n isWhite = !isWhite;\r\n }\r\n }\r\n return null;\r\n};\r\n\r\nexport default Code39Reader;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/reader/code_39_reader.js\n **/","module.exports = dot\n\n/**\n * Calculates the dot product of two vec2's\n *\n * @param {vec2} a the first operand\n * @param {vec2} b the second operand\n * @returns {Number} dot product of a and b\n */\nfunction dot(a, b) {\n return a[0] * b[0] + a[1] * b[1]\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/gl-vec2/dot.js\n ** module id = 48\n ** module chunks = 0\n **/","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_SetCache.js\n ** module id = 49\n ** module chunks = 0\n **/","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_Uint8Array.js\n ** module id = 50\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_arrayEach.js\n ** module id = 51\n ** module chunks = 0\n **/","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_arrayLikeKeys.js\n ** module id = 52\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array ? array.length : 0;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\nmodule.exports = arrayReduce;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_arrayReduce.js\n ** module id = 53\n ** module chunks = 0\n **/","var eq = require('./eq');\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (typeof key == 'number' && value === undefined && !(key in object))) {\n object[key] = value;\n }\n}\n\nmodule.exports = assignMergeValue;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_assignMergeValue.js\n ** module id = 54\n ** module chunks = 0\n **/","var eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n object[key] = value;\n }\n}\n\nmodule.exports = assignValue;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_assignValue.js\n ** module id = 55\n ** module chunks = 0\n **/","var arrayPush = require('./_arrayPush'),\n isFlattenable = require('./_isFlattenable');\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseFlatten;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_baseFlatten.js\n ** module id = 56\n ** module chunks = 0\n **/","var castPath = require('./_castPath'),\n isKey = require('./_isKey'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_baseGet.js\n ** module id = 57\n ** module chunks = 0\n **/","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_baseGetAllKeys.js\n ** module id = 58\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObject = require('./isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {boolean} [bitmask] The bitmask of comparison flags.\n * The bitmask may be composed of the following flags:\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, bitmask, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, bitmask, stack);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_baseIsEqual.js\n ** module id = 59\n ** module chunks = 0\n **/","var baseMatches = require('./_baseMatches'),\n baseMatchesProperty = require('./_baseMatchesProperty'),\n identity = require('./identity'),\n isArray = require('./isArray'),\n property = require('./property');\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_baseIteratee.js\n ** module id = 60\n ** module chunks = 0\n **/","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_baseKeysIn.js\n ** module id = 61\n ** module chunks = 0\n **/","var basePickBy = require('./_basePickBy');\n\n/**\n * The base implementation of `_.pick` without support for individual\n * property identifiers.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} props The property identifiers to pick.\n * @returns {Object} Returns the new object.\n */\nfunction basePick(object, props) {\n object = Object(object);\n return basePickBy(object, props, function(value, key) {\n return key in object;\n });\n}\n\nmodule.exports = basePick;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_basePick.js\n ** module id = 62\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} props The property identifiers to pick from.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\nfunction basePickBy(object, props, predicate) {\n var index = -1,\n length = props.length,\n result = {};\n\n while (++index < length) {\n var key = props[index],\n value = object[key];\n\n if (predicate(value, key)) {\n result[key] = value;\n }\n }\n return result;\n}\n\nmodule.exports = basePickBy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_basePickBy.js\n ** module id = 63\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_baseUnary.js\n ** module id = 64\n ** module chunks = 0\n **/","var isArray = require('./isArray'),\n stringToPath = require('./_stringToPath');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value) {\n return isArray(value) ? value : stringToPath(value);\n}\n\nmodule.exports = castPath;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_castPath.js\n ** module id = 65\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_copyArray.js\n ** module id = 66\n ** module chunks = 0\n **/","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome');\n\n/** Used to compose bitmasks for comparison styles. */\nvar UNORDERED_COMPARE_FLAG = 1,\n PARTIAL_COMPARE_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & UNORDERED_COMPARE_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!seen.has(othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) {\n return seen.add(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, customizer, bitmask, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_equalArrays.js\n ** module id = 67\n ** module chunks = 0\n **/","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_freeGlobal.js\n ** module id = 68\n ** module chunks = 0\n **/","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbolsIn = require('./_getSymbolsIn'),\n keysIn = require('./keysIn');\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nmodule.exports = getAllKeysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_getAllKeysIn.js\n ** module id = 69\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_isStrictComparable.js\n ** module id = 70\n ** module chunks = 0\n **/","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_mapToArray.js\n ** module id = 71\n ** module chunks = 0\n **/","/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_matchesStrictComparable.js\n ** module id = 72\n ** module chunks = 0\n **/","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_nativeKeys.js\n ** module id = 73\n ** module chunks = 0\n **/","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_setToArray.js\n ** module id = 74\n ** module chunks = 0\n **/","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_toSource.js\n ** module id = 75\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isArrayLikeObject.js\n ** module id = 76\n ** module chunks = 0\n **/","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isBuffer.js\n ** module id = 77\n ** module chunks = 0\n **/","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/keysIn.js\n ** module id = 78\n ** module chunks = 0\n **/","var arrayMap = require('./_arrayMap'),\n baseFlatten = require('./_baseFlatten'),\n basePick = require('./_basePick'),\n baseRest = require('./_baseRest'),\n toKey = require('./_toKey');\n\n/**\n * Creates an object composed of the picked `object` properties.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [props] The property identifiers to pick.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pick(object, ['a', 'c']);\n * // => { 'a': 1, 'c': 3 }\n */\nvar pick = baseRest(function(object, props) {\n return object == null ? {} : basePick(object, arrayMap(baseFlatten(props, 1), toKey));\n});\n\nmodule.exports = pick;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/pick.js\n ** module id = 79\n ** module chunks = 0\n **/","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/stubArray.js\n ** module id = 80\n ** module chunks = 0\n **/","module.exports = function(module) {\r\n\tif(!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tmodule.children = [];\r\n\t\tObject.defineProperty(module, \"exports\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tconfigurable: false,\r\n\t\t\tget: function() { return module.e; },\r\n\t\t\tset: function(v) { return module.e = v; }\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tconfigurable: false,\r\n\t\t\tget: function() { return module.l; }\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tconfigurable: false,\r\n\t\t\tget: function() { return module.i; }\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n}\r\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** (webpack)/buildin/module.js\n ** module id = 81\n ** module chunks = 0\n **/","import './common/typedefs';\r\nimport 'webrtc-adapter';\r\nimport createScanner from './scanner';\r\nimport ImageWrapper from './common/image_wrapper';\r\nimport ImageDebug from './common/image_debug';\r\nimport ResultCollector from './analytics/result_collector';\r\nimport Config from './config/config';\r\nimport {merge} from 'lodash';\r\nimport {createConfigFromSource} from './input/config_factory';\r\n\r\nfunction fromConfig(config) {\r\n const scanner = createScanner();\r\n let pendingStart = null;\r\n let initialized = false;\r\n return {\r\n addEventListener(eventType, cb) {\r\n scanner.subscribe(eventType, cb);\r\n return this;\r\n },\r\n removeEventListener(eventType, cb) {\r\n scanner.unsubscribe(eventType, cb);\r\n return this;\r\n },\r\n start() {\r\n if (scanner.isRunning()) {\r\n return Promise.resolve(true);\r\n }\r\n if (pendingStart) {\r\n return pendingStart;\r\n }\r\n if (initialized) {\r\n scanner.start();\r\n return Promise.resolve(true);\r\n }\r\n pendingStart = new Promise((resolve, reject) => {\r\n scanner.init(config, (error) => {\r\n if (error) {\r\n console.log(error);\r\n reject(error);\r\n }\r\n initialized = true;\r\n scanner.start();\r\n resolve();\r\n pendingStart = null;\r\n });\r\n });\r\n return pendingStart;\r\n },\r\n stop() {\r\n scanner.stop();\r\n initialized = false;\r\n return this;\r\n },\r\n toPromise() {\r\n if (config.inputStream.type === 'LiveStream'\r\n || config.inputStream.type === 'VideoStream') {\r\n let cancelRequested = false;\r\n return {\r\n cancel() {\r\n cancelRequested = true;\r\n },\r\n promise: new Promise((resolve, reject) => {\r\n function onProcessed(result) {\r\n if (result && result.codeResult && result.codeResult.code) {\r\n scanner.stop();\r\n scanner.unsubscribe(\"processed\", onProcessed);\r\n resolve(result);\r\n }\r\n if (cancelRequested) {\r\n scanner.stop();\r\n scanner.unsubscribe(\"processed\", onProcessed);\r\n reject(\"cancelled!\");\r\n }\r\n }\r\n scanner.subscribe(\"processed\", onProcessed);\r\n this.start();\r\n })\r\n };\r\n } else {\r\n return new Promise((resolve, reject) => {\r\n scanner.decodeSingle(config, (result) => {\r\n if (result && result.codeResult && result.codeResult.code) {\r\n return resolve(result);\r\n }\r\n return reject(result);\r\n });\r\n });\r\n }\r\n },\r\n registerResultCollector(resultCollector) {\r\n scanner.registerResultCollector(resultCollector);\r\n },\r\n getCanvas() {\r\n return scanner.canvas.dom.image;\r\n },\r\n };\r\n}\r\n\r\nfunction fromSource(config, source, inputConfig = {}) {\r\n config = createConfigFromSource(config, inputConfig, source);\r\n return fromConfig(config);\r\n}\r\n\r\nfunction setConfig(configuration = {}, key, config = {}) {\r\n var mergedConfig = merge({}, configuration, {[key]: config});\r\n return createApi(mergedConfig);\r\n}\r\n\r\nfunction createApi(configuration = Config) {\r\n return {\r\n fromSource(src, inputConfig) {\r\n return fromSource(configuration, src, inputConfig);\r\n },\r\n fromConfig(conf) {\r\n return fromConfig(merge({}, configuration, conf));\r\n },\r\n decoder(conf) {\r\n return setConfig(configuration, \"decoder\", conf);\r\n },\r\n locator(conf) {\r\n return setConfig(configuration, \"locator\", conf);\r\n },\r\n throttle(timeInMs) {\r\n return setConfig(configuration, \"frequency\", 1000 / parseInt(timeInMs));\r\n },\r\n config(conf) {\r\n return createApi(merge({}, configuration, conf));\r\n },\r\n ImageWrapper,\r\n ImageDebug,\r\n ResultCollector,\r\n _worker: {\r\n createScanner\r\n }\r\n };\r\n}\r\nexport default createApi();\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/quagga.js\n **/","const vec2 = {\r\n clone: require('gl-vec2/clone'),\r\n dot: require('gl-vec2/dot')\r\n};\r\n\r\n/**\r\n * Creates a cluster for grouping similar orientations of datapoints\r\n */\r\nexport default {\r\n create: function(point, threshold) {\r\n var points = [],\r\n center = {\r\n rad: 0,\r\n vec: vec2.clone([0, 0])\r\n },\r\n pointMap = {};\r\n\r\n function init() {\r\n add(point);\r\n updateCenter();\r\n }\r\n\r\n function add(pointToAdd) {\r\n pointMap[pointToAdd.id] = pointToAdd;\r\n points.push(pointToAdd);\r\n }\r\n\r\n function updateCenter() {\r\n var i, sum = 0;\r\n for ( i = 0; i < points.length; i++) {\r\n sum += points[i].rad;\r\n }\r\n center.rad = sum / points.length;\r\n center.vec = vec2.clone([Math.cos(center.rad), Math.sin(center.rad)]);\r\n }\r\n\r\n init();\r\n\r\n return {\r\n add: function(pointToAdd) {\r\n if (!pointMap[pointToAdd.id]) {\r\n add(pointToAdd);\r\n updateCenter();\r\n }\r\n },\r\n fits: function(otherPoint) {\r\n // check cosine similarity to center-angle\r\n var similarity = Math.abs(vec2.dot(otherPoint.point.vec, center.vec));\r\n if (similarity > threshold) {\r\n return true;\r\n }\r\n return false;\r\n },\r\n getPoints: function() {\r\n return points;\r\n },\r\n getCenter: function() {\r\n return center;\r\n }\r\n };\r\n },\r\n createPoint: function(newPoint, id, property) {\r\n return {\r\n rad: newPoint[property],\r\n point: newPoint,\r\n id: id\r\n };\r\n }\r\n};\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/common/cluster.js\n **/","const hasWindow = typeof window !== 'undefined';\r\nconst windowRef = hasWindow ? window : {};\r\n\r\nconst windowObjects = [\r\n \"MediaStream\",\r\n \"HTMLImageElement\",\r\n \"HTMLVideoElement\",\r\n \"HTMLCanvasElement\",\r\n \"FileList\",\r\n \"File\",\r\n \"URL\"\r\n];\r\n\r\nconst DOMHelper = windowObjects.reduce((result, obj) => {\r\n return {\r\n ...result,\r\n [obj]: obj in windowRef ? windowRef[obj] : () => {}\r\n };\r\n}, {});\r\n\r\nDOMHelper.setObject = (key, value) => {\r\n DOMHelper[key] = value;\r\n};\r\n\r\nexport default DOMHelper;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/common/dom_helper.js\n **/","export default function createEventedElement() {\r\n var events = {};\r\n\r\n function getEvent(eventName) {\r\n if (!events[eventName]) {\r\n events[eventName] = {\r\n subscribers: []\r\n };\r\n }\r\n return events[eventName];\r\n }\r\n\r\n function clearEvents(){\r\n events = {};\r\n }\r\n\r\n function publishSubscription(subscription, data) {\r\n if (subscription.async) {\r\n setTimeout(function() {\r\n subscription.callback(data);\r\n }, 4);\r\n } else {\r\n subscription.callback(data);\r\n }\r\n }\r\n\r\n function subscribe(event, callback, async) {\r\n var subscription;\r\n\r\n if ( typeof callback === \"function\") {\r\n subscription = {\r\n callback: callback,\r\n async: async\r\n };\r\n } else {\r\n subscription = callback;\r\n if (!subscription.callback) {\r\n throw \"Callback was not specified on options\";\r\n }\r\n }\r\n\r\n getEvent(event).subscribers.push(subscription);\r\n }\r\n\r\n return {\r\n subscribe: function(event, callback, async) {\r\n return subscribe(event, callback, async);\r\n },\r\n publish: function(eventName, data) {\r\n var event = getEvent(eventName),\r\n subscribers = event.subscribers;\r\n\r\n // Publish one-time subscriptions\r\n subscribers.filter(function(subscriber) {\r\n return !!subscriber.once;\r\n }).forEach((subscriber) => {\r\n publishSubscription(subscriber, data);\r\n });\r\n\r\n // remove them from the subscriber\r\n event.subscribers = subscribers.filter(function(subscriber) {\r\n return !subscriber.once;\r\n });\r\n\r\n // publish the rest\r\n event.subscribers.forEach((subscriber) => {\r\n publishSubscription(subscriber, data);\r\n });\r\n },\r\n once: function(event, callback, async) {\r\n subscribe(event, {\r\n callback: callback,\r\n async: async,\r\n once: true\r\n });\r\n },\r\n unsubscribe: function(eventName, callback) {\r\n var event;\r\n\r\n if (eventName) {\r\n event = getEvent(eventName);\r\n if (event && callback) {\r\n event.subscribers = event.subscribers.filter(function(subscriber){\r\n return subscriber.callback !== callback;\r\n });\r\n } else {\r\n event.subscribers = [];\r\n }\r\n } else {\r\n clearEvents();\r\n }\r\n }\r\n };\r\n};\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/common/events.js\n **/","/**\r\n * Construct representing a part of another {ImageWrapper}. Shares data\r\n * between the parent and the child.\r\n * @param from {ImageRef} The position where to start the {SubImage} from. (top-left corner)\r\n * @param size {ImageRef} The size of the resulting image\r\n * @param I {ImageWrapper} The {ImageWrapper} to share from\r\n * @returns {SubImage} A shared part of the original image\r\n */\r\nfunction SubImage(from, size, I) {\r\n if (!I) {\r\n I = {\r\n data: null,\r\n size: size\r\n };\r\n }\r\n this.data = I.data;\r\n this.originalSize = I.size;\r\n this.I = I;\r\n\r\n this.from = from;\r\n this.size = size;\r\n}\r\n\r\n/**\r\n * Displays the {SubImage} in a given canvas\r\n * @param canvas {Canvas} The canvas element to write to\r\n * @param scale {Number} Scale which is applied to each pixel-value\r\n */\r\nSubImage.prototype.show = function(canvas, scale) {\r\n var ctx,\r\n frame,\r\n data,\r\n current,\r\n y,\r\n x,\r\n pixel;\r\n\r\n if (!scale) {\r\n scale = 1.0;\r\n }\r\n ctx = canvas.getContext('2d');\r\n canvas.width = this.size.x;\r\n canvas.height = this.size.y;\r\n frame = ctx.getImageData(0, 0, canvas.width, canvas.height);\r\n data = frame.data;\r\n current = 0;\r\n for (y = 0; y < this.size.y; y++) {\r\n for (x = 0; x < this.size.x; x++) {\r\n pixel = y * this.size.x + x;\r\n current = this.get(x, y) * scale;\r\n data[pixel * 4 + 0] = current;\r\n data[pixel * 4 + 1] = current;\r\n data[pixel * 4 + 2] = current;\r\n data[pixel * 4 + 3] = 255;\r\n }\r\n }\r\n frame.data = data;\r\n ctx.putImageData(frame, 0, 0);\r\n};\r\n\r\n/**\r\n * Retrieves a given pixel position from the {SubImage}\r\n * @param x {Number} The x-position\r\n * @param y {Number} The y-position\r\n * @returns {Number} The grayscale value at the pixel-position\r\n */\r\nSubImage.prototype.get = function(x, y) {\r\n return this.data[(this.from.y + y) * this.originalSize.x + this.from.x + x];\r\n};\r\n\r\n/**\r\n * Updates the underlying data from a given {ImageWrapper}\r\n * @param image {ImageWrapper} The updated image\r\n */\r\nSubImage.prototype.updateData = function(image) {\r\n this.originalSize = image.size;\r\n this.data = image.data;\r\n};\r\n\r\n/**\r\n * Updates the position of the shared area\r\n * @param from {x,y} The new location\r\n * @returns {SubImage} returns {this} for possible chaining\r\n */\r\nSubImage.prototype.updateFrom = function(from) {\r\n this.from = from;\r\n return this;\r\n};\r\n\r\nexport default (SubImage);\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/common/subImage.js\n **/","/*\r\n * typedefs.js\r\n * Normalizes browser-specific prefixes\r\n */\r\n\r\nif (typeof window !== 'undefined') {\r\n window.requestAnimFrame = (function () {\r\n return window.requestAnimationFrame ||\r\n window.webkitRequestAnimationFrame ||\r\n window.mozRequestAnimationFrame ||\r\n window.oRequestAnimationFrame ||\r\n window.msRequestAnimationFrame ||\r\n function (/* function FrameRequestCallback */ callback) {\r\n window.setTimeout(callback, 1000 / 60);\r\n };\r\n })();\r\n}\r\nMath.imul = Math.imul || function(a, b) {\r\n var ah = (a >>> 16) & 0xffff,\r\n al = a & 0xffff,\r\n bh = (b >>> 16) & 0xffff,\r\n bl = b & 0xffff;\r\n // the shift by 0 fixes the sign on the high part\r\n // the final |0 converts the unsigned value into a signed value\r\n return ((al * bl) + (((ah * bl + al * bh) << 16) >>> 0) | 0);\r\n};\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/common/typedefs.js\n **/","module.exports = {\r\n inputStream: {\r\n name: \"Live\",\r\n type: \"LiveStream\",\r\n constraints: {\r\n width: 640,\r\n height: 480,\r\n // aspectRatio: 640/480, // optional\r\n facingMode: \"environment\", // or user\r\n // deviceId: \"38745983457387598375983759834\"\r\n },\r\n area: {\r\n top: \"0%\",\r\n right: \"0%\",\r\n left: \"0%\",\r\n bottom: \"0%\"\r\n },\r\n singleChannel: false // true: only the red color-channel is read\r\n },\r\n locate: true,\r\n numOfWorkers: 2,\r\n decoder: {\r\n readers: [\r\n 'code_128_reader'\r\n ],\r\n debug: {\r\n drawBoundingBox: false,\r\n showFrequency: false,\r\n drawScanline: false,\r\n showPattern: false\r\n }\r\n },\r\n locator: {\r\n halfSample: true,\r\n patchSize: \"medium\", // x-small, small, medium, large, x-large\r\n debug: {\r\n showCanvas: false,\r\n showPatches: false,\r\n showFoundPatches: false,\r\n showSkeleton: false,\r\n showLabels: false,\r\n showPatchLabels: false,\r\n showRemainingPatchLabels: false,\r\n boxFromPatches: {\r\n showTransformed: false,\r\n showTransformedBox: false,\r\n showBB: false\r\n }\r\n }\r\n }\r\n};\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/config/config.dev.js\n **/","import Bresenham from './bresenham';\r\nimport ImageDebug from '../common/image_debug';\r\nimport Code128Reader from '../reader/code_128_reader';\r\nimport EANReader from '../reader/ean_reader';\r\nimport Code39Reader from '../reader/code_39_reader';\r\nimport Code39VINReader from '../reader/code_39_vin_reader';\r\nimport CodabarReader from '../reader/codabar_reader';\r\nimport UPCReader from '../reader/upc_reader';\r\nimport EAN8Reader from '../reader/ean_8_reader';\r\nimport EAN2Reader from '../reader/ean_2_reader';\r\nimport EAN5Reader from '../reader/ean_5_reader';\r\nimport UPCEReader from '../reader/upc_e_reader';\r\nimport I2of5Reader from '../reader/i2of5_reader';\r\n\r\nconst READERS = {\r\n code_128_reader: Code128Reader,\r\n ean_reader: EANReader,\r\n ean_5_reader: EAN5Reader,\r\n ean_2_reader: EAN2Reader,\r\n ean_8_reader: EAN8Reader,\r\n code_39_reader: Code39Reader,\r\n code_39_vin_reader: Code39VINReader,\r\n codabar_reader: CodabarReader,\r\n upc_reader: UPCReader,\r\n upc_e_reader: UPCEReader,\r\n i2of5_reader: I2of5Reader\r\n};\r\nexport default {\r\n create: function(config, inputImageWrapper) {\r\n var _canvas = {\r\n ctx: {\r\n frequency: null,\r\n pattern: null,\r\n overlay: null\r\n },\r\n dom: {\r\n frequency: null,\r\n pattern: null,\r\n overlay: null\r\n }\r\n },\r\n _barcodeReaders = [];\r\n\r\n initCanvas();\r\n initReaders();\r\n initConfig();\r\n\r\n function initCanvas() {\r\n if (ENV.development && typeof document !== 'undefined') {\r\n var $debug = document.querySelector(\"#debug.detection\");\r\n _canvas.dom.frequency = document.querySelector(\"canvas.frequency\");\r\n if (!_canvas.dom.frequency) {\r\n _canvas.dom.frequency = document.createElement(\"canvas\");\r\n _canvas.dom.frequency.className = \"frequency\";\r\n if ($debug) {\r\n $debug.appendChild(_canvas.dom.frequency);\r\n }\r\n }\r\n _canvas.ctx.frequency = _canvas.dom.frequency.getContext(\"2d\");\r\n\r\n _canvas.dom.pattern = document.querySelector(\"canvas.patternBuffer\");\r\n if (!_canvas.dom.pattern) {\r\n _canvas.dom.pattern = document.createElement(\"canvas\");\r\n _canvas.dom.pattern.className = \"patternBuffer\";\r\n if ($debug) {\r\n $debug.appendChild(_canvas.dom.pattern);\r\n }\r\n }\r\n _canvas.ctx.pattern = _canvas.dom.pattern.getContext(\"2d\");\r\n\r\n if ($debug) {\r\n _canvas.dom.overlay = document.querySelector(\"canvas.drawingBuffer\");\r\n if (!_canvas.dom.overlay) {\r\n _canvas.dom.overlay = document.createElement(\"canvas\");\r\n _canvas.dom.overlay.className = \"drawingBuffer\";\r\n $debug.appendChild(_canvas.dom.overlay);\r\n }\r\n _canvas.ctx.overlay = _canvas.dom.overlay.getContext(\"2d\");\r\n }\r\n }\r\n }\r\n\r\n function initReaders() {\r\n config.readers.forEach(function(readerConfig) {\r\n var reader,\r\n configuration = {},\r\n supplements = [];\r\n\r\n if (typeof readerConfig === 'object') {\r\n reader = readerConfig.format;\r\n configuration = readerConfig.config;\r\n } else if (typeof readerConfig === 'string') {\r\n reader = readerConfig;\r\n }\r\n if (ENV.development) {\r\n console.log(\"Before registering reader: \", reader);\r\n }\r\n if (configuration.supplements) {\r\n supplements = configuration\r\n .supplements.map((supplement) => {\r\n return new READERS[supplement]();\r\n });\r\n }\r\n _barcodeReaders.push(new READERS[reader](configuration, supplements));\r\n });\r\n if (ENV.development) {\r\n console.log(\"Registered Readers: \" + _barcodeReaders\r\n .map((reader) => JSON.stringify({format: reader.FORMAT, config: reader.config}))\r\n .join(', '));\r\n }\r\n }\r\n\r\n function initConfig() {\r\n if (ENV.development && typeof document !== 'undefined') {\r\n var i,\r\n vis = [{\r\n node: _canvas.dom.frequency,\r\n prop: config.debug.showFrequency\r\n }, {\r\n node: _canvas.dom.pattern,\r\n prop: config.debug.showPattern\r\n }];\r\n\r\n for (i = 0; i < vis.length; i++) {\r\n if (vis[i].prop === true) {\r\n vis[i].node.style.display = \"block\";\r\n } else {\r\n vis[i].node.style.display = \"none\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * extend the line on both ends\r\n * @param {Array} line\r\n * @param {Number} angle\r\n */\r\n function getExtendedLine(line, angle, ext) {\r\n function extendLine(amount) {\r\n var extension = {\r\n y: amount * Math.sin(angle),\r\n x: amount * Math.cos(angle)\r\n };\r\n\r\n line[0].y -= extension.y;\r\n line[0].x -= extension.x;\r\n line[1].y += extension.y;\r\n line[1].x += extension.x;\r\n }\r\n\r\n // check if inside image\r\n extendLine(ext);\r\n while (ext > 1 && (!inputImageWrapper.inImageWithBorder(line[0], 0)\r\n || !inputImageWrapper.inImageWithBorder(line[1], 0))) {\r\n ext -= Math.ceil(ext / 2);\r\n extendLine(-ext);\r\n }\r\n return line;\r\n }\r\n\r\n function getLine(box) {\r\n return [{\r\n x: (box[1][0] - box[0][0]) / 2 + box[0][0],\r\n y: (box[1][1] - box[0][1]) / 2 + box[0][1]\r\n }, {\r\n x: (box[3][0] - box[2][0]) / 2 + box[2][0],\r\n y: (box[3][1] - box[2][1]) / 2 + box[2][1]\r\n }];\r\n }\r\n\r\n function tryDecode(line) {\r\n var result = null,\r\n i,\r\n barcodeLine = Bresenham.getBarcodeLine(inputImageWrapper, line[0], line[1]);\r\n\r\n if (ENV.development && config.debug.showFrequency) {\r\n ImageDebug.drawPath(line, {x: 'x', y: 'y'}, _canvas.ctx.overlay, {color: 'red', lineWidth: 3});\r\n Bresenham.debug.printFrequency(barcodeLine.line, _canvas.dom.frequency);\r\n }\r\n\r\n Bresenham.toBinaryLine(barcodeLine);\r\n\r\n if (ENV.development && config.debug.showPattern) {\r\n Bresenham.debug.printPattern(barcodeLine.line, _canvas.dom.pattern);\r\n }\r\n\r\n for ( i = 0; i < _barcodeReaders.length && result === null; i++) {\r\n result = _barcodeReaders[i].decodePattern(barcodeLine.line);\r\n }\r\n if (result === null){\r\n return null;\r\n }\r\n return {\r\n codeResult: result,\r\n barcodeLine: barcodeLine\r\n };\r\n }\r\n\r\n /**\r\n * This method slices the given area apart and tries to detect a barcode-pattern\r\n * for each slice. It returns the decoded barcode, or null if nothing was found\r\n * @param {Array} box\r\n * @param {Array} line\r\n * @param {Number} lineAngle\r\n */\r\n function tryDecodeBruteForce(box, line, lineAngle) {\r\n var sideLength = Math.sqrt(Math.pow(box[1][0] - box[0][0], 2) + Math.pow((box[1][1] - box[0][1]), 2)),\r\n i,\r\n slices = 16,\r\n result = null,\r\n dir,\r\n extension,\r\n xdir = Math.sin(lineAngle),\r\n ydir = Math.cos(lineAngle);\r\n\r\n for ( i = 1; i < slices && result === null; i++) {\r\n // move line perpendicular to angle\r\n dir = sideLength / slices * i * (i % 2 === 0 ? -1 : 1);\r\n extension = {\r\n y: dir * xdir,\r\n x: dir * ydir\r\n };\r\n line[0].y += extension.x;\r\n line[0].x -= extension.y;\r\n line[1].y += extension.x;\r\n line[1].x -= extension.y;\r\n\r\n result = tryDecode(line);\r\n }\r\n return result;\r\n }\r\n\r\n function getLineLength(line) {\r\n return Math.sqrt(\r\n Math.pow(Math.abs(line[1].y - line[0].y), 2) +\r\n Math.pow(Math.abs(line[1].x - line[0].x), 2));\r\n }\r\n\r\n /**\r\n * With the help of the configured readers (Code128 or EAN) this function tries to detect a\r\n * valid barcode pattern within the given area.\r\n * @param {Object} box The area to search in\r\n * @returns {Object} the result {codeResult, line, angle, pattern, threshold}\r\n */\r\n function decodeFromBoundingBox(box) {\r\n var line,\r\n lineAngle,\r\n ctx = _canvas.ctx.overlay,\r\n result,\r\n lineLength;\r\n\r\n if (ENV.development) {\r\n if (config.debug.drawBoundingBox && ctx) {\r\n ImageDebug.drawPath(box, {x: 0, y: 1}, ctx, {color: \"blue\", lineWidth: 2});\r\n }\r\n }\r\n\r\n line = getLine(box);\r\n lineLength = getLineLength(line);\r\n lineAngle = Math.atan2(line[1].y - line[0].y, line[1].x - line[0].x);\r\n line = getExtendedLine(line, lineAngle, Math.floor(lineLength * 0.1));\r\n if (line === null){\r\n return null;\r\n }\r\n\r\n result = tryDecode(line);\r\n if (result === null) {\r\n result = tryDecodeBruteForce(box, line, lineAngle);\r\n }\r\n\r\n if (result === null) {\r\n return null;\r\n }\r\n\r\n if (ENV.development && result && config.debug.drawScanline && ctx) {\r\n ImageDebug.drawPath(line, {x: 'x', y: 'y'}, ctx, {color: 'red', lineWidth: 3});\r\n }\r\n\r\n return {\r\n codeResult: result.codeResult,\r\n line: line,\r\n angle: lineAngle,\r\n pattern: result.barcodeLine.line,\r\n threshold: result.barcodeLine.threshold\r\n };\r\n }\r\n\r\n return {\r\n decodeFromBoundingBox: function(box) {\r\n return decodeFromBoundingBox(box);\r\n },\r\n decodeFromBoundingBoxes: function(boxes) {\r\n var i, result,\r\n barcodes = [],\r\n multiple = config.multiple;\r\n\r\n for ( i = 0; i < boxes.length; i++) {\r\n const box = boxes[i];\r\n result = decodeFromBoundingBox(box) || {};\r\n result.box = box;\r\n\r\n if (multiple) {\r\n barcodes.push(result);\r\n } else if (result.codeResult) {\r\n return result;\r\n }\r\n }\r\n\r\n if (multiple) {\r\n return {\r\n barcodes\r\n };\r\n }\r\n },\r\n setReaders: function(readers) {\r\n config.readers = readers;\r\n _barcodeReaders.length = 0;\r\n initReaders();\r\n }\r\n };\r\n }\r\n};\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/decoder/barcode_decoder.js\n **/","var Bresenham = {};\r\n\r\nvar Slope = {\r\n DIR: {\r\n UP: 1,\r\n DOWN: -1\r\n }\r\n};\r\n/**\r\n * Scans a line of the given image from point p1 to p2 and returns a result object containing\r\n * gray-scale values (0-255) of the underlying pixels in addition to the min\r\n * and max values.\r\n * @param {Object} imageWrapper\r\n * @param {Object} p1 The start point {x,y}\r\n * @param {Object} p2 The end point {x,y}\r\n * @returns {line, min, max}\r\n */\r\nBresenham.getBarcodeLine = function(imageWrapper, p1, p2) {\r\n var x0 = p1.x | 0,\r\n y0 = p1.y | 0,\r\n x1 = p2.x | 0,\r\n y1 = p2.y | 0,\r\n steep = Math.abs(y1 - y0) > Math.abs(x1 - x0),\r\n deltax,\r\n deltay,\r\n error,\r\n ystep,\r\n y,\r\n tmp,\r\n x,\r\n line = [],\r\n imageData = imageWrapper.data,\r\n width = imageWrapper.size.x,\r\n sum = 0,\r\n val,\r\n min = 255,\r\n max = 0;\r\n\r\n function read(a, b) {\r\n val = imageData[b * width + a];\r\n sum += val;\r\n min = val < min ? val : min;\r\n max = val > max ? val : max;\r\n line.push(val);\r\n }\r\n\r\n if (steep) {\r\n tmp = x0;\r\n x0 = y0;\r\n y0 = tmp;\r\n\r\n tmp = x1;\r\n x1 = y1;\r\n y1 = tmp;\r\n }\r\n if (x0 > x1) {\r\n tmp = x0;\r\n x0 = x1;\r\n x1 = tmp;\r\n\r\n tmp = y0;\r\n y0 = y1;\r\n y1 = tmp;\r\n }\r\n deltax = x1 - x0;\r\n deltay = Math.abs(y1 - y0);\r\n error = (deltax / 2) | 0;\r\n y = y0;\r\n ystep = y0 < y1 ? 1 : -1;\r\n for ( x = x0; x < x1; x++) {\r\n if (steep){\r\n read(y, x);\r\n } else {\r\n read(x, y);\r\n }\r\n error = error - deltay;\r\n if (error < 0) {\r\n y = y + ystep;\r\n error = error + deltax;\r\n }\r\n }\r\n\r\n return {\r\n line: line,\r\n min: min,\r\n max: max\r\n };\r\n};\r\n\r\n/**\r\n * Converts the result from getBarcodeLine into a binary representation\r\n * also considering the frequency and slope of the signal for more robust results\r\n * @param {Object} result {line, min, max}\r\n */\r\nBresenham.toBinaryLine = function(result) {\r\n var min = result.min,\r\n max = result.max,\r\n line = result.line,\r\n slope,\r\n slope2,\r\n center = min + (max - min) / 2,\r\n extrema = [],\r\n currentDir,\r\n dir,\r\n threshold = (max - min) / 12,\r\n rThreshold = -threshold,\r\n i,\r\n j;\r\n\r\n // 1. find extrema\r\n currentDir = line[0] > center ? Slope.DIR.UP : Slope.DIR.DOWN;\r\n extrema.push({\r\n pos: 0,\r\n val: line[0]\r\n });\r\n for ( i = 0; i < line.length - 2; i++) {\r\n slope = (line[i + 1] - line[i]);\r\n slope2 = (line[i + 2] - line[i + 1]);\r\n if ((slope + slope2) < rThreshold && line[i + 1] < (center * 1.5)) {\r\n dir = Slope.DIR.DOWN;\r\n } else if ((slope + slope2) > threshold && line[i + 1] > (center * 0.5)) {\r\n dir = Slope.DIR.UP;\r\n } else {\r\n dir = currentDir;\r\n }\r\n\r\n if (currentDir !== dir) {\r\n extrema.push({\r\n pos: i,\r\n val: line[i]\r\n });\r\n currentDir = dir;\r\n }\r\n }\r\n extrema.push({\r\n pos: line.length,\r\n val: line[line.length - 1]\r\n });\r\n\r\n for ( j = extrema[0].pos; j < extrema[1].pos; j++) {\r\n line[j] = line[j] > center ? 0 : 1;\r\n }\r\n\r\n // iterate over extrema and convert to binary based on avg between minmax\r\n for ( i = 1; i < extrema.length - 1; i++) {\r\n if (extrema[i + 1].val > extrema[i].val) {\r\n threshold = (extrema[i].val + ((extrema[i + 1].val - extrema[i].val) / 3) * 2) | 0;\r\n } else {\r\n threshold = (extrema[i + 1].val + ((extrema[i].val - extrema[i + 1].val) / 3)) | 0;\r\n }\r\n\r\n for ( j = extrema[i].pos; j < extrema[i + 1].pos; j++) {\r\n line[j] = line[j] > threshold ? 0 : 1;\r\n }\r\n }\r\n\r\n return {\r\n line: line,\r\n threshold: threshold\r\n };\r\n};\r\n\r\n/**\r\n * Used for development only\r\n */\r\nBresenham.debug = {\r\n printFrequency: function(line, canvas) {\r\n var i,\r\n ctx = canvas.getContext(\"2d\");\r\n canvas.width = line.length;\r\n canvas.height = 256;\r\n\r\n ctx.beginPath();\r\n ctx.strokeStyle = \"blue\";\r\n for ( i = 0; i < line.length; i++) {\r\n ctx.moveTo(i, 255);\r\n ctx.lineTo(i, 255 - line[i]);\r\n }\r\n ctx.stroke();\r\n ctx.closePath();\r\n },\r\n\r\n printPattern: function(line, canvas) {\r\n var ctx = canvas.getContext(\"2d\"), i;\r\n\r\n canvas.width = line.length;\r\n ctx.fillColor = \"black\";\r\n for ( i = 0; i < line.length; i++) {\r\n if (line[i] === 1) {\r\n ctx.fillRect(i, 0, 1, 100);\r\n }\r\n }\r\n }\r\n};\r\n\r\nexport default Bresenham;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/decoder/bresenham.js\n **/","import {merge, pick, omit} from 'lodash';\r\n\r\nvar streamRef;\r\n\r\nfunction waitForVideo(video) {\r\n return new Promise((resolve, reject) => {\r\n let attempts = 10;\r\n\r\n function checkVideo() {\r\n if (attempts > 0) {\r\n if (video.videoWidth > 0 && video.videoHeight > 0) {\r\n if (ENV.development) {\r\n console.log(video.videoWidth + \"px x \" + video.videoHeight + \"px\");\r\n }\r\n resolve();\r\n } else {\r\n window.setTimeout(checkVideo, 500);\r\n }\r\n } else {\r\n reject('Unable to play video stream. Is webcam working?');\r\n }\r\n attempts--;\r\n }\r\n checkVideo();\r\n });\r\n}\r\n\r\n/**\r\n * Tries to attach the camera-stream to a given video-element\r\n * and calls the callback function when the content is ready\r\n * @param {Object} constraints\r\n * @param {Object} video\r\n */\r\nfunction initCamera(video, constraints) {\r\n return navigator.mediaDevices.getUserMedia(constraints)\r\n .then((stream) => {\r\n return new Promise((resolve) => {\r\n streamRef = stream;\r\n video.setAttribute(\"autoplay\", 'true');\r\n video.srcObject = stream;\r\n video.addEventListener('loadedmetadata', () => {\r\n video.play();\r\n resolve();\r\n });\r\n });\r\n })\r\n .then(waitForVideo.bind(null, video));\r\n}\r\n\r\nfunction deprecatedConstraints(videoConstraints) {\r\n const normalized = pick(videoConstraints, [\"width\", \"height\", \"facingMode\",\r\n \"aspectRatio\", \"deviceId\"]);\r\n\r\n if (typeof videoConstraints.minAspectRatio !== 'undefined' &&\r\n videoConstraints.minAspectRatio > 0) {\r\n normalized.aspectRatio = videoConstraints.minAspectRatio;\r\n console.log(\"WARNING: Constraint 'minAspectRatio' is deprecated; Use 'aspectRatio' instead\");\r\n }\r\n if (typeof videoConstraints.facing !== 'undefined') {\r\n normalized.facingMode = videoConstraints.facing;\r\n console.log(\"WARNING: Constraint 'facing' is deprecated. Use 'facingMode' instead'\");\r\n }\r\n return normalized;\r\n}\r\n\r\nfunction applyCameraFacing(facing, constraints) {\r\n if (typeof constraints.video.deviceId === 'string' && constraints.video.deviceId.length > 0) {\r\n return Promise.resolve({\r\n ...constraints,\r\n video: {\r\n ...omit(constraints.video, \"facingMode\")\r\n }\r\n });\r\n } else if (!facing) {\r\n return Promise.resolve(constraints);\r\n }\r\n if ( typeof MediaStreamTrack !== 'undefined' &&\r\n typeof MediaStreamTrack.getSources !== 'undefined') {\r\n return new Promise((resolve) => {\r\n MediaStreamTrack.getSources((sourceInfos) => {\r\n const videoSource = sourceInfos.filter((sourceInfo) => (\r\n sourceInfo.kind === \"video\" && sourceInfo.facing === facing\r\n ))[0];\r\n if (videoSource) {\r\n return resolve(merge({}, constraints,\r\n {video: {deviceId: videoSource.id}}));\r\n }\r\n return resolve(constraints);\r\n });\r\n });\r\n }\r\n return Promise.resolve(merge({}, constraints, {video: {facingMode: facing}}));\r\n}\r\n\r\nfunction pickConstraints(videoConstraints) {\r\n const constraints = {\r\n audio: false,\r\n video: deprecatedConstraints(videoConstraints)\r\n };\r\n return applyCameraFacing(constraints.video.facingMode, constraints);\r\n}\r\n\r\nexport default {\r\n request: function(video, videoConstraints) {\r\n return pickConstraints(videoConstraints)\r\n .then(initCamera.bind(null, video));\r\n },\r\n release: function() {\r\n var tracks = streamRef && streamRef.getVideoTracks();\r\n if (tracks && tracks.length) {\r\n tracks[0].stop();\r\n }\r\n streamRef = null;\r\n }\r\n};\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/input/camera_access.js\n **/","import {merge, pick, omitBy, isEmpty} from 'lodash';\r\n\r\nimport DOMHelper from '../common/dom_helper';\r\n\r\nconst isDataURL = {regex: /^\\s*data:([a-z]+\\/[a-z0-9\\-\\+]+(;[a-z\\-]+\\=[a-z0-9\\-]+)?)?(;base64)?,[a-z0-9\\!\\$\\&\\'\\,\\(\\)\\*\\+\\,\\;\\=\\-\\.\\_\\~\\:\\@\\/\\?\\%\\s]*\\s*$/i}, // eslint-disable-line max-len\r\n isBlobURL = {regex: /^\\s*blob:(.*)$/i},\r\n isMediaURL = {regex: /^(?:(?:http[s]?|ftp):\\/)?\\/?(?:(?:[^:\\/\\s]+)(?:(?:\\/\\w+)*\\/))?([\\w\\-]+\\.([^#?\\s]+))(?:.*)?(?:#[\\w\\-]+)?$/i}, // eslint-disable-line max-len\r\n isImageExt = {regex: /(jpe?g|png|gif|tiff)(?:\\s+|$)/i},\r\n isVideoExt = {regex: /(webm|ogg|mp4|m4v)/i};\r\n\r\nexport function createConfigFromSource(config, sourceConfig, source) {\r\n if (source instanceof DOMHelper.MediaStream) {\r\n return createConfigForStream(config, sourceConfig, {srcObject: source});\r\n } else if (source instanceof DOMHelper.HTMLImageElement) {\r\n throw new Error('Source \"HTMLImageElement\": not yet supported');\r\n // return createConfigForImage(config, inputConfig, {image: source});\r\n } else if (source instanceof DOMHelper.HTMLVideoElement) {\r\n throw new Error('Source \"HTMLVideoElement\": not yet supported');\r\n // return createConfigForVideo(config, inputConfig, {video: source});\r\n } else if (source instanceof DOMHelper.HTMLCanvasElement) {\r\n return createConfigForCanvas(config, sourceConfig, {canvas: source});\r\n } else if (source instanceof DOMHelper.FileList) {\r\n if (source.length > 0) {\r\n return createConfigForFile(config, sourceConfig, source[0]);\r\n }\r\n } else if (source instanceof DOMHelper.File) {\r\n return createConfigForFile(config, sourceConfig, source);\r\n } else if (typeof source === 'string') {\r\n return createConfigForString(config, sourceConfig, source);\r\n } else if (typeof source === 'object'\r\n && (typeof source.constraints !== 'undefined'\r\n || typeof source.area !== 'undefined')) {\r\n return createConfigForLiveStream(config, source);\r\n } else {\r\n throw new Error(\"No source given!\");\r\n }\r\n}\r\n\r\nfunction createConfigForImage(config, source, inputConfig = {}) {\r\n const staticImageConfig = {\r\n inputStream: merge({\r\n type: \"ImageStream\",\r\n sequence: false,\r\n size: 800\r\n }, source),\r\n numOfWorkers: (ENV.development && config.debug) ? 0 : 1\r\n };\r\n return merge(\r\n config,\r\n staticImageConfig,\r\n {numOfWorkers: typeof config.numOfWorkers === 'number' && config.numOfWorkers > 0 ? 1 : 0},\r\n {inputStream: omitBy(pick(config.inputStream, ['size']), isEmpty)},\r\n {inputStream: inputConfig});\r\n}\r\n\r\nfunction createConfigForMimeType(config, inputConfig, {src, mime}) {\r\n const [, type] = mime.match(/^(video|image)\\/(.*)$/i) || [];\r\n if (type === 'video') {\r\n return createConfigForVideo(config, {src}, inputConfig);\r\n } else if (type === 'image') {\r\n return createConfigForImage(config, {src}, inputConfig);\r\n }\r\n throw new Error(`Source with mimetype: \"${type}\" not supported`);\r\n}\r\n\r\nfunction createConfigForFile(config, inputConfig, file) {\r\n const src = DOMHelper.URL.createObjectURL(file);\r\n return createConfigForMimeType(config, inputConfig, {\r\n src,\r\n mime: file.type\r\n });\r\n}\r\n\r\nfunction createConfigForString(config, inputConfig = {}, source) {\r\n const [, mime] = source.match(isDataURL.regex) || [];\r\n if (mime) {\r\n return createConfigForMimeType(config, inputConfig, {src: source, mime});\r\n }\r\n const blobURL = source.match(isBlobURL.regex);\r\n if (blobURL) {\r\n throw new Error(`Source \"objectURL\": not supported`);\r\n }\r\n const [, , ext] = source.match(isMediaURL.regex) || [];\r\n if (ext) {\r\n return createConfigForMediaExtension(config, inputConfig, {src: source, ext});\r\n }\r\n throw new Error(`Source \"${source}\": not recognized`);\r\n}\r\n\r\nfunction createConfigForMediaExtension(config, inputConfig, {src, ext}) {\r\n if (ext.match(isImageExt.regex)) {\r\n return createConfigForImage(config, {src}, inputConfig);\r\n } else if (ext.match(isVideoExt.regex)) {\r\n return createConfigForVideo(config, {src}, inputConfig);\r\n }\r\n throw new Error(`Source \"MediaString\": not recognized`);\r\n}\r\n\r\nfunction createConfigForCanvas (config, {canvas}, inputConfig = {}) {\r\n // TODO: adjust stream & frame-grabber\r\n // once/continous\r\n throw new Error('Source \"Canvas\": not implemented!');\r\n}\r\n\r\nfunction createConfigForVideo (config, source, inputConfig = {}) {\r\n return merge({},\r\n config,\r\n {\r\n inputStream: merge({\r\n type: \"VideoStream\"\r\n }, source)\r\n }, {\r\n inputStream: inputConfig\r\n });\r\n}\r\n\r\nfunction createConfigForStream(config, {srcObject}, inputConfig = {}) {\r\n // TODO: attach to