diff --git a/dist/dash.all.debug.js b/dist/dash.all.debug.js index 1e1582b961..d8b1e8d811 100644 --- a/dist/dash.all.debug.js +++ b/dist/dash.all.debug.js @@ -2628,6 +2628,797 @@ function fromByteArray (uint8) { } +/***/ }), + +/***/ "./node_modules/bcp-47-match/index.js": +/*!********************************************!*\ + !*** ./node_modules/bcp-47-match/index.js ***! + \********************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +// See https://tools.ietf.org/html/rfc4647#section-3.1 +// for more information on the algorithms. + +exports.basicFilter = factory(basic, true) +exports.extendedFilter = factory(extended, true) +exports.lookup = factory(lookup) + +// Basic Filtering (Section 3.3.1) matches a language priority list consisting +// of basic language ranges (Section 2.1) to sets of language tags. +function basic(tag, range) { + return range === '*' || tag === range || tag.indexOf(range + '-') > -1 +} + +// Extended Filtering (Section 3.3.2) matches a language priority list +// consisting of extended language ranges (Section 2.2) to sets of language +// tags. +function extended(tag, range) { + // 3.3.2.1 + var left = tag.split('-') + var right = range.split('-') + var leftIndex = 0 + var rightIndex = 0 + + // 3.3.2.2 + if (right[rightIndex] !== '*' && left[leftIndex] !== right[rightIndex]) { + return false + } + + leftIndex++ + rightIndex++ + + // 3.3.2.3 + while (rightIndex < right.length) { + // 3.3.2.3.A + if (right[rightIndex] === '*') { + rightIndex++ + continue + } + + // 3.3.2.3.B + if (!left[leftIndex]) return false + + // 3.3.2.3.C + if (left[leftIndex] === right[rightIndex]) { + leftIndex++ + rightIndex++ + continue + } + + // 3.3.2.3.D + if (left[leftIndex].length === 1) return false + + // 3.3.2.3.E + leftIndex++ + } + + // 3.3.2.4 + return true +} + +// Lookup (Section 3.4) matches a language priority list consisting of basic +// language ranges to sets of language tags to find the one exact language tag +// that best matches the range. +function lookup(tag, range) { + var right = range + var index + + /* eslint-disable-next-line no-constant-condition */ + while (true) { + if (right === '*' || tag === right) return true + + index = right.lastIndexOf('-') + + if (index < 0) return false + + if (right.charAt(index - 2) === '-') index -= 2 + + right = right.slice(0, index) + } +} + +// Factory to perform a filter or a lookup. +// This factory creates a function that accepts a list of tags and a list of +// ranges, and contains logic to exit early for lookups. +// `check` just has to deal with one tag and one range. +// This match function iterates over ranges, and for each range, +// iterates over tags. That way, earlier ranges matching any tag have +// precedence over later ranges. +function factory(check, filter) { + return match + + function match(tags, ranges) { + var left = cast(tags, 'tag') + var right = cast(ranges == null ? '*' : ranges, 'range') + var matches = [] + var rightIndex = -1 + var range + var leftIndex + var next + + while (++rightIndex < right.length) { + range = right[rightIndex].toLowerCase() + + // Ignore wildcards in lookup mode. + if (!filter && range === '*') continue + + leftIndex = -1 + next = [] + + while (++leftIndex < left.length) { + if (check(left[leftIndex].toLowerCase(), range)) { + // Exit if this is a lookup and we have a match. + if (!filter) return left[leftIndex] + matches.push(left[leftIndex]) + } else { + next.push(left[leftIndex]) + } + } + + left = next + } + + // If this is a filter, return the list. If it’s a lookup, we didn’t find + // a match, so return `undefined`. + return filter ? matches : undefined + } +} + +// Validate tags or ranges, and cast them to arrays. +function cast(values, name) { + var value = values && typeof values === 'string' ? [values] : values + + if (!value || typeof value !== 'object' || !('length' in value)) { + throw new Error( + 'Invalid ' + name + ' `' + value + '`, expected non-empty string' + ) + } + + return value +} + + +/***/ }), + +/***/ "./node_modules/bcp-47-normalize/index.js": +/*!************************************************!*\ + !*** ./node_modules/bcp-47-normalize/index.js ***! + \************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +module.exports = __webpack_require__(/*! ./lib */ "./node_modules/bcp-47-normalize/lib/index.js") + + +/***/ }), + +/***/ "./node_modules/bcp-47-normalize/lib/defaults.json": +/*!*********************************************************!*\ + !*** ./node_modules/bcp-47-normalize/lib/defaults.json ***! + \*********************************************************/ +/*! exports provided: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, default */ +/***/ (function(module) { + +module.exports = JSON.parse("[\"mni-beng-in\",\"mni-mtei-in\",\"sat-deva-in\",\"sat-olck-in\",\"shi-latn-ma\",\"shi-tfng-ma\",\"vai-latn-lr\",\"vai-vaii-lr\",\"yue-hans-cn\",\"yue-hant-hk\",\"az-arab-ir\",\"az-cyrl-az\",\"az-latn-az\",\"bm-nkoo-ml\",\"bs-cyrl-ba\",\"bs-latn-ba\",\"en-dsrt-us\",\"ff-adlm-gn\",\"ff-latn-sn\",\"ha-arab-ng\",\"hi-latn-in\",\"iu-latn-ca\",\"ks-arab-in\",\"ks-deva-in\",\"mn-mong-cn\",\"ms-arab-my\",\"pa-arab-pk\",\"pa-guru-in\",\"sd-arab-pk\",\"sd-deva-in\",\"sr-cyrl-rs\",\"sr-latn-rs\",\"su-latn-id\",\"uz-arab-af\",\"uz-cyrl-uz\",\"uz-latn-uz\",\"zh-hans-cn\",\"zh-hant-tw\",\"mni-beng\",\"sat-olck\",\"shi-tfng\",\"vai-vaii\",\"yue-hant\",\"az-latn\",\"bs-latn\",\"ff-latn\",\"jbo-001\",\"ks-arab\",\"pa-guru\",\"prg-001\",\"sd-arab\",\"sr-cyrl\",\"su-latn\",\"uz-latn\",\"zh-hans\",\"agq-cm\",\"ar-001\",\"arn-cl\",\"asa-tz\",\"ast-es\",\"bas-cm\",\"bem-zm\",\"bez-tz\",\"bgn-pk\",\"blt-vn\",\"brx-in\",\"bss-cm\",\"byn-er\",\"cad-us\",\"cch-ng\",\"ccp-bd\",\"ceb-ph\",\"cgg-ug\",\"chr-us\",\"cic-us\",\"ckb-iq\",\"dav-ke\",\"dje-ne\",\"doi-in\",\"dsb-de\",\"dua-cm\",\"dyo-sn\",\"ebu-ke\",\"eo-001\",\"ewo-cm\",\"fil-ph\",\"fur-it\",\"gaa-gh\",\"gez-et\",\"gsw-ch\",\"guz-ke\",\"haw-us\",\"hsb-de\",\"ia-001\",\"ife-tg\",\"io-001\",\"jgo-cm\",\"jmc-tz\",\"kab-dz\",\"kaj-ng\",\"kam-ke\",\"kcg-ng\",\"kde-tz\",\"kea-cv\",\"ken-cm\",\"khq-ml\",\"kkj-cm\",\"kln-ke\",\"kok-in\",\"kpe-lr\",\"ksb-tz\",\"ksf-cm\",\"ksh-de\",\"lag-tz\",\"lkt-us\",\"lrc-ir\",\"luo-ke\",\"luy-ke\",\"mai-in\",\"mas-ke\",\"mer-ke\",\"mfe-mu\",\"mgh-mz\",\"mgo-cm\",\"moh-ca\",\"mua-cm\",\"mus-us\",\"myv-ru\",\"mzn-ir\",\"naq-na\",\"nds-de\",\"nmg-cm\",\"nnh-cm\",\"nqo-gn\",\"nso-za\",\"nus-ss\",\"nyn-ug\",\"osa-us\",\"pcm-ng\",\"quc-gt\",\"rof-tz\",\"rwk-tz\",\"sah-ru\",\"saq-ke\",\"sbp-tz\",\"scn-it\",\"sdh-ir\",\"seh-mz\",\"ses-ml\",\"sid-et\",\"sma-se\",\"smj-se\",\"smn-fi\",\"sms-fi\",\"ssy-er\",\"syr-iq\",\"szl-pl\",\"teo-ug\",\"tig-er\",\"trv-tw\",\"trw-pk\",\"twq-ne\",\"tzm-ma\",\"vo-001\",\"vun-tz\",\"wae-ch\",\"wal-et\",\"wbp-au\",\"xog-ug\",\"yav-cm\",\"yi-001\",\"zgh-ma\",\"aa-et\",\"af-za\",\"ak-gh\",\"am-et\",\"an-es\",\"as-in\",\"ba-ru\",\"be-by\",\"bg-bg\",\"bm-ml\",\"bn-bd\",\"bo-cn\",\"br-fr\",\"ca-es\",\"ce-ru\",\"co-fr\",\"cs-cz\",\"cu-ru\",\"cv-ru\",\"cy-gb\",\"da-dk\",\"de-de\",\"dv-mv\",\"dz-bt\",\"ee-gh\",\"el-gr\",\"en-us\",\"es-es\",\"et-ee\",\"eu-es\",\"fa-ir\",\"fi-fi\",\"fo-fo\",\"fr-fr\",\"fy-nl\",\"ga-ie\",\"gd-gb\",\"gl-es\",\"gn-py\",\"gu-in\",\"gv-im\",\"ha-ng\",\"he-il\",\"hi-in\",\"hr-hr\",\"hu-hu\",\"hy-am\",\"id-id\",\"ig-ng\",\"ii-cn\",\"is-is\",\"it-it\",\"iu-ca\",\"ja-jp\",\"jv-id\",\"ka-ge\",\"ki-ke\",\"kk-kz\",\"kl-gl\",\"km-kh\",\"kn-in\",\"ko-kr\",\"ku-tr\",\"kw-gb\",\"ky-kg\",\"lb-lu\",\"lg-ug\",\"ln-cd\",\"lo-la\",\"lt-lt\",\"lu-cd\",\"lv-lv\",\"mg-mg\",\"mi-nz\",\"mk-mk\",\"ml-in\",\"mn-mn\",\"mr-in\",\"ms-my\",\"mt-mt\",\"my-mm\",\"nb-no\",\"nd-zw\",\"ne-np\",\"nl-nl\",\"nn-no\",\"nr-za\",\"nv-us\",\"ny-mw\",\"oc-fr\",\"om-et\",\"or-in\",\"os-ge\",\"pl-pl\",\"ps-af\",\"pt-br\",\"qu-pe\",\"rm-ch\",\"rn-bi\",\"ro-ro\",\"ru-ru\",\"rw-rw\",\"sa-in\",\"sc-it\",\"se-no\",\"sg-cf\",\"si-lk\",\"sk-sk\",\"sl-si\",\"sn-zw\",\"so-so\",\"sq-al\",\"ss-za\",\"st-za\",\"sv-se\",\"sw-tz\",\"ta-in\",\"te-in\",\"tg-tj\",\"th-th\",\"ti-et\",\"tk-tm\",\"tn-za\",\"to-to\",\"tr-tr\",\"ts-za\",\"tt-ru\",\"ug-cn\",\"uk-ua\",\"ur-pk\",\"ve-za\",\"vi-vn\",\"wa-be\",\"wo-sn\",\"xh-za\",\"yo-ng\",\"zu-za\"]"); + +/***/ }), + +/***/ "./node_modules/bcp-47-normalize/lib/fields.json": +/*!*******************************************************!*\ + !*** ./node_modules/bcp-47-normalize/lib/fields.json ***! + \*******************************************************/ +/*! exports provided: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, default */ +/***/ (function(module) { + +module.exports = JSON.parse("[{\"from\":{\"field\":\"script\",\"value\":\"qaai\"},\"to\":{\"field\":\"script\",\"value\":\"zinh\"}},{\"from\":{\"field\":\"region\",\"value\":\"bu\"},\"to\":{\"field\":\"region\",\"value\":\"mm\"}},{\"from\":{\"field\":\"region\",\"value\":\"ct\"},\"to\":{\"field\":\"region\",\"value\":\"ki\"}},{\"from\":{\"field\":\"region\",\"value\":\"dd\"},\"to\":{\"field\":\"region\",\"value\":\"de\"}},{\"from\":{\"field\":\"region\",\"value\":\"dy\"},\"to\":{\"field\":\"region\",\"value\":\"bj\"}},{\"from\":{\"field\":\"region\",\"value\":\"fx\"},\"to\":{\"field\":\"region\",\"value\":\"fr\"}},{\"from\":{\"field\":\"region\",\"value\":\"hv\"},\"to\":{\"field\":\"region\",\"value\":\"bf\"}},{\"from\":{\"field\":\"region\",\"value\":\"jt\"},\"to\":{\"field\":\"region\",\"value\":\"um\"}},{\"from\":{\"field\":\"region\",\"value\":\"mi\"},\"to\":{\"field\":\"region\",\"value\":\"um\"}},{\"from\":{\"field\":\"region\",\"value\":\"nh\"},\"to\":{\"field\":\"region\",\"value\":\"vu\"}},{\"from\":{\"field\":\"region\",\"value\":\"nq\"},\"to\":{\"field\":\"region\",\"value\":\"aq\"}},{\"from\":{\"field\":\"region\",\"value\":\"pu\"},\"to\":{\"field\":\"region\",\"value\":\"um\"}},{\"from\":{\"field\":\"region\",\"value\":\"pz\"},\"to\":{\"field\":\"region\",\"value\":\"pa\"}},{\"from\":{\"field\":\"region\",\"value\":\"qu\"},\"to\":{\"field\":\"region\",\"value\":\"eu\"}},{\"from\":{\"field\":\"region\",\"value\":\"rh\"},\"to\":{\"field\":\"region\",\"value\":\"zw\"}},{\"from\":{\"field\":\"region\",\"value\":\"tp\"},\"to\":{\"field\":\"region\",\"value\":\"tl\"}},{\"from\":{\"field\":\"region\",\"value\":\"uk\"},\"to\":{\"field\":\"region\",\"value\":\"gb\"}},{\"from\":{\"field\":\"region\",\"value\":\"vd\"},\"to\":{\"field\":\"region\",\"value\":\"vn\"}},{\"from\":{\"field\":\"region\",\"value\":\"wk\"},\"to\":{\"field\":\"region\",\"value\":\"um\"}},{\"from\":{\"field\":\"region\",\"value\":\"yd\"},\"to\":{\"field\":\"region\",\"value\":\"ye\"}},{\"from\":{\"field\":\"region\",\"value\":\"zr\"},\"to\":{\"field\":\"region\",\"value\":\"cd\"}},{\"from\":{\"field\":\"region\",\"value\":\"230\"},\"to\":{\"field\":\"region\",\"value\":\"et\"}},{\"from\":{\"field\":\"region\",\"value\":\"280\"},\"to\":{\"field\":\"region\",\"value\":\"de\"}},{\"from\":{\"field\":\"region\",\"value\":\"736\"},\"to\":{\"field\":\"region\",\"value\":\"sd\"}},{\"from\":{\"field\":\"region\",\"value\":\"886\"},\"to\":{\"field\":\"region\",\"value\":\"ye\"}},{\"from\":{\"field\":\"region\",\"value\":\"958\"},\"to\":{\"field\":\"region\",\"value\":\"aa\"}},{\"from\":{\"field\":\"region\",\"value\":\"020\"},\"to\":{\"field\":\"region\",\"value\":\"ad\"}},{\"from\":{\"field\":\"region\",\"value\":\"784\"},\"to\":{\"field\":\"region\",\"value\":\"ae\"}},{\"from\":{\"field\":\"region\",\"value\":\"004\"},\"to\":{\"field\":\"region\",\"value\":\"af\"}},{\"from\":{\"field\":\"region\",\"value\":\"028\"},\"to\":{\"field\":\"region\",\"value\":\"ag\"}},{\"from\":{\"field\":\"region\",\"value\":\"660\"},\"to\":{\"field\":\"region\",\"value\":\"ai\"}},{\"from\":{\"field\":\"region\",\"value\":\"008\"},\"to\":{\"field\":\"region\",\"value\":\"al\"}},{\"from\":{\"field\":\"region\",\"value\":\"051\"},\"to\":{\"field\":\"region\",\"value\":\"am\"}},{\"from\":{\"field\":\"region\",\"value\":\"024\"},\"to\":{\"field\":\"region\",\"value\":\"ao\"}},{\"from\":{\"field\":\"region\",\"value\":\"010\"},\"to\":{\"field\":\"region\",\"value\":\"aq\"}},{\"from\":{\"field\":\"region\",\"value\":\"032\"},\"to\":{\"field\":\"region\",\"value\":\"ar\"}},{\"from\":{\"field\":\"region\",\"value\":\"016\"},\"to\":{\"field\":\"region\",\"value\":\"as\"}},{\"from\":{\"field\":\"region\",\"value\":\"040\"},\"to\":{\"field\":\"region\",\"value\":\"at\"}},{\"from\":{\"field\":\"region\",\"value\":\"036\"},\"to\":{\"field\":\"region\",\"value\":\"au\"}},{\"from\":{\"field\":\"region\",\"value\":\"533\"},\"to\":{\"field\":\"region\",\"value\":\"aw\"}},{\"from\":{\"field\":\"region\",\"value\":\"248\"},\"to\":{\"field\":\"region\",\"value\":\"ax\"}},{\"from\":{\"field\":\"region\",\"value\":\"031\"},\"to\":{\"field\":\"region\",\"value\":\"az\"}},{\"from\":{\"field\":\"region\",\"value\":\"070\"},\"to\":{\"field\":\"region\",\"value\":\"ba\"}},{\"from\":{\"field\":\"region\",\"value\":\"052\"},\"to\":{\"field\":\"region\",\"value\":\"bb\"}},{\"from\":{\"field\":\"region\",\"value\":\"050\"},\"to\":{\"field\":\"region\",\"value\":\"bd\"}},{\"from\":{\"field\":\"region\",\"value\":\"056\"},\"to\":{\"field\":\"region\",\"value\":\"be\"}},{\"from\":{\"field\":\"region\",\"value\":\"854\"},\"to\":{\"field\":\"region\",\"value\":\"bf\"}},{\"from\":{\"field\":\"region\",\"value\":\"100\"},\"to\":{\"field\":\"region\",\"value\":\"bg\"}},{\"from\":{\"field\":\"region\",\"value\":\"048\"},\"to\":{\"field\":\"region\",\"value\":\"bh\"}},{\"from\":{\"field\":\"region\",\"value\":\"108\"},\"to\":{\"field\":\"region\",\"value\":\"bi\"}},{\"from\":{\"field\":\"region\",\"value\":\"204\"},\"to\":{\"field\":\"region\",\"value\":\"bj\"}},{\"from\":{\"field\":\"region\",\"value\":\"652\"},\"to\":{\"field\":\"region\",\"value\":\"bl\"}},{\"from\":{\"field\":\"region\",\"value\":\"060\"},\"to\":{\"field\":\"region\",\"value\":\"bm\"}},{\"from\":{\"field\":\"region\",\"value\":\"096\"},\"to\":{\"field\":\"region\",\"value\":\"bn\"}},{\"from\":{\"field\":\"region\",\"value\":\"068\"},\"to\":{\"field\":\"region\",\"value\":\"bo\"}},{\"from\":{\"field\":\"region\",\"value\":\"535\"},\"to\":{\"field\":\"region\",\"value\":\"bq\"}},{\"from\":{\"field\":\"region\",\"value\":\"076\"},\"to\":{\"field\":\"region\",\"value\":\"br\"}},{\"from\":{\"field\":\"region\",\"value\":\"044\"},\"to\":{\"field\":\"region\",\"value\":\"bs\"}},{\"from\":{\"field\":\"region\",\"value\":\"064\"},\"to\":{\"field\":\"region\",\"value\":\"bt\"}},{\"from\":{\"field\":\"region\",\"value\":\"104\"},\"to\":{\"field\":\"region\",\"value\":\"mm\"}},{\"from\":{\"field\":\"region\",\"value\":\"074\"},\"to\":{\"field\":\"region\",\"value\":\"bv\"}},{\"from\":{\"field\":\"region\",\"value\":\"072\"},\"to\":{\"field\":\"region\",\"value\":\"bw\"}},{\"from\":{\"field\":\"region\",\"value\":\"112\"},\"to\":{\"field\":\"region\",\"value\":\"by\"}},{\"from\":{\"field\":\"region\",\"value\":\"084\"},\"to\":{\"field\":\"region\",\"value\":\"bz\"}},{\"from\":{\"field\":\"region\",\"value\":\"124\"},\"to\":{\"field\":\"region\",\"value\":\"ca\"}},{\"from\":{\"field\":\"region\",\"value\":\"166\"},\"to\":{\"field\":\"region\",\"value\":\"cc\"}},{\"from\":{\"field\":\"region\",\"value\":\"180\"},\"to\":{\"field\":\"region\",\"value\":\"cd\"}},{\"from\":{\"field\":\"region\",\"value\":\"140\"},\"to\":{\"field\":\"region\",\"value\":\"cf\"}},{\"from\":{\"field\":\"region\",\"value\":\"178\"},\"to\":{\"field\":\"region\",\"value\":\"cg\"}},{\"from\":{\"field\":\"region\",\"value\":\"756\"},\"to\":{\"field\":\"region\",\"value\":\"ch\"}},{\"from\":{\"field\":\"region\",\"value\":\"384\"},\"to\":{\"field\":\"region\",\"value\":\"ci\"}},{\"from\":{\"field\":\"region\",\"value\":\"184\"},\"to\":{\"field\":\"region\",\"value\":\"ck\"}},{\"from\":{\"field\":\"region\",\"value\":\"152\"},\"to\":{\"field\":\"region\",\"value\":\"cl\"}},{\"from\":{\"field\":\"region\",\"value\":\"120\"},\"to\":{\"field\":\"region\",\"value\":\"cm\"}},{\"from\":{\"field\":\"region\",\"value\":\"156\"},\"to\":{\"field\":\"region\",\"value\":\"cn\"}},{\"from\":{\"field\":\"region\",\"value\":\"170\"},\"to\":{\"field\":\"region\",\"value\":\"co\"}},{\"from\":{\"field\":\"region\",\"value\":\"188\"},\"to\":{\"field\":\"region\",\"value\":\"cr\"}},{\"from\":{\"field\":\"region\",\"value\":\"192\"},\"to\":{\"field\":\"region\",\"value\":\"cu\"}},{\"from\":{\"field\":\"region\",\"value\":\"132\"},\"to\":{\"field\":\"region\",\"value\":\"cv\"}},{\"from\":{\"field\":\"region\",\"value\":\"531\"},\"to\":{\"field\":\"region\",\"value\":\"cw\"}},{\"from\":{\"field\":\"region\",\"value\":\"162\"},\"to\":{\"field\":\"region\",\"value\":\"cx\"}},{\"from\":{\"field\":\"region\",\"value\":\"196\"},\"to\":{\"field\":\"region\",\"value\":\"cy\"}},{\"from\":{\"field\":\"region\",\"value\":\"203\"},\"to\":{\"field\":\"region\",\"value\":\"cz\"}},{\"from\":{\"field\":\"region\",\"value\":\"278\"},\"to\":{\"field\":\"region\",\"value\":\"de\"}},{\"from\":{\"field\":\"region\",\"value\":\"276\"},\"to\":{\"field\":\"region\",\"value\":\"de\"}},{\"from\":{\"field\":\"region\",\"value\":\"262\"},\"to\":{\"field\":\"region\",\"value\":\"dj\"}},{\"from\":{\"field\":\"region\",\"value\":\"208\"},\"to\":{\"field\":\"region\",\"value\":\"dk\"}},{\"from\":{\"field\":\"region\",\"value\":\"212\"},\"to\":{\"field\":\"region\",\"value\":\"dm\"}},{\"from\":{\"field\":\"region\",\"value\":\"214\"},\"to\":{\"field\":\"region\",\"value\":\"do\"}},{\"from\":{\"field\":\"region\",\"value\":\"012\"},\"to\":{\"field\":\"region\",\"value\":\"dz\"}},{\"from\":{\"field\":\"region\",\"value\":\"218\"},\"to\":{\"field\":\"region\",\"value\":\"ec\"}},{\"from\":{\"field\":\"region\",\"value\":\"233\"},\"to\":{\"field\":\"region\",\"value\":\"ee\"}},{\"from\":{\"field\":\"region\",\"value\":\"818\"},\"to\":{\"field\":\"region\",\"value\":\"eg\"}},{\"from\":{\"field\":\"region\",\"value\":\"732\"},\"to\":{\"field\":\"region\",\"value\":\"eh\"}},{\"from\":{\"field\":\"region\",\"value\":\"232\"},\"to\":{\"field\":\"region\",\"value\":\"er\"}},{\"from\":{\"field\":\"region\",\"value\":\"724\"},\"to\":{\"field\":\"region\",\"value\":\"es\"}},{\"from\":{\"field\":\"region\",\"value\":\"231\"},\"to\":{\"field\":\"region\",\"value\":\"et\"}},{\"from\":{\"field\":\"region\",\"value\":\"246\"},\"to\":{\"field\":\"region\",\"value\":\"fi\"}},{\"from\":{\"field\":\"region\",\"value\":\"242\"},\"to\":{\"field\":\"region\",\"value\":\"fj\"}},{\"from\":{\"field\":\"region\",\"value\":\"238\"},\"to\":{\"field\":\"region\",\"value\":\"fk\"}},{\"from\":{\"field\":\"region\",\"value\":\"583\"},\"to\":{\"field\":\"region\",\"value\":\"fm\"}},{\"from\":{\"field\":\"region\",\"value\":\"234\"},\"to\":{\"field\":\"region\",\"value\":\"fo\"}},{\"from\":{\"field\":\"region\",\"value\":\"250\"},\"to\":{\"field\":\"region\",\"value\":\"fr\"}},{\"from\":{\"field\":\"region\",\"value\":\"249\"},\"to\":{\"field\":\"region\",\"value\":\"fr\"}},{\"from\":{\"field\":\"region\",\"value\":\"266\"},\"to\":{\"field\":\"region\",\"value\":\"ga\"}},{\"from\":{\"field\":\"region\",\"value\":\"826\"},\"to\":{\"field\":\"region\",\"value\":\"gb\"}},{\"from\":{\"field\":\"region\",\"value\":\"308\"},\"to\":{\"field\":\"region\",\"value\":\"gd\"}},{\"from\":{\"field\":\"region\",\"value\":\"268\"},\"to\":{\"field\":\"region\",\"value\":\"ge\"}},{\"from\":{\"field\":\"region\",\"value\":\"254\"},\"to\":{\"field\":\"region\",\"value\":\"gf\"}},{\"from\":{\"field\":\"region\",\"value\":\"831\"},\"to\":{\"field\":\"region\",\"value\":\"gg\"}},{\"from\":{\"field\":\"region\",\"value\":\"288\"},\"to\":{\"field\":\"region\",\"value\":\"gh\"}},{\"from\":{\"field\":\"region\",\"value\":\"292\"},\"to\":{\"field\":\"region\",\"value\":\"gi\"}},{\"from\":{\"field\":\"region\",\"value\":\"304\"},\"to\":{\"field\":\"region\",\"value\":\"gl\"}},{\"from\":{\"field\":\"region\",\"value\":\"270\"},\"to\":{\"field\":\"region\",\"value\":\"gm\"}},{\"from\":{\"field\":\"region\",\"value\":\"324\"},\"to\":{\"field\":\"region\",\"value\":\"gn\"}},{\"from\":{\"field\":\"region\",\"value\":\"312\"},\"to\":{\"field\":\"region\",\"value\":\"gp\"}},{\"from\":{\"field\":\"region\",\"value\":\"226\"},\"to\":{\"field\":\"region\",\"value\":\"gq\"}},{\"from\":{\"field\":\"region\",\"value\":\"300\"},\"to\":{\"field\":\"region\",\"value\":\"gr\"}},{\"from\":{\"field\":\"region\",\"value\":\"239\"},\"to\":{\"field\":\"region\",\"value\":\"gs\"}},{\"from\":{\"field\":\"region\",\"value\":\"320\"},\"to\":{\"field\":\"region\",\"value\":\"gt\"}},{\"from\":{\"field\":\"region\",\"value\":\"316\"},\"to\":{\"field\":\"region\",\"value\":\"gu\"}},{\"from\":{\"field\":\"region\",\"value\":\"624\"},\"to\":{\"field\":\"region\",\"value\":\"gw\"}},{\"from\":{\"field\":\"region\",\"value\":\"328\"},\"to\":{\"field\":\"region\",\"value\":\"gy\"}},{\"from\":{\"field\":\"region\",\"value\":\"344\"},\"to\":{\"field\":\"region\",\"value\":\"hk\"}},{\"from\":{\"field\":\"region\",\"value\":\"334\"},\"to\":{\"field\":\"region\",\"value\":\"hm\"}},{\"from\":{\"field\":\"region\",\"value\":\"340\"},\"to\":{\"field\":\"region\",\"value\":\"hn\"}},{\"from\":{\"field\":\"region\",\"value\":\"191\"},\"to\":{\"field\":\"region\",\"value\":\"hr\"}},{\"from\":{\"field\":\"region\",\"value\":\"332\"},\"to\":{\"field\":\"region\",\"value\":\"ht\"}},{\"from\":{\"field\":\"region\",\"value\":\"348\"},\"to\":{\"field\":\"region\",\"value\":\"hu\"}},{\"from\":{\"field\":\"region\",\"value\":\"360\"},\"to\":{\"field\":\"region\",\"value\":\"id\"}},{\"from\":{\"field\":\"region\",\"value\":\"372\"},\"to\":{\"field\":\"region\",\"value\":\"ie\"}},{\"from\":{\"field\":\"region\",\"value\":\"376\"},\"to\":{\"field\":\"region\",\"value\":\"il\"}},{\"from\":{\"field\":\"region\",\"value\":\"833\"},\"to\":{\"field\":\"region\",\"value\":\"im\"}},{\"from\":{\"field\":\"region\",\"value\":\"356\"},\"to\":{\"field\":\"region\",\"value\":\"in\"}},{\"from\":{\"field\":\"region\",\"value\":\"086\"},\"to\":{\"field\":\"region\",\"value\":\"io\"}},{\"from\":{\"field\":\"region\",\"value\":\"368\"},\"to\":{\"field\":\"region\",\"value\":\"iq\"}},{\"from\":{\"field\":\"region\",\"value\":\"364\"},\"to\":{\"field\":\"region\",\"value\":\"ir\"}},{\"from\":{\"field\":\"region\",\"value\":\"352\"},\"to\":{\"field\":\"region\",\"value\":\"is\"}},{\"from\":{\"field\":\"region\",\"value\":\"380\"},\"to\":{\"field\":\"region\",\"value\":\"it\"}},{\"from\":{\"field\":\"region\",\"value\":\"832\"},\"to\":{\"field\":\"region\",\"value\":\"je\"}},{\"from\":{\"field\":\"region\",\"value\":\"388\"},\"to\":{\"field\":\"region\",\"value\":\"jm\"}},{\"from\":{\"field\":\"region\",\"value\":\"400\"},\"to\":{\"field\":\"region\",\"value\":\"jo\"}},{\"from\":{\"field\":\"region\",\"value\":\"392\"},\"to\":{\"field\":\"region\",\"value\":\"jp\"}},{\"from\":{\"field\":\"region\",\"value\":\"404\"},\"to\":{\"field\":\"region\",\"value\":\"ke\"}},{\"from\":{\"field\":\"region\",\"value\":\"417\"},\"to\":{\"field\":\"region\",\"value\":\"kg\"}},{\"from\":{\"field\":\"region\",\"value\":\"116\"},\"to\":{\"field\":\"region\",\"value\":\"kh\"}},{\"from\":{\"field\":\"region\",\"value\":\"296\"},\"to\":{\"field\":\"region\",\"value\":\"ki\"}},{\"from\":{\"field\":\"region\",\"value\":\"174\"},\"to\":{\"field\":\"region\",\"value\":\"km\"}},{\"from\":{\"field\":\"region\",\"value\":\"659\"},\"to\":{\"field\":\"region\",\"value\":\"kn\"}},{\"from\":{\"field\":\"region\",\"value\":\"408\"},\"to\":{\"field\":\"region\",\"value\":\"kp\"}},{\"from\":{\"field\":\"region\",\"value\":\"410\"},\"to\":{\"field\":\"region\",\"value\":\"kr\"}},{\"from\":{\"field\":\"region\",\"value\":\"414\"},\"to\":{\"field\":\"region\",\"value\":\"kw\"}},{\"from\":{\"field\":\"region\",\"value\":\"136\"},\"to\":{\"field\":\"region\",\"value\":\"ky\"}},{\"from\":{\"field\":\"region\",\"value\":\"398\"},\"to\":{\"field\":\"region\",\"value\":\"kz\"}},{\"from\":{\"field\":\"region\",\"value\":\"418\"},\"to\":{\"field\":\"region\",\"value\":\"la\"}},{\"from\":{\"field\":\"region\",\"value\":\"422\"},\"to\":{\"field\":\"region\",\"value\":\"lb\"}},{\"from\":{\"field\":\"region\",\"value\":\"662\"},\"to\":{\"field\":\"region\",\"value\":\"lc\"}},{\"from\":{\"field\":\"region\",\"value\":\"438\"},\"to\":{\"field\":\"region\",\"value\":\"li\"}},{\"from\":{\"field\":\"region\",\"value\":\"144\"},\"to\":{\"field\":\"region\",\"value\":\"lk\"}},{\"from\":{\"field\":\"region\",\"value\":\"430\"},\"to\":{\"field\":\"region\",\"value\":\"lr\"}},{\"from\":{\"field\":\"region\",\"value\":\"426\"},\"to\":{\"field\":\"region\",\"value\":\"ls\"}},{\"from\":{\"field\":\"region\",\"value\":\"440\"},\"to\":{\"field\":\"region\",\"value\":\"lt\"}},{\"from\":{\"field\":\"region\",\"value\":\"442\"},\"to\":{\"field\":\"region\",\"value\":\"lu\"}},{\"from\":{\"field\":\"region\",\"value\":\"428\"},\"to\":{\"field\":\"region\",\"value\":\"lv\"}},{\"from\":{\"field\":\"region\",\"value\":\"434\"},\"to\":{\"field\":\"region\",\"value\":\"ly\"}},{\"from\":{\"field\":\"region\",\"value\":\"504\"},\"to\":{\"field\":\"region\",\"value\":\"ma\"}},{\"from\":{\"field\":\"region\",\"value\":\"492\"},\"to\":{\"field\":\"region\",\"value\":\"mc\"}},{\"from\":{\"field\":\"region\",\"value\":\"498\"},\"to\":{\"field\":\"region\",\"value\":\"md\"}},{\"from\":{\"field\":\"region\",\"value\":\"499\"},\"to\":{\"field\":\"region\",\"value\":\"me\"}},{\"from\":{\"field\":\"region\",\"value\":\"663\"},\"to\":{\"field\":\"region\",\"value\":\"mf\"}},{\"from\":{\"field\":\"region\",\"value\":\"450\"},\"to\":{\"field\":\"region\",\"value\":\"mg\"}},{\"from\":{\"field\":\"region\",\"value\":\"584\"},\"to\":{\"field\":\"region\",\"value\":\"mh\"}},{\"from\":{\"field\":\"region\",\"value\":\"807\"},\"to\":{\"field\":\"region\",\"value\":\"mk\"}},{\"from\":{\"field\":\"region\",\"value\":\"466\"},\"to\":{\"field\":\"region\",\"value\":\"ml\"}},{\"from\":{\"field\":\"region\",\"value\":\"496\"},\"to\":{\"field\":\"region\",\"value\":\"mn\"}},{\"from\":{\"field\":\"region\",\"value\":\"446\"},\"to\":{\"field\":\"region\",\"value\":\"mo\"}},{\"from\":{\"field\":\"region\",\"value\":\"580\"},\"to\":{\"field\":\"region\",\"value\":\"mp\"}},{\"from\":{\"field\":\"region\",\"value\":\"474\"},\"to\":{\"field\":\"region\",\"value\":\"mq\"}},{\"from\":{\"field\":\"region\",\"value\":\"478\"},\"to\":{\"field\":\"region\",\"value\":\"mr\"}},{\"from\":{\"field\":\"region\",\"value\":\"500\"},\"to\":{\"field\":\"region\",\"value\":\"ms\"}},{\"from\":{\"field\":\"region\",\"value\":\"470\"},\"to\":{\"field\":\"region\",\"value\":\"mt\"}},{\"from\":{\"field\":\"region\",\"value\":\"480\"},\"to\":{\"field\":\"region\",\"value\":\"mu\"}},{\"from\":{\"field\":\"region\",\"value\":\"462\"},\"to\":{\"field\":\"region\",\"value\":\"mv\"}},{\"from\":{\"field\":\"region\",\"value\":\"454\"},\"to\":{\"field\":\"region\",\"value\":\"mw\"}},{\"from\":{\"field\":\"region\",\"value\":\"484\"},\"to\":{\"field\":\"region\",\"value\":\"mx\"}},{\"from\":{\"field\":\"region\",\"value\":\"458\"},\"to\":{\"field\":\"region\",\"value\":\"my\"}},{\"from\":{\"field\":\"region\",\"value\":\"508\"},\"to\":{\"field\":\"region\",\"value\":\"mz\"}},{\"from\":{\"field\":\"region\",\"value\":\"516\"},\"to\":{\"field\":\"region\",\"value\":\"na\"}},{\"from\":{\"field\":\"region\",\"value\":\"540\"},\"to\":{\"field\":\"region\",\"value\":\"nc\"}},{\"from\":{\"field\":\"region\",\"value\":\"562\"},\"to\":{\"field\":\"region\",\"value\":\"ne\"}},{\"from\":{\"field\":\"region\",\"value\":\"574\"},\"to\":{\"field\":\"region\",\"value\":\"nf\"}},{\"from\":{\"field\":\"region\",\"value\":\"566\"},\"to\":{\"field\":\"region\",\"value\":\"ng\"}},{\"from\":{\"field\":\"region\",\"value\":\"558\"},\"to\":{\"field\":\"region\",\"value\":\"ni\"}},{\"from\":{\"field\":\"region\",\"value\":\"528\"},\"to\":{\"field\":\"region\",\"value\":\"nl\"}},{\"from\":{\"field\":\"region\",\"value\":\"578\"},\"to\":{\"field\":\"region\",\"value\":\"no\"}},{\"from\":{\"field\":\"region\",\"value\":\"524\"},\"to\":{\"field\":\"region\",\"value\":\"np\"}},{\"from\":{\"field\":\"region\",\"value\":\"520\"},\"to\":{\"field\":\"region\",\"value\":\"nr\"}},{\"from\":{\"field\":\"region\",\"value\":\"570\"},\"to\":{\"field\":\"region\",\"value\":\"nu\"}},{\"from\":{\"field\":\"region\",\"value\":\"554\"},\"to\":{\"field\":\"region\",\"value\":\"nz\"}},{\"from\":{\"field\":\"region\",\"value\":\"512\"},\"to\":{\"field\":\"region\",\"value\":\"om\"}},{\"from\":{\"field\":\"region\",\"value\":\"591\"},\"to\":{\"field\":\"region\",\"value\":\"pa\"}},{\"from\":{\"field\":\"region\",\"value\":\"604\"},\"to\":{\"field\":\"region\",\"value\":\"pe\"}},{\"from\":{\"field\":\"region\",\"value\":\"258\"},\"to\":{\"field\":\"region\",\"value\":\"pf\"}},{\"from\":{\"field\":\"region\",\"value\":\"598\"},\"to\":{\"field\":\"region\",\"value\":\"pg\"}},{\"from\":{\"field\":\"region\",\"value\":\"608\"},\"to\":{\"field\":\"region\",\"value\":\"ph\"}},{\"from\":{\"field\":\"region\",\"value\":\"586\"},\"to\":{\"field\":\"region\",\"value\":\"pk\"}},{\"from\":{\"field\":\"region\",\"value\":\"616\"},\"to\":{\"field\":\"region\",\"value\":\"pl\"}},{\"from\":{\"field\":\"region\",\"value\":\"666\"},\"to\":{\"field\":\"region\",\"value\":\"pm\"}},{\"from\":{\"field\":\"region\",\"value\":\"612\"},\"to\":{\"field\":\"region\",\"value\":\"pn\"}},{\"from\":{\"field\":\"region\",\"value\":\"630\"},\"to\":{\"field\":\"region\",\"value\":\"pr\"}},{\"from\":{\"field\":\"region\",\"value\":\"275\"},\"to\":{\"field\":\"region\",\"value\":\"ps\"}},{\"from\":{\"field\":\"region\",\"value\":\"620\"},\"to\":{\"field\":\"region\",\"value\":\"pt\"}},{\"from\":{\"field\":\"region\",\"value\":\"585\"},\"to\":{\"field\":\"region\",\"value\":\"pw\"}},{\"from\":{\"field\":\"region\",\"value\":\"600\"},\"to\":{\"field\":\"region\",\"value\":\"py\"}},{\"from\":{\"field\":\"region\",\"value\":\"634\"},\"to\":{\"field\":\"region\",\"value\":\"qa\"}},{\"from\":{\"field\":\"region\",\"value\":\"959\"},\"to\":{\"field\":\"region\",\"value\":\"qm\"}},{\"from\":{\"field\":\"region\",\"value\":\"960\"},\"to\":{\"field\":\"region\",\"value\":\"qn\"}},{\"from\":{\"field\":\"region\",\"value\":\"962\"},\"to\":{\"field\":\"region\",\"value\":\"qp\"}},{\"from\":{\"field\":\"region\",\"value\":\"963\"},\"to\":{\"field\":\"region\",\"value\":\"qq\"}},{\"from\":{\"field\":\"region\",\"value\":\"964\"},\"to\":{\"field\":\"region\",\"value\":\"qr\"}},{\"from\":{\"field\":\"region\",\"value\":\"965\"},\"to\":{\"field\":\"region\",\"value\":\"qs\"}},{\"from\":{\"field\":\"region\",\"value\":\"966\"},\"to\":{\"field\":\"region\",\"value\":\"qt\"}},{\"from\":{\"field\":\"region\",\"value\":\"967\"},\"to\":{\"field\":\"region\",\"value\":\"eu\"}},{\"from\":{\"field\":\"region\",\"value\":\"968\"},\"to\":{\"field\":\"region\",\"value\":\"qv\"}},{\"from\":{\"field\":\"region\",\"value\":\"969\"},\"to\":{\"field\":\"region\",\"value\":\"qw\"}},{\"from\":{\"field\":\"region\",\"value\":\"970\"},\"to\":{\"field\":\"region\",\"value\":\"qx\"}},{\"from\":{\"field\":\"region\",\"value\":\"971\"},\"to\":{\"field\":\"region\",\"value\":\"qy\"}},{\"from\":{\"field\":\"region\",\"value\":\"972\"},\"to\":{\"field\":\"region\",\"value\":\"qz\"}},{\"from\":{\"field\":\"region\",\"value\":\"638\"},\"to\":{\"field\":\"region\",\"value\":\"re\"}},{\"from\":{\"field\":\"region\",\"value\":\"642\"},\"to\":{\"field\":\"region\",\"value\":\"ro\"}},{\"from\":{\"field\":\"region\",\"value\":\"688\"},\"to\":{\"field\":\"region\",\"value\":\"rs\"}},{\"from\":{\"field\":\"region\",\"value\":\"643\"},\"to\":{\"field\":\"region\",\"value\":\"ru\"}},{\"from\":{\"field\":\"region\",\"value\":\"646\"},\"to\":{\"field\":\"region\",\"value\":\"rw\"}},{\"from\":{\"field\":\"region\",\"value\":\"682\"},\"to\":{\"field\":\"region\",\"value\":\"sa\"}},{\"from\":{\"field\":\"region\",\"value\":\"090\"},\"to\":{\"field\":\"region\",\"value\":\"sb\"}},{\"from\":{\"field\":\"region\",\"value\":\"690\"},\"to\":{\"field\":\"region\",\"value\":\"sc\"}},{\"from\":{\"field\":\"region\",\"value\":\"729\"},\"to\":{\"field\":\"region\",\"value\":\"sd\"}},{\"from\":{\"field\":\"region\",\"value\":\"752\"},\"to\":{\"field\":\"region\",\"value\":\"se\"}},{\"from\":{\"field\":\"region\",\"value\":\"702\"},\"to\":{\"field\":\"region\",\"value\":\"sg\"}},{\"from\":{\"field\":\"region\",\"value\":\"654\"},\"to\":{\"field\":\"region\",\"value\":\"sh\"}},{\"from\":{\"field\":\"region\",\"value\":\"705\"},\"to\":{\"field\":\"region\",\"value\":\"si\"}},{\"from\":{\"field\":\"region\",\"value\":\"744\"},\"to\":{\"field\":\"region\",\"value\":\"sj\"}},{\"from\":{\"field\":\"region\",\"value\":\"703\"},\"to\":{\"field\":\"region\",\"value\":\"sk\"}},{\"from\":{\"field\":\"region\",\"value\":\"694\"},\"to\":{\"field\":\"region\",\"value\":\"sl\"}},{\"from\":{\"field\":\"region\",\"value\":\"674\"},\"to\":{\"field\":\"region\",\"value\":\"sm\"}},{\"from\":{\"field\":\"region\",\"value\":\"686\"},\"to\":{\"field\":\"region\",\"value\":\"sn\"}},{\"from\":{\"field\":\"region\",\"value\":\"706\"},\"to\":{\"field\":\"region\",\"value\":\"so\"}},{\"from\":{\"field\":\"region\",\"value\":\"740\"},\"to\":{\"field\":\"region\",\"value\":\"sr\"}},{\"from\":{\"field\":\"region\",\"value\":\"728\"},\"to\":{\"field\":\"region\",\"value\":\"ss\"}},{\"from\":{\"field\":\"region\",\"value\":\"678\"},\"to\":{\"field\":\"region\",\"value\":\"st\"}},{\"from\":{\"field\":\"region\",\"value\":\"222\"},\"to\":{\"field\":\"region\",\"value\":\"sv\"}},{\"from\":{\"field\":\"region\",\"value\":\"534\"},\"to\":{\"field\":\"region\",\"value\":\"sx\"}},{\"from\":{\"field\":\"region\",\"value\":\"760\"},\"to\":{\"field\":\"region\",\"value\":\"sy\"}},{\"from\":{\"field\":\"region\",\"value\":\"748\"},\"to\":{\"field\":\"region\",\"value\":\"sz\"}},{\"from\":{\"field\":\"region\",\"value\":\"796\"},\"to\":{\"field\":\"region\",\"value\":\"tc\"}},{\"from\":{\"field\":\"region\",\"value\":\"148\"},\"to\":{\"field\":\"region\",\"value\":\"td\"}},{\"from\":{\"field\":\"region\",\"value\":\"260\"},\"to\":{\"field\":\"region\",\"value\":\"tf\"}},{\"from\":{\"field\":\"region\",\"value\":\"768\"},\"to\":{\"field\":\"region\",\"value\":\"tg\"}},{\"from\":{\"field\":\"region\",\"value\":\"764\"},\"to\":{\"field\":\"region\",\"value\":\"th\"}},{\"from\":{\"field\":\"region\",\"value\":\"762\"},\"to\":{\"field\":\"region\",\"value\":\"tj\"}},{\"from\":{\"field\":\"region\",\"value\":\"772\"},\"to\":{\"field\":\"region\",\"value\":\"tk\"}},{\"from\":{\"field\":\"region\",\"value\":\"626\"},\"to\":{\"field\":\"region\",\"value\":\"tl\"}},{\"from\":{\"field\":\"region\",\"value\":\"795\"},\"to\":{\"field\":\"region\",\"value\":\"tm\"}},{\"from\":{\"field\":\"region\",\"value\":\"788\"},\"to\":{\"field\":\"region\",\"value\":\"tn\"}},{\"from\":{\"field\":\"region\",\"value\":\"776\"},\"to\":{\"field\":\"region\",\"value\":\"to\"}},{\"from\":{\"field\":\"region\",\"value\":\"792\"},\"to\":{\"field\":\"region\",\"value\":\"tr\"}},{\"from\":{\"field\":\"region\",\"value\":\"780\"},\"to\":{\"field\":\"region\",\"value\":\"tt\"}},{\"from\":{\"field\":\"region\",\"value\":\"798\"},\"to\":{\"field\":\"region\",\"value\":\"tv\"}},{\"from\":{\"field\":\"region\",\"value\":\"158\"},\"to\":{\"field\":\"region\",\"value\":\"tw\"}},{\"from\":{\"field\":\"region\",\"value\":\"834\"},\"to\":{\"field\":\"region\",\"value\":\"tz\"}},{\"from\":{\"field\":\"region\",\"value\":\"804\"},\"to\":{\"field\":\"region\",\"value\":\"ua\"}},{\"from\":{\"field\":\"region\",\"value\":\"800\"},\"to\":{\"field\":\"region\",\"value\":\"ug\"}},{\"from\":{\"field\":\"region\",\"value\":\"581\"},\"to\":{\"field\":\"region\",\"value\":\"um\"}},{\"from\":{\"field\":\"region\",\"value\":\"840\"},\"to\":{\"field\":\"region\",\"value\":\"us\"}},{\"from\":{\"field\":\"region\",\"value\":\"858\"},\"to\":{\"field\":\"region\",\"value\":\"uy\"}},{\"from\":{\"field\":\"region\",\"value\":\"860\"},\"to\":{\"field\":\"region\",\"value\":\"uz\"}},{\"from\":{\"field\":\"region\",\"value\":\"336\"},\"to\":{\"field\":\"region\",\"value\":\"va\"}},{\"from\":{\"field\":\"region\",\"value\":\"670\"},\"to\":{\"field\":\"region\",\"value\":\"vc\"}},{\"from\":{\"field\":\"region\",\"value\":\"862\"},\"to\":{\"field\":\"region\",\"value\":\"ve\"}},{\"from\":{\"field\":\"region\",\"value\":\"092\"},\"to\":{\"field\":\"region\",\"value\":\"vg\"}},{\"from\":{\"field\":\"region\",\"value\":\"850\"},\"to\":{\"field\":\"region\",\"value\":\"vi\"}},{\"from\":{\"field\":\"region\",\"value\":\"704\"},\"to\":{\"field\":\"region\",\"value\":\"vn\"}},{\"from\":{\"field\":\"region\",\"value\":\"548\"},\"to\":{\"field\":\"region\",\"value\":\"vu\"}},{\"from\":{\"field\":\"region\",\"value\":\"876\"},\"to\":{\"field\":\"region\",\"value\":\"wf\"}},{\"from\":{\"field\":\"region\",\"value\":\"882\"},\"to\":{\"field\":\"region\",\"value\":\"ws\"}},{\"from\":{\"field\":\"region\",\"value\":\"973\"},\"to\":{\"field\":\"region\",\"value\":\"xa\"}},{\"from\":{\"field\":\"region\",\"value\":\"974\"},\"to\":{\"field\":\"region\",\"value\":\"xb\"}},{\"from\":{\"field\":\"region\",\"value\":\"975\"},\"to\":{\"field\":\"region\",\"value\":\"xc\"}},{\"from\":{\"field\":\"region\",\"value\":\"976\"},\"to\":{\"field\":\"region\",\"value\":\"xd\"}},{\"from\":{\"field\":\"region\",\"value\":\"977\"},\"to\":{\"field\":\"region\",\"value\":\"xe\"}},{\"from\":{\"field\":\"region\",\"value\":\"978\"},\"to\":{\"field\":\"region\",\"value\":\"xf\"}},{\"from\":{\"field\":\"region\",\"value\":\"979\"},\"to\":{\"field\":\"region\",\"value\":\"xg\"}},{\"from\":{\"field\":\"region\",\"value\":\"980\"},\"to\":{\"field\":\"region\",\"value\":\"xh\"}},{\"from\":{\"field\":\"region\",\"value\":\"981\"},\"to\":{\"field\":\"region\",\"value\":\"xi\"}},{\"from\":{\"field\":\"region\",\"value\":\"982\"},\"to\":{\"field\":\"region\",\"value\":\"xj\"}},{\"from\":{\"field\":\"region\",\"value\":\"983\"},\"to\":{\"field\":\"region\",\"value\":\"xk\"}},{\"from\":{\"field\":\"region\",\"value\":\"984\"},\"to\":{\"field\":\"region\",\"value\":\"xl\"}},{\"from\":{\"field\":\"region\",\"value\":\"985\"},\"to\":{\"field\":\"region\",\"value\":\"xm\"}},{\"from\":{\"field\":\"region\",\"value\":\"986\"},\"to\":{\"field\":\"region\",\"value\":\"xn\"}},{\"from\":{\"field\":\"region\",\"value\":\"987\"},\"to\":{\"field\":\"region\",\"value\":\"xo\"}},{\"from\":{\"field\":\"region\",\"value\":\"988\"},\"to\":{\"field\":\"region\",\"value\":\"xp\"}},{\"from\":{\"field\":\"region\",\"value\":\"989\"},\"to\":{\"field\":\"region\",\"value\":\"xq\"}},{\"from\":{\"field\":\"region\",\"value\":\"990\"},\"to\":{\"field\":\"region\",\"value\":\"xr\"}},{\"from\":{\"field\":\"region\",\"value\":\"991\"},\"to\":{\"field\":\"region\",\"value\":\"xs\"}},{\"from\":{\"field\":\"region\",\"value\":\"992\"},\"to\":{\"field\":\"region\",\"value\":\"xt\"}},{\"from\":{\"field\":\"region\",\"value\":\"993\"},\"to\":{\"field\":\"region\",\"value\":\"xu\"}},{\"from\":{\"field\":\"region\",\"value\":\"994\"},\"to\":{\"field\":\"region\",\"value\":\"xv\"}},{\"from\":{\"field\":\"region\",\"value\":\"995\"},\"to\":{\"field\":\"region\",\"value\":\"xw\"}},{\"from\":{\"field\":\"region\",\"value\":\"996\"},\"to\":{\"field\":\"region\",\"value\":\"xx\"}},{\"from\":{\"field\":\"region\",\"value\":\"997\"},\"to\":{\"field\":\"region\",\"value\":\"xy\"}},{\"from\":{\"field\":\"region\",\"value\":\"998\"},\"to\":{\"field\":\"region\",\"value\":\"xz\"}},{\"from\":{\"field\":\"region\",\"value\":\"720\"},\"to\":{\"field\":\"region\",\"value\":\"ye\"}},{\"from\":{\"field\":\"region\",\"value\":\"887\"},\"to\":{\"field\":\"region\",\"value\":\"ye\"}},{\"from\":{\"field\":\"region\",\"value\":\"175\"},\"to\":{\"field\":\"region\",\"value\":\"yt\"}},{\"from\":{\"field\":\"region\",\"value\":\"710\"},\"to\":{\"field\":\"region\",\"value\":\"za\"}},{\"from\":{\"field\":\"region\",\"value\":\"894\"},\"to\":{\"field\":\"region\",\"value\":\"zm\"}},{\"from\":{\"field\":\"region\",\"value\":\"716\"},\"to\":{\"field\":\"region\",\"value\":\"zw\"}},{\"from\":{\"field\":\"region\",\"value\":\"999\"},\"to\":{\"field\":\"region\",\"value\":\"zz\"}},{\"from\":{\"field\":\"variants\",\"value\":\"aaland\"},\"to\":{\"field\":\"region\",\"value\":\"ax\"}},{\"from\":{\"field\":\"variants\",\"value\":\"polytoni\"},\"to\":{\"field\":\"variants\",\"value\":\"polyton\"}},{\"from\":{\"field\":\"variants\",\"value\":\"heploc\"},\"to\":{\"field\":\"variants\",\"value\":\"alalc97\"}},{\"from\":{\"field\":\"variants\",\"value\":\"arevela\"},\"to\":{\"field\":\"language\",\"value\":\"hy\"}},{\"from\":{\"field\":\"variants\",\"value\":\"arevmda\"},\"to\":{\"field\":\"language\",\"value\":\"hyw\"}}]"); + +/***/ }), + +/***/ "./node_modules/bcp-47-normalize/lib/index.js": +/*!****************************************************!*\ + !*** ./node_modules/bcp-47-normalize/lib/index.js ***! + \****************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var bcp47 = __webpack_require__(/*! bcp-47 */ "./node_modules/bcp-47/index.js") +var match = __webpack_require__(/*! bcp-47-match */ "./node_modules/bcp-47-match/index.js") +var matches = __webpack_require__(/*! ./matches.json */ "./node_modules/bcp-47-normalize/lib/matches.json") +var fields = __webpack_require__(/*! ./fields.json */ "./node_modules/bcp-47-normalize/lib/fields.json") +var defaults = __webpack_require__(/*! ./defaults.json */ "./node_modules/bcp-47-normalize/lib/defaults.json") +var many = __webpack_require__(/*! ./many.json */ "./node_modules/bcp-47-normalize/lib/many.json") + +module.exports = normalize + +var own = {}.hasOwnProperty + +var collator = new Intl.Collator() + +var emptyExtraFields = { + variants: [], + extensions: [], + privateuse: [], + irregular: null, + regular: null +} + +function normalize(value, options) { + var settings = options || {} + // 1. normalize and lowercase the tag (`sgn-be-fr` -> `sfb`). + var schema = bcp47.parse(String(value || '').toLowerCase(), settings) + var tag = bcp47.stringify(schema) + var index = -1 + var key + + if (!tag) { + return tag + } + + // 2. Do fancy, expensive replaces (`ha-latn-gh` -> `ha-gh`). + while (++index < matches.length) { + if (match.extendedFilter(tag, matches[index].from).length) { + replace(schema, matches[index].from, matches[index].to) + tag = bcp47.stringify(schema) + } + } + + // 3. Do basic field replaces (`en-840` -> `en-us`). + index = -1 + + while (++index < fields.length) { + if (remove(schema, fields[index].from.field, fields[index].from.value)) { + add(schema, fields[index].to.field, fields[index].to.value) + } + } + + // 4. Remove defaults (`nl-nl` -> `nl`). + tag = bcp47.stringify(Object.assign({}, schema, emptyExtraFields)) + index = -1 + + while (++index < defaults.length) { + if (tag === defaults[index]) { + replace( + schema, + defaults[index], + defaults[index].split('-').slice(0, -1).join('-') + ) + tag = bcp47.stringify(Object.assign({}, schema, emptyExtraFields)) + } + } + + // 5. Sort extensions on singleton. + schema.extensions.sort(compareSingleton) + + // 6. Warn if fields (currently only regions) should be updated but have + // multiple choices. + if (settings.warning) { + for (key in many) { + if (own.call(many[key], schema[key])) { + settings.warning( + 'Deprecated ' + + key + + ' `' + + schema[key] + + '`, expected one of `' + + many[key][schema[key]].join('`, `') + + '`', + null, + 7 + ) + } + } + } + + // 7. Add proper casing back. + // Format script (ISO 15924) as titlecase (example: `Latn`): + if (schema.script) { + schema.script = + schema.script.charAt(0).toUpperCase() + schema.script.slice(1) + } + + // Format region (ISO 3166) as uppercase (note: this doesn’t affect numeric + // codes, which is fine): + if (schema.region) { + schema.region = schema.region.toUpperCase() + } + + return bcp47.stringify(schema) +} + +function replace(schema, from, to) { + var left = bcp47.parse(from) + var right = bcp47.parse(to) + var removed = [] + var key + + // Remove values from `from`: + for (key in left) { + if (left[key] && left[key].length && remove(schema, key, left[key])) { + removed.push(key) + } + } + + // Add values from `to`: + for (key in right) { + // Only add values that are defined on `to`, and that were either removed by + // `from` or are currently empty. + if ( + right[key] && + right[key].length && + (removed.indexOf(key) > -1 || !schema[key] || !schema[key].length) + ) { + add(schema, key, right[key]) + } + } +} + +function remove(object, key, value) { + var removed = false + var current + var result + var index + var item + + /* istanbul ignore else - this is currently done by wrapping code, so else is + * never reached. + * However, that could change in the future, so leave this guard here. */ + if (value) { + current = object[key] + result = current + + if (current && typeof current === 'object') { + result = [] + index = -1 + + while (++index < current.length) { + item = current[index] + + if (value.indexOf(item) < 0) { + result.push(item) + } else { + removed = true + } + } + } else if (current === value) { + result = null + removed = true + } + + object[key] = result + } + + return removed +} + +function add(object, key, value) { + var current = object[key] + var list + var index + var item + + if (current && typeof current === 'object') { + list = [].concat(value) + index = -1 + + while (++index < list.length) { + item = list[index] + + /* istanbul ignore else - this currently can’t happen, but guard for the + * future. */ + if (current.indexOf(item) < 0) { + current.push(item) + } + } + } else { + object[key] = value + } +} + +function compareSingleton(left, right) { + return collator.compare(left.singleton, right.singleton) +} + + +/***/ }), + +/***/ "./node_modules/bcp-47-normalize/lib/many.json": +/*!*****************************************************!*\ + !*** ./node_modules/bcp-47-normalize/lib/many.json ***! + \*****************************************************/ +/*! exports provided: region, default */ +/***/ (function(module) { + +module.exports = JSON.parse("{\"region\":{\"172\":[\"ru\",\"am\",\"az\",\"by\",\"ge\",\"kg\",\"kz\",\"md\",\"tj\",\"tm\",\"ua\",\"uz\"],\"200\":[\"cz\",\"sk\"],\"530\":[\"cw\",\"sx\",\"bq\"],\"532\":[\"cw\",\"sx\",\"bq\"],\"536\":[\"sa\",\"iq\"],\"582\":[\"fm\",\"mh\",\"mp\",\"pw\"],\"810\":[\"ru\",\"am\",\"az\",\"by\",\"ee\",\"ge\",\"kz\",\"kg\",\"lv\",\"lt\",\"md\",\"tj\",\"tm\",\"ua\",\"uz\"],\"830\":[\"je\",\"gg\"],\"890\":[\"rs\",\"me\",\"si\",\"hr\",\"mk\",\"ba\"],\"891\":[\"rs\",\"me\"],\"an\":[\"cw\",\"sx\",\"bq\"],\"cs\":[\"rs\",\"me\"],\"fq\":[\"aq\",\"tf\"],\"nt\":[\"sa\",\"iq\"],\"pc\":[\"fm\",\"mh\",\"mp\",\"pw\"],\"su\":[\"ru\",\"am\",\"az\",\"by\",\"ee\",\"ge\",\"kz\",\"kg\",\"lv\",\"lt\",\"md\",\"tj\",\"tm\",\"ua\",\"uz\"],\"yu\":[\"rs\",\"me\"],\"062\":[\"034\",\"143\"],\"ant\":[\"cw\",\"sx\",\"bq\"],\"scg\":[\"rs\",\"me\"],\"ntz\":[\"sa\",\"iq\"],\"sun\":[\"ru\",\"am\",\"az\",\"by\",\"ee\",\"ge\",\"kz\",\"kg\",\"lv\",\"lt\",\"md\",\"tj\",\"tm\",\"ua\",\"uz\"],\"yug\":[\"rs\",\"me\"]}}"); + +/***/ }), + +/***/ "./node_modules/bcp-47-normalize/lib/matches.json": +/*!********************************************************!*\ + !*** ./node_modules/bcp-47-normalize/lib/matches.json ***! + \********************************************************/ +/*! exports provided: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, default */ +/***/ (function(module) { + +module.exports = JSON.parse("[{\"from\":\"in\",\"to\":\"id\"},{\"from\":\"iw\",\"to\":\"he\"},{\"from\":\"ji\",\"to\":\"yi\"},{\"from\":\"jw\",\"to\":\"jv\"},{\"from\":\"mo\",\"to\":\"ro\"},{\"from\":\"scc\",\"to\":\"sr\"},{\"from\":\"scr\",\"to\":\"hr\"},{\"from\":\"aam\",\"to\":\"aas\"},{\"from\":\"adp\",\"to\":\"dz\"},{\"from\":\"aue\",\"to\":\"ktz\"},{\"from\":\"ayx\",\"to\":\"nun\"},{\"from\":\"bgm\",\"to\":\"bcg\"},{\"from\":\"bjd\",\"to\":\"drl\"},{\"from\":\"ccq\",\"to\":\"rki\"},{\"from\":\"cjr\",\"to\":\"mom\"},{\"from\":\"cka\",\"to\":\"cmr\"},{\"from\":\"cmk\",\"to\":\"xch\"},{\"from\":\"coy\",\"to\":\"pij\"},{\"from\":\"cqu\",\"to\":\"quh\"},{\"from\":\"drh\",\"to\":\"mn\"},{\"from\":\"drw\",\"to\":\"fa-af\"},{\"from\":\"gav\",\"to\":\"dev\"},{\"from\":\"gfx\",\"to\":\"vaj\"},{\"from\":\"ggn\",\"to\":\"gvr\"},{\"from\":\"gti\",\"to\":\"nyc\"},{\"from\":\"guv\",\"to\":\"duz\"},{\"from\":\"hrr\",\"to\":\"jal\"},{\"from\":\"ibi\",\"to\":\"opa\"},{\"from\":\"ilw\",\"to\":\"gal\"},{\"from\":\"jeg\",\"to\":\"oyb\"},{\"from\":\"kgc\",\"to\":\"tdf\"},{\"from\":\"kgh\",\"to\":\"kml\"},{\"from\":\"koj\",\"to\":\"kwv\"},{\"from\":\"krm\",\"to\":\"bmf\"},{\"from\":\"ktr\",\"to\":\"dtp\"},{\"from\":\"kvs\",\"to\":\"gdj\"},{\"from\":\"kwq\",\"to\":\"yam\"},{\"from\":\"kxe\",\"to\":\"tvd\"},{\"from\":\"kzj\",\"to\":\"dtp\"},{\"from\":\"kzt\",\"to\":\"dtp\"},{\"from\":\"lii\",\"to\":\"raq\"},{\"from\":\"lmm\",\"to\":\"rmx\"},{\"from\":\"meg\",\"to\":\"cir\"},{\"from\":\"mst\",\"to\":\"mry\"},{\"from\":\"mwj\",\"to\":\"vaj\"},{\"from\":\"myt\",\"to\":\"mry\"},{\"from\":\"nad\",\"to\":\"xny\"},{\"from\":\"ncp\",\"to\":\"kdz\"},{\"from\":\"nnx\",\"to\":\"ngv\"},{\"from\":\"nts\",\"to\":\"pij\"},{\"from\":\"oun\",\"to\":\"vaj\"},{\"from\":\"pcr\",\"to\":\"adx\"},{\"from\":\"pmc\",\"to\":\"huw\"},{\"from\":\"pmu\",\"to\":\"phr\"},{\"from\":\"ppa\",\"to\":\"bfy\"},{\"from\":\"ppr\",\"to\":\"lcq\"},{\"from\":\"pry\",\"to\":\"prt\"},{\"from\":\"puz\",\"to\":\"pub\"},{\"from\":\"sca\",\"to\":\"hle\"},{\"from\":\"skk\",\"to\":\"oyb\"},{\"from\":\"tdu\",\"to\":\"dtp\"},{\"from\":\"thc\",\"to\":\"tpo\"},{\"from\":\"thx\",\"to\":\"oyb\"},{\"from\":\"tie\",\"to\":\"ras\"},{\"from\":\"tkk\",\"to\":\"twm\"},{\"from\":\"tlw\",\"to\":\"weo\"},{\"from\":\"tmp\",\"to\":\"tyj\"},{\"from\":\"tne\",\"to\":\"kak\"},{\"from\":\"tnf\",\"to\":\"fa-af\"},{\"from\":\"tsf\",\"to\":\"taj\"},{\"from\":\"uok\",\"to\":\"ema\"},{\"from\":\"xba\",\"to\":\"cax\"},{\"from\":\"xia\",\"to\":\"acn\"},{\"from\":\"xkh\",\"to\":\"waw\"},{\"from\":\"xsj\",\"to\":\"suj\"},{\"from\":\"ybd\",\"to\":\"rki\"},{\"from\":\"yma\",\"to\":\"lrr\"},{\"from\":\"ymt\",\"to\":\"mtm\"},{\"from\":\"yos\",\"to\":\"zom\"},{\"from\":\"yuu\",\"to\":\"yug\"},{\"from\":\"asd\",\"to\":\"snz\"},{\"from\":\"dit\",\"to\":\"dif\"},{\"from\":\"llo\",\"to\":\"ngt\"},{\"from\":\"myd\",\"to\":\"aog\"},{\"from\":\"nns\",\"to\":\"nbr\"},{\"from\":\"sgn-br\",\"to\":\"bzs\"},{\"from\":\"sgn-co\",\"to\":\"csn\"},{\"from\":\"sgn-de\",\"to\":\"gsg\"},{\"from\":\"sgn-dk\",\"to\":\"dsl\"},{\"from\":\"sgn-fr\",\"to\":\"fsl\"},{\"from\":\"sgn-gb\",\"to\":\"bfi\"},{\"from\":\"sgn-gr\",\"to\":\"gss\"},{\"from\":\"sgn-ie\",\"to\":\"isg\"},{\"from\":\"sgn-it\",\"to\":\"ise\"},{\"from\":\"sgn-jp\",\"to\":\"jsl\"},{\"from\":\"sgn-mx\",\"to\":\"mfs\"},{\"from\":\"sgn-ni\",\"to\":\"ncs\"},{\"from\":\"sgn-nl\",\"to\":\"dse\"},{\"from\":\"sgn-no\",\"to\":\"nsi\"},{\"from\":\"sgn-pt\",\"to\":\"psr\"},{\"from\":\"sgn-se\",\"to\":\"swl\"},{\"from\":\"sgn-us\",\"to\":\"ase\"},{\"from\":\"sgn-za\",\"to\":\"sfs\"},{\"from\":\"no-bokmal\",\"to\":\"nb\"},{\"from\":\"no-nynorsk\",\"to\":\"nn\"},{\"from\":\"aa-saaho\",\"to\":\"ssy\"},{\"from\":\"sh\",\"to\":\"sr-latn\"},{\"from\":\"cnr\",\"to\":\"sr-me\"},{\"from\":\"no\",\"to\":\"nb\"},{\"from\":\"tl\",\"to\":\"fil\"},{\"from\":\"az-az\",\"to\":\"az-latn-az\"},{\"from\":\"bs-ba\",\"to\":\"bs-latn-ba\"},{\"from\":\"ha-latn-gh\",\"to\":\"ha-gh\"},{\"from\":\"ha-latn-ne\",\"to\":\"ha-ne\"},{\"from\":\"ha-latn-ng\",\"to\":\"ha-ng\"},{\"from\":\"kk-cyrl-kz\",\"to\":\"kk-kz\"},{\"from\":\"ky-cyrl-kg\",\"to\":\"ky-kg\"},{\"from\":\"ks-arab-in\",\"to\":\"ks-in\"},{\"from\":\"mn-cyrl-mn\",\"to\":\"mn-mn\"},{\"from\":\"ms-latn-bn\",\"to\":\"ms-bn\"},{\"from\":\"ms-latn-my\",\"to\":\"ms-my\"},{\"from\":\"ms-latn-sg\",\"to\":\"ms-sg\"},{\"from\":\"pa-in\",\"to\":\"pa-guru-in\"},{\"from\":\"pa-pk\",\"to\":\"pa-arab-pk\"},{\"from\":\"shi-ma\",\"to\":\"shi-tfng-ma\"},{\"from\":\"sr-ba\",\"to\":\"sr-cyrl-ba\"},{\"from\":\"sr-me\",\"to\":\"sr-latn-me\"},{\"from\":\"sr-rs\",\"to\":\"sr-cyrl-rs\"},{\"from\":\"sr-xk\",\"to\":\"sr-cyrl-xk\"},{\"from\":\"tzm-latn-ma\",\"to\":\"tzm-ma\"},{\"from\":\"ug-arab-cn\",\"to\":\"ug-cn\"},{\"from\":\"uz-af\",\"to\":\"uz-arab-af\"},{\"from\":\"uz-uz\",\"to\":\"uz-latn-uz\"},{\"from\":\"vai-lr\",\"to\":\"vai-vaii-lr\"},{\"from\":\"yue-cn\",\"to\":\"yue-hans-cn\"},{\"from\":\"yue-hk\",\"to\":\"yue-hant-hk\"},{\"from\":\"zh-cn\",\"to\":\"zh-hans-cn\"},{\"from\":\"zh-hk\",\"to\":\"zh-hant-hk\"},{\"from\":\"zh-mo\",\"to\":\"zh-hant-mo\"},{\"from\":\"zh-sg\",\"to\":\"zh-hans-sg\"},{\"from\":\"zh-tw\",\"to\":\"zh-hant-tw\"},{\"from\":\"aju\",\"to\":\"jrb\"},{\"from\":\"als\",\"to\":\"sq\"},{\"from\":\"arb\",\"to\":\"ar\"},{\"from\":\"ayr\",\"to\":\"ay\"},{\"from\":\"azj\",\"to\":\"az\"},{\"from\":\"bcc\",\"to\":\"bal\"},{\"from\":\"bcl\",\"to\":\"bik\"},{\"from\":\"bxk\",\"to\":\"luy\"},{\"from\":\"bxr\",\"to\":\"bua\"},{\"from\":\"cld\",\"to\":\"syr\"},{\"from\":\"cmn\",\"to\":\"zh\"},{\"from\":\"cwd\",\"to\":\"cr\"},{\"from\":\"dgo\",\"to\":\"doi\"},{\"from\":\"dhd\",\"to\":\"mwr\"},{\"from\":\"dik\",\"to\":\"din\"},{\"from\":\"diq\",\"to\":\"zza\"},{\"from\":\"lbk\",\"to\":\"bnc\"},{\"from\":\"ekk\",\"to\":\"et\"},{\"from\":\"emk\",\"to\":\"man\"},{\"from\":\"esk\",\"to\":\"ik\"},{\"from\":\"fat\",\"to\":\"ak\"},{\"from\":\"fuc\",\"to\":\"ff\"},{\"from\":\"gaz\",\"to\":\"om\"},{\"from\":\"gbo\",\"to\":\"grb\"},{\"from\":\"gno\",\"to\":\"gon\"},{\"from\":\"gug\",\"to\":\"gn\"},{\"from\":\"gya\",\"to\":\"gba\"},{\"from\":\"hdn\",\"to\":\"hai\"},{\"from\":\"hea\",\"to\":\"hmn\"},{\"from\":\"ike\",\"to\":\"iu\"},{\"from\":\"kmr\",\"to\":\"ku\"},{\"from\":\"knc\",\"to\":\"kr\"},{\"from\":\"kng\",\"to\":\"kg\"},{\"from\":\"knn\",\"to\":\"kok\"},{\"from\":\"kpv\",\"to\":\"kv\"},{\"from\":\"lvs\",\"to\":\"lv\"},{\"from\":\"mhr\",\"to\":\"chm\"},{\"from\":\"mup\",\"to\":\"raj\"},{\"from\":\"khk\",\"to\":\"mn\"},{\"from\":\"npi\",\"to\":\"ne\"},{\"from\":\"ojg\",\"to\":\"oj\"},{\"from\":\"ory\",\"to\":\"or\"},{\"from\":\"pbu\",\"to\":\"ps\"},{\"from\":\"pes\",\"to\":\"fa\"},{\"from\":\"plt\",\"to\":\"mg\"},{\"from\":\"pnb\",\"to\":\"lah\"},{\"from\":\"quz\",\"to\":\"qu\"},{\"from\":\"rmy\",\"to\":\"rom\"},{\"from\":\"spy\",\"to\":\"kln\"},{\"from\":\"src\",\"to\":\"sc\"},{\"from\":\"swh\",\"to\":\"sw\"},{\"from\":\"ttq\",\"to\":\"tmh\"},{\"from\":\"tw\",\"to\":\"ak\"},{\"from\":\"umu\",\"to\":\"del\"},{\"from\":\"uzn\",\"to\":\"uz\"},{\"from\":\"xpe\",\"to\":\"kpe\"},{\"from\":\"xsl\",\"to\":\"den\"},{\"from\":\"ydd\",\"to\":\"yi\"},{\"from\":\"zai\",\"to\":\"zap\"},{\"from\":\"zsm\",\"to\":\"ms\"},{\"from\":\"zyb\",\"to\":\"za\"},{\"from\":\"him\",\"to\":\"srx\"},{\"from\":\"mnk\",\"to\":\"man\"},{\"from\":\"bh\",\"to\":\"bho\"},{\"from\":\"prs\",\"to\":\"fa-af\"},{\"from\":\"swc\",\"to\":\"sw-cd\"},{\"from\":\"aar\",\"to\":\"aa\"},{\"from\":\"abk\",\"to\":\"ab\"},{\"from\":\"ave\",\"to\":\"ae\"},{\"from\":\"afr\",\"to\":\"af\"},{\"from\":\"aka\",\"to\":\"ak\"},{\"from\":\"amh\",\"to\":\"am\"},{\"from\":\"arg\",\"to\":\"an\"},{\"from\":\"ara\",\"to\":\"ar\"},{\"from\":\"asm\",\"to\":\"as\"},{\"from\":\"ava\",\"to\":\"av\"},{\"from\":\"aym\",\"to\":\"ay\"},{\"from\":\"aze\",\"to\":\"az\"},{\"from\":\"bak\",\"to\":\"ba\"},{\"from\":\"bel\",\"to\":\"be\"},{\"from\":\"bul\",\"to\":\"bg\"},{\"from\":\"bih\",\"to\":\"bho\"},{\"from\":\"bis\",\"to\":\"bi\"},{\"from\":\"bam\",\"to\":\"bm\"},{\"from\":\"ben\",\"to\":\"bn\"},{\"from\":\"bod\",\"to\":\"bo\"},{\"from\":\"bre\",\"to\":\"br\"},{\"from\":\"bos\",\"to\":\"bs\"},{\"from\":\"cat\",\"to\":\"ca\"},{\"from\":\"che\",\"to\":\"ce\"},{\"from\":\"cha\",\"to\":\"ch\"},{\"from\":\"cos\",\"to\":\"co\"},{\"from\":\"cre\",\"to\":\"cr\"},{\"from\":\"ces\",\"to\":\"cs\"},{\"from\":\"chu\",\"to\":\"cu\"},{\"from\":\"chv\",\"to\":\"cv\"},{\"from\":\"cym\",\"to\":\"cy\"},{\"from\":\"dan\",\"to\":\"da\"},{\"from\":\"deu\",\"to\":\"de\"},{\"from\":\"div\",\"to\":\"dv\"},{\"from\":\"dzo\",\"to\":\"dz\"},{\"from\":\"ewe\",\"to\":\"ee\"},{\"from\":\"ell\",\"to\":\"el\"},{\"from\":\"eng\",\"to\":\"en\"},{\"from\":\"epo\",\"to\":\"eo\"},{\"from\":\"spa\",\"to\":\"es\"},{\"from\":\"est\",\"to\":\"et\"},{\"from\":\"eus\",\"to\":\"eu\"},{\"from\":\"fas\",\"to\":\"fa\"},{\"from\":\"ful\",\"to\":\"ff\"},{\"from\":\"fin\",\"to\":\"fi\"},{\"from\":\"fij\",\"to\":\"fj\"},{\"from\":\"fao\",\"to\":\"fo\"},{\"from\":\"fra\",\"to\":\"fr\"},{\"from\":\"fry\",\"to\":\"fy\"},{\"from\":\"gle\",\"to\":\"ga\"},{\"from\":\"gla\",\"to\":\"gd\"},{\"from\":\"glg\",\"to\":\"gl\"},{\"from\":\"grn\",\"to\":\"gn\"},{\"from\":\"guj\",\"to\":\"gu\"},{\"from\":\"glv\",\"to\":\"gv\"},{\"from\":\"hau\",\"to\":\"ha\"},{\"from\":\"heb\",\"to\":\"he\"},{\"from\":\"hin\",\"to\":\"hi\"},{\"from\":\"hmo\",\"to\":\"ho\"},{\"from\":\"hrv\",\"to\":\"hr\"},{\"from\":\"hat\",\"to\":\"ht\"},{\"from\":\"hun\",\"to\":\"hu\"},{\"from\":\"hye\",\"to\":\"hy\"},{\"from\":\"her\",\"to\":\"hz\"},{\"from\":\"ina\",\"to\":\"ia\"},{\"from\":\"ind\",\"to\":\"id\"},{\"from\":\"ile\",\"to\":\"ie\"},{\"from\":\"ibo\",\"to\":\"ig\"},{\"from\":\"iii\",\"to\":\"ii\"},{\"from\":\"ipk\",\"to\":\"ik\"},{\"from\":\"ido\",\"to\":\"io\"},{\"from\":\"isl\",\"to\":\"is\"},{\"from\":\"ita\",\"to\":\"it\"},{\"from\":\"iku\",\"to\":\"iu\"},{\"from\":\"jpn\",\"to\":\"ja\"},{\"from\":\"jav\",\"to\":\"jv\"},{\"from\":\"kat\",\"to\":\"ka\"},{\"from\":\"kon\",\"to\":\"kg\"},{\"from\":\"kik\",\"to\":\"ki\"},{\"from\":\"kua\",\"to\":\"kj\"},{\"from\":\"kaz\",\"to\":\"kk\"},{\"from\":\"kal\",\"to\":\"kl\"},{\"from\":\"khm\",\"to\":\"km\"},{\"from\":\"kan\",\"to\":\"kn\"},{\"from\":\"kor\",\"to\":\"ko\"},{\"from\":\"kau\",\"to\":\"kr\"},{\"from\":\"kas\",\"to\":\"ks\"},{\"from\":\"kur\",\"to\":\"ku\"},{\"from\":\"kom\",\"to\":\"kv\"},{\"from\":\"cor\",\"to\":\"kw\"},{\"from\":\"kir\",\"to\":\"ky\"},{\"from\":\"lat\",\"to\":\"la\"},{\"from\":\"ltz\",\"to\":\"lb\"},{\"from\":\"lug\",\"to\":\"lg\"},{\"from\":\"lim\",\"to\":\"li\"},{\"from\":\"lin\",\"to\":\"ln\"},{\"from\":\"lao\",\"to\":\"lo\"},{\"from\":\"lit\",\"to\":\"lt\"},{\"from\":\"lub\",\"to\":\"lu\"},{\"from\":\"lav\",\"to\":\"lv\"},{\"from\":\"mlg\",\"to\":\"mg\"},{\"from\":\"mah\",\"to\":\"mh\"},{\"from\":\"mri\",\"to\":\"mi\"},{\"from\":\"mkd\",\"to\":\"mk\"},{\"from\":\"mal\",\"to\":\"ml\"},{\"from\":\"mon\",\"to\":\"mn\"},{\"from\":\"mol\",\"to\":\"ro\"},{\"from\":\"mar\",\"to\":\"mr\"},{\"from\":\"msa\",\"to\":\"ms\"},{\"from\":\"mlt\",\"to\":\"mt\"},{\"from\":\"mya\",\"to\":\"my\"},{\"from\":\"nau\",\"to\":\"na\"},{\"from\":\"nob\",\"to\":\"nb\"},{\"from\":\"nde\",\"to\":\"nd\"},{\"from\":\"nep\",\"to\":\"ne\"},{\"from\":\"ndo\",\"to\":\"ng\"},{\"from\":\"nld\",\"to\":\"nl\"},{\"from\":\"nno\",\"to\":\"nn\"},{\"from\":\"nor\",\"to\":\"nb\"},{\"from\":\"nbl\",\"to\":\"nr\"},{\"from\":\"nav\",\"to\":\"nv\"},{\"from\":\"nya\",\"to\":\"ny\"},{\"from\":\"oci\",\"to\":\"oc\"},{\"from\":\"oji\",\"to\":\"oj\"},{\"from\":\"orm\",\"to\":\"om\"},{\"from\":\"ori\",\"to\":\"or\"},{\"from\":\"oss\",\"to\":\"os\"},{\"from\":\"pan\",\"to\":\"pa\"},{\"from\":\"pli\",\"to\":\"pi\"},{\"from\":\"pol\",\"to\":\"pl\"},{\"from\":\"pus\",\"to\":\"ps\"},{\"from\":\"por\",\"to\":\"pt\"},{\"from\":\"que\",\"to\":\"qu\"},{\"from\":\"roh\",\"to\":\"rm\"},{\"from\":\"run\",\"to\":\"rn\"},{\"from\":\"ron\",\"to\":\"ro\"},{\"from\":\"rus\",\"to\":\"ru\"},{\"from\":\"kin\",\"to\":\"rw\"},{\"from\":\"san\",\"to\":\"sa\"},{\"from\":\"srd\",\"to\":\"sc\"},{\"from\":\"snd\",\"to\":\"sd\"},{\"from\":\"sme\",\"to\":\"se\"},{\"from\":\"sag\",\"to\":\"sg\"},{\"from\":\"hbs\",\"to\":\"sr-latn\"},{\"from\":\"sin\",\"to\":\"si\"},{\"from\":\"slk\",\"to\":\"sk\"},{\"from\":\"slv\",\"to\":\"sl\"},{\"from\":\"smo\",\"to\":\"sm\"},{\"from\":\"sna\",\"to\":\"sn\"},{\"from\":\"som\",\"to\":\"so\"},{\"from\":\"sqi\",\"to\":\"sq\"},{\"from\":\"srp\",\"to\":\"sr\"},{\"from\":\"ssw\",\"to\":\"ss\"},{\"from\":\"sot\",\"to\":\"st\"},{\"from\":\"sun\",\"to\":\"su\"},{\"from\":\"swe\",\"to\":\"sv\"},{\"from\":\"swa\",\"to\":\"sw\"},{\"from\":\"tam\",\"to\":\"ta\"},{\"from\":\"tel\",\"to\":\"te\"},{\"from\":\"tgk\",\"to\":\"tg\"},{\"from\":\"tha\",\"to\":\"th\"},{\"from\":\"tir\",\"to\":\"ti\"},{\"from\":\"tuk\",\"to\":\"tk\"},{\"from\":\"tgl\",\"to\":\"fil\"},{\"from\":\"tsn\",\"to\":\"tn\"},{\"from\":\"ton\",\"to\":\"to\"},{\"from\":\"tur\",\"to\":\"tr\"},{\"from\":\"tso\",\"to\":\"ts\"},{\"from\":\"tat\",\"to\":\"tt\"},{\"from\":\"twi\",\"to\":\"ak\"},{\"from\":\"tah\",\"to\":\"ty\"},{\"from\":\"uig\",\"to\":\"ug\"},{\"from\":\"ukr\",\"to\":\"uk\"},{\"from\":\"urd\",\"to\":\"ur\"},{\"from\":\"uzb\",\"to\":\"uz\"},{\"from\":\"ven\",\"to\":\"ve\"},{\"from\":\"vie\",\"to\":\"vi\"},{\"from\":\"vol\",\"to\":\"vo\"},{\"from\":\"wln\",\"to\":\"wa\"},{\"from\":\"wol\",\"to\":\"wo\"},{\"from\":\"xho\",\"to\":\"xh\"},{\"from\":\"yid\",\"to\":\"yi\"},{\"from\":\"yor\",\"to\":\"yo\"},{\"from\":\"zha\",\"to\":\"za\"},{\"from\":\"zho\",\"to\":\"zh\"},{\"from\":\"zul\",\"to\":\"zu\"},{\"from\":\"alb\",\"to\":\"sq\"},{\"from\":\"arm\",\"to\":\"hy\"},{\"from\":\"baq\",\"to\":\"eu\"},{\"from\":\"bur\",\"to\":\"my\"},{\"from\":\"chi\",\"to\":\"zh\"},{\"from\":\"cze\",\"to\":\"cs\"},{\"from\":\"dut\",\"to\":\"nl\"},{\"from\":\"fre\",\"to\":\"fr\"},{\"from\":\"geo\",\"to\":\"ka\"},{\"from\":\"ger\",\"to\":\"de\"},{\"from\":\"gre\",\"to\":\"el\"},{\"from\":\"ice\",\"to\":\"is\"},{\"from\":\"mac\",\"to\":\"mk\"},{\"from\":\"mao\",\"to\":\"mi\"},{\"from\":\"may\",\"to\":\"ms\"},{\"from\":\"per\",\"to\":\"fa\"},{\"from\":\"rum\",\"to\":\"ro\"},{\"from\":\"slo\",\"to\":\"sk\"},{\"from\":\"tib\",\"to\":\"bo\"},{\"from\":\"wel\",\"to\":\"cy\"}]"); + +/***/ }), + +/***/ "./node_modules/bcp-47/index.js": +/*!**************************************!*\ + !*** ./node_modules/bcp-47/index.js ***! + \**************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +exports.parse = __webpack_require__(/*! ./lib/parse */ "./node_modules/bcp-47/lib/parse.js") +exports.stringify = __webpack_require__(/*! ./lib/stringify */ "./node_modules/bcp-47/lib/stringify.js") + + +/***/ }), + +/***/ "./node_modules/bcp-47/lib/normalize.json": +/*!************************************************!*\ + !*** ./node_modules/bcp-47/lib/normalize.json ***! + \************************************************/ +/*! exports provided: en-gb-oed, i-ami, i-bnn, i-default, i-enochian, i-hak, i-klingon, i-lux, i-mingo, i-navajo, i-pwn, i-tao, i-tay, i-tsu, sgn-be-fr, sgn-be-nl, sgn-ch-de, art-lojban, cel-gaulish, no-bok, no-nyn, zh-guoyu, zh-hakka, zh-min, zh-min-nan, zh-xiang, default */ +/***/ (function(module) { + +module.exports = JSON.parse("{\"en-gb-oed\":\"en-GB-oxendict\",\"i-ami\":\"ami\",\"i-bnn\":\"bnn\",\"i-default\":null,\"i-enochian\":null,\"i-hak\":\"hak\",\"i-klingon\":\"tlh\",\"i-lux\":\"lb\",\"i-mingo\":null,\"i-navajo\":\"nv\",\"i-pwn\":\"pwn\",\"i-tao\":\"tao\",\"i-tay\":\"tay\",\"i-tsu\":\"tsu\",\"sgn-be-fr\":\"sfb\",\"sgn-be-nl\":\"vgt\",\"sgn-ch-de\":\"sgg\",\"art-lojban\":\"jbo\",\"cel-gaulish\":null,\"no-bok\":\"nb\",\"no-nyn\":\"nn\",\"zh-guoyu\":\"cmn\",\"zh-hakka\":\"hak\",\"zh-min\":null,\"zh-min-nan\":\"nan\",\"zh-xiang\":\"hsn\"}"); + +/***/ }), + +/***/ "./node_modules/bcp-47/lib/parse.js": +/*!******************************************!*\ + !*** ./node_modules/bcp-47/lib/parse.js ***! + \******************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var alphanumeric = __webpack_require__(/*! is-alphanumerical */ "./node_modules/is-alphanumerical/index.js") +var alphabetical = __webpack_require__(/*! is-alphabetical */ "./node_modules/is-alphabetical/index.js") +var decimal = __webpack_require__(/*! is-decimal */ "./node_modules/is-decimal/index.js") +var regular = __webpack_require__(/*! ./regular.json */ "./node_modules/bcp-47/lib/regular.json") +var normal = __webpack_require__(/*! ./normalize.json */ "./node_modules/bcp-47/lib/normalize.json") + +module.exports = parse + +var own = {}.hasOwnProperty + +// Parse a BCP 47 language tag. +/* eslint-disable-next-line complexity */ +function parse(tag, options) { + var settings = options || {} + var result = empty() + var source = String(tag) + var value = source.toLowerCase() + var index = 0 + var start + var groups + var offset + + // Check input. + if (tag == null) { + throw new Error('Expected string, got `' + tag + '`') + } + + // Let’s start. + // First: the edge cases. + if (own.call(normal, value)) { + if ((settings.normalize == null || settings.normalize) && normal[value]) { + return parse(normal[value]) + } + + result[regular.indexOf(value) === -1 ? 'irregular' : 'regular'] = source + + return result + } + + // Now, to actually parse, eat what could be a language. + while (alphabetical(value.charCodeAt(index)) && index < 9) index++ + + // A language. + if (index > 1 /* Min 639. */ && index < 9 /* Max subtag. */) { + // 5 and up is a subtag. + // 4 is the size of reserved languages. + // 3 an ISO 639-2 or ISO 639-3. + // 2 is an ISO 639-1. + // + // + result.language = source.slice(0, index) + + if (index < 4 /* Max 639. */) { + groups = 0 + + while ( + value.charCodeAt(index) === 45 /* `-` */ && + alphabetical(value.charCodeAt(index + 1)) && + alphabetical(value.charCodeAt(index + 2)) && + alphabetical(value.charCodeAt(index + 3)) && + !alphabetical(value.charCodeAt(index + 4)) + ) { + if (groups > 2 /* Max extended language subtag count. */) { + return fail( + index, + 3, + 'Too many extended language subtags, expected at most 3 subtags' + ) + } + + // Extended language subtag. + result.extendedLanguageSubtags.push(source.slice(index + 1, index + 4)) + index += 4 + groups++ + } + } + + // ISO 15924 script. + // + if ( + value.charCodeAt(index) === 45 /* `-` */ && + alphabetical(value.charCodeAt(index + 1)) && + alphabetical(value.charCodeAt(index + 2)) && + alphabetical(value.charCodeAt(index + 3)) && + alphabetical(value.charCodeAt(index + 4)) && + !alphabetical(value.charCodeAt(index + 5)) + ) { + result.script = source.slice(index + 1, index + 5) + index += 5 + } + + if (value.charCodeAt(index) === 45 /* `-` */) { + // ISO 3166-1 region. + // + if ( + alphabetical(value.charCodeAt(index + 1)) && + alphabetical(value.charCodeAt(index + 2)) && + !alphabetical(value.charCodeAt(index + 3)) + ) { + result.region = source.slice(index + 1, index + 3) + index += 3 + } + // UN M49 region. + // + else if ( + decimal(value.charCodeAt(index + 1)) && + decimal(value.charCodeAt(index + 2)) && + decimal(value.charCodeAt(index + 3)) && + !decimal(value.charCodeAt(index + 4)) + ) { + result.region = source.slice(index + 1, index + 4) + index += 4 + } + } + + while (value.charCodeAt(index) === 45 /* `-` */) { + offset = start = index + 1 + + while (alphanumeric(value.charCodeAt(offset))) { + if (offset - start > 7 /* Max variant. */) { + return fail( + offset, + 1, + 'Too long variant, expected at most 8 characters' + ) + } + + offset++ + } + + if ( + // Long variant. + offset - start > 4 /* Min alpha numeric variant. */ || + // Short variant. + (offset - start > 3 /* Min variant. */ && + decimal(value.charCodeAt(start))) + ) { + result.variants.push(source.slice(start, offset)) + index = offset + } + // Something else. + else { + break + } + } + + // Extensions. + while (value.charCodeAt(index) === 45 /* `-` */) { + // Exit if this isn’t an extension. + if ( + value.charCodeAt(index + 1) === 120 /* `x` */ || + !alphanumeric(value.charCodeAt(index + 1)) || + value.charCodeAt(index + 2) !== 45 /* `-` */ || + !alphanumeric(value.charCodeAt(index + 3)) + ) { + break + } + + offset = index + 2 + groups = 0 + + while ( + value.charCodeAt(offset) === 45 /* `-` */ && + alphanumeric(value.charCodeAt(offset + 1)) && + alphanumeric(value.charCodeAt(offset + 2)) + ) { + start = offset + 1 + offset = start + 2 + groups++ + + while (alphanumeric(value.charCodeAt(offset))) { + if (offset - start > 7 /* Max extension. */) { + return fail( + offset, + 2, + 'Too long extension, expected at most 8 characters' + ) + } + + offset++ + } + } + + if (!groups) { + return fail( + offset, + 4, + 'Empty extension, extensions must have at least 2 characters of content' + ) + } + + result.extensions.push({ + singleton: source.charAt(index + 1), + extensions: source.slice(index + 3, offset).split('-') + }) + + index = offset + } + } + // Not a language. + else { + index = 0 + } + + // Private use. + if ( + (index === 0 && value.charCodeAt(index) === 120) /* `x` */ || + (value.charCodeAt(index) === 45 /* `-` */ && + value.charCodeAt(index + 1) === 120) /* `x` */ + ) { + offset = index = index ? index + 2 : 1 + + while ( + value.charCodeAt(offset) === 45 /* `-` */ && + alphanumeric(value.charCodeAt(offset + 1)) + ) { + offset = start = index + 1 + + while (alphanumeric(value.charCodeAt(offset))) { + if (offset - start > 7 /* Max private use. */) { + return fail( + offset, + 5, + 'Too long private-use area, expected at most 8 characters' + ) + } + + offset++ + } + + result.privateuse.push(source.slice(index + 1, offset)) + index = offset + } + } + + if (index !== source.length) { + return fail(index, 6, 'Found superfluous content after tag') + } + + return result + + function fail(offset, code, reason) { + if (settings.warning) settings.warning(reason, code, offset) + return settings.forgiving ? result : empty() + } +} + +// Create an empty results object. +function empty() { + return { + language: null, + extendedLanguageSubtags: [], + script: null, + region: null, + variants: [], + extensions: [], + privateuse: [], + irregular: null, + regular: null + } +} + + +/***/ }), + +/***/ "./node_modules/bcp-47/lib/regular.json": +/*!**********************************************!*\ + !*** ./node_modules/bcp-47/lib/regular.json ***! + \**********************************************/ +/*! exports provided: 0, 1, 2, 3, 4, 5, 6, 7, 8, default */ +/***/ (function(module) { + +module.exports = JSON.parse("[\"art-lojban\",\"cel-gaulish\",\"no-bok\",\"no-nyn\",\"zh-guoyu\",\"zh-hakka\",\"zh-min\",\"zh-min-nan\",\"zh-xiang\"]"); + +/***/ }), + +/***/ "./node_modules/bcp-47/lib/stringify.js": +/*!**********************************************!*\ + !*** ./node_modules/bcp-47/lib/stringify.js ***! + \**********************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +module.exports = stringify + +// Compile a language schema to a BCP 47 language tag. +function stringify(schema) { + var fields = schema || {} + var result = [] + var values + var index + var value + + if (fields.irregular || fields.regular) { + return fields.irregular || fields.regular + } + + if (fields.language) { + result = result.concat( + fields.language, + fields.extendedLanguageSubtags || [], + fields.script || [], + fields.region || [], + fields.variants || [] + ) + + values = fields.extensions || [] + index = -1 + + while (++index < values.length) { + value = values[index] + + if (value.singleton && value.extensions && value.extensions.length) { + result = result.concat(value.singleton, value.extensions) + } + } + } + + if (fields.privateuse && fields.privateuse.length) { + result = result.concat('x', fields.privateuse) + } + + return result.join('-') +} + + /***/ }), /***/ "./node_modules/codem-isoboxer/dist/iso_boxer.js": @@ -10005,6 +10796,79 @@ if (typeof Object.create === 'function') { } +/***/ }), + +/***/ "./node_modules/is-alphabetical/index.js": +/*!***********************************************!*\ + !*** ./node_modules/is-alphabetical/index.js ***! + \***********************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +module.exports = alphabetical + +// Check if the given character code, or the character code at the first +// character, is alphabetical. +function alphabetical(character) { + var code = typeof character === 'string' ? character.charCodeAt(0) : character + + return ( + (code >= 97 && code <= 122) /* a-z */ || + (code >= 65 && code <= 90) /* A-Z */ + ) +} + + +/***/ }), + +/***/ "./node_modules/is-alphanumerical/index.js": +/*!*************************************************!*\ + !*** ./node_modules/is-alphanumerical/index.js ***! + \*************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var alphabetical = __webpack_require__(/*! is-alphabetical */ "./node_modules/is-alphabetical/index.js") +var decimal = __webpack_require__(/*! is-decimal */ "./node_modules/is-decimal/index.js") + +module.exports = alphanumerical + +// Check if the given character code, or the character code at the first +// character, is alphanumerical. +function alphanumerical(character) { + return alphabetical(character) || decimal(character) +} + + +/***/ }), + +/***/ "./node_modules/is-decimal/index.js": +/*!******************************************!*\ + !*** ./node_modules/is-decimal/index.js ***! + \******************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +module.exports = decimal + +// Check if the given character code, or the character code at the first +// character, is decimal. +function decimal(character) { + var code = typeof character === 'string' ? character.charCodeAt(0) : character + + return code >= 48 && code <= 57 /* 0-9 */ +} + + /***/ }), /***/ "./node_modules/isarray/index.js": @@ -17685,6 +18549,892 @@ function simpleEnd(buf) { return buf && buf.length ? this.write(buf) : ''; } +/***/ }), + +/***/ "./node_modules/ua-parser-js/src/ua-parser.js": +/*!****************************************************!*\ + !*** ./node_modules/ua-parser-js/src/ua-parser.js ***! + \****************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var __WEBPACK_AMD_DEFINE_RESULT__;///////////////////////////////////////////////////////////////////////////////// +/* UAParser.js v1.0.2 + Copyright © 2012-2021 Faisal Salman + MIT License *//* + Detect Browser, Engine, OS, CPU, and Device type/model from User-Agent data. + Supports browser & node.js environment. + Demo : https://faisalman.github.io/ua-parser-js + Source : https://github.com/faisalman/ua-parser-js */ +///////////////////////////////////////////////////////////////////////////////// + +(function (window, undefined) { + + 'use strict'; + + ////////////// + // Constants + ///////////// + + + var LIBVERSION = '1.0.2', + EMPTY = '', + UNKNOWN = '?', + FUNC_TYPE = 'function', + UNDEF_TYPE = 'undefined', + OBJ_TYPE = 'object', + STR_TYPE = 'string', + MAJOR = 'major', + MODEL = 'model', + NAME = 'name', + TYPE = 'type', + VENDOR = 'vendor', + VERSION = 'version', + ARCHITECTURE= 'architecture', + CONSOLE = 'console', + MOBILE = 'mobile', + TABLET = 'tablet', + SMARTTV = 'smarttv', + WEARABLE = 'wearable', + EMBEDDED = 'embedded', + UA_MAX_LENGTH = 255; + + var AMAZON = 'Amazon', + APPLE = 'Apple', + ASUS = 'ASUS', + BLACKBERRY = 'BlackBerry', + BROWSER = 'Browser', + CHROME = 'Chrome', + EDGE = 'Edge', + FIREFOX = 'Firefox', + GOOGLE = 'Google', + HUAWEI = 'Huawei', + LG = 'LG', + MICROSOFT = 'Microsoft', + MOTOROLA = 'Motorola', + OPERA = 'Opera', + SAMSUNG = 'Samsung', + SONY = 'Sony', + XIAOMI = 'Xiaomi', + ZEBRA = 'Zebra', + FACEBOOK = 'Facebook'; + + /////////// + // Helper + ////////// + + var extend = function (regexes, extensions) { + var mergedRegexes = {}; + for (var i in regexes) { + if (extensions[i] && extensions[i].length % 2 === 0) { + mergedRegexes[i] = extensions[i].concat(regexes[i]); + } else { + mergedRegexes[i] = regexes[i]; + } + } + return mergedRegexes; + }, + enumerize = function (arr) { + var enums = {}; + for (var i=0; i 0) { + if (q.length === 2) { + if (typeof q[1] == FUNC_TYPE) { + // assign modified match + this[q[0]] = q[1].call(this, match); + } else { + // assign given value, ignore regex match + this[q[0]] = q[1]; + } + } else if (q.length === 3) { + // check whether function or regex + if (typeof q[1] === FUNC_TYPE && !(q[1].exec && q[1].test)) { + // call function (usually string mapper) + this[q[0]] = match ? q[1].call(this, match, q[2]) : undefined; + } else { + // sanitize match using given regex + this[q[0]] = match ? match.replace(q[1], q[2]) : undefined; + } + } else if (q.length === 4) { + this[q[0]] = match ? q[3].call(this, match.replace(q[1], q[2])) : undefined; + } + } else { + this[q] = match ? match : undefined; + } + } + } + } + i += 2; + } + }, + + strMapper = function (str, map) { + + for (var i in map) { + // check if current value is array + if (typeof map[i] === OBJ_TYPE && map[i].length > 0) { + for (var j = 0; j < map[i].length; j++) { + if (has(map[i][j], str)) { + return (i === UNKNOWN) ? undefined : i; + } + } + } else if (has(map[i], str)) { + return (i === UNKNOWN) ? undefined : i; + } + } + return str; + }; + + /////////////// + // String map + ////////////// + + // Safari < 3.0 + var oldSafariMap = { + '1.0' : '/8', + '1.2' : '/1', + '1.3' : '/3', + '2.0' : '/412', + '2.0.2' : '/416', + '2.0.3' : '/417', + '2.0.4' : '/419', + '?' : '/' + }, + windowsVersionMap = { + 'ME' : '4.90', + 'NT 3.11' : 'NT3.51', + 'NT 4.0' : 'NT4.0', + '2000' : 'NT 5.0', + 'XP' : ['NT 5.1', 'NT 5.2'], + 'Vista' : 'NT 6.0', + '7' : 'NT 6.1', + '8' : 'NT 6.2', + '8.1' : 'NT 6.3', + '10' : ['NT 6.4', 'NT 10.0'], + 'RT' : 'ARM' + }; + + ////////////// + // Regex map + ///////////// + + var regexes = { + + browser : [[ + + /\b(?:crmo|crios)\/([\w\.]+)/i // Chrome for Android/iOS + ], [VERSION, [NAME, 'Chrome']], [ + /edg(?:e|ios|a)?\/([\w\.]+)/i // Microsoft Edge + ], [VERSION, [NAME, 'Edge']], [ + + // Presto based + /(opera mini)\/([-\w\.]+)/i, // Opera Mini + /(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i, // Opera Mobi/Tablet + /(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i // Opera + ], [NAME, VERSION], [ + /opios[\/ ]+([\w\.]+)/i // Opera mini on iphone >= 8.0 + ], [VERSION, [NAME, OPERA+' Mini']], [ + /\bopr\/([\w\.]+)/i // Opera Webkit + ], [VERSION, [NAME, OPERA]], [ + + // Mixed + /(kindle)\/([\w\.]+)/i, // Kindle + /(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i, // Lunascape/Maxthon/Netfront/Jasmine/Blazer + // Trident based + /(avant |iemobile|slim)(?:browser)?[\/ ]?([\w\.]*)/i, // Avant/IEMobile/SlimBrowser + /(ba?idubrowser)[\/ ]?([\w\.]+)/i, // Baidu Browser + /(?:ms|\()(ie) ([\w\.]+)/i, // Internet Explorer + + // Webkit/KHTML based // Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon + /(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale|qqbrowserlite|qq)\/([-\w\.]+)/i, + // Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ, aka ShouQ + /(weibo)__([\d\.]+)/i // Weibo + ], [NAME, VERSION], [ + /(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i // UCBrowser + ], [VERSION, [NAME, 'UC'+BROWSER]], [ + /\bqbcore\/([\w\.]+)/i // WeChat Desktop for Windows Built-in Browser + ], [VERSION, [NAME, 'WeChat(Win) Desktop']], [ + /micromessenger\/([\w\.]+)/i // WeChat + ], [VERSION, [NAME, 'WeChat']], [ + /konqueror\/([\w\.]+)/i // Konqueror + ], [VERSION, [NAME, 'Konqueror']], [ + /trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i // IE11 + ], [VERSION, [NAME, 'IE']], [ + /yabrowser\/([\w\.]+)/i // Yandex + ], [VERSION, [NAME, 'Yandex']], [ + /(avast|avg)\/([\w\.]+)/i // Avast/AVG Secure Browser + ], [[NAME, /(.+)/, '$1 Secure '+BROWSER], VERSION], [ + /\bfocus\/([\w\.]+)/i // Firefox Focus + ], [VERSION, [NAME, FIREFOX+' Focus']], [ + /\bopt\/([\w\.]+)/i // Opera Touch + ], [VERSION, [NAME, OPERA+' Touch']], [ + /coc_coc\w+\/([\w\.]+)/i // Coc Coc Browser + ], [VERSION, [NAME, 'Coc Coc']], [ + /dolfin\/([\w\.]+)/i // Dolphin + ], [VERSION, [NAME, 'Dolphin']], [ + /coast\/([\w\.]+)/i // Opera Coast + ], [VERSION, [NAME, OPERA+' Coast']], [ + /miuibrowser\/([\w\.]+)/i // MIUI Browser + ], [VERSION, [NAME, 'MIUI '+BROWSER]], [ + /fxios\/([-\w\.]+)/i // Firefox for iOS + ], [VERSION, [NAME, FIREFOX]], [ + /\bqihu|(qi?ho?o?|360)browser/i // 360 + ], [[NAME, '360 '+BROWSER]], [ + /(oculus|samsung|sailfish)browser\/([\w\.]+)/i + ], [[NAME, /(.+)/, '$1 '+BROWSER], VERSION], [ // Oculus/Samsung/Sailfish Browser + /(comodo_dragon)\/([\w\.]+)/i // Comodo Dragon + ], [[NAME, /_/g, ' '], VERSION], [ + /(electron)\/([\w\.]+) safari/i, // Electron-based App + /(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i, // Tesla + /m?(qqbrowser|baiduboxapp|2345Explorer)[\/ ]?([\w\.]+)/i // QQBrowser/Baidu App/2345 Browser + ], [NAME, VERSION], [ + /(metasr)[\/ ]?([\w\.]+)/i, // SouGouBrowser + /(lbbrowser)/i // LieBao Browser + ], [NAME], [ + + // WebView + /((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i // Facebook App for iOS & Android + ], [[NAME, FACEBOOK], VERSION], [ + /safari (line)\/([\w\.]+)/i, // Line App for iOS + /\b(line)\/([\w\.]+)\/iab/i, // Line App for Android + /(chromium|instagram)[\/ ]([-\w\.]+)/i // Chromium/Instagram + ], [NAME, VERSION], [ + /\bgsa\/([\w\.]+) .*safari\//i // Google Search Appliance on iOS + ], [VERSION, [NAME, 'GSA']], [ + + /headlesschrome(?:\/([\w\.]+)| )/i // Chrome Headless + ], [VERSION, [NAME, CHROME+' Headless']], [ + + / wv\).+(chrome)\/([\w\.]+)/i // Chrome WebView + ], [[NAME, CHROME+' WebView'], VERSION], [ + + /droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i // Android Browser + ], [VERSION, [NAME, 'Android '+BROWSER]], [ + + /(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i // Chrome/OmniWeb/Arora/Tizen/Nokia + ], [NAME, VERSION], [ + + /version\/([\w\.]+) .*mobile\/\w+ (safari)/i // Mobile Safari + ], [VERSION, [NAME, 'Mobile Safari']], [ + /version\/([\w\.]+) .*(mobile ?safari|safari)/i // Safari & Safari Mobile + ], [VERSION, NAME], [ + /webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i // Safari < 3.0 + ], [NAME, [VERSION, strMapper, oldSafariMap]], [ + + /(webkit|khtml)\/([\w\.]+)/i + ], [NAME, VERSION], [ + + // Gecko based + /(navigator|netscape\d?)\/([-\w\.]+)/i // Netscape + ], [[NAME, 'Netscape'], VERSION], [ + /mobile vr; rv:([\w\.]+)\).+firefox/i // Firefox Reality + ], [VERSION, [NAME, FIREFOX+' Reality']], [ + /ekiohf.+(flow)\/([\w\.]+)/i, // Flow + /(swiftfox)/i, // Swiftfox + /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i, + // IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror/Klar + /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i, + // Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix + /(firefox)\/([\w\.]+)/i, // Other Firefox-based + /(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i, // Mozilla + + // Other + /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i, + // Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Sleipnir/Obigo/Mosaic/Go/ICE/UP.Browser + /(links) \(([\w\.]+)/i // Links + ], [NAME, VERSION] + ], + + cpu : [[ + + /(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i // AMD64 (x64) + ], [[ARCHITECTURE, 'amd64']], [ + + /(ia32(?=;))/i // IA32 (quicktime) + ], [[ARCHITECTURE, lowerize]], [ + + /((?:i[346]|x)86)[;\)]/i // IA32 (x86) + ], [[ARCHITECTURE, 'ia32']], [ + + /\b(aarch64|arm(v?8e?l?|_?64))\b/i // ARM64 + ], [[ARCHITECTURE, 'arm64']], [ + + /\b(arm(?:v[67])?ht?n?[fl]p?)\b/i // ARMHF + ], [[ARCHITECTURE, 'armhf']], [ + + // PocketPC mistakenly identified as PowerPC + /windows (ce|mobile); ppc;/i + ], [[ARCHITECTURE, 'arm']], [ + + /((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i // PowerPC + ], [[ARCHITECTURE, /ower/, EMPTY, lowerize]], [ + + /(sun4\w)[;\)]/i // SPARC + ], [[ARCHITECTURE, 'sparc']], [ + + /((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i + // IA64, 68K, ARM/64, AVR/32, IRIX/64, MIPS/64, SPARC/64, PA-RISC + ], [[ARCHITECTURE, lowerize]] + ], + + device : [[ + + ////////////////////////// + // MOBILES & TABLETS + // Ordered by popularity + ///////////////////////// + + // Samsung + /\b(sch-i[89]0\d|shw-m380s|sm-[pt]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i + ], [MODEL, [VENDOR, SAMSUNG], [TYPE, TABLET]], [ + /\b((?:s[cgp]h|gt|sm)-\w+|galaxy nexus)/i, + /samsung[- ]([-\w]+)/i, + /sec-(sgh\w+)/i + ], [MODEL, [VENDOR, SAMSUNG], [TYPE, MOBILE]], [ + + // Apple + /\((ip(?:hone|od)[\w ]*);/i // iPod/iPhone + ], [MODEL, [VENDOR, APPLE], [TYPE, MOBILE]], [ + /\((ipad);[-\w\),; ]+apple/i, // iPad + /applecoremedia\/[\w\.]+ \((ipad)/i, + /\b(ipad)\d\d?,\d\d?[;\]].+ios/i + ], [MODEL, [VENDOR, APPLE], [TYPE, TABLET]], [ + + // Huawei + /\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i + ], [MODEL, [VENDOR, HUAWEI], [TYPE, TABLET]], [ + /(?:huawei|honor)([-\w ]+)[;\)]/i, + /\b(nexus 6p|\w{2,4}-[atu]?[ln][01259x][012359][an]?)\b(?!.+d\/s)/i + ], [MODEL, [VENDOR, HUAWEI], [TYPE, MOBILE]], [ + + // Xiaomi + /\b(poco[\w ]+)(?: bui|\))/i, // Xiaomi POCO + /\b; (\w+) build\/hm\1/i, // Xiaomi Hongmi 'numeric' models + /\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i, // Xiaomi Hongmi + /\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i, // Xiaomi Redmi + /\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i // Xiaomi Mi + ], [[MODEL, /_/g, ' '], [VENDOR, XIAOMI], [TYPE, MOBILE]], [ + /\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i // Mi Pad tablets + ],[[MODEL, /_/g, ' '], [VENDOR, XIAOMI], [TYPE, TABLET]], [ + + // OPPO + /; (\w+) bui.+ oppo/i, + /\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i + ], [MODEL, [VENDOR, 'OPPO'], [TYPE, MOBILE]], [ + + // Vivo + /vivo (\w+)(?: bui|\))/i, + /\b(v[12]\d{3}\w?[at])(?: bui|;)/i + ], [MODEL, [VENDOR, 'Vivo'], [TYPE, MOBILE]], [ + + // Realme + /\b(rmx[12]\d{3})(?: bui|;|\))/i + ], [MODEL, [VENDOR, 'Realme'], [TYPE, MOBILE]], [ + + // Motorola + /\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i, + /\bmot(?:orola)?[- ](\w*)/i, + /((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i + ], [MODEL, [VENDOR, MOTOROLA], [TYPE, MOBILE]], [ + /\b(mz60\d|xoom[2 ]{0,2}) build\//i + ], [MODEL, [VENDOR, MOTOROLA], [TYPE, TABLET]], [ + + // LG + /((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i + ], [MODEL, [VENDOR, LG], [TYPE, TABLET]], [ + /(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i, + /\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i, + /\blg-?([\d\w]+) bui/i + ], [MODEL, [VENDOR, LG], [TYPE, MOBILE]], [ + + // Lenovo + /(ideatab[-\w ]+)/i, + /lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i + ], [MODEL, [VENDOR, 'Lenovo'], [TYPE, TABLET]], [ + + // Nokia + /(?:maemo|nokia).*(n900|lumia \d+)/i, + /nokia[-_ ]?([-\w\.]*)/i + ], [[MODEL, /_/g, ' '], [VENDOR, 'Nokia'], [TYPE, MOBILE]], [ + + // Google + /(pixel c)\b/i // Google Pixel C + ], [MODEL, [VENDOR, GOOGLE], [TYPE, TABLET]], [ + /droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i // Google Pixel + ], [MODEL, [VENDOR, GOOGLE], [TYPE, MOBILE]], [ + + // Sony + /droid.+ ([c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i + ], [MODEL, [VENDOR, SONY], [TYPE, MOBILE]], [ + /sony tablet [ps]/i, + /\b(?:sony)?sgp\w+(?: bui|\))/i + ], [[MODEL, 'Xperia Tablet'], [VENDOR, SONY], [TYPE, TABLET]], [ + + // OnePlus + / (kb2005|in20[12]5|be20[12][59])\b/i, + /(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i + ], [MODEL, [VENDOR, 'OnePlus'], [TYPE, MOBILE]], [ + + // Amazon + /(alexa)webm/i, + /(kf[a-z]{2}wi)( bui|\))/i, // Kindle Fire without Silk + /(kf[a-z]+)( bui|\)).+silk\//i // Kindle Fire HD + ], [MODEL, [VENDOR, AMAZON], [TYPE, TABLET]], [ + /((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i // Fire Phone + ], [[MODEL, /(.+)/g, 'Fire Phone $1'], [VENDOR, AMAZON], [TYPE, MOBILE]], [ + + // BlackBerry + /(playbook);[-\w\),; ]+(rim)/i // BlackBerry PlayBook + ], [MODEL, VENDOR, [TYPE, TABLET]], [ + /\b((?:bb[a-f]|st[hv])100-\d)/i, + /\(bb10; (\w+)/i // BlackBerry 10 + ], [MODEL, [VENDOR, BLACKBERRY], [TYPE, MOBILE]], [ + + // Asus + /(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i + ], [MODEL, [VENDOR, ASUS], [TYPE, TABLET]], [ + / (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i + ], [MODEL, [VENDOR, ASUS], [TYPE, MOBILE]], [ + + // HTC + /(nexus 9)/i // HTC Nexus 9 + ], [MODEL, [VENDOR, 'HTC'], [TYPE, TABLET]], [ + /(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i, // HTC + + // ZTE + /(zte)[- ]([\w ]+?)(?: bui|\/|\))/i, + /(alcatel|geeksphone|nexian|panasonic|sony)[-_ ]?([-\w]*)/i // Alcatel/GeeksPhone/Nexian/Panasonic/Sony + ], [VENDOR, [MODEL, /_/g, ' '], [TYPE, MOBILE]], [ + + // Acer + /droid.+; ([ab][1-7]-?[0178a]\d\d?)/i + ], [MODEL, [VENDOR, 'Acer'], [TYPE, TABLET]], [ + + // Meizu + /droid.+; (m[1-5] note) bui/i, + /\bmz-([-\w]{2,})/i + ], [MODEL, [VENDOR, 'Meizu'], [TYPE, MOBILE]], [ + + // Sharp + /\b(sh-?[altvz]?\d\d[a-ekm]?)/i + ], [MODEL, [VENDOR, 'Sharp'], [TYPE, MOBILE]], [ + + // MIXED + /(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\w]*)/i, + // BlackBerry/BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron + /(hp) ([\w ]+\w)/i, // HP iPAQ + /(asus)-?(\w+)/i, // Asus + /(microsoft); (lumia[\w ]+)/i, // Microsoft Lumia + /(lenovo)[-_ ]?([-\w]+)/i, // Lenovo + /(jolla)/i, // Jolla + /(oppo) ?([\w ]+) bui/i // OPPO + ], [VENDOR, MODEL, [TYPE, MOBILE]], [ + + /(archos) (gamepad2?)/i, // Archos + /(hp).+(touchpad(?!.+tablet)|tablet)/i, // HP TouchPad + /(kindle)\/([\w\.]+)/i, // Kindle + /(nook)[\w ]+build\/(\w+)/i, // Nook + /(dell) (strea[kpr\d ]*[\dko])/i, // Dell Streak + /(le[- ]+pan)[- ]+(\w{1,9}) bui/i, // Le Pan Tablets + /(trinity)[- ]*(t\d{3}) bui/i, // Trinity Tablets + /(gigaset)[- ]+(q\w{1,9}) bui/i, // Gigaset Tablets + /(vodafone) ([\w ]+)(?:\)| bui)/i // Vodafone + ], [VENDOR, MODEL, [TYPE, TABLET]], [ + + /(surface duo)/i // Surface Duo + ], [MODEL, [VENDOR, MICROSOFT], [TYPE, TABLET]], [ + /droid [\d\.]+; (fp\du?)(?: b|\))/i // Fairphone + ], [MODEL, [VENDOR, 'Fairphone'], [TYPE, MOBILE]], [ + /(u304aa)/i // AT&T + ], [MODEL, [VENDOR, 'AT&T'], [TYPE, MOBILE]], [ + /\bsie-(\w*)/i // Siemens + ], [MODEL, [VENDOR, 'Siemens'], [TYPE, MOBILE]], [ + /\b(rct\w+) b/i // RCA Tablets + ], [MODEL, [VENDOR, 'RCA'], [TYPE, TABLET]], [ + /\b(venue[\d ]{2,7}) b/i // Dell Venue Tablets + ], [MODEL, [VENDOR, 'Dell'], [TYPE, TABLET]], [ + /\b(q(?:mv|ta)\w+) b/i // Verizon Tablet + ], [MODEL, [VENDOR, 'Verizon'], [TYPE, TABLET]], [ + /\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i // Barnes & Noble Tablet + ], [MODEL, [VENDOR, 'Barnes & Noble'], [TYPE, TABLET]], [ + /\b(tm\d{3}\w+) b/i + ], [MODEL, [VENDOR, 'NuVision'], [TYPE, TABLET]], [ + /\b(k88) b/i // ZTE K Series Tablet + ], [MODEL, [VENDOR, 'ZTE'], [TYPE, TABLET]], [ + /\b(nx\d{3}j) b/i // ZTE Nubia + ], [MODEL, [VENDOR, 'ZTE'], [TYPE, MOBILE]], [ + /\b(gen\d{3}) b.+49h/i // Swiss GEN Mobile + ], [MODEL, [VENDOR, 'Swiss'], [TYPE, MOBILE]], [ + /\b(zur\d{3}) b/i // Swiss ZUR Tablet + ], [MODEL, [VENDOR, 'Swiss'], [TYPE, TABLET]], [ + /\b((zeki)?tb.*\b) b/i // Zeki Tablets + ], [MODEL, [VENDOR, 'Zeki'], [TYPE, TABLET]], [ + /\b([yr]\d{2}) b/i, + /\b(dragon[- ]+touch |dt)(\w{5}) b/i // Dragon Touch Tablet + ], [[VENDOR, 'Dragon Touch'], MODEL, [TYPE, TABLET]], [ + /\b(ns-?\w{0,9}) b/i // Insignia Tablets + ], [MODEL, [VENDOR, 'Insignia'], [TYPE, TABLET]], [ + /\b((nxa|next)-?\w{0,9}) b/i // NextBook Tablets + ], [MODEL, [VENDOR, 'NextBook'], [TYPE, TABLET]], [ + /\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i // Voice Xtreme Phones + ], [[VENDOR, 'Voice'], MODEL, [TYPE, MOBILE]], [ + /\b(lvtel\-)?(v1[12]) b/i // LvTel Phones + ], [[VENDOR, 'LvTel'], MODEL, [TYPE, MOBILE]], [ + /\b(ph-1) /i // Essential PH-1 + ], [MODEL, [VENDOR, 'Essential'], [TYPE, MOBILE]], [ + /\b(v(100md|700na|7011|917g).*\b) b/i // Envizen Tablets + ], [MODEL, [VENDOR, 'Envizen'], [TYPE, TABLET]], [ + /\b(trio[-\w\. ]+) b/i // MachSpeed Tablets + ], [MODEL, [VENDOR, 'MachSpeed'], [TYPE, TABLET]], [ + /\btu_(1491) b/i // Rotor Tablets + ], [MODEL, [VENDOR, 'Rotor'], [TYPE, TABLET]], [ + /(shield[\w ]+) b/i // Nvidia Shield Tablets + ], [MODEL, [VENDOR, 'Nvidia'], [TYPE, TABLET]], [ + /(sprint) (\w+)/i // Sprint Phones + ], [VENDOR, MODEL, [TYPE, MOBILE]], [ + /(kin\.[onetw]{3})/i // Microsoft Kin + ], [[MODEL, /\./g, ' '], [VENDOR, MICROSOFT], [TYPE, MOBILE]], [ + /droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i // Zebra + ], [MODEL, [VENDOR, ZEBRA], [TYPE, TABLET]], [ + /droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i + ], [MODEL, [VENDOR, ZEBRA], [TYPE, MOBILE]], [ + + /////////////////// + // CONSOLES + /////////////////// + + /(ouya)/i, // Ouya + /(nintendo) ([wids3utch]+)/i // Nintendo + ], [VENDOR, MODEL, [TYPE, CONSOLE]], [ + /droid.+; (shield) bui/i // Nvidia + ], [MODEL, [VENDOR, 'Nvidia'], [TYPE, CONSOLE]], [ + /(playstation [345portablevi]+)/i // Playstation + ], [MODEL, [VENDOR, SONY], [TYPE, CONSOLE]], [ + /\b(xbox(?: one)?(?!; xbox))[\); ]/i // Microsoft Xbox + ], [MODEL, [VENDOR, MICROSOFT], [TYPE, CONSOLE]], [ + + /////////////////// + // SMARTTVS + /////////////////// + + /smart-tv.+(samsung)/i // Samsung + ], [VENDOR, [TYPE, SMARTTV]], [ + /hbbtv.+maple;(\d+)/i + ], [[MODEL, /^/, 'SmartTV'], [VENDOR, SAMSUNG], [TYPE, SMARTTV]], [ + /(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i // LG SmartTV + ], [[VENDOR, LG], [TYPE, SMARTTV]], [ + /(apple) ?tv/i // Apple TV + ], [VENDOR, [MODEL, APPLE+' TV'], [TYPE, SMARTTV]], [ + /crkey/i // Google Chromecast + ], [[MODEL, CHROME+'cast'], [VENDOR, GOOGLE], [TYPE, SMARTTV]], [ + /droid.+aft(\w)( bui|\))/i // Fire TV + ], [MODEL, [VENDOR, AMAZON], [TYPE, SMARTTV]], [ + /\(dtv[\);].+(aquos)/i // Sharp + ], [MODEL, [VENDOR, 'Sharp'], [TYPE, SMARTTV]], [ + /\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i, // Roku + /hbbtv\/\d+\.\d+\.\d+ +\([\w ]*; *(\w[^;]*);([^;]*)/i // HbbTV devices + ], [[VENDOR, trim], [MODEL, trim], [TYPE, SMARTTV]], [ + /\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i // SmartTV from Unidentified Vendors + ], [[TYPE, SMARTTV]], [ + + /////////////////// + // WEARABLES + /////////////////// + + /((pebble))app/i // Pebble + ], [VENDOR, MODEL, [TYPE, WEARABLE]], [ + /droid.+; (glass) \d/i // Google Glass + ], [MODEL, [VENDOR, GOOGLE], [TYPE, WEARABLE]], [ + /droid.+; (wt63?0{2,3})\)/i + ], [MODEL, [VENDOR, ZEBRA], [TYPE, WEARABLE]], [ + /(quest( 2)?)/i // Oculus Quest + ], [MODEL, [VENDOR, FACEBOOK], [TYPE, WEARABLE]], [ + + /////////////////// + // EMBEDDED + /////////////////// + + /(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i // Tesla + ], [VENDOR, [TYPE, EMBEDDED]], [ + + //////////////////// + // MIXED (GENERIC) + /////////////////// + + /droid .+?; ([^;]+?)(?: bui|\) applew).+? mobile safari/i // Android Phones from Unidentified Vendors + ], [MODEL, [TYPE, MOBILE]], [ + /droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i // Android Tablets from Unidentified Vendors + ], [MODEL, [TYPE, TABLET]], [ + /\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i // Unidentifiable Tablet + ], [[TYPE, TABLET]], [ + /(phone|mobile(?:[;\/]| safari)|pda(?=.+windows ce))/i // Unidentifiable Mobile + ], [[TYPE, MOBILE]], [ + /(android[-\w\. ]{0,9});.+buil/i // Generic Android Device + ], [MODEL, [VENDOR, 'Generic']] + ], + + engine : [[ + + /windows.+ edge\/([\w\.]+)/i // EdgeHTML + ], [VERSION, [NAME, EDGE+'HTML']], [ + + /webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i // Blink + ], [VERSION, [NAME, 'Blink']], [ + + /(presto)\/([\w\.]+)/i, // Presto + /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i, // WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna + /ekioh(flow)\/([\w\.]+)/i, // Flow + /(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i, // KHTML/Tasman/Links + /(icab)[\/ ]([23]\.[\d\.]+)/i // iCab + ], [NAME, VERSION], [ + + /rv\:([\w\.]{1,9})\b.+(gecko)/i // Gecko + ], [VERSION, NAME] + ], + + os : [[ + + // Windows + /microsoft (windows) (vista|xp)/i // Windows (iTunes) + ], [NAME, VERSION], [ + /(windows) nt 6\.2; (arm)/i, // Windows RT + /(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i, // Windows Phone + /(windows)[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i + ], [NAME, [VERSION, strMapper, windowsVersionMap]], [ + /(win(?=3|9|n)|win 9x )([nt\d\.]+)/i + ], [[NAME, 'Windows'], [VERSION, strMapper, windowsVersionMap]], [ + + // iOS/macOS + /ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i, // iOS + /cfnetwork\/.+darwin/i + ], [[VERSION, /_/g, '.'], [NAME, 'iOS']], [ + /(mac os x) ?([\w\. ]*)/i, + /(macintosh|mac_powerpc\b)(?!.+haiku)/i // Mac OS + ], [[NAME, 'Mac OS'], [VERSION, /_/g, '.']], [ + + // Mobile OSes + /droid ([\w\.]+)\b.+(android[- ]x86)/i // Android-x86 + ], [VERSION, NAME], [ // Android/WebOS/QNX/Bada/RIM/Maemo/MeeGo/Sailfish OS + /(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i, + /(blackberry)\w*\/([\w\.]*)/i, // Blackberry + /(tizen|kaios)[\/ ]([\w\.]+)/i, // Tizen/KaiOS + /\((series40);/i // Series 40 + ], [NAME, VERSION], [ + /\(bb(10);/i // BlackBerry 10 + ], [VERSION, [NAME, BLACKBERRY]], [ + /(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i // Symbian + ], [VERSION, [NAME, 'Symbian']], [ + /mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i // Firefox OS + ], [VERSION, [NAME, FIREFOX+' OS']], [ + /web0s;.+rt(tv)/i, + /\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i // WebOS + ], [VERSION, [NAME, 'webOS']], [ + + // Google Chromecast + /crkey\/([\d\.]+)/i // Google Chromecast + ], [VERSION, [NAME, CHROME+'cast']], [ + /(cros) [\w]+ ([\w\.]+\w)/i // Chromium OS + ], [[NAME, 'Chromium OS'], VERSION],[ + + // Console + /(nintendo|playstation) ([wids345portablevuch]+)/i, // Nintendo/Playstation + /(xbox); +xbox ([^\);]+)/i, // Microsoft Xbox (360, One, X, S, Series X, Series S) + + // Other + /\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i, // Joli/Palm + /(mint)[\/\(\) ]?(\w*)/i, // Mint + /(mageia|vectorlinux)[; ]/i, // Mageia/VectorLinux + /([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i, + // Ubuntu/Debian/SUSE/Gentoo/Arch/Slackware/Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus/Raspbian/Plan9/Minix/RISCOS/Contiki/Deepin/Manjaro/elementary/Sabayon/Linspire + /(hurd|linux) ?([\w\.]*)/i, // Hurd/Linux + /(gnu) ?([\w\.]*)/i, // GNU + /\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i, // FreeBSD/NetBSD/OpenBSD/PC-BSD/GhostBSD/DragonFly + /(haiku) (\w+)/i // Haiku + ], [NAME, VERSION], [ + /(sunos) ?([\w\.\d]*)/i // Solaris + ], [[NAME, 'Solaris'], VERSION], [ + /((?:open)?solaris)[-\/ ]?([\w\.]*)/i, // Solaris + /(aix) ((\d)(?=\.|\)| )[\w\.])*/i, // AIX + /\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux)/i, // BeOS/OS2/AmigaOS/MorphOS/OpenVMS/Fuchsia/HP-UX + /(unix) ?([\w\.]*)/i // UNIX + ], [NAME, VERSION] + ] + }; + + ///////////////// + // Constructor + //////////////// + + var UAParser = function (ua, extensions) { + + if (typeof ua === OBJ_TYPE) { + extensions = ua; + ua = undefined; + } + + if (!(this instanceof UAParser)) { + return new UAParser(ua, extensions).getResult(); + } + + var _ua = ua || ((typeof window !== UNDEF_TYPE && window.navigator && window.navigator.userAgent) ? window.navigator.userAgent : EMPTY); + var _rgxmap = extensions ? extend(regexes, extensions) : regexes; + + this.getBrowser = function () { + var _browser = {}; + _browser[NAME] = undefined; + _browser[VERSION] = undefined; + rgxMapper.call(_browser, _ua, _rgxmap.browser); + _browser.major = majorize(_browser.version); + return _browser; + }; + this.getCPU = function () { + var _cpu = {}; + _cpu[ARCHITECTURE] = undefined; + rgxMapper.call(_cpu, _ua, _rgxmap.cpu); + return _cpu; + }; + this.getDevice = function () { + var _device = {}; + _device[VENDOR] = undefined; + _device[MODEL] = undefined; + _device[TYPE] = undefined; + rgxMapper.call(_device, _ua, _rgxmap.device); + return _device; + }; + this.getEngine = function () { + var _engine = {}; + _engine[NAME] = undefined; + _engine[VERSION] = undefined; + rgxMapper.call(_engine, _ua, _rgxmap.engine); + return _engine; + }; + this.getOS = function () { + var _os = {}; + _os[NAME] = undefined; + _os[VERSION] = undefined; + rgxMapper.call(_os, _ua, _rgxmap.os); + return _os; + }; + this.getResult = function () { + return { + ua : this.getUA(), + browser : this.getBrowser(), + engine : this.getEngine(), + os : this.getOS(), + device : this.getDevice(), + cpu : this.getCPU() + }; + }; + this.getUA = function () { + return _ua; + }; + this.setUA = function (ua) { + _ua = (typeof ua === STR_TYPE && ua.length > UA_MAX_LENGTH) ? trim(ua, UA_MAX_LENGTH) : ua; + return this; + }; + this.setUA(_ua); + return this; + }; + + UAParser.VERSION = LIBVERSION; + UAParser.BROWSER = enumerize([NAME, VERSION, MAJOR]); + UAParser.CPU = enumerize([ARCHITECTURE]); + UAParser.DEVICE = enumerize([MODEL, VENDOR, TYPE, CONSOLE, MOBILE, SMARTTV, TABLET, WEARABLE, EMBEDDED]); + UAParser.ENGINE = UAParser.OS = enumerize([NAME, VERSION]); + + /////////// + // Export + ////////// + + // check js environment + if (typeof(exports) !== UNDEF_TYPE) { + // nodejs env + if (typeof module !== UNDEF_TYPE && module.exports) { + exports = module.exports = UAParser; + } + exports.UAParser = UAParser; + } else { + // requirejs env (optional) + if ("function" === FUNC_TYPE && __webpack_require__(/*! !webpack amd options */ "./node_modules/webpack/buildin/amd-options.js")) { + !(__WEBPACK_AMD_DEFINE_RESULT__ = (function () { + return UAParser; + }).call(exports, __webpack_require__, exports, module), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + } else if (typeof window !== UNDEF_TYPE) { + // browser env + window.UAParser = UAParser; + } + } + + // jQuery/Zepto specific (optional) + // Note: + // In AMD env the global scope should be kept clean, but jQuery is an exception. + // jQuery always exports to global scope, unless jQuery.noConflict(true) is used, + // and we should catch that. + var $ = typeof window !== UNDEF_TYPE && (window.jQuery || window.Zepto); + if ($ && !$.ua) { + var parser = new UAParser(); + $.ua = parser.getResult(); + $.ua.get = function () { + return parser.getUA(); + }; + $.ua.set = function (ua) { + parser.setUA(ua); + var result = parser.getResult(); + for (var prop in result) { + $.ua[prop] = result[prop]; + } + }; + } + +})(typeof window === 'object' ? window : this); + + /***/ }), /***/ "./node_modules/util-deprecate/browser.js": @@ -17766,6 +19516,20 @@ function config (name) { /***/ }), +/***/ "./node_modules/webpack/buildin/amd-options.js": +/*!****************************************!*\ + !*** (webpack)/buildin/amd-options.js ***! + \****************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +/* WEBPACK VAR INJECTION */(function(__webpack_amd_options__) {/* globals __webpack_amd_options__ */ +module.exports = __webpack_amd_options__; + +/* WEBPACK VAR INJECTION */}.call(this, {})) + +/***/ }), + /***/ "./node_modules/webpack/buildin/global.js": /*!***********************************!*\ !*** (webpack)/buildin/global.js ***! @@ -18583,6 +20347,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope * cacheInitSegments: true, * applyServiceDescription: true, * applyProducerReferenceTime: true, + * applyContentSteering: true, * eventControllerRefreshDelay: 100, * enableManifestDurationMismatchFix: true, * capabilities: { @@ -18620,7 +20385,8 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope * longFormContentDurationThreshold: 600, * stallThreshold: 0.5, * useAppendWindow: true, - * setStallState: true + * setStallState: true, + * avoidCurrentTimeRangePruning: false * }, * gaps: { * jumpGaps: true, @@ -18658,7 +20424,6 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope * maxDrift: NaN, * playbackRate: NaN, * playbackBufferMin: 0.5, - * latencyThreshold: 60, * enabled: false, * mode: Constants.LIVE_CATCHUP_MODE_DEFAULT * }, @@ -18822,6 +20587,10 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope * Specifies if the appendWindow attributes of the MSE SourceBuffers should be set according to content duration from manifest. * @property {boolean} [setStallState=true] * Specifies if we fire manual waiting events once the stall threshold is reached + * @property {boolean} [avoidCurrentTimeRangePruning=false] + * Avoids pruning of the buffered range that contains the current playback time. + * + * That buffered range is likely to have been enqueued for playback. Pruning it causes a flush and reenqueue in WPE and WebKitGTK based browsers. This stresses the video decoder and can cause stuttering on embedded platforms. */ /** @@ -18980,15 +20749,6 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope * Set it to NaN to turn off live catch up feature. * * Note: Catch-up mechanism is only applied when playing low latency live streams. - * @property {number} [latencyThreshold=60] - * Use this parameter to set the maximum threshold for which live catch up is applied. - * - * For instance, if this value is set to 8 seconds, then live catchup is only applied if the current live latency is equal or below 8 seconds. - * - * The reason behind this parameter is to avoid an increase of the playback rate if the user seeks within the DVR window. - * - * If no value is specified catchup mode will always be applied - * * @property {number} [playbackBufferMin=NaN] * Use this parameter to specify the minimum buffer which is used for LoL+ based playback rate reduction. * @@ -19183,6 +20943,8 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope * Set to true if dash.js should use the parameters defined in ServiceDescription elements * @property {boolean} [applyProducerReferenceTime=true] * Set to true if dash.js should use the parameters defined in ProducerReferenceTime elements in combination with ServiceDescription elements. + * @property {boolean} [applyContentSteering=true] + * Set to true if dash.js should apply content steering during playback. * @property {number} [eventControllerRefreshDelay=100] * For multi-period streams, overwrite the manifest mediaPresentationDuration attribute with the sum of period durations if the manifest mediaPresentationDuration is greater than the sum of period durations * @property {boolean} [enableManifestDurationMismatchFix=true] @@ -19289,6 +21051,7 @@ function Settings() { cacheInitSegments: false, applyServiceDescription: true, applyProducerReferenceTime: true, + applyContentSteering: true, eventControllerRefreshDelay: 100, enableManifestDurationMismatchFix: true, capabilities: { @@ -19326,7 +21089,8 @@ function Settings() { longFormContentDurationThreshold: 600, stallThreshold: 0.3, useAppendWindow: true, - setStallState: true + setStallState: true, + avoidCurrentTimeRangePruning: false }, gaps: { jumpGaps: true, @@ -19365,7 +21129,6 @@ function Settings() { playbackRate: NaN, playbackBufferMin: 0.5, enabled: null, - latencyThreshold: 60, mode: _streaming_constants_Constants__WEBPACK_IMPORTED_MODULE_3__["default"].LIVE_CATCHUP_MODE_DEFAULT }, lastBitrateCachingInfo: { @@ -19531,6 +21294,8 @@ var factory = _FactoryMaker__WEBPACK_IMPORTED_MODULE_0__["default"].getSingleton __webpack_require__.r(__webpack_exports__); /* harmony import */ var path_browserify__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! path-browserify */ "./node_modules/path-browserify/index.js"); /* harmony import */ var path_browserify__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(path_browserify__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var ua_parser_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ua-parser-js */ "./node_modules/ua-parser-js/src/ua-parser.js"); +/* harmony import */ var ua_parser_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(ua_parser_js__WEBPACK_IMPORTED_MODULE_1__); function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } @@ -19576,6 +21341,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d */ + var Utils = /*#__PURE__*/function () { function Utils() { _classCallCheck(this, Utils); @@ -19735,6 +21501,18 @@ var Utils = /*#__PURE__*/function () { return targetUrl; } } + }, { + key: "parseUserAgent", + value: function parseUserAgent() { + var ua = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + + try { + var uaString = ua === null ? typeof navigator !== 'undefined' ? navigator.userAgent.toLowerCase() : '' : ''; + return Object(ua_parser_js__WEBPACK_IMPORTED_MODULE_1__["UAParser"])(uaString); + } catch (e) { + return {}; + } + } }]); return Utils; @@ -19754,7 +21532,7 @@ var Utils = /*#__PURE__*/function () { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getVersionString", function() { return getVersionString; }); -var VERSION = '4.4.1'; +var VERSION = '4.5.0'; function getVersionString() { return VERSION; } @@ -20366,6 +22144,8 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _core_FactoryMaker__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../core/FactoryMaker */ "./src/core/FactoryMaker.js"); /* harmony import */ var _models_DashManifestModel__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./models/DashManifestModel */ "./src/dash/models/DashManifestModel.js"); /* harmony import */ var _models_PatchManifestModel__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./models/PatchManifestModel */ "./src/dash/models/PatchManifestModel.js"); +/* harmony import */ var bcp_47_normalize__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! bcp-47-normalize */ "./node_modules/bcp-47-normalize/index.js"); +/* harmony import */ var bcp_47_normalize__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(bcp_47_normalize__WEBPACK_IMPORTED_MODULE_9__); /** * The copyright in this software is being made available under the BSD License, * included below. This software may be subject to other third party and contributor @@ -20405,6 +22185,7 @@ __webpack_require__.r(__webpack_exports__); + /** * @module DashAdapter * @description The DashAdapter module can be accessed using the MediaPlayer API getDashAdapter() @@ -21012,6 +22793,18 @@ function DashAdapter() { var manifest = getManifest(externalManifest); return dashManifestModel.getMpd(manifest); } + /** + * Returns the ContentSteering element of the MPD + * @param {object} manifest + * @returns {object} contentSteering + * @memberOf module:DashAdapter + * @instance + */ + + + function getContentSteering(manifest) { + return dashManifestModel.getContentSteering(manifest); + } /** * Returns the location element of the MPD * @param {object} manifest @@ -21462,7 +23255,7 @@ function DashAdapter() { mediaInfo.codec = 'cea-608-in-SEI'; mediaInfo.isEmbedded = true; mediaInfo.isFragmented = false; - mediaInfo.lang = lang; + mediaInfo.lang = bcp_47_normalize__WEBPACK_IMPORTED_MODULE_9___default()(lang); mediaInfo.roles = ['caption']; } @@ -21583,6 +23376,7 @@ function DashAdapter() { getIsDynamic: getIsDynamic, getDuration: getDuration, getRegularPeriods: getRegularPeriods, + getContentSteering: getContentSteering, getLocation: getLocation, getPatchLocation: getPatchLocation, getManifestUpdatePeriod: getManifestUpdatePeriod, @@ -22036,12 +23830,11 @@ function DashHandler(config) { if (targetRequest) { var requestEndTime = targetRequest.startTime + targetRequest.duration; // Keep the original start time in case it is covered by a segment - if (time >= targetRequest.startTime && requestEndTime - time > targetThreshold) { + if (time > targetRequest.startTime && requestEndTime - time > targetThreshold) { return time; - } // If target time is before the start of the request use request starttime - + } - if (time < targetRequest.startTime) { + if (!isNaN(targetRequest.startTime) && time < targetRequest.startTime && adjustedTime > targetRequest.startTime) { return targetRequest.startTime; } @@ -23603,6 +25396,19 @@ var DashConstants = /*#__PURE__*/function () { this.ORIGINAL_MPD_ID = 'mpdId'; this.WALL_CLOCK_TIME = 'wallClockTime'; this.PRESENTATION_TIME = 'presentationTime'; + this.LABEL = 'Label'; + this.GROUP_LABEL = 'GroupLabel'; + this.CONTENT_STEERING = 'ContentSteering'; + this.CONTENT_STEERING_AS_ARRAY = 'ContentSteering_asArray'; + this.DEFAULT_SERVICE_LOCATION = 'defaultServiceLocation'; + this.QUERY_BEFORE_START = 'queryBeforeStart'; + this.PROXY_SERVER_URL = 'proxyServerURL'; + this.CONTENT_STEERING_RESPONSE = { + VERSION: 'VERSION', + TTL: 'TTL', + RELOAD_URI: 'RELOAD-URI', + SERVICE_LOCATION_PRIORITY: 'SERVICE-LOCATION-PRIORITY' + }; } }]); @@ -23614,6 +25420,327 @@ var constants = new DashConstants(); /***/ }), +/***/ "./src/dash/controllers/ContentSteeringController.js": +/*!***********************************************************!*\ + !*** ./src/dash/controllers/ContentSteeringController.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _core_FactoryMaker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../core/FactoryMaker */ "./src/core/FactoryMaker.js"); +/* harmony import */ var _core_Debug__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../core/Debug */ "./src/core/Debug.js"); +/* harmony import */ var _streaming_net_URLLoader__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../streaming/net/URLLoader */ "./src/streaming/net/URLLoader.js"); +/* harmony import */ var _core_errors_Errors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../core/errors/Errors */ "./src/core/errors/Errors.js"); +/* harmony import */ var _vo_ContentSteeringRequest__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../vo/ContentSteeringRequest */ "./src/dash/vo/ContentSteeringRequest.js"); +/* harmony import */ var _vo_ContentSteeringResponse__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../vo/ContentSteeringResponse */ "./src/dash/vo/ContentSteeringResponse.js"); +/* harmony import */ var _constants_DashConstants__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../constants/DashConstants */ "./src/dash/constants/DashConstants.js"); +/* harmony import */ var _streaming_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../streaming/MediaPlayerEvents */ "./src/streaming/MediaPlayerEvents.js"); +/* harmony import */ var _core_events_Events__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../core/events/Events */ "./src/core/events/Events.js"); +/* harmony import */ var _streaming_constants_Constants__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../streaming/constants/Constants */ "./src/streaming/constants/Constants.js"); +/* harmony import */ var _core_Utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../core/Utils */ "./src/core/Utils.js"); +/* harmony import */ var _streaming_utils_URLUtils__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../streaming/utils/URLUtils */ "./src/streaming/utils/URLUtils.js"); +/** + * The copyright in this software is being made available under the BSD License, + * included below. This software may be subject to other third party and contributor + * rights, including patent rights, and no such rights are granted under this license. + * + * Copyright (c) 2013, Dash Industry Forum. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation and/or + * other materials provided with the distribution. + * * Neither the name of Dash Industry Forum nor the names of its + * contributors may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + + + + + + + + + + + + +var QUERY_PARAMETER_KEYS = { + THROUGHPUT: '_DASH_throughput', + PATHWAY: '_DASH_pathway', + URL: 'url' +}; + +function ContentSteeringController() { + var context = this.context; + var urlUtils = Object(_streaming_utils_URLUtils__WEBPACK_IMPORTED_MODULE_11__["default"])(context).getInstance(); + var instance, logger, currentSteeringResponseData, activeStreamInfo, currentSelectedServiceLocation, nextRequestTimer, urlLoader, errHandler, dashMetrics, mediaPlayerModel, manifestModel, requestModifier, abrController, eventBus, adapter; + + function setup() { + logger = Object(_core_Debug__WEBPACK_IMPORTED_MODULE_1__["default"])(context).getInstance().getLogger(instance); + + _resetInitialSettings(); + } + + function setConfig(config) { + if (!config) return; + + if (config.adapter) { + adapter = config.adapter; + } + + if (config.errHandler) { + errHandler = config.errHandler; + } + + if (config.dashMetrics) { + dashMetrics = config.dashMetrics; + } + + if (config.mediaPlayerModel) { + mediaPlayerModel = config.mediaPlayerModel; + } + + if (config.requestModifier) { + requestModifier = config.requestModifier; + } + + if (config.manifestModel) { + manifestModel = config.manifestModel; + } + + if (config.abrController) { + abrController = config.abrController; + } + + if (config.eventBus) { + eventBus = config.eventBus; + } + } + + function initialize() { + urlLoader = Object(_streaming_net_URLLoader__WEBPACK_IMPORTED_MODULE_2__["default"])(context).create({ + errHandler: errHandler, + dashMetrics: dashMetrics, + mediaPlayerModel: mediaPlayerModel, + requestModifier: requestModifier, + errors: _core_errors_Errors__WEBPACK_IMPORTED_MODULE_3__["default"] + }); + eventBus.on(_streaming_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_7__["default"].PERIOD_SWITCH_COMPLETED, _onPeriodSwitchCompleted, instance); + eventBus.on(_core_events_Events__WEBPACK_IMPORTED_MODULE_8__["default"].FRAGMENT_LOADING_STARTED, _onFragmentLoadingStarted, instance); + } + + function _onPeriodSwitchCompleted(e) { + if (e && e.toStreamInfo) { + activeStreamInfo = e.toStreamInfo; + } + } + + function _onFragmentLoadingStarted(e) { + if (e && e.request && e.request.serviceLocation) { + currentSelectedServiceLocation = e.request.serviceLocation; + } + } + + function getSteeringDataFromManifest() { + var manifest = manifestModel.getValue(); + return adapter.getContentSteering(manifest); + } + + function shouldQueryBeforeStart() { + var steeringDataFromManifest = getSteeringDataFromManifest(); + return steeringDataFromManifest && steeringDataFromManifest.queryBeforeStart; + } + + function loadSteeringData() { + return new Promise(function (resolve) { + try { + var steeringDataFromManifest = getSteeringDataFromManifest(); + + if (!steeringDataFromManifest || !steeringDataFromManifest.serverUrl) { + resolve(); + return; + } + + var url = _getSteeringServerUrl(steeringDataFromManifest); + + var request = new _vo_ContentSteeringRequest__WEBPACK_IMPORTED_MODULE_4__["default"](url); + urlLoader.load({ + request: request, + success: function success(data) { + _handleSteeringResponse(data); + + eventBus.trigger(_streaming_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_7__["default"].CONTENT_STEERING_REQUEST_COMPLETED, { + currentSteeringResponseData: currentSteeringResponseData, + url: url + }); + resolve(); + }, + error: function error(e) { + _handleSteeringResponseError(e); + + resolve(e); + } + }); + } catch (e) { + resolve(e); + } + }); + } + + function _getSteeringServerUrl(steeringDataFromManifest) { + var url = steeringDataFromManifest.proxyServerUrl ? steeringDataFromManifest.proxyServerUrl : steeringDataFromManifest.serverUrl; + + if (currentSteeringResponseData && currentSteeringResponseData.reloadUri) { + if (urlUtils.isRelative(currentSteeringResponseData.reloadUri)) { + url = urlUtils.resolve(currentSteeringResponseData.reloadUri, steeringDataFromManifest.serverUrl); + } else { + url = currentSteeringResponseData.reloadUri; + } + } + + var additionalQueryParameter = []; // Add throughput value to list of query parameters + + if (activeStreamInfo) { + var isDynamic = adapter.getIsDynamic(); + var mediaType = adapter.getAllMediaInfoForType(activeStreamInfo, _streaming_constants_Constants__WEBPACK_IMPORTED_MODULE_9__["default"].VIDEO).length > 0 ? _streaming_constants_Constants__WEBPACK_IMPORTED_MODULE_9__["default"].VIDEO : _streaming_constants_Constants__WEBPACK_IMPORTED_MODULE_9__["default"].AUDIO; + var throughputHistory = abrController.getThroughputHistory(); + var throughput = throughputHistory ? throughputHistory.getAverageThroughput(mediaType, isDynamic) : NaN; + + if (!isNaN(throughput)) { + additionalQueryParameter.push({ + key: QUERY_PARAMETER_KEYS.THROUGHPUT, + value: throughput * 1000 + }); + } + } // Ass pathway parameter/currently selected service location to list of query parameters + + + if (currentSelectedServiceLocation) { + additionalQueryParameter.push({ + key: QUERY_PARAMETER_KEYS.PATHWAY, + value: currentSelectedServiceLocation + }); + } // If we use the value in proxyServerUrl we add the original url as query parameter + + + if (steeringDataFromManifest.proxyServerUrl && steeringDataFromManifest.proxyServerUrl === url && steeringDataFromManifest.serverUrl) { + additionalQueryParameter.push({ + key: QUERY_PARAMETER_KEYS.URL, + value: encodeURI(steeringDataFromManifest.serverUrl) + }); + } + + url = _core_Utils__WEBPACK_IMPORTED_MODULE_10__["default"].addAditionalQueryParameterToUrl(url, additionalQueryParameter); + return url; + } + + function _handleSteeringResponse(data) { + if (!data || !data[_constants_DashConstants__WEBPACK_IMPORTED_MODULE_6__["default"].CONTENT_STEERING_RESPONSE.VERSION] || parseInt(data[_constants_DashConstants__WEBPACK_IMPORTED_MODULE_6__["default"].CONTENT_STEERING_RESPONSE.VERSION]) !== 1) { + return; + } // Update the data for other classes to use + + + currentSteeringResponseData = new _vo_ContentSteeringResponse__WEBPACK_IMPORTED_MODULE_5__["default"](); + currentSteeringResponseData.version = data[_constants_DashConstants__WEBPACK_IMPORTED_MODULE_6__["default"].CONTENT_STEERING_RESPONSE.VERSION]; + + if (data[_constants_DashConstants__WEBPACK_IMPORTED_MODULE_6__["default"].CONTENT_STEERING_RESPONSE.TTL] && !isNaN(data[_constants_DashConstants__WEBPACK_IMPORTED_MODULE_6__["default"].CONTENT_STEERING_RESPONSE.TTL])) { + currentSteeringResponseData.ttl = data[_constants_DashConstants__WEBPACK_IMPORTED_MODULE_6__["default"].CONTENT_STEERING_RESPONSE.TTL]; + } + + if (data[_constants_DashConstants__WEBPACK_IMPORTED_MODULE_6__["default"].CONTENT_STEERING_RESPONSE.RELOAD_URI]) { + currentSteeringResponseData.reloadUri = data[_constants_DashConstants__WEBPACK_IMPORTED_MODULE_6__["default"].CONTENT_STEERING_RESPONSE.RELOAD_URI]; + } + + if (data[_constants_DashConstants__WEBPACK_IMPORTED_MODULE_6__["default"].CONTENT_STEERING_RESPONSE.SERVICE_LOCATION_PRIORITY]) { + currentSteeringResponseData.serviceLocationPriority = data[_constants_DashConstants__WEBPACK_IMPORTED_MODULE_6__["default"].CONTENT_STEERING_RESPONSE.SERVICE_LOCATION_PRIORITY]; + } + + _startSteeringRequestTimer(); + } + + function _startSteeringRequestTimer() { + // Start timer for next request + if (currentSteeringResponseData && currentSteeringResponseData.ttl && !isNaN(currentSteeringResponseData.ttl)) { + if (nextRequestTimer) { + clearTimeout(nextRequestTimer); + } + + nextRequestTimer = setTimeout(function () { + loadSteeringData(); + }, currentSteeringResponseData.ttl * 1000); + } + } + + function stopSteeringRequestTimer() { + if (nextRequestTimer) { + clearTimeout(nextRequestTimer); + } + + nextRequestTimer = null; + } + + function _handleSteeringResponseError(e) { + logger.warn("Error fetching data from content steering server", e); + + _startSteeringRequestTimer(); + } + + function getCurrentSteeringResponseData() { + return currentSteeringResponseData; + } + + function reset() { + _resetInitialSettings(); + + eventBus.off(_streaming_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_7__["default"].PERIOD_SWITCH_COMPLETED, _onPeriodSwitchCompleted, instance); + eventBus.off(_core_events_Events__WEBPACK_IMPORTED_MODULE_8__["default"].FRAGMENT_LOADING_STARTED, _onFragmentLoadingStarted, instance); + } + + function _resetInitialSettings() { + currentSteeringResponseData = null; + activeStreamInfo = null; + currentSelectedServiceLocation = null; + stopSteeringRequestTimer(); + } + + instance = { + reset: reset, + setConfig: setConfig, + loadSteeringData: loadSteeringData, + getCurrentSteeringResponseData: getCurrentSteeringResponseData, + shouldQueryBeforeStart: shouldQueryBeforeStart, + getSteeringDataFromManifest: getSteeringDataFromManifest, + stopSteeringRequestTimer: stopSteeringRequestTimer, + initialize: initialize + }; + setup(); + return instance; +} + +ContentSteeringController.__dashjs_factory_name = 'ContentSteeringController'; +/* harmony default export */ __webpack_exports__["default"] = (_core_FactoryMaker__WEBPACK_IMPORTED_MODULE_0__["default"].getSingletonFactory(ContentSteeringController)); + +/***/ }), + /***/ "./src/dash/controllers/RepresentationController.js": /*!**********************************************************!*\ !*** ./src/dash/controllers/RepresentationController.js ***! @@ -24215,6 +26342,402 @@ var factory = _core_FactoryMaker__WEBPACK_IMPORTED_MODULE_0__["default"].getClas /***/ }), +/***/ "./src/dash/controllers/ServiceDescriptionController.js": +/*!**************************************************************!*\ + !*** ./src/dash/controllers/ServiceDescriptionController.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _core_FactoryMaker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../core/FactoryMaker */ "./src/core/FactoryMaker.js"); +/* harmony import */ var _core_Debug__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../core/Debug */ "./src/core/Debug.js"); +/* harmony import */ var _streaming_constants_Constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../streaming/constants/Constants */ "./src/streaming/constants/Constants.js"); +/* harmony import */ var _constants_DashConstants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../constants/DashConstants */ "./src/dash/constants/DashConstants.js"); +/** + * The copyright in this software is being made available under the BSD License, + * included below. This software may be subject to other third party and contributor + * rights, including patent rights, and no such rights are granted under this license. + * + * Copyright (c) 2013, Dash Industry Forum. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation and/or + * other materials provided with the distribution. + * * Neither the name of Dash Industry Forum nor the names of its + * contributors may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + + + + +var SUPPORTED_SCHEMES = [_streaming_constants_Constants__WEBPACK_IMPORTED_MODULE_2__["default"].SERVICE_DESCRIPTION_DVB_LL_SCHEME]; +var MEDIA_TYPES = { + VIDEO: 'video', + AUDIO: 'audio', + ANY: 'any', + ALL: 'all' +}; + +function ServiceDescriptionController() { + var context = this.context; + var instance, serviceDescriptionSettings, prftOffsets, logger, adapter; + + function setup() { + logger = Object(_core_Debug__WEBPACK_IMPORTED_MODULE_1__["default"])(context).getInstance().getLogger(instance); + + _resetInitialSettings(); + } + + function setConfig(config) { + if (!config) return; + + if (config.adapter) { + adapter = config.adapter; + } + } + + function reset() { + _resetInitialSettings(); + } + + function _resetInitialSettings() { + serviceDescriptionSettings = { + liveDelay: NaN, + liveCatchup: { + maxDrift: NaN, + playbackRate: NaN + }, + minBitrate: {}, + maxBitrate: {}, + initialBitrate: {} + }; + prftOffsets = []; + } + /** + * Returns the service description settings for latency, catchup and bandwidth + */ + + + function getServiceDescriptionSettings() { + return serviceDescriptionSettings; + } + /** + * Check for potential ServiceDescriptor elements in the MPD and update the settings accordingly + * @param {object} manifestInfo + * @private + */ + + + function applyServiceDescription(manifestInfo) { + if (!manifestInfo || !manifestInfo.serviceDescriptions) { + return; + } + + var supportedServiceDescriptions = manifestInfo.serviceDescriptions.filter(function (sd) { + return SUPPORTED_SCHEMES.includes(sd.schemeIdUri); + }); + var allClientsServiceDescriptions = manifestInfo.serviceDescriptions.filter(function (sd) { + return sd.schemeIdUri == null; + }); + var sd = supportedServiceDescriptions.length > 0 ? supportedServiceDescriptions[supportedServiceDescriptions.length - 1] : allClientsServiceDescriptions[allClientsServiceDescriptions.length - 1]; + if (!sd) return; + + if (sd.latency && sd.latency.target > 0) { + _applyServiceDescriptionLatency(sd); + } + + if (sd.playbackRate && sd.playbackRate.max > 1.0) { + _applyServiceDescriptionPlaybackRate(sd); + } + + if (sd.operatingQuality) { + _applyServiceDescriptionOperatingQuality(sd); + } + + if (sd.operatingBandwidth) { + _applyServiceDescriptionOperatingBandwidth(sd); + } + } + /** + * Adjust the latency targets for the service. + * @param {object} sd - service description element + * @private + */ + + + function _applyServiceDescriptionLatency(sd) { + var params; + + if (sd.schemeIdUri === _streaming_constants_Constants__WEBPACK_IMPORTED_MODULE_2__["default"].SERVICE_DESCRIPTION_DVB_LL_SCHEME) { + params = _getDvbServiceDescriptionLatencyParameters(sd); + } else { + params = _getStandardServiceDescriptionLatencyParameters(sd); + } + + if (prftOffsets.length > 0) { + var _calculateTimeOffset2 = _calculateTimeOffset(params), + to = _calculateTimeOffset2.to, + id = _calculateTimeOffset2.id; // TS 103 285 Clause 10.20.4. 3) Subtract calculated offset from Latency@target converted from milliseconds + // liveLatency does not consider ST@availabilityTimeOffset so leave out that step + // Since maxDrift is a difference rather than absolute it does not need offset applied + + + serviceDescriptionSettings.liveDelay = params.liveDelay - to; + serviceDescriptionSettings.liveCatchup.maxDrift = params.maxDrift; + logger.debug("\n Found latency properties coming from service description. Applied time offset of ".concat(to, " from ProducerReferenceTime element with id ").concat(id, ".\n Live Delay: ").concat(params.liveDelay - to, ", Live catchup max drift: ").concat(params.maxDrift, "\n ")); + } else { + serviceDescriptionSettings.liveDelay = params.liveDelay; + serviceDescriptionSettings.liveCatchup.maxDrift = params.maxDrift; + logger.debug("Found latency properties coming from service description: Live Delay: ".concat(params.liveDelay, ", Live catchup max drift: ").concat(params.maxDrift)); + } + } + /** + * Get default parameters for liveDelay,maxDrift + * @param {object} sd + * @return {{maxDrift: (number|undefined), liveDelay: number, referenceId: (number|undefined)}} + * @private + */ + + + function _getStandardServiceDescriptionLatencyParameters(sd) { + var liveDelay = sd.latency.target / 1000; + var maxDrift = !isNaN(sd.latency.max) && sd.latency.max > sd.latency.target ? (sd.latency.max - sd.latency.target + 500) / 1000 : NaN; + var referenceId = sd.latency.referenceId || NaN; + return { + liveDelay: liveDelay, + maxDrift: maxDrift, + referenceId: referenceId + }; + } + /** + * Get DVB DASH parameters for liveDelay,maxDrift + * @param sd + * @return {{maxDrift: (number|undefined), liveDelay: number, referenceId: (number|undefined)}} + * @private + */ + + + function _getDvbServiceDescriptionLatencyParameters(sd) { + var liveDelay = sd.latency.target / 1000; + var maxDrift = !isNaN(sd.latency.max) && sd.latency.max > sd.latency.target ? (sd.latency.max - sd.latency.target + 500) / 1000 : NaN; + var referenceId = sd.latency.referenceId || NaN; + return { + liveDelay: liveDelay, + maxDrift: maxDrift, + referenceId: referenceId + }; + } + /** + * Adjust the playback rate targets for the service + * @param {object} sd + * @private + */ + + + function _applyServiceDescriptionPlaybackRate(sd) { + var playbackRate = Math.round((sd.playbackRate.max - 1.0) * 1000) / 1000; + serviceDescriptionSettings.liveCatchup.playbackRate = playbackRate; + logger.debug("Found latency properties coming from service description: Live catchup playback rate: ".concat(playbackRate)); + } + /** + * Used to specify a quality ranking. We do not support this yet. + * @private + */ + + + function _applyServiceDescriptionOperatingQuality() { + return; + } + /** + * Adjust the operating quality targets for the service + * @param {object} sd + * @private + */ + + + function _applyServiceDescriptionOperatingBandwidth(sd) { + // Aggregation of media types is not supported yet + if (!sd || !sd.operatingBandwidth || !sd.operatingBandwidth.mediaType || sd.operatingBandwidth.mediaType === MEDIA_TYPES.ALL) { + return; + } + + var params = {}; + params.minBandwidth = sd.operatingBandwidth.min; + params.maxBandwidth = sd.operatingBandwidth.max; + params.targetBandwidth = sd.operatingBandwidth.target; + var mediaTypesToApply = []; + + if (sd.operatingBandwidth.mediaType === MEDIA_TYPES.VIDEO || sd.operatingBandwidth.mediaType === MEDIA_TYPES.AUDIO) { + mediaTypesToApply.push(sd.operatingBandwidth.mediaType); + } else if (sd.operatingBandwidth.mediaType === MEDIA_TYPES.ANY) { + mediaTypesToApply.push(MEDIA_TYPES.AUDIO); + mediaTypesToApply.push(MEDIA_TYPES.VIDEO); + } + + mediaTypesToApply.forEach(function (mediaType) { + if (!isNaN(params.minBandwidth)) { + _updateBandwidthSetting('minBitrate', mediaType, params.minBandwidth); + } + + if (!isNaN(params.maxBandwidth)) { + _updateBandwidthSetting('maxBitrate', mediaType, params.maxBandwidth); + } + + if (!isNaN(params.targetBandwidth)) { + _updateBandwidthSetting('initialBitrate', mediaType, params.targetBandwidth); + } + }); + } + /** + * Update the bandwidth settings vor a specific field and media type + * @param {string} field + * @param {string} mediaType + * @param {number} value + * @private + */ + + + function _updateBandwidthSetting(field, mediaType, value) { + try { + // Service description values are specified in bps. Settings expect the value in kbps + serviceDescriptionSettings[field][mediaType] = value / 1000; + } catch (e) { + logger.error(e); + } + } + /** + * Returns the current calculated time offsets based on ProducerReferenceTime elements + * @returns {array} + */ + + + function getProducerReferenceTimeOffsets() { + return prftOffsets; + } + /** + * Calculates an array of time offsets each with matching ProducerReferenceTime id. + * Call before applyServiceDescription if producer reference time elements should be considered. + * @param {array} streamInfos + * @returns {array} + * @private + */ + + + function calculateProducerReferenceTimeOffsets(streamInfos) { + try { + var timeOffsets = []; + + if (streamInfos && streamInfos.length > 0) { + var mediaTypes = [_streaming_constants_Constants__WEBPACK_IMPORTED_MODULE_2__["default"].VIDEO, _streaming_constants_Constants__WEBPACK_IMPORTED_MODULE_2__["default"].AUDIO, _streaming_constants_Constants__WEBPACK_IMPORTED_MODULE_2__["default"].TEXT]; + var astInSeconds = adapter.getAvailabilityStartTime() / 1000; + streamInfos.forEach(function (streamInfo) { + var offsets = mediaTypes.reduce(function (acc, mediaType) { + acc = acc.concat(adapter.getAllMediaInfoForType(streamInfo, mediaType)); + return acc; + }, []).reduce(function (acc, mediaInfo) { + var prts = adapter.getProducerReferenceTimes(streamInfo, mediaInfo); + prts.forEach(function (prt) { + var voRepresentations = adapter.getVoRepresentations(mediaInfo); + + if (voRepresentations && voRepresentations.length > 0 && voRepresentations[0].adaptation && voRepresentations[0].segmentInfoType === _constants_DashConstants__WEBPACK_IMPORTED_MODULE_3__["default"].SEGMENT_TEMPLATE) { + var voRep = voRepresentations[0]; + var d = new Date(prt[_constants_DashConstants__WEBPACK_IMPORTED_MODULE_3__["default"].WALL_CLOCK_TIME]); + var wallClockTime = d.getTime() / 1000; // TS 103 285 Clause 10.20.4 + // 1) Calculate PRT0 + // i) take the PRT@presentationTime and subtract any ST@presentationTimeOffset + // ii) convert this time to seconds by dividing by ST@timescale + // iii) Add this to start time of period that contains PRT. + // N.B presentationTimeOffset is already divided by timescale at this point + + var prt0 = wallClockTime - (prt[_constants_DashConstants__WEBPACK_IMPORTED_MODULE_3__["default"].PRESENTATION_TIME] / voRep[_constants_DashConstants__WEBPACK_IMPORTED_MODULE_3__["default"].TIMESCALE] - voRep[_constants_DashConstants__WEBPACK_IMPORTED_MODULE_3__["default"].PRESENTATION_TIME_OFFSET] + streamInfo.start); // 2) Calculate TO between PRT at the start of MPD timeline and the AST + + var to = astInSeconds - prt0; // 3) Not applicable as liveLatency does not consider ST@availabilityTimeOffset + + acc.push({ + id: prt[_constants_DashConstants__WEBPACK_IMPORTED_MODULE_3__["default"].ID], + to: to + }); + } + }); + return acc; + }, []); + timeOffsets = timeOffsets.concat(offsets); + }); + } + + prftOffsets = timeOffsets; + } catch (e) { + logger.error(e); + prftOffsets = []; + } + } + + ; + /** + * Calculates offset to apply to live delay as described in TS 103 285 Clause 10.20.4 + * @param {object} sdLatency - service description latency element + * @returns {number} + * @private + */ + + function _calculateTimeOffset(sdLatency) { + var to = 0, + id; + var offset = prftOffsets.filter(function (prt) { + return prt.id === sdLatency.referenceId; + }); // If only one ProducerReferenceTime to generate one TO, then use that regardless of matching ids + + if (offset.length === 0) { + to = prftOffsets.length > 0 ? prftOffsets[0].to : 0; + id = prftOffsets[0].id || NaN; + } else { + // If multiple id matches, use the first but this should be invalid + to = offset[0].to || 0; + id = offset[0].id || NaN; + } + + return { + to: to, + id: id + }; + } + + instance = { + getServiceDescriptionSettings: getServiceDescriptionSettings, + getProducerReferenceTimeOffsets: getProducerReferenceTimeOffsets, + calculateProducerReferenceTimeOffsets: calculateProducerReferenceTimeOffsets, + applyServiceDescription: applyServiceDescription, + reset: reset, + setConfig: setConfig + }; + setup(); + return instance; +} + +ServiceDescriptionController.__dashjs_factory_name = 'ServiceDescriptionController'; +/* harmony default export */ __webpack_exports__["default"] = (_core_FactoryMaker__WEBPACK_IMPORTED_MODULE_0__["default"].getSingletonFactory(ServiceDescriptionController)); + +/***/ }), + /***/ "./src/dash/models/DashManifestModel.js": /*!**********************************************!*\ !*** ./src/dash/models/DashManifestModel.js ***! @@ -24235,13 +26758,14 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _vo_BaseURL__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../vo/BaseURL */ "./src/dash/vo/BaseURL.js"); /* harmony import */ var _vo_EventStream__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../vo/EventStream */ "./src/dash/vo/EventStream.js"); /* harmony import */ var _vo_ProducerReferenceTime__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../vo/ProducerReferenceTime */ "./src/dash/vo/ProducerReferenceTime.js"); -/* harmony import */ var _streaming_utils_ObjectUtils__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../streaming/utils/ObjectUtils */ "./src/streaming/utils/ObjectUtils.js"); -/* harmony import */ var _streaming_utils_URLUtils__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../streaming/utils/URLUtils */ "./src/streaming/utils/URLUtils.js"); -/* harmony import */ var _core_FactoryMaker__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../core/FactoryMaker */ "./src/core/FactoryMaker.js"); -/* harmony import */ var _core_Debug__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../core/Debug */ "./src/core/Debug.js"); -/* harmony import */ var _streaming_vo_DashJSError__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../streaming/vo/DashJSError */ "./src/streaming/vo/DashJSError.js"); -/* harmony import */ var _core_errors_Errors__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../core/errors/Errors */ "./src/core/errors/Errors.js"); -/* harmony import */ var _streaming_thumbnail_ThumbnailTracks__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../streaming/thumbnail/ThumbnailTracks */ "./src/streaming/thumbnail/ThumbnailTracks.js"); +/* harmony import */ var _vo_ContentSteering__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../vo/ContentSteering */ "./src/dash/vo/ContentSteering.js"); +/* harmony import */ var _streaming_utils_ObjectUtils__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../streaming/utils/ObjectUtils */ "./src/streaming/utils/ObjectUtils.js"); +/* harmony import */ var _streaming_utils_URLUtils__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../streaming/utils/URLUtils */ "./src/streaming/utils/URLUtils.js"); +/* harmony import */ var _core_FactoryMaker__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../core/FactoryMaker */ "./src/core/FactoryMaker.js"); +/* harmony import */ var _core_Debug__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../core/Debug */ "./src/core/Debug.js"); +/* harmony import */ var _streaming_vo_DashJSError__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../streaming/vo/DashJSError */ "./src/streaming/vo/DashJSError.js"); +/* harmony import */ var _core_errors_Errors__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../core/errors/Errors */ "./src/core/errors/Errors.js"); +/* harmony import */ var _streaming_thumbnail_ThumbnailTracks__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../streaming/thumbnail/ThumbnailTracks */ "./src/streaming/thumbnail/ThumbnailTracks.js"); function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } @@ -24305,17 +26829,18 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len + function DashManifestModel() { var instance, logger, errHandler, BASE64; var context = this.context; - var urlUtils = Object(_streaming_utils_URLUtils__WEBPACK_IMPORTED_MODULE_12__["default"])(context).getInstance(); + var urlUtils = Object(_streaming_utils_URLUtils__WEBPACK_IMPORTED_MODULE_13__["default"])(context).getInstance(); var isInteger = Number.isInteger || function (value) { return typeof value === 'number' && isFinite(value) && Math.floor(value) === value; }; function setup() { - logger = Object(_core_Debug__WEBPACK_IMPORTED_MODULE_14__["default"])(context).getInstance().getLogger(instance); + logger = Object(_core_Debug__WEBPACK_IMPORTED_MODULE_15__["default"])(context).getInstance().getLogger(instance); } function getIsTypeOf(adaptation, type) { @@ -24331,7 +26856,7 @@ function DashManifestModel() { if (adaptation.Representation_asArray && adaptation.Representation_asArray.length) { var essentialProperties = getEssentialPropertiesForRepresentation(adaptation.Representation_asArray[0]); - if (essentialProperties && essentialProperties.length > 0 && _streaming_thumbnail_ThumbnailTracks__WEBPACK_IMPORTED_MODULE_17__["THUMBNAILS_SCHEME_ID_URIS"].indexOf(essentialProperties[0].schemeIdUri) >= 0) { + if (essentialProperties && essentialProperties.length > 0 && _streaming_thumbnail_ThumbnailTracks__WEBPACK_IMPORTED_MODULE_18__["THUMBNAILS_SCHEME_ID_URIS"].indexOf(essentialProperties[0].schemeIdUri) >= 0) { return type === _streaming_constants_Constants__WEBPACK_IMPORTED_MODULE_0__["default"].IMAGE; } } // Check ContentComponent.contentType @@ -24462,8 +26987,7 @@ function DashManifestModel() { var lang = ''; if (adaptation && adaptation.hasOwnProperty(_constants_DashConstants__WEBPACK_IMPORTED_MODULE_1__["default"].LANG)) { - //Filter out any other characters not allowed according to RFC5646 - lang = adaptation.lang.replace(/[^A-Za-z0-9-]/g, ''); + lang = adaptation.lang; } return lang; @@ -24552,7 +27076,7 @@ function DashManifestModel() { var realAdaptations = getRealAdaptations(manifest, periodIndex); for (var i = 0; i < realAdaptations.length; i++) { - var objectUtils = Object(_streaming_utils_ObjectUtils__WEBPACK_IMPORTED_MODULE_11__["default"])(context).getInstance(); + var objectUtils = Object(_streaming_utils_ObjectUtils__WEBPACK_IMPORTED_MODULE_12__["default"])(context).getInstance(); if (objectUtils.areEqual(realAdaptations[i], realAdaptation)) { return i; @@ -25120,7 +27644,7 @@ function DashManifestModel() { } else if (isDynamic) { periodEnd = Number.POSITIVE_INFINITY; } else { - errHandler.error(new _streaming_vo_DashJSError__WEBPACK_IMPORTED_MODULE_15__["default"](_core_errors_Errors__WEBPACK_IMPORTED_MODULE_16__["default"].MANIFEST_ERROR_ID_PARSE_CODE, 'Must have @mediaPresentationDuration on MPD or an explicit @duration on the last period.', voPeriod)); + errHandler.error(new _streaming_vo_DashJSError__WEBPACK_IMPORTED_MODULE_16__["default"](_core_errors_Errors__WEBPACK_IMPORTED_MODULE_17__["default"].MANIFEST_ERROR_ID_PARSE_CODE, 'Must have @mediaPresentationDuration on MPD or an explicit @duration on the last period.', voPeriod)); } return periodEnd; @@ -25378,6 +27902,31 @@ function DashManifestModel() { return baseUrls; } + function getContentSteering(manifest) { + if (manifest && manifest.hasOwnProperty(_constants_DashConstants__WEBPACK_IMPORTED_MODULE_1__["default"].CONTENT_STEERING_AS_ARRAY)) { + // Only one ContentSteering element is supported on MPD level + var element = manifest[_constants_DashConstants__WEBPACK_IMPORTED_MODULE_1__["default"].CONTENT_STEERING_AS_ARRAY][0]; + var entry = new _vo_ContentSteering__WEBPACK_IMPORTED_MODULE_11__["default"](); + entry.serverUrl = element.__text; + + if (element.hasOwnProperty(_constants_DashConstants__WEBPACK_IMPORTED_MODULE_1__["default"].DEFAULT_SERVICE_LOCATION)) { + entry.defaultServiceLocation = element[_constants_DashConstants__WEBPACK_IMPORTED_MODULE_1__["default"].DEFAULT_SERVICE_LOCATION]; + } + + if (element.hasOwnProperty(_constants_DashConstants__WEBPACK_IMPORTED_MODULE_1__["default"].QUERY_BEFORE_START)) { + entry.queryBeforeStart = element[_constants_DashConstants__WEBPACK_IMPORTED_MODULE_1__["default"].QUERY_BEFORE_START].toLowerCase() === 'true'; + } + + if (element.hasOwnProperty(_constants_DashConstants__WEBPACK_IMPORTED_MODULE_1__["default"].PROXY_SERVER_URL)) { + entry.proxyServerUrl = element[_constants_DashConstants__WEBPACK_IMPORTED_MODULE_1__["default"].PROXY_SERVER_URL]; + } + + return entry; + } + + return undefined; + } + function getLocation(manifest) { if (manifest && manifest.hasOwnProperty(_streaming_constants_Constants__WEBPACK_IMPORTED_MODULE_0__["default"].LOCATION)) { // for now, do not support multiple Locations - @@ -25565,6 +28114,7 @@ function DashManifestModel() { getUTCTimingSources: getUTCTimingSources, getBaseURLsFromElement: getBaseURLsFromElement, getRepresentationSortFunction: getRepresentationSortFunction, + getContentSteering: getContentSteering, getLocation: getLocation, getPatchLocation: getPatchLocation, getSuggestedPresentationDelay: getSuggestedPresentationDelay, @@ -25578,7 +28128,7 @@ function DashManifestModel() { } DashManifestModel.__dashjs_factory_name = 'DashManifestModel'; -/* harmony default export */ __webpack_exports__["default"] = (_core_FactoryMaker__WEBPACK_IMPORTED_MODULE_13__["default"].getSingletonFactory(DashManifestModel)); +/* harmony default export */ __webpack_exports__["default"] = (_core_FactoryMaker__WEBPACK_IMPORTED_MODULE_14__["default"].getSingletonFactory(DashManifestModel)); /***/ }), @@ -25757,8 +28307,9 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _matchers_DurationMatcher__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./matchers/DurationMatcher */ "./src/dash/parser/matchers/DurationMatcher.js"); /* harmony import */ var _matchers_DateTimeMatcher__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./matchers/DateTimeMatcher */ "./src/dash/parser/matchers/DateTimeMatcher.js"); /* harmony import */ var _matchers_NumericMatcher__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./matchers/NumericMatcher */ "./src/dash/parser/matchers/NumericMatcher.js"); -/* harmony import */ var _maps_RepresentationBaseValuesMap__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./maps/RepresentationBaseValuesMap */ "./src/dash/parser/maps/RepresentationBaseValuesMap.js"); -/* harmony import */ var _maps_SegmentValuesMap__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./maps/SegmentValuesMap */ "./src/dash/parser/maps/SegmentValuesMap.js"); +/* harmony import */ var _matchers_LangMatcher__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./matchers/LangMatcher */ "./src/dash/parser/matchers/LangMatcher.js"); +/* harmony import */ var _maps_RepresentationBaseValuesMap__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./maps/RepresentationBaseValuesMap */ "./src/dash/parser/maps/RepresentationBaseValuesMap.js"); +/* harmony import */ var _maps_SegmentValuesMap__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./maps/SegmentValuesMap */ "./src/dash/parser/maps/SegmentValuesMap.js"); /** * The copyright in this software is being made available under the BSD License, * included below. This software may be subject to other third party and contributor @@ -25799,6 +28350,7 @@ __webpack_require__.r(__webpack_exports__); + function DashParser(config) { config = config || {}; var context = this.context; @@ -25807,7 +28359,7 @@ function DashParser(config) { function setup() { logger = debug.getLogger(instance); - matchers = [new _matchers_DurationMatcher__WEBPACK_IMPORTED_MODULE_4__["default"](), new _matchers_DateTimeMatcher__WEBPACK_IMPORTED_MODULE_5__["default"](), new _matchers_NumericMatcher__WEBPACK_IMPORTED_MODULE_6__["default"](), new _matchers_StringMatcher__WEBPACK_IMPORTED_MODULE_3__["default"]() // last in list to take precedence over NumericMatcher + matchers = [new _matchers_DurationMatcher__WEBPACK_IMPORTED_MODULE_4__["default"](), new _matchers_DateTimeMatcher__WEBPACK_IMPORTED_MODULE_5__["default"](), new _matchers_NumericMatcher__WEBPACK_IMPORTED_MODULE_6__["default"](), new _matchers_LangMatcher__WEBPACK_IMPORTED_MODULE_7__["default"](), new _matchers_StringMatcher__WEBPACK_IMPORTED_MODULE_3__["default"]() // last in list to take precedence over NumericMatcher ]; converter = new _externals_xml2json__WEBPACK_IMPORTED_MODULE_2__["default"]({ escapeMode: false, @@ -25820,8 +28372,8 @@ function DashParser(config) { matchers: matchers }); objectIron = Object(_objectiron__WEBPACK_IMPORTED_MODULE_1__["default"])(context).create({ - adaptationset: new _maps_RepresentationBaseValuesMap__WEBPACK_IMPORTED_MODULE_7__["default"](), - period: new _maps_SegmentValuesMap__WEBPACK_IMPORTED_MODULE_8__["default"]() + adaptationset: new _maps_RepresentationBaseValuesMap__WEBPACK_IMPORTED_MODULE_8__["default"](), + period: new _maps_SegmentValuesMap__WEBPACK_IMPORTED_MODULE_9__["default"]() }); } @@ -26524,6 +29076,119 @@ var DurationMatcher = /*#__PURE__*/function (_BaseMatcher) { /***/ }), +/***/ "./src/dash/parser/matchers/LangMatcher.js": +/*!*************************************************!*\ + !*** ./src/dash/parser/matchers/LangMatcher.js ***! + \*************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _BaseMatcher__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BaseMatcher */ "./src/dash/parser/matchers/BaseMatcher.js"); +/* harmony import */ var _constants_DashConstants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../constants/DashConstants */ "./src/dash/constants/DashConstants.js"); +/* harmony import */ var bcp_47_normalize__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! bcp-47-normalize */ "./node_modules/bcp-47-normalize/index.js"); +/* harmony import */ var bcp_47_normalize__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(bcp_47_normalize__WEBPACK_IMPORTED_MODULE_2__); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +/** + * The copyright in this software is being made available under the BSD License, + * included below. This software may be subject to other third party and contributor + * rights, including patent rights, and no such rights are granted under this license. + * + * Copyright (c) 2013, Dash Industry Forum. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation and/or + * other materials provided with the distribution. + * * Neither the name of Dash Industry Forum nor the names of its + * contributors may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/** + * @classdesc Matches and converts any ISO 639 language tag to BCP-47 language tags + */ + + + + +var LangMatcher = /*#__PURE__*/function (_BaseMatcher) { + _inherits(LangMatcher, _BaseMatcher); + + var _super = _createSuper(LangMatcher); + + function LangMatcher() { + _classCallCheck(this, LangMatcher); + + return _super.call(this, function (attr, nodeName) { + var _stringAttrsInElement; + + var stringAttrsInElements = (_stringAttrsInElement = {}, _defineProperty(_stringAttrsInElement, _constants_DashConstants__WEBPACK_IMPORTED_MODULE_1__["default"].ADAPTATION_SET, [_constants_DashConstants__WEBPACK_IMPORTED_MODULE_1__["default"].LANG]), _defineProperty(_stringAttrsInElement, _constants_DashConstants__WEBPACK_IMPORTED_MODULE_1__["default"].REPRESENTATION, [_constants_DashConstants__WEBPACK_IMPORTED_MODULE_1__["default"].LANG]), _defineProperty(_stringAttrsInElement, _constants_DashConstants__WEBPACK_IMPORTED_MODULE_1__["default"].CONTENT_COMPONENT, [_constants_DashConstants__WEBPACK_IMPORTED_MODULE_1__["default"].LANG]), _defineProperty(_stringAttrsInElement, _constants_DashConstants__WEBPACK_IMPORTED_MODULE_1__["default"].LABEL, [_constants_DashConstants__WEBPACK_IMPORTED_MODULE_1__["default"].LANG]), _defineProperty(_stringAttrsInElement, _constants_DashConstants__WEBPACK_IMPORTED_MODULE_1__["default"].GROUP_LABEL, [_constants_DashConstants__WEBPACK_IMPORTED_MODULE_1__["default"].LANG]), _stringAttrsInElement); + + if (stringAttrsInElements.hasOwnProperty(nodeName)) { + var attrNames = stringAttrsInElements[nodeName]; + + if (attrNames !== undefined) { + return attrNames.indexOf(attr.name) >= 0; + } else { + return false; + } + } + + return false; + }, function (str) { + var lang = bcp_47_normalize__WEBPACK_IMPORTED_MODULE_2___default()(str); + + if (lang !== undefined) { + return lang; + } + + return String(str); + }); + } + + return LangMatcher; +}(_BaseMatcher__WEBPACK_IMPORTED_MODULE_0__["default"]); + +/* harmony default export */ __webpack_exports__["default"] = (LangMatcher); + +/***/ }), + /***/ "./src/dash/parser/matchers/NumericMatcher.js": /*!****************************************************!*\ !*** ./src/dash/parser/matchers/NumericMatcher.js ***! @@ -28413,6 +31078,185 @@ BaseURL.DEFAULT_DVB_WEIGHT = DEFAULT_DVB_WEIGHT; /***/ }), +/***/ "./src/dash/vo/ContentSteering.js": +/*!****************************************!*\ + !*** ./src/dash/vo/ContentSteering.js ***! + \****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +/** + * The copyright in this software is being made available under the BSD License, + * included below. This software may be subject to other third party and contributor + * rights, including patent rights, and no such rights are granted under this license. + * + * Copyright (c) 2013, Dash Industry Forum. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation and/or + * other materials provided with the distribution. + * * Neither the name of Dash Industry Forum nor the names of its + * contributors may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/** + * @class + * @ignore + */ +var ContentSteering = function ContentSteering() { + _classCallCheck(this, ContentSteering); + + this.defaultServiceLocation = null; + this.queryBeforeStart = false; + this.proxyServerUrl = null; + this.serverUrl = null; +}; + +/* harmony default export */ __webpack_exports__["default"] = (ContentSteering); + +/***/ }), + +/***/ "./src/dash/vo/ContentSteeringRequest.js": +/*!***********************************************!*\ + !*** ./src/dash/vo/ContentSteeringRequest.js ***! + \***********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _streaming_vo_metrics_HTTPRequest__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../streaming/vo/metrics/HTTPRequest */ "./src/streaming/vo/metrics/HTTPRequest.js"); +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +/** + * The copyright in this software is being made available under the BSD License, + * included below. This software may be subject to other third party and contributor + * rights, including patent rights, and no such rights are granted under this license. + * + * Copyright (c) 2013, Dash Industry Forum. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation and/or + * other materials provided with the distribution. + * * Neither the name of Dash Industry Forum nor the names of its + * contributors may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/** + * @class + * @ignore + */ + + +var ContentSteeringRequest = function ContentSteeringRequest(url) { + _classCallCheck(this, ContentSteeringRequest); + + this.url = url || null; + this.type = _streaming_vo_metrics_HTTPRequest__WEBPACK_IMPORTED_MODULE_0__["HTTPRequest"].CONTENT_STEERING_TYPE; + this.responseType = 'json'; +}; + +/* harmony default export */ __webpack_exports__["default"] = (ContentSteeringRequest); + +/***/ }), + +/***/ "./src/dash/vo/ContentSteeringResponse.js": +/*!************************************************!*\ + !*** ./src/dash/vo/ContentSteeringResponse.js ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +/** + * The copyright in this software is being made available under the BSD License, + * included below. This software may be subject to other third party and contributor + * rights, including patent rights, and no such rights are granted under this license. + * + * Copyright (c) 2013, Dash Industry Forum. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation and/or + * other materials provided with the distribution. + * * Neither the name of Dash Industry Forum nor the names of its + * contributors may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/** + * @class + * @ignore + */ +var ContentSteeringResponse = function ContentSteeringResponse() { + _classCallCheck(this, ContentSteeringResponse); + + this.version = null; + this.ttl = 300; + this.reloadUri = null; + this.serviceLocationPriority = []; +}; + +/* harmony default export */ __webpack_exports__["default"] = (ContentSteeringResponse); + +/***/ }), + /***/ "./src/dash/vo/Event.js": /*!******************************!*\ !*** ./src/dash/vo/Event.js ***! @@ -30241,46 +33085,47 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _controllers_StreamController__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./controllers/StreamController */ "./src/streaming/controllers/StreamController.js"); /* harmony import */ var _controllers_GapController__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./controllers/GapController */ "./src/streaming/controllers/GapController.js"); /* harmony import */ var _controllers_CatchupController__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./controllers/CatchupController */ "./src/streaming/controllers/CatchupController.js"); -/* harmony import */ var _controllers_ServiceDescriptionController__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./controllers/ServiceDescriptionController */ "./src/streaming/controllers/ServiceDescriptionController.js"); -/* harmony import */ var _controllers_MediaController__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./controllers/MediaController */ "./src/streaming/controllers/MediaController.js"); -/* harmony import */ var _controllers_BaseURLController__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./controllers/BaseURLController */ "./src/streaming/controllers/BaseURLController.js"); -/* harmony import */ var _ManifestLoader__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./ManifestLoader */ "./src/streaming/ManifestLoader.js"); -/* harmony import */ var _utils_ErrorHandler__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./utils/ErrorHandler */ "./src/streaming/utils/ErrorHandler.js"); -/* harmony import */ var _utils_Capabilities__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./utils/Capabilities */ "./src/streaming/utils/Capabilities.js"); -/* harmony import */ var _utils_CapabilitiesFilter__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./utils/CapabilitiesFilter */ "./src/streaming/utils/CapabilitiesFilter.js"); -/* harmony import */ var _utils_RequestModifier__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./utils/RequestModifier */ "./src/streaming/utils/RequestModifier.js"); -/* harmony import */ var _models_URIFragmentModel__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./models/URIFragmentModel */ "./src/streaming/models/URIFragmentModel.js"); -/* harmony import */ var _models_ManifestModel__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./models/ManifestModel */ "./src/streaming/models/ManifestModel.js"); -/* harmony import */ var _models_MediaPlayerModel__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./models/MediaPlayerModel */ "./src/streaming/models/MediaPlayerModel.js"); -/* harmony import */ var _controllers_AbrController__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./controllers/AbrController */ "./src/streaming/controllers/AbrController.js"); -/* harmony import */ var _net_SchemeLoaderFactory__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./net/SchemeLoaderFactory */ "./src/streaming/net/SchemeLoaderFactory.js"); -/* harmony import */ var _models_VideoModel__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./models/VideoModel */ "./src/streaming/models/VideoModel.js"); -/* harmony import */ var _models_CmcdModel__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./models/CmcdModel */ "./src/streaming/models/CmcdModel.js"); -/* harmony import */ var _utils_DOMStorage__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./utils/DOMStorage */ "./src/streaming/utils/DOMStorage.js"); -/* harmony import */ var _core_Debug__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./../core/Debug */ "./src/core/Debug.js"); -/* harmony import */ var _core_errors_Errors__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./../core/errors/Errors */ "./src/core/errors/Errors.js"); -/* harmony import */ var _core_EventBus__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./../core/EventBus */ "./src/core/EventBus.js"); -/* harmony import */ var _core_events_Events__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./../core/events/Events */ "./src/core/events/Events.js"); -/* harmony import */ var _MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./MediaPlayerEvents */ "./src/streaming/MediaPlayerEvents.js"); -/* harmony import */ var _core_FactoryMaker__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../core/FactoryMaker */ "./src/core/FactoryMaker.js"); -/* harmony import */ var _core_Settings__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../core/Settings */ "./src/core/Settings.js"); -/* harmony import */ var _core_Version__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ../core/Version */ "./src/core/Version.js"); -/* harmony import */ var _dash_controllers_SegmentBaseController__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ../dash/controllers/SegmentBaseController */ "./src/dash/controllers/SegmentBaseController.js"); -/* harmony import */ var _dash_DashAdapter__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ../dash/DashAdapter */ "./src/dash/DashAdapter.js"); -/* harmony import */ var _dash_DashMetrics__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ../dash/DashMetrics */ "./src/dash/DashMetrics.js"); -/* harmony import */ var _dash_utils_TimelineConverter__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ../dash/utils/TimelineConverter */ "./src/dash/utils/TimelineConverter.js"); -/* harmony import */ var _vo_metrics_HTTPRequest__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./vo/metrics/HTTPRequest */ "./src/streaming/vo/metrics/HTTPRequest.js"); -/* harmony import */ var _externals_base64__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ../../externals/base64 */ "./externals/base64.js"); -/* harmony import */ var _externals_base64__WEBPACK_IMPORTED_MODULE_37___default = /*#__PURE__*/__webpack_require__.n(_externals_base64__WEBPACK_IMPORTED_MODULE_37__); -/* harmony import */ var codem_isoboxer__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! codem-isoboxer */ "./node_modules/codem-isoboxer/dist/iso_boxer.js"); -/* harmony import */ var codem_isoboxer__WEBPACK_IMPORTED_MODULE_38___default = /*#__PURE__*/__webpack_require__.n(codem_isoboxer__WEBPACK_IMPORTED_MODULE_38__); -/* harmony import */ var _vo_DashJSError__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./vo/DashJSError */ "./src/streaming/vo/DashJSError.js"); -/* harmony import */ var _utils_SupervisorTools__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./utils/SupervisorTools */ "./src/streaming/utils/SupervisorTools.js"); -/* harmony import */ var _ManifestUpdater__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./ManifestUpdater */ "./src/streaming/ManifestUpdater.js"); -/* harmony import */ var _streaming_utils_URLUtils__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ../streaming/utils/URLUtils */ "./src/streaming/utils/URLUtils.js"); -/* harmony import */ var _utils_BoxParser__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./utils/BoxParser */ "./src/streaming/utils/BoxParser.js"); -/* harmony import */ var _text_TextController__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./text/TextController */ "./src/streaming/text/TextController.js"); -/* harmony import */ var _models_CustomParametersModel__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./models/CustomParametersModel */ "./src/streaming/models/CustomParametersModel.js"); +/* harmony import */ var _dash_controllers_ServiceDescriptionController__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../dash/controllers/ServiceDescriptionController */ "./src/dash/controllers/ServiceDescriptionController.js"); +/* harmony import */ var _dash_controllers_ContentSteeringController__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../dash/controllers/ContentSteeringController */ "./src/dash/controllers/ContentSteeringController.js"); +/* harmony import */ var _controllers_MediaController__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./controllers/MediaController */ "./src/streaming/controllers/MediaController.js"); +/* harmony import */ var _controllers_BaseURLController__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./controllers/BaseURLController */ "./src/streaming/controllers/BaseURLController.js"); +/* harmony import */ var _ManifestLoader__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./ManifestLoader */ "./src/streaming/ManifestLoader.js"); +/* harmony import */ var _utils_ErrorHandler__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./utils/ErrorHandler */ "./src/streaming/utils/ErrorHandler.js"); +/* harmony import */ var _utils_Capabilities__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./utils/Capabilities */ "./src/streaming/utils/Capabilities.js"); +/* harmony import */ var _utils_CapabilitiesFilter__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./utils/CapabilitiesFilter */ "./src/streaming/utils/CapabilitiesFilter.js"); +/* harmony import */ var _utils_RequestModifier__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./utils/RequestModifier */ "./src/streaming/utils/RequestModifier.js"); +/* harmony import */ var _models_URIFragmentModel__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./models/URIFragmentModel */ "./src/streaming/models/URIFragmentModel.js"); +/* harmony import */ var _models_ManifestModel__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./models/ManifestModel */ "./src/streaming/models/ManifestModel.js"); +/* harmony import */ var _models_MediaPlayerModel__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./models/MediaPlayerModel */ "./src/streaming/models/MediaPlayerModel.js"); +/* harmony import */ var _controllers_AbrController__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./controllers/AbrController */ "./src/streaming/controllers/AbrController.js"); +/* harmony import */ var _net_SchemeLoaderFactory__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./net/SchemeLoaderFactory */ "./src/streaming/net/SchemeLoaderFactory.js"); +/* harmony import */ var _models_VideoModel__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./models/VideoModel */ "./src/streaming/models/VideoModel.js"); +/* harmony import */ var _models_CmcdModel__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./models/CmcdModel */ "./src/streaming/models/CmcdModel.js"); +/* harmony import */ var _utils_DOMStorage__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./utils/DOMStorage */ "./src/streaming/utils/DOMStorage.js"); +/* harmony import */ var _core_Debug__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./../core/Debug */ "./src/core/Debug.js"); +/* harmony import */ var _core_errors_Errors__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./../core/errors/Errors */ "./src/core/errors/Errors.js"); +/* harmony import */ var _core_EventBus__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./../core/EventBus */ "./src/core/EventBus.js"); +/* harmony import */ var _core_events_Events__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./../core/events/Events */ "./src/core/events/Events.js"); +/* harmony import */ var _MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./MediaPlayerEvents */ "./src/streaming/MediaPlayerEvents.js"); +/* harmony import */ var _core_FactoryMaker__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../core/FactoryMaker */ "./src/core/FactoryMaker.js"); +/* harmony import */ var _core_Settings__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ../core/Settings */ "./src/core/Settings.js"); +/* harmony import */ var _core_Version__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ../core/Version */ "./src/core/Version.js"); +/* harmony import */ var _dash_controllers_SegmentBaseController__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ../dash/controllers/SegmentBaseController */ "./src/dash/controllers/SegmentBaseController.js"); +/* harmony import */ var _dash_DashAdapter__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ../dash/DashAdapter */ "./src/dash/DashAdapter.js"); +/* harmony import */ var _dash_DashMetrics__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ../dash/DashMetrics */ "./src/dash/DashMetrics.js"); +/* harmony import */ var _dash_utils_TimelineConverter__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ../dash/utils/TimelineConverter */ "./src/dash/utils/TimelineConverter.js"); +/* harmony import */ var _vo_metrics_HTTPRequest__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./vo/metrics/HTTPRequest */ "./src/streaming/vo/metrics/HTTPRequest.js"); +/* harmony import */ var _externals_base64__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ../../externals/base64 */ "./externals/base64.js"); +/* harmony import */ var _externals_base64__WEBPACK_IMPORTED_MODULE_38___default = /*#__PURE__*/__webpack_require__.n(_externals_base64__WEBPACK_IMPORTED_MODULE_38__); +/* harmony import */ var codem_isoboxer__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! codem-isoboxer */ "./node_modules/codem-isoboxer/dist/iso_boxer.js"); +/* harmony import */ var codem_isoboxer__WEBPACK_IMPORTED_MODULE_39___default = /*#__PURE__*/__webpack_require__.n(codem_isoboxer__WEBPACK_IMPORTED_MODULE_39__); +/* harmony import */ var _vo_DashJSError__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./vo/DashJSError */ "./src/streaming/vo/DashJSError.js"); +/* harmony import */ var _utils_SupervisorTools__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./utils/SupervisorTools */ "./src/streaming/utils/SupervisorTools.js"); +/* harmony import */ var _ManifestUpdater__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./ManifestUpdater */ "./src/streaming/ManifestUpdater.js"); +/* harmony import */ var _streaming_utils_URLUtils__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ../streaming/utils/URLUtils */ "./src/streaming/utils/URLUtils.js"); +/* harmony import */ var _utils_BoxParser__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./utils/BoxParser */ "./src/streaming/utils/BoxParser.js"); +/* harmony import */ var _text_TextController__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./text/TextController */ "./src/streaming/text/TextController.js"); +/* harmony import */ var _models_CustomParametersModel__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./models/CustomParametersModel */ "./src/streaming/models/CustomParametersModel.js"); /** * The copyright in this software is being made available under the BSD License, * included below. This software may be subject to other third party and contributor @@ -30340,6 +33185,7 @@ __webpack_require__.r(__webpack_exports__); + //Dash @@ -30401,12 +33247,12 @@ function MediaPlayer() { var MEDIA_PLAYER_NOT_INITIALIZED_ERROR = 'MediaPlayer not initialized!'; var context = this.context; - var eventBus = Object(_core_EventBus__WEBPACK_IMPORTED_MODULE_26__["default"])(context).getInstance(); - var settings = Object(_core_Settings__WEBPACK_IMPORTED_MODULE_30__["default"])(context).getInstance(); - var debug = Object(_core_Debug__WEBPACK_IMPORTED_MODULE_24__["default"])(context).getInstance({ + var eventBus = Object(_core_EventBus__WEBPACK_IMPORTED_MODULE_27__["default"])(context).getInstance(); + var settings = Object(_core_Settings__WEBPACK_IMPORTED_MODULE_31__["default"])(context).getInstance(); + var debug = Object(_core_Debug__WEBPACK_IMPORTED_MODULE_25__["default"])(context).getInstance({ settings: settings }); - var instance, logger, source, protectionData, mediaPlayerInitialized, streamingInitialized, playbackInitialized, autoPlay, abrController, schemeLoaderFactory, timelineConverter, mediaController, protectionController, metricsReportingController, mssHandler, offlineController, adapter, mediaPlayerModel, customParametersModel, errHandler, baseURLController, capabilities, capabilitiesFilter, streamController, textController, gapController, playbackController, serviceDescriptionController, catchupController, dashMetrics, manifestModel, cmcdModel, videoModel, uriFragmentModel, domStorage, segmentBaseController; + var instance, logger, source, protectionData, mediaPlayerInitialized, streamingInitialized, playbackInitialized, autoPlay, abrController, schemeLoaderFactory, timelineConverter, mediaController, protectionController, metricsReportingController, mssHandler, offlineController, adapter, mediaPlayerModel, customParametersModel, errHandler, baseURLController, capabilities, capabilitiesFilter, streamController, textController, gapController, playbackController, serviceDescriptionController, contentSteeringController, catchupController, dashMetrics, manifestModel, cmcdModel, videoModel, uriFragmentModel, domStorage, segmentBaseController; /* --------------------------------------------------------------------------- INIT FUNCTIONS @@ -30424,11 +33270,11 @@ function MediaPlayer() { protectionData = null; adapter = null; segmentBaseController = null; - _core_events_Events__WEBPACK_IMPORTED_MODULE_27__["default"].extend(_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_28__["default"]); - mediaPlayerModel = Object(_models_MediaPlayerModel__WEBPACK_IMPORTED_MODULE_18__["default"])(context).getInstance(); - customParametersModel = Object(_models_CustomParametersModel__WEBPACK_IMPORTED_MODULE_45__["default"])(context).getInstance(); - videoModel = Object(_models_VideoModel__WEBPACK_IMPORTED_MODULE_21__["default"])(context).getInstance(); - uriFragmentModel = Object(_models_URIFragmentModel__WEBPACK_IMPORTED_MODULE_16__["default"])(context).getInstance(); + _core_events_Events__WEBPACK_IMPORTED_MODULE_28__["default"].extend(_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_29__["default"]); + mediaPlayerModel = Object(_models_MediaPlayerModel__WEBPACK_IMPORTED_MODULE_19__["default"])(context).getInstance(); + customParametersModel = Object(_models_CustomParametersModel__WEBPACK_IMPORTED_MODULE_46__["default"])(context).getInstance(); + videoModel = Object(_models_VideoModel__WEBPACK_IMPORTED_MODULE_22__["default"])(context).getInstance(); + uriFragmentModel = Object(_models_URIFragmentModel__WEBPACK_IMPORTED_MODULE_17__["default"])(context).getInstance(); } /** * Configure media player with customs controllers. Helpful for tests @@ -30472,6 +33318,10 @@ function MediaPlayer() { serviceDescriptionController = config.serviceDescriptionController; } + if (config.contentSteeringController) { + contentSteeringController = config.contentSteeringController; + } + if (config.catchupController) { catchupController = config.catchupController; } @@ -30526,35 +33376,35 @@ function MediaPlayer() { var startTime = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : NaN; if (!capabilities) { - capabilities = Object(_utils_Capabilities__WEBPACK_IMPORTED_MODULE_13__["default"])(context).getInstance(); + capabilities = Object(_utils_Capabilities__WEBPACK_IMPORTED_MODULE_14__["default"])(context).getInstance(); capabilities.setConfig({ settings: settings }); } if (!errHandler) { - errHandler = Object(_utils_ErrorHandler__WEBPACK_IMPORTED_MODULE_12__["default"])(context).getInstance(); + errHandler = Object(_utils_ErrorHandler__WEBPACK_IMPORTED_MODULE_13__["default"])(context).getInstance(); } if (!capabilities.supportsMediaSource()) { - errHandler.error(new _vo_DashJSError__WEBPACK_IMPORTED_MODULE_39__["default"](_core_errors_Errors__WEBPACK_IMPORTED_MODULE_25__["default"].CAPABILITY_MEDIASOURCE_ERROR_CODE, _core_errors_Errors__WEBPACK_IMPORTED_MODULE_25__["default"].CAPABILITY_MEDIASOURCE_ERROR_MESSAGE)); + errHandler.error(new _vo_DashJSError__WEBPACK_IMPORTED_MODULE_40__["default"](_core_errors_Errors__WEBPACK_IMPORTED_MODULE_26__["default"].CAPABILITY_MEDIASOURCE_ERROR_CODE, _core_errors_Errors__WEBPACK_IMPORTED_MODULE_26__["default"].CAPABILITY_MEDIASOURCE_ERROR_MESSAGE)); return; } if (!mediaPlayerInitialized) { mediaPlayerInitialized = true; // init some controllers and models - timelineConverter = Object(_dash_utils_TimelineConverter__WEBPACK_IMPORTED_MODULE_35__["default"])(context).getInstance(); + timelineConverter = Object(_dash_utils_TimelineConverter__WEBPACK_IMPORTED_MODULE_36__["default"])(context).getInstance(); if (!abrController) { - abrController = Object(_controllers_AbrController__WEBPACK_IMPORTED_MODULE_19__["default"])(context).getInstance(); + abrController = Object(_controllers_AbrController__WEBPACK_IMPORTED_MODULE_20__["default"])(context).getInstance(); abrController.setConfig({ settings: settings }); } if (!schemeLoaderFactory) { - schemeLoaderFactory = Object(_net_SchemeLoaderFactory__WEBPACK_IMPORTED_MODULE_20__["default"])(context).getInstance(); + schemeLoaderFactory = Object(_net_SchemeLoaderFactory__WEBPACK_IMPORTED_MODULE_21__["default"])(context).getInstance(); } if (!playbackController) { @@ -30562,7 +33412,7 @@ function MediaPlayer() { } if (!mediaController) { - mediaController = Object(_controllers_MediaController__WEBPACK_IMPORTED_MODULE_9__["default"])(context).getInstance(); + mediaController = Object(_controllers_MediaController__WEBPACK_IMPORTED_MODULE_10__["default"])(context).getInstance(); } if (!streamController) { @@ -30578,31 +33428,35 @@ function MediaPlayer() { } if (!serviceDescriptionController) { - serviceDescriptionController = Object(_controllers_ServiceDescriptionController__WEBPACK_IMPORTED_MODULE_8__["default"])(context).getInstance(); + serviceDescriptionController = Object(_dash_controllers_ServiceDescriptionController__WEBPACK_IMPORTED_MODULE_8__["default"])(context).getInstance(); + } + + if (!contentSteeringController) { + contentSteeringController = Object(_dash_controllers_ContentSteeringController__WEBPACK_IMPORTED_MODULE_9__["default"])(context).getInstance(); } if (!capabilitiesFilter) { - capabilitiesFilter = Object(_utils_CapabilitiesFilter__WEBPACK_IMPORTED_MODULE_14__["default"])(context).getInstance(); + capabilitiesFilter = Object(_utils_CapabilitiesFilter__WEBPACK_IMPORTED_MODULE_15__["default"])(context).getInstance(); } - adapter = Object(_dash_DashAdapter__WEBPACK_IMPORTED_MODULE_33__["default"])(context).getInstance(); - manifestModel = Object(_models_ManifestModel__WEBPACK_IMPORTED_MODULE_17__["default"])(context).getInstance(); - cmcdModel = Object(_models_CmcdModel__WEBPACK_IMPORTED_MODULE_22__["default"])(context).getInstance(); - dashMetrics = Object(_dash_DashMetrics__WEBPACK_IMPORTED_MODULE_34__["default"])(context).getInstance({ + adapter = Object(_dash_DashAdapter__WEBPACK_IMPORTED_MODULE_34__["default"])(context).getInstance(); + manifestModel = Object(_models_ManifestModel__WEBPACK_IMPORTED_MODULE_18__["default"])(context).getInstance(); + cmcdModel = Object(_models_CmcdModel__WEBPACK_IMPORTED_MODULE_23__["default"])(context).getInstance(); + dashMetrics = Object(_dash_DashMetrics__WEBPACK_IMPORTED_MODULE_35__["default"])(context).getInstance({ settings: settings }); - domStorage = Object(_utils_DOMStorage__WEBPACK_IMPORTED_MODULE_23__["default"])(context).getInstance({ + domStorage = Object(_utils_DOMStorage__WEBPACK_IMPORTED_MODULE_24__["default"])(context).getInstance({ settings: settings }); adapter.setConfig({ constants: _constants_Constants__WEBPACK_IMPORTED_MODULE_1__["default"], cea608parser: _externals_cea608_parser__WEBPACK_IMPORTED_MODULE_0___default.a, errHandler: errHandler, - BASE64: _externals_base64__WEBPACK_IMPORTED_MODULE_37___default.a + BASE64: _externals_base64__WEBPACK_IMPORTED_MODULE_38___default.a }); if (!baseURLController) { - baseURLController = Object(_controllers_BaseURLController__WEBPACK_IMPORTED_MODULE_10__["default"])(context).create(); + baseURLController = Object(_controllers_BaseURLController__WEBPACK_IMPORTED_MODULE_11__["default"])(context).create(); } baseURLController.setConfig({ @@ -30613,17 +33467,17 @@ function MediaPlayer() { }); if (!segmentBaseController) { - segmentBaseController = Object(_dash_controllers_SegmentBaseController__WEBPACK_IMPORTED_MODULE_32__["default"])(context).getInstance({ + segmentBaseController = Object(_dash_controllers_SegmentBaseController__WEBPACK_IMPORTED_MODULE_33__["default"])(context).getInstance({ dashMetrics: dashMetrics, mediaPlayerModel: mediaPlayerModel, errHandler: errHandler, baseURLController: baseURLController, - events: _core_events_Events__WEBPACK_IMPORTED_MODULE_27__["default"], + events: _core_events_Events__WEBPACK_IMPORTED_MODULE_28__["default"], eventBus: eventBus, debug: debug, - boxParser: Object(_utils_BoxParser__WEBPACK_IMPORTED_MODULE_43__["default"])(context).getInstance(), - requestModifier: Object(_utils_RequestModifier__WEBPACK_IMPORTED_MODULE_15__["default"])(context).getInstance(), - errors: _core_errors_Errors__WEBPACK_IMPORTED_MODULE_25__["default"] + boxParser: Object(_utils_BoxParser__WEBPACK_IMPORTED_MODULE_44__["default"])(context).getInstance(), + requestModifier: Object(_utils_RequestModifier__WEBPACK_IMPORTED_MODULE_16__["default"])(context).getInstance(), + errors: _core_errors_Errors__WEBPACK_IMPORTED_MODULE_26__["default"] }); } // configure controllers @@ -30701,7 +33555,7 @@ function MediaPlayer() { function destroy() { reset(); - _core_FactoryMaker__WEBPACK_IMPORTED_MODULE_29__["default"].deleteSingletonInstances(context); + _core_FactoryMaker__WEBPACK_IMPORTED_MODULE_30__["default"].deleteSingletonInstances(context); } /** * The ready state of the MediaPlayer based on both the video element and MPD source being defined. @@ -30755,7 +33609,7 @@ function MediaPlayer() { function getVersion() { - return Object(_core_Version__WEBPACK_IMPORTED_MODULE_31__["getVersionString"])(); + return Object(_core_Version__WEBPACK_IMPORTED_MODULE_32__["getVersionString"])(); } /** * Use this method to access the dash.js logging class. @@ -30792,7 +33646,7 @@ function MediaPlayer() { } if (!autoPlay || isPaused() && playbackInitialized) { - playbackController.play(); + playbackController.play(true); } } /** @@ -30831,7 +33685,8 @@ function MediaPlayer() { * Sets the currentTime property of the attached video element. If it is a live stream with a * timeShiftBufferLength, then the DVR window offset will be automatically calculated. * - * @param {number} value - A relative time, in seconds, based on the return value of the {@link module:MediaPlayer#duration duration()} method is expected + * @param {number} value - A relative time, in seconds, based on the return value of the {@link module:MediaPlayer#duration duration()} method is expected. + * For dynamic streams duration() returns DVRWindow.end - DVRWindow.start. Consequently, the value provided to this function should be relative to DVRWindow.start. * @see {@link module:MediaPlayer#getDVRSeekOffset getDVRSeekOffset()} * @throws {@link module:MediaPlayer~PLAYBACK_NOT_INITIALIZED_ERROR PLAYBACK_NOT_INITIALIZED_ERROR} if called before initializePlayback function * @throws {@link Constants#BAD_ARGUMENT_ERROR BAD_ARGUMENT_ERROR} if called with an invalid argument, not number type or is NaN. @@ -30845,14 +33700,26 @@ function MediaPlayer() { throw PLAYBACK_NOT_INITIALIZED_ERROR; } - Object(_utils_SupervisorTools__WEBPACK_IMPORTED_MODULE_40__["checkParameterType"])(value, 'number'); + Object(_utils_SupervisorTools__WEBPACK_IMPORTED_MODULE_41__["checkParameterType"])(value, 'number'); if (isNaN(value)) { throw _constants_Constants__WEBPACK_IMPORTED_MODULE_1__["default"].BAD_ARGUMENT_ERROR; } var s = playbackController.getIsDynamic() ? getDVRSeekOffset(value) : value; - playbackController.seek(s); + playbackController.seek(s, false, false, true); + } + /** + * Seeks back to the original live edge (live edge as calculated at playback start). Only applies to live streams, for VoD streams this call will be ignored. + */ + + + function seekToOriginalLive() { + if (!playbackInitialized || !isDynamic()) { + return; + } + + playbackController.seekToOriginalLive(); } /** * Returns a Boolean that indicates whether the media is in the process of seeking to a new position. @@ -30933,7 +33800,7 @@ function MediaPlayer() { function setMute(value) { - Object(_utils_SupervisorTools__WEBPACK_IMPORTED_MODULE_40__["checkParameterType"])(value, 'boolean'); + Object(_utils_SupervisorTools__WEBPACK_IMPORTED_MODULE_41__["checkParameterType"])(value, 'boolean'); getVideoElement().muted = value; } /** @@ -31052,7 +33919,7 @@ function MediaPlayer() { return 0; } - var liveDelay = playbackController.getLiveDelay(); + var liveDelay = playbackController.getOriginalLiveDelay(); var val = metric.range.start + value; if (val > metric.range.end - liveDelay) { @@ -31074,7 +33941,7 @@ function MediaPlayer() { throw PLAYBACK_NOT_INITIALIZED_ERROR; } - return playbackController.getLiveDelay(); + return playbackController.getOriginalLiveDelay(); } /** * Current time of the playhead, in seconds. @@ -31303,7 +34170,7 @@ function MediaPlayer() { function setAutoPlay(value) { - Object(_utils_SupervisorTools__WEBPACK_IMPORTED_MODULE_40__["checkParameterType"])(value, 'boolean'); + Object(_utils_SupervisorTools__WEBPACK_IMPORTED_MODULE_41__["checkParameterType"])(value, 'boolean'); autoPlay = value; } /** @@ -31833,7 +34700,7 @@ function MediaPlayer() { /** * This method allows to set media settings that will be used to pick the initial track. Format of the settings * is following:
- * {lang: langValue (can be either a string or a regex to match), + * {lang: langValue (can be either a string primitive, a string object, or a RegExp object to match), * index: indexValue, * viewpoint: viewpointValue, * audioChannelConfiguration: audioChannelConfigurationValue, @@ -32109,11 +34976,11 @@ function MediaPlayer() { callback(null, e.error); } - eventBus.off(_core_events_Events__WEBPACK_IMPORTED_MODULE_27__["default"].INTERNAL_MANIFEST_LOADED, handler, self); + eventBus.off(_core_events_Events__WEBPACK_IMPORTED_MODULE_28__["default"].INTERNAL_MANIFEST_LOADED, handler, self); manifestLoader.reset(); }; - eventBus.on(_core_events_Events__WEBPACK_IMPORTED_MODULE_27__["default"].INTERNAL_MANIFEST_LOADED, handler, self); + eventBus.on(_core_events_Events__WEBPACK_IMPORTED_MODULE_28__["default"].INTERNAL_MANIFEST_LOADED, handler, self); uriFragmentModel.initialize(url); manifestLoader.load(url); } @@ -32298,7 +35165,7 @@ function MediaPlayer() { function extend(parentNameString, childInstance, override) { - _core_FactoryMaker__WEBPACK_IMPORTED_MODULE_29__["default"].extend(parentNameString, childInstance, override, context); + _core_FactoryMaker__WEBPACK_IMPORTED_MODULE_30__["default"].extend(parentNameString, childInstance, override, context); } /** * This method returns the active stream @@ -32329,6 +35196,28 @@ function MediaPlayer() { function getDashAdapter() { return adapter; + } + /** + * Triggers a request to the content steering server to update the steering information. + * @return {Promise} + */ + + + function triggerSteeringRequest() { + if (contentSteeringController) { + return contentSteeringController.loadSteeringData(); + } + } + /** + * Returns the current response data of the content steering server + * @return {object} + */ + + + function getCurrentSteeringResponseData() { + if (contentSteeringController) { + return contentSteeringController.getCurrentSteeringResponseData(); + } } //*********************************** // PRIVATE METHODS //*********************************** @@ -32343,6 +35232,7 @@ function MediaPlayer() { catchupController.reset(); playbackController.reset(); serviceDescriptionController.reset(); + contentSteeringController.reset(); abrController.reset(); mediaController.reset(); segmentBaseController.reset(); @@ -32371,7 +35261,7 @@ function MediaPlayer() { } if (!textController) { - textController = Object(_text_TextController__WEBPACK_IMPORTED_MODULE_44__["default"])(context).create({ + textController = Object(_text_TextController__WEBPACK_IMPORTED_MODULE_45__["default"])(context).create({ errHandler: errHandler, manifestModel: manifestModel, adapter: adapter, @@ -32405,6 +35295,7 @@ function MediaPlayer() { videoModel: videoModel, playbackController: playbackController, serviceDescriptionController: serviceDescriptionController, + contentSteeringController: contentSteeringController, abrController: abrController, mediaController: mediaController, settings: settings, @@ -32433,7 +35324,6 @@ function MediaPlayer() { streamController: streamController, playbackController: playbackController, mediaPlayerModel: mediaPlayerModel, - dashMetrics: dashMetrics, videoModel: videoModel, settings: settings }); @@ -32451,6 +35341,16 @@ function MediaPlayer() { abrController: abrController, dashMetrics: dashMetrics, playbackController: playbackController + }); + contentSteeringController.setConfig({ + adapter: adapter, + errHandler: errHandler, + dashMetrics: dashMetrics, + mediaPlayerModel: mediaPlayerModel, + manifestModel: manifestModel, + abrController: abrController, + eventBus: eventBus, + requestModifier: Object(_utils_RequestModifier__WEBPACK_IMPORTED_MODULE_16__["default"])(context).getInstance() }); // initialises controller abrController.initialize(); @@ -32459,16 +35359,17 @@ function MediaPlayer() { gapController.initialize(); catchupController.initialize(); cmcdModel.initialize(); + contentSteeringController.initialize(); segmentBaseController.initialize(); } function _createManifestLoader() { - return Object(_ManifestLoader__WEBPACK_IMPORTED_MODULE_11__["default"])(context).create({ + return Object(_ManifestLoader__WEBPACK_IMPORTED_MODULE_12__["default"])(context).create({ debug: debug, errHandler: errHandler, dashMetrics: dashMetrics, mediaPlayerModel: mediaPlayerModel, - requestModifier: Object(_utils_RequestModifier__WEBPACK_IMPORTED_MODULE_15__["default"])(context).getInstance(), + requestModifier: Object(_utils_RequestModifier__WEBPACK_IMPORTED_MODULE_16__["default"])(context).getInstance(), mssHandler: mssHandler, settings: settings }); @@ -32486,14 +35387,14 @@ function MediaPlayer() { if (typeof Protection === 'function') { //TODO need a better way to register/detect plugin components var protection = Protection(context).create(); - _core_events_Events__WEBPACK_IMPORTED_MODULE_27__["default"].extend(Protection.events); - _MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_28__["default"].extend(Protection.events, { + _core_events_Events__WEBPACK_IMPORTED_MODULE_28__["default"].extend(Protection.events); + _MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_29__["default"].extend(Protection.events, { publicOnly: true }); - _core_errors_Errors__WEBPACK_IMPORTED_MODULE_25__["default"].extend(Protection.errors); + _core_errors_Errors__WEBPACK_IMPORTED_MODULE_26__["default"].extend(Protection.errors); if (!capabilities) { - capabilities = Object(_utils_Capabilities__WEBPACK_IMPORTED_MODULE_13__["default"])(context).getInstance(); + capabilities = Object(_utils_Capabilities__WEBPACK_IMPORTED_MODULE_14__["default"])(context).getInstance(); } protectionController = protection.createProtectionSystem({ @@ -32503,8 +35404,8 @@ function MediaPlayer() { customParametersModel: customParametersModel, capabilities: capabilities, eventBus: eventBus, - events: _core_events_Events__WEBPACK_IMPORTED_MODULE_27__["default"], - BASE64: _externals_base64__WEBPACK_IMPORTED_MODULE_37___default.a, + events: _core_events_Events__WEBPACK_IMPORTED_MODULE_28__["default"], + BASE64: _externals_base64__WEBPACK_IMPORTED_MODULE_38___default.a, constants: _constants_Constants__WEBPACK_IMPORTED_MODULE_1__["default"], cmcdModel: cmcdModel, settings: settings @@ -32534,7 +35435,7 @@ function MediaPlayer() { adapter: adapter, dashMetrics: dashMetrics, mediaPlayerModel: mediaPlayerModel, - events: _core_events_Events__WEBPACK_IMPORTED_MODULE_27__["default"], + events: _core_events_Events__WEBPACK_IMPORTED_MODULE_28__["default"], constants: _constants_Constants__WEBPACK_IMPORTED_MODULE_1__["default"], metricsConstants: _constants_MetricsConstants__WEBPACK_IMPORTED_MODULE_3__["default"] }); @@ -32552,7 +35453,7 @@ function MediaPlayer() { if (typeof MssHandler === 'function') { //TODO need a better way to register/detect plugin components - _core_errors_Errors__WEBPACK_IMPORTED_MODULE_25__["default"].extend(MssHandler.errors); + _core_errors_Errors__WEBPACK_IMPORTED_MODULE_26__["default"].extend(MssHandler.errors); mssHandler = MssHandler(context).create({ eventBus: eventBus, mediaPlayerModel: mediaPlayerModel, @@ -32563,12 +35464,12 @@ function MediaPlayer() { protectionController: protectionController, baseURLController: baseURLController, errHandler: errHandler, - events: _core_events_Events__WEBPACK_IMPORTED_MODULE_27__["default"], + events: _core_events_Events__WEBPACK_IMPORTED_MODULE_28__["default"], constants: _constants_Constants__WEBPACK_IMPORTED_MODULE_1__["default"], debug: debug, - initSegmentType: _vo_metrics_HTTPRequest__WEBPACK_IMPORTED_MODULE_36__["HTTPRequest"].INIT_SEGMENT_TYPE, - BASE64: _externals_base64__WEBPACK_IMPORTED_MODULE_37___default.a, - ISOBoxer: codem_isoboxer__WEBPACK_IMPORTED_MODULE_38___default.a, + initSegmentType: _vo_metrics_HTTPRequest__WEBPACK_IMPORTED_MODULE_37__["HTTPRequest"].INIT_SEGMENT_TYPE, + BASE64: _externals_base64__WEBPACK_IMPORTED_MODULE_38___default.a, + ISOBoxer: codem_isoboxer__WEBPACK_IMPORTED_MODULE_39___default.a, settings: settings }); } @@ -32589,15 +35490,15 @@ function MediaPlayer() { if (typeof OfflineController === 'function') { //TODO need a better way to register/detect plugin components - _core_events_Events__WEBPACK_IMPORTED_MODULE_27__["default"].extend(OfflineController.events); - _MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_28__["default"].extend(OfflineController.events, { + _core_events_Events__WEBPACK_IMPORTED_MODULE_28__["default"].extend(OfflineController.events); + _MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_29__["default"].extend(OfflineController.events, { publicOnly: true }); - _core_errors_Errors__WEBPACK_IMPORTED_MODULE_25__["default"].extend(OfflineController.errors); + _core_errors_Errors__WEBPACK_IMPORTED_MODULE_26__["default"].extend(OfflineController.errors); var manifestLoader = _createManifestLoader(); - var manifestUpdater = Object(_ManifestUpdater__WEBPACK_IMPORTED_MODULE_41__["default"])(context).create(); + var manifestUpdater = Object(_ManifestUpdater__WEBPACK_IMPORTED_MODULE_42__["default"])(context).create(); manifestUpdater.setConfig({ manifestModel: manifestModel, adapter: adapter, @@ -32620,12 +35521,12 @@ function MediaPlayer() { segmentBaseController: segmentBaseController, schemeLoaderFactory: schemeLoaderFactory, eventBus: eventBus, - events: _core_events_Events__WEBPACK_IMPORTED_MODULE_27__["default"], - errors: _core_errors_Errors__WEBPACK_IMPORTED_MODULE_25__["default"], + events: _core_events_Events__WEBPACK_IMPORTED_MODULE_28__["default"], + errors: _core_errors_Errors__WEBPACK_IMPORTED_MODULE_26__["default"], constants: _constants_Constants__WEBPACK_IMPORTED_MODULE_1__["default"], settings: settings, dashConstants: _dash_constants_DashConstants__WEBPACK_IMPORTED_MODULE_2__["default"], - urlUtils: Object(_streaming_utils_URLUtils__WEBPACK_IMPORTED_MODULE_42__["default"])(context).getInstance() + urlUtils: Object(_streaming_utils_URLUtils__WEBPACK_IMPORTED_MODULE_43__["default"])(context).getInstance() }); return offlineController; } @@ -32694,6 +35595,7 @@ function MediaPlayer() { isDynamic: isDynamic, getLowLatencyModeEnabled: getLowLatencyModeEnabled, seek: seek, + seekToOriginalLive: seekToOriginalLive, setPlaybackRate: setPlaybackRate, getPlaybackRate: getPlaybackRate, setMute: setMute, @@ -32765,6 +35667,8 @@ function MediaPlayer() { provideThumbnail: provideThumbnail, getDashAdapter: getDashAdapter, getOfflineController: getOfflineController, + triggerSteeringRequest: triggerSteeringRequest, + getCurrentSteeringResponseData: getCurrentSteeringResponseData, getSettings: getSettings, updateSettings: updateSettings, resetSettings: resetSettings, @@ -32776,10 +35680,10 @@ function MediaPlayer() { } MediaPlayer.__dashjs_factory_name = 'MediaPlayer'; -var factory = _core_FactoryMaker__WEBPACK_IMPORTED_MODULE_29__["default"].getClassFactory(MediaPlayer); -factory.events = _MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_28__["default"]; -factory.errors = _core_errors_Errors__WEBPACK_IMPORTED_MODULE_25__["default"]; -_core_FactoryMaker__WEBPACK_IMPORTED_MODULE_29__["default"].updateClassFactory(MediaPlayer.__dashjs_factory_name, factory); +var factory = _core_FactoryMaker__WEBPACK_IMPORTED_MODULE_30__["default"].getClassFactory(MediaPlayer); +factory.events = _MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_29__["default"]; +factory.errors = _core_errors_Errors__WEBPACK_IMPORTED_MODULE_26__["default"]; +_core_FactoryMaker__WEBPACK_IMPORTED_MODULE_30__["default"].updateClassFactory(MediaPlayer.__dashjs_factory_name, factory); /* harmony default export */ __webpack_exports__["default"] = (factory); /***/ }), @@ -33226,6 +36130,12 @@ var MediaPlayerEvents = /*#__PURE__*/function (_EventsBase) { */ _this.ADAPTATION_SET_REMOVED_NO_CAPABILITIES = 'adaptationSetRemovedNoCapabilities'; + /** + * Triggered when a content steering request has completed. + * @event MediaPlayerEvents#CONTENT_STEERING_REQUEST_COMPLETED + */ + + _this.CONTENT_STEERING_REQUEST_COMPLETED = 'contentSteeringRequestCompleted'; return _this; } @@ -33473,7 +36383,7 @@ function SourceBufferSink(config) { _addEventListeners(); var promises = []; - promises.push(_abortBeforeAppend); + promises.push(_abortBeforeAppend()); promises.push(updateAppendWindow(mediaInfo.streamInfo)); promises.push(changeType(codec)); @@ -34645,6 +37555,8 @@ function Stream(config) { } } } + + protectionController.handleKeySystemFromManifest(); } if (error) { @@ -35628,7 +38540,7 @@ function StreamProcessor(config) { function _prepareForFastQualitySwitch(representationInfo) { // if we switch up in quality and need to replace existing parts in the buffer we need to adjust the buffer target var time = playbackController.getTime(); - var safeBufferLevel = 1.5; + var safeBufferLevel = 1.5 * (!isNaN(representationInfo.fragmentDuration) ? representationInfo.fragmentDuration : 1); var request = fragmentModel.getRequests({ state: _models_FragmentModel__WEBPACK_IMPORTED_MODULE_3__["default"].FRAGMENT_MODEL_EXECUTED, time: time + safeBufferLevel, @@ -36485,6 +39397,13 @@ var Constants = /*#__PURE__*/function () { */ this.WVTT = 'wvtt'; + /** + * @constant {string} Content Steering + * @memberof Constants# + * @static + */ + + this.CONTENT_STEERING = 'contentSteering'; /** * @constant {string} ABR_STRATEGY_DYNAMIC Dynamic Adaptive bitrate algorithm * @memberof Constants# @@ -38626,6 +41545,26 @@ function BufferController(config) { if (currentTimeRequest) { rangeStart = Math.max(currentTimeRequest.startTime + currentTimeRequest.duration, rangeStart); + } // Never remove the contiguous range of targetTime in order to avoid flushes & reenqueues when the user doesn't want it + + + var avoidCurrentTimeRangePruning = settings.get().streaming.buffer.avoidCurrentTimeRangePruning; + + if (avoidCurrentTimeRangePruning) { + for (var i = 0; i < ranges.length; i++) { + if (ranges.start(i) <= targetTime && targetTime <= ranges.end(i) && ranges.start(i) <= rangeStart && rangeStart <= ranges.end(i)) { + var oldRangeStart = rangeStart; + + if (i + 1 < ranges.length) { + rangeStart = ranges.start(i + 1); + } else { + rangeStart = ranges.end(i) + 1; + } + + logger.debug('Buffered range [' + ranges.start(i) + ', ' + ranges.end(i) + '] overlaps with targetTime ' + targetTime + ' and range to be pruned [' + oldRangeStart + ', ' + endOfBuffer + '], using [' + rangeStart + ', ' + endOfBuffer + '] instead' + (rangeStart < endOfBuffer ? '' : ' (no actual pruning)')); + break; + } + } } if (rangeStart < endOfBuffer) { @@ -39185,6 +42124,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../MediaPlayerEvents */ "./src/streaming/MediaPlayerEvents.js"); /* harmony import */ var _core_events_Events__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../core/events/Events */ "./src/core/events/Events.js"); /* harmony import */ var _constants_MetricsConstants__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../constants/MetricsConstants */ "./src/streaming/constants/MetricsConstants.js"); +/* harmony import */ var _core_Utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../core/Utils */ "./src/core/Utils.js"); /** * The copyright in this software is being made available under the BSD License, * included below. This software may be subject to other third party and contributor @@ -39223,10 +42163,11 @@ __webpack_require__.r(__webpack_exports__); + function CatchupController() { var context = this.context; var eventBus = Object(_core_EventBus__WEBPACK_IMPORTED_MODULE_2__["default"])(context).getInstance(); - var instance, isCatchupSeekInProgress, minPlaybackRateChange, videoModel, settings, streamController, playbackController, mediaPlayerModel, dashMetrics, playbackStalled, logger; + var instance, isCatchupSeekInProgress, isSafari, videoModel, settings, streamController, playbackController, mediaPlayerModel, playbackStalled, logger; function initialize() { _registerEvents(); @@ -39253,10 +42194,6 @@ function CatchupController() { playbackController = config.playbackController; } - if (config.dashMetrics) { - dashMetrics = config.dashMetrics; - } - if (config.mediaPlayerModel) { mediaPlayerModel = config.mediaPlayerModel; } @@ -39295,11 +42232,9 @@ function CatchupController() { } function _resetInitialSettings() { - isCatchupSeekInProgress = false; // Detect safari browser (special behavior for low latency streams) - - var ua = typeof navigator !== 'undefined' ? navigator.userAgent.toLowerCase() : ''; - var isSafari = /safari/.test(ua) && !/chrome/.test(ua); - minPlaybackRateChange = isSafari ? 0.25 : 0.02; + isCatchupSeekInProgress = false; + var ua = _core_Utils__WEBPACK_IMPORTED_MODULE_7__["default"].parseUserAgent(); + isSafari = ua && ua.browser && ua.browser.name && ua.browser.name.toLowerCase() === 'safari'; } function _onPlaybackSeeked() { @@ -39388,8 +42323,7 @@ function CatchupController() { if (!isNaN(maxDrift) && maxDrift > 0 && deltaLatency > maxDrift) { logger.info('[CatchupController]: Low Latency catchup mechanism. Latency too high, doing a seek to live point'); isCatchupSeekInProgress = true; - - _seekToLive(); + playbackController.seekToCurrentLive(true, false); } // try to reach the target latency by adjusting the playback rate else { var currentLiveLatency = playbackController.getCurrentLiveLatency(); @@ -39402,10 +42336,13 @@ function CatchupController() { } else { // Default playback control: Based on target and current latency newRate = _calculateNewPlaybackRateDefault(liveCatchupPlaybackRate, currentLiveLatency, targetLiveDelay, bufferLevel, currentPlaybackRate); - } // Obtain newRate and apply to video model + } // We adjust the min change linear, depending on the maximum catchup rate. Default is 0.02 for rate 0.5. + // For Safari we stick to a fixed value because of https://bugs.webkit.org/show_bug.cgi?id=208142 - if (newRate) { + var minPlaybackRateChange = isSafari ? 0.25 : 0.02 / (0.5 / liveCatchupPlaybackRate); // Obtain newRate and apply to video model. Don't change playbackrate for small variations (don't overload element with playbackrate changes) + + if (newRate && Math.abs(currentPlaybackRate - newRate) >= minPlaybackRateChange) { // non-null logger.debug("[CatchupController]: Setting playback rate to ".concat(newRate)); videoModel.setPlaybackRate(newRate); @@ -39433,9 +42370,7 @@ function CatchupController() { function _shouldStartCatchUp() { try { - var latencyThreshold = mediaPlayerModel.getLiveCatchupLatencyThreshold(); - - if (!playbackController.getTime() > 0 || isCatchupSeekInProgress || !isNaN(latencyThreshold) && playbackController.getCurrentLiveLatency() >= latencyThreshold) { + if (!playbackController.getTime() > 0 || isCatchupSeekInProgress) { return false; } @@ -39507,7 +42442,7 @@ function CatchupController() { */ - function _calculateNewPlaybackRateDefault(liveCatchUpPlaybackRate, currentLiveLatency, liveDelay, bufferLevel, currentPlaybackRate) { + function _calculateNewPlaybackRateDefault(liveCatchUpPlaybackRate, currentLiveLatency, liveDelay, bufferLevel) { // if we recently ran into an empty buffer we wait for the buffer to recover before applying a new rate if (playbackStalled) { return 1.0; @@ -39527,11 +42462,6 @@ function CatchupController() { if (bufferLevel <= liveDelay / 2 && deltaLatency > 0) { newRate = 1.0; } - } // don't change playbackrate for small variations (don't overload element with playbackrate changes) - - - if (Math.abs(currentPlaybackRate - newRate) <= minPlaybackRateChange) { - newRate = null; } return newRate; @@ -39549,7 +42479,7 @@ function CatchupController() { */ - function _calculateNewPlaybackRateLolP(liveCatchUpPlaybackRate, currentLiveLatency, liveDelay, playbackBufferMin, bufferLevel, currentPlaybackRate) { + function _calculateNewPlaybackRateLolP(liveCatchUpPlaybackRate, currentLiveLatency, liveDelay, playbackBufferMin, bufferLevel) { var cpr = liveCatchUpPlaybackRate; var newRate; // Hybrid: Buffer-based @@ -39584,29 +42514,10 @@ function CatchupController() { } logger.debug('[LoL+ playback control_latency-based] latency: ' + currentLiveLatency + ', newRate: ' + newRate); - } // don't change playbackrate for small variations (don't overload element with playbackrate changes) - - - if (Math.abs(currentPlaybackRate - newRate) <= minPlaybackRateChange) { - newRate = null; } return newRate; } - /** - * Seek to live edge - */ - - - function _seekToLive() { - var type = streamController && streamController.hasVideoTrack() ? _constants_Constants__WEBPACK_IMPORTED_MODULE_3__["default"].VIDEO : _constants_Constants__WEBPACK_IMPORTED_MODULE_3__["default"].AUDIO; - var DVRMetrics = dashMetrics.getCurrentDVRInfo(type); - var DVRWindow = DVRMetrics ? DVRMetrics.range : null; - - if (DVRWindow && !isNaN(DVRWindow.end)) { - playbackController.seek(DVRWindow.end - playbackController.getLiveDelay(), true, false); - } - } instance = { reset: reset, @@ -40505,6 +43416,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _core_Debug__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../core/Debug */ "./src/core/Debug.js"); /* harmony import */ var _core_events_Events__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../core/events/Events */ "./src/core/events/Events.js"); /* harmony import */ var _core_EventBus__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../core/EventBus */ "./src/core/EventBus.js"); +/* harmony import */ var _constants_Constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../constants/Constants */ "./src/streaming/constants/Constants.js"); /** * The copyright in this software is being made available under the BSD License, * included below. This software may be subject to other third party and contributor @@ -40539,6 +43451,7 @@ __webpack_require__.r(__webpack_exports__); + var GAP_HANDLER_INTERVAL = 100; var THRESHOLD_TO_STALLS = 10; var GAP_JUMP_WAITING_TIME_OFFSET = 0.1; @@ -40632,7 +43545,7 @@ function GapController() { function _onBufferReplacementStarted(e) { try { - if (e.streamId !== streamController.getActiveStreamInfo().id || !e.mediaType) { + if (e.streamId !== streamController.getActiveStreamInfo().id || e.mediaType !== _constants_Constants__WEBPACK_IMPORTED_MODULE_4__["default"].VIDEO && e.mediaType !== _constants_Constants__WEBPACK_IMPORTED_MODULE_4__["default"].AUDIO) { return; } @@ -40918,6 +43831,10 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _core_EventBus__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../core/EventBus */ "./src/core/EventBus.js"); /* harmony import */ var _core_FactoryMaker__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../core/FactoryMaker */ "./src/core/FactoryMaker.js"); /* harmony import */ var _core_Debug__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../core/Debug */ "./src/core/Debug.js"); +/* harmony import */ var bcp_47_normalize__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! bcp-47-normalize */ "./node_modules/bcp-47-normalize/index.js"); +/* harmony import */ var bcp_47_normalize__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(bcp_47_normalize__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var bcp_47_match__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! bcp-47-match */ "./node_modules/bcp-47-match/index.js"); +/* harmony import */ var bcp_47_match__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(bcp_47_match__WEBPACK_IMPORTED_MODULE_6__); /** * The copyright in this software is being made available under the BSD License, * included below. This software may be subject to other third party and contributor @@ -40954,6 +43871,8 @@ __webpack_require__.r(__webpack_exports__); + + function MediaController() { var context = this.context; var eventBus = Object(_core_EventBus__WEBPACK_IMPORTED_MODULE_2__["default"])(context).getInstance(); @@ -41224,19 +44143,40 @@ function MediaController() { function matchSettings(settings, track) { var isTrackActive = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; - var matchLang = !settings.lang || track.lang.match(settings.lang); - var matchIndex = settings.index === undefined || settings.index === null || track.index === settings.index; - var matchViewPoint = !settings.viewpoint || settings.viewpoint === track.viewpoint; - var matchRole = !settings.role || !!track.roles.filter(function (item) { - return item === settings.role; - })[0]; - var matchAccessibility = !settings.accessibility || !!track.accessibility.filter(function (item) { - return item === settings.accessibility; - })[0]; - var matchAudioChannelConfiguration = !settings.audioChannelConfiguration || !!track.audioChannelConfiguration.filter(function (item) { - return item === settings.audioChannelConfiguration; - })[0]; - return matchLang && matchIndex && matchViewPoint && (matchRole || track.type === _constants_Constants__WEBPACK_IMPORTED_MODULE_0__["default"].AUDIO && isTrackActive) && matchAccessibility && matchAudioChannelConfiguration; + + try { + var matchLang = false; // If there is no language defined in the target settings we got a match + + if (!settings.lang) { + matchLang = true; + } // If the target language is provided as a RegExp apply match function + else if (settings.lang instanceof RegExp) { + matchLang = track.lang.match(settings.lang); + } // If the track has a language and we can normalize the target language check if we got a match + else if (track.lang !== '') { + var normalizedSettingsLang = bcp_47_normalize__WEBPACK_IMPORTED_MODULE_5___default()(settings.lang); + + if (normalizedSettingsLang) { + matchLang = Object(bcp_47_match__WEBPACK_IMPORTED_MODULE_6__["extendedFilter"])(track.lang, normalizedSettingsLang).length > 0; + } + } + + var matchIndex = settings.index === undefined || settings.index === null || track.index === settings.index; + var matchViewPoint = !settings.viewpoint || settings.viewpoint === track.viewpoint; + var matchRole = !settings.role || !!track.roles.filter(function (item) { + return item === settings.role; + })[0]; + var matchAccessibility = !settings.accessibility || !!track.accessibility.filter(function (item) { + return item === settings.accessibility; + })[0]; + var matchAudioChannelConfiguration = !settings.audioChannelConfiguration || !!track.audioChannelConfiguration.filter(function (item) { + return item === settings.audioChannelConfiguration; + })[0]; + return matchLang && matchIndex && matchViewPoint && (matchRole || track.type === _constants_Constants__WEBPACK_IMPORTED_MODULE_0__["default"].AUDIO && isTrackActive) && matchAccessibility && matchAudioChannelConfiguration; + } catch (e) { + return false; + logger.error(e); + } } function resetInitialSettings() { @@ -41669,7 +44609,7 @@ var LIVE_UPDATE_PLAYBACK_TIME_INTERVAL_MS = 500; function PlaybackController() { var context = this.context; var eventBus = Object(_core_EventBus__WEBPACK_IMPORTED_MODULE_1__["default"])(context).getInstance(); - var instance, logger, streamController, serviceDescriptionController, dashMetrics, adapter, videoModel, timelineConverter, wallclockTimeIntervalId, liveDelay, streamInfo, isDynamic, playOnceInitialized, lastLivePlaybackTime, availabilityStartTime, availabilityTimeComplete, lowLatencyModeEnabled, seekTarget, internalSeek, playbackStalled, manifestUpdateInProgress, initialCatchupModeActivated, settings; + var instance, logger, streamController, serviceDescriptionController, dashMetrics, adapter, videoModel, timelineConverter, wallclockTimeIntervalId, liveDelay, originalLiveDelay, streamInfo, isDynamic, playOnceInitialized, lastLivePlaybackTime, availabilityStartTime, availabilityTimeComplete, lowLatencyModeEnabled, seekTarget, internalSeek, playbackStalled, manifestUpdateInProgress, initialCatchupModeActivated, settings; function setup() { logger = Object(_core_Debug__WEBPACK_IMPORTED_MODULE_4__["default"])(context).getInstance().getLogger(instance); @@ -41684,6 +44624,7 @@ function PlaybackController() { pause(); playOnceInitialized = false; liveDelay = 0; + originalLiveDelay = 0; availabilityStartTime = 0; manifestUpdateInProgress = false; availabilityTimeComplete = true; @@ -41787,7 +44728,13 @@ function PlaybackController() { function play() { + var adjustLiveDelay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + if (streamInfo && videoModel && videoModel.getElement()) { + if (adjustLiveDelay && isDynamic) { + _adjustLiveDelayAfterUserInteraction(getTime()); + } + videoModel.play(); } else { playOnceInitialized = true; @@ -41808,10 +44755,14 @@ function PlaybackController() { * @param {number} time * @param {boolean} stickToBuffered * @param {boolean} internal + * @param {boolean} adjustLiveDelay */ - function seek(time, stickToBuffered, internal) { + function seek(time) { + var stickToBuffered = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + var internal = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + var adjustLiveDelay = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; if (!streamInfo || !videoModel) return; var currentTime = !isNaN(seekTarget) ? seekTarget : videoModel.getTime(); if (time === currentTime) return; @@ -41821,9 +44772,76 @@ function PlaybackController() { seekTarget = time; } - logger.info('Requesting seek to time: ' + time + (internalSeek ? ' (internal)' : '')); + logger.info('Requesting seek to time: ' + time + (internalSeek ? ' (internal)' : '')); // We adjust the current latency. If catchup is enabled we will maintain this new latency + + if (isDynamic && adjustLiveDelay) { + _adjustLiveDelayAfterUserInteraction(time); + } + videoModel.setCurrentTime(time, stickToBuffered); } + /** + * Seeks back to the live edge as defined by the originally calculated live delay + * @param {boolean} stickToBuffered + * @param {boolean} internal + * @param {boolean} adjustLiveDelay + */ + + + function seekToOriginalLive() { + var stickToBuffered = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + var internal = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + var adjustLiveDelay = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + + var dvrWindowEnd = _getDvrWindowEnd(); + + if (dvrWindowEnd === 0) { + return; + } + + liveDelay = originalLiveDelay; + var seektime = dvrWindowEnd - liveDelay; + seek(seektime, stickToBuffered, internal, adjustLiveDelay); + } + /** + * Seeks to the live edge as currently defined by liveDelay + * @param {boolean} stickToBuffered + * @param {boolean} internal + * @param {boolean} adjustLiveDelay + */ + + + function seekToCurrentLive() { + var stickToBuffered = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + var internal = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + var adjustLiveDelay = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + + var dvrWindowEnd = _getDvrWindowEnd(); + + if (dvrWindowEnd === 0) { + return; + } + + var seektime = dvrWindowEnd - liveDelay; + seek(seektime, stickToBuffered, internal, adjustLiveDelay); + } + + function _getDvrWindowEnd() { + if (!streamInfo || !videoModel || !isDynamic) { + return; + } + + var type = streamController && streamController.hasVideoTrack() ? _constants_Constants__WEBPACK_IMPORTED_MODULE_0__["default"].VIDEO : _constants_Constants__WEBPACK_IMPORTED_MODULE_0__["default"].AUDIO; + var dvrInfo = dashMetrics.getCurrentDVRInfo(type); + return dvrInfo && dvrInfo.range ? dvrInfo.range.end : 0; + } + + function _adjustLiveDelayAfterUserInteraction(time) { + var now = new Date(timelineConverter.getClientReferenceTime()); + var period = adapter.getRegularPeriods()[0]; + var nowAsPresentationTime = timelineConverter.calcPresentationTimeFromWallTime(now, period); + liveDelay = nowAsPresentationTime - time; + } /** * Returns current time of video element * @return {number|null} @@ -41924,7 +44942,7 @@ function PlaybackController() { return availabilityStartTime; } /** - * Returns the computed live delay + * Returns the current live delay. A seek triggered by the user adjusts this value. * @return {number} */ @@ -41932,6 +44950,14 @@ function PlaybackController() { function getLiveDelay() { return liveDelay; } + /** + * Returns the original live delay as calculated at playback start + */ + + + function getOriginalLiveDelay() { + return originalLiveDelay; + } /** * Returns the current live latency * @return {number} @@ -42002,6 +45028,7 @@ function PlaybackController() { } liveDelay = ret; + originalLiveDelay = ret; return ret; } @@ -42346,6 +45373,7 @@ function PlaybackController() { if (minDelay > liveDelay) { logger.warn('Browser does not support fetch API with StreamReader. Increasing live delay to be 20% higher than segment duration:', minDelay.toFixed(2)); liveDelay = minDelay; + originalLiveDelay = minDelay; } } } @@ -42467,6 +45495,7 @@ function PlaybackController() { getStreamController: getStreamController, computeAndSetLiveDelay: computeAndSetLiveDelay, getLiveDelay: getLiveDelay, + getOriginalLiveDelay: getOriginalLiveDelay, getCurrentLiveLatency: getCurrentLiveLatency, play: play, isPaused: isPaused, @@ -42475,6 +45504,8 @@ function PlaybackController() { isSeeking: isSeeking, getStreamEndTime: getStreamEndTime, seek: seek, + seekToOriginalLive: seekToOriginalLive, + seekToCurrentLive: seekToCurrentLive, reset: reset, updateCurrentTime: updateCurrentTime, getAvailabilityStartTime: getAvailabilityStartTime @@ -42968,402 +45999,6 @@ ScheduleController.__dashjs_factory_name = 'ScheduleController'; /***/ }), -/***/ "./src/streaming/controllers/ServiceDescriptionController.js": -/*!*******************************************************************!*\ - !*** ./src/streaming/controllers/ServiceDescriptionController.js ***! - \*******************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _core_FactoryMaker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../core/FactoryMaker */ "./src/core/FactoryMaker.js"); -/* harmony import */ var _core_Debug__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../core/Debug */ "./src/core/Debug.js"); -/* harmony import */ var _constants_Constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../constants/Constants */ "./src/streaming/constants/Constants.js"); -/* harmony import */ var _dash_constants_DashConstants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../dash/constants/DashConstants */ "./src/dash/constants/DashConstants.js"); -/** - * The copyright in this software is being made available under the BSD License, - * included below. This software may be subject to other third party and contributor - * rights, including patent rights, and no such rights are granted under this license. - * - * Copyright (c) 2013, Dash Industry Forum. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation and/or - * other materials provided with the distribution. - * * Neither the name of Dash Industry Forum nor the names of its - * contributors may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - - - - -var SUPPORTED_SCHEMES = [_constants_Constants__WEBPACK_IMPORTED_MODULE_2__["default"].SERVICE_DESCRIPTION_DVB_LL_SCHEME]; -var MEDIA_TYPES = { - VIDEO: 'video', - AUDIO: 'audio', - ANY: 'any', - ALL: 'all' -}; - -function ServiceDescriptionController() { - var context = this.context; - var instance, serviceDescriptionSettings, prftOffsets, logger, adapter; - - function setup() { - logger = Object(_core_Debug__WEBPACK_IMPORTED_MODULE_1__["default"])(context).getInstance().getLogger(instance); - - _resetInitialSettings(); - } - - function setConfig(config) { - if (!config) return; - - if (config.adapter) { - adapter = config.adapter; - } - } - - function reset() { - _resetInitialSettings(); - } - - function _resetInitialSettings() { - serviceDescriptionSettings = { - liveDelay: NaN, - liveCatchup: { - maxDrift: NaN, - playbackRate: NaN - }, - minBitrate: {}, - maxBitrate: {}, - initialBitrate: {} - }; - prftOffsets = []; - } - /** - * Returns the service description settings for latency, catchup and bandwidth - */ - - - function getServiceDescriptionSettings() { - return serviceDescriptionSettings; - } - /** - * Check for potential ServiceDescriptor elements in the MPD and update the settings accordingly - * @param {object} manifestInfo - * @private - */ - - - function applyServiceDescription(manifestInfo) { - if (!manifestInfo || !manifestInfo.serviceDescriptions) { - return; - } - - var supportedServiceDescriptions = manifestInfo.serviceDescriptions.filter(function (sd) { - return SUPPORTED_SCHEMES.includes(sd.schemeIdUri); - }); - var allClientsServiceDescriptions = manifestInfo.serviceDescriptions.filter(function (sd) { - return sd.schemeIdUri == null; - }); - var sd = supportedServiceDescriptions.length > 0 ? supportedServiceDescriptions[supportedServiceDescriptions.length - 1] : allClientsServiceDescriptions[allClientsServiceDescriptions.length - 1]; - if (!sd) return; - - if (sd.latency && sd.latency.target > 0) { - _applyServiceDescriptionLatency(sd); - } - - if (sd.playbackRate && sd.playbackRate.max > 1.0) { - _applyServiceDescriptionPlaybackRate(sd); - } - - if (sd.operatingQuality) { - _applyServiceDescriptionOperatingQuality(sd); - } - - if (sd.operatingBandwidth) { - _applyServiceDescriptionOperatingBandwidth(sd); - } - } - /** - * Adjust the latency targets for the service. - * @param {object} sd - service description element - * @private - */ - - - function _applyServiceDescriptionLatency(sd) { - var params; - - if (sd.schemeIdUri === _constants_Constants__WEBPACK_IMPORTED_MODULE_2__["default"].SERVICE_DESCRIPTION_DVB_LL_SCHEME) { - params = _getDvbServiceDescriptionLatencyParameters(sd); - } else { - params = _getStandardServiceDescriptionLatencyParameters(sd); - } - - if (prftOffsets.length > 0) { - var _calculateTimeOffset2 = _calculateTimeOffset(params), - to = _calculateTimeOffset2.to, - id = _calculateTimeOffset2.id; // TS 103 285 Clause 10.20.4. 3) Subtract calculated offset from Latency@target converted from milliseconds - // liveLatency does not consider ST@availabilityTimeOffset so leave out that step - // Since maxDrift is a difference rather than absolute it does not need offset applied - - - serviceDescriptionSettings.liveDelay = params.liveDelay - to; - serviceDescriptionSettings.liveCatchup.maxDrift = params.maxDrift; - logger.debug("\n Found latency properties coming from service description. Applied time offset of ".concat(to, " from ProducerReferenceTime element with id ").concat(id, ".\n Live Delay: ").concat(params.liveDelay - to, ", Live catchup max drift: ").concat(params.maxDrift, "\n ")); - } else { - serviceDescriptionSettings.liveDelay = params.liveDelay; - serviceDescriptionSettings.liveCatchup.maxDrift = params.maxDrift; - logger.debug("Found latency properties coming from service description: Live Delay: ".concat(params.liveDelay, ", Live catchup max drift: ").concat(params.maxDrift)); - } - } - /** - * Get default parameters for liveDelay,maxDrift - * @param {object} sd - * @return {{maxDrift: (number|undefined), liveDelay: number, referenceId: (number|undefined)}} - * @private - */ - - - function _getStandardServiceDescriptionLatencyParameters(sd) { - var liveDelay = sd.latency.target / 1000; - var maxDrift = !isNaN(sd.latency.max) && sd.latency.max > sd.latency.target ? (sd.latency.max - sd.latency.target + 500) / 1000 : NaN; - var referenceId = sd.latency.referenceId || NaN; - return { - liveDelay: liveDelay, - maxDrift: maxDrift, - referenceId: referenceId - }; - } - /** - * Get DVB DASH parameters for liveDelay,maxDrift - * @param sd - * @return {{maxDrift: (number|undefined), liveDelay: number, referenceId: (number|undefined)}} - * @private - */ - - - function _getDvbServiceDescriptionLatencyParameters(sd) { - var liveDelay = sd.latency.target / 1000; - var maxDrift = !isNaN(sd.latency.max) && sd.latency.max > sd.latency.target ? (sd.latency.max - sd.latency.target + 500) / 1000 : NaN; - var referenceId = sd.latency.referenceId || NaN; - return { - liveDelay: liveDelay, - maxDrift: maxDrift, - referenceId: referenceId - }; - } - /** - * Adjust the playback rate targets for the service - * @param {object} sd - * @private - */ - - - function _applyServiceDescriptionPlaybackRate(sd) { - var playbackRate = Math.round((sd.playbackRate.max - 1.0) * 1000) / 1000; - serviceDescriptionSettings.liveCatchup.playbackRate = playbackRate; - logger.debug("Found latency properties coming from service description: Live catchup playback rate: ".concat(playbackRate)); - } - /** - * Used to specify a quality ranking. We do not support this yet. - * @private - */ - - - function _applyServiceDescriptionOperatingQuality() { - return; - } - /** - * Adjust the operating quality targets for the service - * @param {object} sd - * @private - */ - - - function _applyServiceDescriptionOperatingBandwidth(sd) { - // Aggregation of media types is not supported yet - if (!sd || !sd.operatingBandwidth || !sd.operatingBandwidth.mediaType || sd.operatingBandwidth.mediaType === MEDIA_TYPES.ALL) { - return; - } - - var params = {}; - params.minBandwidth = sd.operatingBandwidth.min; - params.maxBandwidth = sd.operatingBandwidth.max; - params.targetBandwidth = sd.operatingBandwidth.target; - var mediaTypesToApply = []; - - if (sd.operatingBandwidth.mediaType === MEDIA_TYPES.VIDEO || sd.operatingBandwidth.mediaType === MEDIA_TYPES.AUDIO) { - mediaTypesToApply.push(sd.operatingBandwidth.mediaType); - } else if (sd.operatingBandwidth.mediaType === MEDIA_TYPES.ANY) { - mediaTypesToApply.push(MEDIA_TYPES.AUDIO); - mediaTypesToApply.push(MEDIA_TYPES.VIDEO); - } - - mediaTypesToApply.forEach(function (mediaType) { - if (!isNaN(params.minBandwidth)) { - _updateBandwidthSetting('minBitrate', mediaType, params.minBandwidth); - } - - if (!isNaN(params.maxBandwidth)) { - _updateBandwidthSetting('maxBitrate', mediaType, params.maxBandwidth); - } - - if (!isNaN(params.targetBandwidth)) { - _updateBandwidthSetting('initialBitrate', mediaType, params.targetBandwidth); - } - }); - } - /** - * Update the bandwidth settings vor a specific field and media type - * @param {string} field - * @param {string} mediaType - * @param {number} value - * @private - */ - - - function _updateBandwidthSetting(field, mediaType, value) { - try { - // Service description values are specified in bps. Settings expect the value in kbps - serviceDescriptionSettings[field][mediaType] = value / 1000; - } catch (e) { - logger.error(e); - } - } - /** - * Returns the current calculated time offsets based on ProducerReferenceTime elements - * @returns {array} - */ - - - function getProducerReferenceTimeOffsets() { - return prftOffsets; - } - /** - * Calculates an array of time offsets each with matching ProducerReferenceTime id. - * Call before applyServiceDescription if producer reference time elements should be considered. - * @param {array} streamInfos - * @returns {array} - * @private - */ - - - function calculateProducerReferenceTimeOffsets(streamInfos) { - try { - var timeOffsets = []; - - if (streamInfos && streamInfos.length > 0) { - var mediaTypes = [_constants_Constants__WEBPACK_IMPORTED_MODULE_2__["default"].VIDEO, _constants_Constants__WEBPACK_IMPORTED_MODULE_2__["default"].AUDIO, _constants_Constants__WEBPACK_IMPORTED_MODULE_2__["default"].TEXT]; - var astInSeconds = adapter.getAvailabilityStartTime() / 1000; - streamInfos.forEach(function (streamInfo) { - var offsets = mediaTypes.reduce(function (acc, mediaType) { - acc = acc.concat(adapter.getAllMediaInfoForType(streamInfo, mediaType)); - return acc; - }, []).reduce(function (acc, mediaInfo) { - var prts = adapter.getProducerReferenceTimes(streamInfo, mediaInfo); - prts.forEach(function (prt) { - var voRepresentations = adapter.getVoRepresentations(mediaInfo); - - if (voRepresentations && voRepresentations.length > 0 && voRepresentations[0].adaptation && voRepresentations[0].segmentInfoType === _dash_constants_DashConstants__WEBPACK_IMPORTED_MODULE_3__["default"].SEGMENT_TEMPLATE) { - var voRep = voRepresentations[0]; - var d = new Date(prt[_dash_constants_DashConstants__WEBPACK_IMPORTED_MODULE_3__["default"].WALL_CLOCK_TIME]); - var wallClockTime = d.getTime() / 1000; // TS 103 285 Clause 10.20.4 - // 1) Calculate PRT0 - // i) take the PRT@presentationTime and subtract any ST@presentationTimeOffset - // ii) convert this time to seconds by dividing by ST@timescale - // iii) Add this to start time of period that contains PRT. - // N.B presentationTimeOffset is already divided by timescale at this point - - var prt0 = wallClockTime - (prt[_dash_constants_DashConstants__WEBPACK_IMPORTED_MODULE_3__["default"].PRESENTATION_TIME] / voRep[_dash_constants_DashConstants__WEBPACK_IMPORTED_MODULE_3__["default"].TIMESCALE] - voRep[_dash_constants_DashConstants__WEBPACK_IMPORTED_MODULE_3__["default"].PRESENTATION_TIME_OFFSET] + streamInfo.start); // 2) Calculate TO between PRT at the start of MPD timeline and the AST - - var to = astInSeconds - prt0; // 3) Not applicable as liveLatency does not consider ST@availabilityTimeOffset - - acc.push({ - id: prt[_dash_constants_DashConstants__WEBPACK_IMPORTED_MODULE_3__["default"].ID], - to: to - }); - } - }); - return acc; - }, []); - timeOffsets = timeOffsets.concat(offsets); - }); - } - - prftOffsets = timeOffsets; - } catch (e) { - logger.error(e); - prftOffsets = []; - } - } - - ; - /** - * Calculates offset to apply to live delay as described in TS 103 285 Clause 10.20.4 - * @param {object} sdLatency - service description latency element - * @returns {number} - * @private - */ - - function _calculateTimeOffset(sdLatency) { - var to = 0, - id; - var offset = prftOffsets.filter(function (prt) { - return prt.id === sdLatency.referenceId; - }); // If only one ProducerReferenceTime to generate one TO, then use that regardless of matching ids - - if (offset.length === 0) { - to = prftOffsets.length > 0 ? prftOffsets[0].to : 0; - id = prftOffsets[0].id || NaN; - } else { - // If multiple id matches, use the first but this should be invalid - to = offset[0].to || 0; - id = offset[0].id || NaN; - } - - return { - to: to, - id: id - }; - } - - instance = { - getServiceDescriptionSettings: getServiceDescriptionSettings, - getProducerReferenceTimeOffsets: getProducerReferenceTimeOffsets, - calculateProducerReferenceTimeOffsets: calculateProducerReferenceTimeOffsets, - applyServiceDescription: applyServiceDescription, - reset: reset, - setConfig: setConfig - }; - setup(); - return instance; -} - -ServiceDescriptionController.__dashjs_factory_name = 'ServiceDescriptionController'; -/* harmony default export */ __webpack_exports__["default"] = (_core_FactoryMaker__WEBPACK_IMPORTED_MODULE_0__["default"].getSingletonFactory(ServiceDescriptionController)); - -/***/ }), - /***/ "./src/streaming/controllers/StreamController.js": /*!*******************************************************!*\ !*** ./src/streaming/controllers/StreamController.js ***! @@ -43457,7 +46092,7 @@ var DVR_WAITING_OFFSET = 2; function StreamController() { var context = this.context; var eventBus = Object(_core_EventBus__WEBPACK_IMPORTED_MODULE_4__["default"])(context).getInstance(); - var instance, logger, capabilities, capabilitiesFilter, manifestUpdater, manifestLoader, manifestModel, adapter, dashMetrics, mediaSourceController, timeSyncController, baseURLController, segmentBaseController, uriFragmentModel, abrController, mediaController, eventController, initCache, urlUtils, errHandler, timelineConverter, streams, activeStream, protectionController, textController, protectionData, autoPlay, isStreamSwitchingInProgress, hasMediaError, hasInitialisationError, mediaSource, videoModel, playbackController, serviceDescriptionController, mediaPlayerModel, customParametersModel, isPaused, initialPlayback, playbackEndedTimerInterval, bufferSinks, preloadingStreams, supportsChangeType, settings, firstLicenseIsFetched, waitForPlaybackStartTimeout, providedStartTime, errorInformation; + var instance, logger, capabilities, capabilitiesFilter, manifestUpdater, manifestLoader, manifestModel, adapter, dashMetrics, mediaSourceController, timeSyncController, contentSteeringController, baseURLController, segmentBaseController, uriFragmentModel, abrController, mediaController, eventController, initCache, urlUtils, errHandler, timelineConverter, streams, activeStream, protectionController, textController, protectionData, autoPlay, isStreamSwitchingInProgress, hasMediaError, hasInitialisationError, mediaSource, videoModel, playbackController, serviceDescriptionController, mediaPlayerModel, customParametersModel, isPaused, initialPlayback, initialSteeringRequest, playbackEndedTimerInterval, bufferSinks, preloadingStreams, supportsChangeType, settings, firstLicenseIsFetched, waitForPlaybackStartTimeout, providedStartTime, errorInformation; function setup() { logger = Object(_core_Debug__WEBPACK_IMPORTED_MODULE_8__["default"])(context).getInstance().getLogger(instance); @@ -43658,6 +46293,12 @@ function StreamController() { } Promise.all(promises).then(function () { + if (settings.get().streaming.applyContentSteering && !activeStream && contentSteeringController.shouldQueryBeforeStart()) { + return contentSteeringController.loadSteeringData(); + } + + return Promise.resolve(); + }).then(function () { if (!activeStream) { _initializeForFirstStream(streamsInfo); } @@ -43742,12 +46383,13 @@ function StreamController() { _initializeForFirstStream(streamsInfo); }, waitingTime); return; - } // Apply Service description parameters. + } // Calculate the producer reference time offsets if given if (settings.get().streaming.applyProducerReferenceTime) { serviceDescriptionController.calculateProducerReferenceTimeOffsets(streamsInfo); - } + } // Apply Service description parameters. + var manifestInfo = streamsInfo[0].manifestInfo; @@ -44164,7 +46806,7 @@ function StreamController() { function _onLiveDelaySettingUpdated() { - if (adapter.getIsDynamic() && playbackController.getLiveDelay() !== 0) { + if (adapter.getIsDynamic() && playbackController.getOriginalLiveDelay() !== 0) { var streamsInfo = adapter.getStreamsInfo(); if (streamsInfo.length > 0) { @@ -44212,6 +46854,14 @@ function StreamController() { initialPlayback = false; } + if (initialSteeringRequest) { + initialSteeringRequest = false; // If this is the initial playback attempt and we have not yet triggered content steering now is the time + + if (settings.get().streaming.applyContentSteering && !contentSteeringController.shouldQueryBeforeStart()) { + contentSteeringController.loadSteeringData(); + } + } + isPaused = false; } /** @@ -44377,6 +47027,8 @@ function StreamController() { if (e && e.isLast) { _stopPlaybackEndedTimerInterval(); + + contentSteeringController.stopSteeringRequestTimer(); } } /** @@ -44502,7 +47154,7 @@ function StreamController() { var dvrInfo = dashMetrics.getCurrentDVRInfo(); var liveEdge = dvrInfo && dvrInfo.range ? dvrInfo.range.end : 0; // we are already in the right start period. so time should not be smaller than period@start and should not be larger than period@end - startTime = liveEdge - playbackController.getLiveDelay(); // If start time in URI, take min value between live edge time and time from URI (capped by DVR window range) + startTime = liveEdge - playbackController.getOriginalLiveDelay(); // If start time in URI, take min value between live edge time and time from URI (capped by DVR window range) var dvrWindow = dvrInfo ? dvrInfo.range : null; @@ -44941,6 +47593,10 @@ function StreamController() { serviceDescriptionController = config.serviceDescriptionController; } + if (config.contentSteeringController) { + contentSteeringController = config.contentSteeringController; + } + if (config.textController) { textController = config.textController; } @@ -44987,6 +47643,7 @@ function StreamController() { hasMediaError = false; hasInitialisationError = false; initialPlayback = true; + initialSteeringRequest = true; isPaused = false; autoPlay = true; playbackEndedTimerInterval = null; @@ -50593,26 +53250,6 @@ function MediaPlayerModel() { return playbackController.getInitialCatchupModeActivated(); } - /** - * Returns the threshold for which to apply the catchup logic - * @return {number} - */ - - - function getLiveCatchupLatencyThreshold() { - try { - var liveCatchupLatencyThreshold = settings.get().streaming.liveCatchup.latencyThreshold; - var liveDelay = playbackController.getLiveDelay(); - - if (liveCatchupLatencyThreshold !== null && !isNaN(liveCatchupLatencyThreshold)) { - return Math.max(liveCatchupLatencyThreshold, liveDelay); - } - - return NaN; - } catch (e) { - return NaN; - } - } /** * Returns the min,max or initial bitrate for a specific media type. * @param {string} field @@ -50677,7 +53314,7 @@ function MediaPlayerModel() { return playbackController.getLowLatencyModeEnabled() ? settings.get().streaming.retryAttempts[type] * lowLatencyMultiplyFactor : settings.get().streaming.retryAttempts[type]; } /** - * Returns the retry interbal for a specific media type + * Returns the retry interval for a specific media type * @param type * @return {number} */ @@ -50693,7 +53330,6 @@ function MediaPlayerModel() { instance = { getCatchupMaxDrift: getCatchupMaxDrift, getCatchupModeEnabled: getCatchupModeEnabled, - getLiveCatchupLatencyThreshold: getLiveCatchupLatencyThreshold, getStableBufferTime: getStableBufferTime, getInitialBufferLevel: getInitialBufferLevel, getRetryAttemptsForType: getRetryAttemptsForType, @@ -51709,6 +54345,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _core_FactoryMaker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../core/FactoryMaker */ "./src/core/FactoryMaker.js"); /* harmony import */ var _core_Settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../core/Settings */ "./src/core/Settings.js"); /* harmony import */ var _constants_Constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../constants/Constants */ "./src/streaming/constants/Constants.js"); +/* harmony import */ var _utils_RequestModifier__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/RequestModifier */ "./src/streaming/utils/RequestModifier.js"); function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } @@ -51756,6 +54393,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len + /** * @module FetchLoader * @ignore @@ -51777,6 +54415,16 @@ function FetchLoader(cfg) { } function load(httpRequest) { + if (requestModifier && requestModifier.modifyRequest) { + Object(_utils_RequestModifier__WEBPACK_IMPORTED_MODULE_3__["modifyRequest"])(httpRequest, requestModifier).then(function () { + return request(httpRequest); + }); + } else { + request(httpRequest); + } + } + + function request(httpRequest) { // Variables will be used in the callback functions var requestStartTime = new Date(); var request = httpRequest.request; @@ -51801,7 +54449,7 @@ function FetchLoader(cfg) { request.requestStartDate = requestStartTime; } - if (requestModifier) { + if (requestModifier && requestModifier.modifyRequestHeader) { // modifyRequestHeader expects a XMLHttpRequest object so, // to keep backward compatibility, we should expose a setRequestHeader method // TODO: Remove RequestModifier dependency on XMLHttpRequest object and define @@ -51810,6 +54458,8 @@ function FetchLoader(cfg) { setRequestHeader: function setRequestHeader(header, value) { headers.append(header, value); } + }, { + url: httpRequest.url }); } @@ -52503,7 +55153,7 @@ function HTTPLoader(cfg) { } var headers = null; - var modifiedUrl = requestModifier.modifyRequestURL(request.url); + var modifiedUrl = requestModifier.modifyRequestURL ? requestModifier.modifyRequestURL(request.url) : request.url; if (settings.get().streaming.cmcd && settings.get().streaming.cmcd.enabled) { var cmcdMode = settings.get().streaming.cmcd.mode; @@ -52793,99 +55443,101 @@ __webpack_require__.r(__webpack_exports__); */ -/** - * @class URLLoader - * @description Call Offline Loader or Online Loader depending on URL - * @param {Object} cfg - dependencies - * @ignore -*/ - -function URLLoader(cfg) { - cfg = cfg || {}; - var context = this.context; - var instance, schemeLoaderFactory, loader; - schemeLoaderFactory = Object(_streaming_net_SchemeLoaderFactory__WEBPACK_IMPORTED_MODULE_1__["default"])(context).getInstance(); - - function load(config) { - if (!loader) { - var loaderFactory = schemeLoaderFactory.getLoader(config && config.request ? config.request.url : null); - loader = loaderFactory(context).create({ - errHandler: cfg.errHandler, - mediaPlayerModel: cfg.mediaPlayerModel, - requestModifier: cfg.requestModifier, - dashMetrics: cfg.dashMetrics, - boxParser: cfg.boxParser ? cfg.boxParser : null, - constants: cfg.constants ? cfg.constants : null, - dashConstants: cfg.dashConstants ? cfg.dashConstants : null, - urlUtils: cfg.urlUtils ? cfg.urlUtils : null, - requestTimeout: !isNaN(cfg.requestTimeout) ? cfg.requestTimeout : 0, - errors: cfg.errors - }); - } - - loader.load(config); - } - - function abort() { - if (loader) { - loader.abort(); - } - } - - instance = { - load: load, - abort: abort - }; - return instance; -} - -URLLoader.__dashjs_factory_name = 'URLLoader'; -var factory = _core_FactoryMaker__WEBPACK_IMPORTED_MODULE_0__["default"].getClassFactory(URLLoader); -/* harmony default export */ __webpack_exports__["default"] = (factory); - -/***/ }), - -/***/ "./src/streaming/net/XHRLoader.js": -/*!****************************************!*\ - !*** ./src/streaming/net/XHRLoader.js ***! - \****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _core_FactoryMaker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../core/FactoryMaker */ "./src/core/FactoryMaker.js"); -/** - * The copyright in this software is being made available under the BSD License, - * included below. This software may be subject to other third party and contributor - * rights, including patent rights, and no such rights are granted under this license. - * - * Copyright (c) 2013, Dash Industry Forum. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation and/or - * other materials provided with the distribution. - * * Neither the name of Dash Industry Forum nor the names of its - * contributors may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - +/** + * @class URLLoader + * @description Call Offline Loader or Online Loader depending on URL + * @param {Object} cfg - dependencies + * @ignore +*/ + +function URLLoader(cfg) { + cfg = cfg || {}; + var context = this.context; + var instance, schemeLoaderFactory, loader; + schemeLoaderFactory = Object(_streaming_net_SchemeLoaderFactory__WEBPACK_IMPORTED_MODULE_1__["default"])(context).getInstance(); + + function load(config) { + if (!loader) { + var loaderFactory = schemeLoaderFactory.getLoader(config && config.request ? config.request.url : null); + loader = loaderFactory(context).create({ + errHandler: cfg.errHandler, + mediaPlayerModel: cfg.mediaPlayerModel, + requestModifier: cfg.requestModifier, + dashMetrics: cfg.dashMetrics, + boxParser: cfg.boxParser ? cfg.boxParser : null, + constants: cfg.constants ? cfg.constants : null, + dashConstants: cfg.dashConstants ? cfg.dashConstants : null, + urlUtils: cfg.urlUtils ? cfg.urlUtils : null, + requestTimeout: !isNaN(cfg.requestTimeout) ? cfg.requestTimeout : 0, + errors: cfg.errors + }); + } + + loader.load(config); + } + + function abort() { + if (loader) { + loader.abort(); + } + } + + instance = { + load: load, + abort: abort + }; + return instance; +} + +URLLoader.__dashjs_factory_name = 'URLLoader'; +var factory = _core_FactoryMaker__WEBPACK_IMPORTED_MODULE_0__["default"].getClassFactory(URLLoader); +/* harmony default export */ __webpack_exports__["default"] = (factory); + +/***/ }), + +/***/ "./src/streaming/net/XHRLoader.js": +/*!****************************************!*\ + !*** ./src/streaming/net/XHRLoader.js ***! + \****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _core_FactoryMaker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../core/FactoryMaker */ "./src/core/FactoryMaker.js"); +/* harmony import */ var _utils_RequestModifier__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/RequestModifier */ "./src/streaming/utils/RequestModifier.js"); +/** + * The copyright in this software is being made available under the BSD License, + * included below. This software may be subject to other third party and contributor + * rights, including patent rights, and no such rights are granted under this license. + * + * Copyright (c) 2013, Dash Industry Forum. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation and/or + * other materials provided with the distribution. + * * Neither the name of Dash Industry Forum nor the names of its + * contributors may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + + /** * @module XHRLoader * @ignore @@ -52899,6 +55551,16 @@ function XHRLoader(cfg) { var instance; function load(httpRequest) { + if (requestModifier && requestModifier.modifyRequest) { + Object(_utils_RequestModifier__WEBPACK_IMPORTED_MODULE_1__["modifyRequest"])(httpRequest, requestModifier).then(function () { + return request(httpRequest); + }); + } else { + request(httpRequest); + } + } + + function request(httpRequest) { // Variables will be used in the callback functions var requestStartTime = new Date(); var request = httpRequest.request; @@ -52917,8 +55579,10 @@ function XHRLoader(cfg) { request.requestStartDate = requestStartTime; } - if (requestModifier) { - xhr = requestModifier.modifyRequestHeader(xhr); + if (requestModifier && requestModifier.modifyRequestHeader) { + xhr = requestModifier.modifyRequestHeader(xhr, { + url: httpRequest.url + }); } if (httpRequest.headers) { @@ -53831,11 +56495,11 @@ function ProtectionController(config) { var cmcdModel = config.cmcdModel; var settings = config.settings; var customParametersModel = config.customParametersModel; - var instance, logger, pendingKeySystemData, mediaInfoArr, protDataSet, sessionType, robustnessLevel, selectedKeySystem, keySystemSelectionInProgress, licenseXhrRequest, licenseRequestRetryTimeout; + var instance, logger, pendingKeySessionsToHandle, mediaInfoArr, protDataSet, sessionType, robustnessLevel, selectedKeySystem, keySystemSelectionInProgress, licenseXhrRequest, licenseRequestRetryTimeout; function setup() { logger = debug.getLogger(instance); - pendingKeySystemData = []; + pendingKeySessionsToHandle = []; mediaInfoArr = []; sessionType = 'temporary'; robustnessLevel = ''; @@ -53869,132 +56533,157 @@ function ProtectionController(config) { } checkConfig(); - mediaInfoArr.push(mediaInfo); // ContentProtection elements are specified at the AdaptationSet level, so the CP for audio - // and video will be the same. Just use one valid MediaInfo object + mediaInfoArr.push(mediaInfo); + } + /** + * Once all mediaInfo objects have been added to our mediaInfoArray we can select a key system or check if the kid has changed and we need to trigger a new license request + * @memberof module:ProtectionController + * @instance + */ + + + function handleKeySystemFromManifest() { + if (!mediaInfoArr || mediaInfoArr.length === 0) { + return; + } + + var supportedKeySystems = []; + mediaInfoArr.forEach(function (mInfo) { + var currentKs = protectionKeyController.getSupportedKeySystemsFromContentProtection(mInfo.contentProtection, protDataSet, sessionType); // We assume that the same key systems are signaled for each AS. We can use the first entry we found + + if (currentKs.length > 0) { + if (supportedKeySystems.length === 0) { + supportedKeySystems = currentKs; + } // Save config for creating key session once we selected a key system + - var supportedKS = protectionKeyController.getSupportedKeySystemsFromContentProtection(mediaInfo.contentProtection, protDataSet, sessionType); + pendingKeySessionsToHandle.push(currentKs); + } + }); - if (supportedKS && supportedKS.length > 0) { - _selectKeySystem(supportedKS, true); + if (supportedKeySystems && supportedKeySystems.length > 0) { + _selectKeySystemOrUpdateKeySessions(supportedKeySystems, true); } } /** * Selects a key system if we dont have any one yet. Otherwise we use the existing key system and trigger a new license request if the initdata has changed - * @param {array} supportedKS - * @param {boolean} fromManifest + * @param {array} supportedKs * @private */ - function _selectKeySystem(supportedKS, fromManifest) { - // We are in the process of selecting a key system, so just save the data which might be coming from additional AdaptationSets. - if (keySystemSelectionInProgress) { - pendingKeySystemData.push(supportedKS); - } // First time, so we need to select a key system - else if (!selectedKeySystem) { - _selectInitialKeySystem(supportedKS, fromManifest); - } // We already selected a key system. We only need to trigger a new license exchange if the init data has changed - else if (selectedKeySystem) { - _initiateWithExistingKeySystem(supportedKS); - } + function _handleKeySystemFromPssh(supportedKs) { + pendingKeySessionsToHandle.push(supportedKs); + + _selectKeySystemOrUpdateKeySessions(supportedKs, false); } /** - * We do not have a key system yet. Select one - * @param {array} supportedKS + * Select the key system or update one of our existing key sessions + * @param {array} supportedKs * @param {boolean} fromManifest * @private */ - function _selectInitialKeySystem(supportedKS, fromManifest) { - keySystemSelectionInProgress = true; - var requestedKeySystems = []; // Reorder key systems according to priority order provided in protectionData + function _selectKeySystemOrUpdateKeySessions(supportedKs, fromManifest) { + // First time, so we need to select a key system + if (!selectedKeySystem && !keySystemSelectionInProgress) { + _selectInitialKeySystem(supportedKs, fromManifest); + } // We already selected a key system. We only need to trigger a new license exchange if the init data has changed + else if (selectedKeySystem) { + _handleKeySessions(); + } + } + /** + * We do not have a key system yet. Select one + * @param {array} supportedKs + * @param {boolean} fromManifest + * @private + */ - supportedKS = supportedKS.sort(function (ksA, ksB) { - var indexA = protDataSet && protDataSet[ksA.ks.systemString] && protDataSet[ksA.ks.systemString].priority >= 0 ? protDataSet[ksA.ks.systemString].priority : supportedKS.length; - var indexB = protDataSet && protDataSet[ksB.ks.systemString] && protDataSet[ksB.ks.systemString].priority >= 0 ? protDataSet[ksB.ks.systemString].priority : supportedKS.length; - return indexA - indexB; - }); - pendingKeySystemData.push(supportedKS); // Add all key systems to our request list since we have yet to select a key system - for (var i = 0; i < supportedKS.length; i++) { - var keySystemConfiguration = _getKeySystemConfiguration(supportedKS[i]); + function _selectInitialKeySystem(supportedKs, fromManifest) { + if (!keySystemSelectionInProgress) { + keySystemSelectionInProgress = true; + var requestedKeySystems = []; // Reorder key systems according to priority order provided in protectionData - requestedKeySystems.push({ - ks: supportedKS[i].ks, - configs: [keySystemConfiguration], - protData: supportedKS[i].protData - }); - } + supportedKs = supportedKs.sort(function (ksA, ksB) { + var indexA = protDataSet && protDataSet[ksA.ks.systemString] && protDataSet[ksA.ks.systemString].priority >= 0 ? protDataSet[ksA.ks.systemString].priority : supportedKs.length; + var indexB = protDataSet && protDataSet[ksB.ks.systemString] && protDataSet[ksB.ks.systemString].priority >= 0 ? protDataSet[ksB.ks.systemString].priority : supportedKs.length; + return indexA - indexB; + }); // Add all key systems to our request list since we have yet to select a key system - var keySystemAccess; - protectionModel.requestKeySystemAccess(requestedKeySystems).then(function (event) { - keySystemAccess = event.data; - var selectedSystemString = keySystemAccess.mksa && keySystemAccess.mksa.selectedSystemString ? keySystemAccess.mksa.selectedSystemString : keySystemAccess.keySystem.systemString; - logger.info('DRM: KeySystem Access Granted for system string (' + selectedSystemString + ')! Selecting key system...'); - return protectionModel.selectKeySystem(keySystemAccess); - }).then(function (keySystem) { - selectedKeySystem = keySystem; - keySystemSelectionInProgress = false; + for (var i = 0; i < supportedKs.length; i++) { + var keySystemConfiguration = _getKeySystemConfiguration(supportedKs[i]); - if (!protectionModel) { - return; + requestedKeySystems.push({ + ks: supportedKs[i].ks, + configs: [keySystemConfiguration], + protData: supportedKs[i].protData + }); } - eventBus.trigger(events.KEY_SYSTEM_SELECTED, { - data: keySystemAccess - }); // Set server certificate from protData + var keySystemAccess; + protectionModel.requestKeySystemAccess(requestedKeySystems).then(function (event) { + keySystemAccess = event.data; + var selectedSystemString = keySystemAccess.mksa && keySystemAccess.mksa.selectedSystemString ? keySystemAccess.mksa.selectedSystemString : keySystemAccess.keySystem.systemString; + logger.info('DRM: KeySystem Access Granted for system string (' + selectedSystemString + ')! Selecting key system...'); + return protectionModel.selectKeySystem(keySystemAccess); + }).then(function (keySystem) { + selectedKeySystem = keySystem; + keySystemSelectionInProgress = false; - var protData = _getProtDataForKeySystem(selectedKeySystem); - - if (protData && protData.serverCertificate && protData.serverCertificate.length > 0) { - protectionModel.setServerCertificate(BASE64.decodeArray(protData.serverCertificate).buffer); - } // Create key sessions for the different AdaptationSets + if (!protectionModel) { + return; + } + eventBus.trigger(events.KEY_SYSTEM_SELECTED, { + data: keySystemAccess + }); // Set server certificate from protData - var ksIdx; + var protData = _getProtDataForKeySystem(selectedKeySystem); - for (var _i = 0; _i < pendingKeySystemData.length; _i++) { - for (ksIdx = 0; ksIdx < pendingKeySystemData[_i].length; ksIdx++) { - if (selectedKeySystem === pendingKeySystemData[_i][ksIdx].ks) { - var current = pendingKeySystemData[_i][ksIdx]; + if (protData && protData.serverCertificate && protData.serverCertificate.length > 0) { + protectionModel.setServerCertificate(BASE64.decodeArray(protData.serverCertificate).buffer); + } - _loadOrCreateKeySession(current); + _handleKeySessions(); + })["catch"](function (event) { + selectedKeySystem = null; + keySystemSelectionInProgress = false; - break; - } + if (!fromManifest) { + eventBus.trigger(events.KEY_SYSTEM_SELECTED, { + data: null, + error: new _vo_DashJSError__WEBPACK_IMPORTED_MODULE_4__["default"](_errors_ProtectionErrors__WEBPACK_IMPORTED_MODULE_3__["default"].KEY_SYSTEM_ACCESS_DENIED_ERROR_CODE, _errors_ProtectionErrors__WEBPACK_IMPORTED_MODULE_3__["default"].KEY_SYSTEM_ACCESS_DENIED_ERROR_MESSAGE + 'Error selecting key system! -- ' + event.error) + }); } - } - })["catch"](function (event) { - selectedKeySystem = null; - keySystemSelectionInProgress = false; - - if (!fromManifest) { - eventBus.trigger(events.KEY_SYSTEM_SELECTED, { - data: null, - error: new _vo_DashJSError__WEBPACK_IMPORTED_MODULE_4__["default"](_errors_ProtectionErrors__WEBPACK_IMPORTED_MODULE_3__["default"].KEY_SYSTEM_ACCESS_DENIED_ERROR_CODE, _errors_ProtectionErrors__WEBPACK_IMPORTED_MODULE_3__["default"].KEY_SYSTEM_ACCESS_DENIED_ERROR_MESSAGE + 'Error selecting key system! -- ' + event.error) - }); - } - }); + }); + } } /** - * If we have already selected a keysytem we only need to create a new key session and issue a new license request if the init data has changed. - * @param {array} supportedKS + * If we have already selected a key system we only need to create a new key session and issue a new license request if the init data has changed. * @private */ - function _initiateWithExistingKeySystem(supportedKS) { - var ksIdx = supportedKS.findIndex(function (entry) { - return entry.ks === selectedKeySystem; - }); - var current = supportedKS[ksIdx]; + function _handleKeySessions() { + // Create key sessions for the different AdaptationSets + var ksIdx; - if (ksIdx === -1 || !current.initData) { - return; + for (var i = 0; i < pendingKeySessionsToHandle.length; i++) { + for (ksIdx = 0; ksIdx < pendingKeySessionsToHandle[i].length; ksIdx++) { + if (selectedKeySystem === pendingKeySessionsToHandle[i][ksIdx].ks) { + var current = pendingKeySessionsToHandle[i][ksIdx]; + + _loadOrCreateKeySession(current); + + break; + } + } } - _loadOrCreateKeySession(current); + pendingKeySessionsToHandle = []; } /** * Loads an existing key session if we already have a session id. Otherwise we create a new key session @@ -54354,7 +57043,7 @@ function ProtectionController(config) { }); needkeyRetries = []; mediaInfoArr = []; - pendingKeySystemData = []; + pendingKeySessionsToHandle = []; } /** * Returns an object corresponding to the EME MediaKeySystemConfiguration dictionary @@ -54850,14 +57539,14 @@ function ProtectionController(config) { } logger.debug('DRM: initData:', String.fromCharCode.apply(null, new Uint8Array(abInitData))); - var supportedKS = protectionKeyController.getSupportedKeySystemsFromSegmentPssh(abInitData, protDataSet, sessionType); + var supportedKs = protectionKeyController.getSupportedKeySystemsFromSegmentPssh(abInitData, protDataSet, sessionType); - if (supportedKS.length === 0) { + if (supportedKs.length === 0) { logger.debug('DRM: Received needkey event with initData, but we don\'t support any of the key systems!'); return; } - _selectKeySystem(supportedKS, false); + _handleKeySystemFromPssh(supportedKs); } } /** @@ -54884,6 +57573,7 @@ function ProtectionController(config) { instance = { initializeForMedia: initializeForMedia, clearMediaInfoArray: clearMediaInfoArray, + handleKeySystemFromManifest: handleKeySystemFromManifest, createKeySession: createKeySession, loadKeySession: loadKeySession, removeKeySession: removeKeySession, @@ -55462,7 +58152,7 @@ function KeySystemClearKey(config) { kid = btoa(kid.match(/\w{2}/g).map(function (a) { return String.fromCharCode(parseInt(a, 16)); }).join('')); - return kid.replace(/=/g, ''); + return kid.replace(/=/g, '').replace(/\//g, '_').replace(/\+/g, '-'); } catch (e) { return null; } @@ -59031,9 +61721,9 @@ function DroppedFramesHistory() { var droppedVideoFrames = playbackQuality && playbackQuality.droppedVideoFrames ? playbackQuality.droppedVideoFrames : 0; var totalVideoFrames = playbackQuality && playbackQuality.totalVideoFrames ? playbackQuality.totalVideoFrames : 0; - var intervalDroppedFrames = droppedVideoFrames - lastDroppedFrames; + var intervalDroppedFrames = droppedVideoFrames - lastDroppedFrames[streamId]; lastDroppedFrames[streamId] = droppedVideoFrames; - var intervalTotalFrames = totalVideoFrames - lastTotalFrames; + var intervalTotalFrames = totalVideoFrames - lastTotalFrames[streamId]; lastTotalFrames[streamId] = totalVideoFrames; var current = values[streamId]; @@ -65984,6 +68674,8 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _core_FactoryMaker__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../core/FactoryMaker */ "./src/core/FactoryMaker.js"); /* harmony import */ var _vo_DashJSError__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../vo/DashJSError */ "./src/streaming/vo/DashJSError.js"); /* harmony import */ var _utils_SupervisorTools__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/SupervisorTools */ "./src/streaming/utils/SupervisorTools.js"); +/* harmony import */ var _baseUrlResolution_ContentSteeringSelector__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./baseUrlResolution/ContentSteeringSelector */ "./src/streaming/utils/baseUrlResolution/ContentSteeringSelector.js"); +/* harmony import */ var _core_Settings__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../core/Settings */ "./src/core/Settings.js"); /** * The copyright in this software is being made available under the BSD License, * included below. This software may be subject to other third party and contributor @@ -66024,10 +68716,13 @@ __webpack_require__.r(__webpack_exports__); + + function BaseURLSelector() { var context = this.context; var eventBus = Object(_core_EventBus__WEBPACK_IMPORTED_MODULE_1__["default"])(context).getInstance(); - var instance, serviceLocationBlacklistController, basicSelector, dvbSelector, selector; + var settings = Object(_core_Settings__WEBPACK_IMPORTED_MODULE_10__["default"])(context).getInstance(); + var instance, serviceLocationBlacklistController, basicSelector, dvbSelector, contentSteeringSelector, selector; function setup() { serviceLocationBlacklistController = Object(_controllers_BlacklistController__WEBPACK_IMPORTED_MODULE_3__["default"])(context).create({ @@ -66040,6 +68735,10 @@ function BaseURLSelector() { dvbSelector = Object(_baseUrlResolution_DVBSelector__WEBPACK_IMPORTED_MODULE_4__["default"])(context).create({ blacklistController: serviceLocationBlacklistController }); + contentSteeringSelector = Object(_baseUrlResolution_ContentSteeringSelector__WEBPACK_IMPORTED_MODULE_9__["default"])(context).create(); + contentSteeringSelector.setConfig({ + blacklistController: serviceLocationBlacklistController + }); selector = basicSelector; } @@ -66047,6 +68746,10 @@ function BaseURLSelector() { if (config.selector) { selector = config.selector; } + + if (config.contentSteeringSelector) { + contentSteeringSelector = config.contentSteeringSelector; + } } function chooseSelector(isDVB) { @@ -66057,18 +68760,25 @@ function BaseURLSelector() { function select(data) { if (!data) { return; - } + } // Check if we got any instructions from the content steering element in the MPD or from the content steering server - var baseUrls = data.baseUrls; - var selectedIdx = data.selectedIdx; // Once a random selection has been carried out amongst a group of BaseURLs with the same + + if (settings.get().streaming.applyContentSteering) { + var steeringIndex = contentSteeringSelector.selectBaseUrlIndex(data); + + if (!isNaN(steeringIndex) && steeringIndex !== -1) { + data.selectedIdx = steeringIndex; + } + } // Once a random selection has been carried out amongst a group of BaseURLs with the same // @priority attribute value, then that choice should be re-used if the selection needs to be made again // unless the blacklist has been modified or the available BaseURLs have changed. - if (!isNaN(selectedIdx)) { - return baseUrls[selectedIdx]; + + if (!isNaN(data.selectedIdx)) { + return data.baseUrls[data.selectedIdx]; } - var selectedBaseUrl = selector.select(baseUrls); + var selectedBaseUrl = selector.select(data.baseUrls); if (!selectedBaseUrl) { eventBus.trigger(_core_events_Events__WEBPACK_IMPORTED_MODULE_2__["default"].URL_RESOLUTION_FAILED, { @@ -66082,7 +68792,7 @@ function BaseURLSelector() { return; } - data.selectedIdx = baseUrls.indexOf(selectedBaseUrl); + data.selectedIdx = data.baseUrls.indexOf(selectedBaseUrl); return selectedBaseUrl; } @@ -68335,11 +71045,12 @@ ObjectUtils.__dashjs_factory_name = 'ObjectUtils'; /*!************************************************!*\ !*** ./src/streaming/utils/RequestModifier.js ***! \************************************************/ -/*! exports provided: default */ +/*! exports provided: modifyRequest, default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "modifyRequest", function() { return modifyRequest; }); /* harmony import */ var _core_FactoryMaker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../core/FactoryMaker */ "./src/core/FactoryMaker.js"); /** * The copyright in this software is being made available under the BSD License, @@ -68372,19 +71083,35 @@ __webpack_require__.r(__webpack_exports__); * POSSIBILITY OF SUCH DAMAGE. */ +function modifyRequest(httpRequest, requestModifier) { + var request = { + url: httpRequest.url, + method: httpRequest.method, + headers: Object.assign({}, httpRequest.headers), + credentials: httpRequest.withCredentials ? 'include' : undefined + }; + return Promise.resolve(requestModifier.modifyRequest(request)).then(function () { + return Object.assign(httpRequest, request, { + withCredentials: request.credentials === 'include' + }); + }); +} function RequestModifier() { var instance; function modifyRequestURL(url) { return url; - } + } // eslint-disable-next-line no-unused-vars - function modifyRequestHeader(request) { + + function modifyRequestHeader(request, _ref) { + var url = _ref.url; return request; } instance = { + modifyRequest: null, modifyRequestURL: modifyRequestURL, modifyRequestHeader: modifyRequestHeader }; @@ -69184,6 +71911,131 @@ BasicSelector.__dashjs_factory_name = 'BasicSelector'; /***/ }), +/***/ "./src/streaming/utils/baseUrlResolution/ContentSteeringSelector.js": +/*!**************************************************************************!*\ + !*** ./src/streaming/utils/baseUrlResolution/ContentSteeringSelector.js ***! + \**************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _core_FactoryMaker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../core/FactoryMaker */ "./src/core/FactoryMaker.js"); +/* harmony import */ var _dash_controllers_ContentSteeringController__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../dash/controllers/ContentSteeringController */ "./src/dash/controllers/ContentSteeringController.js"); +/** + * The copyright in this software is being made available under the BSD License, + * included below. This software may be subject to other third party and contributor + * rights, including patent rights, and no such rights are granted under this license. + * + * Copyright (c) 2013, Dash Industry Forum. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation and/or + * other materials provided with the distribution. + * * Neither the name of Dash Industry Forum nor the names of its + * contributors may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + + + +function ContentSteeringSelector() { + var context = this.context; + var instance, contentSteeringController, blacklistController; + + function setup() { + contentSteeringController = Object(_dash_controllers_ContentSteeringController__WEBPACK_IMPORTED_MODULE_1__["default"])(context).getInstance(); + } + + function setConfig(config) { + if (config.blacklistController) { + blacklistController = config.blacklistController; + } + + if (config.contentSteeringController) { + contentSteeringController = config.contentSteeringController; + } + } + + function selectBaseUrlIndex(data) { + var steeringIndex = NaN; // In case we dont have a selected idx yet we consider the defaultServiceLocation + + if (isNaN(data.selectedIdx)) { + var steeringDataFromMpd = contentSteeringController.getSteeringDataFromManifest(); + + if (steeringDataFromMpd && steeringDataFromMpd.defaultServiceLocation) { + steeringIndex = _findexIndexOfServiceLocation([steeringDataFromMpd.defaultServiceLocation], data.baseUrls); + } + } // Search in the response data of the steering server + + + var currentSteeringResponseData = contentSteeringController.getCurrentSteeringResponseData(); + + if (data.baseUrls && data.baseUrls.length && currentSteeringResponseData && currentSteeringResponseData.serviceLocationPriority && currentSteeringResponseData.serviceLocationPriority.length) { + steeringIndex = _findexIndexOfServiceLocation(currentSteeringResponseData.serviceLocationPriority, data.baseUrls); + } + + return steeringIndex; + } + + function _findexIndexOfServiceLocation() { + var serviceLocationPriorities = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; + var baseUrls = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; + var i = 0; + var steeringIndex = NaN; + + var _loop = function _loop() { + var curr = serviceLocationPriorities[i]; + var idx = baseUrls.findIndex(function (elem) { + return elem.serviceLocation && elem.serviceLocation === curr; + }); + + if (idx !== -1 && !blacklistController.contains(baseUrls[idx].serviceLocation)) { + steeringIndex = idx; + return "break"; + } + + i += 1; + }; + + while (i < serviceLocationPriorities.length) { + var _ret = _loop(); + + if (_ret === "break") break; + } + + return steeringIndex; + } + + instance = { + selectBaseUrlIndex: selectBaseUrlIndex, + setConfig: setConfig + }; + setup(); + return instance; +} + +ContentSteeringSelector.__dashjs_factory_name = 'ContentSteeringSelector'; +/* harmony default export */ __webpack_exports__["default"] = (_core_FactoryMaker__WEBPACK_IMPORTED_MODULE_0__["default"].getClassFactory(ContentSteeringSelector)); + +/***/ }), + /***/ "./src/streaming/utils/baseUrlResolution/DVBSelector.js": /*!**************************************************************!*\ !*** ./src/streaming/utils/baseUrlResolution/DVBSelector.js ***! @@ -70904,6 +73756,7 @@ HTTPRequest.BITSTREAM_SWITCHING_SEGMENT_TYPE = 'BitstreamSwitchingSegment'; HTTPRequest.MSS_FRAGMENT_INFO_SEGMENT_TYPE = 'FragmentInfoSegment'; HTTPRequest.DVB_REPORTING_TYPE = 'DVBReporting'; HTTPRequest.LICENSE = 'license'; +HTTPRequest.CONTENT_STEERING_TYPE = 'ContentSteering'; HTTPRequest.OTHER_TYPE = 'other'; diff --git a/dist/dash.all.debug.js.map b/dist/dash.all.debug.js.map index d3e1234056..824c570db5 100644 --- a/dist/dash.all.debug.js.map +++ b/dist/dash.all.debug.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://dashjs/webpack/universalModuleDefinition","webpack://dashjs/webpack/bootstrap","webpack://dashjs/./externals/base64.js","webpack://dashjs/./externals/cea608-parser.js","webpack://dashjs/./externals/xml2json.js","webpack://dashjs/./index.js","webpack://dashjs/./index_mediaplayerOnly.js","webpack://dashjs/./node_modules/base64-js/index.js","webpack://dashjs/./node_modules/codem-isoboxer/dist/iso_boxer.js","webpack://dashjs/./node_modules/core-util-is/lib/util.js","webpack://dashjs/./node_modules/es6-promise/auto.js","webpack://dashjs/./node_modules/es6-promise/dist/es6-promise.js","webpack://dashjs/./node_modules/fast-deep-equal/index.js","webpack://dashjs/./node_modules/ieee754/index.js","webpack://dashjs/./node_modules/imsc/src/main/js/doc.js","webpack://dashjs/./node_modules/imsc/src/main/js/html.js","webpack://dashjs/./node_modules/imsc/src/main/js/isd.js","webpack://dashjs/./node_modules/imsc/src/main/js/main.js","webpack://dashjs/./node_modules/imsc/src/main/js/names.js","webpack://dashjs/./node_modules/imsc/src/main/js/styles.js","webpack://dashjs/./node_modules/imsc/src/main/js/utils.js","webpack://dashjs/./node_modules/inherits/inherits_browser.js","webpack://dashjs/./node_modules/isarray/index.js","webpack://dashjs/./node_modules/node-libs-browser/node_modules/buffer/index.js","webpack://dashjs/./node_modules/node-libs-browser/node_modules/events/events.js","webpack://dashjs/./node_modules/node-libs-browser/node_modules/timers-browserify/main.js","webpack://dashjs/./node_modules/path-browserify/index.js","webpack://dashjs/./node_modules/process-nextick-args/index.js","webpack://dashjs/./node_modules/process/browser.js","webpack://dashjs/./node_modules/readable-stream/duplex-browser.js","webpack://dashjs/./node_modules/readable-stream/lib/_stream_duplex.js","webpack://dashjs/./node_modules/readable-stream/lib/_stream_passthrough.js","webpack://dashjs/./node_modules/readable-stream/lib/_stream_readable.js","webpack://dashjs/./node_modules/readable-stream/lib/_stream_transform.js","webpack://dashjs/./node_modules/readable-stream/lib/_stream_writable.js","webpack://dashjs/./node_modules/readable-stream/lib/internal/streams/BufferList.js","webpack://dashjs/./node_modules/readable-stream/lib/internal/streams/destroy.js","webpack://dashjs/./node_modules/readable-stream/lib/internal/streams/stream-browser.js","webpack://dashjs/./node_modules/readable-stream/passthrough.js","webpack://dashjs/./node_modules/readable-stream/readable-browser.js","webpack://dashjs/./node_modules/readable-stream/transform.js","webpack://dashjs/./node_modules/readable-stream/writable-browser.js","webpack://dashjs/./node_modules/safe-buffer/index.js","webpack://dashjs/./node_modules/sax/lib/sax.js","webpack://dashjs/./node_modules/setimmediate/setImmediate.js","webpack://dashjs/./node_modules/stream-browserify/index.js","webpack://dashjs/./node_modules/string_decoder/lib/string_decoder.js","webpack://dashjs/./node_modules/util-deprecate/browser.js","webpack://dashjs/(webpack)/buildin/global.js","webpack://dashjs/./src/core/Debug.js","webpack://dashjs/./src/core/EventBus.js","webpack://dashjs/./src/core/FactoryMaker.js","webpack://dashjs/./src/core/Settings.js","webpack://dashjs/./src/core/Utils.js","webpack://dashjs/./src/core/Version.js","webpack://dashjs/./src/core/errors/Errors.js","webpack://dashjs/./src/core/errors/ErrorsBase.js","webpack://dashjs/./src/core/events/CoreEvents.js","webpack://dashjs/./src/core/events/Events.js","webpack://dashjs/./src/core/events/EventsBase.js","webpack://dashjs/./src/dash/DashAdapter.js","webpack://dashjs/./src/dash/DashHandler.js","webpack://dashjs/./src/dash/DashMetrics.js","webpack://dashjs/./src/dash/SegmentBaseLoader.js","webpack://dashjs/./src/dash/WebmSegmentBaseLoader.js","webpack://dashjs/./src/dash/constants/DashConstants.js","webpack://dashjs/./src/dash/controllers/RepresentationController.js","webpack://dashjs/./src/dash/controllers/SegmentBaseController.js","webpack://dashjs/./src/dash/controllers/SegmentsController.js","webpack://dashjs/./src/dash/models/DashManifestModel.js","webpack://dashjs/./src/dash/models/PatchManifestModel.js","webpack://dashjs/./src/dash/parser/DashParser.js","webpack://dashjs/./src/dash/parser/maps/CommonProperty.js","webpack://dashjs/./src/dash/parser/maps/MapNode.js","webpack://dashjs/./src/dash/parser/maps/RepresentationBaseValuesMap.js","webpack://dashjs/./src/dash/parser/maps/SegmentValuesMap.js","webpack://dashjs/./src/dash/parser/matchers/BaseMatcher.js","webpack://dashjs/./src/dash/parser/matchers/DateTimeMatcher.js","webpack://dashjs/./src/dash/parser/matchers/DurationMatcher.js","webpack://dashjs/./src/dash/parser/matchers/NumericMatcher.js","webpack://dashjs/./src/dash/parser/matchers/StringMatcher.js","webpack://dashjs/./src/dash/parser/objectiron.js","webpack://dashjs/./src/dash/utils/ListSegmentsGetter.js","webpack://dashjs/./src/dash/utils/Round10.js","webpack://dashjs/./src/dash/utils/SegmentBaseGetter.js","webpack://dashjs/./src/dash/utils/SegmentsUtils.js","webpack://dashjs/./src/dash/utils/TemplateSegmentsGetter.js","webpack://dashjs/./src/dash/utils/TimelineConverter.js","webpack://dashjs/./src/dash/utils/TimelineSegmentsGetter.js","webpack://dashjs/./src/dash/vo/AdaptationSet.js","webpack://dashjs/./src/dash/vo/BaseURL.js","webpack://dashjs/./src/dash/vo/Event.js","webpack://dashjs/./src/dash/vo/EventStream.js","webpack://dashjs/./src/dash/vo/ManifestInfo.js","webpack://dashjs/./src/dash/vo/MediaInfo.js","webpack://dashjs/./src/dash/vo/Mpd.js","webpack://dashjs/./src/dash/vo/PatchOperation.js","webpack://dashjs/./src/dash/vo/Period.js","webpack://dashjs/./src/dash/vo/ProducerReferenceTime.js","webpack://dashjs/./src/dash/vo/Representation.js","webpack://dashjs/./src/dash/vo/RepresentationInfo.js","webpack://dashjs/./src/dash/vo/Segment.js","webpack://dashjs/./src/dash/vo/SimpleXPath.js","webpack://dashjs/./src/dash/vo/StreamInfo.js","webpack://dashjs/./src/dash/vo/UTCTiming.js","webpack://dashjs/./src/streaming/FragmentLoader.js","webpack://dashjs/./src/streaming/ManifestLoader.js","webpack://dashjs/./src/streaming/ManifestUpdater.js","webpack://dashjs/./src/streaming/MediaPlayer.js","webpack://dashjs/./src/streaming/MediaPlayerEvents.js","webpack://dashjs/./src/streaming/MediaPlayerFactory.js","webpack://dashjs/./src/streaming/SourceBufferSink.js","webpack://dashjs/./src/streaming/Stream.js","webpack://dashjs/./src/streaming/StreamProcessor.js","webpack://dashjs/./src/streaming/XlinkLoader.js","webpack://dashjs/./src/streaming/constants/ConformanceViolationConstants.js","webpack://dashjs/./src/streaming/constants/Constants.js","webpack://dashjs/./src/streaming/constants/MetricsConstants.js","webpack://dashjs/./src/streaming/constants/ProtectionConstants.js","webpack://dashjs/./src/streaming/controllers/AbrController.js","webpack://dashjs/./src/streaming/controllers/BaseURLController.js","webpack://dashjs/./src/streaming/controllers/BlacklistController.js","webpack://dashjs/./src/streaming/controllers/BufferController.js","webpack://dashjs/./src/streaming/controllers/CatchupController.js","webpack://dashjs/./src/streaming/controllers/EventController.js","webpack://dashjs/./src/streaming/controllers/FragmentController.js","webpack://dashjs/./src/streaming/controllers/GapController.js","webpack://dashjs/./src/streaming/controllers/MediaController.js","webpack://dashjs/./src/streaming/controllers/MediaSourceController.js","webpack://dashjs/./src/streaming/controllers/PlaybackController.js","webpack://dashjs/./src/streaming/controllers/ScheduleController.js","webpack://dashjs/./src/streaming/controllers/ServiceDescriptionController.js","webpack://dashjs/./src/streaming/controllers/StreamController.js","webpack://dashjs/./src/streaming/controllers/TimeSyncController.js","webpack://dashjs/./src/streaming/controllers/XlinkController.js","webpack://dashjs/./src/streaming/metrics/MetricsReporting.js","webpack://dashjs/./src/streaming/metrics/MetricsReportingEvents.js","webpack://dashjs/./src/streaming/metrics/controllers/MetricsCollectionController.js","webpack://dashjs/./src/streaming/metrics/controllers/MetricsController.js","webpack://dashjs/./src/streaming/metrics/controllers/MetricsHandlersController.js","webpack://dashjs/./src/streaming/metrics/controllers/RangeController.js","webpack://dashjs/./src/streaming/metrics/controllers/ReportingController.js","webpack://dashjs/./src/streaming/metrics/metrics/MetricsHandlerFactory.js","webpack://dashjs/./src/streaming/metrics/metrics/handlers/BufferLevelHandler.js","webpack://dashjs/./src/streaming/metrics/metrics/handlers/DVBErrorsHandler.js","webpack://dashjs/./src/streaming/metrics/metrics/handlers/GenericMetricHandler.js","webpack://dashjs/./src/streaming/metrics/metrics/handlers/HttpListHandler.js","webpack://dashjs/./src/streaming/metrics/reporting/ReportingFactory.js","webpack://dashjs/./src/streaming/metrics/reporting/reporters/DVBReporting.js","webpack://dashjs/./src/streaming/metrics/utils/DVBErrorsTranslator.js","webpack://dashjs/./src/streaming/metrics/utils/HandlerHelpers.js","webpack://dashjs/./src/streaming/metrics/utils/ManifestParsing.js","webpack://dashjs/./src/streaming/metrics/utils/MetricSerialiser.js","webpack://dashjs/./src/streaming/metrics/utils/RNG.js","webpack://dashjs/./src/streaming/metrics/vo/DVBErrors.js","webpack://dashjs/./src/streaming/metrics/vo/Metrics.js","webpack://dashjs/./src/streaming/metrics/vo/Range.js","webpack://dashjs/./src/streaming/metrics/vo/Reporting.js","webpack://dashjs/./src/streaming/models/BaseURLTreeModel.js","webpack://dashjs/./src/streaming/models/CmcdModel.js","webpack://dashjs/./src/streaming/models/CustomParametersModel.js","webpack://dashjs/./src/streaming/models/FragmentModel.js","webpack://dashjs/./src/streaming/models/LowLatencyThroughputModel.js","webpack://dashjs/./src/streaming/models/ManifestModel.js","webpack://dashjs/./src/streaming/models/MediaPlayerModel.js","webpack://dashjs/./src/streaming/models/MetricsModel.js","webpack://dashjs/./src/streaming/models/URIFragmentModel.js","webpack://dashjs/./src/streaming/models/VideoModel.js","webpack://dashjs/./src/streaming/net/FetchLoader.js","webpack://dashjs/./src/streaming/net/HTTPLoader.js","webpack://dashjs/./src/streaming/net/SchemeLoaderFactory.js","webpack://dashjs/./src/streaming/net/URLLoader.js","webpack://dashjs/./src/streaming/net/XHRLoader.js","webpack://dashjs/./src/streaming/protection/CommonEncryption.js","webpack://dashjs/./src/streaming/protection/Protection.js","webpack://dashjs/./src/streaming/protection/ProtectionEvents.js","webpack://dashjs/./src/streaming/protection/controllers/ProtectionController.js","webpack://dashjs/./src/streaming/protection/controllers/ProtectionKeyController.js","webpack://dashjs/./src/streaming/protection/drm/KeySystemClearKey.js","webpack://dashjs/./src/streaming/protection/drm/KeySystemPlayReady.js","webpack://dashjs/./src/streaming/protection/drm/KeySystemW3CClearKey.js","webpack://dashjs/./src/streaming/protection/drm/KeySystemWidevine.js","webpack://dashjs/./src/streaming/protection/errors/ProtectionErrors.js","webpack://dashjs/./src/streaming/protection/models/ProtectionModel_01b.js","webpack://dashjs/./src/streaming/protection/models/ProtectionModel_21Jan2015.js","webpack://dashjs/./src/streaming/protection/models/ProtectionModel_3Feb2014.js","webpack://dashjs/./src/streaming/protection/servers/ClearKey.js","webpack://dashjs/./src/streaming/protection/servers/DRMToday.js","webpack://dashjs/./src/streaming/protection/servers/PlayReady.js","webpack://dashjs/./src/streaming/protection/servers/Widevine.js","webpack://dashjs/./src/streaming/protection/vo/ClearKeyKeySet.js","webpack://dashjs/./src/streaming/protection/vo/KeyMessage.js","webpack://dashjs/./src/streaming/protection/vo/KeyPair.js","webpack://dashjs/./src/streaming/protection/vo/KeySystemAccess.js","webpack://dashjs/./src/streaming/protection/vo/KeySystemConfiguration.js","webpack://dashjs/./src/streaming/protection/vo/LicenseRequest.js","webpack://dashjs/./src/streaming/protection/vo/LicenseResponse.js","webpack://dashjs/./src/streaming/protection/vo/MediaCapability.js","webpack://dashjs/./src/streaming/protection/vo/NeedKey.js","webpack://dashjs/./src/streaming/rules/DroppedFramesHistory.js","webpack://dashjs/./src/streaming/rules/RulesContext.js","webpack://dashjs/./src/streaming/rules/SwitchRequest.js","webpack://dashjs/./src/streaming/rules/SwitchRequestHistory.js","webpack://dashjs/./src/streaming/rules/ThroughputHistory.js","webpack://dashjs/./src/streaming/rules/abr/ABRRulesCollection.js","webpack://dashjs/./src/streaming/rules/abr/AbandonRequestsRule.js","webpack://dashjs/./src/streaming/rules/abr/BolaRule.js","webpack://dashjs/./src/streaming/rules/abr/DroppedFramesRule.js","webpack://dashjs/./src/streaming/rules/abr/InsufficientBufferRule.js","webpack://dashjs/./src/streaming/rules/abr/L2ARule.js","webpack://dashjs/./src/streaming/rules/abr/SwitchHistoryRule.js","webpack://dashjs/./src/streaming/rules/abr/ThroughputRule.js","webpack://dashjs/./src/streaming/rules/abr/lolp/LearningAbrController.js","webpack://dashjs/./src/streaming/rules/abr/lolp/LoLpQoEEvaluator.js","webpack://dashjs/./src/streaming/rules/abr/lolp/LoLpRule.js","webpack://dashjs/./src/streaming/rules/abr/lolp/LoLpWeightSelector.js","webpack://dashjs/./src/streaming/rules/abr/lolp/QoeInfo.js","webpack://dashjs/./src/streaming/text/EmbeddedTextHtmlRender.js","webpack://dashjs/./src/streaming/text/NotFragmentedTextBufferController.js","webpack://dashjs/./src/streaming/text/TextController.js","webpack://dashjs/./src/streaming/text/TextSourceBuffer.js","webpack://dashjs/./src/streaming/text/TextTracks.js","webpack://dashjs/./src/streaming/thumbnail/ThumbnailController.js","webpack://dashjs/./src/streaming/thumbnail/ThumbnailTracks.js","webpack://dashjs/./src/streaming/utils/BaseURLSelector.js","webpack://dashjs/./src/streaming/utils/BoxParser.js","webpack://dashjs/./src/streaming/utils/Capabilities.js","webpack://dashjs/./src/streaming/utils/CapabilitiesFilter.js","webpack://dashjs/./src/streaming/utils/CustomTimeRanges.js","webpack://dashjs/./src/streaming/utils/DOMStorage.js","webpack://dashjs/./src/streaming/utils/DefaultURLUtils.js","webpack://dashjs/./src/streaming/utils/EBMLParser.js","webpack://dashjs/./src/streaming/utils/ErrorHandler.js","webpack://dashjs/./src/streaming/utils/InitCache.js","webpack://dashjs/./src/streaming/utils/IsoFile.js","webpack://dashjs/./src/streaming/utils/ObjectUtils.js","webpack://dashjs/./src/streaming/utils/RequestModifier.js","webpack://dashjs/./src/streaming/utils/SupervisorTools.js","webpack://dashjs/./src/streaming/utils/TTMLParser.js","webpack://dashjs/./src/streaming/utils/URLUtils.js","webpack://dashjs/./src/streaming/utils/VTTParser.js","webpack://dashjs/./src/streaming/utils/baseUrlResolution/BasicSelector.js","webpack://dashjs/./src/streaming/utils/baseUrlResolution/DVBSelector.js","webpack://dashjs/./src/streaming/vo/BitrateInfo.js","webpack://dashjs/./src/streaming/vo/DashJSError.js","webpack://dashjs/./src/streaming/vo/DataChunk.js","webpack://dashjs/./src/streaming/vo/FragmentRequest.js","webpack://dashjs/./src/streaming/vo/HeadRequest.js","webpack://dashjs/./src/streaming/vo/IsoBox.js","webpack://dashjs/./src/streaming/vo/IsoBoxSearchInfo.js","webpack://dashjs/./src/streaming/vo/MetricsList.js","webpack://dashjs/./src/streaming/vo/TextRequest.js","webpack://dashjs/./src/streaming/vo/TextTrackInfo.js","webpack://dashjs/./src/streaming/vo/Thumbnail.js","webpack://dashjs/./src/streaming/vo/ThumbnailTrackInfo.js","webpack://dashjs/./src/streaming/vo/URIFragmentData.js","webpack://dashjs/./src/streaming/vo/metrics/BufferLevel.js","webpack://dashjs/./src/streaming/vo/metrics/BufferState.js","webpack://dashjs/./src/streaming/vo/metrics/DVRInfo.js","webpack://dashjs/./src/streaming/vo/metrics/DroppedFrames.js","webpack://dashjs/./src/streaming/vo/metrics/HTTPRequest.js","webpack://dashjs/./src/streaming/vo/metrics/ManifestUpdate.js","webpack://dashjs/./src/streaming/vo/metrics/PlayList.js","webpack://dashjs/./src/streaming/vo/metrics/RepresentationSwitch.js","webpack://dashjs/./src/streaming/vo/metrics/RequestsQueue.js","webpack://dashjs/./src/streaming/vo/metrics/SchedulingInfo.js","webpack://dashjs/util (ignored)","webpack://dashjs/util (ignored)?a5d2"],"names":["UTF8","encode","s","u","i","length","c","charCodeAt","push","decode","a","v","String","fromCharCode","join","BASE64","T","encodeArray","n","charAt","R","decodeArray","pop","ASCII","Uint8Array","encodeASCII","decodeASCII","exports","specialCea608CharsCodes","getCharForByte","byte","charCode","hasOwnProperty","NR_ROWS","NR_COLS","rowsLowCh1","rowsHighCh1","rowsLowCh2","rowsHighCh2","backgroundColors","logger","verboseFilter","time","verboseLevel","setTime","newTime","log","severity","msg","minLevel","console","numArrayToHexArray","numArray","hexArray","j","toString","PenState","foreground","underline","italics","background","flash","prototype","reset","setStyles","styles","attribs","style","isDefault","equals","other","copy","newPenState","StyledUnicodeChar","uchar","penState","setChar","setPenState","newChar","isEmpty","Row","chars","pos","currPenState","equal","empty","setCursor","absPos","moveCursor","relPos","newPos","backSpace","insertChar","char","clearFromPos","startPos","clear","clearToEndOfRow","getTextString","setPenStyles","currChar","CaptionScreen","rows","currRow","nrRollUpRows","row","setPen","setPAC","pacData","JSON","stringify","newRow","indent","prevPos","Math","max","color","setBkgData","bkgData","setRollUpRows","nrRows","rollUp","getDisplayText","topRowIndex","topRow","splice","asOneRow","displayText","text","rowNr","rowText","trim","getTextAndFormat","Cea608Channel","channelNumber","outputFilter","chNr","mode","verbose","displayedMemory","nonDisplayedMemory","lastOutputScreen","currRollUpRow","writeScreen","cueStartTime","modes","lastCueEndTime","getHandler","setHandler","newHandler","setMode","newMode","insertChars","screen","outputDataUpdate","cc_RCL","cc_BS","cc_AOF","cc_AON","cc_DER","cc_RU","cc_FON","cc_RDC","cc_TR","cc_RTD","cc_EDM","cc_CR","cc_ENM","cc_EOC","tmp","cc_TO","nrCols","cc_MIDROW","secondByte","colorIndex","floor","colors","t","updateData","newCue","cueSplitAtTime","Cea608Parser","field","out1","out2","outputs","channels","currChNr","lastCmdA","lastCmdB","bufferedData","startTime","lastTime","dataCounters","index","addData","byteList","cmdFound","b","charsFound","padding","parseCmd","parseMidrow","parsePAC","parseBackgroundAttributes","parseChars","channel","cmd","cond1","cond2","case1","case2","interpretPAC","pacIndex","channelNr","charCodes","charCode1","charCode2","oneCode","hexCodes","findCea608Nalus","raw","size","nalSize","cursor","nalType","cea608NaluRanges","isCEA608SEI","payloadType","payloadSize","countryCode","getUint8","providerCode","getUint16","userIdentifier","getUint32","userDataTypeCode","extractCea608DataFromRange","cea608Range","fieldData","ccCount","ccValid","ccType","ccData1","ccData2","X2JS","config","VERSION","initConfigDefaults","initRequiredPolyfills","escapeMode","undefined","attributePrefix","arrayAccessForm","emptyNodeForm","enableToStringFunc","arrayAccessFormPaths","skipEmptyTextNodesForObj","stripWhitespaces","datetimeAccessFormPaths","useDoubleQuotes","xmlElementsFilter","jsonPropertiesFilter","keepCData","ignoreRoot","DOMNodeTypes","ELEMENT_NODE","TEXT_NODE","CDATA_SECTION_NODE","COMMENT_NODE","DOCUMENT_NODE","getNodeLocalName","node","nodeLocalName","localName","baseName","nodeName","getNodePrefix","prefix","escapeXmlChars","str","replace","unescapeXmlChars","checkInStdFiltersArrayForm","stdFiltersArrayForm","obj","name","path","idx","filterPath","RegExp","test","toArrayAccessForm","childName","Array","fromXmlDateTime","prop","bits","split","d","Date","secondBits","setHours","setMilliseconds","offsetMinutes","Number","sign","setMinutes","getMinutes","getTimezoneOffset","indexOf","UTC","getFullYear","getMonth","getDate","getHours","getSeconds","getMilliseconds","checkFromXmlDateTimePaths","value","fullPath","checkXmlElementsFilter","childType","childPath","parseDOMChildren","nodeType","result","Object","nodeChildren","childNodes","cidx","child","__cnt","children","o","__children","aidx","attributes","attr","value2","m","ml","matchers","matchobj","converter","nodePrefix","__prefix","__text","__cdata","nodeValue","startTag","jsonObj","element","attrList","closed","resultStr","attrName","attrVal","substr","endTag","elementName","endsWith","suffix","jsonXmlSpecialElem","jsonObjField","Function","jsonXmlElemCount","elementsCnt","it","checkJsonObjPropertiesFilter","propertyName","jsonObjPath","parseJSONAttributes","ait","parseJSONTextAttrs","jsonTxtObj","parseJSONTextObject","getJsonPropertyPath","jsonPropName","parseJSONArray","jsonArrRoot","jsonArrObj","arIdx","parseJSONObject","subObj","toISOString","subObjElementsCnt","parseXmlString","xmlDocStr","isIEParser","window","ActiveXObject","xmlDoc","DOMParser","parser","parsererrorNS","parseFromString","getElementsByTagNameNS","err","async","loadXML","asArray","toXmlDateTime","dt","asDateTime","xml2json","xml_str2json","json2xml_str","json2xml","getVersion","dashjs","Protection","MetricsReporting","MediaPlayerFactory","Debug","supportsMediaSource","context","global","MediaPlayer","FactoryMaker","Version","getVersionString","LOG_LEVEL_NONE","LOG_LEVEL_FATAL","LOG_LEVEL_ERROR","LOG_LEVEL_WARNING","LOG_LEVEL_INFO","LOG_LEVEL_DEBUG","eventBus","EventBus","getInstance","settings","logFn","instance","showLogTimestamp","showCalleeName","setup","getTime","getLogFn","error","warn","info","debug","fn","bind","getLogger","fatal","setLogTimestampVisible","setCalleeNameVisible","params","doLog","level","_this","message","logTime","getClassName","getType","apply","forEach","item","get","logLevel","dispatchEvent","trigger","Events","LOG","__dashjs_factory_name","factory","getSingletonFactory","updateSingletonFactory","EVENT_PRIORITY_LOW","EVENT_PRIORITY_HIGH","handlers","on","type","listener","scope","options","Error","priority","getHandlerIdx","handler","callback","getStreamId","streamId","mediaType","inserted","some","off","payload","filters","filter","MediaPlayerEvents","EVENT_MODE_ON_RECEIVE","call","singletonContexts","singletonFactories","classFactories","extend","childInstance","override","getSingletonInstance","className","setSingletonInstance","deleteSingletonInstances","x","getFactoryByName","factoriesArray","updateFactory","updateClassFactory","getClassFactoryByName","getClassFactory","classConstructor","create","merge","arguments","getSingletonFactoryByName","args","classInstance","extensionObject","extension","parent","Settings","DISPATCH_KEY_MAP","SETTING_UPDATED_LIVE_DELAY","SETTING_UPDATED_LIVE_DELAY_FRAGMENT_COUNT","SETTING_UPDATED_CATCHUP_ENABLED","defaultSettings","streaming","abandonLoadTimeout","wallclockTimeUpdateInterval","manifestUpdateRetryInterval","cacheInitSegments","applyServiceDescription","applyProducerReferenceTime","eventControllerRefreshDelay","enableManifestDurationMismatchFix","capabilities","filterUnsupportedEssentialProperties","useMediaCapabilitiesApi","timeShiftBuffer","calcFromSegmentTimeline","fallbackToSegmentTimeline","metrics","maxListDepth","delay","liveDelayFragmentCount","NaN","liveDelay","useSuggestedPresentationDelay","protection","keepProtectionMediaKeys","ignoreEmeEncryptedEvent","detectPlayreadyMessageFormat","buffer","enableSeekDecorrelationFix","fastSwitchEnabled","flushBufferAtTrackSwitch","reuseExistingSourceBuffers","bufferPruningInterval","bufferToKeep","bufferTimeAtTopQuality","bufferTimeAtTopQualityLongForm","initialBufferLevel","stableBufferTime","longFormContentDurationThreshold","stallThreshold","useAppendWindow","setStallState","gaps","jumpGaps","jumpLargeGaps","smallGapLimit","threshold","enableSeekFix","enableStallFix","stallSeek","utcSynchronization","enabled","useManifestDateHeaderTimeSource","backgroundAttempts","timeBetweenSyncAttempts","maximumTimeBetweenSyncAttempts","minimumTimeBetweenSyncAttempts","timeBetweenSyncAttemptsAdjustmentFactor","maximumAllowedDrift","enableBackgroundSyncAfterSegmentDownloadError","defaultTimingSource","scheme","scheduling","defaultTimeout","lowLatencyTimeout","scheduleWhilePaused","defaultEnabled","liveCatchup","maxDrift","playbackRate","playbackBufferMin","latencyThreshold","Constants","LIVE_CATCHUP_MODE_DEFAULT","lastBitrateCachingInfo","ttl","lastMediaSettingsCachingInfo","cacheLoadThresholds","video","audio","trackSwitchMode","TRACK_SWITCH_MODE_ALWAYS_REPLACE","TRACK_SWITCH_MODE_NEVER_REPLACE","selectionModeForInitialTrack","TRACK_SELECTION_MODE_HIGHEST_SELECTION_PRIORITY","fragmentRequestTimeout","retryIntervals","HTTPRequest","MPD_TYPE","XLINK_EXPANSION_TYPE","MEDIA_SEGMENT_TYPE","INIT_SEGMENT_TYPE","BITSTREAM_SWITCHING_SEGMENT_TYPE","INDEX_SEGMENT_TYPE","MSS_FRAGMENT_INFO_SEGMENT_TYPE","LICENSE","OTHER_TYPE","retryAttempts","abr","movingAverageMethod","MOVING_AVERAGE_SLIDING_WINDOW","ABRStrategy","ABR_STRATEGY_DYNAMIC","additionalAbrRules","insufficientBufferRule","switchHistoryRule","droppedFramesRule","abandonRequestsRule","bandwidthSafetyFactor","useDefaultABRRules","useDeadTimeLatency","limitBitrateByPortal","usePixelRatioInLimitBitrateByPortal","maxBitrate","minBitrate","maxRepresentationRatio","initialBitrate","initialRepresentationRatio","autoSwitchBitrate","fetchThroughputCalculationMode","ABR_FETCH_THROUGHPUT_CALCULATION_MOOF_PARSING","cmcd","sid","cid","rtp","rtpSafetyFactor","CMCD_MODE_QUERY","enabledKeys","errors","recoverAttempts","mediaErrorDecode","Utils","clone","mixinSettings","source","dest","slice","update","settingsObj","mixin","src","r","l","url","modifiedUrl","URL","param","key","searchParams","set","href","e","headerStr","headers","headerPairs","ilen","headerPair","substring","uuid","random","string","hash","chr","originalUrl","targetUrl","original","target","protocol","origin","relativePath","relative","pathname","lastIndexOf","startIndexOffset","Errors","MANIFEST_LOADER_PARSING_FAILURE_ERROR_CODE","MANIFEST_LOADER_LOADING_FAILURE_ERROR_CODE","XLINK_LOADER_LOADING_FAILURE_ERROR_CODE","SEGMENT_BASE_LOADER_ERROR_CODE","TIME_SYNC_FAILED_ERROR_CODE","FRAGMENT_LOADER_LOADING_FAILURE_ERROR_CODE","FRAGMENT_LOADER_NULL_REQUEST_ERROR_CODE","URL_RESOLUTION_FAILED_GENERIC_ERROR_CODE","APPEND_ERROR_CODE","REMOVE_ERROR_CODE","DATA_UPDATE_FAILED_ERROR_CODE","CAPABILITY_MEDIASOURCE_ERROR_CODE","CAPABILITY_MEDIAKEYS_ERROR_CODE","DOWNLOAD_ERROR_ID_MANIFEST_CODE","DOWNLOAD_ERROR_ID_SIDX_CODE","DOWNLOAD_ERROR_ID_CONTENT_CODE","DOWNLOAD_ERROR_ID_INITIALIZATION_CODE","DOWNLOAD_ERROR_ID_XLINK_CODE","MANIFEST_ERROR_ID_PARSE_CODE","MANIFEST_ERROR_ID_NOSTREAMS_CODE","TIMED_TEXT_ERROR_ID_PARSE_CODE","MANIFEST_ERROR_ID_MULTIPLEXED_CODE","MEDIASOURCE_TYPE_UNSUPPORTED_CODE","MANIFEST_LOADER_PARSING_FAILURE_ERROR_MESSAGE","MANIFEST_LOADER_LOADING_FAILURE_ERROR_MESSAGE","XLINK_LOADER_LOADING_FAILURE_ERROR_MESSAGE","SEGMENTS_UPDATE_FAILED_ERROR_MESSAGE","SEGMENTS_UNAVAILABLE_ERROR_MESSAGE","SEGMENT_BASE_LOADER_ERROR_MESSAGE","TIME_SYNC_FAILED_ERROR_MESSAGE","FRAGMENT_LOADER_NULL_REQUEST_ERROR_MESSAGE","URL_RESOLUTION_FAILED_GENERIC_ERROR_MESSAGE","APPEND_ERROR_MESSAGE","REMOVE_ERROR_MESSAGE","DATA_UPDATE_FAILED_ERROR_MESSAGE","CAPABILITY_MEDIASOURCE_ERROR_MESSAGE","CAPABILITY_MEDIAKEYS_ERROR_MESSAGE","TIMED_TEXT_ERROR_MESSAGE_PARSE","MEDIASOURCE_TYPE_UNSUPPORTED_MESSAGE","ErrorsBase","publicOnly","CoreEvents","ATTEMPT_BACKGROUND_SYNC","BUFFERING_COMPLETED","BUFFER_CLEARED","BYTES_APPENDED_END_FRAGMENT","BUFFER_REPLACEMENT_STARTED","CHECK_FOR_EXISTENCE_COMPLETED","CURRENT_TRACK_CHANGED","DATA_UPDATE_COMPLETED","INBAND_EVENTS","INITIAL_STREAM_SWITCH","INIT_FRAGMENT_LOADED","INIT_FRAGMENT_NEEDED","INTERNAL_MANIFEST_LOADED","ORIGINAL_MANIFEST_LOADED","LOADING_COMPLETED","LOADING_PROGRESS","LOADING_DATA_PROGRESS","LOADING_ABANDONED","MANIFEST_UPDATED","MEDIA_FRAGMENT_LOADED","MEDIA_FRAGMENT_NEEDED","QUOTA_EXCEEDED","SEGMENT_LOCATION_BLACKLIST_ADD","SEGMENT_LOCATION_BLACKLIST_CHANGED","SERVICE_LOCATION_BLACKLIST_ADD","SERVICE_LOCATION_BLACKLIST_CHANGED","SET_FRAGMENTED_TEXT_AFTER_DISABLED","SET_NON_FRAGMENTED_TEXT","SOURCE_BUFFER_ERROR","STREAMS_COMPOSED","STREAM_BUFFERING_COMPLETED","STREAM_REQUESTING_COMPLETED","TEXT_TRACKS_QUEUE_INITIALIZED","TIME_SYNCHRONIZATION_COMPLETED","UPDATE_TIME_SYNC_OFFSET","URL_RESOLUTION_FAILED","VIDEO_CHUNK_RECEIVED","WALLCLOCK_TIME_UPDATED","XLINK_ELEMENT_LOADED","XLINK_READY","SEEK_TARGET","EventsBase","events","evt","DashAdapter","dashManifestModel","patchManifestModel","voPeriods","currentMediaInfo","constants","cea608parser","PROFILE_DVB","DashManifestModel","PatchManifestModel","setConfig","errHandler","convertRepresentationToRepresentationInfo","voRepresentation","representationInfo","RepresentationInfo","realAdaptation","adaptation","period","mpd","manifest","Period_asArray","AdaptationSet_asArray","realRepresentation","getRepresentationFor","id","quality","bandwidth","getBandwidth","fragmentDuration","segmentDuration","segments","duration","MSETimeOffset","mediaInfo","convertAdaptationToMediaInfo","getMediaInfoForType","streamInfo","selectedVoPeriod","getPeriodForStreamInfo","voAdaptations","getAdaptationsForPeriod","getAdaptationForType","getIndexForAdaptation","getIsMain","getRolesForAdaptation","role","DashConstants","MAIN","periodIndex","adaptations","getAdaptationsForType","allMediaInfoForType","getAllMediaInfoForType","ln","areMediaInfosEqual","mInfoOne","mInfoTwo","sameId","sameCodec","codec","sameViewpoint","viewpoint","sameLang","lang","sameRoles","roles","sameAccessibility","accessibility","sameAudioChannelConfiguration","audioChannelConfiguration","_getAllMediaInfo","embeddedText","mediaArr","data","media","accessibilityLength","parts","convertVideoInfoToEmbeddedTextInfo","CC1","IMAGE","convertVideoInfoToThumbnailInfo","externalManifest","voLocalPeriods","checkConfig","getRegularPeriods","adaptationsForType","TEXT","VIDEO","concat","updatePeriods","newManifest","getStreamsInfo","maxStreamsInfo","streams","convertPeriodToStreamInfo","getRealAdaptation","getAdaptationForId","getAdaptationForIndex","getProducerReferenceTimes","getProducerReferenceTimesForAdaptation","getEssentialPropertiesForRepresentation","representation","getRealPeriodByIndex","getRealPeriodForIndex","getVoRepresentations","voReps","voAdaptation","getAdaptationForMediaInfo","getRepresentationsForAdaptation","getEvent","eventBox","eventStreams","mediaStartTime","isNaN","schemeIdUri","scheme_id_uri","event","Event","timescale","periodStart","start","eventStream","presentationTimeOffset","presentationTimeDelta","presentation_time_delta","calculatedPresentationTime","version","event_duration","messageData","message_data","getEventsFor","StreamInfo","getEventsForPeriod","MediaInfo","getEventStreamForAdaptationSet","getEventStreamForRepresentation","setCurrentMediaInfo","getIsTextTrack","getIsText","getUTCTimingSources","getManifest","getSuggestedPresentationDelay","getAvailabilityStartTime","getMpd","getIsDynamic","getDuration","getLocation","getManifestUpdatePeriod","latencyOfLastUpdate","getPublishTime","getPatchLocation","patchLocation","publishTime","parseFloat","getIsDVB","hasProfile","getIsPatch","getBaseURLsFromElement","getRepresentationSortFunction","getCodec","representationId","addResolutionInfo","getBandwidthForRepresentation","periodIdx","getPeriod","findRepresentation","getIndexForRepresentation","findRepresentationIndex","getMaxIndexForBufferType","bufferType","findMaxBufferIndex","getPeriodById","periods","p","getIsTypeOf","isPatchValid","patch","manifestId","getId","patchManifestId","getMpdId","manifestPublishTime","patchPublishTime","originalManifestPublishTime","getOriginalPublishTime","applyPatchToManifest","getPatchOperations","operation","getMpdTarget","leaf","xpath","findsAttribute","action","relativePosition","insertBefore","position","targetArray","keys","insert","insertNodes","updatedNodes","voPeriodsArray","voPeriod","representationCount","getRepresentationCount","labels","getLabelsForAdaptation","getLanguageForAdaptation","getViewpointForAdaptation","getAccessibilityForAdaptation","map","accessibilityValue","accessibilityData","search","embeddedCaptions","getAudioChannelConfigurationForAdaptation","isArray","Representation_asArray","getAudioChannelConfigurationForRepresentation","mimeType","getMimeType","contentProtection","getContentProtectionData","bitrateList","getBitrateListForAdaptation","selectionPriority","getSelectionPriority","keyIds","cp","getKID","kid","keyId","isText","supplementalProperties","getSupplementalProperties","isFragmented","getIsFragmented","isEmbedded","parseInt","THRESHOLD","manifestInfo","convertMpdToManifestInfo","isLast","abs","ManifestInfo","dvrWindowSize","timeShiftBufferDepth","loadedTime","availableFrom","availabilityStartTime","minBufferTime","maxFragmentDuration","maxSegmentDuration","isDynamic","serviceDescriptions","getServiceDescriptions","returnIndex","adaptationSet","adaptationSetArray","representationArray","adaptationSetArrayIndex","representationArrayIndex","DEFAULT_ADJUST_SEEK_TIME_THRESHOLD","DashHandler","urlUtils","segmentsController","timelineConverter","baseURLController","lastSegment","isDynamicManifest","mediaHasFinished","resetInitialSettings","DYNAMIC_TO_STATIC","_onDynamicToStatic","initialize","getStreamInfo","_setRequestUrl","request","destination","baseURL","resolve","serviceLocation","isRelative","getInitRequest","_generateInitRequest","FragmentRequest","presentationStartTime","range","calcAvailabilityStartTimeFromPresentationTime","availabilityEndTime","calcAvailabilityEndTimeFromPresentationTime","initialization","replaceTokenForTemplate","_getRequestForSegment","segment","replacementNumber","replacementTime","replaceIDForTemplate","unescapeDollarsInTemplate","mediaRange","availabilityTimeComplete","wallStartTime","adaptationIndex","isLastSegmentRequested","bufferingTime","isFinite","mediaFinishedInformation","numberOfSegments","segmentInfoType","SEGMENT_TEMPLATE","SEGMENT_LIST","nextPeriodId","SEGMENT_TIMELINE","mediaTimeOfLastSignaledSegment","getSegmentRequestForTime","getSegmentByTime","getNextSegmentRequestIdempotent","indexToRequest","getSegmentByIndex","getNextSegmentRequest","getValidTimeCloseToTargetTime","targetThreshold","end","currentUpperTime","min","currentLowerTime","adjustedTime","targetRequest","upperRequest","lowerRequest","requestEndTime","getValidTimeAheadOfTargetTime","getCurrentIndex","DashMetrics","playListTraceMetricsClosed","playListTraceMetrics","playListMetrics","metricsModel","MetricsModel","getCurrentRepresentationSwitch","getMetricsFor","getCurrent","MetricsConstants","TRACK_SWITCH","addRepresentationSwitch","mt","to","lto","getCurrentBufferState","BUFFER_STATE","getCurrentBufferLevel","metric","BUFFER_LEVEL","Round10","round10","addBufferLevel","addBufferState","state","clearAllCurrentMetrics","getCurrentHttpRequest","httpList","HttpList","currentHttpList","httpListLastIndex","responsecode","getHttpRequests","addRequestsQueue","loadingRequests","executedRequests","metricName","list","getCurrentDroppedFrames","DROPPED_FRAMES","addDroppedFrames","getCurrentSchedulingInfo","SCHEDULING_INFO","addSchedulingInfo","getCurrentManifestUpdate","streamMetrics","STREAM","MANIFEST_UPDATE","updateManifestUpdateInfo","updatedFields","manifestUpdate","addManifestUpdateStreamInfo","addManifestUpdate","requestStartDate","requestEndDate","addHttpRequest","responseURL","responseStatus","responseHeaders","traces","firstByteDate","fileLoaderType","addManifestUpdateRepresentationInfo","manifestUpdateInfo","streamIndex","startNumber","fragmentInfoType","getCurrentDVRInfo","AUDIO","DVR_INFO","addDVRInfo","currentTime","getLatestMPDRequestHeaderValueByID","httpRequestList","httpRequest","parseHttpHeaders","_responseHeaders","toLowerCase","getLatestFragmentRequestHeaderValueByID","addPlayList","createPlaylistMetrics","startReason","PlayList","mstart","starttype","createPlaylistTraceMetrics","speed","PlayListTrace","representationid","playbackspeed","updatePlayListTraceMetrics","traceToUpdate","pushPlayListTraceMetrics","endTime","reason","stopreason","trace","addDVBErrors","SegmentBaseLoader","boxParser","requestModifier","dashMetrics","mediaPlayerModel","urlLoader","dashConstants","URLLoader","loadInitialization","Promise","_loadInitializationRecursively","loadingInfo","initRange","baseUrl","init","searching","bytesLoaded","bytesToLoad","getFragmentRequest","onload","response","findInitRange","onerror","load","success","loadSegments","_loadSegmentsRecursively","onLoaded","isoFile","sidx","hasRange","extraBytes","loadedLength","byteLength","parse","getBox","isComplete","offset","lastBox","getLastBox","ref","references","loadMultiSidx","reference_type","len","ss","se","segs","count","tmpCallback","sort","referenced_size","getSegmentsForSidx","DashJSError","abort","refs","earliest_presentation_time","first_offset","subsegment_duration","Segment","setInfo","WebmSegmentBaseLoader","WebM","EBML","tag","required","SeekHead","Info","TimecodeScale","Duration","Tracks","Cues","CuePoint","CueTime","CueTrackPositions","CueTrack","CueClusterPosition","Void","MISSING_CONFIG_ERROR","parseCues","ab","cues","ebmlParser","EBMLParser","cue","cueTrack","consumeTagAndSize","moreData","parseTag","CueTracks","consumeTag","cueTrackPositionSize","getMatroskaCodedNum","getPos","Track","ClusterPosition","setPos","parseSegments","segmentStart","segmentEnd","parsed","parseEbmlHeader","theRange","skipOverElement","infoTag","infoElementSize","_getFragmentRequest","onloadend","BASE_URL","SEGMENT_BASE","SEGMENT_URL","SEGMENT_PROFILES","ADAPTATION_SET","REPRESENTATION","REPRESENTATION_INDEX","SUB_REPRESENTATION","INITIALIZATION","INITIALIZATION_MINUS","MPD","PERIOD","ASSET_IDENTIFIER","EVENT_STREAM","ID","PROFILES","SERVICE_LOCATION","RANGE","INDEX","MEDIA","BYTE_RANGE","INDEX_RANGE","MEDIA_RANGE","VALUE","CONTENT_TYPE","MIME_TYPE","BITSTREAM_SWITCHING","BITSTREAM_SWITCHING_MINUS","CODECS","DEPENDENCY_ID","MEDIA_STREAM_STRUCTURE_ID","METRICS","METRICS_MINUS","REPORTING","WIDTH","HEIGHT","SAR","FRAMERATE","AUDIO_SAMPLING_RATE","MAXIMUM_SAP_PERIOD","START_WITH_SAP","MAX_PLAYOUT_RATE","CODING_DEPENDENCY","SCAN_TYPE","FRAME_PACKING","AUDIO_CHANNEL_CONFIGURATION","CONTENT_PROTECTION","ESSENTIAL_PROPERTY","SUPPLEMENTAL_PROPERTY","INBAND_EVENT_STREAM","PRODUCER_REFERENCE_TIME","ACCESSIBILITY","ROLE","RATING","CONTENT_COMPONENT","SUBSET","LANG","VIEWPOINT","ROLE_ASARRAY","REPRESENTATION_ASARRAY","PRODUCERREFERENCETIME_ASARRAY","ACCESSIBILITY_ASARRAY","AUDIOCHANNELCONFIGURATION_ASARRAY","CONTENTPROTECTION_ASARRAY","DYNAMIC","STATIC","MEDIA_PRESENTATION_DURATION","MINIMUM_UPDATE_PERIOD","CODEC_PRIVATE_DATA","BANDWITH","SOURCE_URL","TIMESCALE","DURATION","START_NUMBER","PRESENTATION_TIME_OFFSET","AVAILABILITY_START_TIME","AVAILABILITY_END_TIME","TIMESHIFT_BUFFER_DEPTH","MAX_SEGMENT_DURATION","PRESENTATION_TIME","MIN_BUFFER_TIME","MAX_SUBSEGMENT_DURATION","START","AVAILABILITY_TIME_OFFSET","AVAILABILITY_TIME_COMPLETE","CENC_DEFAULT_KID","DVB_PRIORITY","DVB_WEIGHT","SUGGESTED_PRESENTATION_DELAY","SERVICE_DESCRIPTION","SERVICE_DESCRIPTION_SCOPE","SERVICE_DESCRIPTION_LATENCY","SERVICE_DESCRIPTION_PLAYBACK_RATE","SERVICE_DESCRIPTION_OPERATING_QUALITY","SERVICE_DESCRIPTION_OPERATING_BANDWIDTH","PATCH_LOCATION","PUBLISH_TIME","ORIGINAL_PUBLISH_TIME","ORIGINAL_MPD_ID","WALL_CLOCK_TIME","RepresentationController","abrController","playbackController","updating","voAvailableRepresentations","currentVoRepresentation","MANIFEST_VALIDITY_CHANGED","onManifestValidityChanged","getData","isUpdating","getCurrentRepresentation","newRealAdaptation","availableRepresentations","rep","getRepresentationForQuality","_setCurrentVoRepresentation","endDataUpdate","promises","currentRep","_updateRepresentation","all","reject","hasInitialization","hasSegments","updateInitData","updateSegmentData","then","_onInitLoaded","_onSegmentsLoaded","_setMediaFinishedInformation","_onRepresentationUpdated","getMediaFinishedInformation","fragments","seg","getTimeBasedSegment","_addRepresentationSwitch","now","currentRepresentation","currentVideoTimeMs","REPRESENTATION_SWITCH","numberOfRepresentations","getQualityForRepresentation","isAllRepresentationsUpdated","alreadyAdded","repInfo","repSwitch","setPlaybackQuality","dvrInfo","latency","prepareQualityChange","newQuality","newRep","newDuration","SegmentBaseController","segmentBaseLoader","webmSegmentBaseLoader","isWebM","getSegmentBaseInitSegment","getSegmentList","indexRange","SegmentsController","segmentBaseController","getters","TimelineSegmentsGetter","TemplateSegmentsGetter","ListSegmentsGetter","SegmentBaseGetter","getSegmentsGetter","lastSegmentTime","getter","URLUtils","isInteger","essentialProperties","THUMBNAILS_SCHEME_ID_URIS","ContentComponent_asArray","MUXED","contentType","mimeTypeRegEx","codecs","getIsAudio","getIsVideo","getIsMuxed","getIsImage","prtArray","representationsArray","prtsForAdaptation","prt","entry","ProducerReferenceTime","Viewpoint","Role_asArray","Accessibility_asArray","AudioChannelConfiguration_asArray","processAdaptation","getRealAdaptations","getRealPeriods","realPeriods","realAdaptations","objectUtils","ObjectUtils","areEqual","width","height","Label_asArray","labelArray","ContentProtection_asArray","profile","has","profiles","mpdDuration","mediaPresentationDuration","POSITIVE_INFINITY","MAX_SAFE_INTEGER","MAX_VALUE","minimumUpdatePeriod","processedRealAdaptation","realRepresentations","scanType","realAdaption","EssentialProperty_asArray","getRealAdaptationFor","periodArray","voRepresentations","segmentInfo","baseUrls","Representation","codecPrivateData","maxPlayoutRate","SegmentBase","SegmentList","SegmentTemplate","Initialization","sourceURL","calcSegmentDuration","SegmentTimeline","availabilityTimeOffset","calcMSETimeOffset","segmentTimeline","S_asArray","s0","s1","presentationOffset","realPeriod","voAdaptationSet","realAdaptationSet","AdaptationSet","realPreviousPeriod","voPreviousPeriod","Period","toFixed","getPeriodId","getEndTimeForLastPeriod","DEFAULT_ID","Mpd","suggestedPresentationDelay","periodEnd","EventStream_asArray","EventStream","SCHEME_ID_URI","Event_asArray","currentMpdEvent","presentationTime","Signal","Binary","getEventStreams","inbandStreams","adaptationArray","InbandEventStream_asArray","hasAST","utcTimingsArray","UTCTiming_asArray","utcTimingEntries","utcTiming","UTCTiming","entries","BaseURL_asArray","baseUri","earlyReturn","BaseURL","dvb_priority","dvb_weight","LOCATION","Location","Location_asArray","PatchLocation","PatchLocation_asArray","ServiceDescription_asArray","sd","operatingQuality","operatingBandwidth","referenceId","maxQualityDifference","SupplementalProperty_asArray","sp","nodeContainer","selector","sel","startsWith","SimpleXPath","isValid","reduce","groups","PatchOperation","DashParser","objectIron","DurationMatcher","DateTimeMatcher","NumericMatcher","StringMatcher","ObjectIron","adaptationset","RepresentationBaseValuesMap","SegmentValuesMap","getMatchers","getIron","performance","jsonTime","Patch","add_asArray","operand","run","replace_asArray","ironedTime","toPrecision","CommonProperty","getDefaultMergeForName","toUpperCase","_name","_merge","MapNode","properties","_properties","_children","commonProperties","BaseMatcher","_test","_converter","SECONDS_IN_MIN","MINUTES_IN_HOUR","MILLISECONDS_IN_SECONDS","datetimeRegex","match","exec","utcDate","timezoneOffset","durationRegex","SECONDS_IN_YEAR","SECONDS_IN_MONTH","SECONDS_IN_DAY","SECONDS_IN_HOUR","attributeList","START_TIME","numericRegex","stringAttrsInElements","attrNames","mappers","mergeValues","parentItem","childItem","mapProperties","property","parentValue","childValue","mapItem","array","len2","childNode","periodMapper","adaptationSets","adaptationSetMapper","SegmentURL_asArray","offsetToSubtract","relativeIndex","getIndexBasedSegment","requestedTime","periodTime","calcPeriodRelativeTimeFromMpdRelativeTime","exp","_decimalAdjust","getIndexByTime","epsilon","ft","fd","zeroPadToLength","numStr","minStrLength","getNumberForSegment","segmentIndex","token","formatTag","endPos","formatTagPos","specifier","paddedValue","tokenLen","formatTagLen","getSegment","presentationEndTime","calcWallTimeForSegment","isSegmentAvailable","refTime","getClientReferenceTime","mediaTime","calcMediaTimeFromPresentationTime","fTimescale","tManifest","scaledTime","scaledDuration","calcPresentationTimeFromMediaTime","ceil","template","round","TimelineConverter","timelineAnchorAvailabilityOffset","clientServerTimeShift","_onUpdateTimeSyncOffset","getClientTimeOffset","setClientTimeOffset","_calcAvailabilityTimeFromPresentationTime","calculateAvailabilityEndTime","availabilityTime","calcPresentationTimeFromWallTime","wallTime","displayStartTime","calcTimeShiftBufferWindow","_calcTimeshiftBufferForStaticManifest","_calcTimeShiftBufferWindowForDynamicTimelineManifest","_adjustTimelineAnchorAvailabilityOffset","_calcTimeShiftBufferWindowForDynamicManifest","stream","getAdapter","_adjustTimeBasedOnPeriodRanges","timelineRefData","CONFORMANCE_VIOLATION","ConformanceViolationConstants","LEVELS","WARNING","EVENTS","INVALID_DVR_WINDOW","adapter","periodRange","_calcRangeForTimeline","currentVoPeriod","adjustedEndTime","isEndOfDvrWindow","found","timeline","repeat","mpdRelativeTime","periodStartTime","base","availableSegments","frag","nextFrag","_calculateRepeatCountForNegativeR","iterateSegments","iterFunc","relativeIdx","breakIterator","repeatEndTime","availabilityEnd","dvrWindow","requiredMediaTime","scaledMediaTime","precisionRound","number","DEFAULT_DVB_PRIORITY","DEFAULT_DVB_WEIGHT","weight","adaptionSet","KID","root","isSiblingOperation","inband","applicationScheme","wallClockTime","valid","component","qualifierPoint","qualifier","equalityPoint","attribute","elm","FragmentLoader","requestTimeout","checkForExistence","report","exists","headRequest","HeadRequest","sender","progress","statusText","errorText","ManifestLoader","xlinkController","mssHandler","onXlinkReady","XlinkController","createParser","createMssParser","registerEvents","TextRequest","textStatus","actualUrl","parseBaseUrl","location","setMatchers","setIron","sumPeriodDurations","totalDuration","resolveManifestOnLoad","originalManifest","ManifestUpdater","refreshDelay","refreshTimer","isPaused","isStopped","manifestLoader","manifestModel","onStreamsComposed","PLAYBACK_STARTED","onPlaybackStarted","PLAYBACK_PAUSED","onPlaybackPaused","onManifestLoaded","setManifest","stopManifestRefreshTimer","clearTimeout","startManifestRefreshTimer","setTimeout","onRefreshTimer","refreshManifest","ignorePatch","getValue","patchSuccessful","updatedPublishTime","setValue","date","code","getIsUpdating","STREAMING_NOT_INITIALIZED_ERROR","PLAYBACK_NOT_INITIALIZED_ERROR","ELEMENT_NOT_ATTACHED_ERROR","SOURCE_NOT_ATTACHED_ERROR","MEDIA_PLAYER_NOT_INITIALIZED_ERROR","protectionData","mediaPlayerInitialized","streamingInitialized","playbackInitialized","autoPlay","schemeLoaderFactory","mediaController","protectionController","metricsReportingController","offlineController","customParametersModel","capabilitiesFilter","streamController","textController","gapController","serviceDescriptionController","catchupController","cmcdModel","videoModel","uriFragmentModel","domStorage","MediaPlayerModel","CustomParametersModel","VideoModel","URIFragmentModel","view","Capabilities","ErrorHandler","AbrController","SchemeLoaderFactory","PlaybackController","MediaController","StreamController","GapController","CatchupController","ServiceDescriptionController","CapabilitiesFilter","ManifestModel","CmcdModel","DOMStorage","BaseURLController","BoxParser","RequestModifier","restoreDefaultUTCTimingSources","setAutoPlay","_detectOffline","attachView","attachSource","destroy","isReady","getElement","getDebug","play","pause","seek","checkParameterType","BAD_ARGUMENT_ERROR","getDVRSeekOffset","isSeeking","getLowLatencyModeEnabled","setPlaybackRate","getVideoElement","getPlaybackRate","setMute","muted","isMuted","setVolume","volume","getVolume","getBufferLength","types","getTracksFor","getDashMetrics","getDVRWindowSize","hasVideoTrack","getLiveDelay","val","getTargetLiveDelay","getTimeRelativeToStreamId","timeAsUTC","_getAsUTC","durationAsUTC","getTopBitrateInfoFor","getQualityFor","activeStream","getActiveStream","thumbnailController","getThumbnailController","getCurrentTrackIndex","setQualityFor","forceReplace","setTrackByIndex","getActiveStreamInfo","updatePortalSize","setElementSize","setWindowResizeEventCalled","getAutoPlay","getCurrentLiveLatency","addABRCustomRule","rulename","rule","addAbrCustomRule","removeABRCustomRule","removeAbrCustomRule","removeAllABRCustomRule","removeAllAbrCustomRule","getABRCustomRules","getAbrCustomRules","addUTCTimingSource","removeUTCTimingSource","clearDefaultUTCTimingSources","getAverageThroughput","throughputHistory","getThroughputHistory","setXHRWithCredentialsForType","getXHRWithCredentialsForType","getOfflineController","enableText","enable","activeStreamInfo","enableForcedTextStreaming","isTextEnabled","setTextTrack","getCurrentTextTrackIndex","getCurrentTrackIdx","setElement","_detectProtection","_detectMetricsReporting","_detectMss","switchToVideoElement","_resetPlaybackControllers","_initializePlayback","getTTMLRenderingDiv","attachTTMLRenderingDiv","div","setTTMLRenderingDiv","getBitrateInfoListFor","getBitrateListFor","getStreamsFromManifest","getTracksForTypeFromManifest","getCurrentTrackFor","setInitialMediaSettingsFor","setInitialSettings","getInitialMediaSettingsFor","getInitialSettings","setCurrentTrack","track","setTrack","registerCustomCapabilitiesFilter","unregisterCustomCapabilitiesFilter","setCustomInitialTrackSelectionFunction","customFunc","resetCustomInitialTrackSelectionFunction","registerLicenseRequestFilter","registerLicenseResponseFilter","unregisterLicenseRequestFilter","unregisterLicenseResponseFilter","getProtectionController","attachProtectionController","setProtectionData","provideThumbnail","getStreamForTime","provide","retrieveManifest","_createManifestLoader","self","getSource","updateSource","urlOrManifest","getSettings","updateSettings","resetSettings","formatUTC","locales","hour12","withDate","toLocaleDateString","toLocaleTimeString","convertToTimeCode","h","parentNameString","getStreamById","getDashAdapter","stop","_createPlaybackControllers","TextController","createProtectionSystem","metricsReporting","createMetricsReporting","mediaElement","metricsConstants","MssHandler","initSegmentType","ISOBoxer","OfflineController","manifestUpdater","valToConvert","utcValue","resetRecords","loadWithManifest","AST_IN_FUTURE","BUFFER_EMPTY","BUFFER_LOADED","BUFFER_LEVEL_STATE_CHANGED","BUFFER_LEVEL_UPDATED","ERROR","FRAGMENT_LOADING_COMPLETED","FRAGMENT_LOADING_PROGRESS","FRAGMENT_LOADING_STARTED","FRAGMENT_LOADING_ABANDONED","MANIFEST_LOADED","METRICS_CHANGED","METRIC_CHANGED","METRIC_ADDED","METRIC_UPDATED","PERIOD_SWITCH_STARTED","PERIOD_SWITCH_COMPLETED","QUALITY_CHANGE_REQUESTED","QUALITY_CHANGE_RENDERED","TRACK_CHANGE_RENDERED","STREAM_INITIALIZING","STREAM_UPDATED","STREAM_ACTIVATED","STREAM_DEACTIVATED","STREAM_INITIALIZED","STREAM_TEARDOWN_COMPLETE","TEXT_TRACKS_ADDED","TEXT_TRACK_ADDED","TTML_PARSED","TTML_TO_PARSE","CAPTION_RENDERED","CAPTION_CONTAINER_RESIZE","CAN_PLAY","CAN_PLAY_THROUGH","PLAYBACK_ENDED","PLAYBACK_ERROR","PLAYBACK_NOT_ALLOWED","PLAYBACK_METADATA_LOADED","PLAYBACK_LOADED_DATA","PLAYBACK_PLAYING","PLAYBACK_PROGRESS","PLAYBACK_RATE_CHANGED","PLAYBACK_SEEKED","PLAYBACK_SEEKING","PLAYBACK_STALLED","PLAYBACK_TIME_UPDATED","PLAYBACK_VOLUME_CHANGED","PLAYBACK_WAITING","EVENT_MODE_ON_START","ADAPTATION_SET_REMOVED_NO_CAPABILITIES","mediaPlayerEvents","SUPPORTED_MIME_TYPE","_dashjs_player","player","videoID","querySelectorAll","document","createElement","autoplay","createAll","aPlayers","videos","sources","findVideo","el","parentNode","loadInterval","loadHandler","removeEventListener","loadIntervalHandler","clearInterval","avoidAutoCreate","skipAutoCreate","addEventListener","readyState","setInterval","APPEND_WINDOW_START_OFFSET","APPEND_WINDOW_END_OFFSET","CHECK_INTERVAL","SourceBufferSink","intervalId","callbacks","appendQueue","isAppendingInProgress","mediaSource","lastRequestAppended","initializeForStreamSwitch","mInfo","selectedRepresentation","oldSourceBufferSink","_copyPreviousSinkData","_addEventListeners","_abortBeforeAppend","updateAppendWindow","changeType","updateTimestampOffset","_waitForUpdateEnd","getBuffer","initializeForFirstUse","_initializeForText","addSourceBuffer","getTextSourceBuffer","_updateEndHandler","_errHandler","_removeEventListeners","sInfo","appendWindowEnd","appendWindowStart","timestampOffset","removeSourceBuffer","getAllBufferRanges","buffered","append","chunk","promise","_appendNextInQueue","remove","from","unintended","nextChunk","afterSuccess","segmentType","bytes","appendBuffer","_executeCallback","cb","shift","_triggerEvent","eventType","MEDIA_TYPES","Stream","eventController","streamProcessors","isInitialized","isActive","hasFinishedBuffering","hasAudioTrack","updateError","fragmentController","segmentBlacklistController","preloaded","isEndedEventSignaled","trackChangedEvents","BlacklistController","updateEventName","addBlacklistEventName","FragmentController","registerProtectionEvents","initializeForStream","onBufferingCompleted","onDataUpdateCompleted","onInbandEvents","unRegisterEvents","KEY_ERROR","onProtectionError","SERVER_CERTIFICATE_UPDATED","LICENSE_REQUEST_COMPLETE","KEY_SYSTEM_SELECTED","KEY_SESSION_CREATED","KEY_STATUSES_CHANGED","unRegisterProtectionEvents","activate","previousBufferSinks","getPreloaded","_initializeMedia","bufferSinks","_commonMediaInitialization","startPreloading","previousBuffers","setPreloaded","setExplicitBufferingTime","getStartTime","getScheduleController","startScheduleTimer","_addInlineEvents","_initializeMediaForType","_createBufferSinks","_checkIfInitializationCompleted","createTracks","allMediaForType","embeddedMediaInfos","initialMediaInfo","addEmbeddedTrack","_isMediaSupported","addTrack","setInitialMediaSettingsForType","addMediaInfosToBuffer","ThumbnailController","streamProcessor","_createStreamProcessor","updateTopQualityIndex","selectMediaInfo","supportsEncryptedMedia","fragmentModel","getModel","StreamProcessor","addMediaInfo","previousBuffersSinks","buffers","createBufferSinks","sink","deactivate","keepBuffers","errored","getFragmentModel","abortRequests","deactivateStream","setIsEndedEventSignaled","getIsActive","setMediaSource","getMediaInfo","clearDataForStream","getIsEndedEventSignaled","getHasAudioTrack","getHasVideoTrack","getBitrateList","prepareTrackChange","newMediaInfo","processor","getProcessorForMediaInfo","refreshManifestOnSwitchTrack","prepareTrackSwitch","_getProcessorByType","addInlineEvents","hasError","clearMediaInfoArray","initializeForMedia","waitForReadyState","VIDEO_ELEMENT_READY_STATES","HAVE_METADATA","processors","getProcessors","isBufferingCompleted","addInbandEvents","arr","startScheduleControllers","updatedStreamInfo","updateStreamInfo","trackChangedEvent","oldMediaInfo","isMediaCodecCompatible","newStream","previousStream","compareCodecs","isProtectionCompatible","_compareProtectionConfig","currentStreamInfo","newStreamInfo","newAdaptation","currentAdaptation","_isAdaptationDrmProtected","ContentProtection","sameMimeType","oldCodecs","newCodecs","codecMatch","newCodec","partialCodecMatch","oldCodec","codecRootCompatibleWithCodec","getHasFinishedBuffering","mediaInfoArr","bufferController","scheduleController","representationController","shouldUseExplicitTimeForRequest","qualityChangeInProgress","dashHandler","_onDataUpdateCompleted","_onInitFragmentNeeded","_onMediaFragmentNeeded","_onMediaFragmentLoaded","_onBufferLevelStateChanged","_onBufferCleared","_onSeekTarget","_onFragmentLoadingAbandoned","_onFragmentLoadingCompleted","_onQuotaExceeded","_onSetFragmentedTextAfterDisabled","_onSetNonFragmentedText","_onSourceBufferError","registerStreamType","_createBufferControllerForType","ScheduleController","unRegisterStreamType","prepareInnerPeriodPlaybackSeeking","clearScheduleTimer","prepareForPlaybackSeek","clearRanges","getAllRangesWithSafetyFactor","seekTime","clearBuffers","continuousBufferTime","getContinuousBufferTimeForTargetTime","setIsBufferingCompleted","targetTime","setSeekTarget","getRepresentationInfo","updateBufferTimestampOffset","setInitSegmentRequired","setCheckPlaybackQuality","prepareOuterPeriodPlaybackSeeking","pruneAllSafely","rescheduleIfNoRequest","getIsManifestUpdateInProgress","_noValidRequest","appendInitSegmentFromCache","executeRequest","getIsPruningInProgress","_mediaRequestGenerated","_noMediaRequestGenerated","delayLoadingTime","getTimeToLoadDelay","setTimeToLoadDelay","_shouldIgnoreRequest","segmentRequestingCompleted","blacklistUrl","contains","useTime","setCurrentRepresentation","getIsBufferingCompleted","getBufferTarget","REBUFFERING_REASON","syncExecutedRequestsWithBufferedRange","quotaExceeded","hasEnoughSpaceToAppend","add","_prepareReplacementQualitySwitch","_prepareForFastQualitySwitch","_prepareForDefaultQualitySwitch","REPRESENTATION_SWITCH_STOP_REASON","prepareForReplacementQualitySwitch","_bufferClearedForReplacement","safeBufferLevel","getRequests","FragmentModel","FRAGMENT_MODEL_EXECUTED","bufferLevel","getBufferLevel","abandonmentState","getAbandonmentStateFor","ABANDON_LOAD","_bufferClearedForNonReplacement","getSwitchStrack","isInitializationRequest","_handleFragmentLoadingError","currentTrackInfo","find","quotaExceededTime","getRepresentationController","getBufferController","maxQuality","getMaxAllowedIndexFor","minIdx","getMinAllowedIndexFor","averageThroughput","bitrate","getInitialBitrateFor","getQualityForBitrate","getMediaSource","checkInteger","probeNextRequest","eventStreamMedia","eventStreamTrack","_handleInbandEvents","mediaInbandEvents","trackInbandEvents","inbandEvents","eventBoxes","getBoxes","mediaAnchorTime","fragmentMediaStartTime","createBufferSink","shouldReplace","getTimeToStreamEnd","prepareForNonReplacementTrackSwitch","setSwitchTrack","prepareForReplacementTrackSwitch","controller","NotFragmentedTextBufferController","BufferController","finalisePlayList","XlinkLoader","RESOLVE_TO_ZERO","resolveObject","content","resolveToZero","resolved","resolvedContent","SUGGESTION","NO_UTC_TIMING_ELEMENT","NON_COMPLIANT_SMPTE_IMAGE_ATTRIBUTE","STPP","TTML","VTT","WVTT","ABR_STRATEGY_BOLA","ABR_STRATEGY_L2A","ABR_STRATEGY_LoLP","ABR_STRATEGY_THROUGHPUT","ABR_FETCH_THROUGHPUT_CALCULATION_DOWNLOADED_DATA","ABR_FETCH_THROUGHPUT_CALCULATION_AAST","LIVE_CATCHUP_MODE_LOLP","MOVING_AVERAGE_EWMA","TRACK_SELECTION_MODE_FIRST_TRACK","TRACK_SELECTION_MODE_HIGHEST_BITRATE","TRACK_SELECTION_MODE_HIGHEST_EFFICIENCY","TRACK_SELECTION_MODE_WIDEST_RANGE","CMCD_MODE_HEADER","INITIALIZE","TEXT_SHOWING","TEXT_HIDDEN","CC3","SERVICE_DESCRIPTION_DVB_LL_SCHEME","SUPPLEMENTAL_PROPERTY_DVB_LL_SCHEME","XML","ARRAY_BUFFER","DVB_REPORTING_URL","DVB_PROBABILITY","HAVE_NOTHING","HAVE_CURRENT_DATA","HAVE_FUTURE_DATA","HAVE_ENOUGH_DATA","FILE_LOADER_TYPES","FETCH","XHR","TCP_CONNECTION","HTTP_REQUEST","ALLOW_LOAD","REQUESTS_QUEUE","MANIFEST_UPDATE_STREAM_INFO","MANIFEST_UPDATE_TRACK_INFO","PLAY_LIST","DVB_ERRORS","HTTP_REQUEST_DVB_REPORTING_TYPE","ProtectionConstants","CLEARKEY_KEYSTEM_STRING","WIDEVINE_KEYSTEM_STRING","PLAYREADY_KEYSTEM_STRING","PLAYREADY_RECOMMENDATION_KEYSTEM_STRING","INITIALIZATION_DATA_TYPE_CENC","INITIALIZATION_DATA_TYPE_KEYIDS","INITIALIZATION_DATA_TYPE_WEBM","DEFAULT_VIDEO_BITRATE","DEFAULT_AUDIO_BITRATE","QUALITY_DEFAULT","abrRulesCollection","topQualities","qualityDict","streamProcessorDict","abandonmentStateDict","abandonmentTimeout","windowResizeEventCalled","elementWidth","elementHeight","playbackIndex","switchHistoryDict","droppedFramesHistory","isUsingBufferOccupancyAbrDict","isUsingL2AAbrDict","isUsingLoLPAbrDict","DroppedFramesHistory","ThroughputHistory","ABRRulesCollection","_onQualityChangeRendered","_onMetricAdded","_onFragmentLoadProgress","SwitchRequestHistory","_initializeAbrStrategy","strategy","rulesContext","RulesContext","currentRequest","useBufferOccupancyABR","useL2AABR","useLoLPABR","switchRequest","shouldAbandonFragment","SwitchRequest","NO_CHANGE","FRAGMENT_MODEL_LOADING","oldValue","newValue","confidence","getPlaybackQuality","_updateAbrStrategy","_checkMaxBitrate","_checkMaxRepresentationRatio","_checkPortalSize","_getMinIndexBasedOnBitrateFor","_getMaxIndexBasedOnBitrateFor","getAbrBitrateParameter","newIdx","maxIdx","bitrates","savedBitrate","getSavedBitrateSettings","configBitrate","configRatio","repIdx","checkPlaybackQuality","playbackQuality","oldQuality","switchHistory","currentValue","getMaxQuality","_changeQuality","topQualityIdx","bitrateInfo","_getBitrateInfoForQuality","setSavedBitrateSettings","deadTimeRatio","infoList","BitrateInfo","qualityIndex","_updateDynamicAbrStrategy","getStableBufferTime","switchOnThreshold","switchOffThreshold","useBufferABR","newUseBufferABR","isPlayingAtTopQuality","audioQuality","videoQuality","isAtTop","hasPixelRatio","pixelRatio","devicePixelRatio","getClientWidth","getClientHeight","clearForStream","baseURLTreeModel","baseURLSelector","onBlackListChanged","invalidateSelectedIndexes","BaseURLTreeModel","BaseURLSelector","chooseSelector","getForPath","select","BlackListController","blacklist","query","onAddBlackList","BUFFER_END_THRESHOLD","BUFFER_RANGE_CALCULATION_THRESHOLD","QUOTA_EXCEEDED_ERROR_CODE","BUFFER_CONTROLLER_TYPE","criticalBufferLevel","maxAppendedIndex","maximumIndex","sourceBufferSink","bufferState","appendedBytesInfo","wallclockTicked","isPruningInProgress","isQuotaExceeded","initCache","pendingPruningRanges","replacingBuffer","seekTarget","InitCache","_onInitFragmentLoaded","_onWallclockTimeUpdated","_onPlaybackPlaying","_onPlaybackProgression","_onPlaybackRateChanged","_onPlaybackStalled","getBufferControllerType","_getRepresentationInfo","oldBufferSinks","requiredQuality","_initializeSink","save","_appendToBuffer","extract","_onAppended","_showBufferRanges","ranges","_handleQuotaExceededError","getClearRanges","_updateBufferLevel","endFragment","_checkIfBufferingCompleted","_adjustSeekTarget","bufferedRanges","rangeAtCurrenTime","getRangeAt","rangeAtSeekTarget","getTotalBufferedTime","bufferAhead","behindPruningRange","_getRangeBehindForPruning","aheadPruningRange","_getRangeAheadForPruning","bufferToKeepBehind","startOfBuffer","behindDiff","rangeEnd","currentTimeRequest","endOfBuffer","isLongFormContent","bufferToKeepAhead","aheadDiff","rangeStart","checkIfSufficientBuffer","tolerance","firstStart","lastEnd","gap","toler","isLastIdxAppended","periodBuffered","_notifyBufferStateChanged","pruneBuffer","startRangeToKeep","behindRange","_addClearRangeWithPromise","clearNextRange","sourceBuffer","_onRemoved","secondsElapsed","totalBufferedTime","tmpSourceBufferSinkToReset","isCatchupSeekInProgress","minPlaybackRateChange","playbackStalled","_registerEvents","_onBufferLevelUpdated","_onPlaybackSeeked","_onCatchupSettingUpdated","_unregisterEvents","_resetInitialSettings","ua","navigator","userAgent","isSafari","getCatchupModeEnabled","getCatchupPlaybackRate","_shouldStartCatchUp","_startPlaybackCatchUp","newRate","currentPlaybackRate","liveCatchupPlaybackRate","deltaLatency","_getLatencyDrift","getCatchupMaxDrift","_seekToLive","currentLiveLatency","targetLiveDelay","_getCatchupMode","_calculateNewPlaybackRateLolP","_calculateNewPlaybackRateDefault","getLiveCatchupLatencyThreshold","catchupMode","currentBuffer","_lolpNeedToCatchUpCustom","_defaultNeedToCatchUp","latencyDrift","liveCatchUpPlaybackRate","cpr","pow","E","getPlaybackStalled","deltaBuffer","minDifference","DVRMetrics","DVRWindow","EventController","MPD_RELOAD_SCHEME","MPD_RELOAD_VALUE","MPD_CALLBACK_SCHEME","MPD_CALLBACK_VALUE","REMAINING_EVENTS_THRESHOLD","EVENT_HANDLED_STATES","DISCARDED","UPDATED","ADDED","inlineEvents","eventInterval","lastEventTimerCall","eventHandlingInProgress","isStarted","_setup","_stop","_onStopEventController","_onEventTimer","currentVideoTime","presentationTimeThreshold","_triggerEvents","_removeOutdatedEventObjects","_startEvent","_eventHasExpired","_eventIsInvalid","_removeEvent","_iterateAndTriggerCallback","values","periodId","_addOrUpdateEvent","_handleManifestReloadEvent","shouldOverwriteExistingEvents","eventState","indexOfExistingEvent","findIndex","triggeredReceivedEvent","triggeredStartEvent","oldEvent","validUntil","newManifestValidAfter","_triggerRemainingEvents","periodDuration","calculatedPresentationTimeInSeconds","periodIds","currentPeriod","schemeIdUris","schemeIdEvents","periodEndTime","eventId","_refreshManifest","_sendCallbackRequest","loader","XHRLoader","method","responseType","getInlineEvents","getInbandEvents","fragmentModels","onFragmentLoadingCompleted","model","fragmentLoader","createDataChunk","DataChunk","isInit","strInfo","GAP_HANDLER_INTERVAL","THRESHOLD_TO_STALLS","GAP_JUMP_WAITING_TIME_OFFSET","lastPlaybackTime","gapHandlerInterval","lastGapJumpPosition","jumpTimeoutHandler","trackSwitchByMediaType","_stopGapHandler","_onInitialStreamSwitch","_onPlaybackSeeking","_onBufferReplacementStarted","_onBufferReplacementEnded","_startGapHandler","_shouldCheckForGaps","_jumpGap","checkSeekingState","trackSwitchInProgress","shouldIgnoreSeekingState","_shouldIgnoreSeekingState","getActiveStreamProcessors","getIsStreamSwitchInProgress","getHasMediaOrInitialisationError","streamEnd","_getNextRangeIndex","nextRangeIndex","_isTimeBuffered","getBufferRange","seekToPosition","jumpToStreamEnd","timeToStreamEnd","getStreamEndTime","timeUntilGapEnd","nextStream","internalSeek","timeToWait","tracks","initialSettings","lastSelectedTracks","tracksForType","getSavedMediaSettings","matchSettings","selectInitialTrack","_isMultiTrackSupportedByType","createTrackInfo","mediaTracks","isTracksEqual","current","isCurrentTrack","noSettingsSave","switchMode","extractSettings","storeLastSettings","setSavedMediaSettings","saveTextSettingsDisabled","t1","t2","notEmpty","isTrackActive","matchLang","matchIndex","matchViewPoint","matchRole","matchAccessibility","matchAudioChannelConfiguration","getTracksWithHighestSelectionPriority","trackArr","getTracksWithHighestBitrate","getTracksWithHighestEfficiency","Infinity","sum","acc","resolution","efficiency","getTracksWithWidestRange","tmpArr","customInitialTrackSelectionFunction","getCustomInitialTrackSelectionFunction","_trackSelectionModeHighestSelectionPriority","_trackSelectionModeHighestBitrate","_trackSelectionModeFirstTrack","_trackSelectionModeHighestEfficiency","_trackSelectionModeWidestRange","image","MediaSourceController","createMediaSource","hasWebKit","hasMediaSource","MediaSource","WebKitMediaSource","attachMediaSource","objectURL","createObjectURL","setSource","detachMediaSource","setDuration","isBufferUpdating","setSeekable","setLiveSeekableRange","clearLiveSeekableRange","signalEndOfStream","sourceBuffers","endOfStream","LIVE_UPDATE_PLAYBACK_TIME_INTERVAL_MS","wallclockTimeIntervalId","playOnceInitialized","lastLivePlaybackTime","lowLatencyModeEnabled","manifestUpdateInProgress","initialCatchupModeActivated","_onManifestUpdated","_onStreamsComposed","_onPlaybackEnded","_onStreamInitializing","_onRepresentationSwitch","stopUpdatingWallclockTime","removeAllListeners","periodSwitch","_initializeForFirstStream","addAllListeners","refInfo","stickToBuffered","internal","setCurrentTime","isStalled","getPlayedRanges","getEnded","getStreamController","computeAndSetLiveDelay","ret","MIN_BUFFER_TIME_FACTOR","FRAGMENT_DURATION_FACTOR","adjustedFragmentDuration","serviceDescriptionSettings","getServiceDescriptionSettings","updateCurrentTime","getReadyState","actualTime","_getAdjustedPresentationTime","timeChanged","mediatype","startUpdatingWallclockTime","_onWallclockTime","_onCanPlay","_onCanPlayThrough","_onPlaybackStart","_onPlaybackWaiting","playingTime","_onPlaybackPaused","ended","_onPlaybackTimeUpdated","timeToEnd","_onPlaybackProgress","rate","_onPlaybackMetaDataLoaded","_onPlaybackLoadedData","_onNativePlaybackEnded","_onVolumeChanged","_onPlaybackError","srcElement","addDVRMetric","_updateLivePlaybackTime","filterList","bl","minDelay","onPlaybackStalled","_checkEnableLowLatency","getInitialCatchupModeActivated","currentRepresentationInfo","timeToLoadDelay","scheduleTimeout","lastFragmentRequest","topQualityIndex","lastInitializedQuality","switchTrack","initSegmentRequired","_hasVideoTrack","_onBytesAppended","_onURLResolutionFailed","_onPlaybackStarted","timeoutValue","schedule","hasTopQualityChanged","newTopQualityIndex","_shouldClearScheduleTimer","_shouldScheduleNextRequest","qualityChange","_getNextFragment","getInitialPlayback","_shouldBuffer","bufferTarget","_getBufferTargetForFragmentedText","_getBufferTargetForAudio","_getGenericBufferTarget","schedulingInfo","videoBufferLevel","_completeQualityChange","getPlaybackController","SUPPORTED_SCHEMES","ANY","ALL","prftOffsets","supportedServiceDescriptions","includes","allClientsServiceDescriptions","_applyServiceDescriptionLatency","_applyServiceDescriptionPlaybackRate","_applyServiceDescriptionOperatingQuality","_applyServiceDescriptionOperatingBandwidth","_getDvbServiceDescriptionLatencyParameters","_getStandardServiceDescriptionLatencyParameters","_calculateTimeOffset","minBandwidth","maxBandwidth","targetBandwidth","mediaTypesToApply","_updateBandwidthSetting","getProducerReferenceTimeOffsets","calculateProducerReferenceTimeOffsets","streamInfos","timeOffsets","mediaTypes","astInSeconds","offsets","prts","voRep","prt0","sdLatency","PLAYBACK_ENDED_TIMER_INTERVAL","DVR_WAITING_OFFSET","mediaSourceController","timeSyncController","isStreamSwitchingInProgress","hasMediaError","hasInitialisationError","initialPlayback","playbackEndedTimerInterval","preloadingStreams","supportsChangeType","firstLicenseIsFetched","waitForPlaybackStartTimeout","providedStartTime","errorInformation","TimeSyncController","autoPl","protData","_checkConfig","PROTECTION_CREATED","setMediaElement","_onManifestValidityChanged","_onQualityChanged","KEY_SESSION_UPDATED","_onKeySessionUpdated","_onStreamBufferingCompleted","_onTimeSyncCompleted","_onCurrentTrackChanged","_onLiveDelaySettingUpdated","_checkInitialize","_composeStreams","streamsInfo","clientTimeOffset","_filterOutdatedStreams","_initializeOrUpdateStream","_checkIfPrebufferingCanStart","dvrRange","waitingTime","_getFragmentDurationForLiveDelayCalculation","_getInitialStartTime","initialStream","startStream","_switchStream","_startPlaybackEndedTimerInterval","fromStreamInfo","toStreamInfo","_canSourceBuffersBeReused","_openMediaSource","sourceUrl","_onMediaSourceOpen","revokeObjectURL","_setMediaDuration","_activateStream","_open","sinks","oldTime","seekToStream","_cancelPreloading","_handleInnerPeriodSeek","_handleOuterPeriodSeek","_createPlaylistMetrics","SEEK_START_REASON","_deactivateAllPreloadingStreams","_flushPlaylistMetrics","USER_REQUEST_STOP_REASON","_onStreamCanLoadNext","seamlessPeriodSwitch","activeStreamProcessors","getInitialBufferLevel","excludedStreamProcessors","INITIAL_PLAYOUT_START_REASON","RESUME_FROM_PAUSE_START_REASON","upcomingStreams","_getNextStreams","_stopPlaybackEndedTimerInterval","baseStart","streamStart","streamDur","_getNextStream","END_OF_PERIOD_STOP_REASON","END_OF_CONTENT_STOP_REASON","refStream","refStreamInfo","targetIndex","lastDiff","diff","manifestDuration","liveEdge","providedStartTimeAsPresentationTime","_getStartTimeFromProvidedData","startTimeFromUri","_getStartTimeFromUriParameters","getStreams","fragData","getURIFragmentData","referenceTime","_getStartTimeFromString","targetValue","targetString","posix","isStillIncluded","shouldKeepStream","fragmentDurations","manifestUTCTimingSources","allUTCTimingSources","isHTTPS","filterUnsupportedFeatures","attemptSync","counts","_handleMediaErrorDecode","msExtendedCode","FAILURE_STOP_REASON","PROTECTION_DESTROYED","targetMediaType","HTTP_TIMEOUT_MS","DEFAULT_MAXIMUM_ALLOWED_DRIFT","DEFAULT_TIME_BETWEEN_SYNC_ATTEMPTS_ADJUSTMENT_FACTOR","DEFAULT_BACKGROUND_ATTEMPTS","DEFAULT_TIME_BETWEEN_SYNC_ATTEMPTS","DEFAULT_MINIMUM_TIME_BETWEEN_BACKGROUND_SYNC_ATTEMPTS","DEFAULT_MAXIMUM_TIME_BETWEEN_SYNC","DEFAULT_MINIMUM_TIME_BETWEEN_SYNC","isSynchronizing","isBackgroundSynchronizing","backgroundSyncTimeOffsets","timingSources","timeOfLastSync","timeOfLastBackgroundSync","lastOffset","lastTimingSource","internalTimeBetweenSyncAttempts","_onAttemptBackgroundSync","_httpHeadHandler","_httpHandler","_xsdatetimeDecoder","_iso8601Decoder","_directHandler","_notSupportedHandler","tSources","_shouldPerformSynchronization","_attemptRecursiveSync","_attemptBackgroundSync","attempts","_completeBackgroundTimeSyncSequence","deviceTimeBeforeSync","serverTime","deviceTimeAfterSync","_calculateOffset","sourceIndex","_onComplete","deviceReferenceTime","failed","_checkForDateHeader","_completeTimeSyncSequence","_alternateXsdatetimeDecoder","xsdatetimeStr","parsedDate","isoStr","_rfc1123Decoder","dateStr","onSuccessCB","onFailureCB","decoder","isHeadRequest","oncomplete","complete","req","XMLHttpRequest","verb","HEAD","GET","urls","status","getResponseHeader","open","timeout","send","dateHeaderValue","dateHeaderTime","offsetToDeviceTimeMs","_adjustTimeBetweenSyncAttempts","shouldAttemptBackgroundSync","isOffsetDriftWithinThreshold","_isOffsetDriftWithinThreshold","adjustedTimeBetweenSyncAttempts","averageOffset","curr","maxAllowedDrift","lowerBound","upperBound","RESOLVE_TYPE_ONLOAD","RESOLVE_TYPE_ONACTUATE","iron","xlinkLoader","onXlinkElementLoaded","elements","getElementsToResolve","resolveType","onXlinkAllElementsLoaded","isHTTPURL","originalContent","openingTag","closingTag","mergedContent","isResolvingFinished","mergeElementsBack","parentElement","toResolve","xlinkObject","createXlinkObject","resolvedElements","k","isInappropriateTarget","elementsToResolve","dvbErrorsTranslator","DVBErrorsTranslator","initialise","MetricsCollectionController","getReportingFactory","ReportingFactory","getMetricsHandlerFactory","MetricsHandlerFactory","MetricsReportingEvents","METRICS_INITIALISATION_COMPLETE","BECAME_REPORTING_PLAYER","CMCD_DATA_GENERATED","metricsReportingEvents","metricsControllers","controllersToRemove","ManifestParsing","getMetrics","MetricsController","resetMetricsControllers","metricsHandlersController","reportingController","rangeController","metricsEntry","RangeController","Range","ReportingController","Reporting","MetricsHandlersController","metricsHandlerFactory","handle","handleNewMetric","midx","ms","nextm","useWallClockTime","rs","starttime","_useWallClockTime","CustomTimeRanges","isEnabled","numRanges","reporters","reportingFactory","reporting","reporter","vos","keyRegex","knownFactoryProducts","BufferLevel","DVBErrors","GenericMetricHandler","RepSwitchList","TcpList","listType","matches","register","unregister","BufferLevelHandler","interval","lastReportedTime","handlerHelpers","HandlerHelpers","storedVOs","getLowestBufferLevelVO","intervalCallback","vo","basename","rc","n_ms","validateN","reconstructFullMetricName","DVBErrorsHandler","onInitialisationComplete","unused","HttpListHandler","storedVos","requestType","knownReportingSchemeIdUris","DVBReporting","moduleName","metricSerialiser","randomNumberGenerator","reportingPlayerStatusDecided","isReportingPlayer","reportingUrl","USE_DRAFT_DVB_SPEC","allowPendingRequestsToCompleteOnReset","pendingRequests","MetricSerialiser","RNG","doGetRequest","successCB","failureCB","withCredentials","reqIndex","serialise","probability","dvb_reportingUrl","dvb_probability","mpdurl","terror","onManifestUpdate","onServiceLocationChanged","errorcode","BASE_URL_CHANGED","servicelocation","onBecameReporter","BECAME_REPORTER","handleHttpMetric","CONNECTION_ERROR","tresponse","_serviceLocation","onMetricEvent","onPlaybackError","MediaError","MEDIA_ERR_NETWORK","MEDIA_ERR_DECODE","CORRUPT_MEDIA_OTHER","mn","getMetricsRangeStartTime","dynamic","reportingStartTime","Metrics_asArray","metricEntry","Metrics","Range_asArray","rangeEntry","Reporting_asArray","reportingEntry","pairs","isBuiltIn","encodeURIComponent","crypto","msCrypto","ArrayType","Uint32Array","BYTES_PER_ELEMENT","NUM_RANDOM_NUMBERS","randomNumbers","getRandomValues","rand","ipaddress","SSL_CONNECTION_FAILED_PREFIX","DNS_RESOLUTION_FAILED","HOST_UNREACHABLE","CONNECTION_REFUSED","CORRUPT_MEDIA_ISOBMFF","DEFAULT_DVB_PROBABILITY","DEFAULT_INDEX","Node","_baseUrls","_selectedIdx","selectedIdx","updateChildData","getBaseURLCollectionsFromManifest","pi","ai","ri","walk","nodes","CMCD_REQUEST_FIELD_NAME","CMCD_VERSION","OBJECT_TYPES","MANIFEST","INIT","CAPTION","ISOBMFF_TEXT_TRACK","ENCRYPTION_KEY","OTHER","STREAMING_FORMATS","DASH","MSS","STREAM_TYPES","VOD","LIVE","RTP_SAFETY_FACTOR","internalData","_isStartup","_bufferLevelStarved","_initialMediaRequestsDone","_onManifestLoaded","_onPeriodSwitchComplete","pr","nor","st","sf","generateUuid","_updateStreamProcessors","getQueryParameter","cmcdData","_getCmcdData","filteredCmcdData","_applyWhitelist","finalPayloadString","_buildFinalString","cmcdString","enabledCMCDKeys","_copyParameters","parameterNames","copiedData","getHeaderParameters","cmcdObjectHeader","_applyWhitelistByKeys","cmcdRequestHeader","cmcdStatusHeader","cmcdSessionHeader","_getCmcdDataForMpd","_initForMediaType","_getCmcdDataForMediaSegment","_getCmcdDataForInitSegment","_getCmcdDataForOther","_getCmcdDataForLicense","_getGenericCmcdData","ot","encodedBitrate","_getBitrateByRequest","_getObjectDurationByRequest","mtp","_getMeasuredThroughputByType","dl","_getDeadlineByType","_getBufferLevelByType","tb","_getTopBitrateByType","nextRequest","_probeNextRequest","_calculateRtp","getRelativeUrl","nrr","br","bs","su","getSafeAverageThroughput","localeCompare","currentBufferLevel","segmentSize","timeToLoad","DEFAULT_XHR_WITH_CREDENTIALS","utcTimingSources","xhrWithCredentials","licenseRequestFilters","licenseResponseFilters","customCapabilitiesFilters","customAbrRules","getLicenseRequestFilters","getLicenseResponseFilters","_unregisterFilter","getCustomCapabilitiesFilters","_findAbrCustomRuleIndex","ABANDON_FRAGMENT_RULES","QUALITY_SWITCH_RULES","defaultUtcTimingSource","useCreds","FRAGMENT_MODEL_CANCELED","FRAGMENT_MODEL_FAILED","onLoadingCompleted","onLoadingInProgress","onLoadingAborted","isFragmentLoaded","isEqualComplete","req1","req2","ACTION_COMPLETE","isEqualMedia","isEqualInit","check","requests","isLoaded","isFragmentLoadedOrPending","states","filteredRequests","getRequestsForState","filterRequests","getRequestThreshold","removeExecutedRequestsBeforeTime","removeExecutedRequestsAfterTime","removeExecutedRequestsInTimeRange","streamDuration","ACTION_DOWNLOAD","addSchedulingInfoMetrics","loadCurrentFragment","getRequestForTime","lastIdx","addExecutedRequest","LowLatencyThroughputModel","LLTM_MAX_MEASUREMENTS","LLTM_SEMI_OPTIMISTIC_ESTIMATE_FACTOR","LLTM_OPTIMISTIC_ESTIMATE_FACTOR","LLTM_SLOW_SEGMENT_DOWNLOAD_TOLERANCE","LLTM_MAX_DELAY_MS","measurements","createBufferLevelTrendFunction","chunkMeasurements","sumX","sumY","sumXY","sumXSq","N","chunkDownloadTimeRelativeMS","isBufferSafeAndStable","lastMeasurements","lastBitrate","aveBufferLevelLastSegements","prev","bufferLevelAtSegmentEnd","bufferLevelAtSegmentStart","getEstimatedDownloadDurationMS","lastMeasurement","lastThreeMeasurements","lastChunkRelativeTimeMS","getEstimatedBufferLevel","isBufferStable","selectedOptimisticFactor","segDurationMS","fetchDownloadDurationMS","adjustedAvailabilityStartTimeMS","requestTimeMS","throughputCapacityDelayMS","chunkAvailablePeriod","chunkBytesBBLE","chunkDownloadtimeMSBBLE","chunkCount","chunkDownloadDurationMS","chunkBytes","downloadThroughput","estimatedDownloadtimeMS","segmentBytes","nextHigherBitrate","getThroughputCapacityDelayMS","currentBufferLevelMS","addMeasurement","bitrateEntry","repId","chunksDurationMS","DEFAULT_MIN_BUFFER_TIME","DEFAULT_MIN_BUFFER_TIME_FAST_SWITCH","LOW_LATENCY_REDUCTION_FACTOR","LOW_LATENCY_MULTIPLY_FACTOR","DEFAULT_CATCHUP_MAX_DRIFT","DEFAULT_CATCHUP_PLAYBACK_RATE","liveCatchupLatencyThreshold","setting","getRetryAttemptsForType","lowLatencyMultiplyFactor","getRetryIntervalsForType","lowLatencyReductionFactor","metricsChanged","metricChanged","metricUpdated","metricType","metricAdded","clearCurrentMetricsForType","readOnly","MetricsList","pushMetrics","appendHttpTrace","HTTPRequestTrace","tcpid","actualurl","trequest","tfinish","mediaduration","_tfinish","_stream","_mediaduration","_quality","_fileLoaderType","pushAndNotify","TrackSwitch","metricObject","BufferState","DVRInfo","DroppedFrames","creationTime","droppedFrames","droppedVideoFrames","SchedulingInfo","RequestsQueue","requestTime","fetchTime","ManifestUpdate","ManifestUpdateStreamInfo","ManifestUpdateRepresentationInfo","subreplevel","URIFragmentDataVO","uri","URIFragmentData","hashIndex","fragment","equalIndex","READY_STATES_TO_EVENT_NAMES","Map","_currentTime","TTMLRenderingDiv","previousPlaybackRate","VIDEO_MODEL_WRONG_ELEMENT_TYPE","stalledStreams","onPlaying","onPlaybackCanPlay","ignoreReadyState","stickTimeToBuffered","INVALID_STATE_ERR","closestTime","closestDistance","distanceToStart","distanceToEnd","preload","removeAttribute","display","overflow","pointerEvents","top","left","stallStream","addStalledStream","seeking","removeStalledStream","createEvent","initEvent","hasQuality","getVideoPlaybackQuality","webkitDroppedFrameCount","totalVideoFrames","webkitDecodedFrameCount","paused","played","eventName","eventCallBack","clientWidth","clientHeight","getVideoWidth","videoWidth","getVideoHeight","videoHeight","getVideoRelativeOffsetTop","host","getBoundingClientRect","getVideoRelativeOffsetLeft","getTextTracks","textTracks","getTextTrack","kind","label","isTTML","language","addTextTrack","appendChild","childElement","removeChild","targetReadyState","_listenOnce","func","FetchLoader","cfg","lowLatencyThroughputModel","requestStartTime","Headers","header","modifyRequestHeader","setRequestHeader","abortController","AbortController","signal","onabort","reqOptions","credentials","calculationMode","markBeforeFetch","fetch","ok","body","arrayBuffer","loaded","total","onend","totalBytes","bytesReceived","signaledFirstByte","remaining","fetchMeassurement","reader","getReader","measurement","read","processFetch","done","markB","markA","kbps","fetchDuration","bytesAllChunks","lengthComputable","tee","forMeasure","forConsumer","downloadedData","startTimeData","endTimeData","lastChunkWasFinished","processResult","calculatedThroughput","calculatedTime","calculateThroughputByChunkData","calculateDownloadedTime","concatTypedArray","ts","boxesInfo","findLastTopIsoBoxCompleted","lastCompletedOffset","subarray","noTrace","cancel","avgTimeDistance","next","distance","datum","datumE","dataE","chunkThroughputs","shortDurationBytesReceived","shortDurationStartTime","chunkDownloadTime","cumulatedChunkDownloadTime","sumOfChunkThroughputs","HTTPLoader","delayedRequests","retryRequests","downloadErrorToRequestTypeMap","internalLoad","remainingAttempts","firstProgress","needFailureReport","lastTraceTime","lastTraceReceivedCount","handleLoaded","checkExistenceOnly","responseUrl","getAllResponseHeaders","initialNumberOfAttempts","retryRequest","bytesTotal","ontimeout","timeoutMessage","percentageComplete","modifyRequestURL","cmcdMode","additionalQueryParameter","_getAdditionalQueryParameter","addAditionalQueryParameterToUrl","delayedRequest","delayTimeout","cmcdQueryParameter","onprogress","schemeLoaderMap","registerLoader","unregisterLoader","unregisterAllLoader","getLoader","loaderFactory","xhr","LICENSE_SERVER_MANIFEST_CONFIGURATIONS","prefixes","CommonEncryption","cpArray","retVal","pssh","DataView","keySystem","initData","psshList","parsePSSHList","cpData","dv","byteCursor","nextBox","systemID","boxStart","licenseServer","targetProtectionData","ckData","APIS_ProtectionModel_01b","generateKeyRequest","addKey","cancelKeyRequest","needkey","keyerror","keyadded","keymessage","APIS_ProtectionModel_3Feb2014","setMediaKeys","MediaKeys","release","ready","close","protectionKeyController","ProtectionKeyController","protectionModel","_getProtectionModel","ProtectionController","setEncryptedMediaSupported","videoElement","onencrypted","mediaKeys","ProtectionModel_21Jan2015","_getAPI","ProtectionModel_3Feb2014","api","ProtectionModel_01b","apis","ProtectionEvents","ProtectionErrors","INTERNAL_KEY_MESSAGE","INTERNAL_KEY_STATUS_CHANGED","KEY_ADDED","KEY_MESSAGE","KEY_SESSION_CLOSED","KEY_SESSION_REMOVED","KEY_SYSTEM_ACCESS_COMPLETE","LICENSE_REQUEST_SENDING","NEED_KEY","TEARDOWN_COMPLETE","VIDEO_ELEMENT_SELECTED","protectionEvents","NEEDKEY_BEFORE_INITIALIZE_RETRIES","NEEDKEY_BEFORE_INITIALIZE_TIMEOUT","LICENSE_SERVER_REQUEST_RETRIES","LICENSE_SERVER_REQUEST_RETRY_INTERVAL","LICENSE_SERVER_REQUEST_DEFAULT_TIMEOUT","needkeyRetries","pendingKeySystemData","protDataSet","sessionType","robustnessLevel","selectedKeySystem","keySystemSelectionInProgress","licenseXhrRequest","licenseRequestRetryTimeout","_onKeyMessage","_onKeyStatusChanged","supportedKS","getSupportedKeySystemsFromContentProtection","_selectKeySystem","fromManifest","_selectInitialKeySystem","_initiateWithExistingKeySystem","requestedKeySystems","ksA","ksB","indexA","ks","systemString","indexB","keySystemConfiguration","_getKeySystemConfiguration","configs","keySystemAccess","requestKeySystemAccess","selectedSystemString","mksa","selectKeySystem","_getProtDataForKeySystem","serverCertificate","setServerCertificate","ksIdx","_loadOrCreateKeySession","KEY_SYSTEM_ACCESS_DENIED_ERROR_CODE","KEY_SYSTEM_ACCESS_DENIED_ERROR_MESSAGE","keySystemInfo","isClearKey","clearkeys","kids","TextEncoder","sessionId","loadKeySession","createKeySession","initDataForKS","getPSSHForKeySystem","_isKeyIdDuplicate","_isInitDataDuplicate","KEY_SESSION_CREATED_ERROR_CODE","KEY_SESSION_CREATED_ERROR_MESSAGE","keySystemString","cps","sessions","getSessions","getKeyId","currentInitData","getAllInitData","initDataEquals","removeKeySession","sessionToken","closeKeySession","_onNeedKey","setSessionType","setRobustnessLevel","_abortLicenseRequest","retryTimeout","keySystemData","audioCapabilities","videoCapabilities","audioRobustness","videoRobustness","ksSessionType","distinctiveIdentifier","persistentState","MediaCapability","KeySystemConfiguration","keyMessage","messageType","licenseServerModelInstance","getLicenseServerModelInstance","eventData","_sendLicenseRequestCompleteEvent","MEDIA_KEY_MESSAGE_NO_CHALLENGE_ERROR_CODE","MEDIA_KEY_MESSAGE_NO_CHALLENGE_ERROR_MESSAGE","getSessionId","processClearKeyLicenseRequest","keyPairs","updateKeySession","_issueLicenseRequest","licenseServerData","_getLicenseServerUrl","MEDIA_KEY_MESSAGE_NO_LICENSE_SERVER_URL_ERROR_CODE","MEDIA_KEY_MESSAGE_NO_LICENSE_SERVER_URL_ERROR_MESSAGE","reqHeaders","_updateHeaders","httpRequestHeaders","headersFromMessage","getRequestHeadersFromMessage","onLoad","licenseResponse","LicenseResponse","_applyFilters","licenseMessage","getLicenseMessage","_reportError","onAbort","MEDIA_KEY_MESSAGE_LICENSER_ERROR_CODE","MEDIA_KEY_MESSAGE_LICENSER_ERROR_MESSAGE","onError","reqPayload","getLicenseRequestFromMessage","reqMethod","getHTTPMethod","getResponseType","httpTimeout","licenseRequest","LicenseRequest","_doLicenseRequest","retriesCount","cmcdParams","cmcdHeaders","_retryRequest","retryInterval","serverURL","laURL","getLicenseServerUrlFromMediaInfo","schemeIdURI","psshData","getPSSHData","getLicenseServerURLFromInitData","getServerURLFromMessage","errorMsg","getErrorResponse","serverResponse","responseCode","responseText","retry","initDataType","abInitData","ArrayBuffer","isView","getSupportedKeySystemsFromSegmentPssh","getKeySystems","setKeySystems","keySystems","clearkeyKeySystem","clearkeyW3CKeySystem","KeySystemPlayReady","KeySystemWidevine","KeySystemClearKey","KeySystemW3CClearKey","newKeySystems","getKeySystemBySystemString","initData1","initData2","data1","data2","cpIdx","cencContentProtection","findCencContentProtection","getInitData","cdmData","getCDMData","_getSessionId","_getSessionType","DRMToday","Widevine","PlayReady","ClearKey","getClearKeysFromProtectionData","protectionDataSet","getProtectionData","clearkeySet","jsonMsg","clearkeyID","clearkey","KeyPair","ClearKeyKeySet","parseInitDataFromContentProtection","cencDefaultKid","cencDefaultKidToBase64Representation","btoa","PRCDMData","messageFormat","dataview","Uint16Array","headerNameList","getElementsByTagName","headerValueList","Content","Challenge","numRecords","recordType","recordLength","recordData","record","laurl","luiurl","PSSHBoxType","playreadySystemID","uint8arraydecodedPROHeader","PROSize","PSSHSize","PSSHBoxBuffer","PSSHBox","PSSHData","pro","prheader","setUint32","setPlayReadyMessageFormat","format","_cdmData","customData","cdmDataBytes","MEDIA_KEYERR_CODE","MEDIA_KEYERR_UNKNOWN_CODE","MEDIA_KEYERR_CLIENT_CODE","MEDIA_KEYERR_SERVICE_CODE","MEDIA_KEYERR_OUTPUT_CODE","MEDIA_KEYERR_HARDWARECHANGE_CODE","MEDIA_KEYERR_DOMAIN_CODE","MEDIA_KEY_MESSAGE_ERROR_CODE","SERVER_CERTIFICATE_UPDATED_ERROR_CODE","KEY_STATUS_CHANGED_EXPIRED_ERROR_CODE","MEDIA_KEYERR_UNKNOWN_MESSAGE","MEDIA_KEYERR_CLIENT_MESSAGE","MEDIA_KEYERR_SERVICE_MESSAGE","MEDIA_KEYERR_OUTPUT_MESSAGE","MEDIA_KEYERR_HARDWARECHANGE_MESSAGE","MEDIA_KEYERR_DOMAIN_MESSAGE","MEDIA_KEY_MESSAGE_ERROR_MESSAGE","SERVER_CERTIFICATE_UPDATED_ERROR_MESSAGE","KEY_STATUS_CHANGED_EXPIRED_ERROR_MESSAGE","protectionErrors","pendingSessions","moreSessionsAllowed","eventHandler","createEventHandler","removeEventListeners","ksConfigurations","ve","supportedAudio","supportedVideo","configIdx","videoIdx","canPlayType","ksConfig","KeySystemAccess","errorMessage","ksInfo","newSession","getExpirationTime","getSessionType","keyID","handleEvent","NeedKey","findSessionByID","errorCode","systemCode","KeyMessage","defaultURL","sessionArray","SYSTEM_STRING_PRIORITY","numSessions","session","removeSession","_closeKeySessionInternal","getUsable","_requestKeySystemAccessInternal","requestMediaKeySystemAccess","protDataSystemStringPriority","systemStringPriority","currentKeySystem","systemStringsToApply","_checkAccessForKeySystem","mediaKeySystemAccess","configuration","getConfiguration","_checkAccessForSystemStrings","createMediaKeys","mkeys","createSession","createSessionToken","dataType","generateRequest","toJWK","parseKeyStatus","keyStatuses","keyStatus","expiration","getKeyStatuses","usable","audios","audioIdx","isTypeSupported","ksAccess","ksConfiguration","boundDoSetKeys","doSetKeys","keySession","errorStr","destinationURL","keypair","keyid","license","keySystemStr","soap","uintToString","encodedString","decodedString","decodeURIComponent","escape","parseServerResponse","stringResponse","envelope","fault","parseErrorResponse","faultstring","statusCode","idStart","idEnd","detail","exception","firstChild","errorString","numKeys","jwk","kty","alg","jwkString","buf","bView","sessionTypes","initDataTypes","robustness","lastDroppedFrames","lastTotalFrames","intervalDroppedFrames","intervalTotalFrames","getFrameHistory","bufferOccupancyABR","l2AABR","loLP","getMediaType","getAbrController","getSwitchHistory","getVideoModel","getDroppedFramesHistory","getCurrentRequest","PRIORITY","DEFAULT","STRONG","WEAK","q","getPriority","SWITCH_REQUEST_HISTORY_DEPTH","switchRequests","srHistory","noDrops","drops","dropSize","indexDiff","drop","noDrop","srHistoryFirst","getSwitchRequests","MAX_MEASUREMENTS_TO_KEEP","AVERAGE_THROUGHPUT_SAMPLE_AMOUNT_LIVE","AVERAGE_THROUGHPUT_SAMPLE_AMOUNT_VOD","AVERAGE_LATENCY_SAMPLE_AMOUNT","THROUGHPUT_DECREASE_SCALE","THROUGHPUT_INCREASE_SCALE","EWMA_THROUGHPUT_SLOW_HALF_LIFE_SECONDS","EWMA_THROUGHPUT_FAST_HALF_LIFE_SECONDS","EWMA_LATENCY_SLOW_HALF_LIFE_COUNT","EWMA_LATENCY_FAST_HALF_LIFE_COUNT","throughputDict","latencyDict","ewmaThroughputDict","ewmaLatencyDict","ewmaHalfLife","throughputHalfLife","fast","slow","latencyHalfLife","isCachedResponse","latencyMs","downloadTimeMs","latencyTimeInMilliseconds","downloadTimeInMilliseconds","downloadBytes","throughputMeasureTime","throughput","checkSettingsForMediaType","hasCachedEntries","clearSettingsForMediaType","updateEwmaEstimate","ewmaObj","halfLife","fastAlpha","fastEstimate","slowAlpha","slowEstimate","totalWeight","getSampleSize","isThroughput","sampleSize","ratio","getAverage","getAverageEwma","getAverageSlidingWindow","dict","elem","average","getAverageLatency","qualitySwitchRules","abandonFragmentRules","L2ARule","LoLPRule","BolaRule","ThroughputRule","InsufficientBufferRule","SwitchHistoryRule","DroppedFramesRule","AbandonRequestsRule","customRules","_getRulesWithChange","srArray","sr","getMinSwitchRequest","newSwitchReq","switchRequestArray","getMaxIndex","activeRules","abandonRequestArray","shouldAbandon","rules","getQualitySwitchRules","ABANDON_MULTIPLIER","GRACE_TIME_THRESHOLD","MIN_LENGTH_TO_AVERAGE","fragmentDict","abandonDict","throughputArray","setFragmentRequestDict","storeLastRequestThroughputByType","fragmentInfo","firstByteTime","elapsedTime","totalSampledValue","measuredBandwidthInKbps","estimatedTimeOfDownload","bytesRemaining","minQuality","estimateOtherBytesTotal","fragmentID","BOLA_STATE_ONE_BITRATE","BOLA_STATE_STARTUP","BOLA_STATE_STEADY","MINIMUM_BUFFER_S","MINIMUM_BUFFER_PER_BITRATE_LEVEL_S","PLACEHOLDER_BUFFER_DECAY","bolaStateDict","onBufferEmpty","onPlaybackSeeking","onMetricAdded","onQualityChangeRequested","onFragmentLoadingAbandoned","onMediaFragmentLoaded","utilitiesFromBitrates","calculateBolaParameters","utilities","highestUtilityIndex","highestIndex","uIndex","bufferTime","gp","Vp","getInitialBolaState","initialState","lastQuality","clearBolaStateOnSeek","bolaState","placeholderBuffer","mostAdvancedSegmentStart","lastSegmentWasReplacement","lastSegmentStart","lastSegmentDurationS","lastSegmentRequestTimeMs","lastSegmentFinishTimeMs","checkBolaStateStableBufferTime","effectiveBufferLevel","getBolaState","getQualityFromBufferLevel","bitrateCount","score","maxBufferLevelForQuality","minBufferLevelForQuality","qBitrate","qUtility","iBitrate","iUtility","updatePlaceholderBuffer","nowMs","lastCallTimeMs","stateDict","checkNewSegment","bufferAtLastSegmentRequest","maxEffectiveBufferForLastSegment","maxPlaceholderBuffer","abrQuality","wantEffectiveBufferLevel","safeThroughput","qualityForThroughput","delayS","DROPPED_PERCENTAGE_FORBID","GOOD_SAMPLE_SIZE","dfh","totalFrames","maxIndex","INSUFFICIENT_BUFFER_SAFETY_FACTOR","SEGMENT_IGNORE_COUNT","bufferStateDict","currentBufferState","lowLatencyEnabled","shouldIgnore","ignoreCount","L2A_STATE_ONE_BITRATE","L2A_STATE_STARTUP","L2A_STATE_STEADY","l2AStateDict","l2AParameterDict","_onQualityChangeRequested","_getInitialL2AState","_initializeL2AParameters","_clearL2AStateOnSeek","w","prev_w","Q","segment_request_start_s","segment_download_finish_s","B_target","l2AState","_getL2AState","l2aState","l2AParameters","_checkNewSegment","L2AState","_dotmultiplication","arr1","arr2","sumdot","euclideanProjection","bget","ii","tmpsum","tmax","horizon","vl","alpha","sqrt","react","l2AParameter","diff1","lastthroughput","V","temp","MAX_SWITCH","SAMPLE_SIZE","switchRequestHistory","WEIGHT_SELECTION_MODES","MANUAL","RANDOM","LearningAbrController","somBitrateNeurons","bitrateNormalizationFactor","latencyNormalizationFactor","weights","sortedCenters","weightSelectionMode","_getMaxThroughput","maxThroughput","neuron","_getMagnitude","magnitude","_getDistance","_getNeuronDistance","aState","rebuffer","bState","_updateNeurons","winnerNeuron","somElements","somNeuron","sigma","neuronDistance","neighbourHood","_updateNeuronState","_getDownShiftNeuron","currentNeuron","currentThroughput","maxSuitableBitrate","getNextQuality","bufferSize","currentQualityIndex","dynamicWeightsSelector","currentLatency","_getSomBitrateNeurons","throughputNormalized","targetLatency","targetRebufferLevel","targetSwitch","throughputDelta","downloadTime","getSegmentDuration","getMinBuffer","_manualWeightSelection","_randomWeightSelection","_dynamicWeightSelection","minDistance","minIndex","somNeuronState","somData","distanceWeights","nextBuffer","getNextBufferWithBitrate","isBufferLow","bitrateSwitch","throughputWeight","latencyWeight","bufferWeight","switchWeight","_getXavierWeights","weightVector","findWeightVector","neuronCount","weightCount","W","bitrateVector","_getInitialKmeansPlusPlusCenters","_getRandomData","dataArray","centers","randomDataSet","nextPoint","maxDistance","currentPoint","leastSimilarIndex","LoLpQoeEvaluator","voPerSegmentQoeInfo","maxBitrateKbps","minBitrateKbps","setupPerSegmentQoe","sDuration","maxBrKbps","minBrKbps","_createQoeInfo","fragmentType","qoeInfo","QoeInfo","bitrateReward","bitrateSwitchPenalty","rebufferPenalty","latencyPenalty","penalty","playbackSpeedPenalty","logSegmentMetrics","segmentBitrate","segmentRebufferTime","currentPlaybackSpeed","_logMetricsInQoeInfo","rebufferTime","playbackSpeed","bitrateWSum","bitrateSwitchWSum","rebufferWSum","latencyRange","latencyWSum","playbackSpeedWSum","totalQoe","getPerSegmentQoe","calculateSingleUseQoe","singleUseQoeInfo","DWS_TARGET_LATENCY","DWS_BUFFER_MIN","learningController","qoeEvaluator","currentQuality","bufferStateVO","currentBitrate","currentBitrateKbps","lastFragmentDownloadTime","LoLpWeightSelector","bufferMin","valueList","weightTypeCount","weightOptions","previousLatency","_getPermutations","neurons","currentRebuffer","maxQoE","winnerWeights","winnerBitrate","weightsObj","getNextBuffer","wt","weightedRebuffer","weightedLatency","totalQoE","_checkConstraints","nextLatency","perm","generate","currLen","currPerm","bitrateToDownload","EmbeddedTextHtmlRender","captionId","checkIndent","line","uc","ll","getRegionProperties","region","y1","y2","createRGB","getStyle","fontSize","ltrim","rtrim","createHTMLCaptionsFromScreen","captionScreen","currRegion","existingRegion","lastRowHasText","lastRowIndentL","currP","spans","currentStyle","seenRegions","styleStates","regions","prevPenState","rowIndent","contat","currPenStateString","captionsArray","cueID","finalDiv","cueRegionProperties","cssText","bodyDiv","cueUniWrapper","ptag","lastSpanRow","span","brElement","sameRow","spanStyle","spanElement","textContent","cueHTMLElement","cellResolution","isFromCEA608","lineHeight","linePadding","initialized","triggerEvent","streamData","textSourceBuffers","vttParser","ttmlParser","initialSettingsSet","allTracksAreDisabled","forceTextStreaming","textTracksAdded","disableTextBeforeTextTracksAdded","VTTParser","TTMLParser","_onTextTracksAdded","TextTracks","textSourceBuffer","TextSourceBuffer","lastEnabledIndex","mInfos","addMediaInfos","getAllTracksAreDisabled","textDefaultEnabled","oldTrackIdx","setModeForTrackIdx","setCurrentTrackIdx","getCurrentTrackInfo","_setFragmentedTextTrack","_setNonFragmentedTextTrack","getConfig","fragmentedTracks","currentFragTrack","deleteCuesFromTrackIdx","setCurrentFragmentedTrackIdx","resetMediaInfos","deleteAllTextTracks","resetEmbedded","embeddedInitialized","mediaInfos","initializationSegmentReceived","firstFragmentedSubtitleStart","currFragmentedTrackIdx","embeddedTracks","embeddedTimescale","embeddedLastSequenceNumber","embeddedCea608FieldParsers","embeddedTextHtmlRender","_resetFragmented","_initEmbedded","fModel","currFragTrack","_createTextTrackFromMediaInfo","textTrackInfo","TextTrackInfo","trackKindMap","subtitle","caption","defaultTrack","getIsDefault","_checkTtml","_getKind","_onVideoChunkReceived","onVideoBufferCleared","codecType","_appendFragmentedText","_appendEmbeddedText","_appendText","sampleList","samplesInfo","getMediaTimescaleFromMoov","getSamplesInfo","cts","_appendFragmentedSttp","_appendFragmentedWebVtt","getParser","sample","sampleStart","_getTimestampOffset","dataView","subSizes","ccContent","dataViewToString","images","subOffset","inData","offsetTime","ttmlTimeIsRelative","addCaptions","captionArray","sampleData","sampleBoxes","parseBuffer","boxes","box1","box2","cue_text","start_time","end_time","sequenceNumber","lastSequenceNumber","_setupCeaParser","numSequences","allCcData","_extractCea608Data","fieldNr","ccData","fields","fieldParser","trackIdx","getTrackIdxForId","_makeCueAdderForIndex","trackIndex","samples","splits","cea608Ranges","lastSampleTime","sortField","Cue","textTrackQueue","nativeTrackElementArr","currentTrackIdx","actualVideoLeft","actualVideoTop","actualVideoWidth","actualVideoHeight","captionContainer","videoSizeCheckInterval","fullscreenAttribute","displayCCOnTop","previousISDState","topZIndex","resizeObserver","VTTCue","TextTrackCue","fullscreenElement","webkitIsFullScreen","msFullscreenElement","mozFullScreen","_createTrackForUserAgent","textTrackInfoVO","defaultIndex","textTrack","getTrackByIdx","renderingType","captionData","onMetadataLoaded","checkVideoSize","videoTextTrack","getVideoVisibleVideoSize","viewWidth","viewHeight","aspectRatio","use80Percent","viewAspectRatio","videoAspectRatio","videoPictureWidth","videoPictureHeight","videoPictureXAspect","videoPictureYAspect","videoPictureWidthAspect","videoPictureHeightAspect","videoPictureAspect","y","forceDrawing","videoOffsetTop","videoOffsetLeft","realVideoSize","newVideoWidth","newVideoHeight","newVideoLeft","newVideoTop","containerStyle","zIndex","activeCues","scaleCue","activeCue","replaceValue","valueFontSize","valueLineHeight","cellUnit","valueLinePadding","elementsSpan","getElementsByClassName","isd","htmlCaptionDiv","getElementById","renderCaption","finalCue","renderHTML","imsc1ImgUrnTester","smpteImgUrnTester","imageId","imageData","dataUrl","embeddedImages","captionDiv","timeOffset","currentItem","onenter","onexit","divs","align","cueInTrack","addCue","deleteTrackCues","trackId","setCueStyleOnTrack","ResizeObserver","observe","clearCaptionContainer","setNativeCueStyle","removeNativeCueStyle","cueInRange","strict","removeCue","unobserve","deleteTextTrack","styleElement","head","stylesheet","sheet","insertRule","classList","thumbnailTracks","ThumbnailTracks","addTracks","getTracks","getCurrentTrack","getThumbnailRequestForTime","thumbIndex","tilesHor","tilesVert","thumbnail","Thumbnail","widthPerTile","heightPerTile","readThumbnail","seq","_buildUrlFromTemplate","seqIdx","templateUrl","currentTrackIndex","_createTrack","useSegmentBase","ThumbnailTrackInfo","vars","_handleUpdatedSegmentData","buildTemplateUrl","cache","_normalizeSegments","cached","blob","Blob","imageUrl","currentVoRep","serviceLocationBlacklistController","basicSelector","dvbSelector","BasicSelector","blacklistController","DVBSelector","isDVB","selectedBaseUrl","fileStart","parsedFile","dashIsoFile","IsoFile","setData","IsoBoxSearchInfo","boxInfo","boxSize","parseUint32","boxType","parseIsoBoxType","moofBoxes","mfhdBoxes","sampleDuration","sampleCompositionTimeOffset","sampleCount","sampleDts","dataOffset","sequence_number","subsIndex","nextSubsSample","moofBox","trafBoxes","getChildBoxes","trafBox","tfhdBox","getChildBox","tfdtBox","baseMediaDecodeTime","trunBoxes","subsBoxes","trunBox","sample_count","base_data_offset","data_offset","sample_duration","default_sample_duration","sample_size","default_sample_size","sample_composition_time_offset","subsBox","entry_count","sample_delta","subsample_count","subsamples","subsample_size","mdhdBox","ftyp","moov","parsePayload","codecCompatibilityTable","encryptedMediaSupported","supportsCodec","_canUseMediaCapabilitiesApi","_checkCodecWithMediaCapabilities","_checkCodecWithMse","mediaCapabilities","decodingInfo","framerate","supported","supportsEssentialProperty","ep","codec1","codec2","codecRoot","rootCompatible","compatTableCodec","compatibleCodecs","compatibleCodec","_filterUnsupportedCodecs","_filterUnsupportedEssentialProperties","_applyCustomFilters","_filterUnsupportedAdaptationSetsOfPeriod","as","_filterUnsupportedRepresentationsOfAdaptation","configurations","_createConfiguration","_","_createVideoConfiguration","_createAudioConfiguration","frameRate","samplerate","audioSamplingRate","customFilter","customTimeRangeArray","mergeRanges","rangeIndex1","rangeIndex2","range1","range2","legacyKeysAndReplacements","oldKey","newKey","LOCAL_STORAGE_BITRATE_KEY_TEMPLATE","LOCAL_STORAGE_SETTINGS_KEY_TEMPLATE","STORAGE_TYPE_LOCAL","STORAGE_TYPE_SESSION","LAST_BITRATE","LAST_MEDIA_SETTINGS","translateLegacyKeys","isSupported","testKey","testValue","storage","setItem","removeItem","localStorage","getItem","getTimestamp","ten_minutes_ms","canStore","storageType","mediaSettings","isExpired","timestamp","DefaultURLUtils","resolveFunction","schemeRegex","httpUrlRegex","httpsUrlRegex","originRegex","nativeURLResolver","dumbURLResolver","baseUrlParseFunc","isPathAbsolute","parseOrigin","isSchemeRelative","parseScheme","joinChar","slashIndex","lastSlashIndex","removeHostname","urlParts","bytesConsumed","p1","p2","headerSize","retainMSB","bytesUsed","mask","maxBytes","num","ch","getMatroskaFloat","outFloat","getFloat32","getFloat64","getMatroskaUint","parsedIsoFile","convertToDashIsoBox","fetchAll","boxData","box","IsoBox","_incomplete","obj1","obj2","deepEqual","parameter","isInt","checkRange","checkIsVideoOrAudioType","cueCounter","getCueID","startTimeSegment","endTimeSegment","currentImageId","accumulated_image_data","metadataHandler","onOpenTag","ns","attrs","onCloseTag","onText","contents","imsc1doc","fromXML","ttmlString","ttmlDoc","mediaTimeEvents","getMediaTimeEvents","generateISD","topLevelContents","defaultURLUtils","regexUtils","getUtils","regex","utils","registerUrlRegex","internalCall","functionName","WEBVTT","regExNewLine","regExToken","regExWhiteSpace","regExWhiteSpaceWordBoundary","lastStartTime","parseItemAttributes","cuePoints","getSublines","convertCuePointTimes","timeArray","vttCuePoints","getCaptionStyles","styleObject","subline","lineData","lineCount","getNonBlacklistedBaseUrls","removedPriorities","samePrioritiesFilter","serviceLocationFilter","selectByWeight","availableUrls","prioritySorter","topPriorityFilter","cumulWeights","rn","every","limit","checkForExistenceOnly","_offset","reference","presentation_time","sample_description_index","default_sample_flags","flags","first_sample_flags","xywh","DVB_REPORTING_TYPE","METRICS_COLLECTION_START_REASON","METRICS_COLLECTION_STOP_REASON","RepresentationSwitch"],"mappings":"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;;;;;;AC7CA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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;CAIA;;AACA,IAAIM,OAAO,GAAI,OAAO1B,MAAP,KAAkB,WAAlB,IAAiCA,MAAlC,IAA6C2B,MAA3D;AAEA,IAAIP,MAAM,GAAGM,OAAO,CAACN,MAArB;;AACA,IAAI,CAACA,MAAL,EAAa;AACTA,QAAM,GAAGM,OAAO,CAACN,MAAR,GAAiB,EAA1B;AACH;;AAEDA,MAAM,CAACQ,WAAP,GAAqBA,kEAArB;AACAR,MAAM,CAACS,YAAP,GAAsBA,8DAAtB;AACAT,MAAM,CAACI,KAAP,GAAeA,uDAAf;AACAJ,MAAM,CAACU,OAAP,GAAiBC,0EAAgB,EAAjC;AAEeX,qEAAf;;;;;;;;;;;;;;ACnDY;;AAEZ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kCAAkC,SAAS;AAC3C;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C,UAAU;AACpD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;ACtJA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,OAAO;AACV;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,eAAe,mBAAmB;AAClC;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA,mBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,IAA8B;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,aAAa,uBAAuB;AACpC;AACA;;AAEA;AACA;AACA;AACA;;AAEA,aAAa,uBAAuB;AACpC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B;AACA;AACA;AACA;AACA,eAAe,uBAAuB;AACtC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B,wBAAwB;AACxB;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;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;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,6BAA6B,0CAA0C;AACvE,6BAA6B,iDAAiD;;AAE9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,6BAA6B,0CAA0C;AACvE,6BAA6B,iDAAiD;;AAE9E;AACA;AACA;;AAEA;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA,G;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,6BAA6B,0CAA0C;AACvE,6BAA6B,iDAAiD;;AAE9E;AACA;AACA;;AAEA;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA,G;;AAEA;AACA;AACA;;AAEA;;AAEA;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,GAAG;AACH;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,GAAG;AACH;AACA;AACA;;AAEA;AACA,iBAAiB,UAAU;AAC3B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA,O;;AAEA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;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;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C;AAC3C;;;AAGA;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;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;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,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;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,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;ACrpCA;AACA;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;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;;;;;;;;;;;;;AC1GA;AACA;AACa;AACb,iBAAiB,mBAAO,CAAC,0DAAI;;;;;;;;;;;;ACH7B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,KAA4D;AAC7D,CAAC,SAC+B;AAChC,CAAC,qBAAqB;;AAEtB;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;AAIA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,gFAAgF;;AAEhF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,0BAA0B,sBAAsB;;AAEhD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC,yCAAyC,UAAc;AACxD;AACA,CAAC;AACD;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,UAAU,IAAI;AACd;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,iBAAiB,wBAAwB;AACzC;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,mBAAmB,6CAA6C;AAChE;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;AACA,UAAU,MAAM;AAChB,UAAU,OAAO;AACjB;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,UAAU,MAAM;AAChB;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA,qBAAqB,YAAY;AACjC;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;AACA,UAAU,IAAI;AACd;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA,UAAU,SAAS;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,UAAU,SAAS;AACnB,UAAU,SAAS;AACnB;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,UAAU,SAAS;AACnB;AACA,WAAW;AACX;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA,YAAY,SAAS;AACrB,aAAa;AACb;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,SAAS;AACT,OAAO;AACP;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,CAAC;;;;AAID;;;;;;;;;;;;;;ACrpCa;;AAEb;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sBAAsB,WAAW;AACjC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,oBAAoB,WAAW;AAC/B;;AAEA,oBAAoB,WAAW;AAC/B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;;;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,QAAQ,WAAW;;AAEnB;AACA;AACA;AACA,QAAQ,WAAW;;AAEnB;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AA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ACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;;;AAIA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,gCAAgC;AAChC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,SAAS;;AAET;;AAEA,SAAS;;AAET;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AA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;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;;AAErB,iBAAiB;;AAEjB;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa;;AAEb;;AAEA;;AAEA,SAAS;;AAET;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;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;AACA;;AAEA;;AAEA;;AAEA;AACA;;;AAGA;;AAEA;;AAEA,iBAAiB;;AAEjB;;AAEA,iBAAiB;;AAEjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,iBAAiB;;AAEjB;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,qBAAqB;;AAErB;AACA;AACA;AACA;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;AACA;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,iBAAiB;;AAEjB;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;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,iBAAiB;;AAEjB;;AAEA,iBAAiB;;AAEjB;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,qBAAqB;AACrB;AACA;;AAEA,iBAAiB;;AAEjB;;AAEA;;AAEA,qBAAqB;AACrB;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,iBAAiB;;AAEjB;;AAEA,iBAAiB;;AAEjB;;AAEA,iBAAiB;;AAEjB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA,CAAC,EAAE,MAA8B,GAAG,SAAkB;AACtD,uCAAuC,mBAAO,CAAC,yDAAS;AACxD,wCAAwC,mBAAO,CAAC,2DAAU,gB;;;;;;;;;;;ACzsC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,+BAA+B;AAC/D;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CA;AACA,gCAAgC,+BAA+B;AAC/D;AACA;AACA;AACA;AACA;;AAEA,sBAAsB,mBAAO,CAAC,qDAAO;AACrC,kBAAkB,mBAAO,CAAC,qDAAO;AACjC,qBAAqB,mBAAO,CAAC,uDAAQ,S;;;;;;;;;;;AC5BrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,+BAA+B;AAC/D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC,EAAE,MAA8B,GAAG,SAAmB;;;;;;;;;;;;;;;;AC1CvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,+BAA+B;AAC/D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,8CAA8C;;AAE9C;AACA;AACA;AACA;AACA;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,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;;AAEA,iBAAiB;AACjB;;AAEA;AACA;;AAEA;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA;;AAEA;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA;;AAEA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,6BAA6B;;AAE7B;;AAEA;;AAEA,yBAAyB;;AAEzB;;AAEA;;AAEA;;AAEA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,yBAAyB;;AAEzB;;AAEA;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA;;AAEA,yBAAyB;;AAEzB;;AAEA;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,iBAAiB;AACjB;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;;AAEA,iBAAiB;AACjB;;AAEA;AACA;;AAEA;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA;;AAEA;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA;;AAEA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,yBAAyB;;AAEzB;;AAEA;;AAEA,6BAA6B;;AAE7B;AACA;;AAEA,yBAAyB;;AAEzB;;AAEA,yBAAyB;;AAEzB;;AAEA,yBAAyB;;AAEzB;;AAEA;;AAEA,6BAA6B;;AAE7B;AACA;;AAEA,yBAAyB;;AAEzB;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;;AAEA;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gCAAgC,iCAAiC;AACjE;AACA;;AAEA;;AAEA;;AAEA,qBAAqB;;AAErB;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,iBAAiB;AACjB;;AAEA;AACA,gCAAgC;AAChC;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA;;AAEA;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,CAAC,EAAE,MAA8B,GAAG,SAAoB;AACxD,2CAA2C,mBAAO,CAAC,yDAAS;AAC5D,2CAA2C,mBAAO,CAAC,yDAAS;;;;;;;;;;;;ACj3B5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,+BAA+B;AAC/D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,uBAAuB;;AAEvB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA,sCAAsC,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,SAAS;;AAET;AACA;AACA;AACA;;AAEA,SAAS;;AAET;AACA;AACA;AACA;;AAEA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,iBAAiB;AACjB;;AAEA;AACA;;AAEA,CAAC,EAAE,MAA8B,GAAG,SAAmB;;;;;;;;;;;;ACvIvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACtBA,iBAAiB;;AAEjB;AACA;AACA;;;;;;;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEY;;AAEZ,aAAa,mBAAO,CAAC,oDAAW;AAChC,cAAc,mBAAO,CAAC,gDAAS;AAC/B,cAAc,mBAAO,CAAC,gDAAS;;AAE/B;AACA;AACA;;AAEA;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;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,mDAAmD;AACxE;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,UAAU;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,uCAAuC,SAAS;AAChD;AACA;AACA;AACA;AACA;AACA;;AAEA;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;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;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;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gDAAgD,EAAE;AAClD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,eAAe;AACvC;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,wBAAwB,QAAQ;AAChC;AACA,qBAAqB,eAAe;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uDAAuD,OAAO;AAC9D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,uDAAuD,OAAO;AAC9D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qBAAqB,QAAQ;AAC7B;AACA;AACA,GAAG;AACH;AACA,eAAe,SAAS;AACxB;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,YAAY;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;AC5vDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,cAAc;AACd;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA,iCAAiC,QAAQ;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;AACA,sCAAsC,QAAQ;AAC9C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;;AAEA;AACA,QAAQ,yBAAyB;AACjC;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,6DAA6D,aAAa;AAC1E;AACA,6DAA6D,aAAa;AAC1E;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,oCAAoC,aAAa;AACjD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;;;;;;;;;;;;AChfA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,mBAAO,CAAC,iEAAc;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC9DA;AACA;;AAEA;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,gCAAgC,QAAQ;AACxC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,MAAM;AAChB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,oCAAoC,8BAA8B;AAClE;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,oBAAoB;AAC9B;AACA;;AAEA;AACA,UAAU,UAAU;AACpB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B,sBAAsB;AACrD;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;AC7SA,+CAAa;;AAEb;AACA;AACA;AACA,oBAAoB;AACpB,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;;;;;;;;;;;;;AC1CA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;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;;AAEA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qCAAqC;;AAErC;AACA;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;AACA,4BAA4B,UAAU;;;;;;;;;;;;ACvLtC,iBAAiB,mBAAO,CAAC,qFAAyB;;;;;;;;;;;;;ACAlD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA,UAAU,mBAAO,CAAC,0EAAsB;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA,WAAW,mBAAO,CAAC,6DAAc;AACjC,gBAAgB,mBAAO,CAAC,6DAAU;AAClC;;AAEA,eAAe,mBAAO,CAAC,kFAAoB;AAC3C,eAAe,mBAAO,CAAC,kFAAoB;;AAE3C;;AAEA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA,E;;;;;;;;;;;;AClIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEa;;AAEb;;AAEA,gBAAgB,mBAAO,CAAC,oFAAqB;;AAE7C;AACA,WAAW,mBAAO,CAAC,6DAAc;AACjC,gBAAgB,mBAAO,CAAC,6DAAU;AAClC;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA,UAAU,mBAAO,CAAC,0EAAsB;AACxC;;AAEA;;AAEA;AACA,cAAc,mBAAO,CAAC,gDAAS;AAC/B;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,SAAS,mBAAO,CAAC,8EAAQ;;AAEzB;AACA;AACA;AACA;;AAEA;AACA,aAAa,mBAAO,CAAC,wGAA2B;AAChD;;AAEA;;AAEA,aAAa,mBAAO,CAAC,wDAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,WAAW,mBAAO,CAAC,6DAAc;AACjC,gBAAgB,mBAAO,CAAC,6DAAU;AAClC;;AAEA;AACA,gBAAgB,mBAAO,CAAC,aAAM;AAC9B;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA,iBAAiB,mBAAO,CAAC,wGAA+B;AACxD,kBAAkB,mBAAO,CAAC,kGAA4B;AACtD;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yEAAyE,6EAA6E;AACtJ;;AAEA;AACA,qBAAqB,mBAAO,CAAC,8EAAkB;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iDAAiD,0FAA0F;;AAE3I;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,wCAAwC,mBAAO,CAAC,4EAAiB;AACjE;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,mBAAO,CAAC,8EAAkB;;AAE/C;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,kGAAkG;AAClG,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA,4FAA4F;AAC5F,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,gDAAgD;;AAEhD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,sCAAsC,mBAAO,CAAC,4EAAiB;AAC/D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;;AAEA;;AAEA;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;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sCAAsC;;AAEtC;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,4CAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;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;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB;;AAEpB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,SAAS;AAC5B;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA,4EAA4E;;AAE5E;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,iBAAiB,yBAAyB;AAC1C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mDAAmD;AACnD;AACA,mDAAmD,iEAAiE;AACpH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA,uCAAuC;AACvC,OAAO;AACP;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;AACA,uCAAuC;AACvC,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gCAAgC,OAAO;AACvC;AACA;AACA;AACA,C;;;;;;;;;;;;;AC1/BA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,YAAY;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA,aAAa,mBAAO,CAAC,8EAAkB;;AAEvC;AACA,WAAW,mBAAO,CAAC,6DAAc;AACjC,gBAAgB,mBAAO,CAAC,6DAAU;AAClC;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;;AAEA;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;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,C;;;;;;;;;;;;ACrNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEa;;AAEb;;AAEA,UAAU,mBAAO,CAAC,0EAAsB;AACxC;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,WAAW,mBAAO,CAAC,6DAAc;AACjC,gBAAgB,mBAAO,CAAC,6DAAU;AAClC;;AAEA;AACA;AACA,aAAa,mBAAO,CAAC,gEAAgB;AACrC;AACA;;AAEA;AACA,aAAa,mBAAO,CAAC,wGAA2B;AAChD;;AAEA;;AAEA,aAAa,mBAAO,CAAC,wDAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,kBAAkB,mBAAO,CAAC,kGAA4B;;AAEtD;;AAEA;;AAEA;AACA,qBAAqB,mBAAO,CAAC,8EAAkB;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iDAAiD,0FAA0F;;AAE3I;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,mBAAO,CAAC,8EAAkB;;AAE/C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iCAAiC;;AAEjC;;AAEA,2CAA2C;AAC3C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,oDAAoD;AACpD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,E;;;;;;;;;;;;;AC9qBa;;AAEb,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,aAAa,mBAAO,CAAC,wDAAa;AAClC,WAAW,mBAAO,CAAC,aAAM;;AAEzB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB,gDAAgD;AAChD;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA,4BAA4B,sBAAsB;AAClD;AACA;AACA,C;;;;;;;;;;;;AC9Ea;;AAEb;;AAEA,UAAU,mBAAO,CAAC,0EAAsB;AACxC;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,E;;;;;;;;;;;ACzEA,iBAAiB,mBAAO,CAAC,8EAAQ;;;;;;;;;;;;ACAjC,iBAAiB,mBAAO,CAAC,sEAAY;;;;;;;;;;;;ACArC,2BAA2B,mBAAO,CAAC,yFAA2B;AAC9D;AACA;AACA,mBAAmB,mBAAO,CAAC,yFAA2B;AACtD,iBAAiB,mBAAO,CAAC,qFAAyB;AAClD,oBAAoB,mBAAO,CAAC,2FAA4B;AACxD,sBAAsB,mBAAO,CAAC,+FAA8B;;;;;;;;;;;;ACN5D,iBAAiB,mBAAO,CAAC,sEAAY;;;;;;;;;;;;ACArC,iBAAiB,mBAAO,CAAC,yFAA2B;;;;;;;;;;;;ACApD;AACA,aAAa,mBAAO,CAAC,6EAAQ;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC7DA,+CAAC,iBAAiB;AAClB,uCAAuC;AACvC;AACA;AACA;;AAEA;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;AACA;AACA;;AAEA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uCAAuC,OAAO;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uCAAuC,OAAO;AAC9C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,YAAY;AAClC;AACA,yBAAyB,mBAAmB,cAAc;AAC1D,wBAAwB,0BAA0B;AAClD,wBAAwB;AACxB;;AAEA;AACA;AACA,aAAa,mBAAO,CAAC,yDAAQ;AAC7B,GAAG;AACH;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,iBAAiB,mBAAO,CAAC,2EAAgB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK,IAAI;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;;AAEA;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;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;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;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;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;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;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4BAA4B,qCAAqC;;AAEjE;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;;AAEA;AACA;AACA;AACA,mDAAmD,OAAO;AAC1D;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gDAAgD,oBAAoB;AACpE,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,aAAa;AACb;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB;AACtB;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;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;AACA,oCAAoC;AACpC;AACA,WAAW,OAAO,sBAAsB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA,CAAC,EAAE,MAA8B,GAAG,SAAa;;;;;;;;;;;;;ACviDjD;AACA;;AAEA;AACA;AACA;;AAEA,uBAAuB;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,iBAAiB;AACtC;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0CAA0C,sBAAsB,EAAE;AAClE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;;AAEA,KAAK;AACL;AACA;;AAEA,KAAK;AACL;AACA;;AAEA,KAAK;AACL;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,CAAC;;;;;;;;;;;;;ACzLD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,SAAS,mBAAO,CAAC,8EAAQ;AACzB,eAAe,mBAAO,CAAC,6DAAU;;AAEjC;AACA,kBAAkB,mBAAO,CAAC,uFAA6B;AACvD,kBAAkB,mBAAO,CAAC,uFAA6B;AACvD,gBAAgB,mBAAO,CAAC,mFAA2B;AACnD,mBAAmB,mBAAO,CAAC,iFAA8B;AACzD,qBAAqB,mBAAO,CAAC,qFAAgC;;AAE7D;AACA;;;;AAIA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;;;;;;;;;;;;AC9HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA,aAAa,mBAAO,CAAC,wDAAa;AAClC;;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;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;;AAEA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,sCAAsC,sCAAsC;AACzG;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;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;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,C;;;;;;;;;;;;ACtSA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AClEA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;;;;;;;ACnBA;AAAA;AAAA;AAAA;AAAA;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,IAAMY,cAAc,GAAG,CAAvB;AACA,IAAMC,eAAe,GAAG,CAAxB;AACA,IAAMC,eAAe,GAAG,CAAxB;AACA,IAAMC,iBAAiB,GAAG,CAA1B;AACA,IAAMC,cAAc,GAAG,CAAvB;AACA,IAAMC,eAAe,GAAG,CAAxB;AAEA;AACA;AACA;AACA;AACA;;AACA,SAASb,KAAT,CAAexK,MAAf,EAAuB;AAEnBA,QAAM,GAAGA,MAAM,IAAI,EAAnB;AACA,MAAM0K,OAAO,GAAG,KAAKA,OAArB;AACA,MAAMY,QAAQ,GAAGC,yDAAQ,CAACb,OAAD,CAAR,CAAkBc,WAAlB,EAAjB;AACA,MAAMC,QAAQ,GAAGzL,MAAM,CAACyL,QAAxB;AAEA,MAAMC,KAAK,GAAG,EAAd;AAEA,MAAIC,QAAJ,EACIC,gBADJ,EAEIC,cAFJ,EAGIpP,SAHJ;;AAKA,WAASqP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eAAO,EAAPA;AAAD,OAAvB,EAAkCqG,IAAlC,CAAhB;AACH,KApC2C,CAsC5C;;;AACAC,iBAAa,CAAC/D,YAAd,GAA6B,YAAY;AAAC,aAAO+C,SAAP;AAAkB,KAA5D;;AAEA,WAAOgB,aAAP;AACH;;AAEDrF,UAAQ,GAAG;AACPiE,UAAM,EAAEA,MADD;AAEPG,wBAAoB,EAAEA,oBAFf;AAGPE,wBAAoB,EAAEA,oBAHf;AAIPC,4BAAwB,EAAEA,wBAJnB;AAKPpC,uBAAmB,EAAEA,mBALd;AAMPgD,6BAAyB,EAAEA,yBANpB;AAOP/C,0BAAsB,EAAEA,sBAPjB;AAQP0C,mBAAe,EAAEA,eARV;AASPD,yBAAqB,EAAEA,qBAThB;AAUPD,sBAAkB,EAAEA;AAVb,GAAX;AAaA,SAAO5E,QAAP;AAEH,CArOqB,EAAtB;;AAuOed,2EAAf,E;;;;;;;;;;;;;;;;;;;;;;;;ACzQA;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;AACA;AACA;AACA;;AAGA;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;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;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;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;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;;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;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;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;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;;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;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;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;;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;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;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;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;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;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;;AAGA;AACA;AACA;AACA;;AACA,SAASuG,QAAT,GAAoB;AAAA;;AAChB,MAAIzF,QAAJ;AACA,MAAMjB,OAAO,GAAG,KAAKA,OAArB;AACA,MAAMY,QAAQ,GAAGC,yDAAQ,CAACb,OAAD,CAAR,CAAkBc,WAAlB,EAAjB;AACA,MAAM6F,gBAAgB,GAAG;AACrB,iCAA6B3D,sDAAM,CAAC4D,0BADf;AAErB,8CAA0C5D,sDAAM,CAAC6D,yCAF5B;AAGrB,qCAAiC7D,sDAAM,CAAC8D;AAHnB,GAAzB;AAOA;AACJ;AACA;AACA;;AACI,MAAMC,eAAe,GAAG;AACpBrF,SAAK,EAAE;AACHmB,cAAQ,EAAE/C,mDAAK,CAACW,iBADb;AAEHqC,mBAAa,EAAE;AAFZ,KADa;AAKpBkE,aAAS,EAAE;AACPC,wBAAkB,EAAE,KADb;AAEPC,iCAA2B,EAAE,GAFtB;AAGPC,iCAA2B,EAAE,GAHtB;AAIPC,uBAAiB,EAAE,KAJZ;AAKPC,6BAAuB,EAAE,IALlB;AAMPC,gCAA0B,EAAE,IANrB;AAOPC,iCAA2B,EAAE,GAPtB;AAQPC,uCAAiC,EAAE,IAR5B;AASPC,kBAAY,EAAE;AACVC,4CAAoC,EAAE,IAD5B;AAEVC,+BAAuB,EAAE;AAF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;AACA,aAAO,KAAKL,KAAL,CAAWF,YAAX,CAAwBszB,IAAxB,EAA8BC,kBAA9B,CAAP;AACH;;;;;;AAGU1K,6EAAf,E;;;;;;;;;;;;;;;AChDA;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;IACMtD,M,GACF,kBAAc;AAAA;;AACV,OAAK3vB,EAAL,GAAU,IAAV;AACA,OAAK3mB,KAAL,GAAa,CAAC,CAAd;AACA,OAAKknB,QAAL,GAAgBjR,GAAhB;AACA,OAAK0W,KAAL,GAAa1W,GAAb;AACA,OAAKoQ,GAAL,GAAW,IAAX;AACA,OAAKqS,YAAL,GAAoB,IAApB;AACH,C;;AAGL4d,MAAM,CAACI,UAAP,GAAoB,WAApB;AAEeJ,qEAAf,E;;;;;;;;;;;;;;;AC/CA;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;IACM5D,qB,GACF,iCAAc;AAAA;;AACV,OAAK/rB,EAAL,GAAU,IAAV;AACA,OAAK49B,MAAL,GAAc,KAAd;AACA,OAAK/yC,IAAL,GAAY,SAAZ;AACA,OAAKgzC,iBAAL,GAAyB,IAAzB;AACA,OAAKC,aAAL,GAAqB,IAArB;AACA,OAAKtN,gBAAL,GAAwBlhC,GAAxB;AACA,OAAK8hC,SAAL,GAAiB,IAAjB;AACH,C;;AAGUrF,oFAAf,E;;;;;;;;;;;;;;;;;;;;AC9CA;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;;IAEMqC,c;AACF,4BAAc;AA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KAA5B;AACexD,qEAAM,CAACS,YAAP,CAAoBiD,mBAApB,CAAwCuzF,GAAxC,CAAf;AAA6D,wB;;;;;;;;;;;;;;;AClG7D;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;IACMxC,S,GACF,qBAAc;AAAA;;AACV,OAAKkD,MAAL,GAAc,IAAd,CADU,CAEV;AACA;;AAEA,OAAKI,SAAL,GAAiB,IAAjB,CALU,CAMV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAKH,MAAL,GAAc,IAAd,CAzBU,CA0BV;AACA;;AAEA,OAAKxnF,GAAL,GAAW,IAAX,CA7BU,CA8BV;AACA;AACA;AACA;AACA;;AAEA,OAAKiqF,SAAL,GAAiB,IAAjB,CApCU,CAqCV;AACA;AACA;AACA;AACA;;AAEA,OAAKpC,eAAL,GAAuB,IAAvB,CA3CU,CA4CV;AACA;AACA;AACA;AACH,C;;AAGLxD,SAAS,CAAC6F,4BAAV,GAAyC,KAAzC;AACA7F,SAAS,CAAC8F,qBAAV,GAAyC,KAAzC;AACA9F,SAAS,CAAC+F,gBAAV,GAAyC,KAAzC;AACA/F,SAAS,CAACgG,kBAAV,GAAyC,KAAzC;AACAhG,SAAS,CAAC4D,gBAAV,GAAyC,KAAzC;AACA5D,SAAS,CAACiG,qBAAV,GAAyC,KAAzC;AACAjG,SAAS,CAACoE,mBAAV,GAAyC,KAAzC;AACApE,SAAS,CAACuD,gBAAV,GAAyC,KAAzC;AACAvD,SAAS,CAAC0D,eAAV,GAAyC,KAAzC;AAEe1D,wEAAf,E;;;;;;;;;;;;;;;AChGA;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;IACM2E,O,GACF,mBAAc;AAAA;;AAEV,OAAK/wF,OAAL,GAAe,EAAf;AACA,OAAK2qF,KAAL,GAAa,EAAb;AACA,OAAKE,SAAL,GAAiB,EAAjB;AACH,C;;AAGUkG,sEAAf,E;;;;;;;;;;;;;;;AC3CA;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;IACMpG,K,GACF,iBAAc;AAAA;;AAEV;AACA,OAAKY,SAAL,GAAiB,CAAjB;AACA,OAAKl6E,QAAL,GAAgBygE,QAAhB,CAJU,CAMV;;AACA,OAAK0Z,iBAAL,GAAyB,KAAzB;AACH,C;;AAGUb,oEAAf,E;;;;;;;;;;;;;;;AC9CA;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,IAAM2H,uBAAuB,GAAG,IAAhC;;IAEMzH,S,GACF,qBAAc;AAAA;;AAEV,OAAKr0E,WAAL,GAAmB,EAAnB;AACA,OAAKxkB,KAAL,GAAa,EAAb,CAHU,CAKV;;AACA,OAAKo9F,gBAAL,GAAwB,EAAxB;AACA,OAAKC,eAAL,GAAuBiD,uBAAvB;AACH,C;;AAGUzH,wEAAf,E;;;;;;;;;;;;;;;;;AClDA;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;AAEA,IAAM0H,aAAa,GAAGnyF,GAAtB;;IAEMoyF,I,GACF,cAAYC,SAAZ,EAAuBC,YAAvB,EAAqC;AAAA;;AACjC,OAAK3+E,IAAL,GAAY;AACRkrB,YAAQ,EAAEwzD,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,C;;AAGUuzG,sEAAf,E;;;;;;;;;;;;;;;AC/CA;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;IACMuE,e;AACF;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACI,yBAAYvT,SAAZ,EAAuBwW,eAAvB,EAAwC;AAAA;;AACpC,OAAKxW,SAAL,GAAiBA,SAAjB;AACA,OAAKwW,eAAL,GAAuBA,eAAvB;AACH,C;;AAGUjD,8EAAf,E;;;;;;;;;;;;;;;ACnDA;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;IACM5K,sB;AACF;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI,gCAAYR,iBAAZ,EAA+BC,iBAA/B,EAAkDI,qBAAlD,EAAyEC,eAAzE,EAA0FmQ,YAA1F,EAAwG;AAAA;;AACpG,OAAKC,aAAL,GAAqB,CAAE,MAAF,CAArB;;AACA,MAAI1Q,iBAAiB,IAAIA,iBAAiB,CAACv2H,MAA3C,EAAmD;AAC/C,SAAKu2H,iBAAL,GAAyBA,iBAAzB;AACH;;AACD,MAAIC,iBAAiB,IAAIA,iBAAiB,CAACx2H,MAA3C,EAAmD;AAC/C,SAAKw2H,iBAAL,GAAyBA,iBAAzB;AACH;;AACD,OAAKI,qBAAL,GAA6BA,qBAA7B;AACA,OAAKC,eAAL,GAAuBA,eAAvB;AACA,OAAKmQ,YAAL,GAAoBA,YAApB;AACH,C;;AAGUjQ,qFAAf,E;;;;;;;;;;;;;;;AClEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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mzI,OAA7B,CAAf,E;;;;;;;;;;;;ACvHA;AAAA;AAAA;AAAA;AAAA;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;AAEA;AACA;AACA;AACA;AACA;;AACA,SAAS3zG,WAAT,GAAuB;AAEnB,MAAItkC,QAAJ;AAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AACI,WAASukC,QAAT,CAAkBk9G,IAAlB,EAAwBC,IAAxB,EAA8B;AAC1B,WAAOC,sDAAS,CAACF,IAAD,EAAOC,IAAP,CAAhB;AACH;;AAED1hJ,UAAQ,GAAG;AACPukC,YAAQ,EAAEA;AADH,GAAX;AAIA,SAAOvkC,QAAP;AACH;;AAEDskC,WAAW,CAACriC,qBAAZ,GAAoC,aAApC;AACe/C,yHAAY,CAACiD,mBAAb,CAAiCmiC,WAAjC,CAAf,E;;;;;;;;;;;;AC/DA;AAAA;AAAA;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;;AAEA,SAASqY,eAAT,GAA2B;AAEvB,MAAI38C,QAAJ;;AAEA,WAASiyG,gBAAT,CAA0BpjG,GAA1B,EAA+B;AAC3B,WAAOA,GAAP;AACH;;AAED,WAAS89F,mBAAT,CAA6BllF,OAA7B,EAAsC;AAClC,WAAOA,OAAP;AACH;;AAEDznB,UAAQ,GAAG;AACPiyG,oBAAgB,EAAEA,gBADX;AAEPtF,uBAAmB,EAAEA;AAFd,GAAX;AAKA,SAAO3sG,QAAP;AACH;;AAED28C,eAAe,CAAC16C,qBAAhB,GAAwC,iBAAxC;AACe/C,yHAAY,CAACiD,mBAAb,CAAiCw6C,eAAjC,CAAf,E;;;;;;;;;;;;;;;;;;;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA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L,GAAoB,KAApB;AACA,UAAKt/B,IAAL,GAAY,IAAZ;AACA,UAAK3mF,YAAL,GAAoB,KAApB;AACA,UAAKE,UAAL,GAAkB,KAAlB;AACA,UAAK2mF,MAAL,GAAc,IAAd;AARW;AASd;;;EAVuBntF,0D;;AAabmsH,4EAAf,E;;;;;;;;;;;;;;;AClDA;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;IACMoL,S,GACF,qBAAc;AAAA;;AACV,OAAKnnI,GAAL,GAAW,IAAX;AACA,OAAK21B,KAAL,GAAa,IAAb;AACA,OAAKC,MAAL,GAAc,IAAd;AACA,OAAKjgC,CAAL,GAAS,IAAT;AACA,OAAKitI,CAAL,GAAS,IAAT;AACH,C;;AAGUuE,wEAAf,E;;;;;;;;;;;;;;;AC5CA;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;IACMW,kB,GACF,8BAAc;AAAA;;AACV,OAAK95E,OAAL,GAAe,CAAf;AACA,OAAKr4B,KAAL,GAAa,CAAb;AACA,OAAKC,MAAL,GAAc,CAAd;AACA,OAAKoxG,QAAL,GAAgB,CAAhB;AACA,OAAKC,SAAL,GAAiB,CAAjB;AACA,OAAKG,YAAL,GAAoB,CAApB;AACA,OAAKC,aAAL,GAAqB,CAArB;AACA,OAAKhnH,WAAL,GAAmB,CAAnB;AACA,OAAKjX,eAAL,GAAuB,CAAvB;AACA,OAAKyF,SAAL,GAAiB,CAAjB;AACA,OAAK64H,WAAL,GAAmB,EAAnB;AACA,OAAK3+H,EAAL,GAAU,EAAV;AACH,C;;AAGU++H,iFAAf,E;;;;;;;;;;;;;;;ACnDA;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;IACMxuC,e,GACF,2BAAc;AAAA;;AACV,OAAKn4G,CAAL,GAAS,IAAT;AACA,OAAKk2J,IAAL,GAAY,IAAZ;AACA,OAAK/iG,KAAL,GAAa,IAAb;AACA,OAAKvrC,EAAL,GAAU,IAAV;AACA,OAAK3yB,CAAL,GAAS,IAAT;AACA,OAAK0pB,CAAL,GAAS,IAAT;AACH,C;;AAGUw5F,8EAAf;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;;;;;;;;;AC7DA;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;IACMlV,W;AACF;AACJ;AACA;AACI,uBAAc;AAAA;;AACV;AACR;AACA;AACA;AACQ,OAAKjjG,CAAL,GAAS,IAAT;AACA;AACR;AACA;AACA;AACA;AACA;;AACQ,OAAKkR,KAAL,GAAa,IAAb;AACH,C;;AAGU+xF,0EAAf,E;;;;;;;;;;;;;;;;ACvDA;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;;IACMkU,W;AACF;AACJ;AACA;AACI,uBAAc;AAAA;;AACV;AACR;AACA;AACA;AACQ,OAAK/2F,MAAL,GAAc,IAAd;AACA;AACR;AACA;AACA;;AACQ,OAAKqc,KAAL,GAAaf,mEAAgB,CAACg7B,YAA9B;AACH,C;;AAGUygD,0EAAf,E;;;;;;;;;;;;;;;ACtDA;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;IACMC,O;AACF;AACJ;AACA;AACI,mBAAc;AAAA;;AAEV;AACR;AACA;AACA;AACQ,OAAK3/G,IAAL,GAAY,IAAZ;AACA;AACR;AACA;AACA;AACA;;AACQ,OAAK0gC,KAAL,GAAa,IAAb;AACA;AACR;AACA;AACA;;AACQ,OAAK/C,YAAL,GAAoB,IAApB;AACH,C;;AAGUgiF,sEAAf,E;;;;;;;;;;;;;;;AC5DA;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;IACMC,a;AACF;AACJ;AACA;AACI,yBACA;AAAA;;AACI;AACR;AACA;AACA;AACQ,OAAK5/G,IAAL,GAAY,IAAZ;AACA;AACR;AACA;AACA;;AACQ,OAAK8/G,aAAL,GAAqB,IAArB;AACH,C;;AAGUF,4EAAf,E;;;;;;;;;;;;;;;;;ACrDA;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;IACMh8F,W;AACF;AACJ;AACA;AACI,uBAAc;AAAA;;AACV;AACR;AACA;AACA;AACQ,OAAKi7F,KAAL,GAAa,IAAb;AACA;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACQ,OAAK7jG,IAAL,GAAY,IAAZ;AACA;AACR;AACA;AACA;;AACQ,OAAKoM,GAAL,GAAW,IAAX;AACA;AACR;AACA;AACA;;AACQ,OAAK03F,SAAL,GAAiB,IAAjB;AACA;AACR;AACA;AACA;;AACQ,OAAKp+E,KAAL,GAAa,IAAb;AACA;AACR;AACA;AACA;;AACQ,OAAKq+E,QAAL,GAAgB,IAAhB;AACA;AACR;AACA;AACA;;AACQ,OAAKzP,SAAL,GAAiB,IAAjB;AACA;AACR;AACA;AACA;;AACQ,OAAK/pE,YAAL,GAAoB,IAApB;AACA;AACR;AACA;AACA;;AACQ,OAAK2mE,QAAL,GAAgB,IAAhB;AACA;AACR;AACA;AACA;;AACQ,OAAK1iE,KAAL,GAAa,EAAb;AAEA;AACR;AACA;AACA;;AACQ,OAAK21E,OAAL,GAAe,IAAf;AACA;AACR;AACA;AACA;;AACQ,OAAKD,QAAL,GAAgB,IAAhB;AACA;AACR;AACA;AACA;;AACQ,OAAKE,cAAL,GAAsB,IAAtB;AACA;AACR;AACA;AACA;;AACQ,OAAKC,QAAL,GAAgB,IAAhB;AACA;AACR;AACA;AACA;;AACQ,OAAKj3E,gBAAL,GAAwB,IAAxB;AACA;AACR;AACA;AACA;;AACQ,OAAKmnE,gBAAL,GAAwB,IAAxB;AACA;AACR;AACA;;AACQ,OAAK+P,eAAL,GAAuB,IAAvB;AACH,C;AAGL;AACA;AACA;AACA;;;IACMV,gB;AACF;AACJ;AACA;AACI,4BAAc;AAAA;;AACV;AACR;AACA;AACA;AACQ,OAAKphH,CAAL,GAAS,IAAT;AACA;AACR;AACA;AACA;;AACQ,OAAKyS,CAAL,GAAS,IAAT;AACA;AACR;AACA;AACA;;AACQ,OAAKrG,CAAL,GAAS,EAAT;AACH,C;;AAGLga,WAAW,CAACgiF,GAAZ,GAAkB,KAAlB;AACAhiF,WAAW,CAAC+hF,IAAZ,GAAmB,MAAnB;AACA/hF,WAAW,CAACC,QAAZ,GAAuB,KAAvB;AACAD,WAAW,CAACE,oBAAZ,GAAmC,gBAAnC;AACAF,WAAW,CAACI,iBAAZ,GAAgC,uBAAhC;AACAJ,WAAW,CAACM,kBAAZ,GAAiC,cAAjC;AACAN,WAAW,CAACG,kBAAZ,GAAiC,cAAjC;AACAH,WAAW,CAACK,gCAAZ,GAA+C,2BAA/C;AACAL,WAAW,CAACO,8BAAZ,GAA6C,qBAA7C;AACAP,WAAW,CAAC86I,kBAAZ,GAAiC,cAAjC;AACA96I,WAAW,CAACQ,OAAZ,GAAsB,SAAtB;AACAR,WAAW,CAACS,UAAZ,GAAyB,OAAzB;;;;;;;;;;;;;;;;;;;AC/KA;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;IACM+7F,c;AACF;AACJ;AACA;AACI,0BAAc;AAAA;;AAEV;AACR;AACA;AACA;AACQ,OAAKzkG,SAAL,GAAiB,IAAjB;AACA;AACR;AACA;AACA;;AACQ,OAAKX,IAAL,GAAY,IAAZ;AACA;AACR;AACA;AACA;;AACQ,OAAKklG,WAAL,GAAmB,IAAnB;AACA;AACR;AACA;AACA;;AACQ,OAAKC,SAAL,GAAiB,IAAjB;AACA;AACR;AACA;AACA;;AACQ,OAAK/hF,qBAAL,GAA6B,IAA7B;AACA;AACR;AACA;AACA;;AACQ,OAAKqC,qBAAL,GAA6B,CAA7B;AACA;AACR;AACA;AACA;;AACQ,OAAKy8D,gBAAL,GAAwB,CAAxB;AACA;AACR;AACA;AACA;;AACQ,OAAKn1D,WAAL,GAAmB,IAAnB;AACA;AACR;AACA;AACA;;AACQ,OAAKg+B,QAAL,GAAgB,IAAhB;AACA;AACR;AACA;AACA;;AACQ,OAAKrsB,OAAL,GAAe,CAAf;AACA;AACR;AACA;AACA;;AACQ,OAAK3oB,UAAL,GAAkB,EAAlB;AACA;AACR;AACA;AACA;;AACQ,OAAKvB,kBAAL,GAA0B,EAA1B;AAEH,C;AAGL;AACA;AACA;AACA;;;IACM6wF,wB;AACF;AACJ;AACA;AACI,oCAAc;AAAA;;AACV;AACR;AACA;AACA;AACQ,OAAKlwF,EAAL,GAAU,IAAV;AACA;AACR;AACA;AACA;;AACQ,OAAK3mB,KAAL,GAAa,IAAb;AACA;AACR;AACA;AACA;;AACQ,OAAK2sB,KAAL,GAAa,IAAb;AACA;AACR;AACA;AACA;;AACQ,OAAKzF,QAAL,GAAgB,IAAhB;AACH,C;AAGL;AACA;AACA;AACA;;;IACM4vF,gC;AACF;AACJ;AACA;AACI,4CAAc;AAAA;;AACV;AACR;AACA;AACA;AACQ,OAAKnwF,EAAL,GAAU,IAAV;AACA;AACR;AACA;AACA;;AACQ,OAAK3mB,KAAL,GAAa,IAAb;AACA;AACR;AACA;AACA;;AACQ,OAAKmS,SAAL,GAAiB,IAAjB;AACA;AACR;AACA;AACA;;AACQ,OAAK6rB,WAAL,GAAmB,IAAnB;AACA;AACR;AACA;AACA;;AACQ,OAAKnR,sBAAL,GAA8B,IAA9B;AACA;AACR;AACA;AACA;;AACQ,OAAKoR,WAAL,GAAmB,IAAnB;AACA;AACR;AACA;AACA;;AACQ,OAAKC,gBAAL,GAAwB,IAAxB;AACH,C;;;;;;;;;;;;;;;;;;;ACpLL;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;IACMgB,Q;AACF;AACJ;AACA;AACI,oBAAc;AAAA;;AAEV;AACR;AACA;AACA;AACQ,OAAKvS,KAAL,GAAa,IAAb;AACA;AACR;AACA;AACA;;AACQ,OAAKwS,MAAL,GAAc,IAAd;AACA;AACR;AACA;AACA;AACA;AACA;AACA;AACA;;AACQ,OAAKC,SAAL,GAAiB,IAAjB;AAEA;AACR;AACA;AACA;;AACQ,OAAKY,KAAL,GAAa,EAAb;AACH,C;AAGL;;;AACAd,QAAQ,CAAC82D,4BAAT,GAAwC,iBAAxC;AACA92D,QAAQ,CAACq2D,iBAAT,GAA6B,MAA7B;AACAr2D,QAAQ,CAAC+2D,8BAAT,GAA0C,QAA1C;AACA/2D,QAAQ,CAACi2H,+BAAT,GAA2C,0BAA3C;AAEA;AACA;AACA;AACA;;IACM51H,a;AACF;AACJ;AACA;AACI,yBAAc;AAAA;;AACV;AACR;AACA;AACA;AACA;AACQ,OAAKC,gBAAL,GAAwB,IAAxB;AACA;AACR;AACA;AACA;AACA;AACA;AACA;;AACQ,OAAKu3E,WAAL,GAAmB,IAAnB;AACA;AACR;AACA;AACA;AACA;;AACQ,OAAKpqF,KAAL,GAAa,IAAb;AACA;AACR;AACA;AACA;AACA;;AACQ,OAAKwS,MAAL,GAAc,IAAd;AACA;AACR;AACA;AACA;AACA;;AACQ,OAAKjY,QAAL,GAAgB,IAAhB;AACA;AACR;AACA;AACA;AACA;;AACQ,OAAKuY,aAAL,GAAqB,IAArB;AACA;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACQ,OAAKM,UAAL,GAAkB,IAAlB;AACH,C;;AAGLR,aAAa,CAAC2qC,iCAAd,GAAkD,uBAAlD;AACA3qC,aAAa,CAACmqC,kBAAd,GAAmC,aAAnC;AACAnqC,aAAa,CAACm2D,wBAAd,GAAyC,cAAzC;AACAn2D,aAAa,CAACk3D,yBAAd,GAA0C,eAA1C;AACAl3D,aAAa,CAACm3D,0BAAd,GAA2C,gBAA3C;AACAn3D,aAAa,CAAC61H,8BAAd,GAA+C,wBAA/C;AACA71H,aAAa,CAACk5D,mBAAd,GAAoC,SAApC;;;;;;;;;;;;;;;;AChJA;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;IACM48D,oB;AACF;AACJ;AACA;AACI,gCAAc;AAAA;;AAEV;AACR;AACA;AACA;AACQ,OAAKt2J,CAAL,GAAS,IAAT;AACA;AACR;AACA;AACA;AACA;AACA;AACA;;AACQ,OAAK67B,EAAL,GAAU,IAAV;AACA;AACR;AACA;AACA;;AACQ,OAAKC,EAAL,GAAU,IAAV;AACA;AACR;AACA;AACA;AACA;AACA;AACA;;AACQ,OAAKC,GAAL,GAAW,IAAX;AAEH,C;;AAGUu6H,mFAAf,E;;;;;;;;;;;;;;;ACtEA;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;IACM5+C,a;AACF;AACJ;AACA;AACI,yBAAc;AAAA;;AAEV;AACR;AACA;AACA;AACA;AACQ,OAAKv6E,eAAL,GAAuB,EAAvB;AACA;AACR;AACA;AACA;;AACQ,OAAKC,gBAAL,GAAwB,EAAxB;AACH,C;;AAGUs6E,4EAAf,E;;;;;;;;;;;;;;;ACtDA;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;IACMD,c;AACF;AACJ;AACA;AACI,0BAAc;AAAA;;AAEV;AACR;AACA;AACA;AACQ,OAAKrkG,SAAL,GAAiB,IAAjB;AACA;AACR;AACA;AACA;;AACQ,OAAKpT,CAAL,GAAS,IAAT;AAEA;AACR;AACA;AACA;;AACQ,OAAKyS,IAAL,GAAY,IAAZ;AACA;AACR;AACA;AACA;;AACQ,OAAK3R,SAAL,GAAiB,IAAjB;AACA;AACR;AACA;AACA;;AACQ,OAAK+0B,qBAAL,GAA6B,IAA7B;AACA;AACR;AACA;AACA;;AACQ,OAAK1N,QAAL,GAAgB,IAAhB;AACA;AACR;AACA;AACA;;AACQ,OAAKN,OAAL,GAAe,IAAf;AACA;AACR;AACA;AACA;;AACQ,OAAKsQ,KAAL,GAAa,IAAb;AAEA;AACR;AACA;AACA;;AACQ,OAAKsE,KAAL,GAAa,IAAb;AACH,C;;AAGUg7E,6EAAf,E;;;;;;;;;;;AC1FA,e;;;;;;;;;;;ACAA,e","file":"dash.all.debug.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"dashjs\"] = factory();\n\telse\n\t\troot[\"dashjs\"] = factory();\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/dist/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./index.js\");\n","/* $Date: 2007-06-12 18:02:31 $ */\n\n// from: http://bannister.us/weblog/2007/06/09/simple-base64-encodedecode-javascript/\n// Handles encode/decode of ASCII and Unicode strings.\n\nvar UTF8 = {};\nUTF8.encode = function(s) {\n var u = [];\n for (var i = 0; i < s.length; ++i) {\n var c = s.charCodeAt(i);\n if (c < 0x80) {\n u.push(c);\n } else if (c < 0x800) {\n u.push(0xC0 | (c >> 6));\n u.push(0x80 | (63 & c));\n } else if (c < 0x10000) {\n u.push(0xE0 | (c >> 12));\n u.push(0x80 | (63 & (c >> 6)));\n u.push(0x80 | (63 & c));\n } else {\n u.push(0xF0 | (c >> 18));\n u.push(0x80 | (63 & (c >> 12)));\n u.push(0x80 | (63 & (c >> 6)));\n u.push(0x80 | (63 & c));\n }\n }\n return u;\n};\nUTF8.decode = function(u) {\n var a = [];\n var i = 0;\n while (i < u.length) {\n var v = u[i++];\n if (v < 0x80) {\n // no need to mask byte\n } else if (v < 0xE0) {\n v = (31 & v) << 6;\n v |= (63 & u[i++]);\n } else if (v < 0xF0) {\n v = (15 & v) << 12;\n v |= (63 & u[i++]) << 6;\n v |= (63 & u[i++]);\n } else {\n v = (7 & v) << 18;\n v |= (63 & u[i++]) << 12;\n v |= (63 & u[i++]) << 6;\n v |= (63 & u[i++]);\n }\n a.push(String.fromCharCode(v));\n }\n return a.join('');\n};\n\nvar BASE64 = {};\n(function(T){\n var encodeArray = function(u) {\n var i = 0;\n var a = [];\n var n = 0 | (u.length / 3);\n while (0 < n--) {\n var v = (u[i] << 16) + (u[i+1] << 8) + u[i+2];\n i += 3;\n a.push(T.charAt(63 & (v >> 18)));\n a.push(T.charAt(63 & (v >> 12)));\n a.push(T.charAt(63 & (v >> 6)));\n a.push(T.charAt(63 & v));\n }\n if (2 == (u.length - i)) {\n var v = (u[i] << 16) + (u[i+1] << 8);\n a.push(T.charAt(63 & (v >> 18)));\n a.push(T.charAt(63 & (v >> 12)));\n a.push(T.charAt(63 & (v >> 6)));\n a.push('=');\n } else if (1 == (u.length - i)) {\n var v = (u[i] << 16);\n a.push(T.charAt(63 & (v >> 18)));\n a.push(T.charAt(63 & (v >> 12)));\n a.push('==');\n }\n return a.join('');\n }\n var R = (function(){\n var a = [];\n for (var i=0; i= minLevel) {\n console.log(this.time + \" [\" + severity + \"] \" + msg);\n }\n }\n };\n\n var numArrayToHexArray = function(numArray) {\n var hexArray = [];\n for (var j = 0; j < numArray.length; j++) {\n hexArray.push(numArray[j].toString(16));\n }\n return hexArray;\n };\n\n /**\n * State of CEA-608 pen or character\n * @constructor\n */\n var PenState = function(foreground, underline, italics, background, flash) {\n this.foreground = foreground || \"white\";\n this.underline = underline || false;\n this.italics = italics || false;\n this.background = background || \"black\";\n this.flash = flash || false;\n };\n\n PenState.prototype = {\n \n reset : function() {\n this.foreground = \"white\";\n this.underline = false;\n this.italics = false;\n this.background = \"black\";\n this.flash = false;\n },\n \n setStyles : function(styles) {\n var attribs = [\"foreground\", \"underline\", \"italics\", \"background\", \"flash\"];\n for (var i = 0 ; i < attribs.length; i++) {\n var style = attribs[i];\n if (styles.hasOwnProperty(style)) {\n this[style] = styles[style];\n }\n }\n },\n \n isDefault : function() {\n return (this.foreground === \"white\" && !this.underline && !this.italics && \n this.background === \"black\" && !this.flash);\n },\n\n equals : function(other) {\n return ( (this.foreground === other.foreground) && \n (this.underline === other.underline) &&\n (this.italics === other.italics) &&\n (this.background === other.background) &&\n (this.flash === other.flash) );\n },\n\n copy : function(newPenState) {\n this.foreground = newPenState.foreground;\n this.underline = newPenState.underline;\n this.italics = newPenState.italics;\n this.background = newPenState.background;\n this.flash = newPenState.flash;\n },\n \n toString: function() {\n return (\"color=\" + this.foreground + \", underline=\" + this.underline + \", italics=\" + this.italics +\n \", background=\" + this.background + \", flash=\" + this.flash);\n }\n };\n\n /**\n * Unicode character with styling and background.\n * @constructor\n */\n var StyledUnicodeChar = function(uchar, foreground, underline, italics, background, flash) {\n this.uchar = uchar || ' '; // unicode character\n this.penState = new PenState(foreground, underline,italics, background, flash);\n };\n\n StyledUnicodeChar.prototype = {\n \n reset: function() {\n this.uchar = ' ';\n this.penState.reset();\n },\n \n setChar: function(uchar, newPenState) {\n this.uchar = uchar;\n this.penState.copy(newPenState);\n },\n \n setPenState: function(newPenState) {\n this.penState.copy(newPenState);\n },\n \n equals: function(other) {\n return this.uchar === other.uchar && this.penState.equals(other.penState);\n },\n \n copy: function(newChar) {\n this.uchar = newChar.uchar;\n this.penState.copy(newChar.penState);\n },\n \n isEmpty : function() {\n return this.uchar === ' ' && this.penState.isDefault();\n }\n };\n\n /**\n * CEA-608 row consisting of NR_COLS instances of StyledUnicodeChar.\n * @constructor\n */\n var Row = function() {\n this.chars = [];\n for (var i = 0 ; i < NR_COLS ; i++) {\n this.chars.push(new StyledUnicodeChar());\n }\n this.pos = 0;\n this.currPenState = new PenState();\n };\n\n Row.prototype = {\n \n equals: function(other) {\n var equal = true;\n for (var i = 0 ; i < NR_COLS; i ++) {\n if (!this.chars[i].equals(other.chars[i])) {\n equal = false;\n break;\n }\n }\n return equal;\n },\n \n copy: function(other) {\n for (var i = 0 ; i < NR_COLS; i ++) {\n this.chars[i].copy(other.chars[i]);\n }\n },\n \n isEmpty : function() {\n var empty = true;\n for (var i = 0 ; i < NR_COLS; i ++) {\n if (!this.chars[i].isEmpty()) {\n empty = false;\n break;\n }\n }\n return empty;\n },\n\n /**\n * Set the cursor to a valid column.\n */\n setCursor : function(absPos) {\n if (this.pos !== absPos) {\n this.pos = absPos;\n }\n if (this.pos < 0) {\n logger.log(\"ERROR\", \"Negative cursor position \" + this.pos);\n this.pos = 0;\n } else if (this.pos > NR_COLS) {\n logger.log(\"ERROR\", \"Too large cursor position \" + this.pos);\n this.pos = NR_COLS;\n }\n },\n\n /** \n * Move the cursor relative to current position.\n */\n moveCursor : function(relPos) {\n var newPos = this.pos + relPos;\n if (relPos > 1) {\n for (var i = this.pos+1; i < newPos+1 ; i++) {\n this.chars[i].setPenState(this.currPenState);\n }\n }\n this.setCursor(newPos);\n },\n\n /**\n * Backspace, move one step back and clear character.\n */\n backSpace : function () {\n this.moveCursor(-1);\n this.chars[this.pos].setChar(' ', this.currPenState);\n },\n\n insertChar: function(byte) {\n if (byte >= 0x90) { //Extended char\n this.backSpace();\n }\n var char = getCharForByte(byte);\n if (this.pos >= NR_COLS) {\n logger.log(\"ERROR\", \"Cannot insert \" + byte.toString(16) + \n \" (\" + char + \") at position \" + this.pos + \". Skipping it!\");\n return;\n }\n this.chars[this.pos].setChar(char, this.currPenState);\n this.moveCursor(1);\n },\n\n clearFromPos : function(startPos) {\n var i;\n for (i = startPos ; i < NR_COLS ; i++) {\n this.chars[i].reset();\n }\n },\n\n clear : function() {\n this.clearFromPos(0);\n this.pos = 0;\n this.currPenState.reset();\n },\n\n clearToEndOfRow : function() {\n this.clearFromPos(this.pos);\n },\n\n getTextString: function() {\n var chars = [];\n var empty = true;\n for (var i = 0 ; i < NR_COLS ; i++) {\n var char = this.chars[i].uchar;\n if (char !== \" \") {\n empty = false;\n }\n chars.push(char);\n }\n if (empty) {\n return \"\";\n } else {\n return chars.join(\"\");\n }\n },\n\n setPenStyles: function(styles) {\n this.currPenState.setStyles(styles);\n var currChar = this.chars[this.pos];\n currChar.setPenState(this.currPenState);\n }\n };\n\n /**\n * Keep a CEA-608 screen of 32x15 styled characters\n * @constructor\n */\n var CaptionScreen = function() {\n\n this.rows = [];\n for (var i = 0 ; i < NR_ROWS; i++) {\n this.rows.push(new Row()); // Note that we use zero-based numbering (0-14)\n }\n this.currRow = NR_ROWS - 1;\n this.nrRollUpRows = null;\n this.reset();\n };\n\n CaptionScreen.prototype = {\n\n reset : function() {\n for (var i = 0 ; i < NR_ROWS ; i++) {\n this.rows[i].clear();\n }\n this.currRow = NR_ROWS - 1;\n },\n\n equals : function(other) {\n var equal = true;\n for (var i = 0 ; i < NR_ROWS ; i++) {\n if (!this.rows[i].equals(other.rows[i])) {\n equal = false;\n break;\n }\n }\n return equal;\n },\n\n copy : function(other) {\n for (var i = 0 ; i < NR_ROWS ; i++) {\n this.rows[i].copy(other.rows[i]);\n }\n },\n\n isEmpty : function() {\n var empty = true;\n for (var i = 0 ; i < NR_ROWS ; i++) {\n if (!this.rows[i].isEmpty()) {\n empty = false;\n break;\n }\n }\n return empty;\n },\n\n backSpace : function() {\n var row = this.rows[this.currRow]; \n row.backSpace();\n },\n\n clearToEndOfRow : function() {\n var row = this.rows[this.currRow];\n row.clearToEndOfRow();\n },\n\n /**\n * Insert a character (without styling) in the current row.\n */\n insertChar : function(char) {\n var row = this.rows[this.currRow];\n row.insertChar(char);\n },\n\n setPen : function(styles) {\n var row = this.rows[this.currRow];\n row.setPenStyles(styles);\n },\n\n moveCursor : function(relPos) {\n var row = this.rows[this.currRow];\n row.moveCursor(relPos); \n },\n\n setCursor : function(absPos) {\n logger.log(\"INFO\", \"setCursor: \" + absPos);\n var row = this.rows[this.currRow];\n row.setCursor(absPos);\n },\n\n setPAC : function(pacData) {\n logger.log(\"INFO\", \"pacData = \" + JSON.stringify(pacData));\n var newRow = pacData.row - 1;\n if (this.nrRollUpRows && newRow < this.nrRollUpRows - 1) {\n newRow = this.nrRollUpRows-1;\n }\n this.currRow = newRow;\n var row = this.rows[this.currRow];\n if (pacData.indent !== null) {\n var indent = pacData.indent;\n var prevPos = Math.max(indent-1, 0);\n row.setCursor(pacData.indent);\n pacData.color = row.chars[prevPos].penState.foreground;\n }\n var styles = {foreground : pacData.color, underline : pacData.underline, italics : pacData.italics, background : 'black', flash : false};\n this.setPen(styles);\n },\n\n /**\n * Set background/extra foreground, but first do back_space, and then insert space (backwards compatibility).\n */\n setBkgData : function(bkgData) {\n\n logger.log(\"INFO\", \"bkgData = \" + JSON.stringify(bkgData));\n this.backSpace();\n this.setPen(bkgData);\n this.insertChar(0x20); //Space\n },\n\n setRollUpRows : function(nrRows) {\n this.nrRollUpRows = nrRows;\n },\n\n rollUp : function() {\n if (this.nrRollUpRows === null) {\n logger.log(\"DEBUG\", \"roll_up but nrRollUpRows not set yet\");\n return; //Not properly setup\n }\n logger.log(\"TEXT\", this.getDisplayText());\n var topRowIndex = this.currRow + 1 - this.nrRollUpRows;\n var topRow = this.rows.splice(topRowIndex, 1)[0];\n topRow.clear();\n this.rows.splice(this.currRow, 0, topRow);\n logger.log(\"INFO\", \"Rolling up\");\n //logger.log(\"TEXT\", this.get_display_text())\n },\n\n /**\n * Get all non-empty rows with as unicode text. \n */ \n getDisplayText : function(asOneRow) {\n asOneRow = asOneRow || false;\n var displayText = [];\n var text = \"\";\n var rowNr = -1;\n for (var i = 0 ; i < NR_ROWS ; i++) {\n var rowText = this.rows[i].getTextString();\n if (rowText) {\n rowNr = i+1;\n if (asOneRow) {\n displayText.push(\"Row \" + rowNr + ': \"' + rowText + '\"');\n } else {\n displayText.push(rowText.trim());\n }\n }\n }\n if (displayText.length > 0) {\n if (asOneRow) {\n text = \"[\" + displayText.join(\" | \") + \"]\";\n } else {\n text = displayText.join(\"\\n\");\n }\n }\n return text;\n },\n\n getTextAndFormat : function() {\n return this.rows;\n }\n };\n\n /**\n * Handle a CEA-608 channel and send decoded data to outputFilter\n * @constructor\n * @param {Number} channelNumber (1 or 2)\n * @param {CueHandler} outputFilter Output from channel1 newCue(startTime, endTime, captionScreen)\n */\n var Cea608Channel = function(channelNumber, outputFilter) {\n\n this.chNr = channelNumber;\n this.outputFilter = outputFilter;\n this.mode = null;\n this.verbose = 0;\n this.displayedMemory = new CaptionScreen();\n this.nonDisplayedMemory = new CaptionScreen();\n this.lastOutputScreen = new CaptionScreen();\n this.currRollUpRow = this.displayedMemory.rows[NR_ROWS-1];\n this.writeScreen = this.displayedMemory;\n this.mode = null;\n this.cueStartTime = null; // Keeps track of where a cue started.\n };\n\n Cea608Channel.prototype = {\n \n modes : [\"MODE_ROLL-UP\", \"MODE_POP-ON\", \"MODE_PAINT-ON\", \"MODE_TEXT\"],\n \n reset : function() {\n this.mode = null;\n this.displayedMemory.reset();\n this.nonDisplayedMemory.reset();\n this.lastOutputScreen.reset();\n this.currRollUpRow = this.displayedMemory.rows[NR_ROWS-1];\n this.writeScreen = this.displayedMemory;\n this.mode = null;\n this.cueStartTime = null;\n this.lastCueEndTime = null;\n },\n\n getHandler : function() {\n return this.outputFilter;\n },\n\n setHandler : function(newHandler) {\n this.outputFilter = newHandler;\n },\n\n setPAC : function(pacData) {\n this.writeScreen.setPAC(pacData);\n },\n\n setBkgData : function(bkgData) {\n this.writeScreen.setBkgData(bkgData);\n },\n\n setMode : function(newMode) {\n if (newMode === this.mode) {\n return;\n }\n this.mode = newMode;\n logger.log(\"INFO\", \"MODE=\" + newMode);\n if (this.mode == \"MODE_POP-ON\") {\n this.writeScreen = this.nonDisplayedMemory;\n } else {\n this.writeScreen = this.displayedMemory;\n this.writeScreen.reset();\n }\n if (this.mode !== \"MODE_ROLL-UP\") {\n this.displayedMemory.nrRollUpRows = null;\n this.nonDisplayedMemory.nrRollUpRows = null;\n }\n this.mode = newMode;\n },\n\n insertChars : function(chars) {\n for (var i = 0 ; i < chars.length ; i++) {\n this.writeScreen.insertChar(chars[i]);\n }\n var screen = this.writeScreen === this.displayedMemory ? \"DISP\" : \"NON_DISP\";\n logger.log(\"INFO\", screen + \": \" + this.writeScreen.getDisplayText(true));\n if (this.mode === \"MODE_PAINT-ON\" || this.mode === \"MODE_ROLL-UP\") {\n logger.log(\"TEXT\", \"DISPLAYED: \" + this.displayedMemory.getDisplayText(true));\n this.outputDataUpdate();\n }\n },\n\n cc_RCL: function() { // Resume Caption Loading (switch mode to Pop On)\n logger.log(\"INFO\", \"RCL - Resume Caption Loading\");\n this.setMode(\"MODE_POP-ON\");\n },\n cc_BS: function() { // BackSpace\n logger.log(\"INFO\", \"BS - BackSpace\");\n if (this.mode === \"MODE_TEXT\") {\n return;\n }\n this.writeScreen.backSpace();\n if (this.writeScreen === this.displayedMemory) {\n this.outputDataUpdate();\n }\n },\n cc_AOF : function() { // Reserved (formerly Alarm Off)\n return;\n },\n cc_AON: function() { // Reserved (formerly Alarm On)\n return;\n },\n cc_DER: function() { // Delete to End of Row\n logger.log(\"INFO\", \"DER- Delete to End of Row\");\n this.writeScreen.clearToEndOfRow();\n this.outputDataUpdate();\n },\n cc_RU: function(nrRows) { //Roll-Up Captions-2,3,or 4 Rows\n logger.log(\"INFO\", \"RU(\" + nrRows +\") - Roll Up\");\n this.writeScreen = this.displayedMemory;\n this.setMode(\"MODE_ROLL-UP\");\n this.writeScreen.setRollUpRows(nrRows);\n },\n cc_FON: function() { //Flash On\n logger.log(\"INFO\", \"FON - Flash On\");\n this.writeScreen.setPen({flash : true});\n },\n cc_RDC: function() { // Resume Direct Captioning (switch mode to PaintOn)\n logger.log(\"INFO\", \"RDC - Resume Direct Captioning\");\n this.setMode(\"MODE_PAINT-ON\");\n },\n cc_TR: function() { // Text Restart in text mode (not supported, however)\n logger.log(\"INFO\", \"TR\");\n this.setMode(\"MODE_TEXT\");\n },\n cc_RTD: function() { // Resume Text Display in Text mode (not supported, however)\n logger.log(\"INFO\", \"RTD\");\n this.setMode(\"MODE_TEXT\");\n },\n cc_EDM: function() { // Erase Displayed Memory\n logger.log(\"INFO\", \"EDM - Erase Displayed Memory\");\n this.displayedMemory.reset();\n this.outputDataUpdate();\n },\n cc_CR: function() { // Carriage Return\n logger.log(\"CR - Carriage Return\");\n this.writeScreen.rollUp();\n this.outputDataUpdate();\n },\n cc_ENM: function() { //Erase Non-Displayed Memory\n logger.log(\"INFO\", \"ENM - Erase Non-displayed Memory\");\n this.nonDisplayedMemory.reset();\n },\n cc_EOC: function() { //End of Caption (Flip Memories)\n logger.log(\"INFO\", \"EOC - End Of Caption\");\n if (this.mode === \"MODE_POP-ON\") {\n var tmp = this.displayedMemory;\n this.displayedMemory = this.nonDisplayedMemory;\n this.nonDisplayedMemory = tmp;\n this.writeScreen = this.nonDisplayedMemory;\n logger.log(\"TEXT\", \"DISP: \" + this.displayedMemory.getDisplayText());\n }\n this.outputDataUpdate();\n },\n cc_TO: function(nrCols) { // Tab Offset 1,2, or 3 columns\n logger.log(\"INFO\", \"TO(\" + nrCols + \") - Tab Offset\");\n this.writeScreen.moveCursor(nrCols);\n },\n cc_MIDROW: function(secondByte) { // Parse MIDROW command\n var styles = {flash : false};\n styles.underline = secondByte % 2 === 1;\n styles.italics = secondByte >= 0x2e;\n if (!styles.italics) {\n var colorIndex = Math.floor(secondByte/2) - 0x10;\n var colors = [\"white\", \"green\", \"blue\", \"cyan\", \"red\", \"yellow\", \"magenta\"];\n styles.foreground = colors[colorIndex];\n } else {\n styles.foreground = \"white\";\n }\n logger.log(\"INFO\", \"MIDROW: \" + JSON.stringify(styles));\n this.writeScreen.setPen(styles);\n },\n\n outputDataUpdate: function() {\n var t = logger.time;\n if (t === null) {\n return;\n }\n if (this.outputFilter) {\n if (this.outputFilter.updateData) {\n this.outputFilter.updateData(t, this.displayedMemory);\n }\n if (this.cueStartTime === null && !this.displayedMemory.isEmpty()) { // Start of a new cue\n this.cueStartTime = t;\n } else {\n if (!this.displayedMemory.equals(this.lastOutputScreen)) { \n if (this.outputFilter.newCue) {\n this.outputFilter.newCue(this.cueStartTime, t, this.lastOutputScreen);\n }\n this.cueStartTime = this.displayedMemory.isEmpty() ? null : t;\n }\n }\n this.lastOutputScreen.copy(this.displayedMemory);\n }\n },\n\n cueSplitAtTime : function(t) {\n if (this.outputFilter) {\n if (!this.displayedMemory.isEmpty()) {\n if (this.outputFilter.newCue) {\n this.outputFilter.newCue(this.cueStartTime, t, this.displayedMemory);\n }\n this.cueStartTime = t;\n }\n }\n }\n };\n\n /**\n * Parse CEA-608 data and send decoded data to out1 and out2.\n * @constructor\n * @param {Number} field CEA-608 field (1 or 2)\n * @param {CueHandler} out1 Output from channel1 newCue(startTime, endTime, captionScreen)\n * @param {CueHandler} out2 Output from channel2 newCue(startTime, endTime, captionScreen)\n */\n var Cea608Parser = function(field, out1, out2) {\n this.field = field || 1;\n this.outputs = [out1, out2];\n this.channels = [new Cea608Channel(1, out1), new Cea608Channel(2, out2)];\n this.currChNr = -1; // Will be 1 or 2\n this.lastCmdA = null; // First byte of last command\n this.lastCmdB = null; // Second byte of last command\n this.bufferedData = [];\n this.startTime = null;\n this.lastTime = null;\n this.dataCounters = {'padding' : 0, 'char' : 0, 'cmd' : 0, 'other' : 0};\n };\n\n Cea608Parser.prototype = {\n \n getHandler : function(index) {\n return this.channels[index].getHandler();\n },\n \n setHandler : function(index, newHandler) {\n this.channels[index].setHandler(newHandler);\n },\n\n /**\n * Add data for time t in forms of list of bytes (unsigned ints). The bytes are treated as pairs.\n */\n addData : function(t, byteList) {\n var cmdFound, a, b, \n charsFound = false;\n \n this.lastTime = t;\n logger.setTime(t);\n\n for (var i = 0 ; i < byteList.length ; i+=2) {\n a = byteList[i] & 0x7f;\n b = byteList[i+1] & 0x7f;\n\n if (a >= 0x10 && a <= 0x1f && a === this.lastCmdA && b === this.lastCmdB) {\n this.lastCmdA = null;\n this.lastCmdB = null;\n logger.log(\"DEBUG\", \"Repeated command (\" + numArrayToHexArray([a, b]) + \") is dropped\");\n continue; // Repeated commands are dropped (once)\n }\n\n if (a === 0 && b === 0) {\n this.dataCounters.padding += 2;\n continue;\n } else {\n logger.log(\"DATA\", \"[\" + numArrayToHexArray([byteList[i], byteList[i+1]]) +\"] -> (\" + numArrayToHexArray([a, b]) + \")\");\n }\n cmdFound = this.parseCmd(a, b);\n if (!cmdFound) {\n cmdFound = this.parseMidrow(a, b);\n }\n if (!cmdFound) {\n cmdFound = this.parsePAC(a, b);\n }\n if (!cmdFound) {\n cmdFound = this.parseBackgroundAttributes(a, b);\n }\n if (!cmdFound) {\n charsFound = this.parseChars(a, b);\n if (charsFound) {\n if (this.currChNr && this.currChNr >=0) {\n var channel = this.channels[this.currChNr-1];\n channel.insertChars(charsFound);\n } else {\n logger.log(\"WARNING\", \"No channel found yet. TEXT-MODE?\");\n }\n }\n }\n if (cmdFound) {\n this.dataCounters.cmd += 2;\n } else if (charsFound) {\n this.dataCounters.char += 2;\n } else {\n this.dataCounters.other += 2;\n logger.log(\"WARNING\", \"Couldn't parse cleaned data \" + numArrayToHexArray([a, b]) +\n \" orig: \" + numArrayToHexArray([byteList[i], byteList[i+1]]));\n }\n }\n },\n\n /**\n * Parse Command.\n * @returns {Boolean} Tells if a command was found\n */\n parseCmd: function(a, b) {\n var chNr = null;\n\n var cond1 = (a === 0x14 || a === 0x15 || a === 0x1C || a === 0x1D) && (0x20 <= b && b <= 0x2F);\n var cond2 = (a === 0x17 || a === 0x1F) && (0x21 <= b && b <= 0x23);\n if (!(cond1 || cond2)) {\n return false;\n }\n \n if (a === 0x14 || a === 0x15 || a === 0x17) {\n chNr = 1;\n } else {\n chNr = 2; // (a === 0x1C || a === 0x1D || a=== 0x1f)\n }\n\n var channel = this.channels[chNr - 1];\n\n if (a === 0x14 || a === 0x15 || a === 0x1C || a === 0x1D) {\n if (b === 0x20) {\n channel.cc_RCL();\n } else if (b === 0x21) {\n channel.cc_BS();\n } else if (b === 0x22) {\n channel.cc_AOF();\n } else if (b === 0x23) {\n channel.cc_AON();\n } else if (b === 0x24) {\n channel.cc_DER();\n } else if (b === 0x25) {\n channel.cc_RU(2);\n } else if (b === 0x26) {\n channel.cc_RU(3);\n } else if (b === 0x27) {\n channel.cc_RU(4);\n } else if (b === 0x28) {\n channel.cc_FON();\n } else if (b === 0x29) {\n channel.cc_RDC();\n } else if (b === 0x2A) {\n channel.cc_TR();\n } else if (b === 0x2B) {\n channel.cc_RTD();\n } else if (b === 0x2C) {\n channel.cc_EDM();\n } else if (b === 0x2D) {\n channel.cc_CR();\n } else if (b === 0x2E) {\n channel.cc_ENM();\n } else if (b === 0x2F) {\n channel.cc_EOC();\n }\n } else { //a == 0x17 || a == 0x1F\n channel.cc_TO(b - 0x20);\n }\n this.lastCmdA = a;\n this.lastCmdB = b;\n this.currChNr = chNr;\n return true;\n },\n\n /**\n * Parse midrow styling command\n * @returns {Boolean}\n */\n parseMidrow : function(a, b) {\n var chNr = null;\n \n if ( ((a === 0x11) || (a === 0x19)) && 0x20 <= b && b <= 0x2f) {\n if (a === 0x11) {\n chNr = 1;\n } else {\n chNr = 2;\n }\n if (chNr !== this.currChNr) {\n logger.log(\"ERROR\", \"Mismatch channel in midrow parsing\");\n return false;\n }\n var channel = this.channels[chNr-1];\n // cea608 spec says midrow codes should inject a space\n channel.insertChars([0x20]);\n channel.cc_MIDROW(b);\n logger.log(\"DEBUG\", \"MIDROW (\" + numArrayToHexArray([a, b]) + \")\");\n this.lastCmdA = a;\n this.lastCmdB = b;\n return true;\n }\n return false;\n },\n /**\n * Parse Preable Access Codes (Table 53).\n * @returns {Boolean} Tells if PAC found\n */\n parsePAC : function(a, b) {\n\n var chNr = null;\n var row = null;\n \n var case1 = ((0x11 <= a && a <= 0x17) || (0x19 <= a && a <= 0x1F)) && (0x40 <= b && b <= 0x7F);\n var case2 = (a === 0x10 || a === 0x18) && (0x40 <= b && b <= 0x5F);\n if (! (case1 || case2)) {\n return false;\n }\n\n chNr = (a <= 0x17) ? 1 : 2;\n\n if (0x40 <= b && b <= 0x5F) {\n row = (chNr === 1) ? rowsLowCh1[a] : rowsLowCh2[a];\n } else { // 0x60 <= b <= 0x7F\n row = (chNr === 1) ? rowsHighCh1[a] : rowsHighCh2[a];\n }\n var pacData = this.interpretPAC(row, b);\n var channel = this.channels[chNr-1];\n channel.setPAC(pacData);\n this.lastCmdA = a;\n this.lastCmdB = b;\n this.currChNr = chNr;\n return true;\n },\n\n /**\n * Interpret the second byte of the pac, and return the information.\n * @returns {Object} pacData with style parameters.\n */\n interpretPAC : function (row, byte) {\n var pacIndex = byte;\n var pacData = {color : null, italics : false, indent : null, underline : false, row : row};\n \n if (byte > 0x5F) {\n pacIndex = byte - 0x60;\n } else {\n pacIndex = byte - 0x40;\n }\n pacData.underline = (pacIndex & 1) === 1;\n if (pacIndex <= 0xd) {\n pacData.color = ['white', 'green', 'blue', 'cyan', 'red', 'yellow', 'magenta', 'white'][Math.floor(pacIndex/2)];\n } else if (pacIndex <= 0xf) {\n pacData.italics = true;\n pacData.color = 'white';\n } else {\n pacData.indent = (Math.floor((pacIndex-0x10)/2))*4;\n }\n return pacData; // Note that row has zero offset. The spec uses 1.\n },\n\n /**\n * Parse characters.\n * @returns An array with 1 to 2 codes corresponding to chars, if found. null otherwise.\n */\n parseChars : function(a, b) {\n\n var channelNr = null,\n charCodes = null,\n charCode1 = null,\n charCode2 = null;\n\n if (a >= 0x19) {\n channelNr = 2;\n charCode1 = a - 8;\n } else {\n channelNr = 1;\n charCode1 = a;\n }\n if (0x11 <= charCode1 && charCode1 <= 0x13) {\n // Special character\n var oneCode = b;\n if (charCode1 === 0x11) {\n oneCode = b + 0x50;\n } else if (charCode1 === 0x12) {\n oneCode = b + 0x70;\n } else {\n oneCode = b + 0x90;\n }\n logger.log(\"INFO\", \"Special char '\" + getCharForByte(oneCode) + \"' in channel \" + channelNr);\n charCodes = [oneCode];\n this.lastCmdA = a;\n this.lastCmdB = b;\n } else if (0x20 <= a && a <= 0x7f) {\n charCodes = (b === 0) ? [a] : [a, b];\n this.lastCmdA = null;\n this.lastCmdB = null;\n }\n if (charCodes) {\n var hexCodes = numArrayToHexArray(charCodes);\n logger.log(\"DEBUG\", \"Char codes = \" + hexCodes.join(\",\"));\n }\n return charCodes;\n },\n \n /**\n * Parse extended background attributes as well as new foreground color black.\n * @returns{Boolean} Tells if background attributes are found\n */\n parseBackgroundAttributes : function(a, b) {\n var bkgData,\n index,\n chNr,\n channel;\n\n var case1 = (a === 0x10 || a === 0x18) && (0x20 <= b && b <= 0x2f);\n var case2 = (a === 0x17 || a === 0x1f) && (0x2d <=b && b <= 0x2f);\n if (!(case1 || case2)) {\n return false;\n }\n bkgData = {};\n if (a === 0x10 || a === 0x18) {\n index = Math.floor((b-0x20)/2);\n bkgData.background = backgroundColors[index];\n if (b % 2 === 1) {\n bkgData.background = bkgData.background + \"_semi\";\n }\n } else if (b === 0x2d) {\n bkgData.background = \"transparent\";\n } else {\n bkgData.foreground = \"black\";\n if (b === 0x2f) {\n bkgData.underline = true;\n }\n }\n chNr = (a < 0x18) ? 1 : 2;\n channel = this.channels[chNr-1];\n channel.setBkgData(bkgData);\n this.lastCmdA = a;\n this.lastCmdB = b;\n return true;\n },\n\n /**\n * Reset state of parser and its channels.\n */\n reset : function() {\n for (var i=0 ; i < this.channels.length ; i++) {\n if (this.channels[i]) {\n this.channels[i].reset();\n }\n }\n this.lastCmdA = null;\n this.lastCmdB = null;\n },\n\n /**\n * Trigger the generation of a cue, and the start of a new one if displayScreens are not empty.\n */\n cueSplitAtTime : function(t) {\n for (var i=0 ; i < this.channels.length ; i++) {\n if (this.channels[i]) {\n this.channels[i].cueSplitAtTime(t);\n }\n }\n },\n };\n\n /**\n * Find ranges corresponding to SEA CEA-608 NALUS in sizeprepended NALU array.\n * @param {raw} dataView of binary data\n * @param {startPos} start position in raw\n * @param {size} total size of data in raw to consider\n * @returns \n */\n var findCea608Nalus = function(raw, startPos, size) {\n var nalSize = 0,\n cursor = startPos,\n nalType = 0,\n cea608NaluRanges = [],\n // Check SEI data according to ANSI-SCTE 128\n isCEA608SEI = function (payloadType, payloadSize, raw, pos) {\n if (payloadType !== 4 || payloadSize < 8) {\n return null;\n }\n var countryCode = raw.getUint8(pos);\n var providerCode = raw.getUint16(pos + 1);\n var userIdentifier = raw.getUint32(pos + 3);\n var userDataTypeCode = raw.getUint8(pos + 7);\n return countryCode == 0xB5 && providerCode == 0x31 && userIdentifier == 0x47413934 && userDataTypeCode == 0x3;\n };\n while (cursor < startPos + size) {\n nalSize = raw.getUint32(cursor);\n nalType = raw.getUint8(cursor + 4) & 0x1F;\n //console.log(time + \" NAL \" + nalType);\n if (nalType === 6) {\n // SEI NAL Unit. The NAL header is the first byte\n //console.log(\"SEI NALU of size \" + nalSize + \" at time \" + time);\n var pos = cursor + 5;\n var payloadType = -1;\n while (pos < cursor + 4 + nalSize - 1) { // The last byte should be rbsp_trailing_bits\n payloadType = 0;\n var b = 0xFF;\n while (b === 0xFF) {\n b = raw.getUint8(pos);\n payloadType += b;\n pos++;\n }\n var payloadSize = 0;\n b = 0xFF;\n while (b === 0xFF) {\n b = raw.getUint8(pos);\n payloadSize += b;\n pos++;\n }\n if (isCEA608SEI(payloadType, payloadSize, raw, pos)) {\n //console.log(\"CEA608 SEI \" + time + \" \" + payloadSize);\n cea608NaluRanges.push([pos, payloadSize]);\n }\n pos += payloadSize;\n }\n }\n cursor += nalSize + 4;\n }\n return cea608NaluRanges;\n };\n \n var extractCea608DataFromRange = function(raw, cea608Range) {\n var pos = cea608Range[0];\n var fieldData = [[], []];\n\n pos += 8; // Skip the identifier up to userDataTypeCode\n var ccCount = raw.getUint8(pos) & 0x1f;\n pos += 2; // Advance 1 and skip reserved byte\n \n for (var i = 0; i < ccCount; i++) {\n var byte = raw.getUint8(pos);\n var ccValid = byte & 0x4;\n var ccType = byte & 0x3;\n pos++;\n var ccData1 = raw.getUint8(pos); // Keep parity bit\n pos++;\n var ccData2 = raw.getUint8(pos); // Keep parity bit\n pos++;\n if (ccValid && ((ccData1 & 0x7f) + (ccData2 & 0x7f) !== 0)) { //Check validity and non-empty data\n if (ccType === 0) {\n fieldData[0].push(ccData1);\n fieldData[0].push(ccData2);\n } else if (ccType === 1) {\n fieldData[1].push(ccData1);\n fieldData[1].push(ccData2);\n }\n }\n }\n return fieldData;\n };\n\n exports.logger = logger;\n exports.PenState = PenState;\n exports.CaptionScreen = CaptionScreen; \n exports.Cea608Parser = Cea608Parser;\n exports.findCea608Nalus = findCea608Nalus;\n exports.extractCea608DataFromRange = extractCea608DataFromRange;\n\n}(typeof exports === 'undefined' ? this.cea608parser = {} : exports));\n","/*\n Copyright 2011-2013 Abdulla Abdurakhmanov\n Original sources are available at https://code.google.com/p/x2js/\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n */\n\n/*\n Further modified for dashjs to:\n - keep track of children nodes in order in attribute __children.\n - add type conversion matchers\n - re-add ignoreRoot\n - allow zero-length attributePrefix\n - don't add white-space text nodes\n - remove explicit RequireJS support\n*/\n\nfunction X2JS(config) {\n 'use strict';\n\n var VERSION = \"1.2.0\";\n\n config = config || {};\n initConfigDefaults();\n initRequiredPolyfills();\n\n function initConfigDefaults() {\n if(config.escapeMode === undefined) {\n config.escapeMode = true;\n }\n\n if (config.attributePrefix === undefined) {\n config.attributePrefix = \"_\";\n }\n\n config.arrayAccessForm = config.arrayAccessForm || \"none\";\n config.emptyNodeForm = config.emptyNodeForm || \"text\";\n\n if(config.enableToStringFunc === undefined) {\n config.enableToStringFunc = true;\n }\n config.arrayAccessFormPaths = config.arrayAccessFormPaths || [];\n if(config.skipEmptyTextNodesForObj === undefined) {\n config.skipEmptyTextNodesForObj = true;\n }\n if(config.stripWhitespaces === undefined) {\n config.stripWhitespaces = true;\n }\n config.datetimeAccessFormPaths = config.datetimeAccessFormPaths || [];\n\n if(config.useDoubleQuotes === undefined) {\n config.useDoubleQuotes = false;\n }\n\n config.xmlElementsFilter = config.xmlElementsFilter || [];\n config.jsonPropertiesFilter = config.jsonPropertiesFilter || [];\n\n if(config.keepCData === undefined) {\n config.keepCData = false;\n }\n\n if (config.ignoreRoot === undefined) {\n config.ignoreRoot = false;\n }\n }\n\n var DOMNodeTypes = {\n ELEMENT_NODE \t : 1,\n TEXT_NODE \t : 3,\n CDATA_SECTION_NODE : 4,\n COMMENT_NODE\t : 8,\n DOCUMENT_NODE \t : 9\n };\n\n function initRequiredPolyfills() {\n }\n\n function getNodeLocalName( node ) {\n var nodeLocalName = node.localName;\n if(nodeLocalName == null) // Yeah, this is IE!!\n nodeLocalName = node.baseName;\n if(nodeLocalName == null || nodeLocalName==\"\") // ==\"\" is IE too\n nodeLocalName = node.nodeName;\n return nodeLocalName;\n }\n\n function getNodePrefix(node) {\n return node.prefix;\n }\n\n function escapeXmlChars(str) {\n if(typeof(str) == \"string\")\n return str.replace(/&/g, '&').replace(//g, '>').replace(/\"/g, '"').replace(/'/g, ''');\n else\n return str;\n }\n\n function unescapeXmlChars(str) {\n return str.replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '\"').replace(/'/g, \"'\").replace(/&/g, '&');\n }\n\n function checkInStdFiltersArrayForm(stdFiltersArrayForm, obj, name, path) {\n var idx = 0;\n for(; idx < stdFiltersArrayForm.length; idx++) {\n var filterPath = stdFiltersArrayForm[idx];\n if( typeof filterPath === \"string\" ) {\n if(filterPath == path)\n break;\n }\n else\n if( filterPath instanceof RegExp) {\n if(filterPath.test(path))\n break;\n }\n else\n if( typeof filterPath === \"function\") {\n if(filterPath(obj, name, path))\n break;\n }\n }\n return idx!=stdFiltersArrayForm.length;\n }\n\n function toArrayAccessForm(obj, childName, path) {\n switch(config.arrayAccessForm) {\n case \"property\":\n if(!(obj[childName] instanceof Array))\n obj[childName+\"_asArray\"] = [obj[childName]];\n else\n obj[childName+\"_asArray\"] = obj[childName];\n break;\n /*case \"none\":\n break;*/\n }\n\n if(!(obj[childName] instanceof Array) && config.arrayAccessFormPaths.length > 0) {\n if(checkInStdFiltersArrayForm(config.arrayAccessFormPaths, obj, childName, path)) {\n obj[childName] = [obj[childName]];\n }\n }\n }\n\n function fromXmlDateTime(prop) {\n // Implementation based up on http://stackoverflow.com/questions/8178598/xml-datetime-to-javascript-date-object\n // Improved to support full spec and optional parts\n var bits = prop.split(/[-T:+Z]/g);\n\n var d = new Date(bits[0], bits[1]-1, bits[2]);\n var secondBits = bits[5].split(\"\\.\");\n d.setHours(bits[3], bits[4], secondBits[0]);\n if(secondBits.length>1)\n d.setMilliseconds(secondBits[1]);\n\n // Get supplied time zone offset in minutes\n if(bits[6] && bits[7]) {\n var offsetMinutes = bits[6] * 60 + Number(bits[7]);\n var sign = /\\d\\d-\\d\\d:\\d\\d$/.test(prop)? '-' : '+';\n\n // Apply the sign\n offsetMinutes = 0 + (sign == '-'? -1 * offsetMinutes : offsetMinutes);\n\n // Apply offset and local timezone\n d.setMinutes(d.getMinutes() - offsetMinutes - d.getTimezoneOffset())\n }\n else\n if(prop.indexOf(\"Z\", prop.length - 1) !== -1) {\n d = new Date(Date.UTC(d.getFullYear(), d.getMonth(), d.getDate(), d.getHours(), d.getMinutes(), d.getSeconds(), d.getMilliseconds()));\n }\n\n // d is now a local time equivalent to the supplied time\n return d;\n }\n\n function checkFromXmlDateTimePaths(value, childName, fullPath) {\n if(config.datetimeAccessFormPaths.length > 0) {\n var path = fullPath.split(\"\\.#\")[0];\n if(checkInStdFiltersArrayForm(config.datetimeAccessFormPaths, value, childName, path)) {\n return fromXmlDateTime(value);\n }\n else\n return value;\n }\n else\n return value;\n }\n\n function checkXmlElementsFilter(obj, childType, childName, childPath) {\n if( childType == DOMNodeTypes.ELEMENT_NODE && config.xmlElementsFilter.length > 0) {\n return checkInStdFiltersArrayForm(config.xmlElementsFilter, obj, childName, childPath);\n }\n else\n return true;\n }\n\n function parseDOMChildren( node, path ) {\n if(node.nodeType == DOMNodeTypes.DOCUMENT_NODE) {\n var result = new Object;\n var nodeChildren = node.childNodes;\n // Alternative for firstElementChild which is not supported in some environments\n for(var cidx=0; cidx 1 && result.__text!=null && config.skipEmptyTextNodesForObj) {\n if( (config.stripWhitespaces && result.__text==\"\") || (result.__text.trim()==\"\")) {\n delete result.__text;\n }\n }\n delete result.__cnt;\n\n if( config.enableToStringFunc && (result.__text!=null || result.__cdata!=null )) {\n result.toString = function() {\n return (this.__text!=null? this.__text:'')+( this.__cdata!=null ? this.__cdata:'');\n };\n }\n\n return result;\n }\n else\n if(node.nodeType == DOMNodeTypes.TEXT_NODE || node.nodeType == DOMNodeTypes.CDATA_SECTION_NODE) {\n return node.nodeValue;\n }\n }\n\n function startTag(jsonObj, element, attrList, closed) {\n var resultStr = \"<\"+ ( (jsonObj!=null && jsonObj.__prefix!=null)? (jsonObj.__prefix+\":\"):\"\") + element;\n if(attrList!=null) {\n for(var aidx = 0; aidx < attrList.length; aidx++) {\n var attrName = attrList[aidx];\n var attrVal = jsonObj[attrName];\n if(config.escapeMode)\n attrVal=escapeXmlChars(attrVal);\n resultStr+=\" \"+attrName.substr(config.attributePrefix.length)+\"=\";\n if(config.useDoubleQuotes)\n resultStr+='\"'+attrVal+'\"';\n else\n resultStr+=\"'\"+attrVal+\"'\";\n }\n }\n if(!closed)\n resultStr+=\">\";\n else\n resultStr+=\"/>\";\n return resultStr;\n }\n\n function endTag(jsonObj,elementName) {\n return \"\";\n }\n\n function endsWith(str, suffix) {\n return str.indexOf(suffix, str.length - suffix.length) !== -1;\n }\n\n function jsonXmlSpecialElem ( jsonObj, jsonObjField ) {\n if((config.arrayAccessForm==\"property\" && endsWith(jsonObjField.toString(),(\"_asArray\")))\n || jsonObjField.toString().indexOf(config.attributePrefix)==0\n || jsonObjField.toString().indexOf(\"__\")==0\n || (jsonObj[jsonObjField] instanceof Function) )\n return true;\n else\n return false;\n }\n\n function jsonXmlElemCount ( jsonObj ) {\n var elementsCnt = 0;\n if(jsonObj instanceof Object ) {\n for( var it in jsonObj ) {\n if(jsonXmlSpecialElem ( jsonObj, it) )\n continue;\n elementsCnt++;\n }\n }\n return elementsCnt;\n }\n\n function checkJsonObjPropertiesFilter(jsonObj, propertyName, jsonObjPath) {\n return config.jsonPropertiesFilter.length == 0\n || jsonObjPath==\"\"\n || checkInStdFiltersArrayForm(config.jsonPropertiesFilter, jsonObj, propertyName, jsonObjPath);\n }\n\n function parseJSONAttributes ( jsonObj ) {\n var attrList = [];\n if(jsonObj instanceof Object ) {\n for( var ait in jsonObj ) {\n if(ait.toString().indexOf(\"__\")== -1 && ait.toString().indexOf(config.attributePrefix)==0) {\n attrList.push(ait);\n }\n }\n }\n return attrList;\n }\n\n function parseJSONTextAttrs ( jsonTxtObj ) {\n var result =\"\";\n\n if(jsonTxtObj.__cdata!=null) {\n result+=\"\";\n }\n\n if(jsonTxtObj.__text!=null) {\n if(config.escapeMode)\n result+=escapeXmlChars(jsonTxtObj.__text);\n else\n result+=jsonTxtObj.__text;\n }\n return result;\n }\n\n function parseJSONTextObject ( jsonTxtObj ) {\n var result =\"\";\n\n if( jsonTxtObj instanceof Object ) {\n result+=parseJSONTextAttrs ( jsonTxtObj );\n }\n else\n if(jsonTxtObj!=null) {\n if(config.escapeMode)\n result+=escapeXmlChars(jsonTxtObj);\n else\n result+=jsonTxtObj;\n }\n\n return result;\n }\n\n function getJsonPropertyPath(jsonObjPath, jsonPropName) {\n if (jsonObjPath===\"\") {\n return jsonPropName;\n }\n else\n return jsonObjPath+\".\"+jsonPropName;\n }\n\n function parseJSONArray ( jsonArrRoot, jsonArrObj, attrList, jsonObjPath ) {\n var result = \"\";\n if(jsonArrRoot.length == 0) {\n result+=startTag(jsonArrRoot, jsonArrObj, attrList, true);\n }\n else {\n for(var arIdx = 0; arIdx < jsonArrRoot.length; arIdx++) {\n result+=startTag(jsonArrRoot[arIdx], jsonArrObj, parseJSONAttributes(jsonArrRoot[arIdx]), false);\n result+=parseJSONObject(jsonArrRoot[arIdx], getJsonPropertyPath(jsonObjPath,jsonArrObj));\n result+=endTag(jsonArrRoot[arIdx],jsonArrObj);\n }\n }\n return result;\n }\n\n function parseJSONObject ( jsonObj, jsonObjPath ) {\n var result = \"\";\n\n var elementsCnt = jsonXmlElemCount ( jsonObj );\n\n if(elementsCnt > 0) {\n for( var it in jsonObj ) {\n\n if(jsonXmlSpecialElem ( jsonObj, it) || (jsonObjPath!=\"\" && !checkJsonObjPropertiesFilter(jsonObj, it, getJsonPropertyPath(jsonObjPath,it))) )\n continue;\n\n var subObj = jsonObj[it];\n\n var attrList = parseJSONAttributes( subObj )\n\n if(subObj == null || subObj == undefined) {\n result+=startTag(subObj, it, attrList, true);\n }\n else\n if(subObj instanceof Object) {\n\n if(subObj instanceof Array) {\n result+=parseJSONArray( subObj, it, attrList, jsonObjPath );\n }\n else if(subObj instanceof Date) {\n result+=startTag(subObj, it, attrList, false);\n result+=subObj.toISOString();\n result+=endTag(subObj,it);\n }\n else {\n var subObjElementsCnt = jsonXmlElemCount ( subObj );\n if(subObjElementsCnt > 0 || subObj.__text!=null || subObj.__cdata!=null) {\n result+=startTag(subObj, it, attrList, false);\n result+=parseJSONObject(subObj, getJsonPropertyPath(jsonObjPath,it));\n result+=endTag(subObj,it);\n }\n else {\n result+=startTag(subObj, it, attrList, true);\n }\n }\n }\n else {\n result+=startTag(subObj, it, attrList, false);\n result+=parseJSONTextObject(subObj);\n result+=endTag(subObj,it);\n }\n }\n }\n result+=parseJSONTextObject(jsonObj);\n\n return result;\n }\n\n this.parseXmlString = function(xmlDocStr) {\n var isIEParser = window.ActiveXObject || \"ActiveXObject\" in window;\n if (xmlDocStr === undefined) {\n return null;\n }\n var xmlDoc;\n if (window.DOMParser) {\n var parser=new window.DOMParser();\n var parsererrorNS = null;\n try {\n xmlDoc = parser.parseFromString( xmlDocStr, \"text/xml\" );\n if(xmlDoc.getElementsByTagNameNS(\"*\", \"parsererror\").length > 0) {\n xmlDoc = null;\n }\n }\n catch(err) {\n xmlDoc = null;\n }\n }\n else {\n // IE :(\n if(xmlDocStr.indexOf(\"\") + 2 );\n }\n xmlDoc=new ActiveXObject(\"Microsoft.XMLDOM\");\n xmlDoc.async=\"false\";\n xmlDoc.loadXML(xmlDocStr);\n }\n return xmlDoc;\n };\n\n this.asArray = function(prop) {\n if (prop === undefined || prop == null)\n return [];\n else\n if(prop instanceof Array)\n return prop;\n else\n return [prop];\n };\n\n this.toXmlDateTime = function(dt) {\n if(dt instanceof Date)\n return dt.toISOString();\n else\n if(typeof(dt) === 'number' )\n return new Date(dt).toISOString();\n else\n return null;\n };\n\n this.asDateTime = function(prop) {\n if(typeof(prop) == \"string\") {\n return fromXmlDateTime(prop);\n }\n else\n return prop;\n };\n\n this.xml2json = function (xmlDoc) {\n return parseDOMChildren ( xmlDoc );\n };\n\n this.xml_str2json = function (xmlDocStr) {\n var xmlDoc = this.parseXmlString(xmlDocStr);\n if(xmlDoc!=null)\n return this.xml2json(xmlDoc);\n else\n return null;\n };\n\n this.json2xml_str = function (jsonObj) {\n return parseJSONObject ( jsonObj, \"\" );\n };\n\n this.json2xml = function (jsonObj) {\n var xmlDocStr = this.json2xml_str (jsonObj);\n return this.parseXmlString(xmlDocStr);\n };\n\n this.getVersion = function () {\n return VERSION;\n };\n}\n\nexport default X2JS;\n","/**\n * The copyright in this software is being made available under the BSD License,\n * included below. This software may be subject to other third party and contributor\n * rights, including patent rights, and no such rights are granted under this license.\n *\n * Copyright (c) 2013, Dash Industry Forum.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n * * Redistributions of source code must retain the above copyright notice, this\n * list of conditions and the following disclaimer.\n * * Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation and/or\n * other materials provided with the distribution.\n * * Neither the name of Dash Industry Forum nor the names of its\n * contributors may be used to endorse or promote products derived from this software\n * without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY\n * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\n * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\n * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n * POSSIBILITY OF SUCH DAMAGE.\n */\n\nimport { MediaPlayer } from './index_mediaplayerOnly';\n\nimport { supportsMediaSource } from './src/streaming/utils/Capabilities';\nimport MetricsReporting from './src/streaming/metrics/MetricsReporting';\nimport Protection from './src/streaming/protection/Protection';\nimport MediaPlayerFactory from './src/streaming/MediaPlayerFactory';\nimport Debug from './src/core/Debug';\n\ndashjs.Protection = Protection;\ndashjs.MetricsReporting = MetricsReporting;\ndashjs.MediaPlayerFactory = MediaPlayerFactory;\ndashjs.Debug = Debug;\ndashjs.supportsMediaSource = supportsMediaSource;\n\nexport default dashjs;\nexport { MediaPlayer, Protection, MetricsReporting, MediaPlayerFactory, Debug, supportsMediaSource };\n","/**\n * The copyright in this software is being made available under the BSD License,\n * included below. This software may be subject to other third party and contributor\n * rights, including patent rights, and no such rights are granted under this license.\n *\n * Copyright (c) 2013, Dash Industry Forum.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n * * Redistributions of source code must retain the above copyright notice, this\n * list of conditions and the following disclaimer.\n * * Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation and/or\n * other materials provided with the distribution.\n * * Neither the name of Dash Industry Forum nor the names of its\n * contributors may be used to endorse or promote products derived from this software\n * without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY\n * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\n * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\n * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n * POSSIBILITY OF SUCH DAMAGE.\n */\n\nimport MediaPlayer from './src/streaming/MediaPlayer';\nimport FactoryMaker from './src/core/FactoryMaker';\nimport Debug from './src/core/Debug';\nimport { getVersionString } from './src/core/Version';\n\nimport { } from 'es6-promise/auto';\n\n// Shove both of these into the global scope\nvar context = (typeof window !== 'undefined' && window) || global;\n\nvar dashjs = context.dashjs;\nif (!dashjs) {\n dashjs = context.dashjs = {};\n}\n\ndashjs.MediaPlayer = MediaPlayer;\ndashjs.FactoryMaker = FactoryMaker;\ndashjs.Debug = Debug;\ndashjs.Version = getVersionString();\n\nexport default dashjs;\nexport { MediaPlayer, FactoryMaker, Debug};\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n for (var i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(\n uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n ))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*! codem-isoboxer v0.3.6 https://github.com/madebyhiro/codem-isoboxer/blob/master/LICENSE.txt */\nvar ISOBoxer = {};\n\nISOBoxer.parseBuffer = function(arrayBuffer) {\n return new ISOFile(arrayBuffer).parse();\n};\n\nISOBoxer.addBoxProcessor = function(type, parser) {\n if (typeof type !== 'string' || typeof parser !== 'function') {\n return;\n }\n ISOBox.prototype._boxProcessors[type] = parser;\n};\n\nISOBoxer.createFile = function() {\n return new ISOFile();\n};\n\n// See ISOBoxer.append() for 'pos' parameter syntax\nISOBoxer.createBox = function(type, parent, pos) {\n var newBox = ISOBox.create(type);\n if (parent) {\n parent.append(newBox, pos);\n }\n return newBox;\n};\n\n// See ISOBoxer.append() for 'pos' parameter syntax\nISOBoxer.createFullBox = function(type, parent, pos) {\n var newBox = ISOBoxer.createBox(type, parent, pos);\n newBox.version = 0;\n newBox.flags = 0;\n return newBox;\n};\n\nISOBoxer.Utils = {};\nISOBoxer.Utils.dataViewToString = function(dataView, encoding) {\n var impliedEncoding = encoding || 'utf-8';\n if (typeof TextDecoder !== 'undefined') {\n return new TextDecoder(impliedEncoding).decode(dataView);\n }\n var a = [];\n var i = 0;\n\n if (impliedEncoding === 'utf-8') {\n /* The following algorithm is essentially a rewrite of the UTF8.decode at\n http://bannister.us/weblog/2007/simple-base64-encodedecode-javascript/\n */\n\n while (i < dataView.byteLength) {\n var c = dataView.getUint8(i++);\n if (c < 0x80) {\n // 1-byte character (7 bits)\n } else if (c < 0xe0) {\n // 2-byte character (11 bits)\n c = (c & 0x1f) << 6;\n c |= (dataView.getUint8(i++) & 0x3f);\n } else if (c < 0xf0) {\n // 3-byte character (16 bits)\n c = (c & 0xf) << 12;\n c |= (dataView.getUint8(i++) & 0x3f) << 6;\n c |= (dataView.getUint8(i++) & 0x3f);\n } else {\n // 4-byte character (21 bits)\n c = (c & 0x7) << 18;\n c |= (dataView.getUint8(i++) & 0x3f) << 12;\n c |= (dataView.getUint8(i++) & 0x3f) << 6;\n c |= (dataView.getUint8(i++) & 0x3f);\n }\n a.push(String.fromCharCode(c));\n }\n } else { // Just map byte-by-byte (probably wrong)\n while (i < dataView.byteLength) {\n a.push(String.fromCharCode(dataView.getUint8(i++)));\n }\n }\n return a.join('');\n};\n\nISOBoxer.Utils.utf8ToByteArray = function(string) {\n // Only UTF-8 encoding is supported by TextEncoder\n var u, i;\n if (typeof TextEncoder !== 'undefined') {\n u = new TextEncoder().encode(string);\n } else {\n u = [];\n for (i = 0; i < string.length; ++i) {\n var c = string.charCodeAt(i);\n if (c < 0x80) {\n u.push(c);\n } else if (c < 0x800) {\n u.push(0xC0 | (c >> 6));\n u.push(0x80 | (63 & c));\n } else if (c < 0x10000) {\n u.push(0xE0 | (c >> 12));\n u.push(0x80 | (63 & (c >> 6)));\n u.push(0x80 | (63 & c));\n } else {\n u.push(0xF0 | (c >> 18));\n u.push(0x80 | (63 & (c >> 12)));\n u.push(0x80 | (63 & (c >> 6)));\n u.push(0x80 | (63 & c));\n }\n }\n }\n return u;\n};\n\n// Method to append a box in the list of child boxes\n// The 'pos' parameter can be either:\n// - (number) a position index at which to insert the new box\n// - (string) the type of the box after which to insert the new box\n// - (object) the box after which to insert the new box\nISOBoxer.Utils.appendBox = function(parent, box, pos) {\n box._offset = parent._cursor.offset;\n box._root = (parent._root ? parent._root : parent);\n box._raw = parent._raw;\n box._parent = parent;\n\n if (pos === -1) {\n // The new box is a sub-box of the parent but not added in boxes array,\n // for example when the new box is set as an entry (see dref and stsd for example)\n return;\n }\n\n if (pos === undefined || pos === null) {\n parent.boxes.push(box);\n return;\n }\n\n var index = -1,\n type;\n\n if (typeof pos === \"number\") {\n index = pos;\n } else {\n if (typeof pos === \"string\") {\n type = pos;\n } else if (typeof pos === \"object\" && pos.type) {\n type = pos.type;\n } else {\n parent.boxes.push(box);\n return;\n }\n\n for (var i = 0; i < parent.boxes.length; i++) {\n if (type === parent.boxes[i].type) {\n index = i + 1;\n break;\n }\n }\n }\n parent.boxes.splice(index, 0, box);\n};\n\nif (typeof exports !== 'undefined') {\n exports.parseBuffer = ISOBoxer.parseBuffer;\n exports.addBoxProcessor = ISOBoxer.addBoxProcessor;\n exports.createFile = ISOBoxer.createFile;\n exports.createBox = ISOBoxer.createBox;\n exports.createFullBox = ISOBoxer.createFullBox;\n exports.Utils = ISOBoxer.Utils;\n}\n\nISOBoxer.Cursor = function(initialOffset) {\n this.offset = (typeof initialOffset == 'undefined' ? 0 : initialOffset);\n};\n\nvar ISOFile = function(arrayBuffer) {\n this._cursor = new ISOBoxer.Cursor();\n this.boxes = [];\n if (arrayBuffer) {\n this._raw = new DataView(arrayBuffer);\n }\n};\n\nISOFile.prototype.fetch = function(type) {\n var result = this.fetchAll(type, true);\n return (result.length ? result[0] : null);\n};\n\nISOFile.prototype.fetchAll = function(type, returnEarly) {\n var result = [];\n ISOFile._sweep.call(this, type, result, returnEarly);\n return result;\n};\n\nISOFile.prototype.parse = function() {\n this._cursor.offset = 0;\n this.boxes = [];\n while (this._cursor.offset < this._raw.byteLength) {\n var box = ISOBox.parse(this);\n\n // Box could not be parsed\n if (typeof box.type === 'undefined') break;\n\n this.boxes.push(box);\n }\n return this;\n};\n\nISOFile._sweep = function(type, result, returnEarly) {\n if (this.type && this.type == type) result.push(this);\n for (var box in this.boxes) {\n if (result.length && returnEarly) return;\n ISOFile._sweep.call(this.boxes[box], type, result, returnEarly);\n }\n};\n\nISOFile.prototype.write = function() {\n\n var length = 0,\n i;\n\n for (i = 0; i < this.boxes.length; i++) {\n length += this.boxes[i].getLength(false);\n }\n\n var bytes = new Uint8Array(length);\n this._rawo = new DataView(bytes.buffer);\n this.bytes = bytes;\n this._cursor.offset = 0;\n\n for (i = 0; i < this.boxes.length; i++) {\n this.boxes[i].write();\n }\n\n return bytes.buffer;\n};\n\nISOFile.prototype.append = function(box, pos) {\n ISOBoxer.Utils.appendBox(this, box, pos);\n};\nvar ISOBox = function() {\n this._cursor = new ISOBoxer.Cursor();\n};\n\nISOBox.parse = function(parent) {\n var newBox = new ISOBox();\n newBox._offset = parent._cursor.offset;\n newBox._root = (parent._root ? parent._root : parent);\n newBox._raw = parent._raw;\n newBox._parent = parent;\n newBox._parseBox();\n parent._cursor.offset = newBox._raw.byteOffset + newBox._raw.byteLength;\n return newBox;\n};\n\nISOBox.create = function(type) {\n var newBox = new ISOBox();\n newBox.type = type;\n newBox.boxes = [];\n return newBox;\n};\n\nISOBox.prototype._boxContainers = ['dinf', 'edts', 'mdia', 'meco', 'mfra', 'minf', 'moof', 'moov', 'mvex', 'stbl', 'strk', 'traf', 'trak', 'tref', 'udta', 'vttc', 'sinf', 'schi', 'encv', 'enca'];\n\nISOBox.prototype._boxProcessors = {};\n\n///////////////////////////////////////////////////////////////////////////////////////////////////\n// Generic read/write functions\n\nISOBox.prototype._procField = function (name, type, size) {\n if (this._parsing) {\n this[name] = this._readField(type, size);\n }\n else {\n this._writeField(type, size, this[name]);\n }\n};\n\nISOBox.prototype._procFieldArray = function (name, length, type, size) {\n var i;\n if (this._parsing) {\n this[name] = [];\n for (i = 0; i < length; i++) {\n this[name][i] = this._readField(type, size);\n }\n }\n else {\n for (i = 0; i < this[name].length; i++) {\n this._writeField(type, size, this[name][i]);\n }\n }\n};\n\nISOBox.prototype._procFullBox = function() {\n this._procField('version', 'uint', 8);\n this._procField('flags', 'uint', 24);\n};\n\nISOBox.prototype._procEntries = function(name, length, fn) {\n var i;\n if (this._parsing) {\n this[name] = [];\n for (i = 0; i < length; i++) {\n this[name].push({});\n fn.call(this, this[name][i]);\n }\n }\n else {\n for (i = 0; i < length; i++) {\n fn.call(this, this[name][i]);\n }\n }\n};\n\nISOBox.prototype._procSubEntries = function(entry, name, length, fn) {\n var i;\n if (this._parsing) {\n entry[name] = [];\n for (i = 0; i < length; i++) {\n entry[name].push({});\n fn.call(this, entry[name][i]);\n }\n }\n else {\n for (i = 0; i < length; i++) {\n fn.call(this, entry[name][i]);\n }\n }\n};\n\nISOBox.prototype._procEntryField = function (entry, name, type, size) {\n if (this._parsing) {\n entry[name] = this._readField(type, size);\n }\n else {\n this._writeField(type, size, entry[name]);\n }\n};\n\nISOBox.prototype._procSubBoxes = function(name, length) {\n var i;\n if (this._parsing) {\n this[name] = [];\n for (i = 0; i < length; i++) {\n this[name].push(ISOBox.parse(this));\n }\n }\n else {\n for (i = 0; i < length; i++) {\n if (this._rawo) {\n this[name][i].write();\n } else {\n this.size += this[name][i].getLength();\n }\n }\n }\n};\n\n///////////////////////////////////////////////////////////////////////////////////////////////////\n// Read/parse functions\n\nISOBox.prototype._readField = function(type, size) {\n switch (type) {\n case 'uint':\n return this._readUint(size);\n case 'int':\n return this._readInt(size);\n case 'template':\n return this._readTemplate(size);\n case 'string':\n return (size === -1) ? this._readTerminatedString() : this._readString(size);\n case 'data':\n return this._readData(size);\n case 'utf8':\n return this._readUTF8String();\n default:\n return -1;\n }\n};\n\nISOBox.prototype._readInt = function(size) {\n var result = null,\n offset = this._cursor.offset - this._raw.byteOffset;\n switch(size) {\n case 8:\n result = this._raw.getInt8(offset);\n break;\n case 16:\n result = this._raw.getInt16(offset);\n break;\n case 32:\n result = this._raw.getInt32(offset);\n break;\n case 64:\n // Warning: JavaScript cannot handle 64-bit integers natively.\n // This will give unexpected results for integers >= 2^53\n var s1 = this._raw.getInt32(offset);\n var s2 = this._raw.getInt32(offset + 4);\n result = (s1 * Math.pow(2,32)) + s2;\n break;\n }\n this._cursor.offset += (size >> 3);\n return result;\n};\n\nISOBox.prototype._readUint = function(size) {\n var result = null,\n offset = this._cursor.offset - this._raw.byteOffset,\n s1, s2;\n switch(size) {\n case 8:\n result = this._raw.getUint8(offset);\n break;\n case 16:\n result = this._raw.getUint16(offset);\n break;\n case 24:\n s1 = this._raw.getUint16(offset);\n s2 = this._raw.getUint8(offset + 2);\n result = (s1 << 8) + s2;\n break;\n case 32:\n result = this._raw.getUint32(offset);\n break;\n case 64:\n // Warning: JavaScript cannot handle 64-bit integers natively.\n // This will give unexpected results for integers >= 2^53\n s1 = this._raw.getUint32(offset);\n s2 = this._raw.getUint32(offset + 4);\n result = (s1 * Math.pow(2,32)) + s2;\n break;\n }\n this._cursor.offset += (size >> 3);\n return result;\n};\n\nISOBox.prototype._readString = function(length) {\n var str = '';\n for (var c = 0; c < length; c++) {\n var char = this._readUint(8);\n str += String.fromCharCode(char);\n }\n return str;\n};\n\nISOBox.prototype._readTemplate = function(size) {\n var pre = this._readUint(size / 2);\n var post = this._readUint(size / 2);\n return pre + (post / Math.pow(2, size / 2));\n};\n\nISOBox.prototype._readTerminatedString = function() {\n var str = '';\n while (this._cursor.offset - this._offset < this._raw.byteLength) {\n var char = this._readUint(8);\n if (char === 0) break;\n str += String.fromCharCode(char);\n }\n return str;\n};\n\nISOBox.prototype._readData = function(size) {\n var length = (size > 0) ? size : (this._raw.byteLength - (this._cursor.offset - this._offset));\n if (length > 0) {\n var data = new Uint8Array(this._raw.buffer, this._cursor.offset, length);\n\n this._cursor.offset += length;\n return data;\n }\n else {\n return null;\n }\n};\n\nISOBox.prototype._readUTF8String = function() {\n var length = this._raw.byteLength - (this._cursor.offset - this._offset);\n var data = null;\n if (length > 0) {\n data = new DataView(this._raw.buffer, this._cursor.offset, length);\n this._cursor.offset += length;\n }\n \n return data ? ISOBoxer.Utils.dataViewToString(data) : data;\n};\n\nISOBox.prototype._parseBox = function() {\n this._parsing = true;\n this._cursor.offset = this._offset;\n\n // return immediately if there are not enough bytes to read the header\n if (this._offset + 8 > this._raw.buffer.byteLength) {\n this._root._incomplete = true;\n return;\n }\n\n this._procField('size', 'uint', 32);\n this._procField('type', 'string', 4);\n\n if (this.size === 1) { this._procField('largesize', 'uint', 64); }\n if (this.type === 'uuid') { this._procFieldArray('usertype', 16, 'uint', 8); }\n\n switch(this.size) {\n case 0:\n this._raw = new DataView(this._raw.buffer, this._offset, (this._raw.byteLength - this._cursor.offset + 8));\n break;\n case 1:\n if (this._offset + this.size > this._raw.buffer.byteLength) {\n this._incomplete = true;\n this._root._incomplete = true;\n } else {\n this._raw = new DataView(this._raw.buffer, this._offset, this.largesize);\n }\n break;\n default:\n if (this._offset + this.size > this._raw.buffer.byteLength) {\n this._incomplete = true;\n this._root._incomplete = true;\n } else {\n this._raw = new DataView(this._raw.buffer, this._offset, this.size);\n }\n }\n\n // additional parsing\n if (!this._incomplete) {\n if (this._boxProcessors[this.type]) {\n this._boxProcessors[this.type].call(this);\n }\n if (this._boxContainers.indexOf(this.type) !== -1) {\n this._parseContainerBox();\n } else{\n // Unknown box => read and store box content\n this._data = this._readData();\n }\n }\n};\n\nISOBox.prototype._parseFullBox = function() {\n this.version = this._readUint(8);\n this.flags = this._readUint(24);\n};\n\nISOBox.prototype._parseContainerBox = function() {\n this.boxes = [];\n while (this._cursor.offset - this._raw.byteOffset < this._raw.byteLength) {\n this.boxes.push(ISOBox.parse(this));\n }\n};\n\n///////////////////////////////////////////////////////////////////////////////////////////////////\n// Write functions\n\nISOBox.prototype.append = function(box, pos) {\n ISOBoxer.Utils.appendBox(this, box, pos);\n};\n\nISOBox.prototype.getLength = function() {\n this._parsing = false;\n this._rawo = null;\n\n this.size = 0;\n this._procField('size', 'uint', 32);\n this._procField('type', 'string', 4);\n\n if (this.size === 1) { this._procField('largesize', 'uint', 64); }\n if (this.type === 'uuid') { this._procFieldArray('usertype', 16, 'uint', 8); }\n\n if (this._boxProcessors[this.type]) {\n this._boxProcessors[this.type].call(this);\n }\n\n if (this._boxContainers.indexOf(this.type) !== -1) {\n for (var i = 0; i < this.boxes.length; i++) {\n this.size += this.boxes[i].getLength();\n }\n } \n\n if (this._data) {\n this._writeData(this._data);\n }\n\n return this.size;\n};\n\nISOBox.prototype.write = function() {\n this._parsing = false;\n this._cursor.offset = this._parent._cursor.offset;\n\n switch(this.size) {\n case 0:\n this._rawo = new DataView(this._parent._rawo.buffer, this._cursor.offset, (this.parent._rawo.byteLength - this._cursor.offset));\n break;\n case 1:\n this._rawo = new DataView(this._parent._rawo.buffer, this._cursor.offset, this.largesize);\n break;\n default:\n this._rawo = new DataView(this._parent._rawo.buffer, this._cursor.offset, this.size);\n }\n\n this._procField('size', 'uint', 32);\n this._procField('type', 'string', 4);\n\n if (this.size === 1) { this._procField('largesize', 'uint', 64); }\n if (this.type === 'uuid') { this._procFieldArray('usertype', 16, 'uint', 8); }\n\n if (this._boxProcessors[this.type]) {\n this._boxProcessors[this.type].call(this);\n }\n\n if (this._boxContainers.indexOf(this.type) !== -1) {\n for (var i = 0; i < this.boxes.length; i++) {\n this.boxes[i].write();\n }\n } \n\n if (this._data) {\n this._writeData(this._data);\n }\n\n this._parent._cursor.offset += this.size;\n\n return this.size;\n};\n\nISOBox.prototype._writeInt = function(size, value) {\n if (this._rawo) {\n var offset = this._cursor.offset - this._rawo.byteOffset;\n switch(size) {\n case 8:\n this._rawo.setInt8(offset, value);\n break;\n case 16:\n this._rawo.setInt16(offset, value);\n break;\n case 32:\n this._rawo.setInt32(offset, value);\n break;\n case 64:\n // Warning: JavaScript cannot handle 64-bit integers natively.\n // This will give unexpected results for integers >= 2^53\n var s1 = Math.floor(value / Math.pow(2,32));\n var s2 = value - (s1 * Math.pow(2,32));\n this._rawo.setUint32(offset, s1);\n this._rawo.setUint32(offset + 4, s2);\n break;\n }\n this._cursor.offset += (size >> 3);\n } else {\n this.size += (size >> 3);\n }\n};\n\nISOBox.prototype._writeUint = function(size, value) {\n\n if (this._rawo) {\n var offset = this._cursor.offset - this._rawo.byteOffset,\n s1, s2;\n switch(size) {\n case 8:\n this._rawo.setUint8(offset, value);\n break;\n case 16:\n this._rawo.setUint16(offset, value);\n break;\n case 24:\n s1 = (value & 0xFFFF00) >> 8;\n s2 = (value & 0x0000FF);\n this._rawo.setUint16(offset, s1);\n this._rawo.setUint8(offset + 2, s2);\n break;\n case 32:\n this._rawo.setUint32(offset, value);\n break;\n case 64:\n // Warning: JavaScript cannot handle 64-bit integers natively.\n // This will give unexpected results for integers >= 2^53\n s1 = Math.floor(value / Math.pow(2,32));\n s2 = value - (s1 * Math.pow(2,32));\n this._rawo.setUint32(offset, s1);\n this._rawo.setUint32(offset + 4, s2);\n break;\n }\n this._cursor.offset += (size >> 3);\n } else {\n this.size += (size >> 3);\n }\n};\n\nISOBox.prototype._writeString = function(size, str) {\n for (var c = 0; c < size; c++) {\n this._writeUint(8, str.charCodeAt(c));\n }\n};\n\nISOBox.prototype._writeTerminatedString = function(str) {\n if (str.length === 0) {\n return;\n }\n for (var c = 0; c < str.length; c++) {\n this._writeUint(8, str.charCodeAt(c));\n }\n this._writeUint(8, 0);\n};\n\nISOBox.prototype._writeTemplate = function(size, value) {\n var pre = Math.floor(value);\n var post = (value - pre) * Math.pow(2, size / 2);\n this._writeUint(size / 2, pre);\n this._writeUint(size / 2, post);\n};\n\nISOBox.prototype._writeData = function(data) {\n var i;\n //data to copy\n if (data) {\n if (this._rawo) {\n //Array and Uint8Array has also to be managed\n if (data instanceof Array) {\n var offset = this._cursor.offset - this._rawo.byteOffset;\n for (var i = 0; i < data.length; i++) {\n this._rawo.setInt8(offset + i, data[i]);\n }\n this._cursor.offset += data.length;\n } \n\n if (data instanceof Uint8Array) {\n this._root.bytes.set(data, this._cursor.offset);\n this._cursor.offset += data.length;\n }\n\n } else {\n //nothing to copy only size to compute\n this.size += data.length;\n }\n }\n};\n\nISOBox.prototype._writeUTF8String = function(string) {\n var u = ISOBoxer.Utils.utf8ToByteArray(string);\n if (this._rawo) {\n var dataView = new DataView(this._rawo.buffer, this._cursor.offset, u.length);\n for (var i = 0; i < u.length; i++) {\n dataView.setUint8(i, u[i]);\n }\n } else {\n this.size += u.length;\n }\n};\n\nISOBox.prototype._writeField = function(type, size, value) {\n switch (type) {\n case 'uint':\n this._writeUint(size, value);\n break;\n case 'int':\n this._writeInt(size, value);\n break;\n case 'template':\n this._writeTemplate(size, value);\n break;\n case 'string':\n if (size == -1) {\n this._writeTerminatedString(value);\n } else {\n this._writeString(size, value);\n }\n break;\n case 'data':\n this._writeData(value);\n break;\n case 'utf8':\n this._writeUTF8String(value);\n break;\n default:\n break;\n }\n};\n\n// ISO/IEC 14496-15:2014 - avc1 box\nISOBox.prototype._boxProcessors['avc1'] = ISOBox.prototype._boxProcessors['encv'] = function() {\n // SampleEntry fields\n this._procFieldArray('reserved1', 6, 'uint', 8);\n this._procField('data_reference_index', 'uint', 16);\n // VisualSampleEntry fields\n this._procField('pre_defined1', 'uint', 16);\n this._procField('reserved2', 'uint', 16);\n this._procFieldArray('pre_defined2', 3, 'uint', 32);\n this._procField('width', 'uint', 16);\n this._procField('height', 'uint', 16);\n this._procField('horizresolution', 'template', 32);\n this._procField('vertresolution', 'template', 32);\n this._procField('reserved3', 'uint', 32);\n this._procField('frame_count', 'uint', 16);\n this._procFieldArray('compressorname', 32,'uint', 8);\n this._procField('depth', 'uint', 16);\n this._procField('pre_defined3', 'int', 16);\n // AVCSampleEntry fields\n this._procField('config', 'data', -1);\n};\n\n// ISO/IEC 14496-12:2012 - 8.7.2 Data Reference Box\nISOBox.prototype._boxProcessors['dref'] = function() {\n this._procFullBox();\n this._procField('entry_count', 'uint', 32);\n this._procSubBoxes('entries', this.entry_count);\n};\n\n// ISO/IEC 14496-12:2012 - 8.6.6 Edit List Box\nISOBox.prototype._boxProcessors['elst'] = function() {\n this._procFullBox();\n this._procField('entry_count', 'uint', 32);\n this._procEntries('entries', this.entry_count, function(entry) {\n this._procEntryField(entry, 'segment_duration', 'uint', (this.version === 1) ? 64 : 32);\n this._procEntryField(entry, 'media_time', 'int', (this.version === 1) ? 64 : 32);\n this._procEntryField(entry, 'media_rate_integer', 'int', 16);\n this._procEntryField(entry, 'media_rate_fraction', 'int', 16);\n });\n};\n\n// ISO/IEC 23009-1:2014 - 5.10.3.3 Event Message Box\nISOBox.prototype._boxProcessors['emsg'] = function() {\n this._procFullBox();\n if (this.version == 1) {\n this._procField('timescale', 'uint', 32);\n this._procField('presentation_time', 'uint', 64);\n this._procField('event_duration', 'uint', 32);\n this._procField('id', 'uint', 32);\n this._procField('scheme_id_uri', 'string', -1);\n this._procField('value', 'string', -1);\n } else {\n this._procField('scheme_id_uri', 'string', -1);\n this._procField('value', 'string', -1);\n this._procField('timescale', 'uint', 32);\n this._procField('presentation_time_delta', 'uint', 32);\n this._procField('event_duration', 'uint', 32);\n this._procField('id', 'uint', 32);\n }\n this._procField('message_data', 'data', -1);\n};\n// ISO/IEC 14496-12:2012 - 8.1.2 Free Space Box\nISOBox.prototype._boxProcessors['free'] = ISOBox.prototype._boxProcessors['skip'] = function() {\n this._procField('data', 'data', -1);\n};\n\n// ISO/IEC 14496-12:2012 - 8.12.2 Original Format Box\nISOBox.prototype._boxProcessors['frma'] = function() {\n this._procField('data_format', 'uint', 32);\n};\n// ISO/IEC 14496-12:2012 - 4.3 File Type Box / 8.16.2 Segment Type Box\nISOBox.prototype._boxProcessors['ftyp'] =\nISOBox.prototype._boxProcessors['styp'] = function() {\n this._procField('major_brand', 'string', 4);\n this._procField('minor_version', 'uint', 32);\n var nbCompatibleBrands = -1;\n if (this._parsing) {\n nbCompatibleBrands = (this._raw.byteLength - (this._cursor.offset - this._raw.byteOffset)) / 4;\n }\n this._procFieldArray('compatible_brands', nbCompatibleBrands, 'string', 4);\n};\n\n// ISO/IEC 14496-12:2012 - 8.4.3 Handler Reference Box\nISOBox.prototype._boxProcessors['hdlr'] = function() {\n this._procFullBox();\n this._procField('pre_defined', 'uint', 32);\n this._procField('handler_type', 'string', 4);\n this._procFieldArray('reserved', 3, 'uint', 32);\n this._procField('name', 'string', -1);\n};\n\n// ISO/IEC 14496-12:2012 - 8.1.1 Media Data Box\nISOBox.prototype._boxProcessors['mdat'] = function() {\n this._procField('data', 'data', -1);\n};\n\n// ISO/IEC 14496-12:2012 - 8.4.2 Media Header Box\nISOBox.prototype._boxProcessors['mdhd'] = function() {\n this._procFullBox();\n this._procField('creation_time', 'uint', (this.version == 1) ? 64 : 32);\n this._procField('modification_time', 'uint', (this.version == 1) ? 64 : 32);\n this._procField('timescale', 'uint', 32);\n this._procField('duration', 'uint', (this.version == 1) ? 64 : 32);\n if (!this._parsing && typeof this.language === 'string') {\n // In case of writing and language has been set as a string, then convert it into char codes array\n this.language = ((this.language.charCodeAt(0) - 0x60) << 10) |\n ((this.language.charCodeAt(1) - 0x60) << 5) |\n ((this.language.charCodeAt(2) - 0x60));\n }\n this._procField('language', 'uint', 16);\n if (this._parsing) {\n this.language = String.fromCharCode(((this.language >> 10) & 0x1F) + 0x60,\n ((this.language >> 5) & 0x1F) + 0x60,\n (this.language & 0x1F) + 0x60);\n }\n this._procField('pre_defined', 'uint', 16);\n};\n\n// ISO/IEC 14496-12:2012 - 8.8.2 Movie Extends Header Box\nISOBox.prototype._boxProcessors['mehd'] = function() {\n this._procFullBox();\n this._procField('fragment_duration', 'uint', (this.version == 1) ? 64 : 32);\n};\n\n// ISO/IEC 14496-12:2012 - 8.8.5 Movie Fragment Header Box\nISOBox.prototype._boxProcessors['mfhd'] = function() {\n this._procFullBox();\n this._procField('sequence_number', 'uint', 32);\n};\n\n// ISO/IEC 14496-12:2012 - 8.8.11 Movie Fragment Random Access Box\nISOBox.prototype._boxProcessors['mfro'] = function() {\n this._procFullBox();\n this._procField('mfra_size', 'uint', 32); // Called mfra_size to distinguish from the normal \"size\" attribute of a box\n};\n\n\n// ISO/IEC 14496-12:2012 - 8.5.2.2 mp4a box (use AudioSampleEntry definition and naming)\nISOBox.prototype._boxProcessors['mp4a'] = ISOBox.prototype._boxProcessors['enca'] = function() {\n // SampleEntry fields\n this._procFieldArray('reserved1', 6, 'uint', 8);\n this._procField('data_reference_index', 'uint', 16);\n // AudioSampleEntry fields\n this._procFieldArray('reserved2', 2, 'uint', 32);\n this._procField('channelcount', 'uint', 16);\n this._procField('samplesize', 'uint', 16);\n this._procField('pre_defined', 'uint', 16);\n this._procField('reserved3', 'uint', 16);\n this._procField('samplerate', 'template', 32);\n // ESDescriptor fields\n this._procField('esds', 'data', -1);\n};\n\n// ISO/IEC 14496-12:2012 - 8.2.2 Movie Header Box\nISOBox.prototype._boxProcessors['mvhd'] = function() {\n this._procFullBox();\n this._procField('creation_time', 'uint', (this.version == 1) ? 64 : 32);\n this._procField('modification_time', 'uint', (this.version == 1) ? 64 : 32);\n this._procField('timescale', 'uint', 32);\n this._procField('duration', 'uint', (this.version == 1) ? 64 : 32);\n this._procField('rate', 'template', 32);\n this._procField('volume', 'template', 16);\n this._procField('reserved1', 'uint', 16);\n this._procFieldArray('reserved2', 2, 'uint', 32);\n this._procFieldArray('matrix', 9, 'template', 32);\n this._procFieldArray('pre_defined', 6,'uint', 32);\n this._procField('next_track_ID', 'uint', 32);\n};\n\n// ISO/IEC 14496-30:2014 - WebVTT Cue Payload Box.\nISOBox.prototype._boxProcessors['payl'] = function() {\n this._procField('cue_text', 'utf8');\n};\n\n//ISO/IEC 23001-7:2011 - 8.1 Protection System Specific Header Box\nISOBox.prototype._boxProcessors['pssh'] = function() {\n this._procFullBox();\n \n this._procFieldArray('SystemID', 16, 'uint', 8);\n this._procField('DataSize', 'uint', 32);\n this._procFieldArray('Data', this.DataSize, 'uint', 8);\n};\n// ISO/IEC 14496-12:2012 - 8.12.5 Scheme Type Box\nISOBox.prototype._boxProcessors['schm'] = function() {\n this._procFullBox();\n \n this._procField('scheme_type', 'uint', 32);\n this._procField('scheme_version', 'uint', 32);\n\n if (this.flags & 0x000001) {\n this._procField('scheme_uri', 'string', -1);\n }\n};\n// ISO/IEC 14496-12:2012 - 8.6.4.1 sdtp box \nISOBox.prototype._boxProcessors['sdtp'] = function() {\n this._procFullBox();\n\n var sample_count = -1;\n if (this._parsing) {\n sample_count = (this._raw.byteLength - (this._cursor.offset - this._raw.byteOffset));\n }\n\n this._procFieldArray('sample_dependency_table', sample_count, 'uint', 8);\n};\n\n// ISO/IEC 14496-12:2012 - 8.16.3 Segment Index Box\nISOBox.prototype._boxProcessors['sidx'] = function() {\n this._procFullBox();\n this._procField('reference_ID', 'uint', 32);\n this._procField('timescale', 'uint', 32);\n this._procField('earliest_presentation_time', 'uint', (this.version == 1) ? 64 : 32);\n this._procField('first_offset', 'uint', (this.version == 1) ? 64 : 32);\n this._procField('reserved', 'uint', 16);\n this._procField('reference_count', 'uint', 16);\n this._procEntries('references', this.reference_count, function(entry) {\n if (!this._parsing) {\n entry.reference = (entry.reference_type & 0x00000001) << 31;\n entry.reference |= (entry.referenced_size & 0x7FFFFFFF);\n entry.sap = (entry.starts_with_SAP & 0x00000001) << 31;\n entry.sap |= (entry.SAP_type & 0x00000003) << 28;\n entry.sap |= (entry.SAP_delta_time & 0x0FFFFFFF);\n }\n this._procEntryField(entry, 'reference', 'uint', 32);\n this._procEntryField(entry, 'subsegment_duration', 'uint', 32);\n this._procEntryField(entry, 'sap', 'uint', 32);\n if (this._parsing) {\n entry.reference_type = (entry.reference >> 31) & 0x00000001;\n entry.referenced_size = entry.reference & 0x7FFFFFFF;\n entry.starts_with_SAP = (entry.sap >> 31) & 0x00000001;\n entry.SAP_type = (entry.sap >> 28) & 0x00000007;\n entry.SAP_delta_time = (entry.sap & 0x0FFFFFFF);\n }\n });\n};\n\n// ISO/IEC 14496-12:2012 - 8.4.5.3 Sound Media Header Box\nISOBox.prototype._boxProcessors['smhd'] = function() {\n this._procFullBox();\n this._procField('balance', 'uint', 16);\n this._procField('reserved', 'uint', 16);\n};\n\n// ISO/IEC 14496-12:2012 - 8.16.4 Subsegment Index Box\nISOBox.prototype._boxProcessors['ssix'] = function() {\n this._procFullBox();\n this._procField('subsegment_count', 'uint', 32);\n this._procEntries('subsegments', this.subsegment_count, function(subsegment) {\n this._procEntryField(subsegment, 'ranges_count', 'uint', 32);\n this._procSubEntries(subsegment, 'ranges', subsegment.ranges_count, function(range) {\n this._procEntryField(range, 'level', 'uint', 8);\n this._procEntryField(range, 'range_size', 'uint', 24);\n });\n });\n};\n\n// ISO/IEC 14496-12:2012 - 8.5.2 Sample Description Box\nISOBox.prototype._boxProcessors['stsd'] = function() {\n this._procFullBox();\n this._procField('entry_count', 'uint', 32);\n this._procSubBoxes('entries', this.entry_count);\n};\n\n// ISO/IEC 14496-12:2015 - 8.7.7 Sub-Sample Information Box\nISOBox.prototype._boxProcessors['subs'] = function () {\n this._procFullBox();\n this._procField('entry_count', 'uint', 32);\n this._procEntries('entries', this.entry_count, function(entry) {\n this._procEntryField(entry, 'sample_delta', 'uint', 32);\n this._procEntryField(entry, 'subsample_count', 'uint', 16);\n this._procSubEntries(entry, 'subsamples', entry.subsample_count, function(subsample) {\n this._procEntryField(subsample, 'subsample_size', 'uint', (this.version === 1) ? 32 : 16);\n this._procEntryField(subsample, 'subsample_priority', 'uint', 8);\n this._procEntryField(subsample, 'discardable', 'uint', 8);\n this._procEntryField(subsample, 'codec_specific_parameters', 'uint', 32);\n });\n });\n};\n\n//ISO/IEC 23001-7:2011 - 8.2 Track Encryption Box\nISOBox.prototype._boxProcessors['tenc'] = function() {\n this._procFullBox();\n\n this._procField('default_IsEncrypted', 'uint', 24);\n this._procField('default_IV_size', 'uint', 8);\n this._procFieldArray('default_KID', 16, 'uint', 8);\n };\n\n// ISO/IEC 14496-12:2012 - 8.8.12 Track Fragmnent Decode Time\nISOBox.prototype._boxProcessors['tfdt'] = function() {\n this._procFullBox();\n this._procField('baseMediaDecodeTime', 'uint', (this.version == 1) ? 64 : 32);\n};\n\n// ISO/IEC 14496-12:2012 - 8.8.7 Track Fragment Header Box\nISOBox.prototype._boxProcessors['tfhd'] = function() {\n this._procFullBox();\n this._procField('track_ID', 'uint', 32);\n if (this.flags & 0x01) this._procField('base_data_offset', 'uint', 64);\n if (this.flags & 0x02) this._procField('sample_description_offset', 'uint', 32);\n if (this.flags & 0x08) this._procField('default_sample_duration', 'uint', 32);\n if (this.flags & 0x10) this._procField('default_sample_size', 'uint', 32);\n if (this.flags & 0x20) this._procField('default_sample_flags', 'uint', 32);\n};\n\n// ISO/IEC 14496-12:2012 - 8.8.10 Track Fragment Random Access Box\nISOBox.prototype._boxProcessors['tfra'] = function() {\n this._procFullBox();\n this._procField('track_ID', 'uint', 32);\n if (!this._parsing) {\n this.reserved = 0;\n this.reserved |= (this.length_size_of_traf_num & 0x00000030) << 4;\n this.reserved |= (this.length_size_of_trun_num & 0x0000000C) << 2;\n this.reserved |= (this.length_size_of_sample_num & 0x00000003);\n }\n this._procField('reserved', 'uint', 32);\n if (this._parsing) {\n this.length_size_of_traf_num = (this.reserved & 0x00000030) >> 4;\n this.length_size_of_trun_num = (this.reserved & 0x0000000C) >> 2;\n this.length_size_of_sample_num = (this.reserved & 0x00000003);\n }\n this._procField('number_of_entry', 'uint', 32);\n this._procEntries('entries', this.number_of_entry, function(entry) {\n this._procEntryField(entry, 'time', 'uint', (this.version === 1) ? 64 : 32);\n this._procEntryField(entry, 'moof_offset', 'uint', (this.version === 1) ? 64 : 32);\n this._procEntryField(entry, 'traf_number', 'uint', (this.length_size_of_traf_num + 1) * 8);\n this._procEntryField(entry, 'trun_number', 'uint', (this.length_size_of_trun_num + 1) * 8);\n this._procEntryField(entry, 'sample_number', 'uint', (this.length_size_of_sample_num + 1) * 8);\n });\n};\n\n// ISO/IEC 14496-12:2012 - 8.3.2 Track Header Box\nISOBox.prototype._boxProcessors['tkhd'] = function() {\n this._procFullBox();\n this._procField('creation_time', 'uint', (this.version == 1) ? 64 : 32);\n this._procField('modification_time', 'uint', (this.version == 1) ? 64 : 32);\n this._procField('track_ID', 'uint', 32);\n this._procField('reserved1', 'uint', 32);\n this._procField('duration', 'uint', (this.version == 1) ? 64 : 32);\n this._procFieldArray('reserved2', 2, 'uint', 32);\n this._procField('layer', 'uint', 16);\n this._procField('alternate_group', 'uint', 16);\n this._procField('volume', 'template', 16);\n this._procField('reserved3', 'uint', 16);\n this._procFieldArray('matrix', 9, 'template', 32);\n this._procField('width', 'template', 32);\n this._procField('height', 'template', 32);\n};\n\n// ISO/IEC 14496-12:2012 - 8.8.3 Track Extends Box\nISOBox.prototype._boxProcessors['trex'] = function() {\n this._procFullBox();\n this._procField('track_ID', 'uint', 32);\n this._procField('default_sample_description_index', 'uint', 32);\n this._procField('default_sample_duration', 'uint', 32);\n this._procField('default_sample_size', 'uint', 32);\n this._procField('default_sample_flags', 'uint', 32);\n};\n\n// ISO/IEC 14496-12:2012 - 8.8.8 Track Run Box\n// Note: the 'trun' box has a direct relation to the 'tfhd' box for defaults.\n// These defaults are not set explicitly here, but are left to resolve for the user.\nISOBox.prototype._boxProcessors['trun'] = function() {\n this._procFullBox();\n this._procField('sample_count', 'uint', 32);\n if (this.flags & 0x1) this._procField('data_offset', 'int', 32);\n if (this.flags & 0x4) this._procField('first_sample_flags', 'uint', 32);\n this._procEntries('samples', this.sample_count, function(sample) {\n if (this.flags & 0x100) this._procEntryField(sample, 'sample_duration', 'uint', 32);\n if (this.flags & 0x200) this._procEntryField(sample, 'sample_size', 'uint', 32);\n if (this.flags & 0x400) this._procEntryField(sample, 'sample_flags', 'uint', 32);\n if (this.flags & 0x800) this._procEntryField(sample, 'sample_composition_time_offset', (this.version === 1) ? 'int' : 'uint', 32);\n });\n};\n\n// ISO/IEC 14496-12:2012 - 8.7.2 Data Reference Box\nISOBox.prototype._boxProcessors['url '] = ISOBox.prototype._boxProcessors['urn '] = function() {\n this._procFullBox();\n if (this.type === 'urn ') {\n this._procField('name', 'string', -1);\n }\n this._procField('location', 'string', -1);\n};\n\n// ISO/IEC 14496-30:2014 - WebVTT Source Label Box\nISOBox.prototype._boxProcessors['vlab'] = function() {\n this._procField('source_label', 'utf8');\n};\n\n// ISO/IEC 14496-12:2012 - 8.4.5.2 Video Media Header Box\nISOBox.prototype._boxProcessors['vmhd'] = function() {\n this._procFullBox();\n this._procField('graphicsmode', 'uint', 16);\n this._procFieldArray('opcolor', 3, 'uint', 16);\n};\n\n// ISO/IEC 14496-30:2014 - WebVTT Configuration Box\nISOBox.prototype._boxProcessors['vttC'] = function() {\n this._procField('config', 'utf8');\n};\n\n// ISO/IEC 14496-30:2014 - WebVTT Empty Sample Box\nISOBox.prototype._boxProcessors['vtte'] = function() {\n // Nothing should happen here.\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\n\nfunction isArray(arg) {\n if (Array.isArray) {\n return Array.isArray(arg);\n }\n return objectToString(arg) === '[object Array]';\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = Buffer.isBuffer;\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n","// This file can be required in Browserify and Node.js for automatic polyfill\n// To use it: require('es6-promise/auto');\n'use strict';\nmodule.exports = require('./').polyfill();\n","/*!\n * @overview es6-promise - a tiny implementation of Promises/A+.\n * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)\n * @license Licensed under MIT license\n * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE\n * @version v4.2.8+1e68dce6\n */\n\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.ES6Promise = factory());\n}(this, (function () { 'use strict';\n\nfunction objectOrFunction(x) {\n var type = typeof x;\n return x !== null && (type === 'object' || type === 'function');\n}\n\nfunction isFunction(x) {\n return typeof x === 'function';\n}\n\n\n\nvar _isArray = void 0;\nif (Array.isArray) {\n _isArray = Array.isArray;\n} else {\n _isArray = function (x) {\n return Object.prototype.toString.call(x) === '[object Array]';\n };\n}\n\nvar isArray = _isArray;\n\nvar len = 0;\nvar vertxNext = void 0;\nvar customSchedulerFn = void 0;\n\nvar asap = function asap(callback, arg) {\n queue[len] = callback;\n queue[len + 1] = arg;\n len += 2;\n if (len === 2) {\n // If len is 2, that means that we need to schedule an async flush.\n // If additional callbacks are queued before the queue is flushed, they\n // will be processed by this flush that we are scheduling.\n if (customSchedulerFn) {\n customSchedulerFn(flush);\n } else {\n scheduleFlush();\n }\n }\n};\n\nfunction setScheduler(scheduleFn) {\n customSchedulerFn = scheduleFn;\n}\n\nfunction setAsap(asapFn) {\n asap = asapFn;\n}\n\nvar browserWindow = typeof window !== 'undefined' ? window : undefined;\nvar browserGlobal = browserWindow || {};\nvar BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;\nvar isNode = typeof self === 'undefined' && typeof process !== 'undefined' && {}.toString.call(process) === '[object process]';\n\n// test for web worker but not in IE10\nvar isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined';\n\n// node\nfunction useNextTick() {\n // node version 0.10.x displays a deprecation warning when nextTick is used recursively\n // see https://github.com/cujojs/when/issues/410 for details\n return function () {\n return process.nextTick(flush);\n };\n}\n\n// vertx\nfunction useVertxTimer() {\n if (typeof vertxNext !== 'undefined') {\n return function () {\n vertxNext(flush);\n };\n }\n\n return useSetTimeout();\n}\n\nfunction useMutationObserver() {\n var iterations = 0;\n var observer = new BrowserMutationObserver(flush);\n var node = document.createTextNode('');\n observer.observe(node, { characterData: true });\n\n return function () {\n node.data = iterations = ++iterations % 2;\n };\n}\n\n// web worker\nfunction useMessageChannel() {\n var channel = new MessageChannel();\n channel.port1.onmessage = flush;\n return function () {\n return channel.port2.postMessage(0);\n };\n}\n\nfunction useSetTimeout() {\n // Store setTimeout reference so es6-promise will be unaffected by\n // other code modifying setTimeout (like sinon.useFakeTimers())\n var globalSetTimeout = setTimeout;\n return function () {\n return globalSetTimeout(flush, 1);\n };\n}\n\nvar queue = new Array(1000);\nfunction flush() {\n for (var i = 0; i < len; i += 2) {\n var callback = queue[i];\n var arg = queue[i + 1];\n\n callback(arg);\n\n queue[i] = undefined;\n queue[i + 1] = undefined;\n }\n\n len = 0;\n}\n\nfunction attemptVertx() {\n try {\n var vertx = Function('return this')().require('vertx');\n vertxNext = vertx.runOnLoop || vertx.runOnContext;\n return useVertxTimer();\n } catch (e) {\n return useSetTimeout();\n }\n}\n\nvar scheduleFlush = void 0;\n// Decide what async method to use to triggering processing of queued callbacks:\nif (isNode) {\n scheduleFlush = useNextTick();\n} else if (BrowserMutationObserver) {\n scheduleFlush = useMutationObserver();\n} else if (isWorker) {\n scheduleFlush = useMessageChannel();\n} else if (browserWindow === undefined && typeof require === 'function') {\n scheduleFlush = attemptVertx();\n} else {\n scheduleFlush = useSetTimeout();\n}\n\nfunction then(onFulfillment, onRejection) {\n var parent = this;\n\n var child = new this.constructor(noop);\n\n if (child[PROMISE_ID] === undefined) {\n makePromise(child);\n }\n\n var _state = parent._state;\n\n\n if (_state) {\n var callback = arguments[_state - 1];\n asap(function () {\n return invokeCallback(_state, child, callback, parent._result);\n });\n } else {\n subscribe(parent, child, onFulfillment, onRejection);\n }\n\n return child;\n}\n\n/**\n `Promise.resolve` returns a promise that will become resolved with the\n passed `value`. It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n resolve(1);\n });\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.resolve(1);\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n @method resolve\n @static\n @param {Any} value value that the returned promise will be resolved with\n Useful for tooling.\n @return {Promise} a promise that will become fulfilled with the given\n `value`\n*/\nfunction resolve$1(object) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (object && typeof object === 'object' && object.constructor === Constructor) {\n return object;\n }\n\n var promise = new Constructor(noop);\n resolve(promise, object);\n return promise;\n}\n\nvar PROMISE_ID = Math.random().toString(36).substring(2);\n\nfunction noop() {}\n\nvar PENDING = void 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\n\nfunction selfFulfillment() {\n return new TypeError(\"You cannot resolve a promise with itself\");\n}\n\nfunction cannotReturnOwn() {\n return new TypeError('A promises callback cannot return that same promise.');\n}\n\nfunction tryThen(then$$1, value, fulfillmentHandler, rejectionHandler) {\n try {\n then$$1.call(value, fulfillmentHandler, rejectionHandler);\n } catch (e) {\n return e;\n }\n}\n\nfunction handleForeignThenable(promise, thenable, then$$1) {\n asap(function (promise) {\n var sealed = false;\n var error = tryThen(then$$1, thenable, function (value) {\n if (sealed) {\n return;\n }\n sealed = true;\n if (thenable !== value) {\n resolve(promise, value);\n } else {\n fulfill(promise, value);\n }\n }, function (reason) {\n if (sealed) {\n return;\n }\n sealed = true;\n\n reject(promise, reason);\n }, 'Settle: ' + (promise._label || ' unknown promise'));\n\n if (!sealed && error) {\n sealed = true;\n reject(promise, error);\n }\n }, promise);\n}\n\nfunction handleOwnThenable(promise, thenable) {\n if (thenable._state === FULFILLED) {\n fulfill(promise, thenable._result);\n } else if (thenable._state === REJECTED) {\n reject(promise, thenable._result);\n } else {\n subscribe(thenable, undefined, function (value) {\n return resolve(promise, value);\n }, function (reason) {\n return reject(promise, reason);\n });\n }\n}\n\nfunction handleMaybeThenable(promise, maybeThenable, then$$1) {\n if (maybeThenable.constructor === promise.constructor && then$$1 === then && maybeThenable.constructor.resolve === resolve$1) {\n handleOwnThenable(promise, maybeThenable);\n } else {\n if (then$$1 === undefined) {\n fulfill(promise, maybeThenable);\n } else if (isFunction(then$$1)) {\n handleForeignThenable(promise, maybeThenable, then$$1);\n } else {\n fulfill(promise, maybeThenable);\n }\n }\n}\n\nfunction resolve(promise, value) {\n if (promise === value) {\n reject(promise, selfFulfillment());\n } else if (objectOrFunction(value)) {\n var then$$1 = void 0;\n try {\n then$$1 = value.then;\n } catch (error) {\n reject(promise, error);\n return;\n }\n handleMaybeThenable(promise, value, then$$1);\n } else {\n fulfill(promise, value);\n }\n}\n\nfunction publishRejection(promise) {\n if (promise._onerror) {\n promise._onerror(promise._result);\n }\n\n publish(promise);\n}\n\nfunction fulfill(promise, value) {\n if (promise._state !== PENDING) {\n return;\n }\n\n promise._result = value;\n promise._state = FULFILLED;\n\n if (promise._subscribers.length !== 0) {\n asap(publish, promise);\n }\n}\n\nfunction reject(promise, reason) {\n if (promise._state !== PENDING) {\n return;\n }\n promise._state = REJECTED;\n promise._result = reason;\n\n asap(publishRejection, promise);\n}\n\nfunction subscribe(parent, child, onFulfillment, onRejection) {\n var _subscribers = parent._subscribers;\n var length = _subscribers.length;\n\n\n parent._onerror = null;\n\n _subscribers[length] = child;\n _subscribers[length + FULFILLED] = onFulfillment;\n _subscribers[length + REJECTED] = onRejection;\n\n if (length === 0 && parent._state) {\n asap(publish, parent);\n }\n}\n\nfunction publish(promise) {\n var subscribers = promise._subscribers;\n var settled = promise._state;\n\n if (subscribers.length === 0) {\n return;\n }\n\n var child = void 0,\n callback = void 0,\n detail = promise._result;\n\n for (var i = 0; i < subscribers.length; i += 3) {\n child = subscribers[i];\n callback = subscribers[i + settled];\n\n if (child) {\n invokeCallback(settled, child, callback, detail);\n } else {\n callback(detail);\n }\n }\n\n promise._subscribers.length = 0;\n}\n\nfunction invokeCallback(settled, promise, callback, detail) {\n var hasCallback = isFunction(callback),\n value = void 0,\n error = void 0,\n succeeded = true;\n\n if (hasCallback) {\n try {\n value = callback(detail);\n } catch (e) {\n succeeded = false;\n error = e;\n }\n\n if (promise === value) {\n reject(promise, cannotReturnOwn());\n return;\n }\n } else {\n value = detail;\n }\n\n if (promise._state !== PENDING) {\n // noop\n } else if (hasCallback && succeeded) {\n resolve(promise, value);\n } else if (succeeded === false) {\n reject(promise, error);\n } else if (settled === FULFILLED) {\n fulfill(promise, value);\n } else if (settled === REJECTED) {\n reject(promise, value);\n }\n}\n\nfunction initializePromise(promise, resolver) {\n try {\n resolver(function resolvePromise(value) {\n resolve(promise, value);\n }, function rejectPromise(reason) {\n reject(promise, reason);\n });\n } catch (e) {\n reject(promise, e);\n }\n}\n\nvar id = 0;\nfunction nextId() {\n return id++;\n}\n\nfunction makePromise(promise) {\n promise[PROMISE_ID] = id++;\n promise._state = undefined;\n promise._result = undefined;\n promise._subscribers = [];\n}\n\nfunction validationError() {\n return new Error('Array Methods must be provided an Array');\n}\n\nvar Enumerator = function () {\n function Enumerator(Constructor, input) {\n this._instanceConstructor = Constructor;\n this.promise = new Constructor(noop);\n\n if (!this.promise[PROMISE_ID]) {\n makePromise(this.promise);\n }\n\n if (isArray(input)) {\n this.length = input.length;\n this._remaining = input.length;\n\n this._result = new Array(this.length);\n\n if (this.length === 0) {\n fulfill(this.promise, this._result);\n } else {\n this.length = this.length || 0;\n this._enumerate(input);\n if (this._remaining === 0) {\n fulfill(this.promise, this._result);\n }\n }\n } else {\n reject(this.promise, validationError());\n }\n }\n\n Enumerator.prototype._enumerate = function _enumerate(input) {\n for (var i = 0; this._state === PENDING && i < input.length; i++) {\n this._eachEntry(input[i], i);\n }\n };\n\n Enumerator.prototype._eachEntry = function _eachEntry(entry, i) {\n var c = this._instanceConstructor;\n var resolve$$1 = c.resolve;\n\n\n if (resolve$$1 === resolve$1) {\n var _then = void 0;\n var error = void 0;\n var didError = false;\n try {\n _then = entry.then;\n } catch (e) {\n didError = true;\n error = e;\n }\n\n if (_then === then && entry._state !== PENDING) {\n this._settledAt(entry._state, i, entry._result);\n } else if (typeof _then !== 'function') {\n this._remaining--;\n this._result[i] = entry;\n } else if (c === Promise$1) {\n var promise = new c(noop);\n if (didError) {\n reject(promise, error);\n } else {\n handleMaybeThenable(promise, entry, _then);\n }\n this._willSettleAt(promise, i);\n } else {\n this._willSettleAt(new c(function (resolve$$1) {\n return resolve$$1(entry);\n }), i);\n }\n } else {\n this._willSettleAt(resolve$$1(entry), i);\n }\n };\n\n Enumerator.prototype._settledAt = function _settledAt(state, i, value) {\n var promise = this.promise;\n\n\n if (promise._state === PENDING) {\n this._remaining--;\n\n if (state === REJECTED) {\n reject(promise, value);\n } else {\n this._result[i] = value;\n }\n }\n\n if (this._remaining === 0) {\n fulfill(promise, this._result);\n }\n };\n\n Enumerator.prototype._willSettleAt = function _willSettleAt(promise, i) {\n var enumerator = this;\n\n subscribe(promise, undefined, function (value) {\n return enumerator._settledAt(FULFILLED, i, value);\n }, function (reason) {\n return enumerator._settledAt(REJECTED, i, reason);\n });\n };\n\n return Enumerator;\n}();\n\n/**\n `Promise.all` accepts an array of promises, and returns a new promise which\n is fulfilled with an array of fulfillment values for the passed promises, or\n rejected with the reason of the first passed promise to be rejected. It casts all\n elements of the passed iterable to promises as it runs this algorithm.\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = resolve(2);\n let promise3 = resolve(3);\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // The array here would be [ 1, 2, 3 ];\n });\n ```\n\n If any of the `promises` given to `all` are rejected, the first promise\n that is rejected will be given as an argument to the returned promises's\n rejection handler. For example:\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = reject(new Error(\"2\"));\n let promise3 = reject(new Error(\"3\"));\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // Code here never runs because there are rejected promises!\n }, function(error) {\n // error.message === \"2\"\n });\n ```\n\n @method all\n @static\n @param {Array} entries array of promises\n @param {String} label optional string for labeling the promise.\n Useful for tooling.\n @return {Promise} promise that is fulfilled when all `promises` have been\n fulfilled, or rejected if any of them become rejected.\n @static\n*/\nfunction all(entries) {\n return new Enumerator(this, entries).promise;\n}\n\n/**\n `Promise.race` returns a new promise which is settled in the same way as the\n first passed promise to settle.\n\n Example:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 2');\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // result === 'promise 2' because it was resolved before promise1\n // was resolved.\n });\n ```\n\n `Promise.race` is deterministic in that only the state of the first\n settled promise matters. For example, even if other promises given to the\n `promises` array argument are resolved, but the first settled promise has\n become rejected before the other promises became fulfilled, the returned\n promise will become rejected:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n reject(new Error('promise 2'));\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // Code here never runs\n }, function(reason){\n // reason.message === 'promise 2' because promise 2 became rejected before\n // promise 1 became fulfilled\n });\n ```\n\n An example real-world use case is implementing timeouts:\n\n ```javascript\n Promise.race([ajax('foo.json'), timeout(5000)])\n ```\n\n @method race\n @static\n @param {Array} promises array of promises to observe\n Useful for tooling.\n @return {Promise} a promise which settles in the same way as the first passed\n promise to settle.\n*/\nfunction race(entries) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (!isArray(entries)) {\n return new Constructor(function (_, reject) {\n return reject(new TypeError('You must pass an array to race.'));\n });\n } else {\n return new Constructor(function (resolve, reject) {\n var length = entries.length;\n for (var i = 0; i < length; i++) {\n Constructor.resolve(entries[i]).then(resolve, reject);\n }\n });\n }\n}\n\n/**\n `Promise.reject` returns a promise rejected with the passed `reason`.\n It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n reject(new Error('WHOOPS'));\n });\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.reject(new Error('WHOOPS'));\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n @method reject\n @static\n @param {Any} reason value that the returned promise will be rejected with.\n Useful for tooling.\n @return {Promise} a promise rejected with the given `reason`.\n*/\nfunction reject$1(reason) {\n /*jshint validthis:true */\n var Constructor = this;\n var promise = new Constructor(noop);\n reject(promise, reason);\n return promise;\n}\n\nfunction needsResolver() {\n throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');\n}\n\nfunction needsNew() {\n throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\");\n}\n\n/**\n Promise objects represent the eventual result of an asynchronous operation. The\n primary way of interacting with a promise is through its `then` method, which\n registers callbacks to receive either a promise's eventual value or the reason\n why the promise cannot be fulfilled.\n\n Terminology\n -----------\n\n - `promise` is an object or function with a `then` method whose behavior conforms to this specification.\n - `thenable` is an object or function that defines a `then` method.\n - `value` is any legal JavaScript value (including undefined, a thenable, or a promise).\n - `exception` is a value that is thrown using the throw statement.\n - `reason` is a value that indicates why a promise was rejected.\n - `settled` the final resting state of a promise, fulfilled or rejected.\n\n A promise can be in one of three states: pending, fulfilled, or rejected.\n\n Promises that are fulfilled have a fulfillment value and are in the fulfilled\n state. Promises that are rejected have a rejection reason and are in the\n rejected state. A fulfillment value is never a thenable.\n\n Promises can also be said to *resolve* a value. If this value is also a\n promise, then the original promise's settled state will match the value's\n settled state. So a promise that *resolves* a promise that rejects will\n itself reject, and a promise that *resolves* a promise that fulfills will\n itself fulfill.\n\n\n Basic Usage:\n ------------\n\n ```js\n let promise = new Promise(function(resolve, reject) {\n // on success\n resolve(value);\n\n // on failure\n reject(reason);\n });\n\n promise.then(function(value) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Advanced Usage:\n ---------------\n\n Promises shine when abstracting away asynchronous interactions such as\n `XMLHttpRequest`s.\n\n ```js\n function getJSON(url) {\n return new Promise(function(resolve, reject){\n let xhr = new XMLHttpRequest();\n\n xhr.open('GET', url);\n xhr.onreadystatechange = handler;\n xhr.responseType = 'json';\n xhr.setRequestHeader('Accept', 'application/json');\n xhr.send();\n\n function handler() {\n if (this.readyState === this.DONE) {\n if (this.status === 200) {\n resolve(this.response);\n } else {\n reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']'));\n }\n }\n };\n });\n }\n\n getJSON('/posts.json').then(function(json) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Unlike callbacks, promises are great composable primitives.\n\n ```js\n Promise.all([\n getJSON('/posts'),\n getJSON('/comments')\n ]).then(function(values){\n values[0] // => postsJSON\n values[1] // => commentsJSON\n\n return values;\n });\n ```\n\n @class Promise\n @param {Function} resolver\n Useful for tooling.\n @constructor\n*/\n\nvar Promise$1 = function () {\n function Promise(resolver) {\n this[PROMISE_ID] = nextId();\n this._result = this._state = undefined;\n this._subscribers = [];\n\n if (noop !== resolver) {\n typeof resolver !== 'function' && needsResolver();\n this instanceof Promise ? initializePromise(this, resolver) : needsNew();\n }\n }\n\n /**\n The primary way of interacting with a promise is through its `then` method,\n which registers callbacks to receive either a promise's eventual value or the\n reason why the promise cannot be fulfilled.\n ```js\n findUser().then(function(user){\n // user is available\n }, function(reason){\n // user is unavailable, and you are given the reason why\n });\n ```\n Chaining\n --------\n The return value of `then` is itself a promise. This second, 'downstream'\n promise is resolved with the return value of the first promise's fulfillment\n or rejection handler, or rejected if the handler throws an exception.\n ```js\n findUser().then(function (user) {\n return user.name;\n }, function (reason) {\n return 'default name';\n }).then(function (userName) {\n // If `findUser` fulfilled, `userName` will be the user's name, otherwise it\n // will be `'default name'`\n });\n findUser().then(function (user) {\n throw new Error('Found user, but still unhappy');\n }, function (reason) {\n throw new Error('`findUser` rejected and we're unhappy');\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'.\n // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'.\n });\n ```\n If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream.\n ```js\n findUser().then(function (user) {\n throw new PedagogicalException('Upstream error');\n }).then(function (value) {\n // never reached\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // The `PedgagocialException` is propagated all the way down to here\n });\n ```\n Assimilation\n ------------\n Sometimes the value you want to propagate to a downstream promise can only be\n retrieved asynchronously. This can be achieved by returning a promise in the\n fulfillment or rejection handler. The downstream promise will then be pending\n until the returned promise is settled. This is called *assimilation*.\n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // The user's comments are now available\n });\n ```\n If the assimliated promise rejects, then the downstream promise will also reject.\n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // If `findCommentsByAuthor` fulfills, we'll have the value here\n }, function (reason) {\n // If `findCommentsByAuthor` rejects, we'll have the reason here\n });\n ```\n Simple Example\n --------------\n Synchronous Example\n ```javascript\n let result;\n try {\n result = findResult();\n // success\n } catch(reason) {\n // failure\n }\n ```\n Errback Example\n ```js\n findResult(function(result, err){\n if (err) {\n // failure\n } else {\n // success\n }\n });\n ```\n Promise Example;\n ```javascript\n findResult().then(function(result){\n // success\n }, function(reason){\n // failure\n });\n ```\n Advanced Example\n --------------\n Synchronous Example\n ```javascript\n let author, books;\n try {\n author = findAuthor();\n books = findBooksByAuthor(author);\n // success\n } catch(reason) {\n // failure\n }\n ```\n Errback Example\n ```js\n function foundBooks(books) {\n }\n function failure(reason) {\n }\n findAuthor(function(author, err){\n if (err) {\n failure(err);\n // failure\n } else {\n try {\n findBoooksByAuthor(author, function(books, err) {\n if (err) {\n failure(err);\n } else {\n try {\n foundBooks(books);\n } catch(reason) {\n failure(reason);\n }\n }\n });\n } catch(error) {\n failure(err);\n }\n // success\n }\n });\n ```\n Promise Example;\n ```javascript\n findAuthor().\n then(findBooksByAuthor).\n then(function(books){\n // found books\n }).catch(function(reason){\n // something went wrong\n });\n ```\n @method then\n @param {Function} onFulfilled\n @param {Function} onRejected\n Useful for tooling.\n @return {Promise}\n */\n\n /**\n `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same\n as the catch block of a try/catch statement.\n ```js\n function findAuthor(){\n throw new Error('couldn't find that author');\n }\n // synchronous\n try {\n findAuthor();\n } catch(reason) {\n // something went wrong\n }\n // async with promises\n findAuthor().catch(function(reason){\n // something went wrong\n });\n ```\n @method catch\n @param {Function} onRejection\n Useful for tooling.\n @return {Promise}\n */\n\n\n Promise.prototype.catch = function _catch(onRejection) {\n return this.then(null, onRejection);\n };\n\n /**\n `finally` will be invoked regardless of the promise's fate just as native\n try/catch/finally behaves\n \n Synchronous example:\n \n ```js\n findAuthor() {\n if (Math.random() > 0.5) {\n throw new Error();\n }\n return new Author();\n }\n \n try {\n return findAuthor(); // succeed or fail\n } catch(error) {\n return findOtherAuther();\n } finally {\n // always runs\n // doesn't affect the return value\n }\n ```\n \n Asynchronous example:\n \n ```js\n findAuthor().catch(function(reason){\n return findOtherAuther();\n }).finally(function(){\n // author was either found, or not\n });\n ```\n \n @method finally\n @param {Function} callback\n @return {Promise}\n */\n\n\n Promise.prototype.finally = function _finally(callback) {\n var promise = this;\n var constructor = promise.constructor;\n\n if (isFunction(callback)) {\n return promise.then(function (value) {\n return constructor.resolve(callback()).then(function () {\n return value;\n });\n }, function (reason) {\n return constructor.resolve(callback()).then(function () {\n throw reason;\n });\n });\n }\n\n return promise.then(callback, callback);\n };\n\n return Promise;\n}();\n\nPromise$1.prototype.then = then;\nPromise$1.all = all;\nPromise$1.race = race;\nPromise$1.resolve = resolve$1;\nPromise$1.reject = reject$1;\nPromise$1._setScheduler = setScheduler;\nPromise$1._setAsap = setAsap;\nPromise$1._asap = asap;\n\n/*global self*/\nfunction polyfill() {\n var local = void 0;\n\n if (typeof global !== 'undefined') {\n local = global;\n } else if (typeof self !== 'undefined') {\n local = self;\n } else {\n try {\n local = Function('return this')();\n } catch (e) {\n throw new Error('polyfill failed because global object is unavailable in this environment');\n }\n }\n\n var P = local.Promise;\n\n if (P) {\n var promiseToString = null;\n try {\n promiseToString = Object.prototype.toString.call(P.resolve());\n } catch (e) {\n // silently ignored\n }\n\n if (promiseToString === '[object Promise]' && !P.cast) {\n return;\n }\n }\n\n local.Promise = Promise$1;\n}\n\n// Strange compat..\nPromise$1.polyfill = polyfill;\nPromise$1.Promise = Promise$1;\n\nreturn Promise$1;\n\n})));\n\n\n\n//# sourceMappingURL=es6-promise.map\n","'use strict';\n\nvar isArray = Array.isArray;\nvar keyList = Object.keys;\nvar hasProp = Object.prototype.hasOwnProperty;\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n var arrA = isArray(a)\n , arrB = isArray(b)\n , i\n , length\n , key;\n\n if (arrA && arrB) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n if (arrA != arrB) return false;\n\n var dateA = a instanceof Date\n , dateB = b instanceof Date;\n if (dateA != dateB) return false;\n if (dateA && dateB) return a.getTime() == b.getTime();\n\n var regexpA = a instanceof RegExp\n , regexpB = b instanceof RegExp;\n if (regexpA != regexpB) return false;\n if (regexpA && regexpB) return a.toString() == b.toString();\n\n var keys = keyList(a);\n length = keys.length;\n\n if (length !== keyList(b).length)\n return false;\n\n for (i = length; i-- !== 0;)\n if (!hasProp.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n key = keys[i];\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n return a!==a && b!==b;\n};\n","exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","/* \r\n * Copyright (c) 2016, Pierre-Anthony Lemieux \r\n * All rights reserved.\r\n *\r\n * Redistribution and use in source and binary forms, with or without\r\n * modification, are permitted provided that the following conditions are met:\r\n *\r\n * * Redistributions of source code must retain the above copyright notice, this\r\n * list of conditions and the following disclaimer.\r\n * * Redistributions in binary form must reproduce the above copyright notice,\r\n * this list of conditions and the following disclaimer in the documentation\r\n * and/or other materials provided with the distribution.\r\n *\r\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\r\n * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r\n * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE\r\n * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\r\n * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\r\n * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\r\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\r\n * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\r\n * POSSIBILITY OF SUCH DAMAGE.\r\n */\r\n\r\n/**\r\n * @module imscDoc\r\n */\r\n\r\n;\r\n(function (imscDoc, sax, imscNames, imscStyles, imscUtils) {\r\n\r\n\r\n /**\r\n * Allows a client to provide callbacks to handle children of the element\r\n * @typedef {Object} MetadataHandler\r\n * @property {?OpenTagCallBack} onOpenTag\r\n * @property {?CloseTagCallBack} onCloseTag\r\n * @property {?TextCallBack} onText\r\n */\r\n\r\n /**\r\n * Called when the opening tag of an element node is encountered.\r\n * @callback OpenTagCallBack\r\n * @param {string} ns Namespace URI of the element\r\n * @param {string} name Local name of the element\r\n * @param {Object[]} attributes List of attributes, each consisting of a\r\n * `uri`, `name` and `value`\r\n */\r\n\r\n /**\r\n * Called when the closing tag of an element node is encountered.\r\n * @callback CloseTagCallBack\r\n */\r\n\r\n /**\r\n * Called when a text node is encountered.\r\n * @callback TextCallBack\r\n * @param {string} contents Contents of the text node\r\n */\r\n\r\n /**\r\n * Parses an IMSC1 document into an opaque in-memory representation that exposes\r\n * a single method
getMediaTimeEvents()
that returns a list of time\r\n * offsets (in seconds) of the ISD, i.e. the points in time where the visual\r\n * representation of the document change. `metadataHandler` allows the caller to\r\n * be called back when nodes are present in elements. \r\n * \r\n * @param {string} xmlstring XML document\r\n * @param {?module:imscUtils.ErrorHandler} errorHandler Error callback\r\n * @param {?MetadataHandler} metadataHandler Callback for elements\r\n * @returns {Object} Opaque in-memory representation of an IMSC1 document\r\n */\r\n\r\n imscDoc.fromXML = function (xmlstring, errorHandler, metadataHandler) {\r\n var p = sax.parser(true, {xmlns: true});\r\n var estack = [];\r\n var xmllangstack = [];\r\n var xmlspacestack = [];\r\n var metadata_depth = 0;\r\n var doc = null;\r\n\r\n p.onclosetag = function (node) {\r\n\r\n if (estack[0] instanceof Styling) {\r\n\r\n /* flatten chained referential styling */\r\n\r\n for (var sid in estack[0].styles) {\r\n\r\n mergeChainedStyles(estack[0], estack[0].styles[sid], errorHandler);\r\n\r\n }\r\n\r\n } else if (estack[0] instanceof P || estack[0] instanceof Span) {\r\n\r\n /* merge anonymous spans */\r\n\r\n if (estack[0].contents.length > 1) {\r\n\r\n var cs = [estack[0].contents[0]];\r\n\r\n var c;\r\n\r\n for (c = 1; c < estack[0].contents.length; c++) {\r\n\r\n if (estack[0].contents[c] instanceof AnonymousSpan &&\r\n cs[cs.length - 1] instanceof AnonymousSpan) {\r\n\r\n cs[cs.length - 1].text += estack[0].contents[c].text;\r\n\r\n } else {\r\n\r\n cs.push(estack[0].contents[c]);\r\n\r\n }\r\n\r\n }\r\n\r\n estack[0].contents = cs;\r\n\r\n }\r\n\r\n // remove redundant nested anonymous spans (9.3.3(1)(c))\r\n\r\n if (estack[0] instanceof Span &&\r\n estack[0].contents.length === 1 &&\r\n estack[0].contents[0] instanceof AnonymousSpan) {\r\n\r\n estack[0].text = estack[0].contents[0].text;\r\n delete estack[0].contents;\r\n\r\n }\r\n\r\n } else if (estack[0] instanceof ForeignElement) {\r\n\r\n if (estack[0].node.uri === imscNames.ns_tt &&\r\n estack[0].node.local === 'metadata') {\r\n\r\n /* leave the metadata element */\r\n\r\n metadata_depth--;\r\n\r\n } else if (metadata_depth > 0 &&\r\n metadataHandler &&\r\n 'onCloseTag' in metadataHandler) {\r\n\r\n /* end of child of metadata element */\r\n\r\n metadataHandler.onCloseTag();\r\n\r\n }\r\n\r\n }\r\n\r\n // TODO: delete stylerefs?\r\n\r\n // maintain the xml:space stack\r\n\r\n xmlspacestack.shift();\r\n\r\n // maintain the xml:lang stack\r\n\r\n xmllangstack.shift();\r\n\r\n // prepare for the next element\r\n\r\n estack.shift();\r\n };\r\n\r\n p.ontext = function (str) {\r\n\r\n if (estack[0] === undefined) {\r\n\r\n /* ignoring text outside of elements */\r\n\r\n } else if (estack[0] instanceof Span || estack[0] instanceof P) {\r\n\r\n /* create an anonymous span */\r\n\r\n var s = new AnonymousSpan();\r\n\r\n s.initFromText(doc, estack[0], str, xmlspacestack[0], errorHandler);\r\n\r\n estack[0].contents.push(s);\r\n\r\n } else if (estack[0] instanceof ForeignElement &&\r\n metadata_depth > 0 &&\r\n metadataHandler &&\r\n 'onText' in metadataHandler) {\r\n\r\n /* text node within a child of metadata element */\r\n\r\n metadataHandler.onText(str);\r\n\r\n }\r\n\r\n };\r\n\r\n\r\n p.onopentag = function (node) {\r\n\r\n // maintain the xml:space stack\r\n\r\n var xmlspace = node.attributes[\"xml:space\"];\r\n\r\n if (xmlspace) {\r\n\r\n xmlspacestack.unshift(xmlspace.value);\r\n\r\n } else {\r\n\r\n if (xmlspacestack.length === 0) {\r\n\r\n xmlspacestack.unshift(\"default\");\r\n\r\n } else {\r\n\r\n xmlspacestack.unshift(xmlspacestack[0]);\r\n\r\n }\r\n\r\n }\r\n\r\n /* maintain the xml:lang stack */\r\n\r\n\r\n var xmllang = node.attributes[\"xml:lang\"];\r\n\r\n if (xmllang) {\r\n\r\n xmllangstack.unshift(xmllang.value);\r\n\r\n } else {\r\n\r\n if (xmllangstack.length === 0) {\r\n\r\n xmllangstack.unshift(\"\");\r\n\r\n } else {\r\n\r\n xmllangstack.unshift(xmllangstack[0]);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n /* process the element */\r\n\r\n if (node.uri === imscNames.ns_tt) {\r\n\r\n if (node.local === 'tt') {\r\n\r\n if (doc !== null) {\r\n\r\n reportFatal(errorHandler, \"Two elements at (\" + this.line + \",\" + this.column + \")\");\r\n\r\n }\r\n\r\n doc = new TT();\r\n\r\n doc.initFromNode(node, errorHandler);\r\n\r\n estack.unshift(doc);\r\n\r\n } else if (node.local === 'head') {\r\n\r\n if (!(estack[0] instanceof TT)) {\r\n reportFatal(errorHandler, \"Parent of element is not at (\" + this.line + \",\" + this.column + \")\");\r\n }\r\n\r\n if (doc.head !== null) {\r\n reportFatal(\"Second element at (\" + this.line + \",\" + this.column + \")\");\r\n }\r\n\r\n doc.head = new Head();\r\n\r\n estack.unshift(doc.head);\r\n\r\n } else if (node.local === 'styling') {\r\n\r\n if (!(estack[0] instanceof Head)) {\r\n reportFatal(errorHandler, \"Parent of element is not at (\" + this.line + \",\" + this.column + \")\");\r\n }\r\n\r\n if (doc.head.styling !== null) {\r\n reportFatal(\"Second element at (\" + this.line + \",\" + this.column + \")\");\r\n }\r\n\r\n doc.head.styling = new Styling();\r\n\r\n estack.unshift(doc.head.styling);\r\n\r\n } else if (node.local === 'style') {\r\n\r\n var s;\r\n\r\n if (estack[0] instanceof Styling) {\r\n\r\n s = new Style();\r\n\r\n s.initFromNode(node, errorHandler);\r\n\r\n /* ignore