@amazon/vinyl 3.2.1 → 3.2.3-next.20261001143710

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/README.md +2 -2
  2. package/dist/index.cjs +98 -43
  3. package/dist/index.cjs.map +3 -3
  4. package/dist/index.js +126 -68
  5. package/dist/index.js.map +3 -3
  6. package/dist/test/benchmark.es5.js +7 -6
  7. package/dist/test/benchmark.js +35 -30
  8. package/dist/test/benchmark.js.map +3 -3
  9. package/dist/test/integ.es5.js +329 -312
  10. package/dist/test/integ.js +519 -187
  11. package/dist/test/integ.js.map +4 -4
  12. package/dist/types/current/ad/AdControllerImpl.d.ts.map +1 -1
  13. package/dist/types/current/ad/AdControllerImpl.js +15 -1
  14. package/dist/types/current/ad/discoverHlsInterstitials.js +13 -1
  15. package/dist/types/current/drm/DrmControllerImpl.d.ts +6 -0
  16. package/dist/types/current/drm/DrmControllerImpl.d.ts.map +1 -1
  17. package/dist/types/current/drm/DrmControllerImpl.js +11 -1
  18. package/dist/types/current/drm/commonEme/MsCommonEme.d.ts.map +1 -1
  19. package/dist/types/current/drm/commonEme/MsCommonEme.js +2 -2
  20. package/dist/types/current/drm/commonEme/StandardCommonEme.d.ts.map +1 -1
  21. package/dist/types/current/drm/commonEme/StandardCommonEme.js +3 -2
  22. package/dist/types/current/drm/commonEme/WebKitCommonEme.d.ts.map +1 -1
  23. package/dist/types/current/drm/commonEme/WebKitCommonEme.js +2 -2
  24. package/dist/types/current/drm/dom/MSMediaKeys.d.ts +1 -1
  25. package/dist/types/current/drm/dom/MSMediaKeys.d.ts.map +1 -1
  26. package/dist/types/current/drm/dom/WebKitMediaKeys.d.ts +1 -1
  27. package/dist/types/current/drm/dom/WebKitMediaKeys.d.ts.map +1 -1
  28. package/dist/types/current/drm/util/extractContentId.js +2 -2
  29. package/dist/types/current/playback/PlaybackControllerImpl.d.ts +9 -3
  30. package/dist/types/current/playback/PlaybackControllerImpl.d.ts.map +1 -1
  31. package/dist/types/current/playback/PlaybackControllerImpl.js +38 -33
  32. package/dist/types/current/streaming/MediaQualityMetadata.d.ts +3 -1
  33. package/dist/types/current/streaming/MediaQualityMetadata.d.ts.map +1 -1
  34. package/dist/types/current/streaming/SegmentControllerImpl.d.ts +1 -1
  35. package/dist/types/current/streaming/buffering/BufferingController.d.ts +1 -1
  36. package/dist/types/current/streaming/buffering/BufferingController.d.ts.map +1 -1
  37. package/dist/types/current/streaming/buffering/BufferingController.js +14 -5
  38. package/dist/types/current/streaming/buffering/MediaSourceController.d.ts.map +1 -1
  39. package/dist/types/current/streaming/buffering/MediaSourceController.js +4 -0
  40. package/dist/types/current/text/discoverDashTextTracks.d.ts +2 -2
  41. package/dist/types/current/text/discoverDashTextTracks.js +4 -3
  42. package/dist/types/current/text/parseWebVtt.d.ts.map +1 -1
  43. package/dist/types/current/text/parseWebVtt.js +3 -2
  44. package/dist/types/current/track/TrackController.d.ts.map +1 -1
  45. package/dist/types/current/track/TrackController.js +7 -0
  46. package/dist/types/current/track/hls/HlsManifestData.d.ts +14 -1
  47. package/dist/types/current/track/hls/HlsManifestData.d.ts.map +1 -1
  48. package/dist/types/current/track/hls/buildHlsMediaTimeline.d.ts.map +1 -1
  49. package/dist/types/current/track/hls/buildHlsMediaTimeline.js +10 -2
  50. package/dist/types/current/track/hls/createUrlHlsManifestProvider.d.ts +3 -2
  51. package/dist/types/current/track/hls/createUrlHlsManifestProvider.d.ts.map +1 -1
  52. package/dist/types/current/track/hls/createUrlHlsManifestProvider.js +8 -3
  53. package/dist/types/current/track/mse/MseTrack.d.ts +0 -1
  54. package/dist/types/current/track/mse/MseTrack.d.ts.map +1 -1
  55. package/dist/types/current/track/mse/MseTrack.js +5 -6
  56. package/dist/types/current/tsconfig.tsbuildinfo +1 -1
  57. package/dist/types/ts3.7/drm/DrmControllerImpl.d.ts +6 -0
  58. package/dist/types/ts3.7/playback/PlaybackControllerImpl.d.ts +9 -3
  59. package/dist/types/ts3.7/streaming/MediaQualityMetadata.d.ts +3 -1
  60. package/dist/types/ts3.7/streaming/SegmentControllerImpl.d.ts +1 -1
  61. package/dist/types/ts3.7/streaming/buffering/BufferingController.d.ts +1 -1
  62. package/dist/types/ts3.7/text/discoverDashTextTracks.d.ts +2 -2
  63. package/dist/types/ts3.7/track/hls/HlsManifestData.d.ts +14 -1
  64. package/dist/types/ts3.7/track/hls/createUrlHlsManifestProvider.d.ts +3 -2
  65. package/dist/types/ts3.7/track/mse/MseTrack.d.ts +0 -1
  66. package/dist/types/ts4.1/drm/DrmControllerImpl.d.ts +6 -0
  67. package/dist/types/ts4.1/playback/PlaybackControllerImpl.d.ts +9 -3
  68. package/dist/types/ts4.1/streaming/MediaQualityMetadata.d.ts +3 -1
  69. package/dist/types/ts4.1/streaming/SegmentControllerImpl.d.ts +1 -1
  70. package/dist/types/ts4.1/streaming/buffering/BufferingController.d.ts +1 -1
  71. package/dist/types/ts4.1/text/discoverDashTextTracks.d.ts +2 -2
  72. package/dist/types/ts4.1/track/hls/HlsManifestData.d.ts +14 -1
  73. package/dist/types/ts4.1/track/hls/createUrlHlsManifestProvider.d.ts +3 -2
  74. package/dist/types/ts4.1/track/mse/MseTrack.d.ts +0 -1
  75. package/dist/types/ts4.7/drm/DrmControllerImpl.d.ts +6 -0
  76. package/dist/types/ts4.7/playback/PlaybackControllerImpl.d.ts +9 -3
  77. package/dist/types/ts4.7/streaming/MediaQualityMetadata.d.ts +3 -1
  78. package/dist/types/ts4.7/streaming/SegmentControllerImpl.d.ts +1 -1
  79. package/dist/types/ts4.7/streaming/buffering/BufferingController.d.ts +1 -1
  80. package/dist/types/ts4.7/text/discoverDashTextTracks.d.ts +2 -2
  81. package/dist/types/ts4.7/track/hls/HlsManifestData.d.ts +14 -1
  82. package/dist/types/ts4.7/track/hls/createUrlHlsManifestProvider.d.ts +3 -2
  83. package/dist/types/ts4.7/track/mse/MseTrack.d.ts +0 -1
  84. package/dist/unit/types/current/ad/AdControllerImpl.test.js +66 -0
  85. package/dist/unit/types/current/ad/discoverHlsInterstitials.test.js +29 -2
  86. package/dist/unit/types/current/drm/DrmControllerImpl.test.js +19 -1
  87. package/dist/unit/types/current/drm/commonEme/StandardCommonEme.test.js +12 -4
  88. package/dist/unit/types/current/drm/util/extractContentId.test.js +7 -0
  89. package/dist/unit/types/current/index.d.ts +1 -0
  90. package/dist/unit/types/current/index.d.ts.map +1 -1
  91. package/dist/unit/types/current/index.js +1 -0
  92. package/dist/unit/types/current/playback/PlaybackControllerImpl.test.js +15 -0
  93. package/dist/unit/types/current/streaming/MediaQualityMetadata.test.js +8 -0
  94. package/dist/unit/types/current/streaming/MseTrack.test.js +15 -0
  95. package/dist/unit/types/current/streaming/buffering/BufferingController.test.js +26 -0
  96. package/dist/unit/types/current/streaming/buffering/MediaSourceController.test.js +29 -0
  97. package/dist/unit/types/current/text/TextTrack.test.d.ts +2 -0
  98. package/dist/unit/types/current/text/TextTrack.test.d.ts.map +1 -0
  99. package/dist/unit/types/current/text/TextTrack.test.js +12 -0
  100. package/dist/unit/types/current/text/discoverDashTextTracks.test.js +17 -0
  101. package/dist/unit/types/current/text/parseWebVtt.test.js +26 -0
  102. package/dist/unit/types/current/track/TrackController.test.js +15 -60
  103. package/dist/unit/types/current/track/hls/buildHlsMediaTimeline.test.js +22 -0
  104. package/dist/unit/types/current/track/hls/createUrlHlsManifestProvider.test.js +23 -0
  105. package/dist/unit/types/current/tsconfig.tsbuildinfo +1 -1
  106. package/dist/vinylTestUtil/types/current/tsconfig.tsbuildinfo +1 -1
  107. package/docs/CUSTOMIZATION_GUIDE.md +310 -0
  108. package/package.json +10 -10
  109. package/docs/DASH_MANIFEST_TRANSFORM_GUIDE.md +0 -236
@@ -183,7 +183,8 @@ var LruCache=/*#__PURE__*/function(){function LruCache(initialCapacity){_classCa
183
183
  */},{key:"clear",value:function clear(){this.list.clear();this.cache.clear()}/**
184
184
  * @returns true if an element in the Map existed and has been removed, or false if the element does not exist.
185
185
  */},{key:"delete",value:function _delete(key){if(!this.has(key))return false;var node=this.cache.get(key);this.cache["delete"](key);this.list.remove(node);return true}/**
186
- * Executes a provided function once per each key/value pair in the Map, in insertion order.
186
+ * Executes a provided function once per each key/value pair in the Map,
187
+ * ordered from least recently used to most.
187
188
  *
188
189
  * @param callback A callback to invoke for every element in the cache.
189
190
  * @param thisArg Value to use as this when executing callback
@@ -196,11 +197,11 @@ var LruCache=/*#__PURE__*/function(){function LruCache(initialCapacity){_classCa
196
197
  * Returns an iterable of values in the map. This will be ordered from least recently used to
197
198
  * most.
198
199
  */},{key:"values",value:function values(){return mapIter(this.list,function(_ref5){var _ref6=_slicedToArray(_ref5,2),value=_ref6[1];return value})}},{key:Symbol.iterator,value:function value(){return this.list[Symbol.iterator]()}},{key:Symbol.toStringTag,get:function get(){return"LruCache"}}])}();// ../vinyl-util/src/util/fun/memoize.ts
199
- function memoize(inner,keyProvider){var capacity=arguments.length>2&&arguments[2]!==undefined?arguments[2]:500;if(!keyProvider){var cached=false;var value=void 0;var memoized=function memoized(){if(!cached){cached=true;value=inner()}return value};return Object.assign(memoized,{clear:function clear(){cached=false;value=void 0}})}else if(capacity===0){var _memoized=function _memoized(){return inner.apply(void 0,arguments)};return Object.assign(_memoized,{clear:function clear(){}})}else if(capacity===1){var hasValue=false;var cachedKey;var cachedValue;var _memoized2=function _memoized2(){var key=keyProvider.apply(void 0,arguments);if(!hasValue||cachedKey!==key){hasValue=true;cachedKey=key;cachedValue=inner.apply(void 0,arguments)}return cachedValue};return Object.assign(_memoized2,{clear:function clear(){hasValue=false}})}else{var cache=new LruCache(capacity);var _memoized3=function _memoized3(){for(var _len2=arguments.length,args=new Array(_len2),_key2=0;_key2<_len2;_key2++){args[_key2]=arguments[_key2]}var key=keyProvider.apply(void 0,args);return getOrSet(cache,key,function(){return inner.apply(void 0,args)})};return Object.assign(_memoized3,{clear:function clear(){cache.clear()}})}}// ../vinyl-util/src/util/string/string.ts
200
+ function memoize(inner,keyProvider){var capacity=arguments.length>2&&arguments[2]!==undefined?arguments[2]:500;if(!keyProvider){var cached=false;var value=void 0;var memoized=function memoized(){if(!cached){value=inner();cached=true}return value};return Object.assign(memoized,{clear:function clear(){cached=false;value=void 0}})}else if(capacity===0){var _memoized=function _memoized(){return inner.apply(void 0,arguments)};return Object.assign(_memoized,{clear:function clear(){}})}else if(capacity===1){var hasValue=false;var cachedKey;var cachedValue;var _memoized2=function _memoized2(){var key=keyProvider.apply(void 0,arguments);if(!hasValue||cachedKey!==key){cachedValue=inner.apply(void 0,arguments);cachedKey=key;hasValue=true}return cachedValue};return Object.assign(_memoized2,{clear:function clear(){hasValue=false}})}else{var cache=new LruCache(capacity);var _memoized3=function _memoized3(){for(var _len2=arguments.length,args=new Array(_len2),_key2=0;_key2<_len2;_key2++){args[_key2]=arguments[_key2]}var key=keyProvider.apply(void 0,args);return getOrSet(cache,key,function(){return inner.apply(void 0,args)})};return Object.assign(_memoized3,{clear:function clear(){cache.clear()}})}}// ../vinyl-util/src/util/string/string.ts
200
201
  var locale={variableNotDefined:"Variable '{name}' is not defined"};var DEFAULT_SUBSTITUTE_PATTERN=/\{(\w+)}/g;function substitute(str,variables){var pattern=arguments.length>2&&arguments[2]!==undefined?arguments[2]:DEFAULT_SUBSTITUTE_PATTERN;return str.replace(pattern,function(_,name){if(!(name in variables)){throw new IllegalArgumentError(locale.variableNotDefined.replace("{name}",String(name)))}return String(variables[name])})}function isWhitespaceChar(charCode){return charCode===32||// ' ' (space)
201
202
  charCode===9||// '\t' (tab)
202
203
  charCode===13||// '\r' (carriage return)
203
- charCode===10}var encodedEntitiesRegex=/&(#(\d+)|\w+);/gi;var predefinedDecodeEntities=/* @__PURE__ */new Map([["apos","'"],["amp","&"],["lt","<"],["gt",">"],["quot","\""]]);function decodeEntities(str){var namedEntities=arguments.length>1&&arguments[1]!==undefined?arguments[1]:predefinedDecodeEntities;if(encodedEntitiesRegex.test(str)){return str.replace(encodedEntitiesRegex,function(substring,entityName,codePoint){if(codePoint!==void 0)return String.fromCharCode(parseInt(codePoint));var entityValue=namedEntities.get(entityName.toLowerCase());if(!entityValue)return substring;return entityValue})}else{return str}}var standardEntityValueToNames=flipMap(predefinedDecodeEntities);function eqStr(a,b){var ignoreCase=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;if(a==null&&b==null)return true;if(a==null||b==null)return false;if(a===b)return true;if(ignoreCase)return a.length===b.length&&a.toLowerCase()===b.toLowerCase();return false}function _char(str){return str.charCodeAt(0)}function truncate(str,maxLength){var indicator=arguments.length>2&&arguments[2]!==undefined?arguments[2]:"\u2026";if(str==null)return str;if(str.length>maxLength)return str.substring(0,maxLength-indicator.length)+indicator;return str}// ../vinyl-util/src/util/serialization/primitives.ts
204
+ charCode===10}var encodedEntitiesRegex=/&(?:#(?:x([\da-f]+)|(\d+))|(\w+));/gi;var MAX_CODE_POINT=1114111;var predefinedDecodeEntities=/* @__PURE__ */new Map([["apos","'"],["amp","&"],["lt","<"],["gt",">"],["quot","\""]]);function decodeEntities(str){var namedEntities=arguments.length>1&&arguments[1]!==undefined?arguments[1]:predefinedDecodeEntities;return str.replace(encodedEntitiesRegex,function(substring,hex,decimal,entityName){var _a3;if(hex==null&&decimal==null){return(_a3=namedEntities.get(entityName.toLowerCase()))!=null?_a3:substring}var codePoint=hex!=null?parseInt(hex,16):parseInt(decimal,10);if(codePoint>MAX_CODE_POINT||isSurrogate(codePoint))return substring;return String.fromCodePoint(codePoint)})}function isSurrogate(codePoint){return codePoint>=55296&&codePoint<=57343}var standardEntityValueToNames=flipMap(predefinedDecodeEntities);function eqStr(a,b){var ignoreCase=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;if(a==null&&b==null)return true;if(a==null||b==null)return false;if(a===b)return true;if(ignoreCase)return a.length===b.length&&a.toLowerCase()===b.toLowerCase();return false}function _char(str){return str.charCodeAt(0)}function truncate(str,maxLength){var indicator=arguments.length>2&&arguments[2]!==undefined?arguments[2]:"\u2026";if(str==null)return str;if(str.length>maxLength)return str.substring(0,maxLength-indicator.length)+indicator;return str}// ../vinyl-util/src/util/serialization/primitives.ts
204
205
  function parseBoolean(str){return str==="true"||str==="1"}function stringify(value){if(value===null)return"null";if(value===void 0)return"undefined";return value.toString()}function parseIntSafe(str,radix){if(!str)return null;var value=parseInt(str,radix);if(!Number.isFinite(value))return null;return value}// ../vinyl-util/src/core/disposable.ts
205
206
  function isDisposable(value){return value!=null&&typeof value.dispose==="function"&&value.dispose.length===0}var DisposedError=/*#__PURE__*/function(_IllegalStateError2){function _DisposedError(){var _this6;var message=arguments.length>0&&arguments[0]!==undefined?arguments[0]:"Instance is disposed";_classCallCheck(this,_DisposedError);_this6=_callSuper(this,_DisposedError,[message]);Object.setPrototypeOf(_this6,_DisposedError.prototype);return _this6}_inherits(_DisposedError,_IllegalStateError2);return _createClass(_DisposedError,[{key:Symbol.toStringTag,get:function get(){return"DisposedError"}}])}(IllegalStateError);// ../vinyl-util/src/global/globalRegistry.ts
206
207
  var GlobalRegistry=/*#__PURE__*/function(){function GlobalRegistry(){_classCallCheck(this,GlobalRegistry);__publicField(this,"registry",[])}/**
@@ -366,7 +367,7 @@ var MockAbortSignal=/*#__PURE__*/_createClass(function MockAbortSignal(){_classC
366
367
  var MockMediaSourceGlobal=/*#__PURE__*/function(_MockMediaSource){function MockMediaSourceGlobal(){_classCallCheck(this,MockMediaSourceGlobal);return _callSuper(this,MockMediaSourceGlobal,arguments)}_inherits(MockMediaSourceGlobal,_MockMediaSource);return _createClass(MockMediaSourceGlobal)}(MockMediaSource);__publicField(MockMediaSourceGlobal,"canConstructInDedicatedWorker",false);__publicField(MockMediaSourceGlobal,"isTypeSupported",createSpy2("isTypeSupported"));var MockAbortSignalGlobal=/*#__PURE__*/function(_MockAbortSignal){function MockAbortSignalGlobal(){_classCallCheck(this,MockAbortSignalGlobal);return _callSuper(this,MockAbortSignalGlobal,arguments)}_inherits(MockAbortSignalGlobal,_MockAbortSignal);return _createClass(MockAbortSignalGlobal)}(MockAbortSignal);__publicField(MockAbortSignalGlobal,"abort",createSpy2("abort"));__publicField(MockAbortSignalGlobal,"any",createSpy2("any"));__publicField(MockAbortSignalGlobal,"timeout",createSpy2("timeout"));// test/benchmark/setup.ts
367
368
  function setupBenchmark(){setTestTimeout(180);afterEach(expectNothing)}var comparisons=[];function addComparison(comparison){comparisons.push(comparison)}function addBenchmarks(name){for(var _len6=arguments.length,results=new Array(_len6>1?_len6-1:0),_key6=1;_key6<_len6;_key6++){results[_key6-1]=arguments[_key6]}var comparison=compareResults.apply(void 0,[name].concat(results));comparison.logToTable();comparisons.push(comparison)}if(typeof document!=="undefined"){jasmine.getEnv().addReporter({jasmineDone:function jasmineDone(){var _a3;console.log("Tests complete");var jasmineContainer=document.getElementsByClassName("jasmine_html-reporter")[0];(_a3=jasmineContainer.parentElement)==null?void 0:_a3.removeChild(jasmineContainer);var container=createEl("div",document.body);container.id="benchmarkResults";var sortedComparisons=[].concat(comparisons).sort(function(a,b){return a.name>b.name?1:-1});var _iterator10=_createForOfIteratorHelper(sortedComparisons),_step10;try{for(_iterator10.s();!(_step10=_iterator10.n()).done;){var comparison=_step10.value;toTableHtml(comparison,container)}}catch(err){_iterator10.e(err)}finally{_iterator10.f()}}})}function toTableHtml(comparison,parent){var container=createEl("div",parent);container.className="benchmarkComparison";var title=createEl("h2",container);title.innerText=comparison.name;var table=createEl("table",container);var head=createEl("thead",table);var headRow=createEl("tr",head);var name=createEl("th",headRow);name.innerText="Name";var median=createEl("th",headRow);median.innerText="Mean ops/s";var samples=createEl("th",headRow);samples.innerText="Samples";var compare=createEl("th",headRow);compare.innerText="% Comparison";var body=createEl("tbody",table);comparison.results.forEach(function(result){var row=createEl("tr",body);createEl("th",row).innerText=result.name;createEl("td",row).innerText=result.meanOpsStr;createEl("td",row).innerText=result.totalSamples.toLocaleString();createEl("td",row).innerText=comparison.runComparisonToString(result)});return container}function createEl(tagName,parent,options){var element2=document.createElement(tagName,options);if(parent)parent.appendChild(element2);return element2}// test/benchmark/logging/Logging.bench.ts
368
369
  describe("Logging",function(){setupBenchmark();it("logDebug",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(){var target,results;return _regenerator().w(function(_context4){while(1)switch(_context4.n){case 0:target={logPrefix:"path"};_context4.n=1;return benchmark("logDebug",function(){logDebug(target,{requestInfo:{fetchId:"lgn9lrwaid8o3utd5r",init:{method:"POST",headers:{"Content-Encoding":"amz-1.0","Content-Type":"application/json","X-Amz-Target":"com.amazon.digitalmusiclocator.DigitalMusicLocatorServiceExternal.getStreamingURLs"},body:"{\"contentIdList\":[{\"identifier\":\"d9e4e337-97ba-41a9-9f31-84a8bf99f1dc\",\"identifierType\":\"COID\"}],\"bitRate\":\"HIGH\",\"deviceToken\":{\"deviceId\":\"lg4msezd1e355heuc5b\",\"deviceTypeId\":\"A16ZV8BU3SN1N3\"},\"appMetadata\":{\"appId\":\"WebCP\",\"https\":true,\"appVersion\":\"1.0.0\"},\"clientMetadata\":{\"clientId\":\"WebCP\",\"clientRequestId\":\"lgn9lrw623mgvi7k3et\"}}",signal:"[object AbortSignal]"},input:"https://example.com/bar/",maxRetries:1,timestamp:/* @__PURE__ */new Date("2023-04-19T05:40:17.914Z"),fetchOptions:{serviceId:null,readErrorBody:1}},attemptInfo:{currentTry:1,timestamp:/* @__PURE__ */new Date("2023-04-19T05:40:17.914Z")},target:"[object FetchProviderImpl]"})});case 1:results=_context4.v;addBenchmarks("logDebug",results);case 2:return _context4.a(2)}},_callee4)})))});// ../vinyl-mpd-parser/src/duration/duration.ts
369
- var I=60;var H=3600;var D=86400;var M=2592e3;var Y=31536e3;var iso8601Duration=/^(-?)P?(\d+(?:\.\d*)?Y)?(\d+(?:\.\d*)?M)?(\d+(?:\.\d*)?D)?T?(\d+(?:\.\d*)?H)?(\d+(?:\.\d*)?M)?(\d+(?:\.\d*)?S?)?$/i;function parseDuration(value){var match=iso8601Duration.exec(value);if(match==null)throw new ValidationError("Unexpected duration: '".concat(value,"', should be in iso 8601 format"),ErrorOrigin.PARSING);var sign=match[1]==="-"?-1:1;return sign*(parseFloat(match[2]||"0")*Y+parseFloat(match[3]||"0")*M+parseFloat(match[4]||"0")*D+parseFloat(match[5]||"0")*H+parseFloat(match[6]||"0")*I+parseFloat(match[7]||"0"))}function stringifyDuration(value){var sign=value<0?"-":"";var abs=Math.abs(value);var years=Math.floor(abs/Y);abs-=years*Y;var months=Math.floor(abs%Y/M);var days=Math.floor(abs%M/D);var hours=Math.floor(abs%D/H);var minutes=Math.floor(abs%H/I);var seconds=abs%I;var isoString="".concat(sign,"P");if(years>0)isoString+="".concat(years,"Y");if(months>0)isoString+="".concat(months,"M");if(days>0)isoString+="".concat(days,"D");isoString+="T";if(hours>0)isoString+="".concat(hours,"H");if(minutes>0)isoString+="".concat(minutes,"M");if(seconds>0||!value)isoString+="".concat(roundToNearest(seconds,1e-3),"S");return isoString}// ../vinyl-mpd-parser/src/error/parsingError.ts
370
+ var I=60;var H=3600;var D=86400;var M=2592e3;var Y=31536e3;var iso8601Duration=/^(-?)P?(\d+(?:\.\d*)?Y)?(\d+(?:\.\d*)?M)?(\d+(?:\.\d*)?D)?T?(\d+(?:\.\d*)?H)?(\d+(?:\.\d*)?M)?(\d+(?:\.\d*)?S?)?$/i;function parseDuration(value){var match=iso8601Duration.exec(value);if(match==null)throw new ValidationError("Unexpected duration: '".concat(value,"', should be in iso 8601 format"),ErrorOrigin.PARSING);var sign=match[1]==="-"?-1:1;return sign*(parseFloat(match[2]||"0")*Y+parseFloat(match[3]||"0")*M+parseFloat(match[4]||"0")*D+parseFloat(match[5]||"0")*H+parseFloat(match[6]||"0")*I+parseFloat(match[7]||"0"))}function stringifyDuration(value){var sign=value<0?"-":"";var abs=Math.abs(value);var years=Math.floor(abs/Y);abs-=years*Y;var months=Math.floor(abs/M);var days=Math.floor(abs%M/D);var hours=Math.floor(abs%D/H);var minutes=Math.floor(abs%H/I);var seconds=abs%I;var date="";if(years>0)date+="".concat(years,"Y");if(months>0)date+="".concat(months,"M");if(days>0)date+="".concat(days,"D");var time="";if(hours>0)time+="".concat(hours,"H");if(minutes>0)time+="".concat(minutes,"M");if(seconds>0)time+="".concat(roundToNearest(seconds,1e-3),"S");if(!date&&!time)time="0S";return"".concat(sign,"P").concat(date).concat(time&&"T".concat(time))}// ../vinyl-mpd-parser/src/error/parsingError.ts
370
371
  function throwParsingError(message){throw new ValidationError(message,ErrorOrigin.PARSING)}// ../vinyl-validation/src/validation/Validator.ts
371
372
  var validatorLocale={/**
372
373
  * The expectation template string with the following replacement tokens:
@@ -510,7 +511,7 @@ var locale9={gte:"at least {value}",gt:"greater than {value}",lte:"at most {valu
510
511
  */},{key:"finite",value:function finite(){return this.chain(numberValidators.finite())}/**
511
512
  * Creates a validator that asserts that the input number is a safe integer.
512
513
  */},{key:"safeInteger",value:function safeInteger(){return this.chain(numberValidators.safeInteger())}}],[{key:"base",get:/**
513
- * The base Object validator validating that the input is an object.
514
+ * The base NumberSchema instance validating that the input is a number.
514
515
  */function get(){if(this._base==null)this._base=new _NumberSchema(typeOfValidators.number);return this._base}}])}(ValueSchema);__publicField(_NumberSchema,"_base",null);var NumberSchema=_NumberSchema;// ../vinyl-validation/src/validation/validators.ts
515
516
  var locale10={isOneOf:"one of: {value}",instanceOf:"instance of {value}",oneOfSeparator:" | "};function isOneOf(){for(var _len0=arguments.length,possibleValues=new Array(_len0),_key0=0;_key0<_len0;_key0++){possibleValues[_key0]=arguments[_key0]}return new ValueSchema(createValidator(substitute(locale10.isOneOf,{value:possibleValues.join(locale10.oneOfSeparator)}),function(input){return possibleValues.includes(input)},void 0,{"enum":[].concat(possibleValues)}))}function number(){return NumberSchema.base}// ../vinyl-xml/src/xlink/actuateValidator.ts
516
517
  var actuateValidator=isOneOf("onLoad","onRequest");function assertActuateEnum(str){actuateValidator.assert(str,ErrorOrigin.PARSING);return str}// ../vinyl-xml/src/xml/xmlRules.ts
@@ -531,7 +532,7 @@ var PLAY_READY_NAMESPACE_URI="urn:microsoft:playready";// ../vinyl-mpd-parser/sr
531
532
  var playreadyXmlRules={pro:element({_content:charactersString},{namespaceUri:PLAY_READY_NAMESPACE_URI})};// ../vinyl-mpd-parser/src/manifest/dashParser.ts
532
533
  var dashDrmRules=mergeXmlRules(dashManifestXmlRules(),createDashProtectionXmlRules(cencXmlRules),createDashProtectionXmlRules(playreadyXmlRules));var dashDrmRulesMapped=mapXmlRules(dashDrmRules);function dashManifestHandler(){return new ParseXmlHandlerImpl(dashDrmRulesMapped)}function parseDashManifest(manifest){return parseXml(manifest,dashManifestHandler())}// test/vinylTestUtil/assets/dash_segmentListMediaRange.ts
533
534
  var dash_segmentListMediaRange="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<MPD minBufferTime=\"PT2S\" type=\"static\" mediaPresentationDuration=\"PT400.0133056640625S\" profiles=\"urn:mpeg:dash:profile:isoff-on-demand:2011\" xmlns=\"urn:mpeg:dash:schema:mpd:2011\" xmlns:amz-music=\"urn:amazon:music:drm:2019\" xmlns:cenc=\"urn:mpeg:cenc:2013\" xmlns:mspr=\"urn:microsoft:playready\">\n <Period id=\"0\">\n <AdaptationSet id=\"1\" contentType=\"audio\" selectionPriority=\"2000\">\n <ContentProtection schemeIdUri=\"urn:mpeg:dash:mp4protection:2011\" cenc:default_KID=\"53443d2c-a548-037d-dfca-b6873a3b16a7\" value=\"cenc\"/>\n <ContentProtection schemeIdUri=\"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed\">\n <cenc:pssh>AAAAXXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAD0SEFNEPSylSAN938q2hzo7FqcaC0FtYXpvbk11c2ljIhxjaWQ6VTBROUxLVklBMzNmeXJhSE9qc1dwdz09</cenc:pssh>\n </ContentProtection>\n <SupplementalProperty schemeIdUri=\"urn:mpeg:mpegB:cicp:ProgramLoudness\" value=\"-13.5 LUFS\"/>\n <SupplementalProperty schemeIdUri=\"amz-music:trackType\" value=\"HD\"/>\n <SupplementalProperty schemeIdUri=\"urn:mpeg:dash:adaptation-set-switching:2016\" value=\"2\"/>\n <SupplementalProperty schemeIdUri=\"urn:mpeg:mpegB:cicp:AnchorLoudness\" value=\"-11.7 LUFS\"/>\n <Representation id=\"1\" qualityRanking=\"4\" codecs=\"flac\" audioSamplingRate=\"44100\" bandwidth=\"1021104\" mimeType=\"audio/mp4\">\n <AudioChannelConfiguration schemeIdUri=\"urn:mpeg:dash:23003:3:audio_channel_configuration:2011\" value=\"2\"/>\n <SupplementalProperty schemeIdUri=\"amz-music:bitDepth\" value=\"16\"/>\n <BaseURL>https://d17vo8z6jop21h.cloudfront.net/94bd1ece-d200000391583662/a3ce7553-e9a3-3ca6-8fda-8f354b8cee0f.mp4?r=2e86bfd7-93aa-48a0-9d32-7bee6d2897a4&amp;rs=NA&amp;mt=US&amp;ql=HD_44&amp;dtype=A16ZV8BU3SN1N3</BaseURL>\n <SegmentList timescale=\"44100\" duration=\"441000\">\n <Initialization range=\"0-1067\"/>\n <SegmentURL mediaRange=\"1580-1124387\"/>\n <SegmentURL mediaRange=\"1124388-2301681\"/>\n <SegmentURL mediaRange=\"2301682-3413884\"/>\n <SegmentURL mediaRange=\"3413885-4563668\"/>\n <SegmentURL mediaRange=\"4563669-5789595\"/>\n <SegmentURL mediaRange=\"5789596-7027203\"/>\n <SegmentURL mediaRange=\"7027204-8258589\"/>\n <SegmentURL mediaRange=\"8258590-9476689\"/>\n <SegmentURL mediaRange=\"9476690-10663879\"/>\n <SegmentURL mediaRange=\"10663880-11801656\"/>\n <SegmentURL mediaRange=\"11801657-13028295\"/>\n <SegmentURL mediaRange=\"13028296-14259035\"/>\n <SegmentURL mediaRange=\"14259036-15501034\"/>\n <SegmentURL mediaRange=\"15501035-16715074\"/>\n <SegmentURL mediaRange=\"16715075-17945696\"/>\n <SegmentURL mediaRange=\"17945697-19181760\"/>\n <SegmentURL mediaRange=\"19181761-20430664\"/>\n <SegmentURL mediaRange=\"20430665-21668186\"/>\n <SegmentURL mediaRange=\"21668187-22889588\"/>\n <SegmentURL mediaRange=\"22889589-24105876\"/>\n <SegmentURL mediaRange=\"24105877-25286931\"/>\n <SegmentURL mediaRange=\"25286932-26474293\"/>\n <SegmentURL mediaRange=\"26474294-27717336\"/>\n <SegmentURL mediaRange=\"27717337-28944000\"/>\n <SegmentURL mediaRange=\"28944001-30217943\"/>\n <SegmentURL mediaRange=\"30217944-31494322\"/>\n <SegmentURL mediaRange=\"31494323-32753722\"/>\n <SegmentURL mediaRange=\"32753723-33819438\"/>\n <SegmentURL mediaRange=\"33819439-34871800\"/>\n <SegmentURL mediaRange=\"34871801-35987451\"/>\n <SegmentURL mediaRange=\"35987452-37198633\"/>\n <SegmentURL mediaRange=\"37198634-38400513\"/>\n <SegmentURL mediaRange=\"38400514-39590378\"/>\n <SegmentURL mediaRange=\"39590379-40775418\"/>\n <SegmentURL mediaRange=\"40775419-42023162\"/>\n <SegmentURL mediaRange=\"42023163-43262782\"/>\n <SegmentURL mediaRange=\"43262783-44466388\"/>\n <SegmentURL mediaRange=\"44466389-45664349\"/>\n <SegmentURL mediaRange=\"45664350-46838625\"/>\n <SegmentURL mediaRange=\"46838626-47421889\"/>\n </SegmentList>\n </Representation>\n <Representation id=\"2\" qualityRanking=\"3\" codecs=\"flac\" audioSamplingRate=\"48000\" bandwidth=\"1855801\" mimeType=\"audio/mp4\">\n <AudioChannelConfiguration schemeIdUri=\"urn:mpeg:dash:23003:3:audio_channel_configuration:2011\" value=\"2\"/>\n <SupplementalProperty schemeIdUri=\"amz-music:bitDepth\" value=\"24\"/>\n <BaseURL>https://d17vo8z6jop21h.cloudfront.net/94bd1ece-d200000391583662/f5b706c9-5892-3a17-9d01-4da362cfad35.mp4?r=2e86bfd7-93aa-48a0-9d32-7bee6d2897a4&amp;rs=NA&amp;mt=US&amp;ql=UHD_48&amp;dtype=A16ZV8BU3SN1N3</BaseURL>\n <SegmentList timescale=\"48000\" duration=\"480000\">\n <Initialization range=\"0-1067\"/>\n <SegmentURL mediaRange=\"1580-2140301\"/>\n <SegmentURL mediaRange=\"2140302-4352961\"/>\n <SegmentURL mediaRange=\"4352962-6499834\"/>\n <SegmentURL mediaRange=\"6499835-8687556\"/>\n <SegmentURL mediaRange=\"8687557-10955471\"/>\n <SegmentURL mediaRange=\"10955472-13235819\"/>\n <SegmentURL mediaRange=\"13235820-15509496\"/>\n <SegmentURL mediaRange=\"15509497-17768731\"/>\n <SegmentURL mediaRange=\"17768732-19993372\"/>\n <SegmentURL mediaRange=\"19993373-22167125\"/>\n <SegmentURL mediaRange=\"22167126-24434254\"/>\n <SegmentURL mediaRange=\"24434255-26706557\"/>\n <SegmentURL mediaRange=\"26706558-28990196\"/>\n <SegmentURL mediaRange=\"28990197-31245239\"/>\n <SegmentURL mediaRange=\"31245240-33516976\"/>\n <SegmentURL mediaRange=\"33516977-35793411\"/>\n <SegmentURL mediaRange=\"35793412-38083225\"/>\n <SegmentURL mediaRange=\"38083226-40361780\"/>\n <SegmentURL mediaRange=\"40361781-42623154\"/>\n <SegmentURL mediaRange=\"42623155-44879987\"/>\n <SegmentURL mediaRange=\"44879988-47098315\"/>\n <SegmentURL mediaRange=\"47098316-49322904\"/>\n <SegmentURL mediaRange=\"49322905-51607367\"/>\n <SegmentURL mediaRange=\"51607368-53874862\"/>\n <SegmentURL mediaRange=\"53874863-56192866\"/>\n <SegmentURL mediaRange=\"56192867-58512617\"/>\n <SegmentURL mediaRange=\"58512618-60815181\"/>\n <SegmentURL mediaRange=\"60815182-62914181\"/>\n <SegmentURL mediaRange=\"62914182-65000611\"/>\n <SegmentURL mediaRange=\"65000612-67150839\"/>\n <SegmentURL mediaRange=\"67150840-69402495\"/>\n <SegmentURL mediaRange=\"69402496-71643660\"/>\n <SegmentURL mediaRange=\"71643661-73870974\"/>\n <SegmentURL mediaRange=\"73870975-76093618\"/>\n <SegmentURL mediaRange=\"76093619-78383457\"/>\n <SegmentURL mediaRange=\"78383458-80665083\"/>\n <SegmentURL mediaRange=\"80665084-82909593\"/>\n <SegmentURL mediaRange=\"82909594-85145972\"/>\n <SegmentURL mediaRange=\"85145973-87356513\"/>\n <SegmentURL mediaRange=\"87356514-88804457\"/>\n </SegmentList>\n </Representation>\n <Representation id=\"3\" qualityRanking=\"2\" codecs=\"flac\" audioSamplingRate=\"96000\" bandwidth=\"3278164\" mimeType=\"audio/mp4\">\n <AudioChannelConfiguration schemeIdUri=\"urn:mpeg:dash:23003:3:audio_channel_configuration:2011\" value=\"2\"/>\n <SupplementalProperty schemeIdUri=\"amz-music:bitDepth\" value=\"24\"/>\n <BaseURL>https://d17vo8z6jop21h.cloudfront.net/94bd1ece-d200000391583662/02b134c4-8144-3ab1-b125-5af2d0133d5b.mp4?r=2e86bfd7-93aa-48a0-9d32-7bee6d2897a4&amp;rs=NA&amp;mt=US&amp;ql=UHD_96&amp;dtype=A16ZV8BU3SN1N3</BaseURL>\n <SegmentList timescale=\"96000\" duration=\"960000\">\n <Initialization range=\"0-1067\"/>\n <SegmentURL mediaRange=\"1580-3813567\"/>\n <SegmentURL mediaRange=\"3813568-7746339\"/>\n <SegmentURL mediaRange=\"7746340-11599579\"/>\n <SegmentURL mediaRange=\"11599580-15505023\"/>\n <SegmentURL mediaRange=\"15505024-19519493\"/>\n <SegmentURL mediaRange=\"19519494-23556777\"/>\n <SegmentURL mediaRange=\"23556778-27581158\"/>\n <SegmentURL mediaRange=\"27581159-31586807\"/>\n <SegmentURL mediaRange=\"31586808-35549718\"/>\n <SegmentURL mediaRange=\"35549719-39435585\"/>\n <SegmentURL mediaRange=\"39435586-43443650\"/>\n <SegmentURL mediaRange=\"43443651-47467685\"/>\n <SegmentURL mediaRange=\"47467686-51498910\"/>\n <SegmentURL mediaRange=\"51498911-55496614\"/>\n <SegmentURL mediaRange=\"55496615-59513566\"/>\n <SegmentURL mediaRange=\"59513567-63538385\"/>\n <SegmentURL mediaRange=\"63538386-67582593\"/>\n <SegmentURL mediaRange=\"67582594-71608871\"/>\n <SegmentURL mediaRange=\"71608872-75612860\"/>\n <SegmentURL mediaRange=\"75612861-79601033\"/>\n <SegmentURL mediaRange=\"79601034-83549776\"/>\n <SegmentURL mediaRange=\"83549777-87488907\"/>\n <SegmentURL mediaRange=\"87488908-91534801\"/>\n <SegmentURL mediaRange=\"91534802-95552040\"/>\n <SegmentURL mediaRange=\"95552041-99649744\"/>\n <SegmentURL mediaRange=\"99649745-103743373\"/>\n <SegmentURL mediaRange=\"103743374-107815594\"/>\n <SegmentURL mediaRange=\"107815595-111613915\"/>\n <SegmentURL mediaRange=\"111613916-115390443\"/>\n <SegmentURL mediaRange=\"115390444-119249732\"/>\n <SegmentURL mediaRange=\"119249733-123233807\"/>\n <SegmentURL mediaRange=\"123233808-127209398\"/>\n <SegmentURL mediaRange=\"127209399-131167116\"/>\n <SegmentURL mediaRange=\"131167117-135119879\"/>\n <SegmentURL mediaRange=\"135119880-139163685\"/>\n <SegmentURL mediaRange=\"139163686-143201079\"/>\n <SegmentURL mediaRange=\"143201080-147195194\"/>\n <SegmentURL mediaRange=\"147195195-151164220\"/>\n <SegmentURL mediaRange=\"151164221-155096800\"/>\n <SegmentURL mediaRange=\"155096801-157757393\"/>\n </SegmentList>\n </Representation>\n <Representation id=\"4\" qualityRanking=\"1\" codecs=\"flac\" audioSamplingRate=\"192000\" bandwidth=\"5666448\" mimeType=\"audio/mp4\">\n <AudioChannelConfiguration schemeIdUri=\"urn:mpeg:dash:23003:3:audio_channel_configuration:2011\" value=\"2\"/>\n <SupplementalProperty schemeIdUri=\"amz-music:bitDepth\" value=\"24\"/>\n <BaseURL>https://d17vo8z6jop21h.cloudfront.net/94bd1ece-d200000391583662/edf9f9cb-46ce-33bd-96e1-8456547fbef4.mp4?r=2e86bfd7-93aa-48a0-9d32-7bee6d2897a4&amp;rs=NA&amp;mt=US&amp;ql=UHD_192&amp;dtype=A16ZV8BU3SN1N3</BaseURL>\n <SegmentList timescale=\"192000\" duration=\"1920000\">\n <Initialization range=\"0-1067\"/>\n <SegmentURL mediaRange=\"1580-6720450\"/>\n <SegmentURL mediaRange=\"6720451-13610816\"/>\n <SegmentURL mediaRange=\"13610817-20415282\"/>\n <SegmentURL mediaRange=\"20415283-27272412\"/>\n <SegmentURL mediaRange=\"27272413-34250251\"/>\n <SegmentURL mediaRange=\"34250252-41260291\"/>\n <SegmentURL mediaRange=\"41260292-48255248\"/>\n <SegmentURL mediaRange=\"48255249-55224355\"/>\n <SegmentURL mediaRange=\"55224356-62157463\"/>\n <SegmentURL mediaRange=\"62157464-68996670\"/>\n <SegmentURL mediaRange=\"68996671-75970335\"/>\n <SegmentURL mediaRange=\"75970336-82964531\"/>\n <SegmentURL mediaRange=\"82964532-89965755\"/>\n <SegmentURL mediaRange=\"89965756-96928368\"/>\n <SegmentURL mediaRange=\"96928369-103911265\"/>\n <SegmentURL mediaRange=\"103911266-110903999\"/>\n <SegmentURL mediaRange=\"110904000-117921608\"/>\n <SegmentURL mediaRange=\"117921609-124920837\"/>\n <SegmentURL mediaRange=\"124920838-131897214\"/>\n <SegmentURL mediaRange=\"131897215-138848614\"/>\n <SegmentURL mediaRange=\"138848615-145764349\"/>\n <SegmentURL mediaRange=\"145764350-152655256\"/>\n <SegmentURL mediaRange=\"152655257-159680382\"/>\n <SegmentURL mediaRange=\"159680383-166667521\"/>\n <SegmentURL mediaRange=\"166667522-173750581\"/>\n <SegmentURL mediaRange=\"173750582-180827932\"/>\n <SegmentURL mediaRange=\"180827933-187877145\"/>\n <SegmentURL mediaRange=\"187877146-194626820\"/>\n <SegmentURL mediaRange=\"194626821-201345524\"/>\n <SegmentURL mediaRange=\"201345525-208145573\"/>\n <SegmentURL mediaRange=\"208145574-215088653\"/>\n <SegmentURL mediaRange=\"215088654-222022478\"/>\n <SegmentURL mediaRange=\"222022479-228934595\"/>\n <SegmentURL mediaRange=\"228934596-235844464\"/>\n <SegmentURL mediaRange=\"235844465-242852767\"/>\n <SegmentURL mediaRange=\"242852768-249863893\"/>\n <SegmentURL mediaRange=\"249863894-256824103\"/>\n <SegmentURL mediaRange=\"256824104-263749124\"/>\n <SegmentURL mediaRange=\"263749125-270634182\"/>\n <SegmentURL mediaRange=\"270634183-275673081\"/>\n </SegmentList>\n </Representation>\n </AdaptationSet>\n <AdaptationSet id=\"2\" contentType=\"audio\" selectionPriority=\"1000\">\n <ContentProtection schemeIdUri=\"urn:mpeg:dash:mp4protection:2011\" cenc:default_KID=\"f65d52c1-4de5-e5b6-7296-2f48eddf7378\" value=\"cenc\"/>\n <ContentProtection schemeIdUri=\"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed\">\n <cenc:pssh>AAAAXXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAD0SEPZdUsFN5eW2cpYvSO3fc3gaC0FtYXpvbk11c2ljIhxjaWQ6OWwxU3dVM2w1Ylp5bGk5STdkOXplQT09</cenc:pssh>\n </ContentProtection>\n <SupplementalProperty schemeIdUri=\"urn:mpeg:mpegB:cicp:ProgramLoudness\" value=\"-13.5 LUFS\"/>\n <SupplementalProperty schemeIdUri=\"amz-music:trackType\" value=\"SD\"/>\n <SupplementalProperty schemeIdUri=\"urn:mpeg:dash:adaptation-set-switching:2016\" value=\"1\"/>\n <SupplementalProperty schemeIdUri=\"urn:mpeg:mpegB:cicp:AnchorLoudness\" value=\"-11.7 LUFS\"/>\n <Representation id=\"5\" qualityRanking=\"3\" codecs=\"opus\" audioSamplingRate=\"48000\" bandwidth=\"52950\" mimeType=\"audio/mp4\">\n <AudioChannelConfiguration schemeIdUri=\"urn:mpeg:dash:23003:3:audio_channel_configuration:2011\" value=\"2\"/>\n <BaseURL>https://d17vo8z6jop21h.cloudfront.net/94bd1ece-d200000391583662/7e2d628d-7666-3ad5-a9df-8ba4e1c6391c.mp4?r=2e86bfd7-93aa-48a0-9d32-7bee6d2897a4&amp;rs=NA&amp;mt=US&amp;ql=SD_LOW&amp;dtype=A16ZV8BU3SN1N3</BaseURL>\n <SegmentList timescale=\"48000\" duration=\"480000\">\n <Initialization range=\"0-1031\"/>\n <SegmentURL mediaRange=\"1544-61799\"/>\n <SegmentURL mediaRange=\"61800-121935\"/>\n <SegmentURL mediaRange=\"121936-182071\"/>\n <SegmentURL mediaRange=\"182072-246260\"/>\n <SegmentURL mediaRange=\"246261-310449\"/>\n <SegmentURL mediaRange=\"310450-374638\"/>\n <SegmentURL mediaRange=\"374639-438827\"/>\n <SegmentURL mediaRange=\"438828-503016\"/>\n <SegmentURL mediaRange=\"503017-567205\"/>\n <SegmentURL mediaRange=\"567206-631394\"/>\n <SegmentURL mediaRange=\"631395-695583\"/>\n <SegmentURL mediaRange=\"695584-759772\"/>\n <SegmentURL mediaRange=\"759773-823961\"/>\n <SegmentURL mediaRange=\"823962-888150\"/>\n <SegmentURL mediaRange=\"888151-952339\"/>\n <SegmentURL mediaRange=\"952340-1016528\"/>\n <SegmentURL mediaRange=\"1016529-1080717\"/>\n <SegmentURL mediaRange=\"1080718-1144906\"/>\n <SegmentURL mediaRange=\"1144907-1209095\"/>\n <SegmentURL mediaRange=\"1209096-1273284\"/>\n <SegmentURL mediaRange=\"1273285-1337473\"/>\n <SegmentURL mediaRange=\"1337474-1401662\"/>\n <SegmentURL mediaRange=\"1401663-1465851\"/>\n <SegmentURL mediaRange=\"1465852-1530040\"/>\n <SegmentURL mediaRange=\"1530041-1594229\"/>\n <SegmentURL mediaRange=\"1594230-1658418\"/>\n <SegmentURL mediaRange=\"1658419-1722607\"/>\n <SegmentURL mediaRange=\"1722608-1786796\"/>\n <SegmentURL mediaRange=\"1786797-1850985\"/>\n <SegmentURL mediaRange=\"1850986-1915174\"/>\n <SegmentURL mediaRange=\"1915175-1979363\"/>\n <SegmentURL mediaRange=\"1979364-2043552\"/>\n <SegmentURL mediaRange=\"2043553-2107741\"/>\n <SegmentURL mediaRange=\"2107742-2171930\"/>\n <SegmentURL mediaRange=\"2171931-2236119\"/>\n <SegmentURL mediaRange=\"2236120-2300308\"/>\n <SegmentURL mediaRange=\"2300309-2364497\"/>\n <SegmentURL mediaRange=\"2364498-2428686\"/>\n <SegmentURL mediaRange=\"2428687-2492875\"/>\n <SegmentURL mediaRange=\"2492876-2559060\"/>\n </SegmentList>\n </Representation>\n <Representation id=\"6\" qualityRanking=\"2\" codecs=\"opus\" audioSamplingRate=\"48000\" bandwidth=\"196953\" mimeType=\"audio/mp4\">\n <AudioChannelConfiguration schemeIdUri=\"urn:mpeg:dash:23003:3:audio_channel_configuration:2011\" value=\"2\"/>\n <BaseURL>https://d17vo8z6jop21h.cloudfront.net/94bd1ece-d200000391583662/8e453bd1-9428-30fa-940f-fa85911368c2.mp4?r=2e86bfd7-93aa-48a0-9d32-7bee6d2897a4&amp;rs=NA&amp;mt=US&amp;ql=SD_MEDIUM&amp;dtype=A16ZV8BU3SN1N3</BaseURL>\n <SegmentList timescale=\"48000\" duration=\"480000\">\n <Initialization range=\"0-1031\"/>\n <SegmentURL mediaRange=\"1544-242159\"/>\n <SegmentURL mediaRange=\"242160-482295\"/>\n <SegmentURL mediaRange=\"482296-722431\"/>\n <SegmentURL mediaRange=\"722432-966620\"/>\n <SegmentURL mediaRange=\"966621-1210809\"/>\n <SegmentURL mediaRange=\"1210810-1454998\"/>\n <SegmentURL mediaRange=\"1454999-1699187\"/>\n <SegmentURL mediaRange=\"1699188-1943376\"/>\n <SegmentURL mediaRange=\"1943377-2187565\"/>\n <SegmentURL mediaRange=\"2187566-2431754\"/>\n <SegmentURL mediaRange=\"2431755-2675943\"/>\n <SegmentURL mediaRange=\"2675944-2920132\"/>\n <SegmentURL mediaRange=\"2920133-3164321\"/>\n <SegmentURL mediaRange=\"3164322-3408510\"/>\n <SegmentURL mediaRange=\"3408511-3652699\"/>\n <SegmentURL mediaRange=\"3652700-3896888\"/>\n <SegmentURL mediaRange=\"3896889-4141077\"/>\n <SegmentURL mediaRange=\"4141078-4385266\"/>\n <SegmentURL mediaRange=\"4385267-4629455\"/>\n <SegmentURL mediaRange=\"4629456-4873644\"/>\n <SegmentURL mediaRange=\"4873645-5117833\"/>\n <SegmentURL mediaRange=\"5117834-5362022\"/>\n <SegmentURL mediaRange=\"5362023-5606211\"/>\n <SegmentURL mediaRange=\"5606212-5850400\"/>\n <SegmentURL mediaRange=\"5850401-6094589\"/>\n <SegmentURL mediaRange=\"6094590-6338778\"/>\n <SegmentURL mediaRange=\"6338779-6582967\"/>\n <SegmentURL mediaRange=\"6582968-6827156\"/>\n <SegmentURL mediaRange=\"6827157-7071345\"/>\n <SegmentURL mediaRange=\"7071346-7315534\"/>\n <SegmentURL mediaRange=\"7315535-7559723\"/>\n <SegmentURL mediaRange=\"7559724-7803912\"/>\n <SegmentURL mediaRange=\"7803913-8048101\"/>\n <SegmentURL mediaRange=\"8048102-8292290\"/>\n <SegmentURL mediaRange=\"8292291-8536479\"/>\n <SegmentURL mediaRange=\"8536480-8780668\"/>\n <SegmentURL mediaRange=\"8780669-9024857\"/>\n <SegmentURL mediaRange=\"9024858-9269046\"/>\n <SegmentURL mediaRange=\"9269047-9513235\"/>\n <SegmentURL mediaRange=\"9513236-9759420\"/>\n </SegmentList>\n </Representation>\n <Representation id=\"7\" qualityRanking=\"1\" codecs=\"opus\" audioSamplingRate=\"48000\" bandwidth=\"324955\" mimeType=\"audio/mp4\">\n <AudioChannelConfiguration schemeIdUri=\"urn:mpeg:dash:23003:3:audio_channel_configuration:2011\" value=\"2\"/>\n <BaseURL>https://d17vo8z6jop21h.cloudfront.net/94bd1ece-d200000391583662/40ba3a06-d285-3130-838f-0c1508c1d18b.mp4?r=2e86bfd7-93aa-48a0-9d32-7bee6d2897a4&amp;rs=NA&amp;mt=US&amp;ql=SD_HIGH&amp;dtype=A16ZV8BU3SN1N3</BaseURL>\n <SegmentList timescale=\"48000\" duration=\"480000\">\n <Initialization range=\"0-1031\"/>\n <SegmentURL mediaRange=\"1544-402479\"/>\n <SegmentURL mediaRange=\"402480-802615\"/>\n <SegmentURL mediaRange=\"802616-1202751\"/>\n <SegmentURL mediaRange=\"1202752-1606940\"/>\n <SegmentURL mediaRange=\"1606941-2011129\"/>\n <SegmentURL mediaRange=\"2011130-2415318\"/>\n <SegmentURL mediaRange=\"2415319-2819507\"/>\n <SegmentURL mediaRange=\"2819508-3223696\"/>\n <SegmentURL mediaRange=\"3223697-3627885\"/>\n <SegmentURL mediaRange=\"3627886-4032074\"/>\n <SegmentURL mediaRange=\"4032075-4436263\"/>\n <SegmentURL mediaRange=\"4436264-4840452\"/>\n <SegmentURL mediaRange=\"4840453-5244641\"/>\n <SegmentURL mediaRange=\"5244642-5648830\"/>\n <SegmentURL mediaRange=\"5648831-6053019\"/>\n <SegmentURL mediaRange=\"6053020-6457208\"/>\n <SegmentURL mediaRange=\"6457209-6861397\"/>\n <SegmentURL mediaRange=\"6861398-7265586\"/>\n <SegmentURL mediaRange=\"7265587-7669775\"/>\n <SegmentURL mediaRange=\"7669776-8073964\"/>\n <SegmentURL mediaRange=\"8073965-8478153\"/>\n <SegmentURL mediaRange=\"8478154-8882342\"/>\n <SegmentURL mediaRange=\"8882343-9286531\"/>\n <SegmentURL mediaRange=\"9286532-9690720\"/>\n <SegmentURL mediaRange=\"9690721-10094909\"/>\n <SegmentURL mediaRange=\"10094910-10499098\"/>\n <SegmentURL mediaRange=\"10499099-10903287\"/>\n <SegmentURL mediaRange=\"10903288-11307476\"/>\n <SegmentURL mediaRange=\"11307477-11711665\"/>\n <SegmentURL mediaRange=\"11711666-12115854\"/>\n <SegmentURL mediaRange=\"12115855-12520043\"/>\n <SegmentURL mediaRange=\"12520044-12924232\"/>\n <SegmentURL mediaRange=\"12924233-13328421\"/>\n <SegmentURL mediaRange=\"13328422-13732610\"/>\n <SegmentURL mediaRange=\"13732611-14136799\"/>\n <SegmentURL mediaRange=\"14136800-14540988\"/>\n <SegmentURL mediaRange=\"14540989-14945177\"/>\n <SegmentURL mediaRange=\"14945178-15349366\"/>\n <SegmentURL mediaRange=\"15349367-15753555\"/>\n <SegmentURL mediaRange=\"15753556-16159740\"/>\n </SegmentList>\n </Representation>\n </AdaptationSet>\n <AdaptationSet id=\"3\" contentType=\"audio\" selectionPriority=\"500\">\n <ContentProtection schemeIdUri=\"urn:mpeg:dash:mp4protection:2011\" cenc:default_KID=\"4e4c6e3a-d760-ffd5-78b0-3824890da09d\" value=\"cenc\"/>\n <ContentProtection schemeIdUri=\"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed\">\n <cenc:pssh>AAAAXXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAD0SEE5MbjrXYP/VeLA4JIkNoJ0aC0FtYXpvbk11c2ljIhxjaWQ6VGt4dU90ZGcvOVY0c0Rna2lRMmduUT09</cenc:pssh>\n </ContentProtection>\n <SupplementalProperty schemeIdUri=\"urn:mpeg:mpegB:cicp:ProgramLoudness\" value=\"-13.5 LUFS\"/>\n <SupplementalProperty schemeIdUri=\"amz-music:trackType\" value=\"LD\"/>\n <SupplementalProperty schemeIdUri=\"urn:mpeg:mpegB:cicp:AnchorLoudness\" value=\"-11.7 LUFS\"/>\n <Representation id=\"8\" qualityRanking=\"2000\" codecs=\"opus\" audioSamplingRate=\"48000\" bandwidth=\"52950\" mimeType=\"audio/mp4\">\n <AudioChannelConfiguration schemeIdUri=\"urn:mpeg:dash:23003:3:audio_channel_configuration:2011\" value=\"2\"/>\n <BaseURL>https://d17vo8z6jop21h.cloudfront.net/94bd1ece-d200000391583662/748096ab-6991-368b-b9ca-5477bf90ba5a.mp4?r=2e86bfd7-93aa-48a0-9d32-7bee6d2897a4&amp;rs=NA&amp;mt=US&amp;ql=LD_LOW&amp;dtype=A16ZV8BU3SN1N3</BaseURL>\n <SegmentList timescale=\"48000\" duration=\"480000\">\n <Initialization range=\"0-1031\"/>\n <SegmentURL mediaRange=\"1544-61799\"/>\n <SegmentURL mediaRange=\"61800-121935\"/>\n <SegmentURL mediaRange=\"121936-182071\"/>\n <SegmentURL mediaRange=\"182072-246260\"/>\n <SegmentURL mediaRange=\"246261-310449\"/>\n <SegmentURL mediaRange=\"310450-374638\"/>\n <SegmentURL mediaRange=\"374639-438827\"/>\n <SegmentURL mediaRange=\"438828-503016\"/>\n <SegmentURL mediaRange=\"503017-567205\"/>\n <SegmentURL mediaRange=\"567206-631394\"/>\n <SegmentURL mediaRange=\"631395-695583\"/>\n <SegmentURL mediaRange=\"695584-759772\"/>\n <SegmentURL mediaRange=\"759773-823961\"/>\n <SegmentURL mediaRange=\"823962-888150\"/>\n <SegmentURL mediaRange=\"888151-952339\"/>\n <SegmentURL mediaRange=\"952340-1016528\"/>\n <SegmentURL mediaRange=\"1016529-1080717\"/>\n <SegmentURL mediaRange=\"1080718-1144906\"/>\n <SegmentURL mediaRange=\"1144907-1209095\"/>\n <SegmentURL mediaRange=\"1209096-1273284\"/>\n <SegmentURL mediaRange=\"1273285-1337473\"/>\n <SegmentURL mediaRange=\"1337474-1401662\"/>\n <SegmentURL mediaRange=\"1401663-1465851\"/>\n <SegmentURL mediaRange=\"1465852-1530040\"/>\n <SegmentURL mediaRange=\"1530041-1594229\"/>\n <SegmentURL mediaRange=\"1594230-1658418\"/>\n <SegmentURL mediaRange=\"1658419-1722607\"/>\n <SegmentURL mediaRange=\"1722608-1786796\"/>\n <SegmentURL mediaRange=\"1786797-1850985\"/>\n <SegmentURL mediaRange=\"1850986-1915174\"/>\n <SegmentURL mediaRange=\"1915175-1979363\"/>\n <SegmentURL mediaRange=\"1979364-2043552\"/>\n <SegmentURL mediaRange=\"2043553-2107741\"/>\n <SegmentURL mediaRange=\"2107742-2171930\"/>\n <SegmentURL mediaRange=\"2171931-2236119\"/>\n <SegmentURL mediaRange=\"2236120-2300308\"/>\n <SegmentURL mediaRange=\"2300309-2364497\"/>\n <SegmentURL mediaRange=\"2364498-2428686\"/>\n <SegmentURL mediaRange=\"2428687-2492875\"/>\n <SegmentURL mediaRange=\"2492876-2559060\"/>\n </SegmentList>\n </Representation>\n <Representation id=\"9\" qualityRanking=\"1000\" codecs=\"opus\" audioSamplingRate=\"48000\" bandwidth=\"164952\" mimeType=\"audio/mp4\">\n <AudioChannelConfiguration schemeIdUri=\"urn:mpeg:dash:23003:3:audio_channel_configuration:2011\" value=\"2\"/>\n <BaseURL>https://d17vo8z6jop21h.cloudfront.net/94bd1ece-d200000391583662/8be307d6-71ea-3111-a869-40720e08a6f9.mp4?r=2e86bfd7-93aa-48a0-9d32-7bee6d2897a4&amp;rs=NA&amp;mt=US&amp;ql=LD_MEDIUM&amp;dtype=A16ZV8BU3SN1N3</BaseURL>\n <SegmentList timescale=\"48000\" duration=\"480000\">\n <Initialization range=\"0-1031\"/>\n <SegmentURL mediaRange=\"1544-202079\"/>\n <SegmentURL mediaRange=\"202080-402215\"/>\n <SegmentURL mediaRange=\"402216-602351\"/>\n <SegmentURL mediaRange=\"602352-806540\"/>\n <SegmentURL mediaRange=\"806541-1010729\"/>\n <SegmentURL mediaRange=\"1010730-1214918\"/>\n <SegmentURL mediaRange=\"1214919-1419107\"/>\n <SegmentURL mediaRange=\"1419108-1623296\"/>\n <SegmentURL mediaRange=\"1623297-1827485\"/>\n <SegmentURL mediaRange=\"1827486-2031674\"/>\n <SegmentURL mediaRange=\"2031675-2235863\"/>\n <SegmentURL mediaRange=\"2235864-2440052\"/>\n <SegmentURL mediaRange=\"2440053-2644241\"/>\n <SegmentURL mediaRange=\"2644242-2848430\"/>\n <SegmentURL mediaRange=\"2848431-3052619\"/>\n <SegmentURL mediaRange=\"3052620-3256808\"/>\n <SegmentURL mediaRange=\"3256809-3460997\"/>\n <SegmentURL mediaRange=\"3460998-3665186\"/>\n <SegmentURL mediaRange=\"3665187-3869375\"/>\n <SegmentURL mediaRange=\"3869376-4073564\"/>\n <SegmentURL mediaRange=\"4073565-4277753\"/>\n <SegmentURL mediaRange=\"4277754-4481942\"/>\n <SegmentURL mediaRange=\"4481943-4686131\"/>\n <SegmentURL mediaRange=\"4686132-4890320\"/>\n <SegmentURL mediaRange=\"4890321-5094509\"/>\n <SegmentURL mediaRange=\"5094510-5298698\"/>\n <SegmentURL mediaRange=\"5298699-5502887\"/>\n <SegmentURL mediaRange=\"5502888-5707076\"/>\n <SegmentURL mediaRange=\"5707077-5911265\"/>\n <SegmentURL mediaRange=\"5911266-6115454\"/>\n <SegmentURL mediaRange=\"6115455-6319643\"/>\n <SegmentURL mediaRange=\"6319644-6523832\"/>\n <SegmentURL mediaRange=\"6523833-6728021\"/>\n <SegmentURL mediaRange=\"6728022-6932210\"/>\n <SegmentURL mediaRange=\"6932211-7136399\"/>\n <SegmentURL mediaRange=\"7136400-7340588\"/>\n <SegmentURL mediaRange=\"7340589-7544777\"/>\n <SegmentURL mediaRange=\"7544778-7748966\"/>\n <SegmentURL mediaRange=\"7748967-7953155\"/>\n <SegmentURL mediaRange=\"7953156-8159340\"/>\n </SegmentList>\n </Representation>\n </AdaptationSet>\n </Period>\n</MPD>";// src/text/parseWebVtt.ts
534
- var WEBVTT_HEADER="WEBVTT";var TIMESTAMP_RE=/^(?:(\d+):)?([0-5]\d):([0-5]\d)\.(\d{3})/;function parseWebVtt(input){if(typeof input!=="string"){throw new ValidationError("WebVTT input must be a string",ErrorOrigin.MEDIA)}var text=input;if(text.charCodeAt(0)===65279)text=text.slice(1);var lines=text.split(/\r\n|\r|\n/);if(lines.length===0||!isWebVttHeader(lines[0])){throw new ValidationError("WebVTT must begin with a WEBVTT header",ErrorOrigin.MEDIA)}var cues=[];var styles=[];var i=1;while(i<lines.length&&lines[i]!=="")i++;while(i<lines.length){if(lines[i]===""){i++;continue}if(lines[i]==="NOTE"||lines[i].startsWith("NOTE ")||lines[i].startsWith("NOTE\t")||lines[i]==="REGION"){i++;while(i<lines.length&&lines[i]!=="")i++;continue}if(lines[i]==="STYLE"){i++;var start=i;while(i<lines.length&&lines[i]!=="")i++;var css=lines.slice(start,i).join("\n").trim();if(css)styles.push(css);continue}var id=null;if(!lines[i].includes("-->")){id=lines[i];i++;if(i>=lines.length)break}var timing=parseTiming(lines[i]);i++;if(!timing){while(i<lines.length&&lines[i]!=="")i++;continue}var payloadLines=[];while(i<lines.length&&lines[i]!==""){payloadLines.push(lines[i]);i++}var text2=payloadLines.join("\n");cues.push(timing.settings===void 0?{id:id,startTime:timing.startTime,endTime:timing.endTime,text:text2}:{id:id,startTime:timing.startTime,endTime:timing.endTime,text:text2,settings:timing.settings})}return{cues:cues,styles:styles}}function parseTiming(line){var arrow=line.indexOf("-->");if(arrow<0)return null;var before=line.slice(0,arrow).trim();var start=TIMESTAMP_RE.exec(before);if(!start||start[0].length!==before.length)return null;var rest=line.slice(arrow+3).trim();var end=TIMESTAMP_RE.exec(rest);if(!end)return null;return{startTime:toSeconds(start[1],start[2],start[3],start[4]),endTime:toSeconds(end[1],end[2],end[3],end[4]),settings:parseCueSettings(rest.slice(end[0].length))}}function toSeconds(hours,minutes,seconds,millis){return(hours?Number(hours)*3600:0)+Number(minutes)*60+Number(seconds)+Number(millis)/1e3}function isWebVttHeader(line){if(!line.startsWith(WEBVTT_HEADER))return false;if(line.length===WEBVTT_HEADER.length)return true;var next=line.charCodeAt(WEBVTT_HEADER.length);return next===32||next===9}var ALIGN=/* @__PURE__ */new Set(["start","center","end","left","right"]);var LINE_ALIGN=/* @__PURE__ */new Set(["start","center","end"]);var POSITION_ALIGN=/* @__PURE__ */new Set(["line-left","center","line-right","auto"]);var VERTICAL=/* @__PURE__ */new Set(["rl","lr"]);function parseCueSettings(text){if(!text)return void 0;var settings={};var _iterator13=_createForOfIteratorHelper(text.trim().split(/\s+/)),_step13;try{for(_iterator13.s();!(_step13=_iterator13.n()).done;){var token=_step13.value;var colon=token.indexOf(":");if(colon<=0)continue;var key=token.slice(0,colon);var value=token.slice(colon+1);switch(key){case"align":{var align=value==="middle"?"center":value;if(ALIGN.has(align))settings.align=align;break}case"vertical":if(VERTICAL.has(value))settings.vertical=value;break;case"size":{var size=parsePercent(value);if(size!=null)settings.size=size;break}case"line":parseLine(value,settings);break;case"position":parsePosition(value,settings);break}}}catch(err){_iterator13.e(err)}finally{_iterator13.f()}return Object.keys(settings).length>0?settings:void 0}function parseLine(value,settings){var _value$split=value.split(","),_value$split2=_slicedToArray(_value$split,2),pos=_value$split2[0],align=_value$split2[1];if(pos.endsWith("%")){var percent=parsePercent(pos);if(percent==null)return;settings.line=percent;settings.snapToLines=false}else{var n=Number(pos);if(!Number.isInteger(n))return;settings.line=n;settings.snapToLines=true}var lineAlign=align==="middle"?"center":align;if(lineAlign&&LINE_ALIGN.has(lineAlign))settings.lineAlign=lineAlign}function parsePosition(value,settings){var _value$split3=value.split(","),_value$split4=_slicedToArray(_value$split3,2),pos=_value$split4[0],align=_value$split4[1];var percent=parsePercent(pos);if(percent==null)return;settings.position=percent;var positionAlign=align==="middle"?"center":align;if(positionAlign&&POSITION_ALIGN.has(positionAlign))settings.positionAlign=positionAlign}function parsePercent(value){if(!value.endsWith("%"))return null;var n=Number(value.slice(0,-1));return Number.isFinite(n)?n:null}// test/vinylTestUtil/player/mediaRef.ts
535
+ var WEBVTT_HEADER="WEBVTT";var TIMESTAMP_RE=/^(?:(\d+):)?([0-5]\d):([0-5]\d)\.(\d{3})/;function parseWebVtt(input){if(typeof input!=="string"){throw new ValidationError("WebVTT input must be a string",ErrorOrigin.MEDIA)}var text=input;if(text.charCodeAt(0)===65279)text=text.slice(1);var lines=text.split(/\r\n|\r|\n/);if(lines.length===0||!isWebVttHeader(lines[0])){throw new ValidationError("WebVTT must begin with a WEBVTT header",ErrorOrigin.MEDIA)}var cues=[];var styles=[];var i=1;while(i<lines.length&&lines[i]!==""&&!lines[i].includes("-->"))i++;while(i<lines.length){if(lines[i]===""){i++;continue}if(lines[i]==="NOTE"||lines[i].startsWith("NOTE ")||lines[i].startsWith("NOTE\t")||lines[i]==="REGION"){i++;while(i<lines.length&&lines[i]!=="")i++;continue}if(lines[i]==="STYLE"){i++;var start=i;while(i<lines.length&&lines[i]!=="")i++;var css=lines.slice(start,i).join("\n").trim();if(css)styles.push(css);continue}var id=null;if(!lines[i].includes("-->")){id=lines[i];i++;if(i>=lines.length)break}var timing=parseTiming(lines[i]);i++;if(!timing){while(i<lines.length&&lines[i]!=="")i++;continue}var payloadLines=[];while(i<lines.length&&lines[i]!==""){payloadLines.push(lines[i]);i++}var text2=payloadLines.join("\n");cues.push(timing.settings===void 0?{id:id,startTime:timing.startTime,endTime:timing.endTime,text:text2}:{id:id,startTime:timing.startTime,endTime:timing.endTime,text:text2,settings:timing.settings})}return{cues:cues,styles:styles}}function parseTiming(line){var arrow=line.indexOf("-->");if(arrow<0)return null;var before=line.slice(0,arrow).trim();var start=TIMESTAMP_RE.exec(before);if(!start||start[0].length!==before.length)return null;var rest=line.slice(arrow+3).trim();var end=TIMESTAMP_RE.exec(rest);if(!end)return null;return{startTime:toSeconds(start[1],start[2],start[3],start[4]),endTime:toSeconds(end[1],end[2],end[3],end[4]),settings:parseCueSettings(rest.slice(end[0].length))}}function toSeconds(hours,minutes,seconds,millis){return(hours?Number(hours)*3600:0)+Number(minutes)*60+Number(seconds)+Number(millis)/1e3}function isWebVttHeader(line){if(!line.startsWith(WEBVTT_HEADER))return false;if(line.length===WEBVTT_HEADER.length)return true;var next=line.charCodeAt(WEBVTT_HEADER.length);return next===32||next===9}var ALIGN=/* @__PURE__ */new Set(["start","center","end","left","right"]);var LINE_ALIGN=/* @__PURE__ */new Set(["start","center","end"]);var POSITION_ALIGN=/* @__PURE__ */new Set(["line-left","center","line-right","auto"]);var VERTICAL=/* @__PURE__ */new Set(["rl","lr"]);function parseCueSettings(text){if(!text)return void 0;var settings={};var _iterator13=_createForOfIteratorHelper(text.trim().split(/\s+/)),_step13;try{for(_iterator13.s();!(_step13=_iterator13.n()).done;){var token=_step13.value;var colon=token.indexOf(":");if(colon<=0)continue;var key=token.slice(0,colon);var value=token.slice(colon+1);switch(key){case"align":{var align=value==="middle"?"center":value;if(ALIGN.has(align))settings.align=align;break}case"vertical":if(VERTICAL.has(value))settings.vertical=value;break;case"size":{var size=parsePercent(value);if(size!=null)settings.size=size;break}case"line":parseLine(value,settings);break;case"position":parsePosition(value,settings);break}}}catch(err){_iterator13.e(err)}finally{_iterator13.f()}return Object.keys(settings).length>0?settings:void 0}function parseLine(value,settings){var _value$split=value.split(","),_value$split2=_slicedToArray(_value$split,2),pos=_value$split2[0],align=_value$split2[1];if(pos.endsWith("%")){var percent=parsePercent(pos);if(percent==null)return;settings.line=percent;settings.snapToLines=false}else{var n=Number(pos);if(!Number.isInteger(n))return;settings.line=n;settings.snapToLines=true}var lineAlign=align==="middle"?"center":align;if(lineAlign&&LINE_ALIGN.has(lineAlign))settings.lineAlign=lineAlign}function parsePosition(value,settings){var _value$split3=value.split(","),_value$split4=_slicedToArray(_value$split3,2),pos=_value$split4[0],align=_value$split4[1];var percent=parsePercent(pos);if(percent==null)return;settings.position=percent;var positionAlign=align==="middle"?"center":align;if(positionAlign&&POSITION_ALIGN.has(positionAlign))settings.positionAlign=positionAlign}function parsePercent(value){if(!value.endsWith("%"))return null;var n=Number(value.slice(0,-1));return Number.isFinite(n)?n:null}// test/vinylTestUtil/player/mediaRef.ts
535
536
  var mediaRef=lazy(function(){var media=document.createElement("video");media.muted=true;media.playsInline=true;media.disableRemotePlayback=true;return media});afterEach(function(){if(mediaRef.constructed){var media=mediaRef.value;media.removeAttribute("src");media.load()}});// test/vinylTestUtil/media/FrequencyAnalyzer.ts
536
537
  var _a2;var shouldCheckAudio=parseBoolean(((_a2=getSearchParams().get("checkAudio"))!=null?_a2:"0").toLowerCase());// ../vinyl-util/test/testUtil/mock/logging/MockLogger.ts
537
538
  var spyFactory=createSpyFactory();// ../vinyl-util/test/testUtil/mock/network/emptyRequestInfo.ts
@@ -706,7 +706,8 @@
706
706
  return true;
707
707
  }
708
708
  /**
709
- * Executes a provided function once per each key/value pair in the Map, in insertion order.
709
+ * Executes a provided function once per each key/value pair in the Map,
710
+ * ordered from least recently used to most.
710
711
  *
711
712
  * @param callback A callback to invoke for every element in the cache.
712
713
  * @param thisArg Value to use as this when executing callback
@@ -751,8 +752,8 @@
751
752
  let value = void 0;
752
753
  const memoized = () => {
753
754
  if (!cached) {
754
- cached = true;
755
755
  value = inner();
756
+ cached = true;
756
757
  }
757
758
  return value;
758
759
  };
@@ -781,9 +782,9 @@
781
782
  const memoized = (...args) => {
782
783
  const key = keyProvider(...args);
783
784
  if (!hasValue || cachedKey !== key) {
784
- hasValue = true;
785
- cachedKey = key;
786
785
  cachedValue = inner(...args);
786
+ cachedKey = key;
787
+ hasValue = true;
787
788
  }
788
789
  return cachedValue;
789
790
  };
@@ -833,7 +834,8 @@
833
834
  charCode === 13 || // '\r' (carriage return)
834
835
  charCode === 10;
835
836
  }
836
- var encodedEntitiesRegex = /&(#(\d+)|\w+);/gi;
837
+ var encodedEntitiesRegex = /&(?:#(?:x([\da-f]+)|(\d+))|(\w+));/gi;
838
+ var MAX_CODE_POINT = 1114111;
837
839
  var predefinedDecodeEntities = /* @__PURE__ */ new Map([
838
840
  ["apos", "'"],
839
841
  ["amp", "&"],
@@ -842,20 +844,22 @@
842
844
  ["quot", '"']
843
845
  ]);
844
846
  function decodeEntities(str, namedEntities = predefinedDecodeEntities) {
845
- if (encodedEntitiesRegex.test(str)) {
846
- return str.replace(
847
- encodedEntitiesRegex,
848
- (substring, entityName, codePoint) => {
849
- if (codePoint !== void 0)
850
- return String.fromCharCode(parseInt(codePoint));
851
- const entityValue = namedEntities.get(entityName.toLowerCase());
852
- if (!entityValue) return substring;
853
- return entityValue;
847
+ return str.replace(
848
+ encodedEntitiesRegex,
849
+ (substring, hex, decimal, entityName) => {
850
+ var _a3;
851
+ if (hex == null && decimal == null) {
852
+ return (_a3 = namedEntities.get(entityName.toLowerCase())) != null ? _a3 : substring;
854
853
  }
855
- );
856
- } else {
857
- return str;
858
- }
854
+ const codePoint = hex != null ? parseInt(hex, 16) : parseInt(decimal, 10);
855
+ if (codePoint > MAX_CODE_POINT || isSurrogate(codePoint))
856
+ return substring;
857
+ return String.fromCodePoint(codePoint);
858
+ }
859
+ );
860
+ }
861
+ function isSurrogate(codePoint) {
862
+ return codePoint >= 55296 && codePoint <= 57343;
859
863
  }
860
864
  var standardEntityValueToNames = flipMap(predefinedDecodeEntities);
861
865
  function eqStr(a, b, ignoreCase = false) {
@@ -2273,20 +2277,21 @@ ${this.lastInitStack}` : "";
2273
2277
  let abs = Math.abs(value);
2274
2278
  const years = Math.floor(abs / Y);
2275
2279
  abs -= years * Y;
2276
- const months = Math.floor(abs % Y / M);
2280
+ const months = Math.floor(abs / M);
2277
2281
  const days = Math.floor(abs % M / D);
2278
2282
  const hours = Math.floor(abs % D / H);
2279
2283
  const minutes = Math.floor(abs % H / I);
2280
2284
  const seconds = abs % I;
2281
- let isoString = `${sign}P`;
2282
- if (years > 0) isoString += `${years}Y`;
2283
- if (months > 0) isoString += `${months}M`;
2284
- if (days > 0) isoString += `${days}D`;
2285
- isoString += "T";
2286
- if (hours > 0) isoString += `${hours}H`;
2287
- if (minutes > 0) isoString += `${minutes}M`;
2288
- if (seconds > 0 || !value) isoString += `${roundToNearest(seconds, 1e-3)}S`;
2289
- return isoString;
2285
+ let date = "";
2286
+ if (years > 0) date += `${years}Y`;
2287
+ if (months > 0) date += `${months}M`;
2288
+ if (days > 0) date += `${days}D`;
2289
+ let time = "";
2290
+ if (hours > 0) time += `${hours}H`;
2291
+ if (minutes > 0) time += `${minutes}M`;
2292
+ if (seconds > 0) time += `${roundToNearest(seconds, 1e-3)}S`;
2293
+ if (!date && !time) time = "0S";
2294
+ return `${sign}P${date}${time && `T${time}`}`;
2290
2295
  }
2291
2296
 
2292
2297
  // ../vinyl-mpd-parser/src/error/parsingError.ts
@@ -2832,7 +2837,7 @@ ${this.lastInitStack}` : "";
2832
2837
  };
2833
2838
  var _NumberSchema = class _NumberSchema extends ValueSchema {
2834
2839
  /**
2835
- * The base Object validator validating that the input is an object.
2840
+ * The base NumberSchema instance validating that the input is a number.
2836
2841
  */
2837
2842
  static get base() {
2838
2843
  if (this._base == null)
@@ -4487,7 +4492,7 @@ ${this.lastInitStack}` : "";
4487
4492
  const cues = [];
4488
4493
  const styles = [];
4489
4494
  let i = 1;
4490
- while (i < lines.length && lines[i] !== "") i++;
4495
+ while (i < lines.length && lines[i] !== "" && !lines[i].includes("-->")) i++;
4491
4496
  while (i < lines.length) {
4492
4497
  if (lines[i] === "") {
4493
4498
  i++;