shaka-player 4.3.0 → 4.3.1

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 (71) hide show
  1. package/.github/workflows/build-and-test.yaml +7 -0
  2. package/AUTHORS +1 -0
  3. package/CHANGELOG.md +33 -0
  4. package/CONTRIBUTORS +1 -0
  5. package/conditional/dummy_cast_proxy.js +120 -0
  6. package/dist/demo.compiled.debug.js +104 -110
  7. package/dist/demo.compiled.debug.map +3 -3
  8. package/dist/demo.compiled.js +104 -110
  9. package/dist/demo.compiled.map +3 -3
  10. package/dist/deps.js +8 -6
  11. package/dist/locales.js +28 -28
  12. package/dist/receiver.compiled.debug.js +54 -60
  13. package/dist/receiver.compiled.debug.map +3 -3
  14. package/dist/receiver.compiled.js +54 -60
  15. package/dist/receiver.compiled.map +3 -3
  16. package/dist/shaka-player.compiled.d.ts +19 -2
  17. package/dist/shaka-player.compiled.debug.d.ts +19 -2
  18. package/dist/shaka-player.compiled.debug.externs.js +102 -80
  19. package/dist/shaka-player.compiled.debug.js +632 -628
  20. package/dist/shaka-player.compiled.debug.map +4 -4
  21. package/dist/shaka-player.compiled.externs.js +102 -80
  22. package/dist/shaka-player.compiled.js +903 -900
  23. package/dist/shaka-player.compiled.map +4 -4
  24. package/dist/shaka-player.ui.d.ts +19 -2
  25. package/dist/shaka-player.ui.debug.d.ts +19 -2
  26. package/dist/shaka-player.ui.debug.externs.js +102 -80
  27. package/dist/shaka-player.ui.debug.js +681 -678
  28. package/dist/shaka-player.ui.debug.map +4 -4
  29. package/dist/shaka-player.ui.externs.js +102 -80
  30. package/dist/shaka-player.ui.js +1033 -1031
  31. package/dist/shaka-player.ui.map +4 -4
  32. package/docs/tutorials/welcome.md +2 -2
  33. package/externs/shaka/mp4_parser.js +3 -0
  34. package/externs/shaka/player.js +2 -1
  35. package/lib/cea/cea708_window.js +2 -2
  36. package/lib/cea/mp4_cea_parser.js +37 -16
  37. package/lib/dash/segment_template.js +1 -1
  38. package/lib/hls/hls_parser.js +37 -19
  39. package/lib/media/content_workarounds.js +12 -0
  40. package/lib/media/media_source_capabilities.js +36 -0
  41. package/lib/media/media_source_engine.js +12 -7
  42. package/lib/media/transmuxer.js +6 -4
  43. package/lib/player.js +5 -5
  44. package/lib/polyfill/abort_controller.js +143 -0
  45. package/lib/polyfill/media_capabilities.js +65 -11
  46. package/lib/polyfill/patchedmediakeys_apple.js +33 -28
  47. package/lib/text/ttml_text_parser.js +32 -7
  48. package/lib/text/ui_text_displayer.js +17 -0
  49. package/lib/util/mp4_box_parsers.js +24 -0
  50. package/lib/util/mp4_parser.js +35 -0
  51. package/lib/util/player_configuration.js +10 -3
  52. package/lib/util/stream_utils.js +35 -13
  53. package/package.json +4 -4
  54. package/shaka-player.uncompiled.js +1 -0
  55. package/test/ads/ad_manager_unit.js +3 -1
  56. package/test/dash/dash_parser_manifest_unit.js +1 -0
  57. package/test/hls/hls_parser_unit.js +132 -0
  58. package/test/media/drm_engine_unit.js +11 -1
  59. package/test/media/media_source_engine_integration.js +78 -2
  60. package/test/polyfill/media_capabilities_unit.js +259 -0
  61. package/test/polyfill/patchedmediakeys_apple_unit.js +6 -0
  62. package/test/test/util/stream_generator.js +212 -8
  63. package/test/test/util/test_scheme.js +4 -3
  64. package/test/test/util/util.js +3 -2
  65. package/test/text/mp4_ttml_parser_unit.js +6 -4
  66. package/test/text/ttml_text_parser_unit.js +119 -86
  67. package/test/text/ui_text_displayer_unit.js +76 -0
  68. package/test/util/stream_utils_unit.js +18 -0
  69. package/test/util/xml_utils_unit.js +6 -1
  70. package/third_party/closure-uri/uri.js +1 -1
  71. package/ui/controls.js +45 -36
@@ -15,19 +15,19 @@ e}};$jscomp.construct={valueOf:$jscomp.getConstructImplementation}.valueOf();$js
15
15
  $jscomp.inherits=function(a,b){a.prototype=$jscomp.objectCreate(b.prototype);a.prototype.constructor=a;if($jscomp.setPrototypeOf){var c=$jscomp.setPrototypeOf;c(a,b)}else for(c in b)if("prototype"!=c)if(Object.defineProperties){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)}else a[c]=b[c];a.superClass_=b.prototype};$jscomp.generator={};
16
16
  $jscomp.generator.ensureIteratorResultIsObject_=function(a){if(!(a instanceof Object))throw new TypeError("Iterator result "+a+" is not an object");};$jscomp.generator.Context=function(){this.isRunning_=!1;this.yieldAllIterator_=null;this.yieldResult=void 0;this.nextAddress=1;this.finallyAddress_=this.catchAddress_=0;this.finallyContexts_=this.abruptCompletion_=null};
17
17
  $jscomp.generator.Context.prototype.start_=function(){if(this.isRunning_)throw new TypeError("Generator is already running");this.isRunning_=!0};$jscomp.generator.Context.prototype.stop_=function(){this.isRunning_=!1};$jscomp.generator.Context.prototype.jumpToErrorHandler_=function(){this.nextAddress=this.catchAddress_||this.finallyAddress_};$jscomp.generator.Context.prototype.next_=function(a){this.yieldResult=a};
18
- $jscomp.generator.Context.prototype.throw_=function(a){this.abruptCompletion_={exception:a,isException:!0};this.jumpToErrorHandler_()};$jscomp.generator.Context.prototype["return"]=function(a){this.abruptCompletion_={"return":a};this.nextAddress=this.finallyAddress_};$jscomp.generator.Context.prototype.jumpThroughFinallyBlocks=function(a){this.abruptCompletion_={jumpTo:a};this.nextAddress=this.finallyAddress_};$jscomp.generator.Context.prototype.yield=function(a,b){this.nextAddress=b;return{value:a}};
19
- $jscomp.generator.Context.prototype.yieldAll=function(a,b){var c=$jscomp.makeIterator(a),d=c.next();$jscomp.generator.ensureIteratorResultIsObject_(d);if(d.done)this.yieldResult=d.value,this.nextAddress=b;else return this.yieldAllIterator_=c,this.yield(d.value,b)};$jscomp.generator.Context.prototype.jumpTo=function(a){this.nextAddress=a};$jscomp.generator.Context.prototype.jumpToEnd=function(){this.nextAddress=0};
18
+ $jscomp.generator.Context.prototype.throw_=function(a){this.abruptCompletion_={exception:a,isException:!0};this.jumpToErrorHandler_()};$jscomp.generator.Context.prototype.return=function(a){this.abruptCompletion_={return:a};this.nextAddress=this.finallyAddress_};$jscomp.generator.Context.prototype.jumpThroughFinallyBlocks=function(a){this.abruptCompletion_={jumpTo:a};this.nextAddress=this.finallyAddress_};$jscomp.generator.Context.prototype.yield=function(a,b){this.nextAddress=b;return{value:a}};
19
+ $jscomp.generator.Context.prototype.yieldAll=function(a,b){a=$jscomp.makeIterator(a);var c=a.next();$jscomp.generator.ensureIteratorResultIsObject_(c);if(c.done)this.yieldResult=c.value,this.nextAddress=b;else return this.yieldAllIterator_=a,this.yield(c.value,b)};$jscomp.generator.Context.prototype.jumpTo=function(a){this.nextAddress=a};$jscomp.generator.Context.prototype.jumpToEnd=function(){this.nextAddress=0};
20
20
  $jscomp.generator.Context.prototype.setCatchFinallyBlocks=function(a,b){this.catchAddress_=a;void 0!=b&&(this.finallyAddress_=b)};$jscomp.generator.Context.prototype.setFinallyBlock=function(a){this.catchAddress_=0;this.finallyAddress_=a||0};$jscomp.generator.Context.prototype.leaveTryBlock=function(a,b){this.nextAddress=a;this.catchAddress_=b||0};
21
21
  $jscomp.generator.Context.prototype.enterCatchBlock=function(a){this.catchAddress_=a||0;a=this.abruptCompletion_.exception;this.abruptCompletion_=null;return a};$jscomp.generator.Context.prototype.enterFinallyBlock=function(a,b,c){c?this.finallyContexts_[c]=this.abruptCompletion_:this.finallyContexts_=[this.abruptCompletion_];this.catchAddress_=a||0;this.finallyAddress_=b||0};
22
- $jscomp.generator.Context.prototype.leaveFinallyBlock=function(a,b){var c=this.finallyContexts_.splice(b||0)[0];if(c=this.abruptCompletion_=this.abruptCompletion_||c){if(c.isException)return this.jumpToErrorHandler_();void 0!=c.jumpTo&&this.finallyAddress_<c.jumpTo?(this.nextAddress=c.jumpTo,this.abruptCompletion_=null):this.nextAddress=this.finallyAddress_}else this.nextAddress=a};$jscomp.generator.Context.prototype.forIn=function(a){return new $jscomp.generator.Context.PropertyIterator(a)};
22
+ $jscomp.generator.Context.prototype.leaveFinallyBlock=function(a,b){b=this.finallyContexts_.splice(b||0)[0];if(b=this.abruptCompletion_=this.abruptCompletion_||b){if(b.isException)return this.jumpToErrorHandler_();void 0!=b.jumpTo&&this.finallyAddress_<b.jumpTo?(this.nextAddress=b.jumpTo,this.abruptCompletion_=null):this.nextAddress=this.finallyAddress_}else this.nextAddress=a};$jscomp.generator.Context.prototype.forIn=function(a){return new $jscomp.generator.Context.PropertyIterator(a)};
23
23
  $jscomp.generator.Context.PropertyIterator=function(a){this.object_=a;this.properties_=[];for(var b in a)this.properties_.push(b);this.properties_.reverse()};$jscomp.generator.Context.PropertyIterator.prototype.getNext=function(){for(;0<this.properties_.length;){var a=this.properties_.pop();if(a in this.object_)return a}return null};$jscomp.generator.Engine_=function(a){this.context_=new $jscomp.generator.Context;this.program_=a};
24
24
  $jscomp.generator.Engine_.prototype.next_=function(a){this.context_.start_();if(this.context_.yieldAllIterator_)return this.yieldAllStep_(this.context_.yieldAllIterator_.next,a,this.context_.next_);this.context_.next_(a);return this.nextStep_()};
25
- $jscomp.generator.Engine_.prototype.return_=function(a){this.context_.start_();var b=this.context_.yieldAllIterator_;if(b)return this.yieldAllStep_("return"in b?b["return"]:function(c){return{value:c,done:!0}},a,this.context_["return"]);this.context_["return"](a);return this.nextStep_()};
25
+ $jscomp.generator.Engine_.prototype.return_=function(a){this.context_.start_();var b=this.context_.yieldAllIterator_;if(b)return this.yieldAllStep_("return"in b?b["return"]:function(c){return{value:c,done:!0}},a,this.context_.return);this.context_.return(a);return this.nextStep_()};
26
26
  $jscomp.generator.Engine_.prototype.throw_=function(a){this.context_.start_();if(this.context_.yieldAllIterator_)return this.yieldAllStep_(this.context_.yieldAllIterator_["throw"],a,this.context_.next_);this.context_.throw_(a);return this.nextStep_()};
27
27
  $jscomp.generator.Engine_.prototype.yieldAllStep_=function(a,b,c){try{var d=a.call(this.context_.yieldAllIterator_,b);$jscomp.generator.ensureIteratorResultIsObject_(d);if(!d.done)return this.context_.stop_(),d;var e=d.value}catch(f){return this.context_.yieldAllIterator_=null,this.context_.throw_(f),this.nextStep_()}this.context_.yieldAllIterator_=null;c.call(this.context_,e);return this.nextStep_()};
28
- $jscomp.generator.Engine_.prototype.nextStep_=function(){for(;this.context_.nextAddress;)try{var a=this.program_(this.context_);if(a)return this.context_.stop_(),{value:a.value,done:!1}}catch(b){this.context_.yieldResult=void 0,this.context_.throw_(b)}this.context_.stop_();if(this.context_.abruptCompletion_){a=this.context_.abruptCompletion_;this.context_.abruptCompletion_=null;if(a.isException)throw a.exception;return{value:a["return"],done:!0}}return{value:void 0,done:!0}};
29
- $jscomp.generator.Generator_=function(a){this.next=function(b){return a.next_(b)};this["throw"]=function(b){return a.throw_(b)};this["return"]=function(b){return a.return_(b)};this[Symbol.iterator]=function(){return this}};$jscomp.generator.createGenerator=function(a,b){var c=new $jscomp.generator.Generator_(new $jscomp.generator.Engine_(b));$jscomp.setPrototypeOf&&a.prototype&&$jscomp.setPrototypeOf(c,a.prototype);return c};
30
- $jscomp.asyncExecutePromiseGenerator=function(a){function b(d){return a.next(d)}function c(d){return a["throw"](d)}return new Promise(function(d,e){function f(g){g.done?d(g.value):Promise.resolve(g.value).then(b,c).then(f,e)}f(a.next())})};$jscomp.asyncExecutePromiseGeneratorFunction=function(a){return $jscomp.asyncExecutePromiseGenerator(a())};$jscomp.asyncExecutePromiseGeneratorProgram=function(a){return $jscomp.asyncExecutePromiseGenerator(new $jscomp.generator.Generator_(new $jscomp.generator.Engine_(a)))};
28
+ $jscomp.generator.Engine_.prototype.nextStep_=function(){for(;this.context_.nextAddress;)try{var a=this.program_(this.context_);if(a)return this.context_.stop_(),{value:a.value,done:!1}}catch(b){this.context_.yieldResult=void 0,this.context_.throw_(b)}this.context_.stop_();if(this.context_.abruptCompletion_){a=this.context_.abruptCompletion_;this.context_.abruptCompletion_=null;if(a.isException)throw a.exception;return{value:a.return,done:!0}}return{value:void 0,done:!0}};
29
+ $jscomp.generator.Generator_=function(a){this.next=function(b){return a.next_(b)};this.throw=function(b){return a.throw_(b)};this.return=function(b){return a.return_(b)};this[Symbol.iterator]=function(){return this}};$jscomp.generator.createGenerator=function(a,b){b=new $jscomp.generator.Generator_(new $jscomp.generator.Engine_(b));$jscomp.setPrototypeOf&&a.prototype&&$jscomp.setPrototypeOf(b,a.prototype);return b};
30
+ $jscomp.asyncExecutePromiseGenerator=function(a){function b(d){return a.next(d)}function c(d){return a.throw(d)}return new Promise(function(d,e){function f(g){g.done?d(g.value):Promise.resolve(g.value).then(b,c).then(f,e)}f(a.next())})};$jscomp.asyncExecutePromiseGeneratorFunction=function(a){return $jscomp.asyncExecutePromiseGenerator(a())};$jscomp.asyncExecutePromiseGeneratorProgram=function(a){return $jscomp.asyncExecutePromiseGenerator(new $jscomp.generator.Generator_(new $jscomp.generator.Engine_(a)))};
31
31
  $jscomp.polyfill("Reflect",function(a){return a?a:{}},"es6","es3");$jscomp.polyfill("Reflect.construct",function(a){return $jscomp.construct},"es6","es3");$jscomp.polyfill("Reflect.setPrototypeOf",function(a){if(a)return a;if($jscomp.setPrototypeOf){var b=$jscomp.setPrototypeOf;return function(c,d){try{return b(c,d),!0}catch(e){return!1}}}return null},"es6","es5");$jscomp.initSymbol=function(){};
32
32
  $jscomp.polyfill("Symbol",function(a){if(a)return a;var b=function(f,g){this.$jscomp$symbol$id_=f;$jscomp.defineProperty(this,"description",{configurable:!0,writable:!0,value:g})};b.prototype.toString=function(){return this.$jscomp$symbol$id_};var c="jscomp_symbol_"+(1E9*Math.random()>>>0)+"_",d=0,e=function(f){if(this instanceof e)throw new TypeError("Symbol is not a constructor");return new b(c+(f||"")+"_"+d++,f)};return e},"es6","es3");
33
33
  $jscomp.polyfill("Symbol.iterator",function(a){if(a)return a;a=Symbol("Symbol.iterator");for(var b="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),c=0;c<b.length;c++){var d=$jscomp.global[b[c]];"function"===typeof d&&"function"!=typeof d.prototype[a]&&$jscomp.defineProperty(d.prototype,a,{configurable:!0,writable:!0,value:function(){return $jscomp.iteratorPrototype($jscomp.arrayIteratorImpl(this))}})}return a},"es6",
@@ -38,31 +38,31 @@ try{g(h.resolve,h.reject)}catch(k){h.reject(k)}};e.prototype.createResolveAndRej
38
38
  this.fulfill_(g)}};e.prototype.resolveToNonPromiseObj_=function(g){var h=void 0;try{h=g.then}catch(k){this.reject_(k);return}"function"==typeof h?this.settleSameAsThenable_(h,g):this.fulfill_(g)};e.prototype.reject_=function(g){this.settle_(2,g)};e.prototype.fulfill_=function(g){this.settle_(1,g)};e.prototype.settle_=function(g,h){if(0!=this.state_)throw Error("Cannot settle("+g+", "+h+"): Promise already settled in state"+this.state_);this.state_=g;this.result_=h;2===this.state_&&this.scheduleUnhandledRejectionCheck_();
39
39
  this.executeOnSettledCallbacks_()};e.prototype.scheduleUnhandledRejectionCheck_=function(){var g=this;d(function(){if(g.notifyUnhandledRejection_()){var h=$jscomp.global.console;"undefined"!==typeof h&&h.error(g.result_)}},1)};e.prototype.notifyUnhandledRejection_=function(){if(this.isRejectionHandled_)return!1;var g=$jscomp.global.CustomEvent,h=$jscomp.global.Event,k=$jscomp.global.dispatchEvent;if("undefined"===typeof k)return!0;"function"===typeof g?g=new g("unhandledrejection",{cancelable:!0}):
40
40
  "function"===typeof h?g=new h("unhandledrejection",{cancelable:!0}):(g=$jscomp.global.document.createEvent("CustomEvent"),g.initCustomEvent("unhandledrejection",!1,!0,g));g.promise=this;g.reason=this.result_;return k(g)};e.prototype.executeOnSettledCallbacks_=function(){if(null!=this.onSettledCallbacks_){for(var g=0;g<this.onSettledCallbacks_.length;++g)f.asyncExecute(this.onSettledCallbacks_[g]);this.onSettledCallbacks_=null}};var f=new b;e.prototype.settleSameAsPromise_=function(g){var h=this.createResolveAndReject_();
41
- g.callWhenSettled_(h.resolve,h.reject)};e.prototype.settleSameAsThenable_=function(g,h){var k=this.createResolveAndReject_();try{g.call(h,k.resolve,k.reject)}catch(l){k.reject(l)}};e.prototype.then=function(g,h){function k(p,q){return"function"==typeof p?function(r){try{l(p(r))}catch(u){m(u)}}:q}var l,m,n=new e(function(p,q){l=p;m=q});this.callWhenSettled_(k(g,l),k(h,m));return n};e.prototype["catch"]=function(g){return this.then(void 0,g)};e.prototype.callWhenSettled_=function(g,h){function k(){switch(l.state_){case 1:g(l.result_);
41
+ g.callWhenSettled_(h.resolve,h.reject)};e.prototype.settleSameAsThenable_=function(g,h){var k=this.createResolveAndReject_();try{g.call(h,k.resolve,k.reject)}catch(l){k.reject(l)}};e.prototype.then=function(g,h){function k(p,q){return"function"==typeof p?function(t){try{l(p(t))}catch(r){m(r)}}:q}var l,m,n=new e(function(p,q){l=p;m=q});this.callWhenSettled_(k(g,l),k(h,m));return n};e.prototype.catch=function(g){return this.then(void 0,g)};e.prototype.callWhenSettled_=function(g,h){function k(){switch(l.state_){case 1:g(l.result_);
42
42
  break;case 2:h(l.result_);break;default:throw Error("Unexpected state: "+l.state_);}}var l=this;null==this.onSettledCallbacks_?f.asyncExecute(k):this.onSettledCallbacks_.push(k);this.isRejectionHandled_=!0};e.resolve=c;e.reject=function(g){return new e(function(h,k){k(g)})};e.race=function(g){return new e(function(h,k){for(var l=$jscomp.makeIterator(g),m=l.next();!m.done;m=l.next())c(m.value).callWhenSettled_(h,k)})};e.all=function(g){var h=$jscomp.makeIterator(g),k=h.next();return k.done?c([]):new e(function(l,
43
- m){function n(r){return function(u){p[r]=u;q--;0==q&&l(p)}}var p=[],q=0;do p.push(void 0),q++,c(k.value).callWhenSettled_(n(p.length-1),m),k=h.next();while(!k.done)})};return e},"es6","es3");$jscomp.checkEs6ConformanceViaProxy=function(){try{var a={},b=Object.create(new $jscomp.global.Proxy(a,{get:function(c,d,e){return c==a&&"q"==d&&e==b}}));return!0===b.q}catch(c){return!1}};$jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS=!1;$jscomp.ES6_CONFORMANCE=$jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS&&$jscomp.checkEs6ConformanceViaProxy();
43
+ m){function n(t){return function(r){p[t]=r;q--;0==q&&l(p)}}var p=[],q=0;do p.push(void 0),q++,c(k.value).callWhenSettled_(n(p.length-1),m),k=h.next();while(!k.done)})};return e},"es6","es3");$jscomp.checkEs6ConformanceViaProxy=function(){try{var a={},b=Object.create(new $jscomp.global.Proxy(a,{get:function(c,d,e){return c==a&&"q"==d&&e==b}}));return!0===b.q}catch(c){return!1}};$jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS=!1;$jscomp.ES6_CONFORMANCE=$jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS&&$jscomp.checkEs6ConformanceViaProxy();
44
44
  $jscomp.owns=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)};
45
- $jscomp.polyfill("WeakMap",function(a){function b(){if(!a||!Object.seal)return!1;try{var l=Object.seal({}),m=Object.seal({}),n=new a([[l,2],[m,3]]);if(2!=n.get(l)||3!=n.get(m))return!1;n["delete"](l);n.set(m,4);return!n.has(l)&&4==n.get(m)}catch(p){return!1}}function c(){}function d(l){var m=typeof l;return"object"===m&&null!==l||"function"===m}function e(l){if(!$jscomp.owns(l,g)){var m=new c;$jscomp.defineProperty(l,g,{value:m})}}function f(l){if(!$jscomp.ISOLATE_POLYFILLS){var m=Object[l];m&&(Object[l]=
45
+ $jscomp.polyfill("WeakMap",function(a){function b(){if(!a||!Object.seal)return!1;try{var l=Object.seal({}),m=Object.seal({}),n=new a([[l,2],[m,3]]);if(2!=n.get(l)||3!=n.get(m))return!1;n.delete(l);n.set(m,4);return!n.has(l)&&4==n.get(m)}catch(p){return!1}}function c(){}function d(l){var m=typeof l;return"object"===m&&null!==l||"function"===m}function e(l){if(!$jscomp.owns(l,g)){var m=new c;$jscomp.defineProperty(l,g,{value:m})}}function f(l){if(!$jscomp.ISOLATE_POLYFILLS){var m=Object[l];m&&(Object[l]=
46
46
  function(n){if(n instanceof c)return n;Object.isExtensible(n)&&e(n);return m(n)})}}if($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS){if(a&&$jscomp.ES6_CONFORMANCE)return a}else if(b())return a;var g="$jscomp_hidden_"+Math.random();f("freeze");f("preventExtensions");f("seal");var h=0,k=function(l){this.id_=(h+=Math.random()+1).toString();if(l){l=$jscomp.makeIterator(l);for(var m;!(m=l.next()).done;)m=m.value,this.set(m[0],m[1])}};k.prototype.set=function(l,m){if(!d(l))throw Error("Invalid WeakMap key");
47
- e(l);if(!$jscomp.owns(l,g))throw Error("WeakMap key fail: "+l);l[g][this.id_]=m;return this};k.prototype.get=function(l){return d(l)&&$jscomp.owns(l,g)?l[g][this.id_]:void 0};k.prototype.has=function(l){return d(l)&&$jscomp.owns(l,g)&&$jscomp.owns(l[g],this.id_)};k.prototype["delete"]=function(l){return d(l)&&$jscomp.owns(l,g)&&$jscomp.owns(l[g],this.id_)?delete l[g][this.id_]:!1};return k},"es6","es3");$jscomp.MapEntry=function(){};
47
+ e(l);if(!$jscomp.owns(l,g))throw Error("WeakMap key fail: "+l);l[g][this.id_]=m;return this};k.prototype.get=function(l){return d(l)&&$jscomp.owns(l,g)?l[g][this.id_]:void 0};k.prototype.has=function(l){return d(l)&&$jscomp.owns(l,g)&&$jscomp.owns(l[g],this.id_)};k.prototype.delete=function(l){return d(l)&&$jscomp.owns(l,g)&&$jscomp.owns(l[g],this.id_)?delete l[g][this.id_]:!1};return k},"es6","es3");$jscomp.MapEntry=function(){};
48
48
  $jscomp.polyfill("Map",function(a){function b(){if($jscomp.ASSUME_NO_NATIVE_MAP||!a||"function"!=typeof a||!a.prototype.entries||"function"!=typeof Object.seal)return!1;try{var k=Object.seal({x:4}),l=new a($jscomp.makeIterator([[k,"s"]]));if("s"!=l.get(k)||1!=l.size||l.get({x:4})||l.set({x:4},"t")!=l||2!=l.size)return!1;var m=l.entries(),n=m.next();if(n.done||n.value[0]!=k||"s"!=n.value[1])return!1;n=m.next();return n.done||4!=n.value[0].x||"t"!=n.value[1]||!m.next().done?!1:!0}catch(p){return!1}}
49
49
  if($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS){if(a&&$jscomp.ES6_CONFORMANCE)return a}else if(b())return a;var c=new WeakMap,d=function(k){this.data_={};this.head_=g();this.size=0;if(k){k=$jscomp.makeIterator(k);for(var l;!(l=k.next()).done;)l=l.value,this.set(l[0],l[1])}};d.prototype.set=function(k,l){k=0===k?0:k;var m=e(this,k);m.list||(m.list=this.data_[m.id]=[]);m.entry?m.entry.value=l:(m.entry={next:this.head_,previous:this.head_.previous,head:this.head_,key:k,value:l},m.list.push(m.entry),
50
- this.head_.previous.next=m.entry,this.head_.previous=m.entry,this.size++);return this};d.prototype["delete"]=function(k){k=e(this,k);return k.entry&&k.list?(k.list.splice(k.index,1),k.list.length||delete this.data_[k.id],k.entry.previous.next=k.entry.next,k.entry.next.previous=k.entry.previous,k.entry.head=null,this.size--,!0):!1};d.prototype.clear=function(){this.data_={};this.head_=this.head_.previous=g();this.size=0};d.prototype.has=function(k){return!!e(this,k).entry};d.prototype.get=function(k){return(k=
50
+ this.head_.previous.next=m.entry,this.head_.previous=m.entry,this.size++);return this};d.prototype.delete=function(k){k=e(this,k);return k.entry&&k.list?(k.list.splice(k.index,1),k.list.length||delete this.data_[k.id],k.entry.previous.next=k.entry.next,k.entry.next.previous=k.entry.previous,k.entry.head=null,this.size--,!0):!1};d.prototype.clear=function(){this.data_={};this.head_=this.head_.previous=g();this.size=0};d.prototype.has=function(k){return!!e(this,k).entry};d.prototype.get=function(k){return(k=
51
51
  e(this,k).entry)&&k.value};d.prototype.entries=function(){return f(this,function(k){return[k.key,k.value]})};d.prototype.keys=function(){return f(this,function(k){return k.key})};d.prototype.values=function(){return f(this,function(k){return k.value})};d.prototype.forEach=function(k,l){for(var m=this.entries(),n;!(n=m.next()).done;)n=n.value,k.call(l,n[1],n[0],this)};d.prototype[Symbol.iterator]=d.prototype.entries;var e=function(k,l){var m=l&&typeof l;"object"==m||"function"==m?c.has(l)?m=c.get(l):
52
- (m=""+ ++h,c.set(l,m)):m="p_"+l;var n=k.data_[m];if(n&&$jscomp.owns(k.data_,m))for(var p=0;p<n.length;p++){var q=n[p];if(l!==l&&q.key!==q.key||l===q.key)return{id:m,list:n,index:p,entry:q}}return{id:m,list:n,index:-1,entry:void 0}},f=function(k,l){var m=k.head_;return $jscomp.iteratorPrototype(function(){if(m){for(;m.head!=k.head_;)m=m.previous;for(;m.next!=m.head;)return m=m.next,{done:!1,value:l(m)};m=null}return{done:!0,value:void 0}})},g=function(){var k={};return k.previous=k.next=k.head=k},
53
- h=0;return d},"es6","es3");$jscomp.polyfill("Object.is",function(a){return a?a:function(b,c){return b===c?0!==b||1/b===1/c:b!==b&&c!==c}},"es6","es3");$jscomp.polyfill("Array.prototype.includes",function(a){return a?a:function(b,c){var d=this;d instanceof String&&(d=String(d));var e=d.length,f=c||0;for(0>f&&(f=Math.max(f+e,0));f<e;f++){var g=d[f];if(g===b||Object.is(g,b))return!0}return!1}},"es7","es3");
52
+ (m=""+ ++h,c.set(l,m)):m="p_"+l;var n=k.data_[m];if(n&&$jscomp.owns(k.data_,m))for(k=0;k<n.length;k++){var p=n[k];if(l!==l&&p.key!==p.key||l===p.key)return{id:m,list:n,index:k,entry:p}}return{id:m,list:n,index:-1,entry:void 0}},f=function(k,l){var m=k.head_;return $jscomp.iteratorPrototype(function(){if(m){for(;m.head!=k.head_;)m=m.previous;for(;m.next!=m.head;)return m=m.next,{done:!1,value:l(m)};m=null}return{done:!0,value:void 0}})},g=function(){var k={};return k.previous=k.next=k.head=k},h=0;
53
+ return d},"es6","es3");$jscomp.polyfill("Object.is",function(a){return a?a:function(b,c){return b===c?0!==b||1/b===1/c:b!==b&&c!==c}},"es6","es3");$jscomp.polyfill("Array.prototype.includes",function(a){return a?a:function(b,c){var d=this;d instanceof String&&(d=String(d));var e=d.length;c=c||0;for(0>c&&(c=Math.max(c+e,0));c<e;c++){var f=d[c];if(f===b||Object.is(f,b))return!0}return!1}},"es7","es3");
54
54
  $jscomp.checkStringArgs=function(a,b,c){if(null==a)throw new TypeError("The 'this' value for String.prototype."+c+" must not be null or undefined");if(b instanceof RegExp)throw new TypeError("First argument to String.prototype."+c+" must not be a regular expression");return a+""};$jscomp.polyfill("String.prototype.includes",function(a){return a?a:function(b,c){return-1!==$jscomp.checkStringArgs(this,b,"includes").indexOf(b,c||0)}},"es6","es3");
55
55
  $jscomp.iteratorFromArray=function(a,b){a instanceof String&&(a+="");var c=0,d=!1,e={next:function(){if(!d&&c<a.length){var f=c++;return{value:b(f,a[f]),done:!1}}d=!0;return{done:!0,value:void 0}}};e[Symbol.iterator]=function(){return e};return e};$jscomp.polyfill("Array.prototype.entries",function(a){return a?a:function(){return $jscomp.iteratorFromArray(this,function(b,c){return[b,c]})}},"es6","es3");
56
56
  $jscomp.assign=$jscomp.TRUST_ES6_POLYFILLS&&"function"==typeof Object.assign?Object.assign:function(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c];if(d)for(var e in d)$jscomp.owns(d,e)&&(a[e]=d[e])}return a};$jscomp.polyfill("Object.assign",function(a){return a||$jscomp.assign},"es6","es3");$jscomp.polyfill("Array.prototype.keys",function(a){return a?a:function(){return $jscomp.iteratorFromArray(this,function(b){return b})}},"es6","es3");
57
57
  $jscomp.polyfill("Array.from",function(a){return a?a:function(b,c,d){c=null!=c?c:function(h){return h};var e=[],f="undefined"!=typeof Symbol&&Symbol.iterator&&b[Symbol.iterator];if("function"==typeof f){b=f.call(b);for(var g=0;!(f=b.next()).done;)e.push(c.call(d,f.value,g++))}else for(f=b.length,g=0;g<f;g++)e.push(c.call(d,b[g],g));return e}},"es6","es3");
58
58
  $jscomp.polyfill("Set",function(a){function b(){if($jscomp.ASSUME_NO_NATIVE_SET||!a||"function"!=typeof a||!a.prototype.entries||"function"!=typeof Object.seal)return!1;try{var d=Object.seal({x:4}),e=new a($jscomp.makeIterator([d]));if(!e.has(d)||1!=e.size||e.add(d)!=e||1!=e.size||e.add({x:4})!=e||2!=e.size)return!1;var f=e.entries(),g=f.next();if(g.done||g.value[0]!=d||g.value[1]!=d)return!1;g=f.next();return g.done||g.value[0]==d||4!=g.value[0].x||g.value[1]!=g.value[0]?!1:f.next().done}catch(h){return!1}}
59
- if($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS){if(a&&$jscomp.ES6_CONFORMANCE)return a}else if(b())return a;var c=function(d){this.map_=new Map;if(d){d=$jscomp.makeIterator(d);for(var e;!(e=d.next()).done;)this.add(e.value)}this.size=this.map_.size};c.prototype.add=function(d){d=0===d?0:d;this.map_.set(d,d);this.size=this.map_.size;return this};c.prototype["delete"]=function(d){d=this.map_["delete"](d);this.size=this.map_.size;return d};c.prototype.clear=function(){this.map_.clear();this.size=0};
60
- c.prototype.has=function(d){return this.map_.has(d)};c.prototype.entries=function(){return this.map_.entries()};c.prototype.values=function(){return this.map_.values()};c.prototype.keys=c.prototype.values;c.prototype[Symbol.iterator]=c.prototype.values;c.prototype.forEach=function(d,e){var f=this;this.map_.forEach(function(g){return d.call(e,g,g,f)})};return c},"es6","es3");
59
+ if($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS){if(a&&$jscomp.ES6_CONFORMANCE)return a}else if(b())return a;var c=function(d){this.map_=new Map;if(d){d=$jscomp.makeIterator(d);for(var e;!(e=d.next()).done;)this.add(e.value)}this.size=this.map_.size};c.prototype.add=function(d){d=0===d?0:d;this.map_.set(d,d);this.size=this.map_.size;return this};c.prototype.delete=function(d){d=this.map_.delete(d);this.size=this.map_.size;return d};c.prototype.clear=function(){this.map_.clear();this.size=0};c.prototype.has=
60
+ function(d){return this.map_.has(d)};c.prototype.entries=function(){return this.map_.entries()};c.prototype.values=function(){return this.map_.values()};c.prototype.keys=c.prototype.values;c.prototype[Symbol.iterator]=c.prototype.values;c.prototype.forEach=function(d,e){var f=this;this.map_.forEach(function(g){return d.call(e,g,g,f)})};return c},"es6","es3");
61
61
  $jscomp.polyfill("String.prototype.replaceAll",function(a){return a?a:function(b,c){if(b instanceof RegExp&&!b.global)throw new TypeError("String.prototype.replaceAll called with a non-global RegExp argument.");return b instanceof RegExp?this.replace(b,c):this.replace(new RegExp(String(b).replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08"),"g"),c)}},"es_2021","es3");
62
- $jscomp.polyfill("String.prototype.startsWith",function(a){return a?a:function(b,c){var d=$jscomp.checkStringArgs(this,b,"startsWith");b+="";for(var e=d.length,f=b.length,g=Math.max(0,Math.min(c|0,d.length)),h=0;h<f&&g<e;)if(d[g++]!=b[h++])return!1;return h>=f}},"es6","es3");$jscomp.polyfill("Object.entries",function(a){return a?a:function(b){var c=[],d;for(d in b)$jscomp.owns(b,d)&&c.push([d,b[d]]);return c}},"es8","es3");
62
+ $jscomp.polyfill("String.prototype.startsWith",function(a){return a?a:function(b,c){var d=$jscomp.checkStringArgs(this,b,"startsWith");b+="";var e=d.length,f=b.length;c=Math.max(0,Math.min(c|0,d.length));for(var g=0;g<f&&c<e;)if(d[c++]!=b[g++])return!1;return g>=f}},"es6","es3");$jscomp.polyfill("Object.entries",function(a){return a?a:function(b){var c=[],d;for(d in b)$jscomp.owns(b,d)&&c.push([d,b[d]]);return c}},"es8","es3");
63
63
  $jscomp.polyfill("Array.prototype.values",function(a){return a?a:function(){return $jscomp.iteratorFromArray(this,function(b,c){return c})}},"es8","es3");$jscomp.polyfill("Object.values",function(a){return a?a:function(b){var c=[],d;for(d in b)$jscomp.owns(b,d)&&c.push(b[d]);return c}},"es8","es3");var COMPILED=!0,goog=goog||{};goog.global=this||self;
64
64
  goog.exportPath_=function(a,b,c,d){a=a.split(".");d=d||goog.global;a[0]in d||"undefined"==typeof d.execScript||d.execScript("var "+a[0]);for(var e;a.length&&(e=a.shift());)if(a.length||void 0===b)d=d[e]&&d[e]!==Object.prototype[e]?d[e]:d[e]={};else if(!c&&goog.isObject(b)&&goog.isObject(d[e]))for(var f in b)b.hasOwnProperty(f)&&(d[e][f]=b[f]);else d[e]=b};
65
- goog.define=function(a,b){var c=b;if(!COMPILED){var d=goog.global.CLOSURE_UNCOMPILED_DEFINES,e=goog.global.CLOSURE_DEFINES;d&&void 0===d.nodeType&&Object.prototype.hasOwnProperty.call(d,a)?c=d[a]:e&&void 0===e.nodeType&&Object.prototype.hasOwnProperty.call(e,a)&&(c=e[a])}return c};goog.FEATURESET_YEAR=2012;goog.DEBUG=!0;goog.LOCALE="en";goog.getLocale=function(){return goog.LOCALE};goog.TRUSTED_SITE=!0;goog.DISALLOW_TEST_ONLY_CODE=COMPILED&&!goog.DEBUG;goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING=!1;
65
+ goog.define=function(a,b){if(!COMPILED){var c=goog.global.CLOSURE_UNCOMPILED_DEFINES,d=goog.global.CLOSURE_DEFINES;c&&void 0===c.nodeType&&Object.prototype.hasOwnProperty.call(c,a)?b=c[a]:d&&void 0===d.nodeType&&Object.prototype.hasOwnProperty.call(d,a)&&(b=d[a])}return b};goog.FEATURESET_YEAR=2012;goog.DEBUG=!0;goog.LOCALE="en";goog.getLocale=function(){return goog.LOCALE};goog.TRUSTED_SITE=!0;goog.DISALLOW_TEST_ONLY_CODE=COMPILED&&!goog.DEBUG;goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING=!1;
66
66
  goog.provide=function(a){if(goog.isInModuleLoader_())throw Error("goog.provide cannot be used within a module.");if(!COMPILED&&goog.isProvided_(a))throw Error('Namespace "'+a+'" already declared.');goog.constructNamespace_(a)};goog.constructNamespace_=function(a,b,c){if(!COMPILED){delete goog.implicitNamespaces_[a];for(var d=a;(d=d.substring(0,d.lastIndexOf(".")))&&!goog.getObjectByName(d);)goog.implicitNamespaces_[d]=!0}goog.exportPath_(a,b,c)};goog.NONCE_PATTERN_=/^[\w+/_-]+[=]{0,2}$/;
67
67
  goog.getScriptNonce_=function(a){a=(a||goog.global).document;return(a=a.querySelector&&a.querySelector("script[nonce]"))&&(a=a.nonce||a.getAttribute("nonce"))&&goog.NONCE_PATTERN_.test(a)?a:""};goog.VALID_MODULE_RE_=/^[a-zA-Z_$][a-zA-Z0-9._$]*$/;
68
68
  goog.module=function(a){if("string"!==typeof a||!a||-1==a.search(goog.VALID_MODULE_RE_))throw Error("Invalid module identifier");if(!goog.isInGoogModuleLoader_())throw Error("Module "+a+" has been loaded incorrectly. Note, modules cannot be loaded as normal scripts. They require some kind of pre-processing step. You're likely trying to load a module via a script tag or as a part of a concatenated bundle without rewriting the module. For more info see: https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide.");if(goog.moduleLoaderState_.moduleName)throw Error("goog.module may only be called once per module.");
@@ -71,59 +71,53 @@ goog.isInModuleLoader_=function(){return goog.isInGoogModuleLoader_()||goog.isIn
71
71
  goog.module.declareLegacyNamespace=function(){if(!COMPILED&&!goog.isInGoogModuleLoader_())throw Error("goog.module.declareLegacyNamespace must be called from within a goog.module");if(!COMPILED&&!goog.moduleLoaderState_.moduleName)throw Error("goog.module must be called prior to goog.module.declareLegacyNamespace.");goog.moduleLoaderState_.declareLegacyNamespace=!0};
72
72
  goog.declareModuleId=function(a){if(!COMPILED){if(!goog.isInEs6ModuleLoader_())throw Error("goog.declareModuleId may only be called from within an ES6 module");if(goog.moduleLoaderState_&&goog.moduleLoaderState_.moduleName)throw Error("goog.declareModuleId may only be called once per module.");if(a in goog.loadedModules_)throw Error('Module with namespace "'+a+'" already exists.');}if(goog.moduleLoaderState_)goog.moduleLoaderState_.moduleName=a;else{var b=goog.global.$jscomp;if(!b||"function"!=typeof b.getCurrentModulePath)throw Error('Module with namespace "'+
73
73
  a+'" has been loaded incorrectly.');b=b.require(b.getCurrentModulePath());goog.loadedModules_[a]={exports:b,type:goog.ModuleType.ES6,moduleId:a}}};goog.setTestOnly=function(a){if(goog.DISALLOW_TEST_ONLY_CODE)throw a=a||"",Error("Importing test-only code into non-debug environment"+(a?": "+a:"."));};goog.forwardDeclare=function(a){};COMPILED||(goog.isProvided_=function(a){return a in goog.loadedModules_||!goog.implicitNamespaces_[a]&&null!=goog.getObjectByName(a)},goog.implicitNamespaces_={"goog.module":!0});
74
- goog.getObjectByName=function(a,b){for(var c=a.split("."),d=b||goog.global,e=0;e<c.length;e++)if(d=d[c[e]],null==d)return null;return d};goog.addDependency=function(a,b,c,d){!COMPILED&&goog.DEPENDENCIES_ENABLED&&goog.debugLoader_.addDependency(a,b,c,d)};goog.ENABLE_DEBUG_LOADER=!0;goog.logToConsole_=function(a){goog.global.console&&goog.global.console.error(a)};
75
- goog.require=function(a){if(!COMPILED){goog.ENABLE_DEBUG_LOADER&&goog.debugLoader_.requested(a);if(goog.isProvided_(a)){if(goog.isInModuleLoader_())return goog.module.getInternal_(a)}else if(goog.ENABLE_DEBUG_LOADER){var b=goog.moduleLoaderState_;goog.moduleLoaderState_=null;try{goog.debugLoader_.load_(a)}finally{goog.moduleLoaderState_=b}}return null}};goog.requireType=function(a){return{}};goog.basePath="";goog.nullFunction=function(){};
76
- goog.abstractMethod=function(){throw Error("unimplemented abstract method");};goog.addSingletonGetter=function(a){a.instance_=void 0;a.getInstance=function(){if(a.instance_)return a.instance_;goog.DEBUG&&(goog.instantiatedSingletons_[goog.instantiatedSingletons_.length]=a);return a.instance_=new a}};goog.instantiatedSingletons_=[];goog.LOAD_MODULE_USING_EVAL=!0;goog.SEAL_MODULE_EXPORTS=goog.DEBUG;goog.loadedModules_={};goog.DEPENDENCIES_ENABLED=!COMPILED&&goog.ENABLE_DEBUG_LOADER;goog.TRANSPILE="detect";
77
- goog.ASSUME_ES_MODULES_TRANSPILED=!1;goog.TRANSPILE_TO_LANGUAGE="";goog.TRANSPILER="transpile.js";goog.TRUSTED_TYPES_POLICY_NAME="goog";goog.hasBadLetScoping=null;
74
+ goog.getObjectByName=function(a,b){a=a.split(".");b=b||goog.global;for(var c=0;c<a.length;c++)if(b=b[a[c]],null==b)return null;return b};goog.addDependency=function(a,b,c,d){!COMPILED&&goog.DEPENDENCIES_ENABLED&&goog.debugLoader_.addDependency(a,b,c,d)};goog.ENABLE_DEBUG_LOADER=!0;goog.logToConsole_=function(a){goog.global.console&&goog.global.console.error(a)};
75
+ goog.require=function(a){if(!COMPILED){goog.ENABLE_DEBUG_LOADER&&goog.debugLoader_.requested(a);if(goog.isProvided_(a)){if(goog.isInModuleLoader_())return goog.module.getInternal_(a)}else if(goog.ENABLE_DEBUG_LOADER){var b=goog.moduleLoaderState_;goog.moduleLoaderState_=null;try{goog.debugLoader_.load_(a)}finally{goog.moduleLoaderState_=b}}return null}};goog.requireType=function(a){return{}};goog.basePath="";goog.abstractMethod=function(){throw Error("unimplemented abstract method");};
76
+ goog.addSingletonGetter=function(a){a.instance_=void 0;a.getInstance=function(){if(a.instance_)return a.instance_;goog.DEBUG&&(goog.instantiatedSingletons_[goog.instantiatedSingletons_.length]=a);return a.instance_=new a}};goog.instantiatedSingletons_=[];goog.LOAD_MODULE_USING_EVAL=!0;goog.SEAL_MODULE_EXPORTS=goog.DEBUG;goog.loadedModules_={};goog.DEPENDENCIES_ENABLED=!COMPILED&&goog.ENABLE_DEBUG_LOADER;goog.TRANSPILE="detect";goog.ASSUME_ES_MODULES_TRANSPILED=!1;goog.TRUSTED_TYPES_POLICY_NAME="goog";
77
+ goog.hasBadLetScoping=null;
78
78
  goog.loadModule=function(a){var b=goog.moduleLoaderState_;try{goog.moduleLoaderState_={moduleName:"",declareLegacyNamespace:!1,type:goog.ModuleType.GOOG};var c={},d=c;if("function"===typeof a)d=a.call(void 0,d);else if("string"===typeof a)d=goog.loadModuleFromSource_.call(void 0,d,a);else throw Error("Invalid module definition");var e=goog.moduleLoaderState_.moduleName;if("string"===typeof e&&e)goog.moduleLoaderState_.declareLegacyNamespace?goog.constructNamespace_(e,d,c!==d):goog.SEAL_MODULE_EXPORTS&&
79
79
  Object.seal&&"object"==typeof d&&null!=d&&Object.seal(d),goog.loadedModules_[e]={exports:d,type:goog.ModuleType.GOOG,moduleId:goog.moduleLoaderState_.moduleName};else throw Error('Invalid module name "'+e+'"');}finally{goog.moduleLoaderState_=b}};goog.loadModuleFromSource_=function(a,b){eval(goog.CLOSURE_EVAL_PREFILTER_.createScript(b));return a};goog.normalizePath_=function(a){a=a.split("/");for(var b=0;b<a.length;)"."==a[b]?a.splice(b,1):b&&".."==a[b]&&a[b-1]&&".."!=a[b-1]?a.splice(--b,2):b++;return a.join("/")};
80
- goog.loadFileSync_=function(a){if(goog.global.CLOSURE_LOAD_FILE_SYNC)return goog.global.CLOSURE_LOAD_FILE_SYNC(a);try{var b=new goog.global.XMLHttpRequest;b.open("get",a,!1);b.send();return 0==b.status||200==b.status?b.responseText:null}catch(c){return null}};
81
- goog.transpile_=function(a,b,c){var d=goog.global.$jscomp;d||(goog.global.$jscomp=d={});var e=d.transpile;if(!e){var f=goog.basePath+goog.TRANSPILER,g=goog.loadFileSync_(f);if(g){(function(){(0,eval)(g+"\n//# sourceURL="+f)}).call(goog.global);if(goog.global.$gwtExport&&goog.global.$gwtExport.$jscomp&&!goog.global.$gwtExport.$jscomp.transpile)throw Error('The transpiler did not properly export the "transpile" method. $gwtExport: '+JSON.stringify(goog.global.$gwtExport));goog.global.$jscomp.transpile=
82
- goog.global.$gwtExport.$jscomp.transpile;d=goog.global.$jscomp;e=d.transpile}}e||(e=d.transpile=function(h,k){goog.logToConsole_(k+" requires transpilation but no transpiler was found.");return h});return e(a,b,c)};goog.typeOf=function(a){var b=typeof a;return"object"!=b?b:a?Array.isArray(a)?"array":b:"null"};goog.isArrayLike=function(a){var b=goog.typeOf(a);return"array"==b||"object"==b&&"number"==typeof a.length};goog.isDateLike=function(a){return goog.isObject(a)&&"function"==typeof a.getFullYear};
83
- goog.isObject=function(a){var b=typeof a;return"object"==b&&null!=a||"function"==b};goog.getUid=function(a){return Object.prototype.hasOwnProperty.call(a,goog.UID_PROPERTY_)&&a[goog.UID_PROPERTY_]||(a[goog.UID_PROPERTY_]=++goog.uidCounter_)};goog.hasUid=function(a){return!!a[goog.UID_PROPERTY_]};goog.removeUid=function(a){null!==a&&"removeAttribute"in a&&a.removeAttribute(goog.UID_PROPERTY_);try{delete a[goog.UID_PROPERTY_]}catch(b){}};goog.UID_PROPERTY_="closure_uid_"+(1E9*Math.random()>>>0);
84
- goog.uidCounter_=0;goog.cloneObject=function(a){var b=goog.typeOf(a);if("object"==b||"array"==b){if("function"===typeof a.clone)return a.clone();if("undefined"!==typeof Map&&a instanceof Map)return new Map(a);if("undefined"!==typeof Set&&a instanceof Set)return new Set(a);b="array"==b?[]:{};for(var c in a)b[c]=goog.cloneObject(a[c]);return b}return a};goog.bindNative_=function(a,b,c){return a.call.apply(a.bind,arguments)};
80
+ goog.loadFileSync_=function(a){if(goog.global.CLOSURE_LOAD_FILE_SYNC)return goog.global.CLOSURE_LOAD_FILE_SYNC(a);try{var b=new goog.global.XMLHttpRequest;b.open("get",a,!1);b.send();return 0==b.status||200==b.status?b.responseText:null}catch(c){return null}};goog.typeOf=function(a){var b=typeof a;return"object"!=b?b:a?Array.isArray(a)?"array":b:"null"};goog.isArrayLike=function(a){var b=goog.typeOf(a);return"array"==b||"object"==b&&"number"==typeof a.length};
81
+ goog.isDateLike=function(a){return goog.isObject(a)&&"function"==typeof a.getFullYear};goog.isObject=function(a){var b=typeof a;return"object"==b&&null!=a||"function"==b};goog.getUid=function(a){return Object.prototype.hasOwnProperty.call(a,goog.UID_PROPERTY_)&&a[goog.UID_PROPERTY_]||(a[goog.UID_PROPERTY_]=++goog.uidCounter_)};goog.hasUid=function(a){return!!a[goog.UID_PROPERTY_]};goog.removeUid=function(a){null!==a&&"removeAttribute"in a&&a.removeAttribute(goog.UID_PROPERTY_);try{delete a[goog.UID_PROPERTY_]}catch(b){}};
82
+ goog.UID_PROPERTY_="closure_uid_"+(1E9*Math.random()>>>0);goog.uidCounter_=0;goog.cloneObject=function(a){var b=goog.typeOf(a);if("object"==b||"array"==b){if("function"===typeof a.clone)return a.clone();if("undefined"!==typeof Map&&a instanceof Map)return new Map(a);if("undefined"!==typeof Set&&a instanceof Set)return new Set(a);b="array"==b?[]:{};for(var c in a)b[c]=goog.cloneObject(a[c]);return b}return a};goog.bindNative_=function(a,b,c){return a.call.apply(a.bind,arguments)};
85
83
  goog.bindJs_=function(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var e=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(e,d);return a.apply(b,e)}}return function(){return a.apply(b,arguments)}};goog.bind=function(a,b,c){Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?goog.bind=goog.bindNative_:goog.bind=goog.bindJs_;return goog.bind.apply(null,arguments)};
86
- goog.partial=function(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var d=c.slice();d.push.apply(d,arguments);return a.apply(this,d)}};goog.mixin=function(a,b){for(var c in b)a[c]=b[c]};goog.now=function(){return Date.now()};goog.globalEval=function(a){(0,eval)(a)};
87
- goog.getCssName=function(a,b){if("."==String(a).charAt(0))throw Error('className passed in goog.getCssName must not start with ".". You passed: '+a);var c=function(e){return goog.cssNameMapping_[e]||e},d=function(e){e=e.split("-");for(var f=[],g=0;g<e.length;g++)f.push(c(e[g]));return f.join("-")};d=goog.cssNameMapping_?"BY_WHOLE"==goog.cssNameMappingStyle_?c:d:function(e){return e};d=b?a+"-"+d(b):d(a);return goog.global.CLOSURE_CSS_NAME_MAP_FN?goog.global.CLOSURE_CSS_NAME_MAP_FN(d):d};
88
- goog.setCssNameMapping=function(a,b){goog.cssNameMapping_=a;goog.cssNameMappingStyle_=b};!COMPILED&&goog.global.CLOSURE_CSS_NAME_MAPPING&&(goog.cssNameMapping_=goog.global.CLOSURE_CSS_NAME_MAPPING);goog.getMsg=function(a,b,c){c&&c.html&&(a=a.replace(/</g,"&lt;"));c&&c.unescapeHtmlEntities&&(a=a.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&apos;/g,"'").replace(/&quot;/g,'"').replace(/&amp;/g,"&"));b&&(a=a.replace(/\{\$([^}]+)}/g,function(d,e){return null!=b&&e in b?b[e]:d}));return a};
89
- goog.getMsgWithFallback=function(a,b){return a};goog.exportSymbol=function(a,b,c){goog.exportPath_(a,b,!0,c)};goog.exportProperty=function(a,b,c){a[b]=c};goog.inherits=function(a,b){function c(){}c.prototype=b.prototype;a.superClass_=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.base=function(d,e,f){for(var g=Array(arguments.length-2),h=2;h<arguments.length;h++)g[h-2]=arguments[h];return b.prototype[e].apply(d,g)}};
90
- goog.scope=function(a){if(goog.isInModuleLoader_())throw Error("goog.scope is not supported within a module.");a.call(goog.global)};COMPILED||(goog.global.COMPILED=COMPILED);
84
+ goog.partial=function(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var d=c.slice();d.push.apply(d,arguments);return a.apply(this,d)}};goog.now=function(){return Date.now()};goog.globalEval=function(a){(0,eval)(a)};
85
+ goog.getCssName=function(a,b){if("."==String(a).charAt(0))throw Error('className passed in goog.getCssName must not start with ".". You passed: '+a);var c=function(e){return goog.cssNameMapping_[e]||e},d=function(e){e=e.split("-");for(var f=[],g=0;g<e.length;g++)f.push(c(e[g]));return f.join("-")};d=goog.cssNameMapping_?"BY_WHOLE"==goog.cssNameMappingStyle_?c:d:function(e){return e};a=b?a+"-"+d(b):d(a);return goog.global.CLOSURE_CSS_NAME_MAP_FN?goog.global.CLOSURE_CSS_NAME_MAP_FN(a):a};
86
+ goog.setCssNameMapping=function(a,b){goog.cssNameMapping_=a;goog.cssNameMappingStyle_=b};!COMPILED&&goog.global.CLOSURE_CSS_NAME_MAPPING&&(goog.cssNameMapping_=goog.global.CLOSURE_CSS_NAME_MAPPING);goog.GetMsgOptions=function(){};
87
+ goog.getMsg=function(a,b,c){c&&c.html&&(a=a.replace(/</g,"&lt;"));c&&c.unescapeHtmlEntities&&(a=a.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&apos;/g,"'").replace(/&quot;/g,'"').replace(/&amp;/g,"&"));b&&(a=a.replace(/\{\$([^}]+)}/g,function(d,e){return null!=b&&e in b?b[e]:d}));return a};goog.getMsgWithFallback=function(a,b){return a};goog.exportSymbol=function(a,b,c){goog.exportPath_(a,b,!0,c)};goog.exportProperty=function(a,b,c){a[b]=c};
88
+ goog.inherits=function(a,b){function c(){}c.prototype=b.prototype;a.superClass_=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.base=function(d,e,f){for(var g=Array(arguments.length-2),h=2;h<arguments.length;h++)g[h-2]=arguments[h];return b.prototype[e].apply(d,g)}};goog.scope=function(a){if(goog.isInModuleLoader_())throw Error("goog.scope is not supported within a module.");a.call(goog.global)};COMPILED||(goog.global.COMPILED=COMPILED);
91
89
  goog.defineClass=function(a,b){var c=b.constructor,d=b.statics;c&&c!=Object.prototype.constructor||(c=function(){throw Error("cannot instantiate an interface (no constructor defined).");});c=goog.defineClass.createSealingConstructor_(c,a);a&&goog.inherits(c,a);delete b.constructor;delete b.statics;goog.defineClass.applyProperties_(c.prototype,b);null!=d&&(d instanceof Function?d(c):goog.defineClass.applyProperties_(c,d));return c};goog.defineClass.SEAL_CLASS_INSTANCES=goog.DEBUG;
92
90
  goog.defineClass.createSealingConstructor_=function(a,b){return goog.defineClass.SEAL_CLASS_INSTANCES?function(){var c=a.apply(this,arguments)||this;c[goog.UID_PROPERTY_]=c[goog.UID_PROPERTY_];return c}:a};goog.defineClass.OBJECT_PROTOTYPE_FIELDS_="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");
93
91
  goog.defineClass.applyProperties_=function(a,b){for(var c in b)Object.prototype.hasOwnProperty.call(b,c)&&(a[c]=b[c]);for(var d=0;d<goog.defineClass.OBJECT_PROTOTYPE_FIELDS_.length;d++)c=goog.defineClass.OBJECT_PROTOTYPE_FIELDS_[d],Object.prototype.hasOwnProperty.call(b,c)&&(a[c]=b[c])};goog.identity_=function(a){return a};
94
92
  goog.createTrustedTypesPolicy=function(a){var b=null,c=goog.global.trustedTypes;if(!c||!c.createPolicy)return b;try{b=c.createPolicy(a,{createHTML:goog.identity_,createScript:goog.identity_,createScriptURL:goog.identity_})}catch(d){goog.logToConsole_(d.message)}return b};
95
93
  !COMPILED&&goog.DEPENDENCIES_ENABLED&&(goog.isEdge_=function(){return!!(goog.global.navigator&&goog.global.navigator.userAgent?goog.global.navigator.userAgent:"").match(/Edge\/(\d+)(\.\d)*/i)},goog.inHtmlDocument_=function(){var a=goog.global.document;return null!=a&&"write"in a},goog.isDocumentLoading_=function(){var a=goog.global.document;return a.attachEvent?"complete"!=a.readyState:"loading"==a.readyState},goog.findBasePath_=function(){if(void 0!=goog.global.CLOSURE_BASE_PATH&&"string"===typeof goog.global.CLOSURE_BASE_PATH)goog.basePath=
96
- goog.global.CLOSURE_BASE_PATH;else if(goog.inHtmlDocument_()){var a=goog.global.document,b=a.currentScript;a=b?[b]:a.getElementsByTagName("SCRIPT");for(b=a.length-1;0<=b;--b){var c=a[b].src,d=c.lastIndexOf("?");d=-1==d?c.length:d;if("base.js"==c.substr(d-7,7)){goog.basePath=c.substr(0,d-7);break}}}},goog.findBasePath_(),goog.Transpiler=function(){this.requiresTranspilation_=null;this.transpilationTarget_=goog.TRANSPILE_TO_LANGUAGE},goog.Transpiler.prototype.createRequiresTranspilation_=function(){function a(f,
97
- g){e?d[f]=!0:g()?(c=f,d[f]=!1):e=d[f]=!0}function b(f){try{return!!eval(goog.CLOSURE_EVAL_PREFILTER_.createScript(f))}catch(g){return!1}}var c="es3",d={es3:!1},e=!1;a("es5",function(){return b("[1,].length==1")});a("es6",function(){return goog.isEdge_()?!1:b('(()=>{"use strict";class X{constructor(){if(new.target!=String)throw 1;this.x=42}}let q=Reflect.construct(X,[],String);if(q.x!=42||!(q instanceof String))throw 1;for(const a of[2,3]){if(a==2)continue;function f(z={a}){let a=0;return z.a}{function f(){return 0;}}return f()==3}})()')});
98
- a("es7",function(){return b("2**3==8")});a("es8",function(){return b("async()=>1,1")});a("es9",function(){return b("({...rest}={}),1")});a("es_2019",function(){return b('let r;try{r="\u2029"}catch{};r')});a("es_2020",function(){return b("null?.x??1")});a("es_next",function(){return!1});return{target:c,map:d}},goog.Transpiler.prototype.needsTranspile=function(a,b){if("always"==goog.TRANSPILE)return!0;if("never"==goog.TRANSPILE)return!1;if(!this.requiresTranspilation_){var c=this.createRequiresTranspilation_();
99
- this.requiresTranspilation_=c.map;this.transpilationTarget_=this.transpilationTarget_||c.target}if(a in this.requiresTranspilation_)return this.requiresTranspilation_[a]?!0:!goog.inHtmlDocument_()||"es6"!=b||"noModule"in goog.global.document.createElement("script")?!1:!0;throw Error("Unknown language mode: "+a);},goog.Transpiler.prototype.transpile=function(a,b){return goog.transpile_(a,b,this.transpilationTarget_)},goog.transpiler_=new goog.Transpiler,goog.protectScriptTag_=function(a){return a.replace(/<\/(SCRIPT)/ig,
100
- "\\x3c/$1")},goog.DebugLoader_=function(){this.dependencies_={};this.idToPath_={};this.written_={};this.loadingDeps_=[];this.depsToLoad_=[];this.paused_=!1;this.factory_=new goog.DependencyFactory(goog.transpiler_);this.deferredCallbacks_={};this.deferredQueue_=[]},goog.DebugLoader_.prototype.bootstrap=function(a,b){function c(){d&&(goog.global.setTimeout(d,0),d=null)}var d=b;if(a.length){for(var e=[],f=0;f<a.length;f++){var g=this.getPathFromDeps_(a[f]);if(!g)throw Error("Unregonized namespace: "+
101
- a[f]);e.push(this.dependencies_[g])}g=goog.require;var h=0;for(f=0;f<a.length;f++)g(a[f]),e[f].onLoad(function(){++h==a.length&&c()})}else c()},goog.DebugLoader_.prototype.loadClosureDeps=function(){this.depsToLoad_.push(this.factory_.createDependency(goog.normalizePath_(goog.basePath+"deps.js"),"deps.js",[],[],{},!1));this.loadDeps_()},goog.DebugLoader_.prototype.requested=function(a,b){var c=this.getPathFromDeps_(a);if(c&&(b||this.areDepsLoaded_(this.dependencies_[c].requires))){var d=this.deferredCallbacks_[c];
102
- d&&(delete this.deferredCallbacks_[c],d())}},goog.DebugLoader_.prototype.setDependencyFactory=function(a){this.factory_=a},goog.DebugLoader_.prototype.load_=function(a){if(this.getPathFromDeps_(a)){var b=this,c=[],d=function(e){var f=b.getPathFromDeps_(e);if(!f)throw Error("Bad dependency path or symbol: "+e);if(!b.written_[f]){b.written_[f]=!0;e=b.dependencies_[f];for(f=0;f<e.requires.length;f++)goog.isProvided_(e.requires[f])||d(e.requires[f]);c.push(e)}};d(a);a=!!this.depsToLoad_.length;this.depsToLoad_=
103
- this.depsToLoad_.concat(c);this.paused_||a||this.loadDeps_()}else goog.logToConsole_("goog.require could not find: "+a)},goog.DebugLoader_.prototype.loadDeps_=function(){for(var a=this,b=this.paused_;this.depsToLoad_.length&&!b;)(function(){var c=!1,d=a.depsToLoad_.shift(),e=!1;a.loading_(d);var f={pause:function(){if(c)throw Error("Cannot call pause after the call to load.");b=!0},resume:function(){c?a.resume_():b=!1},loaded:function(){if(e)throw Error("Double call to loaded.");e=!0;a.loaded_(d)},
104
- pending:function(){for(var g=[],h=0;h<a.loadingDeps_.length;h++)g.push(a.loadingDeps_[h]);return g},setModuleState:function(g){goog.moduleLoaderState_={type:g,moduleName:"",declareLegacyNamespace:!1}},registerEs6ModuleExports:function(g,h,k){k&&(goog.loadedModules_[k]={exports:h,type:goog.ModuleType.ES6,moduleId:k||""})},registerGoogModuleExports:function(g,h){goog.loadedModules_[g]={exports:h,type:goog.ModuleType.GOOG,moduleId:g}},clearModuleState:function(){goog.moduleLoaderState_=null},defer:function(g){if(c)throw Error("Cannot register with defer after the call to load.");
105
- a.defer_(d,g)},areDepsLoaded:function(){return a.areDepsLoaded_(d.requires)}};try{d.load(f)}finally{c=!0}})();b&&this.pause_()},goog.DebugLoader_.prototype.pause_=function(){this.paused_=!0},goog.DebugLoader_.prototype.resume_=function(){this.paused_&&(this.paused_=!1,this.loadDeps_())},goog.DebugLoader_.prototype.loading_=function(a){this.loadingDeps_.push(a)},goog.DebugLoader_.prototype.loaded_=function(a){for(var b=0;b<this.loadingDeps_.length;b++)if(this.loadingDeps_[b]==a){this.loadingDeps_.splice(b,
106
- 1);break}for(b=0;b<this.deferredQueue_.length;b++)if(this.deferredQueue_[b]==a.path){this.deferredQueue_.splice(b,1);break}if(this.loadingDeps_.length==this.deferredQueue_.length&&!this.depsToLoad_.length)for(;this.deferredQueue_.length;)this.requested(this.deferredQueue_.shift(),!0);a.loaded()},goog.DebugLoader_.prototype.areDepsLoaded_=function(a){for(var b=0;b<a.length;b++){var c=this.getPathFromDeps_(a[b]);if(!c||!(c in this.deferredCallbacks_||goog.isProvided_(a[b])))return!1}return!0},goog.DebugLoader_.prototype.getPathFromDeps_=
107
- function(a){return a in this.idToPath_?this.idToPath_[a]:a in this.dependencies_?a:null},goog.DebugLoader_.prototype.defer_=function(a,b){this.deferredCallbacks_[a.path]=b;this.deferredQueue_.push(a.path)},goog.LoadController=function(){},goog.LoadController.prototype.pause=function(){},goog.LoadController.prototype.resume=function(){},goog.LoadController.prototype.loaded=function(){},goog.LoadController.prototype.pending=function(){},goog.LoadController.prototype.registerEs6ModuleExports=function(a,
108
- b,c){},goog.LoadController.prototype.setModuleState=function(a){},goog.LoadController.prototype.clearModuleState=function(){},goog.LoadController.prototype.defer=function(a){},goog.LoadController.prototype.areDepsLoaded=function(){},goog.Dependency=function(a,b,c,d,e){this.path=a;this.relativePath=b;this.provides=c;this.requires=d;this.loadFlags=e;this.loaded_=!1;this.loadCallbacks_=[]},goog.Dependency.prototype.getPathName=function(){var a=this.path,b=a.indexOf("://");0<=b&&(a=a.substring(b+3),b=
109
- a.indexOf("/"),0<=b&&(a=a.substring(b+1)));return a},goog.Dependency.prototype.onLoad=function(a){this.loaded_?a():this.loadCallbacks_.push(a)},goog.Dependency.prototype.loaded=function(){this.loaded_=!0;var a=this.loadCallbacks_;this.loadCallbacks_=[];for(var b=0;b<a.length;b++)a[b]()},goog.Dependency.defer_=!1,goog.Dependency.callbackMap_={},goog.Dependency.registerCallback_=function(a){var b=Math.random().toString(32);goog.Dependency.callbackMap_[b]=a;return b},goog.Dependency.unregisterCallback_=
110
- function(a){delete goog.Dependency.callbackMap_[a]},goog.Dependency.callback_=function(a,b){if(a in goog.Dependency.callbackMap_){for(var c=goog.Dependency.callbackMap_[a],d=[],e=1;e<arguments.length;e++)d.push(arguments[e]);c.apply(void 0,d)}else throw Error("Callback key "+a+" does not exist (was base.js loaded more than once?).");},goog.Dependency.prototype.load=function(a){if(goog.global.CLOSURE_IMPORT_SCRIPT)goog.global.CLOSURE_IMPORT_SCRIPT(this.path)?a.loaded():a.pause();else if(goog.inHtmlDocument_()){var b=
111
- goog.global.document;if("complete"==b.readyState&&!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING){if(/\bdeps.js$/.test(this.path)){a.loaded();return}throw Error('Cannot write "'+this.path+'" after document load');}var c=goog.getScriptNonce_();if(!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING&&goog.isDocumentLoading_()){var d=function(h){h.readyState&&"complete"!=h.readyState?h.onload=d:(goog.Dependency.unregisterCallback_(e),a.loaded())};var e=goog.Dependency.registerCallback_(d);c=c?' nonce="'+c+'"':"";
112
- var f='<script src="'+this.path+'"'+c+(goog.Dependency.defer_?" defer":"")+' id="script-'+e+'">\x3c/script>';f+="<script"+c+">";f=goog.Dependency.defer_?f+("document.getElementById('script-"+e+"').onload = function() {\n goog.Dependency.callback_('"+e+"', this);\n};\n"):f+("goog.Dependency.callback_('"+e+"', document.getElementById('script-"+e+"'));");f+="\x3c/script>";b.write(goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createHTML(f):f)}else{var g=b.createElement("script");g.defer=goog.Dependency.defer_;
113
- g.async=!1;c&&(g.nonce=c);g.onload=function(){g.onload=null;a.loaded()};g.src=goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createScriptURL(this.path):this.path;b.head.appendChild(g)}}else goog.logToConsole_("Cannot use default debug loader outside of HTML documents."),"deps.js"==this.relativePath?(goog.logToConsole_("Consider setting CLOSURE_IMPORT_SCRIPT before loading base.js, or setting CLOSURE_NO_DEPS to true."),a.loaded()):a.pause()},goog.Es6ModuleDependency=function(a,b,c,d,e){goog.Dependency.call(this,
114
- a,b,c,d,e)},goog.inherits(goog.Es6ModuleDependency,goog.Dependency),goog.Es6ModuleDependency.prototype.load=function(a){function b(l,m){var n="",p=goog.getScriptNonce_();p&&(n=' nonce="'+p+'"');n=m?'<script type="module" crossorigin'+n+">"+m+"\x3c/script>":'<script type="module" crossorigin src="'+l+'"'+n+">\x3c/script>";d.write(goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createHTML(n):n)}function c(l,m){var n=d.createElement("script");n.defer=!0;n.async=!1;n.type="module";n.setAttribute("crossorigin",
94
+ goog.global.CLOSURE_BASE_PATH;else if(goog.inHtmlDocument_()){var a=goog.global.document,b=a.currentScript;a=b?[b]:a.getElementsByTagName("SCRIPT");for(b=a.length-1;0<=b;--b){var c=a[b].src,d=c.lastIndexOf("?");d=-1==d?c.length:d;if("base.js"==c.slice(d-7,d)){goog.basePath=c.slice(0,d-7);break}}}},goog.findBasePath_(),goog.protectScriptTag_=function(a){return a.replace(/<\/(SCRIPT)/ig,"\\x3c/$1")},goog.DebugLoader_=function(){this.dependencies_={};this.idToPath_={};this.written_={};this.loadingDeps_=
95
+ [];this.depsToLoad_=[];this.paused_=!1;this.factory_=new goog.DependencyFactory;this.deferredCallbacks_={};this.deferredQueue_=[]},goog.DebugLoader_.prototype.bootstrap=function(a,b){function c(){d&&(goog.global.setTimeout(d,0),d=null)}var d=b;if(a.length){b=[];for(var e=0;e<a.length;e++){var f=this.getPathFromDeps_(a[e]);if(!f)throw Error("Unregonized namespace: "+a[e]);b.push(this.dependencies_[f])}f=goog.require;var g=0;for(e=0;e<a.length;e++)f(a[e]),b[e].onLoad(function(){++g==a.length&&c()})}else c()},
96
+ goog.DebugLoader_.prototype.loadClosureDeps=function(){this.depsToLoad_.push(this.factory_.createDependency(goog.normalizePath_(goog.basePath+"deps.js"),"deps.js",[],[],{}));this.loadDeps_()},goog.DebugLoader_.prototype.requested=function(a,b){(a=this.getPathFromDeps_(a))&&(b||this.areDepsLoaded_(this.dependencies_[a].requires))&&(b=this.deferredCallbacks_[a])&&(delete this.deferredCallbacks_[a],b())},goog.DebugLoader_.prototype.setDependencyFactory=function(a){this.factory_=a},goog.DebugLoader_.prototype.load_=
97
+ function(a){if(this.getPathFromDeps_(a)){var b=this,c=[],d=function(e){var f=b.getPathFromDeps_(e);if(!f)throw Error("Bad dependency path or symbol: "+e);if(!b.written_[f]){b.written_[f]=!0;e=b.dependencies_[f];for(f=0;f<e.requires.length;f++)goog.isProvided_(e.requires[f])||d(e.requires[f]);c.push(e)}};d(a);a=!!this.depsToLoad_.length;this.depsToLoad_=this.depsToLoad_.concat(c);this.paused_||a||this.loadDeps_()}else goog.logToConsole_("goog.require could not find: "+a)},goog.DebugLoader_.prototype.loadDeps_=
98
+ function(){for(var a=this,b=this.paused_;this.depsToLoad_.length&&!b;)(function(){var c=!1,d=a.depsToLoad_.shift(),e=!1;a.loading_(d);var f={pause:function(){if(c)throw Error("Cannot call pause after the call to load.");b=!0},resume:function(){c?a.resume_():b=!1},loaded:function(){if(e)throw Error("Double call to loaded.");e=!0;a.loaded_(d)},pending:function(){for(var g=[],h=0;h<a.loadingDeps_.length;h++)g.push(a.loadingDeps_[h]);return g},setModuleState:function(g){goog.moduleLoaderState_={type:g,
99
+ moduleName:"",declareLegacyNamespace:!1}},registerEs6ModuleExports:function(g,h,k){k&&(goog.loadedModules_[k]={exports:h,type:goog.ModuleType.ES6,moduleId:k||""})},registerGoogModuleExports:function(g,h){goog.loadedModules_[g]={exports:h,type:goog.ModuleType.GOOG,moduleId:g}},clearModuleState:function(){goog.moduleLoaderState_=null},defer:function(g){if(c)throw Error("Cannot register with defer after the call to load.");a.defer_(d,g)},areDepsLoaded:function(){return a.areDepsLoaded_(d.requires)}};
100
+ try{d.load(f)}finally{c=!0}})();b&&this.pause_()},goog.DebugLoader_.prototype.pause_=function(){this.paused_=!0},goog.DebugLoader_.prototype.resume_=function(){this.paused_&&(this.paused_=!1,this.loadDeps_())},goog.DebugLoader_.prototype.loading_=function(a){this.loadingDeps_.push(a)},goog.DebugLoader_.prototype.loaded_=function(a){for(var b=0;b<this.loadingDeps_.length;b++)if(this.loadingDeps_[b]==a){this.loadingDeps_.splice(b,1);break}for(b=0;b<this.deferredQueue_.length;b++)if(this.deferredQueue_[b]==
101
+ a.path){this.deferredQueue_.splice(b,1);break}if(this.loadingDeps_.length==this.deferredQueue_.length&&!this.depsToLoad_.length)for(;this.deferredQueue_.length;)this.requested(this.deferredQueue_.shift(),!0);a.loaded()},goog.DebugLoader_.prototype.areDepsLoaded_=function(a){for(var b=0;b<a.length;b++){var c=this.getPathFromDeps_(a[b]);if(!c||!(c in this.deferredCallbacks_||goog.isProvided_(a[b])))return!1}return!0},goog.DebugLoader_.prototype.getPathFromDeps_=function(a){return a in this.idToPath_?
102
+ this.idToPath_[a]:a in this.dependencies_?a:null},goog.DebugLoader_.prototype.defer_=function(a,b){this.deferredCallbacks_[a.path]=b;this.deferredQueue_.push(a.path)},goog.LoadController=function(){},goog.LoadController.prototype.pause=function(){},goog.LoadController.prototype.resume=function(){},goog.LoadController.prototype.loaded=function(){},goog.LoadController.prototype.pending=function(){},goog.LoadController.prototype.registerEs6ModuleExports=function(a,b,c){},goog.LoadController.prototype.setModuleState=
103
+ function(a){},goog.LoadController.prototype.clearModuleState=function(){},goog.LoadController.prototype.defer=function(a){},goog.LoadController.prototype.areDepsLoaded=function(){},goog.Dependency=function(a,b,c,d,e){this.path=a;this.relativePath=b;this.provides=c;this.requires=d;this.loadFlags=e;this.loaded_=!1;this.loadCallbacks_=[]},goog.Dependency.prototype.getPathName=function(){var a=this.path,b=a.indexOf("://");0<=b&&(a=a.substring(b+3),b=a.indexOf("/"),0<=b&&(a=a.substring(b+1)));return a},
104
+ goog.Dependency.prototype.onLoad=function(a){this.loaded_?a():this.loadCallbacks_.push(a)},goog.Dependency.prototype.loaded=function(){this.loaded_=!0;var a=this.loadCallbacks_;this.loadCallbacks_=[];for(var b=0;b<a.length;b++)a[b]()},goog.Dependency.defer_=!1,goog.Dependency.callbackMap_={},goog.Dependency.registerCallback_=function(a){var b=Math.random().toString(32);goog.Dependency.callbackMap_[b]=a;return b},goog.Dependency.unregisterCallback_=function(a){delete goog.Dependency.callbackMap_[a]},
105
+ goog.Dependency.callback_=function(a,b){if(a in goog.Dependency.callbackMap_){for(var c=goog.Dependency.callbackMap_[a],d=[],e=1;e<arguments.length;e++)d.push(arguments[e]);c.apply(void 0,d)}else throw Error("Callback key "+a+" does not exist (was base.js loaded more than once?).");},goog.Dependency.prototype.load=function(a){if(goog.global.CLOSURE_IMPORT_SCRIPT)goog.global.CLOSURE_IMPORT_SCRIPT(this.path)?a.loaded():a.pause();else if(goog.inHtmlDocument_()){var b=goog.global.document;if("complete"==
106
+ b.readyState&&!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING){if(/\bdeps.js$/.test(this.path)){a.loaded();return}throw Error('Cannot write "'+this.path+'" after document load');}var c=goog.getScriptNonce_();if(!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING&&goog.isDocumentLoading_()){var d=function(h){h.readyState&&"complete"!=h.readyState?h.onload=d:(goog.Dependency.unregisterCallback_(e),a.loaded())};var e=goog.Dependency.registerCallback_(d);c=c?' nonce="'+c+'"':"";var f='<script src="'+this.path+'"'+
107
+ c+(goog.Dependency.defer_?" defer":"")+' id="script-'+e+'">\x3c/script>';f+="<script"+c+">";f=goog.Dependency.defer_?f+("document.getElementById('script-"+e+"').onload = function() {\n goog.Dependency.callback_('"+e+"', this);\n};\n"):f+("goog.Dependency.callback_('"+e+"', document.getElementById('script-"+e+"'));");f+="\x3c/script>";b.write(goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createHTML(f):f)}else{var g=b.createElement("script");g.defer=goog.Dependency.defer_;g.async=!1;c&&(g.nonce=
108
+ c);g.onload=function(){g.onload=null;a.loaded()};g.src=goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createScriptURL(this.path):this.path;b.head.appendChild(g)}}else goog.logToConsole_("Cannot use default debug loader outside of HTML documents."),"deps.js"==this.relativePath?(goog.logToConsole_("Consider setting CLOSURE_IMPORT_SCRIPT before loading base.js, or setting CLOSURE_NO_DEPS to true."),a.loaded()):a.pause()},goog.Es6ModuleDependency=function(a,b,c,d,e){goog.Dependency.call(this,a,
109
+ b,c,d,e)},goog.inherits(goog.Es6ModuleDependency,goog.Dependency),goog.Es6ModuleDependency.prototype.load=function(a){function b(l,m){var n="",p=goog.getScriptNonce_();p&&(n=' nonce="'+p+'"');l=m?'<script type="module" crossorigin'+n+">"+m+"\x3c/script>":'<script type="module" crossorigin src="'+l+'"'+n+">\x3c/script>";d.write(goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createHTML(l):l)}function c(l,m){var n=d.createElement("script");n.defer=!0;n.async=!1;n.type="module";n.setAttribute("crossorigin",
115
110
  !0);var p=goog.getScriptNonce_();p&&(n.nonce=p);m?n.text=goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createScript(m):m:n.src=goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createScriptURL(l):l;d.head.appendChild(n)}if(goog.global.CLOSURE_IMPORT_SCRIPT)goog.global.CLOSURE_IMPORT_SCRIPT(this.path)?a.loaded():a.pause();else if(goog.inHtmlDocument_()){var d=goog.global.document,e=this;if(goog.isDocumentLoading_()){var f=b;goog.Dependency.defer_=!0}else f=c;var g=goog.Dependency.registerCallback_(function(){goog.Dependency.unregisterCallback_(g);
116
111
  a.setModuleState(goog.ModuleType.ES6)});f(void 0,'goog.Dependency.callback_("'+g+'")');f(this.path,void 0);var h=goog.Dependency.registerCallback_(function(l){goog.Dependency.unregisterCallback_(h);a.registerEs6ModuleExports(e.path,l,goog.moduleLoaderState_.moduleName)});f(void 0,'import * as m from "'+this.path+'"; goog.Dependency.callback_("'+h+'", m)');var k=goog.Dependency.registerCallback_(function(){goog.Dependency.unregisterCallback_(k);a.clearModuleState();a.loaded()});f(void 0,'goog.Dependency.callback_("'+
117
112
  k+'")')}else goog.logToConsole_("Cannot use default debug loader outside of HTML documents."),a.pause()},goog.TransformedDependency=function(a,b,c,d,e){goog.Dependency.call(this,a,b,c,d,e);this.contents_=null;this.lazyFetch_=!goog.inHtmlDocument_()||!("noModule"in goog.global.document.createElement("script"))},goog.inherits(goog.TransformedDependency,goog.Dependency),goog.TransformedDependency.prototype.load=function(a){function b(){e.contents_=goog.loadFileSync_(e.path);e.contents_&&(e.contents_=
118
113
  e.transform(e.contents_),e.contents_&&(e.contents_+="\n//# sourceURL="+e.path))}function c(){e.lazyFetch_&&b();if(e.contents_){f&&a.setModuleState(goog.ModuleType.ES6);try{var l=e.contents_;e.contents_=null;goog.globalEval(goog.CLOSURE_EVAL_PREFILTER_.createScript(l));if(f)var m=goog.moduleLoaderState_.moduleName}finally{f&&a.clearModuleState()}f&&goog.global.$jscomp.require.ensure([e.getPathName()],function(){a.registerEs6ModuleExports(e.path,goog.global.$jscomp.require(e.getPathName()),m)});a.loaded()}}
119
114
  function d(){var l=goog.global.document,m=goog.Dependency.registerCallback_(function(){goog.Dependency.unregisterCallback_(m);c()}),n=goog.getScriptNonce_();n="<script"+(n?' nonce="'+n+'"':"")+">"+goog.protectScriptTag_('goog.Dependency.callback_("'+m+'");')+"\x3c/script>";l.write(goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createHTML(n):n)}var e=this;if(goog.global.CLOSURE_IMPORT_SCRIPT)b(),this.contents_&&goog.global.CLOSURE_IMPORT_SCRIPT("",this.contents_)?(this.contents_=null,a.loaded()):
120
115
  a.pause();else{var f=this.loadFlags.module==goog.ModuleType.ES6;this.lazyFetch_||b();var g=1<a.pending().length;if(goog.Dependency.defer_&&(g||goog.isDocumentLoading_()))a.defer(function(){c()});else{var h=goog.global.document;g=goog.inHtmlDocument_()&&("ActiveXObject"in goog.global||goog.isEdge_());if(f&&goog.inHtmlDocument_()&&goog.isDocumentLoading_()&&!g){goog.Dependency.defer_=!0;a.pause();var k=h.onreadystatechange;h.onreadystatechange=function(){"interactive"==h.readyState&&(h.onreadystatechange=
121
- k,c(),a.resume());"function"===typeof k&&k.apply(void 0,arguments)}}else goog.inHtmlDocument_()&&goog.isDocumentLoading_()?d():c()}}},goog.TransformedDependency.prototype.transform=function(a){},goog.TranspiledDependency=function(a,b,c,d,e,f){goog.TransformedDependency.call(this,a,b,c,d,e);this.transpiler=f},goog.inherits(goog.TranspiledDependency,goog.TransformedDependency),goog.TranspiledDependency.prototype.transform=function(a){return this.transpiler.transpile(a,this.getPathName())},goog.PreTranspiledEs6ModuleDependency=
122
- function(a,b,c,d,e){goog.TransformedDependency.call(this,a,b,c,d,e)},goog.inherits(goog.PreTranspiledEs6ModuleDependency,goog.TransformedDependency),goog.PreTranspiledEs6ModuleDependency.prototype.transform=function(a){return a},goog.GoogModuleDependency=function(a,b,c,d,e,f,g){goog.TransformedDependency.call(this,a,b,c,d,e);this.needsTranspile_=f;this.transpiler_=g},goog.inherits(goog.GoogModuleDependency,goog.TransformedDependency),goog.GoogModuleDependency.prototype.transform=function(a){this.needsTranspile_&&
123
- (a=this.transpiler_.transpile(a,this.getPathName()));return goog.LOAD_MODULE_USING_EVAL&&void 0!==goog.global.JSON?"goog.loadModule("+goog.global.JSON.stringify(a+"\n//# sourceURL="+this.path+"\n")+");":'goog.loadModule(function(exports) {"use strict";'+a+"\n;return exports});\n//# sourceURL="+this.path+"\n"},goog.DebugLoader_.prototype.addDependency=function(a,b,c,d){b=b||[];a=a.replace(/\\/g,"/");var e=goog.normalizePath_(goog.basePath+a);d&&"boolean"!==typeof d||(d=d?{module:goog.ModuleType.GOOG}:
124
- {});c=this.factory_.createDependency(e,a,b,c,d,goog.transpiler_.needsTranspile(d.lang||"es3",d.module));this.dependencies_[e]=c;for(c=0;c<b.length;c++)this.idToPath_[b[c]]=e;this.idToPath_[a]=e},goog.DependencyFactory=function(a){this.transpiler=a},goog.DependencyFactory.prototype.createDependency=function(a,b,c,d,e,f){return e.module==goog.ModuleType.GOOG?new goog.GoogModuleDependency(a,b,c,d,e,f,this.transpiler):f?new goog.TranspiledDependency(a,b,c,d,e,this.transpiler):e.module==goog.ModuleType.ES6?
125
- "never"==goog.TRANSPILE&&goog.ASSUME_ES_MODULES_TRANSPILED?new goog.PreTranspiledEs6ModuleDependency(a,b,c,d,e):new goog.Es6ModuleDependency(a,b,c,d,e):new goog.Dependency(a,b,c,d,e)},goog.debugLoader_=new goog.DebugLoader_,goog.loadClosureDeps=function(){goog.debugLoader_.loadClosureDeps()},goog.setDependencyFactory=function(a){goog.debugLoader_.setDependencyFactory(a)},goog.TRUSTED_TYPES_POLICY_=goog.TRUSTED_TYPES_POLICY_NAME?goog.createTrustedTypesPolicy(goog.TRUSTED_TYPES_POLICY_NAME+"#base"):
126
- null,goog.global.CLOSURE_NO_DEPS||goog.debugLoader_.loadClosureDeps(),goog.bootstrap=function(a,b){goog.debugLoader_.bootstrap(a,b)});if(!COMPILED){var isChrome87=!1;try{isChrome87=eval(goog.global.trustedTypes.emptyScript)!==goog.global.trustedTypes.emptyScript}catch(a){}goog.CLOSURE_EVAL_PREFILTER_=goog.global.trustedTypes&&isChrome87&&goog.createTrustedTypesPolicy("goog#base#devonly#eval")||{createScript:goog.identity_}};/*
116
+ k,c(),a.resume());"function"===typeof k&&k.apply(void 0,arguments)}}else goog.inHtmlDocument_()&&goog.isDocumentLoading_()?d():c()}}},goog.TransformedDependency.prototype.transform=function(a){},goog.PreTranspiledEs6ModuleDependency=function(a,b,c,d,e){goog.TransformedDependency.call(this,a,b,c,d,e)},goog.inherits(goog.PreTranspiledEs6ModuleDependency,goog.TransformedDependency),goog.PreTranspiledEs6ModuleDependency.prototype.transform=function(a){return a},goog.GoogModuleDependency=function(a,b,
117
+ c,d,e){goog.TransformedDependency.call(this,a,b,c,d,e)},goog.inherits(goog.GoogModuleDependency,goog.TransformedDependency),goog.GoogModuleDependency.prototype.transform=function(a){return goog.LOAD_MODULE_USING_EVAL&&void 0!==goog.global.JSON?"goog.loadModule("+goog.global.JSON.stringify(a+"\n//# sourceURL="+this.path+"\n")+");":'goog.loadModule(function(exports) {"use strict";'+a+"\n;return exports});\n//# sourceURL="+this.path+"\n"},goog.DebugLoader_.prototype.addDependency=function(a,b,c,d){b=
118
+ b||[];a=a.replace(/\\/g,"/");var e=goog.normalizePath_(goog.basePath+a);d&&"boolean"!==typeof d||(d=d?{module:goog.ModuleType.GOOG}:{});c=this.factory_.createDependency(e,a,b,c,d);this.dependencies_[e]=c;for(c=0;c<b.length;c++)this.idToPath_[b[c]]=e;this.idToPath_[a]=e},goog.DependencyFactory=function(){},goog.DependencyFactory.prototype.createDependency=function(a,b,c,d,e){return e.module==goog.ModuleType.GOOG?new goog.GoogModuleDependency(a,b,c,d,e):e.module==goog.ModuleType.ES6?goog.ASSUME_ES_MODULES_TRANSPILED?
119
+ new goog.PreTranspiledEs6ModuleDependency(a,b,c,d,e):new goog.Es6ModuleDependency(a,b,c,d,e):new goog.Dependency(a,b,c,d,e)},goog.debugLoader_=new goog.DebugLoader_,goog.loadClosureDeps=function(){goog.debugLoader_.loadClosureDeps()},goog.setDependencyFactory=function(a){goog.debugLoader_.setDependencyFactory(a)},goog.TRUSTED_TYPES_POLICY_=goog.TRUSTED_TYPES_POLICY_NAME?goog.createTrustedTypesPolicy(goog.TRUSTED_TYPES_POLICY_NAME+"#base"):null,goog.global.CLOSURE_NO_DEPS||goog.debugLoader_.loadClosureDeps(),
120
+ goog.bootstrap=function(a,b){goog.debugLoader_.bootstrap(a,b)});if(!COMPILED){var isChrome87=!1;try{isChrome87=eval(goog.global.trustedTypes.emptyScript)!==goog.global.trustedTypes.emptyScript}catch(a){}goog.CLOSURE_EVAL_PREFILTER_=goog.global.trustedTypes&&isChrome87&&goog.createTrustedTypesPolicy("goog#base#devonly#eval")||{createScript:goog.identity_}};/*
127
121
  @license
128
122
  Shaka Player
129
123
  Copyright 2016 Google LLC
@@ -259,7 +253,7 @@ this.progressCircleBar_.classList.add("progress-circle-bar");a.appendChild(this.
259
253
  shakaDemo.AssetCard.prototype.addFeatureIcon_=function(a,b){var c=document.createElement("div");c.classList.add("feature-icon");c.setAttribute("icon",a);this.featureIconsContainer_.appendChild(c);shakaDemo.Tooltips.make(c,b)};
260
254
  shakaDemo.AssetCard.prototype.addFeatureIcons_=function(a){var b=shakaAssets.Feature,c=shakaAssets.KeySystem;b=(new Map).set(b.SUBTITLES,"subtitles").set(b.CAPTIONS,"closed_caption").set(b.LIVE,"live").set(b.TRICK_MODE,"trick_mode").set(b.HIGH_DEFINITION,"high_definition").set(b.ULTRA_HIGH_DEFINITION,"ultra_high_definition").set(b.SURROUND,"surround_sound").set(b.MULTIPLE_LANGUAGES,"multiple_languages").set(b.ADS,"ad").set(b.AUDIO_ONLY,"audio_only");for(var d=$jscomp.makeIterator(a.features),e=d.next();!e.done;e=
261
255
  d.next()){e=e.value;var f=b.get(e);f&&this.addFeatureIcon_(f,e)}a=$jscomp.makeIterator(a.drm);for(b=a.next();!b.done;b=a.next())switch(b=b.value,b){case c.WIDEVINE:this.addFeatureIcon_("widevine",b);break;case c.CLEAR_KEY:this.addFeatureIcon_("clear_key",b);break;case c.PLAYREADY:this.addFeatureIcon_("playready",b)}};shakaDemo.AssetCard.prototype.markAsUnsupported=function(a){this.card_.classList.add("asset-card-unsupported");this.makeUnsupportedButton_(shakaDemo.MessageIds.UNSUPPORTED,a)};
262
- shakaDemo.AssetCard.prototype.makeUnsupportedButton_=function(a,b){var c=this.addButton(a,function(){});c.setAttribute("disabled","");var d=document.createElement("div");c.parentElement&&c.parentElement.removeChild(c);d.classList.add("tooltip-attach-point");d.appendChild(c);this.actions_.appendChild(d);shakaDemo.Tooltips.make(d,b);return c};shakaDemo.AssetCard.prototype.selectByAsset=function(a){this.card_.classList.remove("selected");this.asset_==a&&this.card_.classList.add("selected")};
256
+ shakaDemo.AssetCard.prototype.makeUnsupportedButton_=function(a,b){a=this.addButton(a,function(){});a.setAttribute("disabled","");var c=document.createElement("div");a.parentElement&&a.parentElement.removeChild(a);c.classList.add("tooltip-attach-point");c.appendChild(a);this.actions_.appendChild(c);shakaDemo.Tooltips.make(c,b);return a};shakaDemo.AssetCard.prototype.selectByAsset=function(a){this.card_.classList.remove("selected");this.asset_==a&&this.card_.classList.add("selected")};
263
257
  shakaDemo.AssetCard.prototype.remakeButtons=function(){shaka.util.Dom.removeAllChildren(this.actions_);this.remakeButtonsFn_(this)};
264
258
  shakaDemo.AssetCard.prototype.addStoreButton=function(){var a=this,b=function(f,g,h){g.classList.add("asset-card-corner-button");g=document.createElement("i");g.textContent=h;g.classList.add("material-icons-round");f.appendChild(g)},c=shakaDemoMain.getAssetUnsupportedReason(this.asset_,!0);c||goog.asserts.assert(this.asset_.storeCallback,"A storage callback is expected for all supported assets!");if(c)c=this.makeUnsupportedButton_(null,c),b(c,c.parentElement||c,"get_app");else if(this.asset_.isStored()){var d=
265
259
  this.addButton(null,function(){a.attachDeleteDialog_(d)});b(d,d,"offline_pin")}else{var e=this.addButton(null,function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(f){if(1==f.nextAddress)return e.disabled=!0,f.yield(a.asset_.storeCallback(),2);a.remakeButtons();f.jumpToEnd()})});b(e,e,"get_app")}};
@@ -267,7 +261,7 @@ shakaDemo.AssetCard.prototype.attachDeleteDialog_=function(a){var b=this,c=this.
267
261
  shakaDemo.AssetCard.prototype.makeYesNoDialogue_=function(a,b,c){var d=this,e=document.createElement("dialog");e.classList.add("mdl-dialog");a.appendChild(e);e.showModal||dialogPolyfill.registerDialog(e);a=document.createElement("h2");a.classList.add("mdl-typography--title");a.textContent=shakaDemoMain.getLocalizedString(b);e.appendChild(a);var f=document.createElement("div");e.appendChild(f);b=function(g,h){var k=document.createElement("button");k.textContent=shakaDemoMain.getLocalizedString(g);
268
262
  k.classList.add("mdl-button");k.classList.add("mdl-button--colored");k.classList.add("mdl-js-button");k.classList.add("mdl-js-ripple-effect");k.addEventListener("click",function(){h()});f.appendChild(k);k.blur()};b(shakaDemo.MessageIds.PROMPT_YES,function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(g){if(1==g.nextAddress)return e.close(),g.yield(c(),2);d.remakeButtons();g.jumpToEnd()})});b(shakaDemo.MessageIds.PROMPT_NO,function(){e.close()});e.showModal()};
269
263
  shakaDemo.AssetCard.prototype.updateProgress=function(){if(1>this.asset_.storedProgress){this.progressCircle_.classList.remove("hidden");for(var a=$jscomp.makeIterator(this.actions_.childNodes),b=a.next();!b.done;b=a.next())b=b.value,b instanceof HTMLButtonElement&&(b.disabled=!0)}else for(this.progressCircle_.classList.add("hidden"),a=$jscomp.makeIterator(this.actions_.childNodes),b=a.next();!b.done;b=a.next())b=b.value,b instanceof HTMLButtonElement&&(b.disabled=!1);this.styleProgressCircle_(this.asset_.storedProgress)};
270
- shakaDemo.AssetCard.prototype.addButton=function(a,b,c){var d=this,e=document.createElement("button");e.classList.add("mdl-button");e.classList.add("mdl-button--colored");e.classList.add("mdl-js-button");e.classList.add("mdl-js-ripple-effect");e.textContent=a?shakaDemoMain.getLocalizedString(a):"";e.addEventListener("click",function(){e.hasAttribute("disabled")||(c?d.makeYesNoDialogue_(d.actions_,c,b):b())});this.actions_.appendChild(e);return e};shakaDemo.CloseButton=function(a,b){var c=shaka.ui.Element.call(this,a,b)||this;c.button_=document.createElement("button");c.button_.classList.add("material-icons-round");c.button_.classList.add("close-button");c.button_.textContent="close";c.parent.appendChild(c.button_);c.button_.addEventListener("click",function(){shakaDemoMain.unload()});return c};$jscomp.inherits(shakaDemo.CloseButton,shaka.ui.Element);shakaDemo.CloseButton.Factory=function(){};
264
+ shakaDemo.AssetCard.prototype.addButton=function(a,b,c){var d=this,e=document.createElement("button");e.classList.add("mdl-button");e.classList.add("mdl-button--colored");e.classList.add("mdl-js-button");e.classList.add("mdl-js-ripple-effect");e.textContent=a?shakaDemoMain.getLocalizedString(a):"";e.addEventListener("click",function(){e.hasAttribute("disabled")||(c?d.makeYesNoDialogue_(d.actions_,c,b):b())});this.actions_.appendChild(e);return e};shakaDemo.CloseButton=function(a,b){a=shaka.ui.Element.call(this,a,b)||this;a.button_=document.createElement("button");a.button_.classList.add("material-icons-round");a.button_.classList.add("close-button");a.button_.textContent="close";a.parent.appendChild(a.button_);a.button_.addEventListener("click",function(){shakaDemoMain.unload()});return a};$jscomp.inherits(shakaDemo.CloseButton,shaka.ui.Element);shakaDemo.CloseButton.Factory=function(){};
271
265
  shakaDemo.CloseButton.Factory.prototype.create=function(a,b){return new shakaDemo.CloseButton(a,b)};shakaDemo.Input=function(a,b,c,d,e){var f=this;this.container_=document.createElement(c);a.latestElementContainer.appendChild(this.container_);this.input_=document.createElement(b);this.input_.onchange=function(){e(f.input_,f)};"textarea"==b&&(this.input_.oninput=function(){e(f.input_,f)});this.input_.id=shakaDemo.Input.generateNewId_("input");this.container_.appendChild(this.input_);a.latestTooltip&&(b=document.createElement("span"),b.textContent=a.latestTooltip,b.classList.add("hidden"),b.id=shakaDemo.Input.generateNewId_("extra-info"),
272
266
  this.container_.appendChild(b),this.input_.setAttribute("aria-describedby",b.id));this.extra_=null;d&&(this.extra_=document.createElement(d),this.container_.appendChild(this.extra_))};shakaDemo.Input.prototype.input=function(){return this.input_};shakaDemo.Input.prototype.container=function(){return this.container_};shakaDemo.Input.prototype.extra=function(){return this.extra_};
273
267
  shakaDemo.Input.prototype.setValid=function(a){a?(this.input_.setCustomValidity(""),this.container_.classList.remove("is-invalid")):(this.input_.setCustomValidity("invalid"),this.container_.parentElement.classList.add("is-invalid"))};shakaDemo.Input.generateNewId_=function(a){var b=shakaDemo.Input.lastId_;shakaDemo.Input.lastId_+=1;return a+"-labeled-"+b};shakaDemo.Input.lastId_=0;
@@ -281,7 +275,7 @@ shakaDemo.NumberInput=function(a,b,c,d,e,f){shakaDemo.TextInput.call(this,a,b,c,
281
275
  shakaDemo.InputContainer.prototype.open=function(){var a=this;!this.style_!=shakaDemo.InputContainer.Style.ACCORDION&&(this.table_.classList.remove("hidden"),setTimeout(function(){a.table_.classList.add("show")},20),this.header_.classList.add("mdl-button--colored"))};
282
276
  shakaDemo.InputContainer.prototype.close=function(){var a=this;this.style_==shakaDemo.InputContainer.Style.ACCORDION&&(this.table_.classList.remove("show"),this.table_.addEventListener("transitionend",function(b){a.table_.classList.add("hidden")},{once:!0}),this.header_.classList.remove("mdl-button--colored"))};
283
277
  shakaDemo.InputContainer.prototype.createHeader_=function(a,b){var c=this;this.style_==shakaDemo.InputContainer.Style.ACCORDION?(this.header_=document.createElement("button"),this.header_.classList.add("mdl-button--raised"),this.header_.classList.add("mdl-button"),this.header_.classList.add("mdl-js-button"),this.header_.classList.add("mdl-js-ripple-effect"),this.header_.addEventListener("click",function(){c.getIsOpen()?c.close():c.open()})):(this.header_=document.createElement("div"),this.header_.classList.add("input-header"));
284
- this.header_.textContent=shakaDemoMain.getLocalizedString(b);a.appendChild(this.header_)};shakaDemo.InputContainer.prototype.addDocLink_=function(a,b){var c=document.createElement("a");c.href=b;c.target="_blank";c.classList.add("mdl-button");c.classList.add("mdl-js-button");c.classList.add("mdl-js-ripple-effect");c.classList.add("mdl-button--colored");var d=document.createElement("i");d.classList.add("material-icons-round");d.textContent="help";c.appendChild(d);a.appendChild(c)};
278
+ this.header_.textContent=shakaDemoMain.getLocalizedString(b);a.appendChild(this.header_)};shakaDemo.InputContainer.prototype.addDocLink_=function(a,b){var c=document.createElement("a");c.href=b;c.target="_blank";c.classList.add("mdl-button");c.classList.add("mdl-js-button");c.classList.add("mdl-js-ripple-effect");c.classList.add("mdl-button--colored");b=document.createElement("i");b.classList.add("material-icons-round");b.textContent="help";c.appendChild(b);a.appendChild(c)};
285
279
  shakaDemo.InputContainer.prototype.setDefaultRowClass=function(a){this.defaultRowClass_=a};shakaDemo.InputContainer.prototype.getClassList=function(){return this.table_.classList};
286
280
  shakaDemo.InputContainer.prototype.addRow=function(a,b,c){c=c||this.defaultRowClass_||"";this.latestRow_=document.createElement("div");c&&this.latestRow_.classList.add(c);this.table_.appendChild(this.latestRow_);c="input-container-row-"+this.numRows_;this.numRows_+=1;if(a){var d=document.createElement("label");d.setAttribute("for",c);d.classList.add("input-container-label");var e=document.createElement("b");e.textContent=shakaDemoMain.getLocalizedString(a);d.appendChild(e);this.latestRow_.appendChild(d)}this.latestElementContainer=
287
281
  document.createElement("div");this.latestRow_.appendChild(this.latestElementContainer);this.latestElementContainer.classList.add("input-container-row");this.latestElementContainer.id=c;if(this.latestTooltip=b)shakaDemo.Tooltips.make(this.latestRow_,b),this.latestRow_.setAttribute("tabindex",-1),this.latestRow_.classList.add("borderless")};shakaDemo.InputContainer.Style={VERTICAL:"input-container-style-vertical",ACCORDION:"input-container-style-accordion",FLEX:"input-container-style-flex"};var shakaDemoConfig;shakaDemo.Config=function(a){var b=this;this.container_=a;this.sections_=[];this.latestInput_=null;this.reload_();document.addEventListener("shaka-main-config-change",function(){b.reloadAndSaveState_()});document.addEventListener("shaka-main-locale-changed",function(){b.reloadAndSaveState_()});document.addEventListener("shaka-main-drawer-state-change",function(){b.setContentAvailability_(shakaDemoMain.getIsDrawerOpen())});this.setContentAvailability_(shakaDemoMain.getIsDrawerOpen())};
@@ -300,10 +294,10 @@ shakaDemo.Config.prototype.addAbrSection_=function(){var a=shakaDemo.MessageIds,
300
294
  "abr.switchInterval",!0).addNumberInput_(a.MIN_TOTAL_BYTES,"abr.advanced.minTotalBytes").addNumberInput_(a.MIN_BYTES,"abr.advanced.minBytes").addNumberInput_(a.FAST_HALF_LIFE,"abr.advanced.fastHalfLife",!0).addNumberInput_(a.SLOW_HALF_LIFE,"abr.advanced.slowHalfLife",!0).addBoolInput_(a.RESTRICT_TO_ELEMENT_SIZE,"abr.restrictToElementSize").addBoolInput_(a.RESTRICT_TO_SCREEN_SIZE,"abr.restrictToScreenSize").addBoolInput_(a.IGNORE_DEVICE_PIXEL_RATIO,"abr.ignoreDevicePixelRatio");this.addRetrictionsSection_("abr",
301
295
  a.ADAPTATION_RESTRICTIONS_SECTION_HEADER)};shakaDemo.Config.prototype.addCmcdSection_=function(){var a=shakaDemo.MessageIds,b=this.resolveExternLink_(".CmcdConfiguration");this.addSection_(a.CMCD_SECTION_HEADER,b).addBoolInput_(a.ENABLED,"cmcd.enabled").addTextInput_(a.SESSION_ID,"cmcd.sessionId").addTextInput_(a.CONTENT_ID,"cmcd.contentId").addBoolInput_(a.USE_HEADERS,"cmcd.useHeaders")};
302
296
  shakaDemo.Config.prototype.addLcevcSection_=function(){var a=shakaDemo.MessageIds,b=this.resolveExternLink_(".LcevcConfiguration");this.addSection_(a.LCEVC_SECTION_HEADER,b).addBoolInput_(a.ENABLED,"lcevc.enabled").addBoolInput_(a.LCEVC_DYNAMIC_PERFORMANCE_SCALING,"lcevc.dynamicPerformanceScaling").addNumberInput_(a.LCEVC_LOG_LEVEL,"lcevc.logLevel").addBoolInput_(a.LCEVC_DRAW_LOGO,"lcevc.drawLogo")};
303
- shakaDemo.Config.prototype.addRetrictionsSection_=function(a,b){var c=shakaDemo.MessageIds,d=(a?a+".":"")+"restrictions.",e=this.resolveExternLink_(".Restrictions");this.addSection_(b,e).addNumberInput_(c.MIN_WIDTH,d+"minWidth").addNumberInput_(c.MAX_WIDTH,d+"maxWidth").addNumberInput_(c.MIN_HEIGHT,d+"minHeight").addNumberInput_(c.MAX_HEIGHT,d+"maxHeight").addNumberInput_(c.MIN_PIXELS,d+"minPixels").addNumberInput_(c.MAX_PIXELS,d+"maxPixels").addNumberInput_(c.MIN_FRAMERATE,d+"minFrameRate").addNumberInput_(c.MAX_FRAMERATE,
304
- d+"maxFrameRate").addNumberInput_(c.MIN_BANDWIDTH,d+"minBandwidth").addNumberInput_(c.MAX_BANDWIDTH,d+"maxBandwidth")};
305
- shakaDemo.Config.prototype.addRetrySection_=function(a,b){var c=shakaDemo.MessageIds,d=a+".retryParameters.",e=this.resolveExternLink_(".RetryParameters");this.addSection_(b,e).addNumberInput_(c.MAX_ATTEMPTS,d+"maxAttempts").addNumberInput_(c.BASE_DELAY,d+"baseDelay",!0).addNumberInput_(c.BACKOFF_FACTOR,d+"backoffFactor",!0).addNumberInput_(c.FUZZ_FACTOR,d+"fuzzFactor",!0).addNumberInput_(c.TIMEOUT,d+"timeout",!0).addNumberInput_(c.STALL_TIMEOUT,d+"stallTimeout",!0).addNumberInput_(c.CONNECTION_TIMEOUT,
306
- d+"connectionTimeout",!0)};shakaDemo.Config.prototype.addOfflineSection_=function(){var a=shakaDemo.MessageIds,b=this.resolveExternLink_(".OfflineConfiguration");this.addSection_(a.OFFLINE_SECTION_HEADER,b).addBoolInput_(a.USE_PERSISTENT_LICENSES,"offline.usePersistentLicense").addNumberInput_(a.NUMBER_OF_PARALLEL_DOWNLOADS,"offline.numberOfParallelDownloads")};
297
+ shakaDemo.Config.prototype.addRetrictionsSection_=function(a,b){var c=shakaDemo.MessageIds;a=(a?a+".":"")+"restrictions.";var d=this.resolveExternLink_(".Restrictions");this.addSection_(b,d).addNumberInput_(c.MIN_WIDTH,a+"minWidth").addNumberInput_(c.MAX_WIDTH,a+"maxWidth").addNumberInput_(c.MIN_HEIGHT,a+"minHeight").addNumberInput_(c.MAX_HEIGHT,a+"maxHeight").addNumberInput_(c.MIN_PIXELS,a+"minPixels").addNumberInput_(c.MAX_PIXELS,a+"maxPixels").addNumberInput_(c.MIN_FRAMERATE,a+"minFrameRate").addNumberInput_(c.MAX_FRAMERATE,
298
+ a+"maxFrameRate").addNumberInput_(c.MIN_BANDWIDTH,a+"minBandwidth").addNumberInput_(c.MAX_BANDWIDTH,a+"maxBandwidth")};
299
+ shakaDemo.Config.prototype.addRetrySection_=function(a,b){var c=shakaDemo.MessageIds;a+=".retryParameters.";var d=this.resolveExternLink_(".RetryParameters");this.addSection_(b,d).addNumberInput_(c.MAX_ATTEMPTS,a+"maxAttempts").addNumberInput_(c.BASE_DELAY,a+"baseDelay",!0).addNumberInput_(c.BACKOFF_FACTOR,a+"backoffFactor",!0).addNumberInput_(c.FUZZ_FACTOR,a+"fuzzFactor",!0).addNumberInput_(c.TIMEOUT,a+"timeout",!0).addNumberInput_(c.STALL_TIMEOUT,a+"stallTimeout",!0).addNumberInput_(c.CONNECTION_TIMEOUT,
300
+ a+"connectionTimeout",!0)};shakaDemo.Config.prototype.addOfflineSection_=function(){var a=shakaDemo.MessageIds,b=this.resolveExternLink_(".OfflineConfiguration");this.addSection_(a.OFFLINE_SECTION_HEADER,b).addBoolInput_(a.USE_PERSISTENT_LICENSES,"offline.usePersistentLicense").addNumberInput_(a.NUMBER_OF_PARALLEL_DOWNLOADS,"offline.numberOfParallelDownloads")};
307
301
  shakaDemo.Config.prototype.addStreamingSection_=function(){var a=shakaDemo.MessageIds,b=this.resolveExternLink_(".StreamingConfiguration");this.addSection_(a.STREAMING_SECTION_HEADER,b).addNumberInput_(a.GAP_DETECTION_THRESHOLD,"streaming.gapDetectionThreshold",!0).addNumberInput_(a.BUFFERING_GOAL,"streaming.bufferingGoal",!0).addNumberInput_(a.DURATION_BACKOFF,"streaming.durationBackoff",!0).addNumberInput_(a.REBUFFERING_GOAL,"streaming.rebufferingGoal",!0).addNumberInput_(a.BUFFER_BEHIND,"streaming.bufferBehind",
308
302
  !0).addNumberInput_(a.SAFE_SEEK_OFFSET,"streaming.safeSeekOffset",!0).addNumberInput_(a.STALL_THRESHOLD,"streaming.stallThreshold",!0).addNumberInput_(a.SAFE_SKIP_DISTANCE,"streaming.stallSkip",!0).addNumberInput_(a.INACCURATE_MANIFEST_TOLERANCE,"streaming.inaccurateManifestTolerance",!0).addBoolInput_(a.LOW_LATENCY,"streaming.lowLatencyMode").addBoolInput_(a.AUTO_LOW_LATENCY,"streaming.autoLowLatencyMode").addBoolInput_(a.FORCE_HTTPS,"streaming.forceHTTPS").addBoolInput_(a.PREFER_NATIVE_HLS,"streaming.preferNativeHls").addNumberInput_(a.UPDATE_INTERVAL_SECONDS,
309
303
  "streaming.updateIntervalSeconds",!0).addBoolInput_(a.DISPATCH_ALL_EMSG_BOXES,"streaming.dispatchAllEmsgBoxes").addBoolInput_(a.OBSERVE_QUALITY_CHANGES,"streaming.observeQualityChanges").addNumberInput_(a.MAX_DISABLED_TIME,"streaming.maxDisabledTime");shakaDemoMain.getNativeControlsEnabled()?(this.addCustomBoolInput_(a.ALWAYS_STREAM_TEXT,function(c){},a.ALWAYS_STREAM_TEXT_WARNING),this.latestInput_.input().disabled=!0,this.latestInput_.input().checked=!0):this.addBoolInput_(a.ALWAYS_STREAM_TEXT,"streaming.alwaysStreamText");
@@ -326,33 +320,33 @@ shakaDemo.Custom=function(a){var b=this;this.dialog_=document.createElement("dia
326
320
  c.appendChild(d);document.addEventListener("shaka-main-selected-asset-changed",function(){b.updateSelected_()});document.addEventListener("shaka-main-offline-progress",function(){b.updateOfflineProgress_()});document.addEventListener("shaka-main-locale-changed",function(){b.remakeSavedList_()});document.addEventListener("shaka-main-page-changed",function(){b.savedList_.childNodes.length||a.classList.contains("hidden")||b.remakeSavedList_()})};
327
321
  shakaDemo.Custom.init=function(){var a=shakaDemoMain.addNavButton("custom");shakaDemoCustom=new shakaDemo.Custom(a.container)};shakaDemo.Custom.prototype.assets=function(){return Array.from(this.assets_)};shakaDemo.Custom.prototype.updateOfflineProgress_=function(){for(var a=$jscomp.makeIterator(this.assetCards_),b=a.next();!b.done;b=a.next())b.value.updateProgress()};
328
322
  shakaDemo.Custom.prototype.makeField_=function(a,b,c,d,e){a.addRow(null,null);a=new shakaDemo.TextInput(a,b,d,e);a.extra().textContent=b;c(a.input(),a.container())};
329
- shakaDemo.Custom.prototype.makeAssetDialogContentsHeaders_=function(a,b){var c=this,d=document.createElement("div"),e=[],f=function(k,l){var m=document.createElement("div");d.appendChild(m);var n=new shakaDemo.InputContainer(m,shakaDemo.MessageIds.LICENSE_HEADER_TITLE,shakaDemo.InputContainer.Style.VERTICAL,null),p={headerName:k,div:m};e.push(p);var q=!k,r=function(t,w){k&&a.licenseRequestHeaders["delete"](k);k=t;p.headerName=t;l=w;if(k&&l){q&&(q=!1,f(null,null),componentHandler.upgradeDom());a.addLicenseRequestHeader(k,
330
- l);for(var x=$jscomp.makeIterator(e),v=x.next();!v.done;v=x.next())if(v=v.value,v!=p&&k==v.headerName){x=e.indexOf(v);e.splice(x,1);d.removeChild(v.div);break}}else q||d.removeChild(m)},u=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.LICENSE_HEADER_NAME);c.makeField_(n,u,function(t,w){k&&(t.value=k)},function(t){r(t.value,l)});u=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.LICENSE_HEADER_VALUE);c.makeField_(n,u,function(t,w){l&&(t.value=l)},function(t){r(k,t.value)})};if(0!=a.licenseRequestHeaders.size)for(var g=
331
- $jscomp.makeIterator(a.licenseRequestHeaders.keys()),h=g.next();!h.done;h=g.next())h=h.value,f(h,a.licenseRequestHeaders.get(h));f(null,null);return d};
332
- shakaDemo.Custom.prototype.makeAssetDialogContentsHLS_=function(a,b){var c=document.createElement("div"),d=new shakaDemo.InputContainer(c,null,shakaDemo.InputContainer.Style.FLEX,null);d.getClassList().add("wide-input");d.setDefaultRowClass("wide-input");var e=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.HLS_FULL_MIME_TYPE);this.makeField_(d,e,function(f,g){a.mediaPlaylistFullMimeType&&(f.value=a.mediaPlaylistFullMimeType);var h=shaka.util.PlayerConfiguration.createDefault();f.placeholder=
333
- h.manifest.hls.mediaPlaylistFullMimeType},function(f){a.setMediaPlaylistFullMimeType(f.value)});return c};
334
- shakaDemo.Custom.prototype.makeAssetDialogContentsAds_=function(a,b){var c=this,d=document.createElement("div"),e=new shakaDemo.InputContainer(d,null,shakaDemo.InputContainer.Style.VERTICAL,null),f=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.AD_TAG_URL);this.makeField_(e,f,function(g,h){a.adTagUri&&(g.value=a.adTagUri)},function(g){a.adTagUri=g.value});f=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.IMA_CONTENT_SRC_ID);this.makeField_(e,f,function(g,h){a.imaContentSrcId&&(g.value=
335
- a.imaContentSrcId);c.manifestField_.required=c.checkManifestRequired_(a)},function(g){a.imaContentSrcId=g.value;c.manifestField_.required=c.checkManifestRequired_(a)});f=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.IMA_VIDEO_ID);this.makeField_(e,f,function(g,h){a.imaVideoId&&(g.value=a.imaVideoId);c.manifestField_.required=c.checkManifestRequired_(a)},function(g){a.imaVideoId=g.value;c.manifestField_.required=c.checkManifestRequired_(a)});f=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.IMA_ASSET_KEY);
336
- this.makeField_(e,f,function(g,h){a.imaAssetKey&&(g.value=a.imaAssetKey);c.manifestField_.required=c.checkManifestRequired_(a)},function(g){a.imaAssetKey=g.value;c.manifestField_.required=c.checkManifestRequired_(a)});return d};
337
- shakaDemo.Custom.prototype.makeAssetDialogContentsDrm_=function(a,b){var c=document.createElement("div"),d=new shakaDemo.InputContainer(c,null,shakaDemo.InputContainer.Style.VERTICAL,null),e,f,g=function(){var k=e.value,l=f.value;if(k){a.licenseServers.clear();for(var m=$jscomp.makeIterator(shakaDemo.Main.commonDrmSystems),n=m.next();!n.done;n=m.next())a.licenseServers.set(n.value,k);l&&a.licenseServers.set(l,k)}else a.licenseServers.clear()},h=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.LICENSE_SERVER_URL);
338
- this.makeField_(d,h,function(k,l){e=k;var m=a.licenseServers.keys().next();m&&m.value&&(k.value=a.licenseServers.get(m.value))},function(k){g()});h=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.LICENSE_CERTIFICATE_URL);this.makeField_(d,h,function(k,l){a.certificateUri&&(k.value=a.certificateUri)},function(k){a.certificateUri=k.value});h=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.DRM_SYSTEM);this.makeField_(d,h,function(k,l){f=k;var m=a.licenseServers.keys();m=$jscomp.makeIterator(m);
339
- for(var n=m.next();!n.done;n=m.next())if(n=n.value,!shakaDemo.Main.commonDrmSystems.includes(n)){k.value=n;break}},function(k){g()});return c};
340
- shakaDemo.Custom.prototype.makeAssetDialogContentsExtra_=function(a,b){var c=document.createElement("div"),d=new shakaDemo.InputContainer(c,null,shakaDemo.InputContainer.Style.FLEX,null);d.getClassList().add("wide-input");d.setDefaultRowClass("wide-input");var e=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.EXTRA_SHAKA_PLAYER_CONFIG);this.makeField_(d,e,function(f,g){f.setAttribute("rows",10);a.extraConfig&&(f.value=JSON.stringify(a.extraConfig,null,2));b.push(f);var h=document.createElement("span");
341
- h.classList.add("mdl-textfield__error");h.textContent=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.INVALID_JSON_CONFIG_ERROR);g.appendChild(h)},function(f,g){try{if(f.value){var h=JSON.parse(f.value);a.extraConfig=h}else a.extraConfig=null;g.setValid(!0)}catch(k){g.setValid(!1)}},!0);return c};
323
+ shakaDemo.Custom.prototype.makeAssetDialogContentsHeaders_=function(a,b){var c=this,d=document.createElement("div"),e=[],f=function(h,k){var l=document.createElement("div");d.appendChild(l);var m=new shakaDemo.InputContainer(l,shakaDemo.MessageIds.LICENSE_HEADER_TITLE,shakaDemo.InputContainer.Style.VERTICAL,null),n={headerName:h,div:l};e.push(n);var p=!h,q=function(r,u){h&&a.licenseRequestHeaders.delete(h);h=r;n.headerName=r;k=u;if(h&&k)for(p&&(p=!1,f(null,null),componentHandler.upgradeDom()),a.addLicenseRequestHeader(h,
324
+ k),r=$jscomp.makeIterator(e),u=r.next();!u.done;u=r.next()){if(u=u.value,u!=n&&h==u.headerName){r=e.indexOf(u);e.splice(r,1);d.removeChild(u.div);break}}else p||d.removeChild(l)},t=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.LICENSE_HEADER_NAME);c.makeField_(m,t,function(r,u){h&&(r.value=h)},function(r){q(r.value,k)});t=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.LICENSE_HEADER_VALUE);c.makeField_(m,t,function(r,u){k&&(r.value=k)},function(r){q(h,r.value)})};if(0!=a.licenseRequestHeaders.size){b=
325
+ $jscomp.makeIterator(a.licenseRequestHeaders.keys());for(var g=b.next();!g.done;g=b.next())g=g.value,f(g,a.licenseRequestHeaders.get(g))}f(null,null);return d};
326
+ shakaDemo.Custom.prototype.makeAssetDialogContentsHLS_=function(a,b){b=document.createElement("div");var c=new shakaDemo.InputContainer(b,null,shakaDemo.InputContainer.Style.FLEX,null);c.getClassList().add("wide-input");c.setDefaultRowClass("wide-input");var d=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.HLS_FULL_MIME_TYPE);this.makeField_(c,d,function(e,f){a.mediaPlaylistFullMimeType&&(e.value=a.mediaPlaylistFullMimeType);f=shaka.util.PlayerConfiguration.createDefault();e.placeholder=f.manifest.hls.mediaPlaylistFullMimeType},
327
+ function(e){a.setMediaPlaylistFullMimeType(e.value)});return b};
328
+ shakaDemo.Custom.prototype.makeAssetDialogContentsAds_=function(a,b){var c=this;b=document.createElement("div");var d=new shakaDemo.InputContainer(b,null,shakaDemo.InputContainer.Style.VERTICAL,null),e=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.AD_TAG_URL);this.makeField_(d,e,function(f,g){a.adTagUri&&(f.value=a.adTagUri)},function(f){a.adTagUri=f.value});e=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.IMA_CONTENT_SRC_ID);this.makeField_(d,e,function(f,g){a.imaContentSrcId&&(f.value=
329
+ a.imaContentSrcId);c.manifestField_.required=c.checkManifestRequired_(a)},function(f){a.imaContentSrcId=f.value;c.manifestField_.required=c.checkManifestRequired_(a)});e=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.IMA_VIDEO_ID);this.makeField_(d,e,function(f,g){a.imaVideoId&&(f.value=a.imaVideoId);c.manifestField_.required=c.checkManifestRequired_(a)},function(f){a.imaVideoId=f.value;c.manifestField_.required=c.checkManifestRequired_(a)});e=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.IMA_ASSET_KEY);
330
+ this.makeField_(d,e,function(f,g){a.imaAssetKey&&(f.value=a.imaAssetKey);c.manifestField_.required=c.checkManifestRequired_(a)},function(f){a.imaAssetKey=f.value;c.manifestField_.required=c.checkManifestRequired_(a)});return b};
331
+ shakaDemo.Custom.prototype.makeAssetDialogContentsDrm_=function(a,b){b=document.createElement("div");var c=new shakaDemo.InputContainer(b,null,shakaDemo.InputContainer.Style.VERTICAL,null),d,e,f=function(){var h=d.value,k=e.value;if(h){a.licenseServers.clear();for(var l=$jscomp.makeIterator(shakaDemo.Main.commonDrmSystems),m=l.next();!m.done;m=l.next())a.licenseServers.set(m.value,h);k&&a.licenseServers.set(k,h)}else a.licenseServers.clear()},g=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.LICENSE_SERVER_URL);
332
+ this.makeField_(c,g,function(h,k){d=h;(k=a.licenseServers.keys().next())&&k.value&&(h.value=a.licenseServers.get(k.value))},function(h){f()});g=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.LICENSE_CERTIFICATE_URL);this.makeField_(c,g,function(h,k){a.certificateUri&&(h.value=a.certificateUri)},function(h){a.certificateUri=h.value});g=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.DRM_SYSTEM);this.makeField_(c,g,function(h,k){e=h;k=a.licenseServers.keys();k=$jscomp.makeIterator(k);for(var l=
333
+ k.next();!l.done;l=k.next())if(l=l.value,!shakaDemo.Main.commonDrmSystems.includes(l)){h.value=l;break}},function(h){f()});return b};
334
+ shakaDemo.Custom.prototype.makeAssetDialogContentsExtra_=function(a,b){var c=document.createElement("div"),d=new shakaDemo.InputContainer(c,null,shakaDemo.InputContainer.Style.FLEX,null);d.getClassList().add("wide-input");d.setDefaultRowClass("wide-input");var e=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.EXTRA_SHAKA_PLAYER_CONFIG);this.makeField_(d,e,function(f,g){f.setAttribute("rows",10);a.extraConfig&&(f.value=JSON.stringify(a.extraConfig,null,2));b.push(f);f=document.createElement("span");
335
+ f.classList.add("mdl-textfield__error");f.textContent=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.INVALID_JSON_CONFIG_ERROR);g.appendChild(f)},function(f,g){try{if(f.value){var h=JSON.parse(f.value);a.extraConfig=h}else a.extraConfig=null;g.setValid(!0)}catch(k){g.setValid(!1)}},!0);return c};
342
336
  shakaDemo.Custom.prototype.makeAssetDialogContentsMain_=function(a,b,c){var d=this,e=document.createElement("div"),f=new shakaDemo.InputContainer(e,null,shakaDemo.InputContainer.Style.VERTICAL,null),g=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.MANIFEST_URL);this.makeField_(f,g,function(h,k){h.value=a.manifestUri;b.push(h);var l=document.createElement("span");l.classList.add("mdl-textfield__error");l.textContent=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.MANIFEST_URL_ERROR);k.appendChild(l);
343
- h.required=d.checkManifestRequired_(a);h.pattern="^(?!([\r\n\t\f\v ]+)$).*$";d.manifestField_=h},function(h){a.manifestUri=h.value});g=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.NAME);this.makeField_(f,g,function(h,k){h.value=a.name;b.push(h);var l=document.createElement("span");l.classList.add("mdl-textfield__error");l.textContent=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.NAME_ERROR);k.appendChild(l);h.required=!0;h.pattern="^(?!( *";l=$jscomp.makeIterator(d.assets_);for(var m=
344
- l.next();!m.done;m=l.next())m=m.value,m!=a&&(h.pattern+="|"+m.name.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"));h.pattern+=")$).*$"},function(h){a.name=h.value});g=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.ICON_URL);this.makeField_(f,g,function(h,k){if(a.iconUri){h.value=a.iconUri;var l=document.createElement("img");l.src=h.value;l.alt="";c.appendChild(l)}},function(h){shaka.util.Dom.removeAllChildren(c);if(a.iconUri=h.value){var k=document.createElement("img");k.src=h.value;k.alt="";c.appendChild(k)}});
337
+ h.required=d.checkManifestRequired_(a);h.pattern="^(?!([\r\n\t\f\v ]+)$).*$";d.manifestField_=h},function(h){a.manifestUri=h.value});g=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.NAME);this.makeField_(f,g,function(h,k){h.value=a.name;b.push(h);var l=document.createElement("span");l.classList.add("mdl-textfield__error");l.textContent=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.NAME_ERROR);k.appendChild(l);h.required=!0;h.pattern="^(?!( *";k=$jscomp.makeIterator(d.assets_);for(l=
338
+ k.next();!l.done;l=k.next())l=l.value,l!=a&&(h.pattern+="|"+l.name.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"));h.pattern+=")$).*$"},function(h){a.name=h.value});g=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.ICON_URL);this.makeField_(f,g,function(h,k){a.iconUri&&(h.value=a.iconUri,k=document.createElement("img"),k.src=h.value,k.alt="",c.appendChild(k))},function(h){shaka.util.Dom.removeAllChildren(c);if(a.iconUri=h.value){var k=document.createElement("img");k.src=h.value;k.alt="";c.appendChild(k)}});
345
339
  g=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.MIME_TYPE);this.makeField_(f,g,function(h,k){a.mimeType&&(h.value=a.mimeType)},function(h){a.mimeType=h.value||null});return e};shakaDemo.Custom.prototype.checkManifestRequired_=function(a){return!(a.imaContentSrcId&&a.imaVideoId||null!=a.imaAssetKey)};
346
340
  shakaDemo.Custom.prototype.makeAssetDialogContentsFinish_=function(a,b){var c=this,d=document.createElement("tr"),e=shakaDemo.Custom.ButtonStyle_.RAISED,f=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.SAVE_BUTTON);d.appendChild(this.makeButton_(f,e,function(){for(var g=$jscomp.makeIterator(b),h=g.next();!h.done;h=g.next())if(!h.value.validity.valid)return;shakaDemoMain.setupOfflineSupport(a);c.assets_.add(a);c.saveAssetInfos_(c.assets_);c.remakeSavedList_();c.dialog_.close()}));f=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.CANCEL_BUTTON);
347
341
  d.appendChild(this.makeButton_(f,e,function(){c.dialog_.close()}));return d};
348
342
  shakaDemo.Custom.prototype.showAssetDialog_=function(a){var b=this;shaka.util.Dom.removeAllChildren(this.dialog_);var c=[],d=document.createElement("div"),e=this.makeAssetDialogContentsMain_(a,c,d),f=this.makeAssetDialogContentsDrm_(a,c),g=this.makeAssetDialogContentsHeaders_(a,c),h=this.makeAssetDialogContentsAds_(a,c),k=this.makeAssetDialogContentsHLS_(a,c),l=this.makeAssetDialogContentsExtra_(a,c);a=this.makeAssetDialogContentsFinish_(a,c);var m=document.createElement("tr"),n=[],p=[];c=function(q,
349
- r,u){var t=shakaDemo.Custom.ButtonStyle_.PLAIN;q=shakaDemoMain.getLocalizedString(q);var w=b.makeButton_(q,t,function(){for(var x=$jscomp.makeIterator(n),v=x.next();!v.done;v=x.next())v.value.classList.add("hidden");r.classList.remove("hidden");x=$jscomp.makeIterator(p);for(v=x.next();!v.done;v=x.next())v.value.classList.remove("mdl-button--accent");w.classList.add("mdl-button--accent")});m.appendChild(w);n.push(r);p.push(w);u?w.classList.add("mdl-button--accent"):r.classList.add("hidden")};c(shakaDemo.MessageIds.MAIN_TAB,
343
+ t,r){var u=shakaDemo.Custom.ButtonStyle_.PLAIN;q=shakaDemoMain.getLocalizedString(q);var v=b.makeButton_(q,u,function(){for(var x=$jscomp.makeIterator(n),w=x.next();!w.done;w=x.next())w.value.classList.add("hidden");t.classList.remove("hidden");x=$jscomp.makeIterator(p);for(w=x.next();!w.done;w=x.next())w.value.classList.remove("mdl-button--accent");v.classList.add("mdl-button--accent")});m.appendChild(v);n.push(t);p.push(v);r?v.classList.add("mdl-button--accent"):t.classList.add("hidden")};c(shakaDemo.MessageIds.MAIN_TAB,
350
344
  e,!0);c(shakaDemo.MessageIds.DRM_TAB,f,!1);c(shakaDemo.MessageIds.HEADERS_TAB,g,!1);c(shakaDemo.MessageIds.ADS_TAB,h,!1);c(shakaDemo.MessageIds.HLS_TAB,k,!1);c(shakaDemo.MessageIds.EXTRA_TAB,l,!1);this.dialog_.appendChild(m);this.dialog_.appendChild(e);this.dialog_.appendChild(f);this.dialog_.appendChild(g);this.dialog_.appendChild(h);this.dialog_.appendChild(k);this.dialog_.appendChild(l);this.dialog_.appendChild(a);this.dialog_.appendChild(d);componentHandler.upgradeDom();this.dialog_.showModal()};
351
345
  shakaDemo.Custom.prototype.loadAssetInfos_=function(){var a=window.localStorage.getItem(shakaDemo.Custom.saveId_);return a?(a=JSON.parse(a),new Set(a.map(function(b){b=ShakaDemoAssetInfo.fromJSON(b);shakaDemoMain.setupOfflineSupport(b);return b}))):new Set};shakaDemo.Custom.prototype.saveAssetInfos_=function(a){var b=shakaDemo.Custom.saveId_;a=Array.from(a);window.localStorage.setItem(b,JSON.stringify(a))};
352
346
  shakaDemo.Custom.prototype.makeButton_=function(a,b,c){var d=document.createElement("button");switch(b){case shakaDemo.Custom.ButtonStyle_.FAB:d.classList.add("mdl-button--fab");d.classList.add("mdl-button--colored");b=document.createElement("i");b.classList.add("material-icons-round");b.textContent=a;d.appendChild(b);break;case shakaDemo.Custom.ButtonStyle_.RAISED:d.textContent=a;d.classList.add("mdl-button--raised");break;case shakaDemo.Custom.ButtonStyle_.PLAIN:d.textContent=a}d.addEventListener("click",
353
347
  c);d.classList.add("mdl-button");d.classList.add("mdl-js-button");d.classList.add("mdl-js-ripple-effect");return d};
354
348
  shakaDemo.Custom.prototype.createAssetCardFor_=function(a){var b=this;return new shakaDemo.AssetCard(this.savedList_,a,!1,function(c){c.addButton(shakaDemo.MessageIds.PLAY,function(){shakaDemoMain.loadAsset(a);b.updateSelected_()});c.addButton(shakaDemo.MessageIds.EDIT_CUSTOM,function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){if(1==d.nextAddress)return a.unstoreCallback?d.yield(a.unstoreCallback(),2):d.jumpTo(2);b.showAssetDialog_(a);d.jumpToEnd()})});c.addButton(shakaDemo.MessageIds.DELETE_CUSTOM,
355
- function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){if(1==d.nextAddress)return b.assets_["delete"](a),a.unstoreCallback?d.yield(a.unstoreCallback(),2):d.jumpTo(2);b.saveAssetInfos_(b.assets_);b.remakeSavedList_();d.jumpToEnd()})},shakaDemo.MessageIds.DELETE_CUSTOM);c.addStoreButton()})};shakaDemo.Custom.prototype.updateSelected_=function(){for(var a=$jscomp.makeIterator(this.assetCards_),b=a.next();!b.done;b=a.next())b.value.selectByAsset(shakaDemoMain.selectedAsset)};
349
+ function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){if(1==d.nextAddress)return b.assets_.delete(a),a.unstoreCallback?d.yield(a.unstoreCallback(),2):d.jumpTo(2);b.saveAssetInfos_(b.assets_);b.remakeSavedList_();d.jumpToEnd()})},shakaDemo.MessageIds.DELETE_CUSTOM);c.addStoreButton()})};shakaDemo.Custom.prototype.updateSelected_=function(){for(var a=$jscomp.makeIterator(this.assetCards_),b=a.next();!b.done;b=a.next())b.value.selectByAsset(shakaDemoMain.selectedAsset)};
356
350
  shakaDemo.Custom.prototype.remakeSavedList_=function(){var a=this;shaka.util.Dom.removeAllChildren(this.savedList_);if(0==this.assets_.size){var b=function(c,d){var e=document.createElement("h2");e.classList.add("mdl-typography--"+c);e.textContent=d;a.savedList_.appendChild(e)};b("title",shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.CUSTOM_INTRO_ONE));b("body-2",shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.CUSTOM_INTRO_TWO));b("body-1",shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.CUSTOM_INTRO_THREE))}else this.assetCards_=
357
351
  Array.from(this.assets_).map(function(c){return a.createAssetCardFor_(c)}),this.updateSelected_()};shakaDemo.Custom.ButtonStyle_={RAISED:0,FAB:1,PLAIN:2};shakaDemo.Custom.saveId_="shakaPlayerDemoSavedAssets";document.addEventListener("shaka-main-loaded",shakaDemo.Custom.init);document.addEventListener("shaka-main-cleanup",function(){shakaDemoCustom=null});shakaDemo.Utils=function(){};
358
352
  shakaDemo.Utils.runThroughHashParams=function(a,b){var c=[],d=function(k,l){c.push(l);a(k,l)};d("audiolang","preferredAudioLanguage");d("textlang","preferredTextLanguage");d("textrole","preferredTextRole");d("channels","preferredAudioChannelCount");c.push("abr.enabled");c.push("drm.advanced");c.push("drm.servers");var e=[],f=[],g=function(k){for(var l in k){e.includes(l)&&!f.includes(l)&&f.push(l);e.push(l);var m=k[l];"number"!=typeof m&&"string"!=typeof m&&"boolean"!=typeof m&&g(m)}};g(b);var h=
@@ -367,25 +361,25 @@ shakaDemo.Front.prototype.updateSelected_=function(){for(var a=$jscomp.makeItera
367
361
  a=new shakaDemo.InputContainer(d,null,shakaDemo.InputContainer.Style.VERTICAL,null);a.addRow(null,null);this.screenshotButton_=document.createElement("button");a.latestElementContainer.appendChild(this.screenshotButton_);this.screenshotButton_.textContent=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.VISUALIZER_SCREENSHOT_BUTTON);this.screenshotButton_.classList.add("mdl-button");this.screenshotButton_.classList.add("mdl-button--colored");this.screenshotButton_.classList.add("mdl-js-button");
368
362
  this.screenshotButton_.classList.add("mdl-js-ripple-effect");this.screenshotButton_.addEventListener("click",function(){g.takeScreenshot_()});a.addRow(shakaDemo.MessageIds.VISUALIZER_AUTO_SCREENSHOT_TOGGLE,null);this.autoScreenshotToggle_=new shakaDemo.BoolInput(a,shakaDemo.MessageIds.VISUALIZER_AUTO_SCREENSHOT_TOGGLE,function(h){g.takeAutoScreenshots_=h.checked})};
369
363
  shakaDemo.Visualizer.prototype.start=function(){this.timer_.tickEvery(shakaDemo.Visualizer.updateFrequency_);this.div_.classList.remove("hidden");this.autoScreenshotTaken_=!0};shakaDemo.Visualizer.prototype.stop=function(){this.timer_.stop();this.div_.classList.add("hidden");this.updates_=[]};
370
- shakaDemo.Visualizer.prototype.drawBufferInfoCanvasBar_=function(a,b,c,d,e,f){var g=this,h=b.filter(function(w){return w.replaceAll("F","A").replaceAll("0","4")}),k=function(w){return Math.round((w-g.video_.currentTime)*e+g.canvas_.width/2)},l=Math.floor(d/4);a.textAlign="center";a.font="bold "+l+"px serif";a.textBaseline="bottom";for(var m=e>4*l,n=$jscomp.makeIterator(this.updates_),p=n.next();!p.done;p=n.next()){p=p.value;var q=k(p.start),r=k(p.end);if(0<=r&&q<this.canvas_.width){q=Math.max(q,0);
371
- r=Math.min(r,this.canvas_.width);a.fillStyle="#FFFFFF";a.globalAlpha=.1+.2*(1-p.age/shakaDemo.Visualizer.maxUpdateAge_);a.fillRect(q,c,r-q,d);a.globalAlpha=1;var u=p.contentType.toUpperCase();m||(u=u[0]);q+=(r-q)/2;r=c+d;switch(p.contentType){case "video":r-=2*l;break;case "audio":r-=l}a.fillText(u,q,r)}}m=this.player_.getConfiguration().streaming.gapDetectionThreshold;for(n=0;n<this.video_.buffered.length;n++){var t=k(this.video_.buffered.start(n));p=k(this.video_.buffered.end(n));0<=p&&t<this.canvas_.width&&
372
- (t=Math.max(t,0),p=Math.min(p,this.canvas_.width),u=(n-f+this.colorIOffset_+1E4*b.length)%b.length,q=(d-3*l)/b.length,r=c+u*q,a.fillStyle=b[u],a.fillRect(t,r,p-t,q),t=Math.max(t,k(this.video_.buffered.end(n)-m)),a.fillStyle=h[u],a.fillRect(t,r,p-t,q))}};shakaDemo.Visualizer.prototype.takeAutomaticScreenshots_=function(){2>=this.video_.readyState?!this.autoScreenshotTaken_&&this.takeAutoScreenshots_&&(this.takeScreenshot_(),this.autoScreenshotTaken_=!0):this.autoScreenshotTaken_=!1};
364
+ shakaDemo.Visualizer.prototype.drawBufferInfoCanvasBar_=function(a,b,c,d,e,f){var g=this,h=b.filter(function(v){return v.replaceAll("F","A").replaceAll("0","4")}),k=function(v){return Math.round((v-g.video_.currentTime)*e+g.canvas_.width/2)},l=Math.floor(d/4);a.textAlign="center";a.font="bold "+l+"px serif";a.textBaseline="bottom";for(var m=e>4*l,n=$jscomp.makeIterator(this.updates_),p=n.next();!p.done;p=n.next()){p=p.value;var q=k(p.start),t=k(p.end);if(0<=t&&q<this.canvas_.width){q=Math.max(q,0);
365
+ t=Math.min(t,this.canvas_.width);a.fillStyle="#FFFFFF";a.globalAlpha=.1+.2*(1-p.age/shakaDemo.Visualizer.maxUpdateAge_);a.fillRect(q,c,t-q,d);a.globalAlpha=1;var r=p.contentType.toUpperCase();m||(r=r[0]);q+=(t-q)/2;t=c+d;switch(p.contentType){case "video":t-=2*l;break;case "audio":t-=l}a.fillText(r,q,t)}}m=this.player_.getConfiguration().streaming.gapDetectionThreshold;for(n=0;n<this.video_.buffered.length;n++){var u=k(this.video_.buffered.start(n));p=k(this.video_.buffered.end(n));0<=p&&u<this.canvas_.width&&
366
+ (u=Math.max(u,0),p=Math.min(p,this.canvas_.width),r=(n-f+this.colorIOffset_+1E4*b.length)%b.length,q=(d-3*l)/b.length,t=c+r*q,a.fillStyle=b[r],a.fillRect(u,t,p-u,q),u=Math.max(u,k(this.video_.buffered.end(n)-m)),a.fillStyle=h[r],a.fillRect(u,t,p-u,q))}};shakaDemo.Visualizer.prototype.takeAutomaticScreenshots_=function(){2>=this.video_.readyState?!this.autoScreenshotTaken_&&this.takeAutoScreenshots_&&(this.takeScreenshot_(),this.autoScreenshotTaken_=!0):this.autoScreenshotTaken_=!1};
373
367
  shakaDemo.Visualizer.prototype.ageUpdates_=function(){for(var a=$jscomp.makeIterator(this.updates_),b=a.next();!b.done;b=a.next())b.value.age+=shakaDemo.Visualizer.updateFrequency_;this.updates_=this.updates_.filter(function(c){return c.age<shakaDemo.Visualizer.maxUpdateAge_})};
374
368
  shakaDemo.Visualizer.prototype.takeScreenshot_=function(){shaka.util.Dom.removeAllChildren(this.screenshotDiv_);var a=document.createElement("canvas");a.width=this.canvas_.width;a.height=this.canvas_.height;a.getContext("2d").drawImage(this.canvas_,0,0);this.screenshotDiv_.appendChild(a)};
375
369
  shakaDemo.Visualizer.prototype.updateCanvas_=function(){this.canvas_.width=this.canvas_.offsetWidth;this.canvas_.height=this.canvas_.offsetHeight;var a=this.canvas_.getContext("2d");a.imageSmoothingEnabled=!1;a.fillStyle="#000000";a.fillRect(0,0,this.canvas_.width,this.canvas_.height);for(var b=["#FF0000","#00FF00","#0000FF"],c=-1,d=-1,e=this.lastCurrentTime_,f=this.video_.currentTime,g=this.video_.buffered,h=0;h<g.length;h++)e>=g.start(h)&&e<=g.end(h)&&(d=h),f>=g.start(h)&&f<=g.end(h)&&(c=h);this.lastCurrentTime_=
376
- f;-1!=c&&-1!=d&&(this.colorIOffset_+=c-d);d=[50,5];e=this.canvas_.height/d.length;for(f=0;f<d.length;f++)g=.75*e,this.drawBufferInfoCanvasBar_(a,b,e*f+(e-g)/2,g,d[f],c);a.fillStyle="#FFFFFF";a.fillRect(this.canvas_.width/2-1,0,2,this.canvas_.height)};shakaDemo.Visualizer.maxUpdateAge_=20;shakaDemo.Visualizer.updateFrequency_=.05;shakaDemo.VisualizerButton=function(a,b){var c=shaka.ui.Element.call(this,a,b)||this;c.button_=document.createElement("button");c.button_.classList.add("shaka-pip-button");c.button_.classList.add("shaka-tooltip");c.icon_=document.createElement("i");c.icon_.classList.add("material-icons-round");c.setIcon_();c.button_.appendChild(c.icon_);var d=document.createElement("label");d.classList.add("shaka-overflow-button-label");d.classList.add("shaka-overflow-menu-only");c.nameSpan_=document.createElement("span");
377
- d.appendChild(c.nameSpan_);c.currentPipState_=document.createElement("span");c.currentPipState_.classList.add("shaka-current-selection-span");d.appendChild(c.currentPipState_);c.button_.appendChild(d);c.parent.appendChild(c.button_);c.eventManager.listen(c.button_,"click",function(){shakaDemoMain.setIsVisualizerActive(!shakaDemoMain.getIsVisualizerActive());c.setIcon_()});c.eventManager.listen(c.localization,shaka.ui.Localization.LOCALE_UPDATED,function(){c.updateLocalizedStrings_()});c.eventManager.listen(c.localization,
370
+ f;-1!=c&&-1!=d&&(this.colorIOffset_+=c-d);d=[50,5];e=this.canvas_.height/d.length;for(f=0;f<d.length;f++)g=.75*e,this.drawBufferInfoCanvasBar_(a,b,e*f+(e-g)/2,g,d[f],c);a.fillStyle="#FFFFFF";a.fillRect(this.canvas_.width/2-1,0,2,this.canvas_.height)};shakaDemo.Visualizer.maxUpdateAge_=20;shakaDemo.Visualizer.updateFrequency_=.05;shakaDemo.VisualizerButton=function(a,b){var c=shaka.ui.Element.call(this,a,b)||this;c.button_=document.createElement("button");c.button_.classList.add("shaka-pip-button");c.button_.classList.add("shaka-tooltip");c.icon_=document.createElement("i");c.icon_.classList.add("material-icons-round");c.setIcon_();c.button_.appendChild(c.icon_);a=document.createElement("label");a.classList.add("shaka-overflow-button-label");a.classList.add("shaka-overflow-menu-only");c.nameSpan_=document.createElement("span");
371
+ a.appendChild(c.nameSpan_);c.currentPipState_=document.createElement("span");c.currentPipState_.classList.add("shaka-current-selection-span");a.appendChild(c.currentPipState_);c.button_.appendChild(a);c.parent.appendChild(c.button_);c.eventManager.listen(c.button_,"click",function(){shakaDemoMain.setIsVisualizerActive(!shakaDemoMain.getIsVisualizerActive());c.setIcon_()});c.eventManager.listen(c.localization,shaka.ui.Localization.LOCALE_UPDATED,function(){c.updateLocalizedStrings_()});c.eventManager.listen(c.localization,
378
372
  shaka.ui.Localization.LOCALE_CHANGED,function(){c.updateLocalizedStrings_()});return c};$jscomp.inherits(shakaDemo.VisualizerButton,shaka.ui.Element);shakaDemo.VisualizerButton.prototype.updateLocalizedStrings_=function(){this.nameSpan_.textContent=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.VISUALIZER_BUTTON)};shakaDemo.VisualizerButton.prototype.setIcon_=function(){shakaDemoMain.getIsVisualizerActive()?this.icon_.textContent="bar_chart":this.icon_.textContent="add_chart"};
379
373
  shakaDemo.VisualizerButton.Factory=function(){};shakaDemo.VisualizerButton.Factory.prototype.create=function(a,b){return new shakaDemo.VisualizerButton(a,b)};shakaDemo.Main=function(){this.localization_=this.selectedAsset=this.player_=this.container_=this.video_=null;this.fullyLoaded_=!1;this.controls_=null;this.nativeControlsEnabled_=this.trickPlayControlsEnabled_=!1;this.uiLocale_="";this.noInput_=!1;this.errorDisplayLink_=document.getElementById("error-display-link");this.currentErrorSeverity_=null;MaterialLayout.prototype.Constant_.MENU_ICON="settings";this.visualizer_=null};
380
374
  shakaDemo.Main.prototype.initCommon_=function(){var a=this;window.addEventListener("error",function(b){if(!b.message.includes("cvox.Api"))a.onError_(b.error)});document.getElementById("error-display-close-button").addEventListener("click",function(b){return a.closeError_()});this.setUpVersionStrings_()};
381
- shakaDemo.Main.prototype.initFailed=function(a){var b=this,c,d,e,f,g,h,k,l,m,n,p,q;return $jscomp.asyncExecutePromiseGeneratorProgram(function(r){if(1==r.nextAddress){b.initCommon_();b.makeVersionLinks_();c=document.getElementById("error-display-close-button");c.style.display="none";componentHandler.upgradeDom();d=[];e=$jscomp.makeIterator(document.getElementsByClassName("should-disable-on-fail"));for(f=e.next();!f.done;f=e.next())g=f.value,d.push(g);h=$jscomp.makeIterator(document.getElementsByClassName("mdl-layout__drawer-button"));
382
- for(f=h.next();!f.done;f=h.next())k=f.value,d.push(k);l=$jscomp.makeIterator(d);for(f=l.next();!f.done;f=l.next())m=f.value,m.tabIndex=-1,m.classList.add("disabled-by-fail");b.localization_=new shaka.ui.Localization("en");b.localization_.changeLocale(navigator.languages||[]);return r.yield(b.setupLocalization_(),2)}n=shaka.util.Error.Severity.CRITICAL;q=p="";switch(a){case shaka.ui.Overlay.FailReasonCode.NO_BROWSER_SUPPORT:q=b.getLocalizedString(shakaDemo.MessageIds.FAILURE_NO_BROWSER_SUPPORT);p=
383
- "https://github.com/shaka-project/shaka-player#platform-and-browser-support-matrix";break;case shaka.ui.Overlay.FailReasonCode.PLAYER_FAILED_TO_LOAD:q=b.getLocalizedString(shakaDemo.MessageIds.FAILURE_MISC)}b.handleError_(n,q,p);r.jumpToEnd()})};
375
+ shakaDemo.Main.prototype.initFailed=function(a){var b=this,c,d,e,f,g,h,k,l,m,n,p,q;return $jscomp.asyncExecutePromiseGeneratorProgram(function(t){if(1==t.nextAddress){b.initCommon_();b.makeVersionLinks_();c=document.getElementById("error-display-close-button");c.style.display="none";componentHandler.upgradeDom();d=[];e=$jscomp.makeIterator(document.getElementsByClassName("should-disable-on-fail"));for(f=e.next();!f.done;f=e.next())g=f.value,d.push(g);h=$jscomp.makeIterator(document.getElementsByClassName("mdl-layout__drawer-button"));
376
+ for(f=h.next();!f.done;f=h.next())k=f.value,d.push(k);l=$jscomp.makeIterator(d);for(f=l.next();!f.done;f=l.next())m=f.value,m.tabIndex=-1,m.classList.add("disabled-by-fail");b.localization_=new shaka.ui.Localization("en");b.localization_.changeLocale(navigator.languages||[]);return t.yield(b.setupLocalization_(),2)}n=shaka.util.Error.Severity.CRITICAL;q=p="";switch(a){case shaka.ui.Overlay.FailReasonCode.NO_BROWSER_SUPPORT:q=b.getLocalizedString(shakaDemo.MessageIds.FAILURE_NO_BROWSER_SUPPORT);p=
377
+ "https://github.com/shaka-project/shaka-player#platform-and-browser-support-matrix";break;case shaka.ui.Overlay.FailReasonCode.PLAYER_FAILED_TO_LOAD:q=b.getLocalizedString(shakaDemo.MessageIds.FAILURE_MISC)}b.handleError_(n,q,p);t.jumpToEnd()})};
384
378
  shakaDemo.Main.prototype.init=function(){var a=this,b,c,d,e,f,g,h,k,l,m,n;return $jscomp.asyncExecutePromiseGeneratorProgram(function(p){switch(p.nextAddress){case 1:return a.initCommon_(),b=a,p.yield(shaka.Player.probeSupport(),2);case 2:return b.support_=p.yieldResult,a.video_=document.getElementById("video"),a.video_.poster=shakaDemo.Main.mainPoster_,a.container_=document.getElementsByClassName("video-container")[0],navigator.serviceWorker&&(console.debug("Registering service worker."),navigator.serviceWorker.register("service_worker.js")),
385
379
  a.noInput_="noinput"in a.getParams_(),p.yield(a.setupPlayer_(),3);case 3:return a.readHash_(),window.addEventListener("hashchange",function(){return a.hashChanged_()}),p.yield(a.setupStorage_(),4);case 4:a.setupBugButton_();if(a.noInput_){c=$jscomp.makeIterator(document.getElementsByClassName("should-hide-in-no-input-mode"));for(d=c.next();!d.done;d=c.next())e=d.value,a.hideElement_(e);f=$jscomp.makeIterator(document.getElementsByClassName("should-show-in-no-input-mode"));for(d=f.next();!d.done;d=
386
380
  f.next())g=d.value,a.showElement_(g);a.container_.classList.add("no-input-sized");document.getElementById("video-bar").classList.add("no-input-sized")}else goog.asserts.assert(a.player_,"Player should exist by now."),h=document.getElementById("visualizer-canvas"),k=document.getElementById("visualizer-div"),l=document.getElementById("visualizer-controls-div"),m=document.getElementById("visualizer-screenshot-div"),a.visualizer_=new shakaDemo.Visualizer(h,k,m,l,a.video_,a.player_);a.dispatchEventWithName_("shaka-main-loaded");
387
381
  return p.yield(Promise.resolve(),5);case 5:componentHandler.upgradeDom(),n=a.getLastAssetFromHash_(),a.fullyLoaded_=!0,a.remakeHash(),n&&!a.selectedAsset&&a.loadAsset(n),p.jumpToEnd()}})};
388
- shakaDemo.Main.prototype.loadText_=function(a){var b,c,d,e,f,g,h;return $jscomp.asyncExecutePromiseGeneratorProgram(function(k){return 1==k.nextAddress?(b=new shaka.net.NetworkingEngine,c=shaka.net.NetworkingEngine.defaultRetryParameters(),d=shaka.net.NetworkingEngine.makeRequest([a],c),e=shaka.net.NetworkingEngine.RequestType.APP,f=b.request(e,d),k.yield(f.promise,2)):3!=k.nextAddress?(g=k.yieldResult,h=shaka.util.StringUtils.fromUTF8(g.data),k.yield(b.destroy(),3)):k["return"](h)})};
382
+ shakaDemo.Main.prototype.loadText_=function(a){var b,c,d,e,f,g,h;return $jscomp.asyncExecutePromiseGeneratorProgram(function(k){return 1==k.nextAddress?(b=new shaka.net.NetworkingEngine,c=shaka.net.NetworkingEngine.defaultRetryParameters(),d=shaka.net.NetworkingEngine.makeRequest([a],c),e=shaka.net.NetworkingEngine.RequestType.APP,f=b.request(e,d),k.yield(f.promise,2)):3!=k.nextAddress?(g=k.yieldResult,h=shaka.util.StringUtils.fromUTF8(g.data),k.yield(b.destroy(),3)):k.return(h)})};
389
383
  shakaDemo.Main.prototype.reportBug_=function(){var a=this,b,c,d,e;return $jscomp.asyncExecutePromiseGeneratorProgram(function(f){switch(f.nextAddress){case 1:return f.yield(a.loadText_("autoTemplate.txt"),2);case 2:b=f.yieldResult;c=function(g,h){b=b.replace(g,h)};c("RE:player",shaka.Player.version);c("RE:link",window.location.href);c("RE:browser",navigator.userAgent);if(!a.selectedAsset||a.selectedAsset.source!=shakaAssets.Source.CUSTOM){c("RE:customwarning\n","");f.jumpTo(3);break}return f.yield(a.loadText_("customWarning.txt"),
390
384
  4);case 4:d=f.yieldResult,c("RE:customwarning",d);case 3:e="https://github.com/shaka-project/shaka-player/issues/new?",e+="body="+encodeURIComponent(b),window.open(e,"_blank"),f.jumpToEnd()}})};
391
385
  shakaDemo.Main.prototype.setupBugButton_=function(){var a=this,b=document.getElementById("bug-button");b.addEventListener("click",function(){return a.reportBug_()});navigator.onLine||b.setAttribute("disabled","");window.addEventListener("online",function(){b.removeAttribute("disabled")});window.addEventListener("offline",function(){b.setAttribute("disabled","")})};
@@ -395,34 +389,34 @@ shakaDemo.Main.prototype.setupPlayer_=function(){var a=this,b,c,d,e,f,g,h,k,l,m;
395
389
  a.defaultConfig_=a.player_.getConfiguration(),a.desiredConfig_=a.player_.getConfiguration(),f=navigator.languages||["en-us"],a.configure("preferredAudioLanguage",f[0]),a.configure("preferredTextLanguage",f[0]),a.uiLocale_=f[0],g=function(p){return a.onErrorEvent_(p)},a.player_.addEventListener("error",g),a.controls_=c.getControls(),a.controls_.addEventListener("error",g),a.controls_.addEventListener("caststatuschanged",function(p){a.onCastStatusChange_(p.newStatus)}),a.localization_=a.controls_.getLocalization(),
396
390
  n.yield(a.setupLocalization_(),2);h=document.getElementById("drawer-close-button");h.addEventListener("click",function(){document.getElementById("main-layout").MaterialLayout.toggleDrawer();a.dispatchEventWithName_("shaka-main-drawer-state-change");a.hideElement_(h)});k=document.querySelector(".mdl-layout__drawer-button");goog.asserts.assert(k,"There should be a drawer button.");l=function(){a.dispatchEventWithName_("shaka-main-drawer-state-change");a.showElement_(h)};k.addEventListener("click",l);
397
391
  k.addEventListener("keydown",function(p){p=p.key;" "!=p&&"Spacebar"!=p&&"Enter"!=p||l()});m=document.querySelector(".mdl-layout__obfuscator");goog.asserts.assert(m,"There should be an obfuscator.");m.addEventListener("click",function(){a.dispatchEventWithName_("shaka-main-drawer-state-change");a.hideElement_(h)});a.hideElement_(h);n.jumpToEnd()})};
398
- shakaDemo.Main.prototype.setupLocalization_=function(){var a=this,b,c,d,e;return $jscomp.asyncExecutePromiseGeneratorProgram(function(f){if(1==f.nextAddress)return b=function(){a.localizeHTMLElements_();a.dispatchEventWithName_("shaka-main-locale-changed")},c=shaka.ui.Localization.UNKNOWN_LOCALES,a.localization_.addEventListener(c,function(g){var h={};g=$jscomp.makeIterator(g.locales);for(var k=g.next();!k.done;h={$jscomp$loop$prop$locale$81:h.$jscomp$loop$prop$locale$81},k=g.next())h.$jscomp$loop$prop$locale$81=
399
- k.value,a.loadUILocale_(h.$jscomp$loop$prop$locale$81).then(function(l){return function(){l.$jscomp$loop$prop$locale$81==a.uiLocale_&&b()}}(h))}),d=shaka.ui.Localization.LOCALE_CHANGED,a.localization_.addEventListener(d,function(g){b()}),e=[],e.push(a.loadUILocale_(a.uiLocale_)),a.uiLocale_.includes("-")&&e.push(a.loadUILocale_(a.uiLocale_.split("-")[0])),a.uiLocale_.startsWith("en")||e.push(a.loadUILocale_("en")),f.yield(Promise.all(e),2);a.localizeHTMLElements_();f.jumpToEnd()})};
392
+ shakaDemo.Main.prototype.setupLocalization_=function(){var a=this,b,c,d,e;return $jscomp.asyncExecutePromiseGeneratorProgram(function(f){if(1==f.nextAddress)return b=function(){a.localizeHTMLElements_();a.dispatchEventWithName_("shaka-main-locale-changed")},c=shaka.ui.Localization.UNKNOWN_LOCALES,a.localization_.addEventListener(c,function(g){var h={};g=$jscomp.makeIterator(g.locales);for(var k=g.next();!k.done;h={$jscomp$loop$prop$locale$82:h.$jscomp$loop$prop$locale$82},k=g.next())h.$jscomp$loop$prop$locale$82=
393
+ k.value,a.loadUILocale_(h.$jscomp$loop$prop$locale$82).then(function(l){return function(){l.$jscomp$loop$prop$locale$82==a.uiLocale_&&b()}}(h))}),d=shaka.ui.Localization.LOCALE_CHANGED,a.localization_.addEventListener(d,function(g){b()}),e=[],e.push(a.loadUILocale_(a.uiLocale_)),a.uiLocale_.includes("-")&&e.push(a.loadUILocale_(a.uiLocale_.split("-")[0])),a.uiLocale_.startsWith("en")||e.push(a.loadUILocale_("en")),f.yield(Promise.all(e),2);a.localizeHTMLElements_();f.jumpToEnd()})};
400
394
  shakaDemo.Main.prototype.getIsDrawerOpen=function(){var a=document.querySelector(".mdl-layout__drawer");goog.asserts.assert(a,"There should be a drawer.");return a.classList.contains("is-visible")};shakaDemo.Main.prototype.getIdentifierFromAsset_=function(a){return a.name+(a.source==shakaAssets.Source.CUSTOM?" [CUSTOM]":"")};
401
- shakaDemo.Main.prototype.makeStorageInstance_=function(){var a=this;if(!shaka.offline.Storage.support())return null;var b=new shaka.offline.Storage;b.configure(this.desiredConfig_);b.configure("offline.progressCallback",function(c,d){var e=c.appMetadata.identifier;a:{for(var f=$jscomp.makeIterator(shakaAssets.testAssets),g=f.next();!g.done;g=f.next())if(g=g.value,a.getIdentifierFromAsset_(g)==e){e=g;break a}if(shakaDemoCustom)for(f=$jscomp.makeIterator(shakaDemoCustom.assets()),g=f.next();!g.done;g=
402
- f.next())if(g=g.value,a.getIdentifierFromAsset_(g)==e){e=g;break a}e=null}e&&(e.storedProgress=d,a.dispatchEventWithName_("shaka-main-offline-progress"))});return b};
403
- shakaDemo.Main.prototype.setupOfflineSupport=function(a){var b=this;if(this.initialStoredList_){a.storedContent=null;for(var c=$jscomp.makeIterator(this.initialStoredList_),d=c.next();!d.done;d=c.next()){d=d.value;var e=d.appMetadata.identifier;this.getIdentifierFromAsset_(a)==e&&(a.storedContent=d)}a.storeCallback=function(){var f,g,h,k,l,m;return $jscomp.asyncExecutePromiseGeneratorProgram(function(n){switch(n.nextAddress){case 1:f=b.makeStorageInstance_();if(!f)return n["return"]();n.setCatchFinallyBlocks(2);
395
+ shakaDemo.Main.prototype.makeStorageInstance_=function(){var a=this;if(!shaka.offline.Storage.support())return null;var b=new shaka.offline.Storage;b.configure(this.desiredConfig_);b.configure("offline.progressCallback",function(c,d){c=c.appMetadata.identifier;a:{for(var e=$jscomp.makeIterator(shakaAssets.testAssets),f=e.next();!f.done;f=e.next())if(f=f.value,a.getIdentifierFromAsset_(f)==c){c=f;break a}if(shakaDemoCustom)for(e=$jscomp.makeIterator(shakaDemoCustom.assets()),f=e.next();!f.done;f=e.next())if(f=
396
+ f.value,a.getIdentifierFromAsset_(f)==c){c=f;break a}c=null}c&&(c.storedProgress=d,a.dispatchEventWithName_("shaka-main-offline-progress"))});return b};
397
+ shakaDemo.Main.prototype.setupOfflineSupport=function(a){var b=this;if(this.initialStoredList_){a.storedContent=null;for(var c=$jscomp.makeIterator(this.initialStoredList_),d=c.next();!d.done;d=c.next()){d=d.value;var e=d.appMetadata.identifier;this.getIdentifierFromAsset_(a)==e&&(a.storedContent=d)}a.storeCallback=function(){var f,g,h,k,l,m;return $jscomp.asyncExecutePromiseGeneratorProgram(function(n){switch(n.nextAddress){case 1:f=b.makeStorageInstance_();if(!f)return n.return();n.setCatchFinallyBlocks(2);
404
398
  return n.yield(b.drmConfiguration_(a,f),4);case 4:return g={identifier:b.getIdentifierFromAsset_(a),downloaded:new Date},a.storedProgress=0,b.dispatchEventWithName_("shaka-main-offline-progress"),h=Date.now(),n.yield(f.store(a.manifestUri,g).promise,5);case 5:k=n.yieldResult;l=Date.now();console.log("Download time:",l-h);a.storedContent=k;n.leaveTryBlock(3);break;case 2:m=n.enterCatchBlock(),b.onError_(m),a.storedContent=null;case 3:f.destroy(),a.storedProgress=1,b.dispatchEventWithName_("shaka-main-offline-progress"),
405
- n.jumpToEnd()}})};a.unstoreCallback=function(){var f,g;return $jscomp.asyncExecutePromiseGeneratorProgram(function(h){switch(h.nextAddress){case 1:a==b.selectedAsset&&b.unload();if(!a.storedContent||!a.storedContent.offlineUri){h.jumpTo(0);break}f=b.makeStorageInstance_();if(!f)return h["return"]();h.setCatchFinallyBlocks(3);a.storedProgress=0;b.dispatchEventWithName_("shaka-main-offline-progress");return h.yield(f.remove(a.storedContent.offlineUri),5);case 5:a.storedContent=null;h.leaveTryBlock(4);
399
+ n.jumpToEnd()}})};a.unstoreCallback=function(){var f,g;return $jscomp.asyncExecutePromiseGeneratorProgram(function(h){switch(h.nextAddress){case 1:a==b.selectedAsset&&b.unload();if(!a.storedContent||!a.storedContent.offlineUri){h.jumpTo(0);break}f=b.makeStorageInstance_();if(!f)return h.return();h.setCatchFinallyBlocks(3);a.storedProgress=0;b.dispatchEventWithName_("shaka-main-offline-progress");return h.yield(f.remove(a.storedContent.offlineUri),5);case 5:a.storedContent=null;h.leaveTryBlock(4);
406
400
  break;case 3:g=h.enterCatchBlock(),b.onError_(g);case 4:f.destroy(),a.storedProgress=1,b.dispatchEventWithName_("shaka-main-offline-progress"),h.jumpToEnd()}})}}};
407
- shakaDemo.Main.prototype.setupStorage_=function(){var a=this,b,c,d,e,f,g;return $jscomp.asyncExecutePromiseGeneratorProgram(function(h){switch(h.nextAddress){case 1:b=a.makeStorageInstance_();if(!b)return h["return"]();h.setCatchFinallyBlocks(2,3);c=a;return h.yield(b.list(),5);case 5:c.initialStoredList_=h.yieldResult;case 3:h.enterFinallyBlock();b.destroy();h.leaveFinallyBlock(4);break;case 2:d=h.enterCatchBlock();console.error(d);a.initialStoredList_=null;h.jumpTo(3);break;case 4:e=$jscomp.makeIterator(shakaAssets.testAssets);
401
+ shakaDemo.Main.prototype.setupStorage_=function(){var a=this,b,c,d,e,f,g;return $jscomp.asyncExecutePromiseGeneratorProgram(function(h){switch(h.nextAddress){case 1:b=a.makeStorageInstance_();if(!b)return h.return();h.setCatchFinallyBlocks(2,3);c=a;return h.yield(b.list(),5);case 5:c.initialStoredList_=h.yieldResult;case 3:h.enterFinallyBlock();b.destroy();h.leaveFinallyBlock(4);break;case 2:d=h.enterCatchBlock();console.error(d);a.initialStoredList_=null;h.jumpTo(3);break;case 4:e=$jscomp.makeIterator(shakaAssets.testAssets);
408
402
  for(f=e.next();!f.done;f=e.next())g=f.value,a.getAssetUnsupportedReason(g,!0)||a.setupOfflineSupport(g);h.jumpToEnd()}})};shakaDemo.Main.prototype.hashChanged_=function(){this.readHash_();this.dispatchEventWithName_("shaka-main-config-change")};
409
- shakaDemo.Main.prototype.getAssetUnsupportedReason=function(a,b){var c=this;if(b&&(!shaka.offline.Storage.support()||!this.initialStoredList_))return shakaDemo.MessageIds.UNSUPPORTED_NO_OFFLINE;if(a.source==shakaAssets.Source.CUSTOM)return null;if(a.disabled)return shakaDemo.MessageIds.UNSUPPORTED_DISABLED;if(b&&!a.features.includes(shakaAssets.Feature.OFFLINE))return shakaDemo.MessageIds.UNSUPPORTED_NO_DOWNLOAD;if(!a.isClear()){if(!a.drm.some(function(e){return c.support_.drm[shakaAssets.identifierForKeySystem(e)]}))return shakaDemo.MessageIds.UNSUPPORTED_NO_KEY_SUPPORT;
410
- if(b&&!a.drm.some(function(e){e=shakaAssets.identifierForKeySystem(e);return c.support_.drm[e]&&c.support_.drm[e].persistentState}))return shakaDemo.MessageIds.UNSUPPORTED_NO_LICENSE_SUPPORT}if(a.features.includes(shakaAssets.Feature.DASH)&&!this.support_.manifest.mpd)return shakaDemo.MessageIds.UNSUPPORTED_NO_DASH_SUPPORT;if(a.features.includes(shakaAssets.Feature.HLS)&&!this.support_.manifest.m3u8)return shakaDemo.MessageIds.UNSUPPORTED_NO_HLS_SUPPORT;var d=[];a.features.includes(shakaAssets.Feature.WEBM)&&
411
- d.push("video/webm");a.features.includes(shakaAssets.Feature.MP4)&&d.push("video/mp4");a.features.includes(shakaAssets.Feature.MP2TS)&&d.push("video/mp2t");a.features.includes(shakaAssets.Feature.CONTAINERLESS)&&d.push("audio/aac");return d.some(function(e){return c.support_.media[e]})?null:shakaDemo.MessageIds.UNSUPPORTED_NO_FORMAT_SUPPORT};shakaDemo.Main.prototype.setTrickPlayControlsEnabled=function(a){this.trickPlayControlsEnabled_=a;this.configureUI_();this.remakeHash()};
403
+ shakaDemo.Main.prototype.getAssetUnsupportedReason=function(a,b){var c=this;if(b&&(!shaka.offline.Storage.support()||!this.initialStoredList_))return shakaDemo.MessageIds.UNSUPPORTED_NO_OFFLINE;if(a.source==shakaAssets.Source.CUSTOM)return null;if(a.disabled)return shakaDemo.MessageIds.UNSUPPORTED_DISABLED;if(b&&!a.features.includes(shakaAssets.Feature.OFFLINE))return shakaDemo.MessageIds.UNSUPPORTED_NO_DOWNLOAD;if(!a.isClear()){if(!a.drm.some(function(d){return c.support_.drm[shakaAssets.identifierForKeySystem(d)]}))return shakaDemo.MessageIds.UNSUPPORTED_NO_KEY_SUPPORT;
404
+ if(b&&!a.drm.some(function(d){d=shakaAssets.identifierForKeySystem(d);return c.support_.drm[d]&&c.support_.drm[d].persistentState}))return shakaDemo.MessageIds.UNSUPPORTED_NO_LICENSE_SUPPORT}if(a.features.includes(shakaAssets.Feature.DASH)&&!this.support_.manifest.mpd)return shakaDemo.MessageIds.UNSUPPORTED_NO_DASH_SUPPORT;if(a.features.includes(shakaAssets.Feature.HLS)&&!this.support_.manifest.m3u8)return shakaDemo.MessageIds.UNSUPPORTED_NO_HLS_SUPPORT;b=[];a.features.includes(shakaAssets.Feature.WEBM)&&
405
+ b.push("video/webm");a.features.includes(shakaAssets.Feature.MP4)&&b.push("video/mp4");a.features.includes(shakaAssets.Feature.MP2TS)&&b.push("video/mp2t");a.features.includes(shakaAssets.Feature.CONTAINERLESS)&&b.push("audio/aac");return b.some(function(d){return c.support_.media[d]})?null:shakaDemo.MessageIds.UNSUPPORTED_NO_FORMAT_SUPPORT};shakaDemo.Main.prototype.setTrickPlayControlsEnabled=function(a){this.trickPlayControlsEnabled_=a;this.configureUI_();this.remakeHash()};
412
406
  shakaDemo.Main.prototype.getTrickPlayControlsEnabled=function(){return this.trickPlayControlsEnabled_};shakaDemo.Main.prototype.setNativeControlsEnabled=function(a){this.nativeControlsEnabled_=a;this.remakeHash()};shakaDemo.Main.prototype.getNativeControlsEnabled=function(){return this.nativeControlsEnabled_};
413
407
  shakaDemo.Main.prototype.localizeHTMLElements_=function(){for(var a=$jscomp.makeIterator(document.querySelectorAll("[localized-string]")),b=a.next();!b.done;b=a.next()){b=b.value;var c=b.getAttribute("localized-string");if(c=shakaDemo.MessageIds[c])b.textContent=this.getLocalizedString(c)}};shakaDemo.Main.prototype.getLocalizedString=function(a){return this.localization_.resolve(a)};
414
- shakaDemo.Main.prototype.loadUILocale_=function(a){var b=this,c;return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){if(!a)return d["return"]();c=function(e){var f,g,h,k;return $jscomp.asyncExecutePromiseGeneratorProgram(function(l){if(1==l.nextAddress)return f=e+"/locales/"+a+".json",l.setCatchFinallyBlocks(2),l.yield(b.loadText_(f),4);if(2!=l.nextAddress)return g=l.yieldResult,h=JSON.parse(g),k=new Map(Object.entries(h)),b.localization_.insert(a,k),l.leaveTryBlock(0);l.enterCatchBlock();
408
+ shakaDemo.Main.prototype.loadUILocale_=function(a){var b=this,c;return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){if(!a)return d.return();c=function(e){var f,g,h,k;return $jscomp.asyncExecutePromiseGeneratorProgram(function(l){if(1==l.nextAddress)return f=e+"/locales/"+a+".json",l.setCatchFinallyBlocks(2),l.yield(b.loadText_(f),4);if(2!=l.nextAddress)return g=l.yieldResult,h=JSON.parse(g),k=new Map(Object.entries(h)),b.localization_.insert(a,k),l.leaveTryBlock(0);l.enterCatchBlock();
415
409
  console.warn("Unable to load locale",a,"for url",f);l.jumpToEnd()})};return d.yield(Promise.all([c("../ui"),c("../demo")]),0)})};shakaDemo.Main.prototype.setUILocale=function(a){this.uiLocale_=a;a=[a].concat(navigator.languages);this.localization_.changeLocale(a)};shakaDemo.Main.prototype.getUILocale=function(){return this.uiLocale_};
416
410
  shakaDemo.Main.prototype.getLastAssetFromHash_=function(){var a=this.getParams_(),b=a.asset,c=a.adTagUri;if(b){for(var d=$jscomp.makeIterator(shakaAssets.testAssets),e=d.next();!e.done;e=d.next())if(e=e.value,e.manifestUri==b&&e.adTagUri==c)return e;c=$jscomp.makeIterator(shakaDemoCustom.assets());for(e=c.next();!e.done;e=c.next())if(d=e.value,d.manifestUri==b)return d;b=new ShakaDemoAssetInfo("loaded asset","",b,shakaAssets.Source.CUSTOM);if("license"in a)for(c=shakaDemo.Main.commonDrmSystems,("drmSystem"in
417
411
  a)&&(c=[a.drmSystem]),c=$jscomp.makeIterator(c),d=c.next();!d.done;d=c.next())b.addLicenseServer(d.value,a.license);"certificate"in a&&b.addCertificateUri(a.certificate);return b}return null};
418
- shakaDemo.Main.prototype.readHash_=function(){var a=this,b=this.getParams_();if(this.player_){var c=this.player_.getConfiguration();shakaDemo.Utils.runThroughHashParams(function(f,g){if(f in b){var h=a.getCurrentConfigValue(g),k=b[f];"boolean"==typeof h?k="true"==k:"number"==typeof h&&(k=parseFloat(k));a.configure(g,k)}},c);if(c=this.getCurrentConfigValue("drm.advanced"))for(var d=$jscomp.makeIterator(shakaDemo.Main.commonDrmSystems),e=d.next();!e.done;e=d.next())e=e.value,c[e]||(c[e]=shakaDemo.Main.defaultAdvancedDrmConfig()),
412
+ shakaDemo.Main.prototype.readHash_=function(){var a=this,b=this.getParams_();if(this.player_){var c=this.player_.getConfiguration();shakaDemo.Utils.runThroughHashParams(function(f,g){if(f in b){var h=a.getCurrentConfigValue(g);f=b[f];"boolean"==typeof h?f="true"==f:"number"==typeof h&&(f=parseFloat(f));a.configure(g,f)}},c);if(c=this.getCurrentConfigValue("drm.advanced"))for(var d=$jscomp.makeIterator(shakaDemo.Main.commonDrmSystems),e=d.next();!e.done;e=d.next())e=e.value,c[e]||(c[e]=shakaDemo.Main.defaultAdvancedDrmConfig()),
419
413
  "videoRobustness"in b&&(c[e].videoRobustness=b.videoRobustness),"audioRobustness"in b&&(c[e].audioRobustness=b.audioRobustness)}"lang"in b&&(c=b.lang,this.configure("preferredAudioLanguage",c),this.configure("preferredTextLanguage",c),this.setUILocale(c));"uilang"in b&&this.setUILocale(b.uilang);"noadaptation"in b&&this.configure("abr.enabled",!1);this.makeVersionLinks_();this.nativeControlsEnabled_="nativecontrols"in b;"trickplay"in b&&(this.trickPlayControlsEnabled_=!0,this.configureUI_());shakaDemo.Utils.browserSupportsUncompiledMode()||
420
414
  (c=document.getElementById("uncompiled-link"),goog.asserts.assert(c instanceof HTMLAnchorElement,"Wrong element type!"),c.setAttribute("disabled",""),c.removeAttribute("href"),c.title="requires a newer browser");shaka.log&&("vv"in b?shaka.log.setLevel(shaka.log.Level.V2):"v"in b?shaka.log.setLevel(shaka.log.Level.V1):"debug"in b?shaka.log.setLevel(shaka.log.Level.DEBUG):"info"in b&&shaka.log.setLevel(shaka.log.Level.INFO))};
421
- shakaDemo.Main.prototype.makeVersionLinks_=function(){var a=this,b=this.getParams_(),c="uncompiled";"build"in b?c=b.build:"compiled"in b&&(c="compiled");b={};for(var d=$jscomp.makeIterator(["compiled","debug_compiled","uncompiled"]),e=d.next();!e.done;b={$jscomp$loop$prop$type$83:b.$jscomp$loop$prop$type$83},e=d.next())b.$jscomp$loop$prop$type$83=e.value,e=document.getElementById(b.$jscomp$loop$prop$type$83.split("_").join("-")+"-link"),goog.asserts.assert(e instanceof HTMLAnchorElement,"Wrong element type!"),
422
- c==b.$jscomp$loop$prop$type$83?(e.setAttribute("disabled",""),e.removeAttribute("href"),e.title="currently selected"):(e.removeAttribute("disabled"),e.addEventListener("click",function(f){return function(){var g=location.hash.substr(1).split(";").filter(function(h){return"compiled"!=h&&"build"!=h.split("=")[0]});g.push("build="+f.$jscomp$loop$prop$type$83);a.setNewHashSilent_(g.join(";"));location.reload();return!1}}(b)))};
423
- shakaDemo.Main.prototype.getParams_=function(){var a=location.search.substr(1);a=a?a.split(";"):[];var b=location.hash.substr(1);b=b?b.split(";"):[];b=a.concat(b);a={};b=$jscomp.makeIterator(b);for(var c=b.next();!c.done;c=b.next())c=c.value.split("="),a[c[0]]=c.slice(1).join("=");return a};shakaDemo.Main.prototype.getValueFromGivenConfig_=function(a,b){for(var c=b,d=a;d;){var e=d.split(/\.(.+)/);if(3==e.length)d=e[1],c=c[e[0]];else return c[e[0]]}};
415
+ shakaDemo.Main.prototype.makeVersionLinks_=function(){var a=this,b=this.getParams_(),c="uncompiled";"build"in b?c=b.build:"compiled"in b&&(c="compiled");b={};for(var d=$jscomp.makeIterator(["compiled","debug_compiled","uncompiled"]),e=d.next();!e.done;b={$jscomp$loop$prop$type$84:b.$jscomp$loop$prop$type$84},e=d.next())b.$jscomp$loop$prop$type$84=e.value,e=document.getElementById(b.$jscomp$loop$prop$type$84.split("_").join("-")+"-link"),goog.asserts.assert(e instanceof HTMLAnchorElement,"Wrong element type!"),
416
+ c==b.$jscomp$loop$prop$type$84?(e.setAttribute("disabled",""),e.removeAttribute("href"),e.title="currently selected"):(e.removeAttribute("disabled"),e.addEventListener("click",function(f){return function(){var g=location.hash.substr(1).split(";").filter(function(h){return"compiled"!=h&&"build"!=h.split("=")[0]});g.push("build="+f.$jscomp$loop$prop$type$84);a.setNewHashSilent_(g.join(";"));location.reload();return!1}}(b)))};
417
+ shakaDemo.Main.prototype.getParams_=function(){var a=location.search.substr(1);a=a?a.split(";"):[];var b=location.hash.substr(1);b=b?b.split(";"):[];b=a.concat(b);a={};b=$jscomp.makeIterator(b);for(var c=b.next();!c.done;c=b.next())c=c.value.split("="),a[c[0]]=c.slice(1).join("=");return a};shakaDemo.Main.prototype.getValueFromGivenConfig_=function(a,b){for(;a;){var c=a.split(/\.(.+)/);if(3==c.length)a=c[1],b=b[c[0]];else return b[c[0]]}};
424
418
  shakaDemo.Main.prototype.getCurrentConfigValue=function(a){return this.getValueFromGivenConfig_(a,this.desiredConfig_)};shakaDemo.Main.prototype.resetConfiguration=function(a){this.configure(a,void 0)};shakaDemo.Main.prototype.configure=function(a,b){2==arguments.length&&"string"==typeof a&&(a=shaka.util.ConfigUtils.convertToConfigObject(a,b));shaka.util.PlayerConfiguration.mergeConfigObjects(this.desiredConfig_,a,this.defaultConfig_);this.player_.configure(a,b)};
425
- shakaDemo.Main.prototype.getConfiguration=function(){return this.desiredConfig_};shakaDemo.Main.prototype.requestCertificate_=function(a,b){var c,d,e;return $jscomp.asyncExecutePromiseGeneratorProgram(function(f){if(1==f.nextAddress)return c=shaka.net.NetworkingEngine.RequestType.APP,d={uris:[a]},f.yield(b.request(c,d).promise,2);e=f.yieldResult;return f["return"](e.data)})};shakaDemo.Main.prototype.getIsVisualizerActive=function(){return this.visualizer_?this.visualizer_.active:!1};
419
+ shakaDemo.Main.prototype.getConfiguration=function(){return this.desiredConfig_};shakaDemo.Main.prototype.requestCertificate_=function(a,b){var c,d,e;return $jscomp.asyncExecutePromiseGeneratorProgram(function(f){if(1==f.nextAddress)return c=shaka.net.NetworkingEngine.RequestType.APP,d={uris:[a]},f.yield(b.request(c,d).promise,2);e=f.yieldResult;return f.return(e.data)})};shakaDemo.Main.prototype.getIsVisualizerActive=function(){return this.visualizer_?this.visualizer_.active:!1};
426
420
  shakaDemo.Main.prototype.setIsVisualizerActive=function(a){if(this.visualizer_){var b=this.visualizer_.active;this.visualizer_.active=a;b!=a&&(a?this.visualizer_.start():this.visualizer_.stop())}};
427
421
  shakaDemo.Main.prototype.unload=function(){this.visualizer_&&this.visualizer_.stop();this.selectedAsset=null;var a=document.getElementById("video-bar");this.hideElement_(a);this.video_.poster=shakaDemo.Main.mainPoster_;document.fullscreenElement&&document.exitFullscreen();this.video_.webkitDisplayingFullscreen&&this.video_.webkitExitFullscreen();document.pictureInPictureElement&&document.exitPictureInPicture();this.player_.unload();this.dispatchEventWithName_("shaka-main-selected-asset-changed");
428
422
  navigator.mediaSession&&(navigator.mediaSession.metadata=null);this.remakeHash()};
@@ -433,18 +427,18 @@ shakaDemo.Main.prototype.loadAsset=function(a){var b=this,c,d,e,f,g,h;return $js
433
427
  b.player_.setVideoContainer(b.container_)),k.yield(b.drmConfiguration_(a),4);case 4:b.controls_.getCastProxy().setAppData({asset:a});c=a.manifestUri;a.storedContent&&a.storedContent.offlineUri&&(c=a.storedContent.offlineUri);if(!(a.imaAssetKey||a.imaContentSrcId&&a.imaVideoId)){k.jumpTo(5);break}return k.yield(b.getManifestUriFromAdManager_(a),6);case 6:c=k.yieldResult;case 5:return k.yield(b.player_.load(c,null,a.mimeType||void 0),7);case 7:b.player_.isAudioOnly()&&(b.video_.poster=shakaDemo.Main.audioOnlyPoster_);
434
428
  if((d=b.player_.getAdManager())&&a.adTagUri)try{goog.asserts.assert(null!=b.video_,"this.video should exist!"),d.initClientSide(b.controls_.getClientSideAdContainer(),b.video_),e=new google.ima.AdsRequest,e.adTagUrl=a.adTagUri,d.requestClientSideAds(e)}catch(l){console.log(l),console.warn("Ads code has been prevented from running. Proceeding without ads.")}navigator.mediaSession&&(f={title:a.name,artwork:[{src:a.iconUri}]},f.artist=a.source,navigator.mediaSession.metadata=new MediaMetadata(f));b.visualizer_&&
435
429
  b.visualizer_.active&&b.visualizer_.start();k.leaveTryBlock(3);break;case 2:if(h=g=k.enterCatchBlock(),h.code==shaka.util.Error.Code.LOAD_INTERRUPTED)console.debug("load() interrupted");else b.onError_(h);case 3:b.remakeHash(),k.jumpToEnd()}})};
436
- shakaDemo.Main.prototype.remakeHash=function(){var a=this;if(this.fullyLoaded_){var b=[];if(this.player_){var c=this.player_.getConfiguration();shakaDemo.Utils.runThroughHashParams(function(f,g){var h=a.getCurrentConfigValue(g),k=a.getValueFromGivenConfig_(g,a.defaultConfig_),l=isNaN(h)&&isNaN(k);h==k||l||b.push(f+"="+h)},c);var d=this.getCurrentConfigValue("drm.advanced");if(d){var e=$jscomp.makeIterator(shakaDemo.Main.commonDrmSystems);for(c=e.next();!c.done;c=e.next())if(c=d[c.value]){c.videoRobustness&&
430
+ shakaDemo.Main.prototype.remakeHash=function(){var a=this;if(this.fullyLoaded_){var b=[];if(this.player_){var c=this.player_.getConfiguration();shakaDemo.Utils.runThroughHashParams(function(f,g){var h=a.getCurrentConfigValue(g);g=a.getValueFromGivenConfig_(g,a.defaultConfig_);var k=isNaN(h)&&isNaN(g);h==g||k||b.push(f+"="+h)},c);var d=this.getCurrentConfigValue("drm.advanced");if(d){var e=$jscomp.makeIterator(shakaDemo.Main.commonDrmSystems);for(c=e.next();!c.done;c=e.next())if(c=d[c.value]){c.videoRobustness&&
437
431
  b.push("videoRobustness="+c.videoRobustness);c.audioRobustness&&b.push("audioRobustness="+c.audioRobustness);break}}}this.getCurrentConfigValue("abr.enabled")||b.push("noadaptation");b.push("uilang="+this.getUILocale());if(this.selectedAsset){d=shakaAssets.testAssets.includes(this.selectedAsset);b.push("asset="+this.selectedAsset.manifestUri);this.selectedAsset.adTagUri&&b.push("adTagUri="+this.selectedAsset.adTagUri);if(!d&&this.selectedAsset.licenseServers.size)for(c=this.selectedAsset.licenseServers.values().next().value,
438
432
  b.push("license="+c),e=$jscomp.makeIterator(this.selectedAsset.licenseServers.keys()),c=e.next();!c.done;c=e.next())if(c=c.value,!shakaDemo.Main.commonDrmSystems.includes(c)){b.push("drmSystem="+c);break}!d&&this.selectedAsset.certificateUri&&b.push("certificate="+this.selectedAsset.certificateUri)}c=document.getElementById("nav-button-container");c=$jscomp.makeIterator(c.childNodes);for(d=c.next();!d.done;d=c.next())if(d=d.value,d.nodeType==Node.ELEMENT_NODE&&(goog.asserts.assert(d instanceof HTMLElement,
439
433
  "Wrong node type!"),d.classList.contains("mdl-button--accent"))){b.push("panel="+d.getAttribute("tab-identifier"));(c=d.getAttribute("tab-hash"))&&b.push("panelData="+c);break}c=$jscomp.makeIterator(["compiled","debug_compiled","uncompiled"]);for(d=c.next();!d.done;d=c.next())d=d.value,document.getElementById(d.split("_").join("-")+"-link").hasAttribute("disabled")&&b.push("build="+d);this.noInput_&&b.push("noinput");this.nativeControlsEnabled_&&b.push("nativecontrols");this.trickPlayControlsEnabled_&&
440
434
  b.push("trickplay");if(shaka.log&&shaka.log.currentLevel!=shaka.log.MAX_LOG_LEVEL)switch(shaka.log.currentLevel){case shaka.log.Level.INFO:b.push("info");break;case shaka.log.Level.DEBUG:b.push("debug");break;case shaka.log.Level.V2:b.push("vv");break;case shaka.log.Level.V1:b.push("v")}this.setNewHashSilent_(b.join(";"))}};shakaDemo.Main.prototype.setNewHashSilent_=function(a){history.replaceState(null,"",document.location.pathname+"#"+a)};shakaDemo.Main.prototype.getHamburgerMenu=function(){return document.getElementById("hamburger-menu-contents")};
441
435
  shakaDemo.Main.prototype.hideElement_=function(a){a.classList.add("hidden")};shakaDemo.Main.prototype.showElement_=function(a){a.classList.remove("hidden")};
442
436
  shakaDemo.Main.prototype.getManifestUriFromAdManager_=function(a){var b=this,c,d,e,f,g;return $jscomp.asyncExecutePromiseGeneratorProgram(function(h){if(1==h.nextAddress)return c=b.player_.getAdManager(),d=b.controls_.getServerSideAdContainer(),h.setCatchFinallyBlocks(2),goog.asserts.assert(null!=b.video_,"Video should not be null!"),c.initServerSide(d,b.video_),null!=a.imaAssetKey?(e=new google.ima.dai.api.LiveStreamRequest,e.assetKey=a.imaAssetKey):(goog.asserts.assert(null!=a.imaContentSrcId&&
443
- null!=a.imaVideoId,"Asset should have ima ids!"),e=new google.ima.dai.api.VODStreamRequest,e.contentSourceId=a.imaContentSrcId,e.videoId=a.imaVideoId),h.yield(c.requestServerSideStream(e,a.manifestUri),4);if(2!=h.nextAddress)return f=h.yieldResult,h["return"](f);g=h.enterCatchBlock();console.log(g);console.warn("Ads code has been prevented from running or returned an error. Proceeding without ads.");return h["return"](a.manifestUri)})};
437
+ null!=a.imaVideoId,"Asset should have ima ids!"),e=new google.ima.dai.api.VODStreamRequest,e.contentSourceId=a.imaContentSrcId,e.videoId=a.imaVideoId),h.yield(c.requestServerSideStream(e,a.manifestUri),4);if(2!=h.nextAddress)return f=h.yieldResult,h.return(f);g=h.enterCatchBlock();console.log(g);console.warn("Ads code has been prevented from running or returned an error. Proceeding without ads.");return h.return(a.manifestUri)})};
444
438
  shakaDemo.Main.prototype.addNavButton=function(a){var b=this,c=document.getElementById("nav-button-container"),d=document.getElementById("contents"),e=document.getElementById("nav-button-"+a),f=this.getParams_();(a=f.panel==encodeURI(e.getAttribute("tab-identifier")))?(f=f.panelData)&&e.setAttribute("tab-hash",f):f.panel||(a=null!=e.getAttribute("defaultselected"));var g=document.createElement("div");this.hideElement_(g);d.appendChild(g);f=function(){for(var h=$jscomp.makeIterator(c.childNodes),k=
445
439
  h.next();!k.done;k=h.next())k=k.value,k.nodeType==Node.ELEMENT_NODE&&(goog.asserts.assert(k instanceof Element,"Wrong node type!"),k.classList.remove("mdl-button--accent"));h=$jscomp.makeIterator(d.childNodes);for(k=h.next();!k.done;k=h.next())k=k.value,k.nodeType==Node.ELEMENT_NODE&&(goog.asserts.assert(k instanceof Element,"Wrong node type!"),b.hideElement_(k));e.classList.add("mdl-button--accent");b.showElement_(g);b.remakeHash();b.dispatchEventWithName_("shaka-main-page-changed");g.scrollIntoView({behavior:"smooth",
446
440
  block:"start"})};e.addEventListener("click",f);a&&Promise.resolve().then(f);return{container:g,button:e}};shakaDemo.Main.prototype.dispatchEventWithName_=function(a){var b=document.createEvent("CustomEvent");b.initCustomEvent(a,!1,!1,null);document.dispatchEvent(b)};
447
- shakaDemo.Main.prototype.setUpVersionStrings_=function(){for(var a=shaka.Player.version.split("-"),b=[],c={},d=$jscomp.makeIterator(["debug","uncompiled"]),e=d.next();!e.done;c={$jscomp$loop$prop$whitelisted$85:c.$jscomp$loop$prop$whitelisted$85},e=d.next())c.$jscomp$loop$prop$whitelisted$85=e.value,a.includes(c.$jscomp$loop$prop$whitelisted$85)&&(b.push(c.$jscomp$loop$prop$whitelisted$85),a=a.filter(function(f){return function(g){return g!=f.$jscomp$loop$prop$whitelisted$85}}(c)));c=document.getElementsByClassName("version-string");
441
+ shakaDemo.Main.prototype.setUpVersionStrings_=function(){for(var a=shaka.Player.version.split("-"),b=[],c={},d=$jscomp.makeIterator(["debug","uncompiled"]),e=d.next();!e.done;c={$jscomp$loop$prop$whitelisted$86:c.$jscomp$loop$prop$whitelisted$86},e=d.next())c.$jscomp$loop$prop$whitelisted$86=e.value,a.includes(c.$jscomp$loop$prop$whitelisted$86)&&(b.push(c.$jscomp$loop$prop$whitelisted$86),a=a.filter(function(f){return function(g){return g!=f.$jscomp$loop$prop$whitelisted$86}}(c)));c=document.getElementsByClassName("version-string");
448
442
  c=$jscomp.makeIterator(c);for(d=c.next();!d.done;d=c.next())d=d.value,d.textContent=a.join("-"),0<b.length&&(d.textContent+=" ("+b.join(", ")+")")};shakaDemo.Main.prototype.closeError_=function(){document.getElementById("error-display").classList.add("hidden");this.errorDisplayLink_.href="";this.errorDisplayLink_.textContent="";this.currentErrorSeverity_=null};shakaDemo.Main.prototype.onErrorEvent_=function(a){this.onError_(a.detail)};
449
443
  shakaDemo.Main.prototype.onError_=function(a){var b=a.severity;if(null==b||void 0==a.severity)b=shaka.util.Error.Severity.CRITICAL;var c=a.message||"Error code "+a.code,d="";a.code&&(d="../docs/api/shaka.util.Error.html#value:"+a.code);console.error(a);this.handleError_(b,c,d)};
450
444
  shakaDemo.Main.prototype.handleError_=function(a,b,c){if(null==this.currentErrorSeverity_||a>this.currentErrorSeverity_)this.errorDisplayLink_.href=c,void 0===this.errorDisplayLink_.textContent?this.errorDisplayLink_.innerText=b:this.errorDisplayLink_.textContent=b,this.currentErrorSeverity_=a,this.errorDisplayLink_.href?this.errorDisplayLink_.classList.remove("input-disabled"):this.errorDisplayLink_.classList.add("input-disabled"),document.getElementById("error-display").classList.remove("hidden")};
@@ -460,7 +454,7 @@ shakaDemo.Search.prototype.updateOfflineProgress_=function(){for(var a=$jscomp.m
460
454
  shakaDemo.Search.prototype.remakeResultsDiv_=function(){var a=this;shaka.util.Dom.removeAllChildren(this.resultsDiv_);this.assetCards_=this.searchResults_().map(function(b){return a.createAssetCardFor_(b)});this.updateSelected_()};
461
455
  shakaDemo.Search.prototype.checkDesiredTerm_=function(a,b){switch(b){case shakaDemo.Search.TermType.DRM:return this.desiredDRM_==a;case shakaDemo.Search.TermType.SOURCE:return this.desiredSource_==a;case shakaDemo.Search.TermType.FEATURE:return this.desiredFeatures_.includes(a);default:return!1}};
462
456
  shakaDemo.Search.prototype.addDesiredTerm_=function(a,b,c){switch(b){case shakaDemo.Search.TermType.DRM:this.desiredDRM_=a;break;case shakaDemo.Search.TermType.SOURCE:this.desiredSource_=a;break;case shakaDemo.Search.TermType.FEATURE:b=$jscomp.makeIterator(c);for(c=b.next();!c.done;c=b.next())c=this.desiredFeatures_.indexOf(c.value),-1!=c&&this.desiredFeatures_.splice(c,1);this.desiredFeatures_.push(a)}};
463
- shakaDemo.Search.prototype.removeDesiredTerm_=function(a,b){switch(b){case shakaDemo.Search.TermType.DRM:this.desiredDRM_=null;break;case shakaDemo.Search.TermType.SOURCE:this.desiredSource_=null;break;case shakaDemo.Search.TermType.FEATURE:var c=this.desiredFeatures_.indexOf(a);-1!=c&&this.desiredFeatures_.splice(c,1)}};
457
+ shakaDemo.Search.prototype.removeDesiredTerm_=function(a,b){switch(b){case shakaDemo.Search.TermType.DRM:this.desiredDRM_=null;break;case shakaDemo.Search.TermType.SOURCE:this.desiredSource_=null;break;case shakaDemo.Search.TermType.FEATURE:a=this.desiredFeatures_.indexOf(a),-1!=a&&this.desiredFeatures_.splice(a,1)}};
464
458
  shakaDemo.Search.prototype.makeBooleanInput_=function(a,b,c,d){var e=this;a.addRow(b,d,"significant-right-padding");(new shakaDemo.BoolInput(a,b,function(f){f.checked?e.addDesiredTerm_(b,c,[b]):e.removeDesiredTerm_(b,c);e.remakeResultsDiv_();componentHandler.upgradeDom();e.updateHashParameters_()})).input().checked=this.checkDesiredTerm_(b,c)};
465
459
  shakaDemo.Search.prototype.makeSelectInput_=function(a,b,c,d){var e=this;a.addRow(null,null);for(var f={},g=$jscomp.makeIterator(c),h=g.next();!h.done;h=g.next())h=h.value,f[h]=shakaDemoMain.getLocalizedString(h);var k=f["---"]="---";a=new shakaDemo.SelectInput(a,b,function(l){"---"!=l.value?e.addDesiredTerm_(l.value,d,c):e.removeDesiredTerm_(k,d);k=l.value;e.remakeResultsDiv_();componentHandler.upgradeDom();e.updateHashParameters_()},f);a.input().value="---";b=$jscomp.makeIterator(c);for(f=b.next();!f.done;f=
466
460
  b.next())if(f=f.value,this.checkDesiredTerm_(f,d)){k=a.input().value=f;break}};