1/*! For license information please see 7317-93d04de95900ae5d3cc4.js.LICENSE.txt */ 2(self.webpackChunk=self.webpackChunk||[]).push([[7317],{31940(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AwsCrc32=void 0;var n=i(38258),r=i(11784),o=i(50325),s=function(){function e(){this.crc32=new o.Crc32}return e.prototype.update=function(e){(0,r.isEmptyData)(e)||this.crc32.update((0,r.convertToBuffer)(e))},e.prototype.digest=function(){return n.__awaiter(this,void 0,void 0,function(){return n.__generator(this,function(e){return[2,(0,r.numToUint8)(this.crc32.digest())]})})},e.prototype.reset=function(){this.crc32=new o.Crc32},e}();t.AwsCrc32=s},50325(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AwsCrc32=t.Crc32=t.crc32=void 0;var n=i(38258),r=i(11784);t.crc32=function(e){return(new o).update(e).digest()};var o=function(){function e(){this.checksum=4294967295}return e.prototype.update=function(e){var t,i;try{for(var r=n.__values(e),o=r.next();!o.done;o=r.next()){var a=o.value;this.checksum=this.checksum>>>8^s[255&(this.checksum^a)]}}catch(e){t={error:e}}finally{try{o&&!o.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}return this},e.prototype.digest=function(){return(4294967295^this.checksum)>>>0},e}();t.Crc32=o;var s=(0,r.uint32ArrayFrom)([0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117]),a=i(31940);Object.defineProperty(t,"AwsCrc32",{enumerable:!0,get:function(){return a.AwsCrc32}})},38258(e,t,i){"use strict";i.r(t),i.d(t,{__assign:()=>o,__asyncDelegator:()=>S,__asyncGenerator:()=>y,__asyncValues:()=>w,__await:()=>b,__awaiter:()=>l,__classPrivateFieldGet:()=>T,__classPrivateFieldSet:()=>I,__createBinding:()=>h,__decorate:()=>a,__exportStar:()=>p,__extends:()=>r,__generator:()=>u,__importDefault:()=>E,__importStar:()=>
vendor: 5,204 bytes, line 2
2k,__makeTemplateObject:()=>C,__metadata:()=>c,__param:()=>d,__read:()=>m,__rest:()=>s,__spread:()=>g,__spreadArrays:()=>v,__values:()=>f});var n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])},n(e,t)};function r(e,t){function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}var o=function(){return o=Object.assign||function(e){for(var t,i=1,n=arguments.length;i<n;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},o.apply(this,arguments)};function s(e,t){var i={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(i[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(i[n[r]]=e[n[r]])}return i}function a(e,t,i,n){var r,o=arguments.length,s=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,i,s):r(t,i))||s);return o>3&&s&&Object.defineProperty(t,i,s),s}function d(e,t){return function(i,n){t(i,n,e)}}function c(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function l(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})}function u(e,t){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!((r=(r=s.trys).length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}function h(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]}function p(e,t){for(var i in e)"default"===i||t.hasOwnProperty(i)||(t[i]=e[i])}function f(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function m(e,t){var i="function"==typeof Symbol&&e[Symbol.iterator];if(!i)return e;var n,r,o=i.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)s.push(n.value)}catch(e){r={error:e}}finally{try{n&&!n.done&&(i=o.return)&&i.call(o)}finally{if(r)throw r.error}}return s}function g(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(m(arguments[t]));return e}function v(){for(var e=0,t=0,i=arguments.length;t<i;t++)e+=arguments[t].length;var n=Array(e),r=0;for(t=0;t<i;t++)for(var o=arguments[t],s=0,a=o.length;s<a;s++,r++)n[r]=o[s];return n}function b(e){return this instanceof b?(this.v=e,this):new b(e)}function y(e,t,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,r=i.apply(e,t||[]),o=[];return n={},s("next"),s("throw"),s("return"),n[Symbol.asyncIterator]=function(){return this},n;function s(e){r[e]&&(n[e]=function(t){return new Promise(function(i,n){o.push([e,t,i,n])>1||a(e,t)})})}function a(e,t){try{(i=r[e](t)).value instanceof b?Promise.resolve(i.value.v).then(d,c):l(o[0][2],i)}catch(e){l(o[0][3],e)}var i}function d(e){a("next",e)}function c(e){a("throw",e)}function l(e,t){e(t),o.shift(),o.length&&a(o[0][0],o[0][1])}}function S(e){var t,i;return t={},n("next"),n("throw",function(e){throw e}),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,r){t[n]=e[n]?function(t){return(i=!i)?{value:b(e[n](t)),done:"return"===n}:r?r(t):t}:r}}function w(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,i=e[Symbol.asyncIterator];return i?i.call(e):(e=f(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(i){t[i]=e[i]&&function(t){return new Promise(function(n,r){!function(e,t,i,n){Promise.resolve(n).then(function(t){e({value:t,done:i})},t)}(n,r,(t=e[i](t)).done,t.value)})}}}function C(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}
2function k(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t}function E(e){return e&&e.__esModule?e:{default:e}}function T(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}function I(e,t,i){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,i),i}},98068(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},4989(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},31468(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},38080(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},8072(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isMsWindow=void 0;var i=["decrypt","digest","encrypt","exportKey","generateKey","importKey","sign","verify"];t.isMsWindow=function(e){if(function(e){return"MSInputMethodContext"in e&&"msCrypto"in e}(e)&&void 0!==e.msCrypto.subtle){var t=e.msCrypto,n=t.getRandomValues,r=t.subtle;return i.map(function(e){return r[e]}).concat(n).every(function(e){return"function"==typeof e})}return!1}},3986(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(3287);n.__exportStar(i(98068),t),n.__exportStar(i(4989),t),n.__exportStar(i(31468),t),n.__exportStar(i(38080),t),n.__exportStar(i(8072),t)},3287(e,t,i){"use strict";i.r(t),i.d(t,{__assign:()=>o,__asyncDelegator:()=>S,__asyncGenerator:()=>y,__asyncValues:()=>w,__await:()=>b,__awaiter:()=>l,__classPrivateFieldGet:()=>T,__classPrivateFieldSet:()=>I,__createBinding:()=>h,__decorate:()=>a,__exportStar:()=>p,__extends:()=>r,__generator:()=>u,__importDefault:()=>E,__importStar:()=>
vendor: 5,204 bytes, line 2
2k,__makeTemplateObject:()=>C,__metadata:()=>c,__param:()=>d,__read:()=>m,__rest:()=>s,__spread:()=>g,__spreadArrays:()=>v,__values:()=>f});var n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])},n(e,t)};function r(e,t){function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}var o=function(){return o=Object.assign||function(e){for(var t,i=1,n=arguments.length;i<n;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},o.apply(this,arguments)};function s(e,t){var i={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(i[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(i[n[r]]=e[n[r]])}return i}function a(e,t,i,n){var r,o=arguments.length,s=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,i,s):r(t,i))||s);return o>3&&s&&Object.defineProperty(t,i,s),s}function d(e,t){return function(i,n){t(i,n,e)}}function c(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function l(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})}function u(e,t){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!((r=(r=s.trys).length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}function h(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]}function p(e,t){for(var i in e)"default"===i||t.hasOwnProperty(i)||(t[i]=e[i])}function f(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function m(e,t){var i="function"==typeof Symbol&&e[Symbol.iterator];if(!i)return e;var n,r,o=i.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)s.push(n.value)}catch(e){r={error:e}}finally{try{n&&!n.done&&(i=o.return)&&i.call(o)}finally{if(r)throw r.error}}return s}function g(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(m(arguments[t]));return e}function v(){for(var e=0,t=0,i=arguments.length;t<i;t++)e+=arguments[t].length;var n=Array(e),r=0;for(t=0;t<i;t++)for(var o=arguments[t],s=0,a=o.length;s<a;s++,r++)n[r]=o[s];return n}function b(e){return this instanceof b?(this.v=e,this):new b(e)}function y(e,t,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,r=i.apply(e,t||[]),o=[];return n={},s("next"),s("throw"),s("return"),n[Symbol.asyncIterator]=function(){return this},n;function s(e){r[e]&&(n[e]=function(t){return new Promise(function(i,n){o.push([e,t,i,n])>1||a(e,t)})})}function a(e,t){try{(i=r[e](t)).value instanceof b?Promise.resolve(i.value.v).then(d,c):l(o[0][2],i)}catch(e){l(o[0][3],e)}var i}function d(e){a("next",e)}function c(e){a("throw",e)}function l(e,t){e(t),o.shift(),o.length&&a(o[0][0],o[0][1])}}function S(e){var t,i;return t={},n("next"),n("throw",function(e){throw e}),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,r){t[n]=e[n]?function(t){return(i=!i)?{value:b(e[n](t)),done:"return"===n}:r?r(t):t}:r}}function w(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,i=e[Symbol.asyncIterator];return i?i.call(e):(e=f(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(i){t[i]=e[i]&&function(t){return new Promise(function(n,r){!function(e,t,i,n){Promise.resolve(n).then(function(t){e({value:t,done:i})},t)}(n,r,(t=e[i](t)).done,t.value)})}}}function C(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}
2function k(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t}function E(e){return e&&e.__esModule?e:{default:e}}function T(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}function I(e,t,i){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,i),i}},49999(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EMPTY_DATA_SHA_256=t.SHA_256_HMAC_ALGO=t.SHA_256_HASH=void 0,t.SHA_256_HASH={name:"SHA-256"},t.SHA_256_HMAC_ALGO={name:"HMAC",hash:t.SHA_256_HASH},t.EMPTY_DATA_SHA_256=new Uint8Array([227,176,196,66,152,252,28,20,154,251,244,200,153,111,185,36,39,174,65,228,100,155,147,76,164,149,153,27,120,82,184,85])},37414(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Sha256=void 0;var n=i(5143),r=i(28386),o=i(28231),s=i(63937),a=i(3986),d=i(79334),c=i(11784),l=function(){function e(e){(0,s.supportsWebCrypto)((0,d.locateWindow)())?this.hash=new r.Sha256(e):(0,a.isMsWindow)((0,d.locateWindow)())?this.hash=new n.Sha256(e):this.hash=new o.Sha256(e)}return e.prototype.update=function(e,t){this.hash.update((0,c.convertToBuffer)(e))},e.prototype.digest=function(){return this.hash.digest()},e.prototype.reset=function(){this.hash.reset()},e}();t.Sha256=l},5143(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Sha256=void 0;var n=i(81343),r=i(49999),o=i(57602),s=i(79334),a=function(){function e(e){this.secret=e,this.reset()}return e.prototype.update=function(e){var t=this;(0,n.isEmptyData)(e)||(this.operation=this.operation.then(function(i){return i.onerror=function(){t.operation=Promise.reject(new Error("Error encountered updating hash"))},i.process(d(e)),i}),this.operation.catch(function(){}))},e.prototype.digest=function(){return this.operation.then(function(e){return new Promise(function(t,i){e.onerror=function(){i(new Error("Error encountered finalizing hash"))},e.oncomplete=function(){e.result&&t(new Uint8Array(e.result)),i(new Error("Error encountered finalizing hash"))},e.finish()})})},e.prototype.reset=function(){var e;this.secret?(this.operation=(e=this.secret,new Promise(function(t,i){var n=(0,s.locateWindow)().msCrypto.subtle.importKey("raw",d(e),r.SHA_256_HMAC_ALGO,!1,["sign"]);n.oncomplete=function(){n.result&&t(n.result),i(new Error("ImportKey completed without importing key."))},n.onerror=function(){i(new Error("ImportKey failed to import key."))}})).then(function(e){return(0,s.locateWindow)().msCrypto.subtle.sign(r.SHA_256_HMAC_ALGO,e)}),this.operation.catch(function(){})):this.operation=Promise.resolve((0,s.locateWindow)().msCrypto.subtle.digest("SHA-256"))},e}();function d(e){return"string"==typeof e?(0,o.fromUtf8)(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e)}t.Sha256=a},44862(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WebCryptoSha256=t.Ie11Sha256=void 0,i(58723).__exportStar(i(37414),t);var n=i(5143);Object.defineProperty(t,"Ie11Sha256",{enumerable:!0,get:function(){return n.Sha256}});var r=i(28386);Object.defineProperty(t,"WebCryptoSha256",{enumerable:!0,get:function(){return r.Sha256}})},81343(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isEmptyData=void 0,t.isEmptyData=function(e){return"string"==typeof e?0===e.length:0===e.byteLength}},28386(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Sha256=void 0;var n=i(11784),r=i(49999),o=i(79334),s=function(){function e(e){this.toHash=new Uint8Array(0),this.secret=e,this.reset()}return e.prototype.update=function(e){if(!(0,n.isEmptyData)(e)){var t=(0,n.convertToBuffer)(e),i=new Uint8Array(this.toHash.byteLength+t.byteLength);i.set(this.toHash,0),i.set(t,this.toHash.byteLength),this.toHash=i}},e.prototype.digest=function(){var e=this;return this.key?this.key.then(function(t){return(0,o.locateWindow)().crypto.subtle.sign(r.SHA_256_HMAC_ALGO,t,e.toHash).then(function(e){return new Uint8Array(e)})}):(0,n.isEmptyData)(this.toHash)?Promise.resolve(r.EMPTY_DATA_SHA_256):Promise.resolve().then(function(){return(0,o.locateWindow)().crypto.subtle.digest(r.SHA_256_HASH,e.toHash)}).then(function(e){return Promise.resolve(new Uint8Array(e))})},e.prototype.reset=function(){var e=this;this.toHash=new Uint8Array(0),this.secret&&void 0!==this.secret&&(this.key=new Promise(function(t,i){(0,o.locateWindow)().crypto.subtle.importKey("raw",(0,n.convertToBuffer)(e.secret),r.SHA_256_HMAC_ALGO,!1,["sign"]).then(t,i)}),this.key.catch(function(){}))},e}();t.Sha256=s},58723(e,t,i){"use strict";i.r(t),i.d(t,{__assign:()=>o,__asyncDelegator:()=>S,__asyncGenerator:()=>y,__asyncValues:()=>w,__await:()=>b,__awaiter:()=>l,__classPrivateFieldGet:()=>T,__classPrivateFieldSet:()=>I,__createBinding:()=>h,__decorate:()=>a,__exportStar:()=>p,__extends:()=>r,__generator:()=>u,__importDefault:()=>E,__importStar:()=>
vendor: 5,204 bytes, line 2
2k,__makeTemplateObject:()=>C,__metadata:()=>c,__param:()=>d,__read:()=>m,__rest:()=>s,__spread:()=>g,__spreadArrays:()=>v,__values:()=>f});var n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])},n(e,t)};function r(e,t){function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}var o=function(){return o=Object.assign||function(e){for(var t,i=1,n=arguments.length;i<n;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},o.apply(this,arguments)};function s(e,t){var i={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(i[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(i[n[r]]=e[n[r]])}return i}function a(e,t,i,n){var r,o=arguments.length,s=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,i,s):r(t,i))||s);return o>3&&s&&Object.defineProperty(t,i,s),s}function d(e,t){return function(i,n){t(i,n,e)}}function c(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function l(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})}function u(e,t){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!((r=(r=s.trys).length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}function h(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]}function p(e,t){for(var i in e)"default"===i||t.hasOwnProperty(i)||(t[i]=e[i])}function f(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function m(e,t){var i="function"==typeof Symbol&&e[Symbol.iterator];if(!i)return e;var n,r,o=i.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)s.push(n.value)}catch(e){r={error:e}}finally{try{n&&!n.done&&(i=o.return)&&i.call(o)}finally{if(r)throw r.error}}return s}function g(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(m(arguments[t]));return e}function v(){for(var e=0,t=0,i=arguments.length;t<i;t++)e+=arguments[t].length;var n=Array(e),r=0;for(t=0;t<i;t++)for(var o=arguments[t],s=0,a=o.length;s<a;s++,r++)n[r]=o[s];return n}function b(e){return this instanceof b?(this.v=e,this):new b(e)}function y(e,t,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,r=i.apply(e,t||[]),o=[];return n={},s("next"),s("throw"),s("return"),n[Symbol.asyncIterator]=function(){return this},n;function s(e){r[e]&&(n[e]=function(t){return new Promise(function(i,n){o.push([e,t,i,n])>1||a(e,t)})})}function a(e,t){try{(i=r[e](t)).value instanceof b?Promise.resolve(i.value.v).then(d,c):l(o[0][2],i)}catch(e){l(o[0][3],e)}var i}function d(e){a("next",e)}function c(e){a("throw",e)}function l(e,t){e(t),o.shift(),o.length&&a(o[0][0],o[0][1])}}function S(e){var t,i;return t={},n("next"),n("throw",function(e){throw e}),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,r){t[n]=e[n]?function(t){return(i=!i)?{value:b(e[n](t)),done:"return"===n}:r?r(t):t}:r}}function w(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,i=e[Symbol.asyncIterator];return i?i.call(e):(e=f(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(i){t[i]=e[i]&&function(t){return new Promise(function(n,r){!function(e,t,i,n){Promise.resolve(n).then(function(t){e({value:t,done:i})},t)}(n,r,(t=e[i](t)).done,t.value)})}}}function C(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}
2function k(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t}function E(e){return e&&e.__esModule?e:{default:e}}function T(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}function I(e,t,i){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,i),i}},67918(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RawSha256=void 0;var n=i(31914),r=function(){function e(){this.state=Int32Array.from(n.INIT),this.temp=new Int32Array(64),this.buffer=new Uint8Array(64),this.bufferLength=0,this.bytesHashed=0,this.finished=!1}return e.prototype.update=function(e){if(this.finished)throw new Error("Attempted to update an already finished hash.");var t=0,i=e.byteLength;if(this.bytesHashed+=i,8*this.bytesHashed>n.MAX_HASHABLE_LENGTH)throw new Error("Cannot hash more than 2^53 - 1 bits");for(;i>0;)this.buffer[this.bufferLength++]=e[t++],i--,this.bufferLength===n.BLOCK_SIZE&&(this.hashBuffer(),this.bufferLength=0)},e.prototype.digest=function(){if(!this.finished){var e=8*this.bytesHashed,t=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength),i=this.bufferLength;if(t.setUint8(this.bufferLength++,128),i%n.BLOCK_SIZE>=n.BLOCK_SIZE-8){for(var r=this.bufferLength;r<n.BLOCK_SIZE;r++)t.setUint8(r,0);this.hashBuffer(),this.bufferLength=0}for(r=this.bufferLength;r<n.BLOCK_SIZE-8;r++)t.setUint8(r,0);t.setUint32(n.BLOCK_SIZE-8,Math.floor(e/4294967296),!0),t.setUint32(n.BLOCK_SIZE-4,e),this.hashBuffer(),this.finished=!0}var o=new Uint8Array(n.DIGEST_LENGTH);for(r=0;r<8;r++)o[4*r]=this.state[r]>>>24&255,o[4*r+1]=this.state[r]>>>16&255,o[4*r+2]=this.state[r]>>>8&255,o[4*r+3]=this.state[r]>>>0&255;return o},e.prototype.hashBuffer=function(){for(var e=this.buffer,t=this.state,i=t[0],r=t[1],o=t[2],s=t[3],a=t[4],d=t[5],c=t[6],l=t[7],u=0;u<n.BLOCK_SIZE;u++){if(u<16)this.temp[u]=(255&e[4*u])<<24|(255&e[4*u+1])<<16|(255&e[4*u+2])<<8|255&e[4*u+3];else{var h=this.temp[u-2],p=(h>>>17|h<<15)^(h>>>19|h<<13)^h>>>10,f=((h=this.temp[u-15])>>>7|h<<25)^(h>>>18|h<<14)^h>>>3;this.temp[u]=(p+this.temp[u-7]|0)+(f+this.temp[u-16]|0)}var m=(((a>>>6|a<<26)^(a>>>11|a<<21)^(a>>>25|a<<7))+(a&d^~a&c)|0)+(l+(n.KEY[u]+this.temp[u]|0)|0)|0,g=((i>>>2|i<<30)^(i>>>13|i<<19)^(i>>>22|i<<10))+(i&r^i&o^r&o)|0;l=c,c=d,d=a,a=s+m|0,s=o,o=r,r=i,i=m+g|0}t[0]+=i,t[1]+=r,t[2]+=o,t[3]+=s,t[4]+=a,t[5]+=d,t[6]+=c,t[7]+=l},e}();t.RawSha256=r},31914(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MAX_HASHABLE_LENGTH=t.INIT=t.KEY=t.DIGEST_LENGTH=t.BLOCK_SIZE=void 0,t.BLOCK_SIZE=64,t.DIGEST_LENGTH=32,t.KEY=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),t.INIT=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],t.MAX_HASHABLE_LENGTH=Math.pow(2,53)-1},28231(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),i(75564).__exportStar(i(9899),t)},9899(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Sha256=void 0;var n=i(75564),r=i(31914),o=i(67918),s=i(11784),a=function(){function e(e){this.secret=e,this.hash=new o.RawSha256,this.reset()}return e.prototype.update=function(e){if(!(0,s.isEmptyData)(e)&&!this.error)try{this.hash.update((0,s.convertToBuffer)(e))}catch(e){this.error=e}},e.prototype.digestSync=function(){if(this.error)throw this.error;return this.outer?(this.outer.finished||this.outer.update(this.hash.digest()),this.outer.digest()):this.hash.digest()},e.prototype.digest=function(){return n.__awaiter(this,void 0,void 0,function(){return n.__generator(this,function(e){return[2,this.digestSync()]})})},e.prototype.reset=function(){if(this.hash=new o.RawSha256,this.secret){this.outer=new o.RawSha256;var e=function(e){var t=(0,s.convertToBuffer)(e);if(t.byteLength>r.BLOCK_SIZE){var i=new o.RawSha256;i.update(t),t=i.digest()}var n=new Uint8Array(r.BLOCK_SIZE);return n.set(t),n}(this.secret),t=new Uint8Array(r.BLOCK_SIZE);t.set(e);for(var i=0;i<r.BLOCK_SIZE;i++)e[i]^=54,t[i]^=92;for(this.hash.update(e),this.outer.update(t),i=0;i<e.byteLength;i++)e[i]=0}},e}();t.Sha256=a},75564(e,t,i){"use strict";i.r(t),i.d(t,{__assign:()=>o,__asyncDelegator:()=>S,__asyncGenerator:()=>y,__asyncValues:()=>w,__await:()=>b,__awaiter:()=>l,__classPrivateFieldGet:()=>T,__classPrivateFieldSet:()=>I,__createBinding:()=>h,__decorate:()=>a,__exportStar:()=>p,__extends:()=>r,__generator:()=>u,__importDefault:()=>E,__importStar:()=>
vendor: 5,204 bytes, line 2
2k,__makeTemplateObject:()=>C,__metadata:()=>c,__param:()=>d,__read:()=>m,__rest:()=>s,__spread:()=>g,__spreadArrays:()=>v,__values:()=>f});var n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])},n(e,t)};function r(e,t){function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}var o=function(){return o=Object.assign||function(e){for(var t,i=1,n=arguments.length;i<n;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},o.apply(this,arguments)};function s(e,t){var i={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(i[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(i[n[r]]=e[n[r]])}return i}function a(e,t,i,n){var r,o=arguments.length,s=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,i,s):r(t,i))||s);return o>3&&s&&Object.defineProperty(t,i,s),s}function d(e,t){return function(i,n){t(i,n,e)}}function c(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function l(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})}function u(e,t){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!((r=(r=s.trys).length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}function h(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]}function p(e,t){for(var i in e)"default"===i||t.hasOwnProperty(i)||(t[i]=e[i])}function f(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function m(e,t){var i="function"==typeof Symbol&&e[Symbol.iterator];if(!i)return e;var n,r,o=i.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)s.push(n.value)}catch(e){r={error:e}}finally{try{n&&!n.done&&(i=o.return)&&i.call(o)}finally{if(r)throw r.error}}return s}function g(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(m(arguments[t]));return e}function v(){for(var e=0,t=0,i=arguments.length;t<i;t++)e+=arguments[t].length;var n=Array(e),r=0;for(t=0;t<i;t++)for(var o=arguments[t],s=0,a=o.length;s<a;s++,r++)n[r]=o[s];return n}function b(e){return this instanceof b?(this.v=e,this):new b(e)}function y(e,t,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,r=i.apply(e,t||[]),o=[];return n={},s("next"),s("throw"),s("return"),n[Symbol.asyncIterator]=function(){return this},n;function s(e){r[e]&&(n[e]=function(t){return new Promise(function(i,n){o.push([e,t,i,n])>1||a(e,t)})})}function a(e,t){try{(i=r[e](t)).value instanceof b?Promise.resolve(i.value.v).then(d,c):l(o[0][2],i)}catch(e){l(o[0][3],e)}var i}function d(e){a("next",e)}function c(e){a("throw",e)}function l(e,t){e(t),o.shift(),o.length&&a(o[0][0],o[0][1])}}function S(e){var t,i;return t={},n("next"),n("throw",function(e){throw e}),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,r){t[n]=e[n]?function(t){return(i=!i)?{value:b(e[n](t)),done:"return"===n}:r?r(t):t}:r}}function w(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,i=e[Symbol.asyncIterator];return i?i.call(e):(e=f(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(i){t[i]=e[i]&&function(t){return new Promise(function(n,r){!function(e,t,i,n){Promise.resolve(n).then(function(t){e({value:t,done:i})},t)}(n,r,(t=e[i](t)).done,t.value)})}}}function C(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}
2function k(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t}function E(e){return e&&e.__esModule?e:{default:e}}function T(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}function I(e,t,i){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,i),i}},63937(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),i(49198).__exportStar(i(81770),t)},81770(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.supportsZeroByteGCM=t.supportsSubtleCrypto=t.supportsSecureRandom=t.supportsWebCrypto=void 0;var n=i(49198),r=["decrypt","digest","encrypt","exportKey","generateKey","importKey","sign","verify"];function o(e){return"object"==typeof e&&"object"==typeof e.crypto&&"function"==typeof e.crypto.getRandomValues}function s(e){return e&&r.every(function(t){return"function"==typeof e[t]})}t.supportsWebCrypto=function(e){return!(!o(e)||"object"!=typeof e.crypto.subtle)&&s(e.crypto.subtle)},t.supportsSecureRandom=o,t.supportsSubtleCrypto=s,t.supportsZeroByteGCM=function(e){return n.__awaiter(this,void 0,void 0,function(){var t;return n.__generator(this,function(i){switch(i.label){case 0:if(!s(e))return[2,!1];i.label=1;case 1:return i.trys.push([1,4,,5]),[4,e.generateKey({name:"AES-GCM",length:128},!1,["encrypt"])];case 2:return t=i.sent(),[4,e.encrypt({name:"AES-GCM",iv:new Uint8Array(Array(12)),additionalData:new Uint8Array(Array(16)),tagLength:128},t,new Uint8Array(0))];case 3:return[2,16===i.sent().byteLength];case 4:return i.sent(),[2,!1];case 5:return[2]}})})}},49198(e,t,i){"use strict";i.r(t),i.d(t,{__assign:()=>o,__asyncDelegator:()=>S,__asyncGenerator:()=>y,__asyncValues:()=>w,__await:()=>b,__awaiter:()=>l,__classPrivateFieldGet:()=>T,__classPrivateFieldSet:()=>I,__createBinding:()=>h,__decorate:()=>a,__exportStar:()=>p,__extends:()=>r,__generator:()=>u,__importDefault:()=>E,__importStar:()=>
vendor: 5,204 bytes, line 2
2k,__makeTemplateObject:()=>C,__metadata:()=>c,__param:()=>d,__read:()=>m,__rest:()=>s,__spread:()=>g,__spreadArrays:()=>v,__values:()=>f});var n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])},n(e,t)};function r(e,t){function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}var o=function(){return o=Object.assign||function(e){for(var t,i=1,n=arguments.length;i<n;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},o.apply(this,arguments)};function s(e,t){var i={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(i[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(i[n[r]]=e[n[r]])}return i}function a(e,t,i,n){var r,o=arguments.length,s=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,i,s):r(t,i))||s);return o>3&&s&&Object.defineProperty(t,i,s),s}function d(e,t){return function(i,n){t(i,n,e)}}function c(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function l(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})}function u(e,t){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!((r=(r=s.trys).length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}function h(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]}function p(e,t){for(var i in e)"default"===i||t.hasOwnProperty(i)||(t[i]=e[i])}function f(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function m(e,t){var i="function"==typeof Symbol&&e[Symbol.iterator];if(!i)return e;var n,r,o=i.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)s.push(n.value)}catch(e){r={error:e}}finally{try{n&&!n.done&&(i=o.return)&&i.call(o)}finally{if(r)throw r.error}}return s}function g(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(m(arguments[t]));return e}function v(){for(var e=0,t=0,i=arguments.length;t<i;t++)e+=arguments[t].length;var n=Array(e),r=0;for(t=0;t<i;t++)for(var o=arguments[t],s=0,a=o.length;s<a;s++,r++)n[r]=o[s];return n}function b(e){return this instanceof b?(this.v=e,this):new b(e)}function y(e,t,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,r=i.apply(e,t||[]),o=[];return n={},s("next"),s("throw"),s("return"),n[Symbol.asyncIterator]=function(){return this},n;function s(e){r[e]&&(n[e]=function(t){return new Promise(function(i,n){o.push([e,t,i,n])>1||a(e,t)})})}function a(e,t){try{(i=r[e](t)).value instanceof b?Promise.resolve(i.value.v).then(d,c):l(o[0][2],i)}catch(e){l(o[0][3],e)}var i}function d(e){a("next",e)}function c(e){a("throw",e)}function l(e,t){e(t),o.shift(),o.length&&a(o[0][0],o[0][1])}}function S(e){var t,i;return t={},n("next"),n("throw",function(e){throw e}),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,r){t[n]=e[n]?function(t){return(i=!i)?{value:b(e[n](t)),done:"return"===n}:r?r(t):t}:r}}function w(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,i=e[Symbol.asyncIterator];return i?i.call(e):(e=f(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(i){t[i]=e[i]&&function(t){return new Promise(function(n,r){!function(e,t,i,n){Promise.resolve(n).then(function(t){e({value:t,done:i})},t)}(n,r,(t=e[i](t)).done,t.value)})}}}function C(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}
2function k(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t}function E(e){return e&&e.__esModule?e:{default:e}}function T(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}function I(e,t,i){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,i),i}},88892(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.convertToBuffer=void 0;var n=i(57602),r="undefined"!=typeof Buffer&&Buffer.from?function(e){return Buffer.from(e,"utf8")}:n.fromUtf8;t.convertToBuffer=function(e){return e instanceof Uint8Array?e:"string"==typeof e?r(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e)}},11784(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.uint32ArrayFrom=t.numToUint8=t.isEmptyData=t.convertToBuffer=void 0;var n=i(88892);Object.defineProperty(t,"convertToBuffer",{enumerable:!0,get:function(){return n.convertToBuffer}});var r=i(193);Object.defineProperty(t,"isEmptyData",{enumerable:!0,get:function(){return r.isEmptyData}});var o=i(42721);Object.defineProperty(t,"numToUint8",{enumerable:!0,get:function(){return o.numToUint8}});var s=i(69234);Object.defineProperty(t,"uint32ArrayFrom",{enumerable:!0,get:function(){return s.uint32ArrayFrom}})},193(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isEmptyData=void 0,t.isEmptyData=function(e){return"string"==typeof e?0===e.length:0===e.byteLength}},42721(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.numToUint8=void 0,t.numToUint8=function(e){return new Uint8Array([(4278190080&e)>>24,(16711680&e)>>16,(65280&e)>>8,255&e])}},69234(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.uint32ArrayFrom=void 0,t.uint32ArrayFrom=function(e){if(!Uint32Array.from){for(var t=new Uint32Array(e.length),i=0;i<e.length;)t[i]=e[i],i+=1;return t}return Uint32Array.from(e)}},31269(e,t,i){"use strict";i.r(t),i.d(t,{$Command:()=>oi,AllowNotifications:()=>dn,AssociateChannelFlowCommand:()=>vo,BadRequestException:()=>un,BatchChannelMembershipsFilterSensitiveLog:()=>Dn,BatchCreateChannelMembershipCommand:()=>bo,BatchCreateChannelMembershipResponseFilterSensitiveLog:()=>Fn,ChannelAssociatedWithFlowSummaryFilterSensitiveLog:()=>Nn,ChannelBanFilterSensitiveLog:()=>Bn,ChannelBanSummaryFilterSensitiveLog:()=>Vn,ChannelFilterSensitiveLog:()=>Ln,ChannelFlowCallbackCommand:()=>yo,ChannelFlowCallbackRequestFilterSensitiveLog:()=>Wn,ChannelFlowFilterSensitiveLog:()=>jn,ChannelFlowSummaryFilterSensitiveLog:()=>qn,ChannelMembershipFilterSensitiveLog:()=>Kn,ChannelMembershipForAppInstanceUserSummaryFilterSensitiveLog:()=>Jn,ChannelMembershipPreferencesFilterSensitiveLog:()=>Xn,ChannelMembershipSummaryFilterSensitiveLog:()=>Zn,ChannelMembershipType:()=>cn,ChannelMessageCallbackFilterSensitiveLog:()=>Hn,ChannelMessageFilterSensitiveLog:()=>Yn,ChannelMessagePersistenceType:()=>In,ChannelMessageStatus:()=>xn,ChannelMessageSummaryFilterSensitiveLog:()=>er,ChannelMessageType:()=>An,ChannelMode:()=>wn,ChannelModeratedByAppInstanceUserSummaryFilterSensitiveLog:()=>tr,ChannelModeratorFilterSensitiveLog:()=>ir,ChannelModeratorSummaryFilterSensitiveLog:()=>nr,ChannelPrivacy:()=>Cn,ChannelSummaryFilterSensitiveLog:()=>Gn,ChimeSDKMessaging:()=>ms,ChimeSDKMessagingClient:()=>sn,ChimeSDKMessagingServiceException:()=>an,ConflictException:()=>hn,CreateChannelBanCommand:()=>So,CreateChannelBanResponseFilterSensitiveLog:()=>sr,CreateChannelCommand:()=>wo,CreateChannelFlowCommand:()=>Co,CreateChannelFlowRequestFilterSensitiveLog:()=>ar,CreateChannelMembershipCommand:()=>ko,CreateChannelMembershipResponseFilterSensitiveLog:()=>dr,CreateChannelModeratorCommand:()=>Eo,CreateChannelModeratorResponseFilterSensitiveLog:()=>cr,CreateChannelRequestFilterSensitiveLog:()=>or,DeleteChannelBanCommand:()=>To,DeleteChannelCommand:()=>Io,DeleteChannelFlowCommand:()=>xo,DeleteChannelMembershipCommand:()=>Ao,DeleteChannelMessageCommand:()=>Po,DeleteChannelModeratorCommand:()=>Oo,DeleteMessagingStreamingConfigurationsCommand:()=>_o,DescribeChannelBanCommand:()=>Mo,DescribeChannelBanResponseFilterSensitiveLog:()=>ur,DescribeChannelCommand:()=>Ro,DescribeChannelFlowCommand:()=>Do,DescribeChannelFlowResponseFilterSensitiveLog:()=>hr,DescribeChannelMembershipCommand:()=>Fo,DescribeChannelMembershipForAppInstanceUserCommand:()=>Lo,DescribeChannelMembershipForAppInstanceUserResponseFilterSensitiveLog:()=>fr,DescribeChannelMembershipResponseFilterSensitiveLog:()=>pr,DescribeChannelModeratedByAppInstanceUserCommand:()=>No,DescribeChannelModeratedByAppInstanceUserResponseFilterSensitiveLog:()=>mr,DescribeChannelModeratorCommand:()=>Bo,DescribeChannelModeratorResponseFilterSensitiveLog:()=>gr,DescribeChannelResponseFilterSensitiveLog:()=>lr,DisassociateChannelFlowCommand:()=>Vo,ErrorCode:()=>
2ln,ExpirationCriterion:()=>Sn,FallbackAction:()=>En,ForbiddenException:()=>pn,GetChannelMembershipPreferencesCommand:()=>Uo,GetChannelMembershipPreferencesResponseFilterSensitiveLog:()=>vr,GetChannelMessageCommand:()=>jo,GetChannelMessageResponseFilterSensitiveLog:()=>br,GetChannelMessageStatusCommand:()=>zo,GetMessagingSessionEndpointCommand:()=>$o,GetMessagingStreamingConfigurationsCommand:()=>Ho,IdentityFilterSensitiveLog:()=>Rn,InvocationType:()=>kn,ListChannelBansCommand:()=>Wo,ListChannelBansRequestFilterSensitiveLog:()=>yr,ListChannelBansResponseFilterSensitiveLog:()=>Sr,ListChannelFlowsCommand:()=>qo,ListChannelFlowsRequestFilterSensitiveLog:()=>wr,ListChannelFlowsResponseFilterSensitiveLog:()=>Cr,ListChannelMembershipsCommand:()=>Ko,ListChannelMembershipsForAppInstanceUserCommand:()=>Go,ListChannelMembershipsForAppInstanceUserRequestFilterSensitiveLog:()=>Tr,ListChannelMembershipsForAppInstanceUserResponseFilterSensitiveLog:()=>Ir,ListChannelMembershipsRequestFilterSensitiveLog:()=>kr,ListChannelMembershipsResponseFilterSensitiveLog:()=>Er,ListChannelMessagesCommand:()=>Jo,ListChannelMessagesRequestFilterSensitiveLog:()=>xr,ListChannelMessagesResponseFilterSensitiveLog:()=>Ar,ListChannelModeratorsCommand:()=>Qo,ListChannelModeratorsRequestFilterSensitiveLog:()=>Pr,ListChannelModeratorsResponseFilterSensitiveLog:()=>Or,ListChannelsAssociatedWithChannelFlowCommand:()=>Xo,ListChannelsAssociatedWithChannelFlowRequestFilterSensitiveLog:()=>Rr,ListChannelsAssociatedWithChannelFlowResponseFilterSensitiveLog:()=>Dr,ListChannelsCommand:()=>Zo,ListChannelsModeratedByAppInstanceUserCommand:()=>Yo,ListChannelsModeratedByAppInstanceUserRequestFilterSensitiveLog:()=>Fr,ListChannelsModeratedByAppInstanceUserResponseFilterSensitiveLog:()=>Lr,ListChannelsRequestFilterSensitiveLog:()=>_r,ListChannelsResponseFilterSensitiveLog:()=>Mr,ListSubChannelsCommand:()=>es,ListSubChannelsRequestFilterSensitiveLog:()=>Nr,ListSubChannelsResponseFilterSensitiveLog:()=>Br,ListTagsForResourceCommand:()=>ts,ListTagsForResourceResponseFilterSensitiveLog:()=>Vr,MessageAttributeValueFilterSensitiveLog:()=>zn,MessagingDataType:()=>Pn,NotFoundException:()=>fn,ProcessorFilterSensitiveLog:()=>Un,PushNotificationConfigurationFilterSensitiveLog:()=>$n,PushNotificationPreferencesFilterSensitiveLog:()=>Qn,PushNotificationType:()=>Tn,PutChannelExpirationSettingsCommand:()=>is,PutChannelMembershipPreferencesCommand:()=>ns,PutChannelMembershipPreferencesRequestFilterSensitiveLog:()=>Ur,PutChannelMembershipPreferencesResponseFilterSensitiveLog:()=>jr,PutMessagingStreamingConfigurationsCommand:()=>rs,RedactChannelMessageCommand:()=>os,ResourceLimitExceededException:()=>yn,SearchChannelsCommand:()=>ss,SearchChannelsRequestFilterSensitiveLog:()=>zr,SearchChannelsResponseFilterSensitiveLog:()=>$r,SearchFieldKey:()=>_n,SearchFieldOperator:()=>Mn,SendChannelMessageCommand:()=>as,SendChannelMessageRequestFilterSensitiveLog:()=>Hr,ServiceFailureException:()=>mn,ServiceUnavailableException:()=>gn,SortOrder:()=>On,TagFilterSensitiveLog:()=>rr,TagResourceCommand:()=>ds,TagResourceRequestFilterSensitiveLog:()=>Wr,ThrottledClientException:()=>vn,UnauthorizedClientException:()=>bn,UntagResourceCommand:()=>cs,UntagResourceRequestFilterSensitiveLog:()=>qr,UpdateChannelCommand:()=>ls,UpdateChannelFlowCommand:()=>us,UpdateChannelFlowRequestFilterSensitiveLog:()=>Gr,UpdateChannelMessageCommand:()=>hs,UpdateChannelMessageRequestFilterSensitiveLog:()=>Jr,UpdateChannelReadMarkerCommand:()=>ps,UpdateChannelRequestFilterSensitiveLog:()=>Kr,__Client:()=>Jt,paginateListChannelBans:()=>vs,paginateListChannelFlows:()=>ys,paginateListChannelMemberships:()=>ks,paginateListChannelMembershipsForAppInstanceUser:()=>ws,paginateListChannelMessages:()=>Ts,paginateListChannelModerators:()=>xs,paginateListChannels:()=>Rs,paginateListChannelsAssociatedWithChannelFlow:()=>Ps,paginateListChannelsModeratedByAppInstanceUser:()=>_s,paginateListSubChannels:()=>Fs,paginateSearchChannels:()=>Ns});var n={};i.r(n),i.d(n,{getUserAgentPrefix:()=>Ce,isVirtualHostableS3Bucket:()=>Oe,parseArn:()=>_e,partition:()=>ye,setPartitionInfo:()=>Se,useDefaultPartitionInfo:()=>we});var r,o,s,a,d={};i.r(d),i.d(d,{aws:()=>n,booleanEquals:()=>Me,getAttr:()=>Re,isSet:()=>De,isValidHostLabel:()=>Pe,not:()=>Fe,parseURL:()=>ze,stringEquals:()=>$e,substring:()=>He,uriEncode:()=>We}),function(e){e.HEADER="header",e.QUERY="query"}(r||(r={})),function(e){e.HTTP="http",e.HTTPS="https"}(o||(o={})),function(e){e[e.HEADER=0]="HEADER",e[e.TRAILER=1]="TRAILER"}(s||(s={})),function(e){e.HTTP_0_9="http/0.9",e.HTTP_1_0="http/1.0",e.TDS_8_0="tds/8.0"}(a||(a={}));class c{constructor(e){this.method=e.method||"GET",this.hostname=e.hostname||"localhost",this.port=e.port,this.query=e.query||{},this.headers=e.headers||{},this.body=e.body,this.protocol=e.protocol?":"!==e.protocol.slice(-1)?`${e.protocol}:`:e.protocol:"https:",this.path=e.path?"/"!==e.path.charAt(0)?`/${e.path}`:e.path:"/",this.username=e.username,this.password=e.password,this.fragment=e.fragment}static isInstance(e){if(!e)return!1;const t=e;return"method"in t&&"protocol"in t&&"hostname"in t&&"path"in t&&"object"==typeof t.query&&"object"==typeof t.headers}clone(){const e=new c({...this,headers:{...this.headers}});var t;return e.query&&(e.query=(t=e.query,Object.keys(t).reduce((e,i)=>{const n=t[i];return{...e,[i]:Array.isArray(n)?[...n]:n}},{}))),e}}class l{constructor(e){this.statusCode=e.statusCode,this.reason=e.reason,this.headers=e.headers||{},this.body=e.body}static isInstance(e){if(!e)return!1;const t=e;return"number"==typeof t.statusCode&&"object"==typeof t.headers}}const u={name:"hostHeaderMiddleware",step:"build",priority:"low",tags:["HOST"],override:!0},h={name:"loggerMiddleware",tags:["LOGGER"],step:"initialize",override:!0},p="X-Amzn-Trace-Id",f={step:"build",tags:["RECURSION_DETECTION"],name:"recursionDetectionMiddleware",override:!0,priority:"low"};Error;const m=(e,t,i)=>{let n,r,o,s=!1;const a=async()=>{r||(r=e());try{n=await r,o=!0,s=!1}finally{r=void 0}return n};return void 0===t?async e=>(o&&!e?.forceRefresh||(n=await a()),n):async e=>(o&&!e?.forceRefresh||(n=await a()),s?n:i&&!i(n)?(s=!0,n):t(n)?(await a(),n):n)};i(50325);const g={},v={};for(let e=0;e<256;e++){let t=e.toString(16).toLowerCase();1===t.length&&(t=`0${t}`),g[e]=t,v[t]=e}function b(e){let t="";for(let i=0;i<e.byteLength;i++)t+=g[e[i]];return t}class y{constructor(e){if(this.bytes=e,8!==e.byteLength)throw new Error("Int64 buffers must be exactly 8 bytes")}static fromNumber(e){if(e>0x8000000000000000||e<-0x8000000000000000)throw new Error(`${e} is too large (or, if negative, too small) to represent as an Int64`);const t=new Uint8Array(8);for(let i=7,n=Math.abs(Math.round(e));i>-1&&n>0;i--,n/=256)t[i]=n;return e<0&&S(t),new y(t)}valueOf(){const e=this.bytes.slice(0),t=128&e[0];return t&&S(e),parseInt(b(e),16)*(t?-1:1)}toString(){return String(this.valueOf())}}function S(e){for(let t=0;t<8;t++)e[t]^=255;for(let t=7;t>-1&&(e[t]++,0===e[t]);t--);}class w{constructor(e,t){this.toUtf8=e,this.fromUtf8=t}format(e){const t=[];for(const i of Object.keys(e)){const n=this.fromUtf8(i);t.push(Uint8Array.from([n.byteLength]),n,this.formatHeaderValue(e[i]))}const i=new Uint8Array(t.reduce((e,t)=>
2e+t.byteLength,0));let n=0;for(const e of t)i.set(e,n),n+=e.byteLength;return i}formatHeaderValue(e){switch(e.type){case"boolean":return Uint8Array.from([e.value?0:1]);case"byte":return Uint8Array.from([2,e.value]);case"short":const t=new DataView(new ArrayBuffer(3));return t.setUint8(0,3),t.setInt16(1,e.value,!1),new Uint8Array(t.buffer);case"integer":const i=new DataView(new ArrayBuffer(5));return i.setUint8(0,4),i.setInt32(1,e.value,!1),new Uint8Array(i.buffer);case"long":const n=new Uint8Array(9);return n[0]=5,n.set(e.value.bytes,1),n;case"binary":const r=new DataView(new ArrayBuffer(3+e.value.byteLength));r.setUint8(0,6),r.setUint16(1,e.value.byteLength,!1);const o=new Uint8Array(r.buffer);return o.set(e.value,3),o;case"string":const s=this.fromUtf8(e.value),a=new DataView(new ArrayBuffer(3+s.byteLength));a.setUint8(0,7),a.setUint16(1,s.byteLength,!1);const d=new Uint8Array(a.buffer);return d.set(s,3),d;case"timestamp":const c=new Uint8Array(9);return c[0]=8,c.set(y.fromNumber(e.value.valueOf()).bytes,1),c;case"uuid":if(!M.test(e.value))throw new Error(`Invalid UUID received: ${e.value}`);const l=new Uint8Array(17);return l[0]=9,l.set(function(e){if(e.length%2!=0)throw new Error("Hex encoded strings must have an even number length");const t=new Uint8Array(e.length/2);for(let i=0;i<e.length;i+=2){const n=e.slice(i,i+2).toLowerCase();if(!(n in v))throw new Error(`Cannot decode unrecognized sequence ${n} as hexadecimal`);t[i/2]=v[n]}return t}(e.value.replace(/\-/g,"")),1),l}}parse(e){const t={};let i=0;for(;i<e.byteLength;){const n=e.getUint8(i++),r=this.toUtf8(new Uint8Array(e.buffer,e.byteOffset+i,n));switch(i+=n,e.getUint8(i++)){case 0:t[r]={type:k,value:!0};break;case 1:t[r]={type:k,value:!1};break;case 2:t[r]={type:E,value:e.getInt8(i++)};break;case 3:t[r]={type:T,value:e.getInt16(i,!1)},i+=2;break;case 4:t[r]={type:I,value:e.getInt32(i,!1)},i+=4;break;case 5:t[r]={type:x,value:new y(new Uint8Array(e.buffer,e.byteOffset+i,8))},i+=8;break;case 6:const n=e.getUint16(i,!1);i+=2,t[r]={type:A,value:new Uint8Array(e.buffer,e.byteOffset+i,n)},i+=n;break;case 7:const o=e.getUint16(i,!1);i+=2,t[r]={type:P,value:this.toUtf8(new Uint8Array(e.buffer,e.byteOffset+i,o))},i+=o;break;case 8:t[r]={type:O,value:new Date(new y(new Uint8Array(e.buffer,e.byteOffset+i,8)).valueOf())},i+=8;break;case 9:const s=new Uint8Array(e.buffer,e.byteOffset+i,16);i+=16,t[r]={type:_,value:`${b(s.subarray(0,4))}-${b(s.subarray(4,6))}-${b(s.subarray(6,8))}-${b(s.subarray(8,10))}-${b(s.subarray(10))}`};break;default:throw new Error("Unrecognized header type tag")}}return t}}var C;!function(e){e[e.boolTrue=0]="boolTrue",e[e.boolFalse=1]="boolFalse",e[e.byte=2]="byte",e[e.short=3]="short",e[e.integer=4]="integer",e[e.long=5]="long",e[e.byteArray=6]="byteArray",e[e.string=7]="string",e[e.timestamp=8]="timestamp",e[e.uuid=9]="uuid"}(C||(C={}));const k="boolean",E="byte",T="short",I="integer",x="long",A="binary",P="string",O="timestamp",_="uuid",M=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;Symbol.asyncIterator,Symbol.asyncIterator,Symbol.asyncIterator,Symbol.asyncIterator;const R=e=>{if("function"==typeof e)return e;const t=Promise.resolve(e);return()=>t},D=e=>new TextDecoder("utf-8").decode(e),F=e=>(new TextEncoder).encode(e),L=e=>"string"==typeof e?F(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e),N="X-Amz-Date",B="X-Amz-Signature",V="X-Amz-Security-Token",U="authorization",j=N.toLowerCase(),z=[U,j,"date"],$=B.toLowerCase(),H="x-amz-content-sha256",W=V.toLowerCase(),q={authorization:!0,"cache-control":!0,connection:!0,expect:!0,from:!0,"keep-alive":!0,"max-forwards":!0,pragma:!0,referer:!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0,"user-agent":!0,"x-amzn-trace-id":!0},K=/^proxy-/,G=/^sec-/,J="AWS4-HMAC-SHA256",Q="AWS4-HMAC-SHA256-PAYLOAD",X="aws4_request",Z={},Y=[],ee=(e,t,i)=>`${e}/${t}/${i}/${X}`,te=(e,t,i)=>{const n=new e(t);return n.update(L(i)),n.digest()},ie=({headers:e},t,i)=>{const n={};for(const r of Object.keys(e).sort()){if(null==e[r])continue;const o=r.toLowerCase();(o in q||t?.has(o)||K.test(o)||G.test(o))&&(!i||i&&!i.has(o))||(n[o]=e[r].trim().replace(/\s+/g," "))}return n},ne=e=>encodeURIComponent(e).replace(/[!'()*]/g,re),re=e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`,oe=async({headers:e,body:t},i)=>{for(const t of Object.keys(e))if(t.toLowerCase()===H)return e[t];if(null==t)return"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";if("string"==typeof t||ArrayBuffer.isView(t)||(n=t,"function"==typeof ArrayBuffer&&n instanceof ArrayBuffer||"[object ArrayBuffer]"===Object.prototype.toString.call(n))){const e=new i;return e.update(L(t)),b(await e.digest())}var n;return"UNSIGNED-PAYLOAD"},se=({headers:e,query:t,...i})=>({...i,headers:{...e},query:t?ae(t):void 0}),ae=e=>Object.keys(e).reduce((t,i)=>{const n=e[i];return{...t,[i]:Array.isArray(n)?[...n]:n}},{}),de=e=>{e="function"==typeof e.clone?e.clone():se(e);for(const t of Object.keys(e.headers))z.indexOf(t.toLowerCase())>-1&&delete e.headers[t];return e};class ce{constructor({applyChecksum:e,credentials:t,region:i,service:n,sha256:r,uriEscapePath:o=!0}){this.headerMarshaller=new w(D,F),this.service=n,this.sha256=r,this.uriEscapePath=o,this.applyChecksum="boolean"!=typeof e||e,this.regionProvider=R(i),this.credentialProvider=R(t)}async presign(e,t={}
2){const{signingDate:i=new Date,expiresIn:n=3600,unsignableHeaders:r,unhoistableHeaders:o,signableHeaders:s,signingRegion:a,signingService:d}=t,c=await this.credentialProvider();this.validateResolvedCredentials(c);const l=a??await this.regionProvider(),{longDate:u,shortDate:h}=le(i);if(n>604800)return Promise.reject("Signature version 4 presigned URLs must have an expiration date less than one week in the future");const p=ee(h,l,d??this.service),f=((e,t={})=>{const{headers:i,query:n={}}="function"==typeof e.clone?e.clone():se(e);for(const e of Object.keys(i)){const r=e.toLowerCase();"x-amz-"!==r.slice(0,6)||t.unhoistableHeaders?.has(r)||(n[e]=i[e],delete i[e])}return{...e,headers:i,query:n}})(de(e),{unhoistableHeaders:o});c.sessionToken&&(f.query[V]=c.sessionToken),f.query["X-Amz-Algorithm"]=J,f.query["X-Amz-Credential"]=`${c.accessKeyId}/${p}`,f.query[N]=u,f.query["X-Amz-Expires"]=n.toString(10);const m=ie(f,r,s);return f.query["X-Amz-SignedHeaders"]=ue(m),f.query[B]=await this.getSignature(u,p,this.getSigningKey(c,l,h,d),this.createCanonicalRequest(f,m,await oe(e,this.sha256))),f}async sign(e,t){return"string"==typeof e?this.signString(e,t):e.headers&&e.payload?this.signEvent(e,t):e.message?this.signMessage(e,t):this.signRequest(e,t)}async signEvent({headers:e,payload:t},{signingDate:i=new Date,priorSignature:n,signingRegion:r,signingService:o}){const s=r??await this.regionProvider(),{shortDate:a,longDate:d}=le(i),c=ee(a,s,o??this.service),l=await oe({headers:{},body:t},this.sha256),u=new this.sha256;u.update(e);const h=b(await u.digest()),p=[Q,d,c,n,h,l].join("\n");return this.signString(p,{signingDate:i,signingRegion:s,signingService:o})}async signMessage(e,{signingDate:t=new Date,signingRegion:i,signingService:n}){return this.signEvent({headers:this.headerMarshaller.format(e.message.headers),payload:e.message.body},{signingDate:t,signingRegion:i,signingService:n,priorSignature:e.priorSignature}).then(t=>({message:e.message,signature:t}))}async signString(e,{signingDate:t=new Date,signingRegion:i,signingService:n}={}){const r=await this.credentialProvider();this.validateResolvedCredentials(r);const o=i??await this.regionProvider(),{shortDate:s}
2=le(t),a=new this.sha256(await this.getSigningKey(r,o,s,n));return a.update(L(e)),b(await a.digest())}async signRequest(e,{signingDate:t=new Date,signableHeaders:i,unsignableHeaders:n,signingRegion:r,signingService:o}={}){const s=await this.credentialProvider();this.validateResolvedCredentials(s);const a=r??await this.regionProvider(),d=de(e),{longDate:c,shortDate:l}=le(t),u=ee(l,a,o??this.service);d.headers[j]=c,s.sessionToken&&(d.headers[W]=s.sessionToken);const h=await oe(d,this.sha256);!((e,t)=>{e=e.toLowerCase();for(const i of Object.keys(t))if(e===i.toLowerCase())return!0;return!1})(H,d.headers)&&this.applyChecksum&&(d.headers[H]=h);const p=ie(d,n,i),f=await this.getSignature(c,u,this.getSigningKey(s,a,l,o),this.createCanonicalRequest(d,p,h));return d.headers[U]=`${J} Credential=${s.accessKeyId}/${u}, SignedHeaders=${ue(p)}, Signature=${f}`,d}createCanonicalRequest(e,t,i){const n=Object.keys(t).sort();return`${e.method}\n${this.getCanonicalPath(e)}\n${(({query:e={}})=>{const t=[],i={};for(const n of Object.keys(e).sort()){if(n.toLowerCase()===$)continue;t.push(n);const r=e[n];"string"==typeof r?i[n]=`${ne(n)}=${ne(r)}`:Array.isArray(r)&&(i[n]=r.slice(0).sort().reduce((e,t)=>e.concat([`${ne(n)}=${ne(t)}`]),[]).join("&"))}return t.map(e=>i[e]).filter(e=>e).join("&")})(e)}\n${n.map(e=>`${e}:${t[e]}`).join("\n")}\n\n${n.join(";")}\n${i}`}async createStringToSign(e,t,i){const n=new this.sha256;n.update(L(i));const r=await n.digest();return`${J}\n${e}\n${t}\n${b(r)}`}getCanonicalPath({path:e}){if(this.uriEscapePath){const t=[];for(const i of e.split("/"))0!==i?.length&&"."!==i&&(".."===i?t.pop():t.push(i));const i=`${e?.startsWith("/")?"/":""}${t.join("/")}${t.length>0&&e?.endsWith("/")?"/":""}`;return encodeURIComponent(i).replace(/%2F/g,"/")}return e}async getSignature(e,t,i,n){const r=await this.createStringToSign(e,t,n),o=new this.sha256(await i);return o.update(L(r)),b(await o.digest())}getSigningKey(e,t,i,n){return(async(e,t,i,n,r)=>{const o=`${i}:${n}:${r}:${b(await te(e,t.secretAccessKey,t.accessKeyId))}:${t.sessionToken}`;if(o in Z)return Z[o];for(Y.push(o);Y.length>50;)delete Z[Y.shift()];let s=`AWS4${t.secretAccessKey}`;for(const t of[i,n,r,X])s=await te(e,s,t);return Z[o]=s})(this.sha256,e,i,t,n||this.service)}validateResolvedCredentials(e){if("object"!=typeof e||"string"!=typeof e.accessKeyId||"string"!=typeof e.secretAccessKey)throw new Error("Resolved credential object is not valid")}}const le=e=>{const t=(i=e,(e=>"number"==typeof e?new Date(1e3*e):"string"==typeof e?Number(e)?new Date(1e3*Number(e)):new Date(e):e)(i).toISOString().replace(/\.\d{3}Z$/,"Z")).replace(/[\-:]/g,"");var i;return{longDate:t,shortDate:t.slice(0,8)}},ue=e=>Object.keys(e).sort().join(";"),he=e=>new Date(Date.now()+e),pe=(e,t)=>{const i=Date.parse(e);return((e,t)=>Math.abs(he(t).getTime()-e)>=3e5)(i,t)?i-Date.now():t},fe=e=>l.isInstance(e)?e.headers?.date??e.headers?.Date:void 0,me={name:"awsAuthMiddleware",tags:["SIGNATURE","AWSAUTH"],relation:"after",toMiddleware:"retryMiddleware",override:!0},ge=JSON.parse('{"partitions":[{"id":"aws","outputs":{"dnsSuffix":"amazonaws.com","dualStackDnsSuffix":"api.aws","name":"aws","supportsDualStack":true,"supportsFIPS":true},"regionRegex":"^(us|eu|ap|sa|ca|me|af)\\\\-\\\\w+\\\\-\\\\d+$","regions":{"af-south-1":{"description":"Africa (Cape Town)"},"ap-east-1":{"description":"Asia Pacific (Hong Kong)"},"ap-northeast-1":{"description":"Asia Pacific (Tokyo)"},"ap-northeast-2":{"description":"Asia Pacific (Seoul)"},"ap-northeast-3":{"description":"Asia Pacific (Osaka)"},"ap-south-1":{"description":"Asia Pacific (Mumbai)"},"ap-south-2":{"description":"Asia Pacific (Hyderabad)"},"ap-southeast-1":{"description":"Asia Pacific (Singapore)"},"ap-southeast-2":{"description":"Asia Pacific (Sydney)"},"ap-southeast-3":{"description":"Asia Pacific (Jakarta)"},"ap-southeast-4":{"description":"Asia Pacific (Melbourne)"},"aws-global":{"description":"AWS Standard global region"},"ca-central-1":{"description":"Canada (Central)"},"eu-central-1":{"description":"Europe (Frankfurt)"},"eu-central-2":{"description":"Europe (Zurich)"},"eu-north-1":{"description":"Europe (Stockholm)"},"eu-south-1":{"description":"Europe (Milan)"},"eu-south-2":{"description":"Europe (Spain)"},"eu-west-1":{"description":"Europe (Ireland)"},"eu-west-2":{"description":"Europe (London)"},"eu-west-3":{"description":"Europe (Paris)"},"me-central-1":{"description":"Middle East (UAE)"},"me-south-1":{"description":"Middle East (Bahrain)"},"sa-east-1":{"description":"South America (Sao Paulo)"},"us-east-1":{"description":"US East (N. Virginia)"},"us-east-2":{"description":"US East (Ohio)"},"us-west-1":{"description":"US West (N. California)"},"us-west-2":{"description":"US West (Oregon)"}}},{"id":"aws-cn","outputs":{"dnsSuffix":"amazonaws.com.cn","dualStackDnsSuffix":"api.amazonwebservices.com.cn","name":"aws-cn","supportsDualStack":true,"supportsFIPS":true}
2,"regionRegex":"^cn\\\\-\\\\w+\\\\-\\\\d+$","regions":{"aws-cn-global":{"description":"AWS China global region"},"cn-north-1":{"description":"China (Beijing)"},"cn-northwest-1":{"description":"China (Ningxia)"}}},{"id":"aws-us-gov","outputs":{"dnsSuffix":"amazonaws.com","dualStackDnsSuffix":"api.aws","name":"aws-us-gov","supportsDualStack":true,"supportsFIPS":true},"regionRegex":"^us\\\\-gov\\\\-\\\\w+\\\\-\\\\d+$","regions":{"aws-us-gov-global":{"description":"AWS GovCloud (US) global region"},"us-gov-east-1":{"description":"AWS GovCloud (US-East)"},"us-gov-west-1":{"description":"AWS GovCloud (US-West)"}}},{"id":"aws-iso","outputs":{"dnsSuffix":"c2s.ic.gov","dualStackDnsSuffix":"c2s.ic.gov","name":"aws-iso","supportsDualStack":false,"supportsFIPS":true},"regionRegex":"^us\\\\-iso\\\\-\\\\w+\\\\-\\\\d+$","regions":{"aws-iso-global":{"description":"AWS ISO (US) global region"},"us-iso-east-1":{"description":"US ISO East"},"us-iso-west-1":{"description":"US ISO WEST"}}},{"id":"aws-iso-b","outputs":{"dnsSuffix":"sc2s.sgov.gov","dualStackDnsSuffix":"sc2s.sgov.gov","name":"aws-iso-b","supportsDualStack":false,"supportsFIPS":true},"regionRegex":"^us\\\\-isob\\\\-\\\\w+\\\\-\\\\d+$","regions":{"aws-iso-b-global":{"description":"AWS ISOB (US) global region"},"us-isob-east-1":{"description":"US ISOB East (Ohio)"}}},{"id":"aws-iso-e","outputs":{"dnsSuffix":"cloud.adc-e.uk","dualStackDnsSuffix":"cloud.adc-e.uk","name":"aws-iso-e","supportsDualStack":false,"supportsFIPS":true},"regionRegex":"^eu\\\\-isoe\\\\-\\\\w+\\\\-\\\\d+$","regions":{}},{"id":"aws-iso-f","outputs":{"dnsSuffix":"csp.hci.ic.gov","dualStackDnsSuffix":"csp.hci.ic.gov","name":"aws-iso-f","supportsDualStack":false,"supportsFIPS":true},"regionRegex":"^us\\\\-isof\\\\-\\\\w+\\\\-\\\\d+$","regions":{}}],"version":"1.1"}');let ve=ge,be="";const ye=e=>{const{partitions:t}=ve;for(const i of t){const{regions:t,outputs:n}=i;for(const[i,r]of Object.entries(t))if(i===e)return{...n,...r}}for(const i of t){const{regionRegex:t,outputs:n}=i;if(new RegExp(t).test(e))return{...n}}const i=t.find(e=>"aws"===e.id);if(!i)throw new Error("Provided region was not found in the partition array or regex, and default partition with id 'aws' doesn't exist.");return{...i.outputs}},Se=(e,t="")=>{ve=e,be=t},we=()=>{Se(ge,"")},Ce=()=>be,ke="endpoints";function Ee(e){return"object"!=typeof e||null==e?e:"ref"in e?`$${Ee(e.ref)}`:"fn"in e?`${e.fn}(${(e.argv||[]).map(Ee).join(", ")})`:JSON.stringify(e,null,2)}class Te extends Error{constructor(e){super(e),this.name="EndpointError"}}const Ie=new RegExp("^(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}$"),xe=e=>Ie.test(e)||e.startsWith("[")&&e.endsWith("]"),Ae=new RegExp("^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$"),Pe=(e,t=!1)=>{if(!t)return Ae.test(e);const i=e.split(".");for(const e of i)if(!Pe(e))return!1;return!0},Oe=(e,t=!1)=>{if(t){for(const t of e.split("."))if(!Oe(t))return!1;return!0}return!(!Pe(e)||e.length<3||e.length>63||e!==e.toLowerCase()||xe(e))},_e=e=>{const t=e.split(":");if(t.length<6)return null;const[i,n,r,o,s,...a]=t;return"arn"!==i||""===n||""===r||""===a[0]?null:{partition:n,service:r,region:o,accountId:s,resourceId:a[0].includes("/")?a[0].split("/"):a}},Me=(e,t)=>e===t,Re=(e,t)=>(e=>{const t=e.split("."),i=[];for(const n of t){const t=n.indexOf("[");if(-1!==t){if(n.indexOf("]")!==n.length-1)throw new Te(`Path: '${e}' does not end with ']'`);const r=n.slice(t+1,-1);if(Number.isNaN(parseInt(r)))throw new Te(`Invalid array index: '${r}' in path: '${e}'`);0!==t&&i.push(n.slice(0,t)),i.push(r)}else i.push(n)}return i})(t).reduce((i,n)=>{if("object"!=typeof i)throw new Te(`Index '${n}' in '${t}' not found in '${JSON.stringify(e)}'`);return Array.isArray(i)?i[parseInt(n)]:i[n]},e),De=e=>null!=e,Fe=e=>!e;var Le,Ne,Be,Ve,Ue;!function(e){e.HEADER="header",e.QUERY="query"}(Le||(Le={})),function(e){e.HTTP="http",e.HTTPS="https"}(Ne||(Ne={})),function(e){e[e.HEADER=0]="HEADER",e[e.TRAILER=1]="TRAILER"}(Be||(Be={})),function(e){e.HTTP_0_9="http/0.9",e.HTTP_1_0="http/1.0",e.TDS_8_0="tds/8.0"}(Ve||(Ve={})),function(e){e.AAAA="AAAA",e.A="A"}(Ue||(Ue={}));const je={[Ne.HTTP]:80,[Ne.HTTPS]:443},ze=e=>{const t=(()=>{try{if(e instanceof URL)return e;if("object"==typeof e&&"hostname"in e){const{hostname:t,port:i,protocol:n="",path:r="",query:o={}}=e,s=new URL(`${n}//${t}${i?`:${i}`:""}${r}`);return s.search=Object.entries(o).map(([e,t])=>`${e}=${t}`).join("&"),s}return new URL(e)}catch(e){return null}})();if(!t)return console.error(`Unable to parse ${JSON.stringify(e)} as a whatwg URL.`),null;const i=t.href,{host:n,hostname:r,pathname:o,protocol:s,search:a}=t;if(a)return null;const d=s.slice(0,-1);if(!Object.values(Ne).includes(d))return null;const c=xe(r);return{scheme:d,authority:`${n}${i.includes(`${n}:${je[d]}`)||"string"==typeof e&&e.includes(`${n}:${je[d]}`)?`:${je[d]}`:""}`,path:o,normalizedPath:o.endsWith("/")?o:`${o}/`,isIp:c}},$e=(e,t)=>
2e===t,He=(e,t,i,n)=>t>=i||e.length<i?null:n?e.substring(e.length-i,e.length-t):e.substring(t,i),We=e=>encodeURIComponent(e).replace(/[!*'()]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`),qe=(e,t)=>{const i=[],n={...t.endpointParams,...t.referenceRecord};let r=0;for(;r<e.length;){const t=e.indexOf("{",r);if(-1===t){i.push(e.slice(r));break}i.push(e.slice(r,t));const o=e.indexOf("}",t);if(-1===o){i.push(e.slice(t));break}"{"===e[t+1]&&"}"===e[o+1]&&(i.push(e.slice(t+1,o)),r=o+2);const s=e.substring(t+1,o);if(s.includes("#")){const[e,t]=s.split("#");i.push(Re(n[e],t))}else i.push(n[s]);r=o+1}return i.join("")},Ke=(e,t,i)=>{if("string"==typeof e)return qe(e,i);if(e.fn)return Ge(e,i);if(e.ref)return(({ref:e},t)=>({...t.endpointParams,...t.referenceRecord}[e]))(e,i);throw new Te(`'${t}': ${String(e)} is not a string, function or reference.`)},Ge=({fn:e,argv:t},i)=>{const n=t.map(e=>["boolean","number"].includes(typeof e)?e:Ke(e,"arg",i));return e.split(".").reduce((e,t)=>e[t],d)(...n)},Je=({assign:e,...t},i)=>{if(e&&e in i.referenceRecord)throw new Te(`'${e}' is already defined in Reference Record.`);const n=Ge(t,i);return i.logger?.debug?.(ke,`evaluateCondition: ${Ee(t)} = ${Ee(n)}`),{result:""===n||!!n,...null!=e&&{toAssign:{name:e,value:n}}}},Qe=(e=[],t)=>{const i={};for(const n of e){const{result:e,toAssign:r}=Je(n,{...t,referenceRecord:{...t.referenceRecord,...i}});if(!e)return{result:e};r&&(i[r.name]=r.value,t.logger?.debug?.(ke,`assign: ${r.name} := ${Ee(r.value)}`))}return{result:!0,referenceRecord:i}},Xe=(e,t)=>Object.entries(e).reduce((e,[i,n])=>({...e,[i]:n.map(e=>{const n=Ke(e,"Header value entry",t);if("string"!=typeof n)throw new Te(`Header '${i}' value '${n}' is not a string`);return n})}),{}),Ze=(e,t)=>{if(Array.isArray(e))return e.map(e=>Ze(e,t));switch(typeof e){case"string":return qe(e,t);case"object":if(null===e)throw new Te(`Unexpected endpoint property: ${e}`);return Ye(e,t);case"boolean":return e;default:throw new Te("Unexpected endpoint property type: "+typeof e)}},Ye=(e,t)=>Object.entries(e).reduce((e,[i,n])=>({...e,[i]:Ze(n,t)}),{}),et=(e,t)=>{const i=Ke(e,"Endpoint URL",t);if("string"==typeof i)try{return new URL(i)}catch(e){throw console.error(`Failed to construct URL with ${i}`,e),e}throw new Te("Endpoint URL must be a string, got "+typeof i)},tt=(e,t)=>{const{conditions:i,endpoint:n}=e,{result:r,referenceRecord:o}=Qe(i,t);if(!r)return;const s={...t,referenceRecord:{...t.referenceRecord,...o}},{url:a,properties:d,headers:c}=n;return t.logger?.debug?.(ke,`Resolving endpoint from template: ${Ee(n)}`),{...null!=c&&{headers:Xe(c,s)},...null!=d&&{properties:Ye(d,s)},url:et(a,s)}},it=(e,t)=>{const{conditions:i,error:n}=e,{result:r,referenceRecord:o}=Qe(i,t);if(r)throw new Te(Ke(n,"Error",{...t,referenceRecord:{...t.referenceRecord,...o}}))},nt=(e,t)=>{const{conditions:i,rules:n}=e,{result:r,referenceRecord:o}=Qe(i,t);if(r)return rt(n,{...t,referenceRecord:{...t.referenceRecord,...o}})},rt=(e,t)=>{for(const i of e)if("endpoint"===i.type){const e=tt(i,t);if(e)return e}else if("error"===i.type)it(i,t);else{if("tree"!==i.type)throw new Te(`Unknown endpoint rule: ${i}`);{const e=nt(i,t);if(e)return e}}throw new Te("Rules evaluation failed")},ot="user-agent",st="x-amz-user-agent",at=/[^\!\$\%\&\'\*\+\-\.\^\_\`\|\~\d\w]/g,dt=/[^\!\$\%\&\'\*\+\-\.\^\_\`\|\~\d\w\#]/g,ct=e=>{const t=e[0].split("/").map(e=>e.replace(at,"-")).join("/"),i=e[1]?.replace(dt,"-"),n=t.indexOf("/"),r=t.substring(0,n);let o=t.substring(n+1);return"api"===r&&(o=o.toLowerCase()),[r,o,i].filter(e=>e&&e.length>0).reduce((e,t,i)=>{switch(i){case 0:return t;case 1:return`${e}/${t}`;default:return`${e}#${t}`}},"")},lt={name:"getUserAgentMiddleware",step:"build",priority:"low",tags:["SET_USER_AGENT","USER_AGENT"],override:!0};var ut;!function(e){e.ENV="env",e.CONFIG="shared config entry"}(ut||(ut={}));const ht=e=>"string"==typeof e&&(e.startsWith("fips-")||e.endsWith("-fips")),pt=e=>ht(e)?["fips-aws-global","aws-fips"].includes(e)?"us-east-1":e.replace(/fips-(dkr-|prod-)?|-fips/,""):e,ft="content-length",mt={step:"build",tags:["SET_CONTENT_LENGTH","CONTENT_LENGTH"],name:"contentLengthMiddleware",override:!0}
2,gt={name:"deserializerMiddleware",step:"deserialize",tags:["DESERIALIZER"],override:!0},vt={name:"serializerMiddleware",step:"serialize",tags:["SERIALIZER"],override:!0};function bt(e,t,i){return{applyToStack:n=>{n.add(((e,t)=>(i,n)=>async n=>{const{response:r}=await i(n);try{return{response:r,output:await t(r,e)}}catch(e){if(Object.defineProperty(e,"$response",{value:r}),!("$metadata"in e)){const t="Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.";e.message+="\n "+t}throw e}})(e,i),gt),n.add(((e,t)=>(i,n)=>async r=>{const o=n.endpointV2?.url&&e.urlParser?async()=>e.urlParser(n.endpointV2.url):e.endpoint;if(!o)throw new Error("No valid endpoint provider available.");const s=await t(r.input,{...e,endpoint:o});return i({...r,request:s})})(e,t),vt)}}}const yt=/^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$/,St=/(\d+\.){3}\d+/,wt=/\.\./,Ct=(e,t,i)=>{const n=async()=>{const n=i[e]??i[t];return"function"==typeof n?n():n};return"endpoint"===e||"endpoint"===t?async()=>{const e=await n();if(e&&"object"==typeof e){if("url"in e)return e.url.href;if("hostname"in e){const{protocol:t,hostname:i,port:n,path:r}=e;return`${t}//${i}${n?":"+n:""}${r}`}}return e}:n},kt=async(e,t,i)=>{const n={},r=t?.getEndpointParameterInstructions?.()||{};for(const[t,o]of Object.entries(r))switch(o.type){case"staticContextParams":n[t]=o.value;break;case"contextParams":n[t]=e[o.name];break;case"clientContextParams":case"builtInParams":n[t]=await Ct(o.name,t,i)();break;default:throw new Error("Unrecognized endpoint parameter instruction: "+JSON.stringify(o))}return 0===Object.keys(r).length&&Object.assign(n,i),"s3"===String(i.serviceId).toLowerCase()&&await(async e=>{const t=e?.Bucket||"";if("string"==typeof e.Bucket&&(e.Bucket=t.replace(/#/g,encodeURIComponent("#")).replace(/\?/g,encodeURIComponent("?"))),(e=>{const[t,i,n,r,o,s]=e.split(":"),a="arn"===t&&e.split(":").length>=6,d=5===[t,i,n,o,s].filter(Boolean).length;if(a&&!d)throw new Error(`Invalid ARN: ${e} was an invalid ARN.`);return!!("arn"===t&&i&&n&&o&&s)})(t)){if(!0===e.ForcePathStyle)throw new Error("Path-style addressing cannot be used with ARN buckets")}else i=t,(!yt.test(i)||St.test(i)||wt.test(i)||-1!==t.indexOf(".")&&!String(e.Endpoint).startsWith("http:")||t.toLowerCase()!==t||t.length<3)&&(e.ForcePathStyle=!0);var i;return e.DisableMultiRegionAccessPoints&&(e.disableMultiRegionAccessPoints=!0,e.DisableMRAP=!0),e})(n),n},Et={step:"serialize",tags:["ENDPOINT_PARAMETERS","ENDPOINT_V2","ENDPOINT"],name:"endpointV2Middleware",override:!0,relation:"before",toMiddleware:vt.name},Tt=(e,t)=>({applyToStack:i=>{i.addRelativeTo((({config:e,instructions:t})=>(i,n)=>async r=>{const o=await(async(e,t,i,n)=>{const r=await kt(e,t,i);if("function"!=typeof i.endpointProvider)throw new Error("config.endpointProvider is not set.");return i.endpointProvider(r,n)})(r.input,{getEndpointParameterInstructions:()=>t},{...e},n);n.endpointV2=o,n.authSchemes=o.properties?.authSchemes;const s=n.authSchemes?.[0];return s&&(n.signing_region=s.signingRegion,n.signing_service=s.signingName),i({...r})})({config:e,instructions:t}),Et)}}),It=e=>{if("string"==typeof e)return It(new URL(e));const{hostname:t,pathname:i,port:n,protocol:r,search:o}=e;let s;return o&&(s=function(e){const t={};if(e=e.replace(/^\?/,""))for(const i of e.split("&")){let[e,n=null]=i.split("=");e=decodeURIComponent(e),n&&(n=decodeURIComponent(n)),e in t?Array.isArray(t[e])?t[e].push(n):t[e]=[t[e],n]:t[e]=n}return t}(o)),{hostname:t,port:n?parseInt(n):void 0,protocol:r,path:i,query:s}};var xt;!function(e){e.STANDARD="standard",e.ADAPTIVE="adaptive"}(xt||(xt={}));const At=xt.STANDARD,Pt=["BandwidthLimitExceeded","EC2ThrottledException","LimitExceededException","PriorRequestNotComplete","ProvisionedThroughputExceededException","RequestLimitExceeded","RequestThrottled","RequestThrottledException","SlowDown","ThrottledException","Throttling","ThrottlingException","TooManyRequestsException","TransactionInProgressException"],Ot=["TimeoutError","RequestTimeout","RequestTimeoutException"],_t=[500,502,503,504],Mt=["ECONNRESET","ECONNREFUSED","EPIPE","ETIMEDOUT"],Rt=e=>429===e.$metadata?.httpStatusCode||Pt.includes(e.name)||1==e.$retryable?.throttling,Dt=e=>Ot.includes(e.name)||Mt.includes(e?.code||"")||_t.includes(e.$metadata?.httpStatusCode||0);class Ft{constructor(e){this.currentCapacity=0,this.enabled=!1,this.lastMaxRate=0,this.measuredTxRate=0,this.requestCount=0,this.lastTimestamp=0,this.timeWindow=0,this.beta=e?.beta??.7,this.minCapacity=e?.minCapacity??1,this.minFillRate=e?.minFillRate??.5,this.scaleConstant=e?.scaleConstant??.4,this.smooth=e?.smooth??.8;const t=this.getCurrentTimeInSeconds();this.lastThrottleTime=t,this.lastTxRateBucket=Math.floor(this.getCurrentTimeInSeconds()),this.fillRate=this.minFillRate,this.maxCapacity=this.minCapacity}getCurrentTimeInSeconds(){return Date.now()/1e3}async getSendToken(){return this.acquireTokenBucket(1)}async acquireTokenBucket(e){if(this.enabled){if(this.refillTokenBucket(),e>this.currentCapacity){const t=(e-this.currentCapacity)/this.fillRate*1e3;await new Promise(e=>setTimeout(e,t))}this.currentCapacity=this.currentCapacity-e}}refillTokenBucket(){const e=this.getCurrentTimeInSeconds();if(!this.lastTimestamp)return void(this.lastTimestamp=e);const t=(e-this.lastTimestamp)*this.fillRate;this.currentCapacity=Math.min(this.maxCapacity,this.currentCapacity+t),this.lastTimestamp=e}updateClientSendingRate(e){let t;if(this.updateMeasuredRate(),Rt(e)){const e=this.enabled?Math.min(this.measuredTxRate,this.fillRate):this.measuredTxRate;this.lastMaxRate=e,this.calculateTimeWindow(),this.lastThrottleTime=this.getCurrentTimeInSeconds(),t=this.cubicThrottle(e),this.enableTokenBucket()}else this.calculateTimeWindow(),t=this.cubicSuccess(this.getCurrentTimeInSeconds());const i=Math.min(t,2*this.measuredTxRate);this.updateTokenBucketRate(i)}
2calculateTimeWindow(){this.timeWindow=this.getPrecise(Math.pow(this.lastMaxRate*(1-this.beta)/this.scaleConstant,1/3))}cubicThrottle(e){return this.getPrecise(e*this.beta)}cubicSuccess(e){return this.getPrecise(this.scaleConstant*Math.pow(e-this.lastThrottleTime-this.timeWindow,3)+this.lastMaxRate)}enableTokenBucket(){this.enabled=!0}updateTokenBucketRate(e){this.refillTokenBucket(),this.fillRate=Math.max(e,this.minFillRate),this.maxCapacity=Math.max(e,this.minCapacity),this.currentCapacity=Math.min(this.currentCapacity,this.maxCapacity)}updateMeasuredRate(){const e=this.getCurrentTimeInSeconds(),t=Math.floor(2*e)/2;if(this.requestCount++,t>this.lastTxRateBucket){const e=this.requestCount/(t-this.lastTxRateBucket);this.measuredTxRate=this.getPrecise(e*this.smooth+this.measuredTxRate*(1-this.smooth)),this.requestCount=0,this.lastTxRateBucket=t}}getPrecise(e){return parseFloat(e.toFixed(8))}}const Lt=({retryDelay:e,retryCount:t,retryCost:i})=>({getRetryCount:()=>t,getRetryDelay:()=>Math.min(2e4,e),getRetryCost:()=>i});class Nt{constructor(e){this.maxAttempts=e,this.mode=xt.STANDARD,this.capacity=500,this.retryBackoffStrategy=(()=>{let e=100;return{computeNextBackoffDelay:t=>Math.floor(Math.min(2e4,Math.random()*2**t*e)),setDelayBase:t=>{e=t}}})(),this.maxAttemptsProvider="function"==typeof e?e:async()=>e}async acquireInitialRetryToken(e){return Lt({retryDelay:100,retryCount:0})}async refreshRetryTokenForRetry(e,t){const i=await this.getMaxAttempts();if(this.shouldRetry(e,t,i)){const i=t.errorType;this.retryBackoffStrategy.setDelayBase("THROTTLING"===i?500:100);const n=this.retryBackoffStrategy.computeNextBackoffDelay(e.getRetryCount()),r=t.retryAfterHint?Math.max(t.retryAfterHint.getTime()-Date.now()||0,n):n,o=this.getCapacityCost(i);return this.capacity-=o,Lt({retryDelay:r,retryCount:e.getRetryCount()+1,retryCost:o})}throw new Error("No retry token available")}recordSuccess(e){this.capacity=Math.max(500,this.capacity+(e.getRetryCost()??1))}getCapacity(){return this.capacity}async getMaxAttempts(){try{return await this.maxAttemptsProvider()}catch(e){return console.warn("Max attempts provider could not resolve. Using default of 3"),3}}shouldRetry(e,t,i){return e.getRetryCount()+1<i&&this.capacity>=this.getCapacityCost(t.errorType)&&this.isRetryableError(t.errorType)}getCapacityCost(e){return"TRANSIENT"===e?10:5}isRetryableError(e){return"THROTTLING"===e||"TRANSIENT"===e}}class Bt{constructor(e,t){this.maxAttemptsProvider=e,this.mode=xt.ADAPTIVE;const{rateLimiter:i}=t??{};this.rateLimiter=i??new Ft,this.standardRetryStrategy=new Nt(e)}async acquireInitialRetryToken(e){return await this.rateLimiter.getSendToken(),this.standardRetryStrategy.acquireInitialRetryToken(e)}async refreshRetryTokenForRetry(e,t){return this.rateLimiter.updateClientSendingRate(t),this.standardRetryStrategy.refreshRetryTokenForRetry(e,t)}recordSuccess(e){this.rateLimiter.updateClientSendingRate({}),this.standardRetryStrategy.recordSuccess(e)}}var Vt=i(95391);const Ut=e=>e instanceof Error?e:e instanceof Object?Object.assign(new Error,e):"string"==typeof e?new Error(e):new Error(`AWS SDK error wrapper for ${e}`),jt=e=>{const t={errorType:zt(e)},i=Ht(e.$response);return i&&(t.retryAfterHint=i),t},zt=e=>Rt(e)?"THROTTLING":Dt(e)?"TRANSIENT":(e=>{if(void 0!==e.$metadata?.httpStatusCode){const t=e.$metadata.httpStatusCode;return 500<=t&&t<=599&&!Dt(e)}return!1})(e)?"SERVER_ERROR":"CLIENT_ERROR",$t={name:"retryMiddleware",tags:["RETRY"],step:"finalizeRequest",priority:"high",override:!0},Ht=e=>{if(!l.isInstance(e))return;const t=Object.keys(e.headers).find(e=>"retry-after"===e.toLowerCase());if(!t)return;const i=e.headers[t],n=Number(i);return Number.isNaN(n)?new Date(i):new Date(1e3*n)};class Wt{trace(){}debug(){}info(){}warn(){}error(){}}const qt=()=>{let e=[],t=[];const i=new Set,n=i=>(e.forEach(e=>{i.add(e.middleware,{...e})}),t.forEach(e=>{i.addRelativeTo(e.middleware,{...e})}),i),r=e=>{const t=[];return e.before.forEach(e=>{0===e.before.length&&0===e.after.length?t.push(e):t.push(...r(e))}),t.push(e),e.after.reverse().forEach(e=>{0===e.before.length&&0===e.after.length?t.push(e):t.push(...r(e))}),t},o=(i=!1)=>{const n=[],o=[],s={};
2e.forEach(e=>{const t={...e,before:[],after:[]};t.name&&(s[t.name]=t),n.push(t)}),t.forEach(e=>{const t={...e,before:[],after:[]};t.name&&(s[t.name]=t),o.push(t)}),o.forEach(e=>{if(e.toMiddleware){const t=s[e.toMiddleware];if(void 0===t){if(i)return;throw new Error(`${e.toMiddleware} is not found when adding ${e.name||"anonymous"} middleware ${e.relation} ${e.toMiddleware}`)}"after"===e.relation&&t.after.push(e),"before"===e.relation&&t.before.push(e)}});const a=(d=n,d.sort((e,t)=>Kt[t.step]-Kt[e.step]||Gt[t.priority||"normal"]-Gt[e.priority||"normal"])).map(r).reduce((e,t)=>(e.push(...t),e),[]);var d;return a},s={add:(t,n={})=>{const{name:r,override:o}=n,s={step:"initialize",priority:"normal",middleware:t,...n};if(r){if(i.has(r)){if(!o)throw new Error(`Duplicate middleware name '${r}'`);const t=e.findIndex(e=>e.name===r),i=e[t];if(i.step!==s.step||i.priority!==s.priority)throw new Error(`"${r}" middleware with ${i.priority} priority in ${i.step} step cannot be overridden by same-name middleware with ${s.priority} priority in ${s.step} step.`);e.splice(t,1)}i.add(r)}e.push(s)},addRelativeTo:(e,n)=>{const{name:r,override:o}=n,s={middleware:e,...n};if(r){if(i.has(r)){if(!o)throw new Error(`Duplicate middleware name '${r}'`);const e=t.findIndex(e=>e.name===r),i=t[e];if(i.toMiddleware!==s.toMiddleware||i.relation!==s.relation)throw new Error(`"${r}" middleware ${i.relation} "${i.toMiddleware}" middleware cannot be overridden by same-name middleware ${s.relation} "${s.toMiddleware}" middleware.`);t.splice(e,1)}i.add(r)}t.push(s)},clone:()=>n(qt()),use:e=>{e.applyToStack(s)},remove:n=>"string"==typeof n?(n=>{let r=!1;const o=e=>!e.name||e.name!==n||(r=!0,i.delete(n),!1);return e=e.filter(o),t=t.filter(o),r})(n):(n=>{let r=!1;const o=e=>e.middleware!==n||(r=!0,e.name&&i.delete(e.name),!1);return e=e.filter(o),t=t.filter(o),r})(n),removeByTag:n=>{let r=!1;const o=e=>{const{tags:t,name:o}=e;return!t||!t.includes(n)||(o&&i.delete(o),r=!0,!1)};return e=e.filter(o),t=t.filter(o),r},concat:e=>{const t=n(qt());return t.use(e),t},applyToStack:n,identify:()=>o(!0).map(e=>e.name+": "+(e.tags||[]).join(",")),resolve:(e,t)=>{for(const i of o().map(e=>e.middleware).reverse())e=i(e,t);return e}};return s},Kt={initialize:5,serialize:4,build:3,finalizeRequest:2,deserialize:1},Gt={high:3,normal:2,low:1};class Jt{constructor(e){this.middlewareStack=qt(),this.config=e}send(e,t,i){const n="function"!=typeof t?t:void 0,r="function"==typeof t?t:i,o=e.resolveMiddleware(this.middlewareStack,this.config,n);if(!r)return o(e).then(e=>e.output);o(e).then(e=>r(null,e.output),e=>r(e)).catch(()=>{})}destroy(){this.config.requestHandler.destroy&&this.config.requestHandler.destroy()}}const Qt={},Xt=new Array(64);for(let e=0,t="A".charCodeAt(0),i="Z".charCodeAt(0);e+t<=i;e++){const i=String.fromCharCode(e+t);Qt[i]=e,Xt[e]=i}for(let e=0,t="a".charCodeAt(0),i="z".charCodeAt(0);e+t<=i;e++){const i=String.fromCharCode(e+t),n=e+26;Qt[i]=n,Xt[n]=i}for(let e=0;e<10;e++){Qt[e.toString(10)]=e+52;const t=e.toString(10),i=e+52;Qt[t]=i,Xt[i]=t}Qt["+"]=62,Xt[62]="+",Qt["/"]=63,Xt[63]="/";const Zt=e=>{let t=e.length/4*3;"=="===e.slice(-2)?t-=2:"="===e.slice(-1)&&t--;const i=new ArrayBuffer(t),n=new DataView(i);for(let t=0;t<e.length;t+=4){let i=0,r=0;for(let n=t,o=t+3;n<=o;n++)if("="!==e[n]){if(!(e[n]in Qt))throw new TypeError(`Invalid character ${e[n]} in base64 string.`);i|=Qt[e[n]]<<6*(o-n),r+=6}else i>>=6;const o=t/4*3;i>>=r%8;const s=Math.floor(r/8);for(let e=0;e<s;e++){const t=8*(s-e-1);n.setUint8(o+e,(i&255<<t)>>t)}}return new Uint8Array(i)};function Yt(e){let t="";for(let i=0;i<e.length;i+=3){let n=0,r=0;for(let t=i,o=Math.min(i+3,e.length);t<o;t++)n|=e[t]<<8*(o-t-1),r+=8;const o=Math.ceil(r/6);n<<=6*o-r;for(let e=1;e<=o;e++){const i=6*(o-e);t+=Xt[(n&63<<i)>>i]}
2t+="==".slice(0,4-o)}return t}class ei extends Uint8Array{static fromString(e,t="utf-8"){if("string"==typeof e)return function(e,t){return"base64"===t?ei.mutate(Zt(e)):ei.mutate(F(e))}(e,t);throw new Error(`Unsupported conversion from ${typeof e} to Uint8ArrayBlobAdapter.`)}static mutate(e){return Object.setPrototypeOf(e,ei.prototype),e}transformToString(e="utf-8"){return function(e,t="utf-8"){return"base64"===t?Yt(e):D(e)}(this,e)}}function ti(e=0){return new Promise((t,i)=>{e&&setTimeout(()=>{const t=new Error(`Request did not complete within ${e} ms`);t.name="TimeoutError",i(t)},e)})}class ii{constructor(e){"function"==typeof e?this.configProvider=e().then(e=>e||{}):(this.config=e??{},this.configProvider=Promise.resolve(this.config))}destroy(){}async handle(e,{abortSignal:t}={}){this.config||(this.config=await this.configProvider);const i=this.config.requestTimeout;if(t?.aborted){const e=new Error("Request aborted");return e.name="AbortError",Promise.reject(e)}let n=e.path;const r=function(e){const t=[];for(let i of Object.keys(e).sort()){const n=e[i];if(i=ne(i),Array.isArray(n))for(let e=0,r=n.length;e<r;e++)t.push(`${i}=${ne(n[e])}`);else{let e=i;(n||"string"==typeof n)&&(e+=`=${ne(n)}`),t.push(e)}}return t.join("&")}(e.query||{});r&&(n+=`?${r}`),e.fragment&&(n+=`#${e.fragment}`);let o="";null==e.username&&null==e.password||(o=`${e.username??""}:${e.password??""}@`);const{port:s,method:a}=e,d=`${e.protocol}//${o}${e.hostname}${s?`:${s}`:""}${n}`,c={body:"GET"===a||"HEAD"===a?void 0:e.body,headers:new Headers(e.headers),method:a};"undefined"!=typeof AbortController&&(c.signal=t);const u=new Request(d,c),h=[fetch(u).then(e=>{const t=e.headers,i={};for(const e of t.entries())i[e[0]]=e[1];return null!=e.body?{response:new l({headers:i,reason:e.statusText,statusCode:e.status,body:e.body})}:e.blob().then(t=>({response:new l({headers:i,reason:e.statusText,statusCode:e.status,body:t})}))}),ti(i)];return t&&h.push(new Promise((e,i)=>{t.onabort=()=>{const e=new Error("Request aborted");e.name="AbortError",i(e)}})),Promise.race(h)}}const ni=e=>"function"==typeof Blob&&e instanceof Blob?async function(e){const t=await function(e){return new Promise((t,i)=>{const n=new FileReader;n.onloadend=()=>{if(2!==n.readyState)return i(new Error("Reader aborted too early"));const e=n.result??"",r=e.indexOf(","),o=r>-1?r+1:e.length;t(e.substring(o))},n.onabort=()=>i(new Error("Read aborted")),n.onerror=()=>i(n.error),n.readAsDataURL(e)})}(e),i=Zt(t);return new Uint8Array(i)}(e):async function(e){let t=new Uint8Array(0);const i=e.getReader();let n=!1;for(;!n;){const{done:e,value:r}=await i.read();if(r){const e=t;t=new Uint8Array(e.length+r.length),t.set(e),t.set(r,e.length)}n=e}return t}(e),ri=async(e=new Uint8Array,t)=>{if(e instanceof Uint8Array)return ei.mutate(e);if(!e)return ei.mutate(new Uint8Array);const i=t.streamCollector(e);return ei.mutate(await i)};class oi{constructor(){this.middlewareStack=qt()}}const si="***SensitiveInformation***",ai=e=>{if(null!=e){if("number"==typeof e){if(0!==e&&1!==e||mi.warn(fi(`Expected boolean, got ${typeof e}: ${e}`)),0===e)return!1;if(1===e)return!0}if("string"==typeof e){const t=e.toLowerCase();if("false"!==t&&"true"!==t||mi.warn(fi(`Expected boolean, got ${typeof e}: ${e}`)),"false"===t)return!1;if("true"===t)return!0}if("boolean"==typeof e)return e;throw new TypeError(`Expected boolean, got ${typeof e}: ${e}`)}},di=e=>{if(null!=e){if("string"==typeof e){const t=parseFloat(e);if(!Number.isNaN(t))return String(t)!==String(e)&&mi.warn(fi(`Expected number but observed string: ${e}`)),t}if("number"==typeof e)return e;throw new TypeError(`Expected number, got ${typeof e}: ${e}`)}},ci=(Math.ceil(2**127*(2-2**-23)),(e,t)=>{if(null==e){if(t)throw new TypeError(`Expected a non-null value for ${t}`);throw new TypeError("Expected a non-null value")}return e}),li=e=>{if(null==e)return;if("object"==typeof e&&!Array.isArray(e))return e;const t=Array.isArray(e)?"array":typeof e;throw new TypeError(`Expected object, got ${t}: ${e}`)},ui=e=>{if(null!=e){if("string"==typeof e)return e;if(["boolean","number","bigint"].includes(typeof e))return mi.warn(fi(`Expected string, got ${typeof e}: ${e}`)),String(e);throw new TypeError(`Expected string, got ${typeof e}: ${e}`)}},hi=/(-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?)|(-?Infinity)|(NaN)/g,pi=e=>{const t=e.match(hi);if(null===t||t[0].length!==e.length)throw new TypeError("Expected real number, got implicit NaN");return parseFloat(e)},fi=e=>String(new TypeError(e).stack||e).split("\n").slice(0,5).filter(e=>!e.includes("stackTraceWarning")).join("\n"),mi={warn:console.warn},gi=e=>{if(null==e)return;let t;if("number"==typeof e)t=e;else{if("string"!=typeof e)throw new TypeError("Epoch timestamps must be expressed as floating point numbers or their string representation");t=(e=>di("string"==typeof e?pi(e):e))(e)}if(Number.isNaN(t)||t===1/0||t===-1/0)throw new TypeError("Epoch timestamps must be valid, non-Infinite, non-NaN numerics");return new Date(Math.round(1e3*t))};
2class vi extends Error{constructor(e){super(e.message),Object.setPrototypeOf(this,vi.prototype),this.name=e.name,this.$fault=e.$fault,this.$metadata=e.$metadata}}const bi=(e,t={})=>{Object.entries(t).filter(([,e])=>void 0!==e).forEach(([t,i])=>{null!=e[t]&&""!==e[t]||(e[t]=i)});const i=e.message||e.Message||"UnknownError";return e.message=i,delete e.Message,e},yi=e=>{switch(e){case"standard":case"cross-region":return{retryMode:"standard",connectionTimeout:3100};case"in-region":return{retryMode:"standard",connectionTimeout:1100};case"mobile":return{retryMode:"standard",connectionTimeout:3e4};default:return{}}},Si=function(){const e=Object.getPrototypeOf(this).constructor,t=new(Function.bind.apply(String,[null,...arguments]));return Object.setPrototypeOf(t,e.prototype),t};function wi(e,t,i){let n,r,o;if(void 0===t&&void 0===i)n={},o=e;else{if(n=e,"function"==typeof t)return r=t,o=i,ki(n,r,o);o=t}for(const e of Object.keys(o))Array.isArray(o[e])?Ei(n,null,o,e):n[e]=o[e];return n}Si.prototype=Object.create(String.prototype,{constructor:{value:Si,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf(Si,String);const Ci=(e,t)=>{const i={};for(const n in t)Ei(i,e,t,n);return i},ki=(e,t,i)=>wi(e,Object.entries(i).reduce((e,[i,n])=>(Array.isArray(n)?e[i]=n:e[i]="function"==typeof n?[t,n()]:[t,n],e),{})),Ei=(e,t,i,n)=>{if(null!==t){let r=i[n];"function"==typeof r&&(r=[,r]);const[o=Ti,s=Ii,a=n]=r;return void(("function"==typeof o&&o(t[a])||"function"!=typeof o&&o)&&(e[n]=s(t[a])))}let[r,o]=i[n];if("function"==typeof o){let t;const i=void 0===r&&null!=(t=o()),s="function"==typeof r&&!!r(void 0)||"function"!=typeof r&&!!r;i?e[n]=t:s&&(e[n]=o())}else{const t=void 0===r&&null!=o,i="function"==typeof r&&!!r(o)||"function"!=typeof r&&!!r;(t||i)&&(e[n]=o)}},Ti=e=>null!=e,Ii=e=>e;function xi(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})}const Ai=(e,t,i,n,r,o)=>{if(null==t||void 0===t[i])throw new Error("No value provided for input HTTP label: "+i+".");{const t=n();if(t.length<=0)throw new Error("Empty value provided for input HTTP label: "+i+".");e=e.replace(r,o?t.split("/").map(e=>xi(e)).join("/"):xi(t))}return e},Pi=e=>{if(null==e)return{};if(Array.isArray(e))return e.filter(e=>null!=e);if("object"==typeof e){const t={};for(const i of Object.keys(e))null!=e[i]&&(t[i]=Pi(e[i]));return t}return e};var Oi=i(44862),_i=i(86636),Mi=i.n(_i);const Ri=({serviceId:e,clientVersion:t})=>async()=>{const i="undefined"!=typeof window&&window?.navigator?.userAgent?Mi().parse(window.navigator.userAgent):void 0,n=[["aws-sdk-js",t],["ua","2.0"],[`os/${i?.os?.name||"other"}`,i?.os?.version],["lang/js"],["md/browser",`${i?.browser?.name??"unknown"}_${i?.browser?.version??"unknown"}`]];return e&&n.push([`api/${e}`,t]),n},Di=e=>{if("string"==typeof e){let t=e.length;for(let i=t-1;i>=0;i--){const n=e.charCodeAt(i);n>127&&n<=2047?t++:n>2047&&n<=65535&&(t+=2),n>=56320&&n<=57343&&i--}return t}if("number"==typeof e.byteLength)return e.byteLength;if("number"==typeof e.size)return e.size;throw new Error(`Body Length computation failed for ${e}`)},Fi="required",Li="fn",Ni="argv",Bi="ref",Vi="isSet",Ui="tree",ji="error",zi="endpoint",$i="PartitionResult",Hi={[Fi]:!1,type:"String"},Wi={[Fi]:!0,default:!1,type:"Boolean"},qi={[Bi]:"Endpoint"},Ki={[Li]:"booleanEquals",[Ni]:[{[Bi]:"UseFIPS"},!0]},Gi={[Li]:"booleanEquals",[Ni]:[{[Bi]:"UseDualStack"},!0]},Ji={},Qi={[Li]:"booleanEquals",[Ni]:[!0,{[Li]:"getAttr",[Ni]:[{[Bi]:$i},"supportsFIPS"]}]},Xi={[Li]:"booleanEquals",[Ni]:[!0,{[Li]:"getAttr",[Ni]:[{[Bi]:$i},"supportsDualStack"]}]},Zi=[Ki],Yi=[Gi],en=[{[Bi]:"Region"}],tn={version:"1.0",parameters:{Region:Hi,UseDualStack:Wi,UseFIPS:Wi,Endpoint:Hi},rules:[{conditions:[{[Li]:Vi,[Ni]:[qi]}],type:Ui,rules:[{conditions:Zi,error:"Invalid Configuration: FIPS and custom endpoint are not supported",type:ji},{type:Ui,rules:[{conditions:Yi,error:"Invalid Configuration: Dualstack and custom endpoint are not supported",type:ji},{endpoint:{url:qi,properties:Ji,headers:Ji},type:zi}]}]},{type:Ui,rules:[{conditions:[{[Li]:Vi,[Ni]:en}],type:Ui,rules:[{conditions:[{[Li]:"aws.partition",[Ni]:en,assign:$i}],type:Ui,rules:[{conditions:[Ki,Gi],type:Ui,rules:[{conditions:[Qi,Xi],type:Ui,rules:[{type:Ui,rules:[{endpoint:{url:"https://messaging-chime-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:Ji,headers:Ji},type:zi}]}]},{error:"FIPS and DualStack are enabled, but this partition does not support one or both",type:ji}]},{conditions:Zi,type:Ui,rules:[{conditions:[Qi],type:Ui,rules:[{type:Ui,rules:[{endpoint:{url:"https://messaging-chime-fips.{Region}.{PartitionResult#dnsSuffix}",properties:Ji,headers:Ji},type:zi}]}]},{error:"FIPS is enabled but this partition does not support FIPS",type:ji}]},{conditions:Yi,type:Ui,rules:[{conditions:[Xi],type:Ui,rules:[{type:Ui,rules:[{endpoint:{url:"https://messaging-chime.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:Ji,headers:Ji},type:zi}]}]},{error:"DualStack is enabled but this partition does not support DualStack",type:ji}]},{type:Ui,rules:[{endpoint:{url:"https://messaging-chime.{Region}.{PartitionResult#dnsSuffix}",properties:Ji,headers:Ji},type:zi}]}]}]},{error:"Invalid Configuration: Missing Region",type:ji}]}]},nn=(e,t={})=>((e,t)=>{const{endpointParams:i,logger:n}=t,{parameters:r,rules:o}=e;t.logger?.debug?.(`${ke} Initial EndpointParams: ${Ee(i)}`);const s=Object.entries(r).filter(([,e])=>null!=e.default).map(([e,t])=>[e,t.default]);if(s.length>0)for(const[e,t]of s)i[e]=i[e]??t;const a=Object.entries(r).filter(([,e])=>e.required).map(([e])=>e);for(const e of a)if(null==i[e])throw new Te(`Missing required parameter: '${e}'`);const d=rt(o,{endpointParams:i,logger:n,referenceRecord:{}});if(t.endpointParams?.Endpoint)try{const e=new URL(t.endpointParams.Endpoint),{protocol:i,port:n}=e;d.url.protocol=i,d.url.port=n}catch(e){}return t.logger?.debug?.(`${ke} Resolved endpoint: ${Ee(d)}`),d})(tn,{endpointParams:e,logger:t.logger}),rn=["in-region","cross-region","mobile","standard","legacy"],on=e=>{const t=(({defaultsMode:e}={})=>m(async()=>{const t="function"==typeof e?await e():e;switch(t?.toLowerCase()){case"auto":return Promise.resolve((()=>{const e="undefined"!=typeof window&&window?.navigator?.userAgent?Mi().parse(window.navigator.userAgent):void 0,t=e?.platform?.type;return"tablet"===t||"mobile"===t})()?"mobile":"standard");case"mobile":case"in-region":case"cross-region":case"standard":case"legacy":return Promise.resolve(t?.toLocaleLowerCase());case void 0:return Promise.resolve("legacy");default:throw new Error(`Invalid parameter for "defaultsMode", expect ${rn.join(", ")}, got ${t}`)}}))(e),i=()=>t().then(yi),n=(e=>({apiVersion:"2021-05-15",base64Decoder:e?.base64Decoder??Zt,base64Encoder:e?.base64Encoder??Yt,disableHostPrefix:e?.disableHostPrefix??!1,endpointProvider:e?.endpointProvider??nn,logger:e?.logger??new Wt,serviceId:e?.
2serviceId??"Chime SDK Messaging",urlParser:e?.urlParser??It,utf8Decoder:e?.utf8Decoder??F,utf8Encoder:e?.utf8Encoder??D}))(e);return{...n,...e,runtime:"browser",defaultsMode:t,bodyLengthChecker:e?.bodyLengthChecker??Di,credentialDefaultProvider:e?.credentialDefaultProvider??(e=>()=>Promise.reject(new Error("Credential is missing"))),defaultUserAgentProvider:e?.defaultUserAgentProvider??Ri({serviceId:n.serviceId,clientVersion:"3.369.0"}),maxAttempts:e?.maxAttempts??3,region:e?.region??(()=>Promise.reject("Region is missing")),requestHandler:e?.requestHandler??new ii(i),retryMode:e?.retryMode??(async()=>(await i()).retryMode||At),sha256:e?.sha256??Oi.Sha256,streamCollector:e?.streamCollector??ni,useDualstackEndpoint:e?.useDualstackEndpoint??(()=>Promise.resolve(!1)),useFipsEndpoint:e?.useFipsEndpoint??(()=>Promise.resolve(!1))}};class sn extends Jt{constructor(e){var t;const i=(e=>{const{region:t,useFipsEndpoint:i}=e;if(!t)throw new Error("Region is missing");return{...e,region:async()=>{if("string"==typeof t)return pt(t);const e=await t();return pt(e)},useFipsEndpoint:async()=>{const e="string"==typeof t?t:await t();return!!ht(e)||("function"!=typeof i?Promise.resolve(!!i):i())}}})((t=on(e),{...t,useDualstackEndpoint:t.useDualstackEndpoint??!1,useFipsEndpoint:t.useFipsEndpoint??!1,defaultSigningName:"chime"})),n=(e=>{const{retryStrategy:t}=e,i=R(e.maxAttempts??3);return{...e,maxAttempts:i,retryStrategy:async()=>t||(await R(e.retryMode)()===xt.ADAPTIVE?new Bt(i):new Nt(i))}})((e=>{const t=e.tls??!0,{endpoint:i}=e,n=null!=i?async()=>(e=>"object"==typeof e?"url"in e?It(e.url):e:It(e))(await R(i)()):void 0,r=!!i;return{...e,endpoint:n,tls:t,isCustomEndpoint:r,useDualstackEndpoint:R(e.useDualstackEndpoint??!1),useFipsEndpoint:R(e.useFipsEndpoint??!1)}})(i)),r=(e=>{const t=e.credentials?"function"==typeof(o=e.credentials)?m(o,e=>void 0!==e.expiration&&e.expiration.getTime()-Date.now()<3e5,e=>void 0!==e.expiration):R(o):e.credentialDefaultProvider(e),{signingEscapePath:i=!0,systemClockOffset:n=e.systemClockOffset||0,sha256:r}=e;var o;let s;return s=e.signer?R(e.signer):e.regionInfoProvider?()=>R(e.region)().then(async t=>[await e.regionInfoProvider(t,{useFipsEndpoint:await e.useFipsEndpoint(),useDualstackEndpoint:await e.useDualstackEndpoint()})||{},t]).then(([n,o])=>{const{signingRegion:s,signingService:a}=n;e.signingRegion=e.signingRegion||s||o,e.signingName=e.signingName||a||e.serviceId;const d={...e,credentials:t,region:e.signingRegion,service:e.signingName,sha256:r,uriEscapePath:i};return new(e.signerConstructor||ce)(d)}):async n=>{const o=(n=Object.assign({},{name:"sigv4",signingName:e.signingName||e.defaultSigningName,signingRegion:await R(e.region)(),properties:{}},n)).signingRegion,s=n.signingName;e.signingRegion=e.signingRegion||o,e.signingName=e.signingName||s||e.serviceId;const a={...e,credentials:t,region:e.signingRegion,service:e.signingName,sha256:r,uriEscapePath:i};return new(e.signerConstructor||ce)(a)},{...e,systemClockOffset:n,signingEscapePath:i,credentials:t,signer:s}})(n),o=(s=r,{...s,customUserAgent:"string"==typeof s.customUserAgent?[[s.customUserAgent]]:s.customUserAgent});var s,a;super(o),this.config=o,this.middlewareStack.use((e=>({applyToStack:t=>{t.add((e=>(t,i)=>async n=>{let r=await e.retryStrategy();const o=await e.maxAttempts();if(!(e=>void 0!==e.acquireInitialRetryToken&&void 0!==e.refreshRetryTokenForRetry&&void 0!==e.recordSuccess)(r))return r?.mode&&(i.userAgent=[...i.userAgent||[],["cfg/retry-mode",r.mode]]),r.retry(t,n);{let e=await r.acquireInitialRetryToken(i.partition_id),s=new Error,a=0,d=0;const{request:l}=n;for(c.isInstance(l)&&(l.headers["amz-sdk-invocation-id"]=(0,Vt.A)());;)try{c.isInstance(l)&&(l.headers["amz-sdk-request"]=`attempt=${a+1}; max=${o}`);const{response:i,output:s}=await t(n);return r.recordSuccess(e),s.$metadata.attempts=a+1,s.$metadata.totalRetryDelay=d,{response:i,output:s}}catch(t){const i=jt(t);s=Ut(t);try{e=await r.refreshRetryTokenForRetry(e,i)}catch(e){throw s.$metadata||(s.$metadata={}),s.$metadata.attempts=a+1,s.$metadata.totalRetryDelay=d,s}a=e.getRetryCount();const n=e.getRetryDelay();d+=n,await new Promise(e=>setTimeout(e,n))}}})(e),$t)}}))(this.config)),this.middlewareStack.use((e=>({applyToStack:t=>{var i;t.add((i=e.bodyLengthChecker,e=>async t=>{const n=t.request;if(c.isInstance(n)){const{body:e,headers:t}=n;if(e&&-1===Object.keys(t).map(e=>e.toLowerCase()).indexOf(ft))try{const t=i(e);n.headers={...n.headers,[ft]:String(t)}}catch(e){}}return e({...t,request:n})}),mt)}}))(this.config)),this.middlewareStack.use((e=>({applyToStack:t=>{t.add((e=>t=>async i=>{if(!c.isInstance(i.request))return t(i);const{request:n}=i,{handlerProtocol:r=""}=e.requestHandler.metadata||{};if(r.indexOf("h2")>=0&&!n.headers[":authority"])delete n.headers.host,n.headers[":authority"]="";else if(!n.headers.host){let e=n.hostname;null!=n.port&&(e+=`:${n.port}`),n.headers.host=e}return t(i)})(e),u)}}))(this.config)),this.middlewareStack.use((this.config,{applyToStack:e=>{e.add((e,t)=>async i=>{try{const n=await e(i),{clientName:r,commandName:o,logger:s,dynamoDbDocumentClientOptions:a={}}=t,{overrideInputFilterSensitiveLog:d,overrideOutputFilterSensitiveLog:c}=a,l=d??t.inputFilterSensitiveLog,u=c??t.outputFilterSensitiveLog,{$metadata:h,...p}=n.output;
2return s?.info?.({clientName:r,commandName:o,input:l(i.input),output:u(p),metadata:h}),n}catch(e){const{clientName:n,commandName:r,logger:o,dynamoDbDocumentClientOptions:s={}}=t,{overrideInputFilterSensitiveLog:a}=s,d=a??t.inputFilterSensitiveLog;throw o?.error?.({clientName:n,commandName:r,input:d(i.input),error:e,metadata:e.$metadata}),e}},h)}})),this.middlewareStack.use((e=>({applyToStack:t=>{t.add((e=>t=>async i=>{const{request:n}=i;if(!c.isInstance(n)||"node"!==e.runtime||n.headers.hasOwnProperty(p))return t(i);const r=process.env.AWS_LAMBDA_FUNCTION_NAME,o=process.env._X_AMZN_TRACE_ID,s=e=>"string"==typeof e&&e.length>0;return s(r)&&s(o)&&(n.headers[p]=o),t({...i,request:n})})(e),f)}}))(this.config)),this.middlewareStack.use((e=>({applyToStack:t=>{t.addRelativeTo((e=>(t,i)=>async function(n){if(!c.isInstance(n.request))return t(n);const r=i.endpointV2?.properties?.authSchemes?.[0],o="sigv4a"===r?.name?r?.signingRegionSet?.join(","):void 0,s=await e.signer(r),a=await t({...n,request:await s.sign(n.request,{signingDate:he(e.systemClockOffset),signingRegion:o||i.signing_region,signingService:i.signing_service})}).catch(t=>{const i=t.ServerTime??fe(t.$response);throw i&&(e.systemClockOffset=pe(i,e.systemClockOffset)),t}),d=fe(a.response);return d&&(e.systemClockOffset=pe(d,e.systemClockOffset)),a})(e),me)}}))(this.config)),this.middlewareStack.use((a=this.config,{applyToStack:e=>{var t;e.add((t=a,(e,i)=>async n=>{const{request:r}=n;if(!c.isInstance(r))return e(n);const{headers:o}=r,s=i?.userAgent?.map(ct)||[],a=(await t.defaultUserAgentProvider()).map(ct),d=t?.customUserAgent?.map(ct)||[],l=Ce(),u=(l?[l]:[]).concat([...a,...s,...d]).join(" "),h=[...a.filter(e=>e.startsWith("aws-sdk-")),...d].join(" ");return"browser"!==t.runtime?(h&&(o[st]=o[st]?`${o[ot]} ${h}`:h),o[ot]=u):o[st]=u,e({...n,request:r})}),lt)}}))}destroy(){super.destroy()}}class an extends vi{constructor(e){super(e),Object.setPrototypeOf(this,an.prototype)}}const dn={ALL:"ALL",FILTERED:"FILTERED",NONE:"NONE"},cn={DEFAULT:"DEFAULT",HIDDEN:"HIDDEN"},ln={AccessDenied:"AccessDenied",BadRequest:"BadRequest",Conflict:"Conflict",Forbidden:"Forbidden",NotFound:"NotFound",PhoneNumberAssociationsExist:"PhoneNumberAssociationsExist",PreconditionFailed:"PreconditionFailed",ResourceLimitExceeded:"ResourceLimitExceeded",ServiceFailure:"ServiceFailure",ServiceUnavailable:"ServiceUnavailable",Throttled:"Throttled",Throttling:"Throttling",Unauthorized:"Unauthorized",Unprocessable:"Unprocessable",VoiceConnectorGroupAssociationsExist:"VoiceConnectorGroupAssociationsExist"};class un extends an{constructor(e){super({name:"BadRequestException",$fault:"client",...e}),this.name="BadRequestException",this.$fault="client",Object.setPrototypeOf(this,un.prototype),this.Code=e.Code,this.Message=e.Message}}class hn extends an{constructor(e){super({name:"ConflictException",$fault:"client",...e}),this.name="ConflictException",this.$fault="client",Object.setPrototypeOf(this,hn.prototype),this.Code=e.Code,this.Message=e.Message}}class pn extends an{constructor(e){super({name:"ForbiddenException",$fault:"client",...e}),this.name="ForbiddenException",this.$fault="client",Object.setPrototypeOf(this,pn.prototype),this.Code=e.Code,this.Message=e.Message}}class fn extends an{constructor(e){super({name:"NotFoundException",$fault:"client",...e}),this.name="NotFoundException",this.$fault="client",Object.setPrototypeOf(this,fn.prototype),this.Code=e.Code,this.Message=e.Message}}class mn extends an{constructor(e){super({name:"ServiceFailureException",$fault:"server",...e}),this.name="ServiceFailureException",this.$fault="server",Object.setPrototypeOf(this,mn.prototype),this.Code=e.Code,this.Message=e.Message}}class gn extends an{constructor(e){super({name:"ServiceUnavailableException",$fault:"server",...e}),this.name="ServiceUnavailableException",this.$fault="server",Object.setPrototypeOf(this,gn.prototype),this.Code=e.Code,this.Message=e.Message}}class vn extends an{constructor(e){super({name:"ThrottledClientException",$fault:"client",...e}),this.name="ThrottledClientException",this.$fault="client",Object.setPrototypeOf(this,vn.prototype),this.Code=e.Code,this.Message=e.Message}}class bn extends an{constructor(e){super({name:"UnauthorizedClientException",$fault:"client",...e}),this.name="UnauthorizedClientException",this.$fault="client",Object.setPrototypeOf(this,bn.prototype),this.Code=e.Code,this.Message=e.Message}}class yn extends an{constructor(e){super({name:"ResourceLimitExceededException",$fault:"client",...e}),this.name="ResourceLimitExceededException",this.$fault="client",Object.setPrototypeOf(this,yn.prototype),this.Code=e.Code,this.Message=e.Message}}const Sn={CREATED_TIMESTAMP:"CREATED_TIMESTAMP",LAST_MESSAGE_TIMESTAMP:"LAST_MESSAGE_TIMESTAMP"},wn={RESTRICTED:"RESTRICTED",UNRESTRICTED:"UNRESTRICTED"},Cn={PRIVATE:"PRIVATE",PUBLIC:"PUBLIC"},kn={ASYNC:"ASYNC"},En={ABORT:"ABORT",CONTINUE:"CONTINUE"},Tn={DEFAULT:"DEFAULT",VOIP:"VOIP"},In={NON_PERSISTENT:"NON_PERSISTENT",PERSISTENT:"PERSISTENT"},xn={DENIED:"DENIED",FAILED:"FAILED",PENDING:"PENDING",SENT:"SENT"}
2,An={CONTROL:"CONTROL",STANDARD:"STANDARD"},Pn={Channel:"Channel",ChannelMessage:"ChannelMessage"},On={ASCENDING:"ASCENDING",DESCENDING:"DESCENDING"},_n={MEMBERS:"MEMBERS"},Mn={EQUALS:"EQUALS",INCLUDES:"INCLUDES"},Rn=e=>({...e,...e.Name&&{Name:si}}),Dn=e=>({...e,...e.InvitedBy&&{InvitedBy:Rn(e.InvitedBy)},...e.Members&&{Members:e.Members.map(e=>Rn(e))}}),Fn=e=>({...e,...e.BatchChannelMemberships&&{BatchChannelMemberships:Dn(e.BatchChannelMemberships)}}),Ln=e=>({...e,...e.Name&&{Name:si},...e.Metadata&&{Metadata:si},...e.CreatedBy&&{CreatedBy:Rn(e.CreatedBy)}}),Nn=e=>({...e,...e.Name&&{Name:si},...e.Metadata&&{Metadata:si}}),Bn=e=>({...e,...e.Member&&{Member:Rn(e.Member)},...e.CreatedBy&&{CreatedBy:Rn(e.CreatedBy)}}),Vn=e=>({...e,...e.Member&&{Member:Rn(e.Member)}}),Un=e=>({...e,...e.Name&&{Name:si}}),jn=e=>({...e,...e.Processors&&{Processors:e.Processors.map(e=>Un(e))},...e.Name&&{Name:si}}),zn=e=>({...e,...e.StringValues&&{StringValues:si}}),$n=e=>({...e,...e.Title&&{Title:si},...e.Body&&{Body:si}}),Hn=e=>({...e,...e.Content&&{Content:si},...e.Metadata&&{Metadata:si},...e.PushNotification&&{PushNotification:$n(e.PushNotification)},...e.MessageAttributes&&{MessageAttributes:Object.entries(e.MessageAttributes).reduce((e,[t,i])=>(e[t]=zn(i),e),{})},...e.ContentType&&{ContentType:si}}),Wn=e=>({...e,...e.ChannelMessage&&{ChannelMessage:Hn(e.ChannelMessage)}}),qn=e=>({...e,...e.Name&&{Name:si},...e.Processors&&{Processors:e.Processors.map(e=>Un(e))}}),Kn=e=>({...e,...e.InvitedBy&&{InvitedBy:Rn(e.InvitedBy)},...e.Member&&{Member:Rn(e.Member)}}),Gn=e=>({...e,...e.Name&&{Name:si},...e.Metadata&&{Metadata:si}}),Jn=e=>({...e,...e.ChannelSummary&&{ChannelSummary:Gn(e.ChannelSummary)}}),Qn=e=>({...e,...e.FilterRule&&{FilterRule:si}}),Xn=e=>({...e,...e.PushNotifications&&{PushNotifications:Qn(e.PushNotifications)}}),Zn=e=>({...e,...e.Member&&{Member:Rn(e.Member)}}),Yn=e=>({...e,...e.Content&&{Content:si},...e.Metadata&&{Metadata:si},...e.Sender&&{Sender:Rn(e.Sender)},...e.MessageAttributes&&{MessageAttributes:Object.entries(e.MessageAttributes).reduce((e,[t,i])=>(e[t]=zn(i),e),{})},...e.ContentType&&{ContentType:si}}),er=e=>({...e,...e.Content&&{Content:si},...e.Metadata&&{Metadata:si},...e.Sender&&{Sender:Rn(e.Sender)},...e.MessageAttributes&&{MessageAttributes:Object.entries(e.MessageAttributes).reduce((e,[t,i])=>(e[t]=zn(i),e),{})},...e.ContentType&&{ContentType:si}}),tr=e=>({...e,...e.ChannelSummary&&{ChannelSummary:Gn(e.ChannelSummary)}}),ir=e=>({...e,...e.Moderator&&{Moderator:Rn(e.Moderator)},...e.CreatedBy&&{CreatedBy:Rn(e.CreatedBy)}}),nr=e=>({...e,...e.Moderator&&{Moderator:Rn(e.Moderator)}}),rr=e=>({...e,...e.Key&&{Key:si},...e.Value&&{Value:si}}),or=e=>({...e,...e.Name&&{Name:si},...e.Metadata&&{Metadata:si},...e.ClientRequestToken&&{ClientRequestToken:si},...e.Tags&&{Tags:e.Tags.map(e=>rr(e))},...e.ChannelId&&{ChannelId:si}}),sr=e=>({...e,...e.Member&&{Member:Rn(e.Member)}}),ar=e=>({...e,...e.Processors&&{Processors:e.Processors.map(e=>Un(e))},...e.Name&&{Name:si},...e.Tags&&{Tags:e.Tags.map(e=>rr(e))},...e.ClientRequestToken&&{ClientRequestToken:si}}),dr=e=>({...e,...e.Member&&{Member:Rn(e.Member)}}),cr=e=>({...e,...e.ChannelModerator&&{ChannelModerator:Rn(e.ChannelModerator)}}),lr=e=>({...e,...e.Channel&&{Channel:Ln(e.Channel)}}),ur=e=>({...e,...e.ChannelBan&&{ChannelBan:Bn(e.ChannelBan)}}),hr=e=>({...e,...e.ChannelFlow&&{ChannelFlow:jn(e.ChannelFlow)}}),pr=e=>({...e,...e.ChannelMembership&&{ChannelMembership:Kn(e.ChannelMembership)}}),fr=e=>({...e,...e.ChannelMembership&&{ChannelMembership:Jn(e.ChannelMembership)}}),mr=e=>({...e,...e.Channel&&{Channel:tr(e.Channel)}}),gr=e=>({...e,...e.ChannelModerator&&{ChannelModerator:ir(e.ChannelModerator)}}),vr=e=>({...e,...e.Member&&{Member:Rn(e.Member)},...e.Preferences&&{Preferences:Xn(e.Preferences)}}),br=e=>({...e,...e.ChannelMessage&&{ChannelMessage:Yn(e.ChannelMessage)}}),yr=e=>({...e,...e.NextToken&&{NextToken:si}}),Sr=e=>({...e,...e.NextToken&&{NextToken:si},...e.ChannelBans&&{ChannelBans:e.ChannelBans.map(e=>Vn(e))}}),wr=e=>({...e,...e.NextToken&&{NextToken:si}}),Cr=e=>({...e,...e.ChannelFlows&&{ChannelFlows:e.ChannelFlows.map(e=>qn(e))},...e.NextToken&&{NextToken:si}}),kr=e=>({...e,...e.NextToken&&{NextToken:si}}),Er=e=>({...e,...e.ChannelMemberships&&{ChannelMemberships:e.ChannelMemberships.map(e=>Zn(e))},...e.NextToken&&{NextToken:si}}),Tr=e=>({...e,...e.NextToken&&{NextToken:si}}),Ir=e=>({...e,...e.ChannelMemberships&&{ChannelMemberships:e.ChannelMemberships.map(e=>Jn(e))},...e.NextToken&&{NextToken:si}}),xr=e=>({...e,...e.NextToken&&{NextToken:si}}),Ar=e=>({...e,...e.NextToken&&{NextToken:si},...e.ChannelMessages&&{ChannelMessages:e.ChannelMessages.map(e=>er(e))}}),Pr=e=>({...e,...e.NextToken&&{NextToken:si}}),Or=e=>({...e,...e.NextToken&&{NextToken:si},...e.ChannelModerators&&{ChannelModerators:e.ChannelModerators.map(e=>nr(e))}}),_r=e=>({...e,...e.NextToken&&{NextToken:si}}),Mr=e=>({...e,...e.Channels&&{Channels:e.Channels.map(e=>Gn(e))},...e.NextToken&&{NextToken:si}}),Rr=e=>({...e,...e.NextToken&&{NextToken:si}}),Dr=e=>({...e,...e.Channels&&{Channels:e.Channels.map(e=>Nn(e))},...e.NextToken&&{NextToken:si}}),Fr=e=>({...e,...e.NextToken&&{NextToken:si}}),Lr=e=>({...e,...e.Channels&&{Channels:e.Channels.map(e=>tr(e))},...e.NextToken&&{NextToken:si}}),Nr=e=>({...e,...e.NextToken&&{NextToken:si}}),Br=e=>({...e,...e.NextToken&&{NextToken:si}}),Vr=e=>({...e,...e.Tags&&{Tags:e.Tags.map(e=>rr(e))}}),Ur=e=>({...e,...e.Preferences&&{Preferences:Xn(e.Preferences)}}),jr=e=>({...e,...e.Member&&{Member:Rn(e.Member)},...e.Preferences&&{Preferences:Xn(e.Preferences)}}),zr=e=>({...e,...e.NextToken&&{NextToken:si}}),$r=e=>({...e,...e.Channels&&{Channels:e.Channels.map(e=>Gn(e))},...e.NextToken&&{NextToken:si}}),Hr=e=>({...e,...e.Content&&{Content:si},...e.Metadata&&{Metadata:si},...e.ClientRequestToken&&{ClientRequestToken:si},...e.PushNotification&&{PushNotification:$n(e.PushNotification)},...e.MessageAttributes&&{MessageAttributes:Object.entries(e.MessageAttributes).reduce((e,[t,i])=>(e[t]=zn(i),e),{})},...e.ContentType&&{ContentType:si}}),Wr=e=>({...e,...e.Tags&&{Tags:e.Tags.map(e=>rr(e))}}),qr=e=>({...e,...e.TagKeys&&{TagKeys:si}}),Kr=e=>({...e,...e.Name&&{Name:si},...e.Metadata&&{Metadata:si}}),Gr=e=>({...e,...e.Processors&&{Processors:e.Processors.map(e=>Un(e))},...e.Name&&{Name:si}}
2),Jr=e=>({...e,...e.Content&&{Content:si},...e.Metadata&&{Metadata:si},...e.ContentType&&{ContentType:si}}),Qr=(Xr=an,({output:e,parsedBody:t,errorCode:i})=>{(({output:e,parsedBody:t,exceptionCtor:i,errorCode:n})=>{const r=(e=>({httpStatusCode:e.statusCode,requestId:e.headers["x-amzn-requestid"]??e.headers["x-amzn-request-id"]??e.headers["x-amz-request-id"],extendedRequestId:e.headers["x-amz-id-2"],cfId:e.headers["x-amz-cf-id"]}))(e),o=r.httpStatusCode?r.httpStatusCode+"":void 0,s=new i({name:t?.code||t?.Code||n||o||"UnknownError",$fault:"client",$metadata:r});throw bi(s,t)})({output:e,parsedBody:t,exceptionCtor:Xr,errorCode:i})});var Xr;const Zr=async(e,t)=>{const i=wi({}),n=e.body,r=Ci(n,{Code:ui,Message:ui});Object.assign(i,r);const o=new un({$metadata:ho(e),...i});return bi(o,e.body)},Yr=async(e,t)=>{const i=wi({}),n=e.body,r=Ci(n,{Code:ui,Message:ui});Object.assign(i,r);const o=new hn({$metadata:ho(e),...i});return bi(o,e.body)},eo=async(e,t)=>{const i=wi({}),n=e.body,r=Ci(n,{Code:ui,Message:ui});Object.assign(i,r);const o=new pn({$metadata:ho(e),...i});return bi(o,e.body)},to=async(e,t)=>{const i=wi({}),n=e.body,r=Ci(n,{Code:ui,Message:ui});Object.assign(i,r);const o=new fn({$metadata:ho(e),...i});return bi(o,e.body)},io=async(e,t)=>{const i=wi({}),n=e.body,r=Ci(n,{Code:ui,Message:ui});Object.assign(i,r);const o=new yn({$metadata:ho(e),...i});return bi(o,e.body)},no=async(e,t)=>{const i=wi({}),n=e.body,r=Ci(n,{Code:ui,Message:ui});Object.assign(i,r);const o=new mn({$metadata:ho(e),...i});return bi(o,e.body)},ro=async(e,t)=>{const i=wi({}),n=e.body,r=Ci(n,{Code:ui,Message:ui});Object.assign(i,r);const o=new gn({$metadata:ho(e),...i});return bi(o,e.body)},oo=async(e,t)=>{const i=wi({}),n=e.body,r=Ci(n,{Code:ui,Message:ui});Object.assign(i,r);const o=new vn({$metadata:ho(e),...i});return bi(o,e.body)},so=async(e,t)=>{const i=wi({}),n=e.body,r=Ci(n,{Code:ui,Message:ui});Object.assign(i,r);const o=new bn({$metadata:ho(e),...i});return bi(o,e.body)},ao=(e,t)=>Ci(e,{AppInstanceUserMembershipSummary:e=>(e=>Ci(e,{ReadMarkerTimestamp:e=>ci(gi(di(e))),SubChannelId:ui,Type:ui}))(e),ChannelSummary:e=>lo(e,t)}),co=(e,t)=>Ci(e,{ChannelSummary:e=>lo(e,t)}),lo=(e,t)=>Ci(e,{ChannelArn:ui,LastMessageTimestamp:e=>ci(gi(di(e))),Metadata:ui,Mode:ui,Name:ui,Privacy:ui}),uo=(e,t)=>{const i=(e||[]).filter(e=>null!=e).map(e=>lo(e,t));return i},ho=e=>({httpStatusCode:e.statusCode,requestId:e.headers["x-amzn-requestid"]??e.headers["x-amzn-request-id"]??e.headers["x-amz-request-id"],extendedRequestId:e.headers["x-amz-id-2"],cfId:e.headers["x-amz-cf-id"]}),po=e=>!(null==e||""===e||Object.getOwnPropertyNames(e).includes("length")&&0==e.length||Object.getOwnPropertyNames(e).includes("size")&&0==e.size),fo=(e,t)=>((e,t)=>ri(e,t).then(e=>t.utf8Encoder(e)))(e,t).then(e=>e.length?JSON.parse(e):{}),mo=async(e,t)=>{const i=await fo(e,t);return i.message=i.message??i.Message,i},go=(e,t)=>{const i=e=>{let t=e;return"number"==typeof t&&(t=t.toString()),t.indexOf(",")>=0&&(t=t.split(",")[0]),t.indexOf(":")>=0&&(t=t.split(":")[0]),t.indexOf("#")>=0&&(t=t.split("#")[1]),t},n=(r=e.headers,Object.keys(r).find(e=>e.toLowerCase()==="x-amzn-errortype".toLowerCase()));var r;return void 0!==n?i(e.headers[n]):void 0!==t.code?i(t.code):void 0!==t.__type?i(t.__type):void 0};class vo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,vo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"AssociateChannelFlowCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"content-type":"application/json","x-amz-chime-bearer":e.ChimeBearer});let a,d=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/channel-flow`;return d=Ai(d,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),a=JSON.stringify(Ci(e,{ChannelFlowArn:[]})),new c({protocol:n,hostname:i,port:r,method:"PUT",headers:s,path:d,body:a})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ConflictException":case"com.amazonaws.chimesdkmessaging#ConflictException":throw await Yr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"NotFoundException":case"com.amazonaws.chimesdkmessaging#NotFoundException":throw await to(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)});return await ri(e.body,t),i})(e,t)}}
2class bo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,bo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"BatchCreateChannelMembershipCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:Fn},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"content-type":"application/json","x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/memberships`;a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1);const d=wi({operation:[,"batch-create"]});let l;return l=JSON.stringify(Ci(e,{MemberArns:e=>Pi(e),SubChannelId:[],Type:[]})),new c({protocol:n,hostname:i,port:r,method:"POST",headers:s,path:a,query:d,body:l})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"NotFoundException":case"com.amazonaws.chimesdkmessaging#NotFoundException":throw await to(i,t);case"ResourceLimitExceededException":case"com.amazonaws.chimesdkmessaging#ResourceLimitExceededException":throw await io(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{BatchChannelMemberships:Pi,Errors:Pi});return Object.assign(i,r),i})(e,t)}}class yo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,yo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"ChannelFlowCallbackCommand",inputFilterSensitiveLog:Wn,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint();let s=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}`;s=Ai(s,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1);const a=wi({operation:[,"channel-flow-callback"]});let d;return d=JSON.stringify(Ci(e,{CallbackId:[!0,e=>e??(0,Vt.A)()],ChannelMessage:e=>Pi(e),DeleteResource:[]})),new c({protocol:n,hostname:i,port:r,method:"POST",headers:{"content-type":"application/json"},path:s,query:a,body:d})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ConflictException":case"com.amazonaws.chimesdkmessaging#ConflictException":throw await Yr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{CallbackId:ui,ChannelArn:ui});return Object.assign(i,r),i})(e,t)}}
2class So extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,So.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"CreateChannelBanCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:sr},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"content-type":"application/json","x-amz-chime-bearer":e.ChimeBearer});let a,d=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/bans`;return d=Ai(d,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),a=JSON.stringify(Ci(e,{MemberArn:[]})),new c({protocol:n,hostname:i,port:r,method:"POST",headers:s,path:d,body:a})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(201!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ConflictException":case"com.amazonaws.chimesdkmessaging#ConflictException":throw await Yr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ResourceLimitExceededException":case"com.amazonaws.chimesdkmessaging#ResourceLimitExceededException":throw await io(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelArn:ui,Member:Pi});return Object.assign(i,r),i})(e,t)}}class wo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,wo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"CreateChannelCommand",inputFilterSensitiveLog:or,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"content-type":"application/json","x-amz-chime-bearer":e.ChimeBearer}),a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels`;let d;return d=JSON.stringify(Ci(e,{AppInstanceArn:[],ChannelId:[],ClientRequestToken:[!0,e=>e??(0,Vt.A)()],ElasticChannelConfiguration:e=>Pi(e),ExpirationSettings:e=>Pi(e),MemberArns:e=>Pi(e),Metadata:[],Mode:[],ModeratorArns:e=>Pi(e),Name:[],Privacy:[],Tags:e=>Pi(e)})),new c({protocol:n,hostname:i,port:r,method:"POST",headers:s,path:a,body:d})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(201!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ConflictException":case"com.amazonaws.chimesdkmessaging#ConflictException":throw await Yr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ResourceLimitExceededException":case"com.amazonaws.chimesdkmessaging#ResourceLimitExceededException":throw await io(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelArn:ui});return Object.assign(i,r),i})(e,t)}}
2class Co extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Co.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"CreateChannelFlowCommand",inputFilterSensitiveLog:ar,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channel-flows`;let a;return a=JSON.stringify(Ci(e,{AppInstanceArn:[],ClientRequestToken:[!0,e=>e??(0,Vt.A)()],Name:[],Processors:e=>Pi(e),Tags:e=>Pi(e)})),new c({protocol:n,hostname:i,port:r,method:"POST",headers:{"content-type":"application/json"},path:s,body:a})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(201!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ConflictException":case"com.amazonaws.chimesdkmessaging#ConflictException":throw await Yr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ResourceLimitExceededException":case"com.amazonaws.chimesdkmessaging#ResourceLimitExceededException":throw await io(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelFlowArn:ui});return Object.assign(i,r),i})(e,t)}}class ko extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,ko.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"CreateChannelMembershipCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:dr},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"content-type":"application/json","x-amz-chime-bearer":e.ChimeBearer});let a,d=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/memberships`;return d=Ai(d,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),a=JSON.stringify(Ci(e,{MemberArn:[],SubChannelId:[],Type:[]})),new c({protocol:n,hostname:i,port:r,method:"POST",headers:s,path:d,body:a})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(201!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ConflictException":case"com.amazonaws.chimesdkmessaging#ConflictException":throw await Yr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"NotFoundException":case"com.amazonaws.chimesdkmessaging#NotFoundException":throw await to(i,t);case"ResourceLimitExceededException":case"com.amazonaws.chimesdkmessaging#ResourceLimitExceededException":throw await io(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelArn:ui,Member:Pi,SubChannelId:ui});return Object.assign(i,r),i})(e,t)}}
2class Eo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Eo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"CreateChannelModeratorCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:cr},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"content-type":"application/json","x-amz-chime-bearer":e.ChimeBearer});let a,d=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/moderators`;return d=Ai(d,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),a=JSON.stringify(Ci(e,{ChannelModeratorArn:[]})),new c({protocol:n,hostname:i,port:r,method:"POST",headers:s,path:d,body:a})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(201!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ConflictException":case"com.amazonaws.chimesdkmessaging#ConflictException":throw await Yr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ResourceLimitExceededException":case"com.amazonaws.chimesdkmessaging#ResourceLimitExceededException":throw await io(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelArn:ui,ChannelModerator:Pi});return Object.assign(i,r),i})(e,t)}}class To extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,To.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"DeleteChannelBanCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/bans/{MemberArn}`;return a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),a=Ai(a,e,"MemberArn",()=>e.MemberArn,"{MemberArn}",!1),new c({protocol:n,hostname:i,port:r,method:"DELETE",headers:s,path:a,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(204!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)});return await ri(e.body,t),i})(e,t)}}
2class Io extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Io.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"DeleteChannelCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}`;return a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),new c({protocol:n,hostname:i,port:r,method:"DELETE",headers:s,path:a,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(204!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ConflictException":case"com.amazonaws.chimesdkmessaging#ConflictException":throw await Yr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)});return await ri(e.body,t),i})(e,t)}}class xo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,xo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"DeleteChannelFlowCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint();let s=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channel-flows/{ChannelFlowArn}`;return s=Ai(s,e,"ChannelFlowArn",()=>e.ChannelFlowArn,"{ChannelFlowArn}",!1),new c({protocol:n,hostname:i,port:r,method:"DELETE",headers:{},path:s,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(204!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ConflictException":case"com.amazonaws.chimesdkmessaging#ConflictException":throw await Yr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)});return await ri(e.body,t),i})(e,t)}}
2class Ao extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Ao.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"DeleteChannelMembershipCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/memberships/{MemberArn}`;a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),a=Ai(a,e,"MemberArn",()=>e.MemberArn,"{MemberArn}",!1);const d=wi({"sub-channel-id":[,e.SubChannelId]});return new c({protocol:n,hostname:i,port:r,method:"DELETE",headers:s,path:a,query:d,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(204!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ConflictException":case"com.amazonaws.chimesdkmessaging#ConflictException":throw await Yr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)});return await ri(e.body,t),i})(e,t)}}class Po extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Po.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"DeleteChannelMessageCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/messages/{MessageId}`;a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),a=Ai(a,e,"MessageId",()=>e.MessageId,"{MessageId}",!1);const d=wi({"sub-channel-id":[,e.SubChannelId]});return new c({protocol:n,hostname:i,port:r,method:"DELETE",headers:s,path:a,query:d,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(204!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)});return await ri(e.body,t),i})(e,t)}}
2class Oo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Oo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"DeleteChannelModeratorCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/moderators/{ChannelModeratorArn}`;return a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),a=Ai(a,e,"ChannelModeratorArn",()=>e.ChannelModeratorArn,"{ChannelModeratorArn}",!1),new c({protocol:n,hostname:i,port:r,method:"DELETE",headers:s,path:a,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(204!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)});return await ri(e.body,t),i})(e,t)}}class _o extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,_o.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"DeleteMessagingStreamingConfigurationsCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint();let s=`${o?.endsWith("/")?o.slice(0,-1):o||""}/app-instances/{AppInstanceArn}/streaming-configurations`;return s=Ai(s,e,"AppInstanceArn",()=>e.AppInstanceArn,"{AppInstanceArn}",!1),new c({protocol:n,hostname:i,port:r,method:"DELETE",headers:{},path:s,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(204!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)});return await ri(e.body,t),i})(e,t)}}
2class Mo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Mo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"DescribeChannelBanCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:ur},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/bans/{MemberArn}`;return a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),a=Ai(a,e,"MemberArn",()=>e.MemberArn,"{MemberArn}",!1),new c({protocol:n,hostname:i,port:r,method:"GET",headers:s,path:a,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"NotFoundException":case"com.amazonaws.chimesdkmessaging#NotFoundException":throw await to(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelBan:e=>(e=>Ci(e,{ChannelArn:ui,CreatedBy:Pi,CreatedTimestamp:e=>ci(gi(di(e))),Member:Pi}))(e)});return Object.assign(i,r),i})(e,t)}}class Ro extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Ro.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"DescribeChannelCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:lr},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}`;return a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),new c({protocol:n,hostname:i,port:r,method:"GET",headers:s,path:a,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{Channel:e=>(e=>Ci(e,{ChannelArn:ui,ChannelFlowArn:ui,CreatedBy:Pi,CreatedTimestamp:e=>ci(gi(di(e))),ElasticChannelConfiguration:Pi,ExpirationSettings:Pi,LastMessageTimestamp:e=>ci(gi(di(e))),LastUpdatedTimestamp:e=>ci(gi(di(e))),Metadata:ui,Mode:ui,Name:ui,Privacy:ui}))(e)});return Object.assign(i,r),i})(e,t)}}
2class Do extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Do.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"DescribeChannelFlowCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:hr},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint();let s=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channel-flows/{ChannelFlowArn}`;return s=Ai(s,e,"ChannelFlowArn",()=>e.ChannelFlowArn,"{ChannelFlowArn}",!1),new c({protocol:n,hostname:i,port:r,method:"GET",headers:{},path:s,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelFlow:e=>(e=>Ci(e,{ChannelFlowArn:ui,CreatedTimestamp:e=>ci(gi(di(e))),LastUpdatedTimestamp:e=>ci(gi(di(e))),Name:ui,Processors:Pi}))(e)});return Object.assign(i,r),i})(e,t)}}class Fo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Fo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"DescribeChannelMembershipCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:pr},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/memberships/{MemberArn}`;a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),a=Ai(a,e,"MemberArn",()=>e.MemberArn,"{MemberArn}",!1);const d=wi({"sub-channel-id":[,e.SubChannelId]});return new c({protocol:n,hostname:i,port:r,method:"GET",headers:s,path:a,query:d,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"NotFoundException":case"com.amazonaws.chimesdkmessaging#NotFoundException":throw await to(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelMembership:e=>(e=>Ci(e,{ChannelArn:ui,CreatedTimestamp:e=>ci(gi(di(e))),InvitedBy:Pi,LastUpdatedTimestamp:e=>ci(gi(di(e))),Member:Pi,SubChannelId:ui,Type:ui}))(e)});return Object.assign(i,r),i})(e,t)}}
2class Lo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Lo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"DescribeChannelMembershipForAppInstanceUserCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:fr},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}`;a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1);const d=wi({scope:[,"app-instance-user-membership"],"app-instance-user-arn":[,ci(e.AppInstanceUserArn,"AppInstanceUserArn")]});return new c({protocol:n,hostname:i,port:r,method:"GET",headers:s,path:a,query:d,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelMembership:e=>ao(e,t)});return Object.assign(i,r),i})(e,t)}}class No extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,No.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"DescribeChannelModeratedByAppInstanceUserCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:mr},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}`;a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1);const d=wi({scope:[,"app-instance-user-moderated-channel"],"app-instance-user-arn":[,ci(e.AppInstanceUserArn,"AppInstanceUserArn")]});return new c({protocol:n,hostname:i,port:r,method:"GET",headers:s,path:a,query:d,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{Channel:e=>co(e,t)});return Object.assign(i,r),i})(e,t)}}
2class Bo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Bo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"DescribeChannelModeratorCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:gr},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/moderators/{ChannelModeratorArn}`;return a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),a=Ai(a,e,"ChannelModeratorArn",()=>e.ChannelModeratorArn,"{ChannelModeratorArn}",!1),new c({protocol:n,hostname:i,port:r,method:"GET",headers:s,path:a,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"NotFoundException":case"com.amazonaws.chimesdkmessaging#NotFoundException":throw await to(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelModerator:e=>(e=>Ci(e,{ChannelArn:ui,CreatedBy:Pi,CreatedTimestamp:e=>ci(gi(di(e))),Moderator:Pi}))(e)});return Object.assign(i,r),i})(e,t)}}class Vo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Vo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"DisassociateChannelFlowCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/channel-flow/{ChannelFlowArn}`;return a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),a=Ai(a,e,"ChannelFlowArn",()=>e.ChannelFlowArn,"{ChannelFlowArn}",!1),new c({protocol:n,hostname:i,port:r,method:"DELETE",headers:s,path:a,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(204!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ConflictException":case"com.amazonaws.chimesdkmessaging#ConflictException":throw await Yr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"NotFoundException":case"com.amazonaws.chimesdkmessaging#NotFoundException":throw await to(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)});return await ri(e.body,t),i})(e,t)}}
2class Uo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Uo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"GetChannelMembershipPreferencesCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:vr},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/memberships/{MemberArn}/preferences`;return a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),a=Ai(a,e,"MemberArn",()=>e.MemberArn,"{MemberArn}",!1),new c({protocol:n,hostname:i,port:r,method:"GET",headers:s,path:a,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelArn:ui,Member:Pi,Preferences:Pi});return Object.assign(i,r),i})(e,t)}}class jo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,jo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"GetChannelMessageCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:br},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/messages/{MessageId}`;a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),a=Ai(a,e,"MessageId",()=>e.MessageId,"{MessageId}",!1);const d=wi({"sub-channel-id":[,e.SubChannelId]});return new c({protocol:n,hostname:i,port:r,method:"GET",headers:s,path:a,query:d,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"NotFoundException":case"com.amazonaws.chimesdkmessaging#NotFoundException":throw await to(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelMessage:e=>(e=>Ci(e,{ChannelArn:ui,Content:ui,ContentType:ui,CreatedTimestamp:e=>ci(gi(di(e))),LastEditedTimestamp:e=>ci(gi(di(e))),LastUpdatedTimestamp:e=>ci(gi(di(e))),MessageAttributes:Pi,MessageId:ui,Metadata:ui,Persistence:ui,Redacted:ai,Sender:Pi,Status:Pi,SubChannelId:ui,Target:Pi,Type:ui}))(e)});return Object.assign(i,r),i})(e,t)}}
2class zo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,zo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"GetChannelMessageStatusCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/messages/{MessageId}`;a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),a=Ai(a,e,"MessageId",()=>e.MessageId,"{MessageId}",!1);const d=wi({scope:[,"message-status"],"sub-channel-id":[,e.SubChannelId]});return new c({protocol:n,hostname:i,port:r,method:"GET",headers:s,path:a,query:d,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{Status:Pi});return Object.assign(i,r),i})(e,t)}}class $o extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,$o.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"GetMessagingSessionEndpointCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=`${o?.endsWith("/")?o.slice(0,-1):o||""}/endpoints/messaging-session`;let a;return a="",new c({protocol:n,hostname:i,port:r,method:"GET",headers:{"content-type":"application/json"},path:s,body:""})})(0,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{Endpoint:Pi});return Object.assign(i,r),i})(e,t)}}
2class Ho extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Ho.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"GetMessagingStreamingConfigurationsCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint();let s=`${o?.endsWith("/")?o.slice(0,-1):o||""}/app-instances/{AppInstanceArn}/streaming-configurations`;return s=Ai(s,e,"AppInstanceArn",()=>e.AppInstanceArn,"{AppInstanceArn}",!1),new c({protocol:n,hostname:i,port:r,method:"GET",headers:{},path:s,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"NotFoundException":case"com.amazonaws.chimesdkmessaging#NotFoundException":throw await to(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{StreamingConfigurations:Pi});return Object.assign(i,r),i})(e,t)}}class Wo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Wo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"ListChannelBansCommand",inputFilterSensitiveLog:yr,outputFilterSensitiveLog:Sr},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/bans`;a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1);const d=wi({"max-results":[()=>void 0!==e.MaxResults,()=>e.MaxResults.toString()],"next-token":[,e.NextToken]});return new c({protocol:n,hostname:i,port:r,method:"GET",headers:s,path:a,query:d,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelArn:ui,ChannelBans:Pi,NextToken:ui});return Object.assign(i,r),i})(e,t)}}
2class qo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,qo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"ListChannelFlowsCommand",inputFilterSensitiveLog:wr,outputFilterSensitiveLog:Cr},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channel-flows`,a=wi({"app-instance-arn":[,ci(e.AppInstanceArn,"AppInstanceArn")],"max-results":[()=>void 0!==e.MaxResults,()=>e.MaxResults.toString()],"next-token":[,e.NextToken]});return new c({protocol:n,hostname:i,port:r,method:"GET",headers:{},path:s,query:a,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelFlows:Pi,NextToken:ui});return Object.assign(i,r),i})(e,t)}}class Ko extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Ko.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"ListChannelMembershipsCommand",inputFilterSensitiveLog:kr,outputFilterSensitiveLog:Er},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/memberships`;a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1);const d=wi({type:[,e.Type],"max-results":[()=>void 0!==e.MaxResults,()=>e.MaxResults.toString()],"next-token":[,e.NextToken],"sub-channel-id":[,e.SubChannelId]});return new c({protocol:n,hostname:i,port:r,method:"GET",headers:s,path:a,query:d,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelArn:ui,ChannelMemberships:Pi,NextToken:ui});return Object.assign(i,r),i})(e,t)}}
2class Go extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Go.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"ListChannelMembershipsForAppInstanceUserCommand",inputFilterSensitiveLog:Tr,outputFilterSensitiveLog:Ir},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer}),a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels`,d=wi({scope:[,"app-instance-user-memberships"],"app-instance-user-arn":[,e.AppInstanceUserArn],"max-results":[()=>void 0!==e.MaxResults,()=>e.MaxResults.toString()],"next-token":[,e.NextToken]});return new c({protocol:n,hostname:i,port:r,method:"GET",headers:s,path:a,query:d,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelMemberships:e=>((e,t)=>{const i=(e||[]).filter(e=>null!=e).map(e=>ao(e,t));return i})(e,t),NextToken:ui});return Object.assign(i,r),i})(e,t)}}class Jo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Jo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"ListChannelMessagesCommand",inputFilterSensitiveLog:xr,outputFilterSensitiveLog:Ar},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/messages`;a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1);const d=wi({"sort-order":[,e.SortOrder],"not-before":[()=>void 0!==e.NotBefore,()=>(e.NotBefore.toISOString().split(".")[0]+"Z").toString()],"not-after":[()=>void 0!==e.NotAfter,()=>(e.NotAfter.toISOString().split(".")[0]+"Z").toString()],"max-results":[()=>void 0!==e.MaxResults,()=>e.MaxResults.toString()],"next-token":[,e.NextToken],"sub-channel-id":[,e.SubChannelId]});return new c({protocol:n,hostname:i,port:r,method:"GET",headers:s,path:a,query:d,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelArn:ui,ChannelMessages:e=>(e=>{const t=(e||[]).filter(e=>null!=e).map(e=>(e=>Ci(e,{Content:ui,ContentType:ui,CreatedTimestamp:e=>ci(gi(di(e))),LastEditedTimestamp:e=>ci(gi(di(e))),LastUpdatedTimestamp:e=>ci(gi(di(e))),MessageAttributes:Pi,MessageId:ui,Metadata:ui,Redacted:ai,Sender:Pi,Status:Pi,Target:Pi,Type:ui}))(e));return t})(e),NextToken:ui,SubChannelId:ui});return Object.assign(i,r),i})(e,t)}}
2class Qo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Qo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"ListChannelModeratorsCommand",inputFilterSensitiveLog:Pr,outputFilterSensitiveLog:Or},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/moderators`;a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1);const d=wi({"max-results":[()=>void 0!==e.MaxResults,()=>e.MaxResults.toString()],"next-token":[,e.NextToken]});return new c({protocol:n,hostname:i,port:r,method:"GET",headers:s,path:a,query:d,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelArn:ui,ChannelModerators:Pi,NextToken:ui});return Object.assign(i,r),i})(e,t)}}class Xo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Xo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"ListChannelsAssociatedWithChannelFlowCommand",inputFilterSensitiveLog:Rr,outputFilterSensitiveLog:Dr},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels`,a=wi({scope:[,"channel-flow-associations"],"channel-flow-arn":[,ci(e.ChannelFlowArn,"ChannelFlowArn")],"max-results":[()=>void 0!==e.MaxResults,()=>e.MaxResults.toString()],"next-token":[,e.NextToken]});return new c({protocol:n,hostname:i,port:r,method:"GET",headers:{},path:s,query:a,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{Channels:Pi,NextToken:ui});return Object.assign(i,r),i})(e,t)}}
2class Zo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Zo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"ListChannelsCommand",inputFilterSensitiveLog:_r,outputFilterSensitiveLog:Mr},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer}),a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels`,d=wi({"app-instance-arn":[,ci(e.AppInstanceArn,"AppInstanceArn")],privacy:[,e.Privacy],"max-results":[()=>void 0!==e.MaxResults,()=>e.MaxResults.toString()],"next-token":[,e.NextToken]});return new c({protocol:n,hostname:i,port:r,method:"GET",headers:s,path:a,query:d,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{Channels:e=>uo(e,t),NextToken:ui});return Object.assign(i,r),i})(e,t)}}class Yo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Yo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"ListChannelsModeratedByAppInstanceUserCommand",inputFilterSensitiveLog:Fr,outputFilterSensitiveLog:Lr},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer}),a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels`,d=wi({scope:[,"app-instance-user-moderated-channels"],"app-instance-user-arn":[,e.AppInstanceUserArn],"max-results":[()=>void 0!==e.MaxResults,()=>e.MaxResults.toString()],"next-token":[,e.NextToken]});return new c({protocol:n,hostname:i,port:r,method:"GET",headers:s,path:a,query:d,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{Channels:e=>((e,t)=>{const i=(e||[]).filter(e=>null!=e).map(e=>co(e,t));return i})(e,t),NextToken:ui});return Object.assign(i,r),i})(e,t)}}
2class es extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,es.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"ListSubChannelsCommand",inputFilterSensitiveLog:Nr,outputFilterSensitiveLog:Br},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/subchannels`;a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1);const d=wi({"max-results":[()=>void 0!==e.MaxResults,()=>e.MaxResults.toString()],"next-token":[,e.NextToken]});return new c({protocol:n,hostname:i,port:r,method:"GET",headers:s,path:a,query:d,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelArn:ui,NextToken:ui,SubChannels:Pi});return Object.assign(i,r),i})(e,t)}}class ts extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,ts.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"ListTagsForResourceCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:Vr},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=`${o?.endsWith("/")?o.slice(0,-1):o||""}/tags`,a=wi({arn:[,ci(e.ResourceARN,"ResourceARN")]});return new c({protocol:n,hostname:i,port:r,method:"GET",headers:{},path:s,query:a,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{Tags:Pi});return Object.assign(i,r),i})(e,t)}}
2class is extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,is.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"PutChannelExpirationSettingsCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"content-type":"application/json","x-amz-chime-bearer":e.ChimeBearer});let a,d=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/expiration-settings`;return d=Ai(d,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),a=JSON.stringify(Ci(e,{ExpirationSettings:e=>Pi(e)})),new c({protocol:n,hostname:i,port:r,method:"PUT",headers:s,path:d,body:a})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ConflictException":case"com.amazonaws.chimesdkmessaging#ConflictException":throw await Yr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelArn:ui,ExpirationSettings:Pi});return Object.assign(i,r),i})(e,t)}}class ns extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,ns.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"PutChannelMembershipPreferencesCommand",inputFilterSensitiveLog:Ur,outputFilterSensitiveLog:jr},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"content-type":"application/json","x-amz-chime-bearer":e.ChimeBearer});let a,d=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/memberships/{MemberArn}/preferences`;return d=Ai(d,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),d=Ai(d,e,"MemberArn",()=>e.MemberArn,"{MemberArn}",!1),a=JSON.stringify(Ci(e,{Preferences:e=>Pi(e)})),new c({protocol:n,hostname:i,port:r,method:"PUT",headers:s,path:d,body:a})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ConflictException":case"com.amazonaws.chimesdkmessaging#ConflictException":throw await Yr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelArn:ui,Member:Pi,Preferences:Pi});return Object.assign(i,r),i})(e,t)}}
2class rs extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,rs.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"PutMessagingStreamingConfigurationsCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint();let s,a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/app-instances/{AppInstanceArn}/streaming-configurations`;return a=Ai(a,e,"AppInstanceArn",()=>e.AppInstanceArn,"{AppInstanceArn}",!1),s=JSON.stringify(Ci(e,{StreamingConfigurations:e=>Pi(e)})),new c({protocol:n,hostname:i,port:r,method:"PUT",headers:{"content-type":"application/json"},path:a,body:s})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ConflictException":case"com.amazonaws.chimesdkmessaging#ConflictException":throw await Yr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"NotFoundException":case"com.amazonaws.chimesdkmessaging#NotFoundException":throw await to(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{StreamingConfigurations:Pi});return Object.assign(i,r),i})(e,t)}}class os extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,os.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"RedactChannelMessageCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"content-type":"application/json","x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/messages/{MessageId}`;a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),a=Ai(a,e,"MessageId",()=>e.MessageId,"{MessageId}",!1);const d=wi({operation:[,"redact"]});let l;return l=JSON.stringify(Ci(e,{SubChannelId:[]})),new c({protocol:n,hostname:i,port:r,method:"POST",headers:s,path:a,query:d,body:l})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ConflictException":case"com.amazonaws.chimesdkmessaging#ConflictException":throw await Yr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelArn:ui,MessageId:ui,SubChannelId:ui});return Object.assign(i,r),i})(e,t)}}
2class ss extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,ss.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"SearchChannelsCommand",inputFilterSensitiveLog:zr,outputFilterSensitiveLog:$r},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"content-type":"application/json","x-amz-chime-bearer":e.ChimeBearer}),a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels`,d=wi({operation:[,"search"],"max-results":[()=>void 0!==e.MaxResults,()=>e.MaxResults.toString()],"next-token":[,e.NextToken]});let l;return l=JSON.stringify(Ci(e,{Fields:e=>Pi(e)})),new c({protocol:n,hostname:i,port:r,method:"POST",headers:s,path:a,query:d,body:l})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{Channels:e=>uo(e,t),NextToken:ui});return Object.assign(i,r),i})(e,t)}}class as extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,as.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"SendChannelMessageCommand",inputFilterSensitiveLog:Hr,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"content-type":"application/json","x-amz-chime-bearer":e.ChimeBearer});let a,d=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/messages`;return d=Ai(d,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),a=JSON.stringify(Ci(e,{ClientRequestToken:[!0,e=>e??(0,Vt.A)()],Content:[],ContentType:[],MessageAttributes:e=>Pi(e),Metadata:[],Persistence:[],PushNotification:e=>Pi(e),SubChannelId:[],Target:e=>Pi(e),Type:[]})),new c({protocol:n,hostname:i,port:r,method:"POST",headers:s,path:d,body:a})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(201!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ConflictException":case"com.amazonaws.chimesdkmessaging#ConflictException":throw await Yr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelArn:ui,MessageId:ui,Status:Pi,SubChannelId:ui});return Object.assign(i,r),i})(e,t)}}
2class ds extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,ds.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"TagResourceCommand",inputFilterSensitiveLog:Wr,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=`${o?.endsWith("/")?o.slice(0,-1):o||""}/tags`,a=wi({operation:[,"tag-resource"]});let d;return d=JSON.stringify(Ci(e,{ResourceARN:[],Tags:e=>Pi(e)})),new c({protocol:n,hostname:i,port:r,method:"POST",headers:{"content-type":"application/json"},path:s,query:a,body:d})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(204!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ResourceLimitExceededException":case"com.amazonaws.chimesdkmessaging#ResourceLimitExceededException":throw await io(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)});return await ri(e.body,t),i})(e,t)}}class cs extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,cs.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"UntagResourceCommand",inputFilterSensitiveLog:qr,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=`${o?.endsWith("/")?o.slice(0,-1):o||""}/tags`,a=wi({operation:[,"untag-resource"]});let d;return d=JSON.stringify(Ci(e,{ResourceARN:[],TagKeys:e=>Pi(e)})),new c({protocol:n,hostname:i,port:r,method:"POST",headers:{"content-type":"application/json"},path:s,query:a,body:d})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(204!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)});return await ri(e.body,t),i})(e,t)}}
2class ls extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,ls.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"UpdateChannelCommand",inputFilterSensitiveLog:Kr,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"content-type":"application/json","x-amz-chime-bearer":e.ChimeBearer});let a,d=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}`;return d=Ai(d,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),a=JSON.stringify(Ci(e,{Metadata:[],Mode:[],Name:[]})),new c({protocol:n,hostname:i,port:r,method:"PUT",headers:s,path:d,body:a})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ConflictException":case"com.amazonaws.chimesdkmessaging#ConflictException":throw await Yr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelArn:ui});return Object.assign(i,r),i})(e,t)}}class us extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,us.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"Update
2ChannelFlowCommand",inputFilterSensitiveLog:Gr,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint();let s,a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channel-flows/{ChannelFlowArn}`;return a=Ai(a,e,"ChannelFlowArn",()=>e.ChannelFlowArn,"{ChannelFlowArn}",!1),s=JSON.stringify(Ci(e,{Name:[],Processors:e=>Pi(e)})),new c({protocol:n,hostname:i,port:r,method:"PUT",headers:{"content-type":"application/json"},path:a,body:s})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ConflictException":case"com.amazonaws.chimesdkmessaging#ConflictException":throw await Yr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelFlowArn:ui});return Object.assign(i,r),i})(e,t)}}class hs extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,hs.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"Update
2ChannelMessageCommand",inputFilterSensitiveLog:Jr,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"content-type":"application/json","x-amz-chime-bearer":e.ChimeBearer});let a,d=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/messages/{MessageId}`;return d=Ai(d,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),d=Ai(d,e,"MessageId",()=>e.MessageId,"{MessageId}",!1),a=JSON.stringify(Ci(e,{Content:[],ContentType:[],Metadata:[],SubChannelId:[]})),new c({protocol:n,hostname:i,port:r,method:"PUT",headers:s,path:d,body:a})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ConflictException":case"com.amazonaws.chimesdkmessaging#ConflictException":throw await Yr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelArn:ui,MessageId:ui,Status:Pi,SubChannelId:ui});return Object.assign(i,r),i})(e,t)}}class ps extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,ps.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"Update
2ChannelReadMarkerCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/readMarker`;return a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),new c({protocol:n,hostname:i,port:r,method:"PUT",headers:s,path:a,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ConflictException":case"com.amazonaws.chimesdkmessaging#ConflictException":throw await Yr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelArn:ui});return Object.assign(i,r),i})(e,t)}}const fs={AssociateChannelFlowCommand:vo,BatchCreateChannelMembershipCommand:bo,ChannelFlowCallbackCommand:yo,CreateChannelCommand:wo,CreateChannelBanCommand:So,CreateChannelFlowCommand:Co,CreateChannelMembershipCommand:ko,CreateChannelModeratorCommand:Eo,DeleteChannelCommand:Io,DeleteChannelBanCommand:To,DeleteChannelFlowCommand:xo,DeleteChannelMembershipCommand:Ao,DeleteChannelMessageCommand:Po,DeleteChannelModeratorCommand:Oo,DeleteMessagingStreamingConfigurationsCommand:_o,DescribeChannelCommand:Ro,DescribeChannelBanCommand:Mo,DescribeChannelFlowCommand:Do,DescribeChannelMembershipCommand:Fo,DescribeChannelMembershipForAppInstanceUserCommand:Lo,DescribeChannelModeratedByAppInstanceUserCommand:No,DescribeChannelModeratorCommand:Bo,DisassociateChannelFlowCommand:Vo,GetChannelMembershipPreferencesCommand:Uo,GetChannelMessageCommand:jo,GetChannelMessageStatusCommand:zo,GetMessagingSessionEndpointCommand:$o,GetMessagingStreamingConfigurationsCommand:Ho,ListChannelBansCommand:Wo,ListChannelFlowsCommand:qo,ListChannelMembershipsCommand:Ko,ListChannelMembershipsForAppInstanceUserCommand:Go,ListChannelMessagesCommand:Jo,ListChannelModeratorsCommand:Qo,ListChannelsCommand:Zo,ListChannelsAssociatedWithChannelFlowCommand:Xo,ListChannelsModeratedByAppInstanceUserCommand:Yo,ListSubChannelsCommand:es,ListTagsForResourceCommand:ts,PutChannelExpirationSettingsCommand:is,PutChannelMembershipPreferencesCommand:ns,PutMessagingStreamingConfigurationsCommand:rs,RedactChannelMessageCommand:os,SearchChannelsCommand:ss,SendChannelMessageCommand:as,TagResourceCommand:ds,UntagResourceCommand:cs,UpdateChannelCommand:ls,UpdateChannelFlowCommand:us,UpdateChannelMessageCommand:hs,UpdateChannelReadMarkerCommand:ps};class ms extends sn{}((e,t)=>{for(const i of Object.keys(e)){const n=e[i],r=async function(e,t,i){const r=new n(e);if("function"==typeof t)this.send(r,t);else{if("function"!=typeof i)return this.send(r,t);if("object"!=typeof t)throw new Error("Expected http options but got "+typeof t);this.send(r,t||{},i)}},o=(i[0].toLowerCase()+i.slice(1)).replace(/Command$/,"");t.prototype[o]=r}})(fs,ms);const gs=async(e,t,...i)=>await e.send(new Wo(t),...i);async function*vs(e,t,...i){let n,r=e.startingToken||void 0,o=!0;for(;o;){if(t.NextToken=r,t.MaxResults=e.pageSize,!(e.client instanceof sn))throw new Error("Invalid client, expected ChimeSDKMessaging | ChimeSDKMessagingClient");n=await gs(e.client,t,...i),yield n;const s=r;r=n.NextToken,o=!(!r||e.stopOnSameToken&&r===s)}}const bs=async(e,t,...i)=>await e.send(new qo(t),...i);async function*ys(e,t,...i){let n,r=e.startingToken||void 0,o=!0;for(;o;){if(t.NextToken=r,t.MaxResults=e.pageSize,!(e.client instanceof sn))throw new Error("Invalid client, expected ChimeSDKMessaging | ChimeSDKMessagingClient");n=await bs(e.client,t,...i),yield n;const s=r;r=n.NextToken,o=!(!r||e.stopOnSameToken&&r===s)}}const Ss=async(e,t,...i)=>await e.send(new Go(t),...i);async function*ws(e,t,...i){let n,r=e.startingToken||void 0,o=!0;for(;o;){if(t.NextToken=r,t.MaxResults=e.pageSize,!(e.client instanceof sn))throw new Error("Invalid client, expected ChimeSDKMessaging | ChimeSDKMessagingClient");n=await Ss(e.client,t,...i),yield n;const s=r;r=n.NextToken,o=!(!r||e.stopOnSameToken&&r===s)}}const Cs=async(e,t,...i)=>await e.send(new Ko(t),...i);async function*ks(e,t,...i){let n,r=e.startingToken||void 0,o=!0;for(;o;){if(t.NextToken=r,t.MaxResults=e.pageSize,!(e.client instanceof sn))throw new Error("Invalid client, expected ChimeSDKMessaging | ChimeSDKMessagingClient");n=await Cs(e.client,t,...i),yield n;const s=r;r=n.NextToken,o=!(!r||e.stopOnSameToken&&r===s)}}const Es=async(e,t,...i)=>await e.send(new Jo(t),...i);async function*Ts(e,t,...i){let n,r=e.startingToken||void 0,o=!0;for(;o;){if(t.NextToken=r,t.MaxResults=e.pageSize,!(e.client instanceof sn))throw new Error("Invalid client, expected ChimeSDKMessaging | ChimeSDKMessagingClient");n=await Es(e.client,t,...i),yield n;const s=r;r=n.NextToken,o=!(!r||e.stopOnSameToken&&r===s)}}const Is=async(e,t,...i)=>await e.send(new Qo(t),...i);async function*xs(e,t,...i){let n,r=e.startingToken||void 0,o=!0;for(;o;){if(t.NextToken=r,t.MaxResults=e.pageSize,!(e.client instanceof sn))throw new Error("Invalid client, expected ChimeSDKMessaging | ChimeSDKMessagingClient");n=await Is(e.client,t,...i),yield n;const s=r;r=n.NextToken,o=!(!r||e.stopOnSameToken&&r===s)}}const As=async(e,t,...i)=>await e.send(new Xo(t),...i);async function*Ps(e,t,...i){let n,r=e.startingToken||void 0,o=!0;for(;o;){if(t.NextToken=r,t.MaxResults=e.pageSize,!(e.client instanceof sn))throw new Error("Invalid client, expected ChimeSDKMessaging | ChimeSDKMessagingClient");n=await As(e.client,t,...i),yield n;const s=r;r=n.NextToken,o=!(!r||e.stopOnSameToken&&r===s)}}const Os=async(e,t,...i)=>await e.send(new Yo(t),...i);async function*_s(e,t,...i){let n,r=e.startingToken||void 0,o=!0;for(;o;){if(t.NextToken=r,t.MaxResults=e.pageSize,!(e.client instanceof sn))throw new Error("Invalid client, expected ChimeSDKMessaging | ChimeSDKMessagingClient");
2n=await Os(e.client,t,...i),yield n;const s=r;r=n.NextToken,o=!(!r||e.stopOnSameToken&&r===s)}}const Ms=async(e,t,...i)=>await e.send(new Zo(t),...i);async function*Rs(e,t,...i){let n,r=e.startingToken||void 0,o=!0;for(;o;){if(t.NextToken=r,t.MaxResults=e.pageSize,!(e.client instanceof sn))throw new Error("Invalid client, expected ChimeSDKMessaging | ChimeSDKMessagingClient");n=await Ms(e.client,t,...i),yield n;const s=r;r=n.NextToken,o=!(!r||e.stopOnSameToken&&r===s)}}const Ds=async(e,t,...i)=>await e.send(new es(t),...i);async function*Fs(e,t,...i){let n,r=e.startingToken||void 0,o=!0;for(;o;){if(t.NextToken=r,t.MaxResults=e.pageSize,!(e.client instanceof sn))throw new Error("Invalid client, expected ChimeSDKMessaging | ChimeSDKMessagingClient");n=await Ds(e.client,t,...i),yield n;const s=r;r=n.NextToken,o=!(!r||e.stopOnSameToken&&r===s)}}const Ls=async(e,t,...i)=>await e.send(new ss(t),...i);async function*Ns(e,t,...i){let n,r=e.startingToken||void 0,o=!0;for(;o;){if(t.NextToken=r,t.MaxResults=e.pageSize,!(e.client instanceof sn))throw new Error("Invalid client, expected ChimeSDKMessaging | ChimeSDKMessagingClient");n=await Ls(e.client,t,...i),yield n;const s=r;r=n.NextToken,o=!(!r||e.stopOnSameToken&&r===s)}}},76572(e,t,i){"use strict";i.r(t),i.d(t,{fromHex:()=>o,toHex:()=>s});const n={},r={};for(let e=0;e<256;e++){let t=e.toString(16).toLowerCase();1===t.length&&(t=`0${t}`),n[e]=t,r[t]=e}function o(e){if(e.length%2!=0)throw new Error("Hex encoded strings must have an even number length");const t=new Uint8Array(e.length/2);for(let i=0;i<e.length;i+=2){const n=e.slice(i,i+2).toLowerCase();if(!(n in r))throw new Error(`Cannot decode unrecognized sequence ${n} as hexadecimal`);t[i/2]=r[n]}return t}function s(e){let t="";for(let i=0;i<e.byteLength;i++)t+=n[e[i]];return t}},79334(e,t,i){"use strict";i.r(t),i.d(t,{locateWindow:()=>r});const n={};function r(){return"undefined"!=typeof window?window:"undefined"!=typeof self?self:n}},57602(e,t,i){"use strict";i.r(t),i.d(t,{fromUtf8:()=>n,toUtf8:()=>r});const n=e=>"function"==typeof TextEncoder?function(e){return(new TextEncoder).encode(e)}(e):(e=>{const t=[];for(let i=0,n=e.length;i<n;i++){const n=e.charCodeAt(i);if(n<128)t.push(n);else if(n<2048)t.push(n>>6|192,63&n|128);else if(i+1<e.length&&55296==(64512&n)&&56320==(64512&e.charCodeAt(i+1))){const r=65536+((1023&n)<<10)+(1023&e.charCodeAt(++i));t.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}else t.push(n>>12|224,n>>6&63|128,63&n|128)}return Uint8Array.from(t)})(e),r=e=>"function"==typeof TextDecoder?function(e){return new TextDecoder("utf-8").decode(e)}(e):(e=>{let t="";for(let i=0,n=e.length;i<n;i++){const n=e[i];if(n<128)t+=String.fromCharCode(n);else if(192<=n&&n<224){const r=e[++i];t+=String.fromCharCode((31&n)<<6|63&r)}else if(240<=n&&n<365){const r="%"+[n,e[++i],e[++i],e[++i]].map(e=>e.toString(16)).join("%");t+=decodeURIComponent(r)}else t+=String.fromCharCode((15&n)<<12|(63&e[++i])<<6|63&e[++i])}return t})(e)},86233(e){"use strict";e.exports=function(e,t){for(var i=new Array(arguments.length-1),n=0,r=2,o=!0;r<arguments.length;)i[n++]=arguments[r++];return new Promise(function(r,s){i[n]=function(e){if(o)if(o=!1,e)s(e);else{for(var t=new Array(arguments.length-1),i=0;i<t.length;)t[i++]=arguments[i];r.apply(null,t)}};try{e.apply(t||null,i)}catch(e){o&&(o=!1,s(e))}})}},1979(e,t){"use strict";var i=t;i.length=function(e){var t=e.length;if(!t)return 0;for(var i=0;--t%4>1&&"="===e.charAt(t);)++i;return Math.ceil(3*e.length)/4-i};for(var n=new Array(64),r=new Array(123),o=0;o<64;)r[n[o]=o<26?o+65:o<52?o+71:o<62?o-4:o-59|43]=o++;i.encode=function(e,t,i){for(var r,o=null,s=[],a=0,d=0;t<i;){var c=e[t++];switch(d){case 0:s[a++]=n[c>>2],r=(3&c)<<4,d=1;break;case 1:s[a++]=n[r|c>>4],r=(15&c)<<2,d=2;break;case 2:s[a++]=n[r|c>>6],s[a++]=n[63&c],d=0}a>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,s)),a=0)}return d&&(s[a++]=n[r],s[a++]=61,1===d&&(s[a++]=61)),o?(a&&o.push(String.fromCharCode.apply(String,s.slice(0,a))),o.join("")):String.fromCharCode.apply(String,s.slice(0,a))};var s="invalid encoding";i.decode=function(e,t,i){for(var n,o=i,a=0,d=0;d<e.length;){var c=e.charCodeAt(d++);if(61===c&&a>1)break;
vendor: 2,535 bytes, line 2
2if(void 0===(c=r[c]))throw Error(s);switch(a){case 0:n=c,a=1;break;case 1:t[i++]=n<<2|(48&c)>>4,n=c,a=2;break;case 2:t[i++]=(15&n)<<4|(60&c)>>2,n=c,a=3;break;case 3:t[i++]=(3&n)<<6|c,a=0}}if(1===a)throw Error(s);return i-o},i.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}},23474(e){"use strict";function t(){this._listeners={}}e.exports=t,t.prototype.on=function(e,t,i){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:t,ctx:i||this}),this},t.prototype.off=function(e,t){if(void 0===e)this._listeners={};else if(void 0===t)this._listeners[e]=[];else for(var i=this._listeners[e],n=0;n<i.length;)i[n].fn===t?i.splice(n,1):++n;return this},t.prototype.emit=function(e){var t=this._listeners[e];if(t){for(var i=[],n=1;n<arguments.length;)i.push(arguments[n++]);for(n=0;n<t.length;)t[n].fn.apply(t[n++].ctx,i)}return this}},45750(e){"use strict";function t(e){return"undefined"!=typeof Float32Array?function(){var t=new Float32Array([-0]),i=new Uint8Array(t.buffer),n=128===i[3];function r(e,n,r){t[0]=e,n[r]=i[0],n[r+1]=i[1],n[r+2]=i[2],n[r+3]=i[3]}function o(e,n,r){t[0]=e,n[r]=i[3],n[r+1]=i[2],n[r+2]=i[1],n[r+3]=i[0]}function s(e,n){return i[0]=e[n],i[1]=e[n+1],i[2]=e[n+2],i[3]=e[n+3],t[0]}function a(e,n){return i[3]=e[n],i[2]=e[n+1],i[1]=e[n+2],i[0]=e[n+3],t[0]}e.writeFloatLE=n?r:o,e.writeFloatBE=n?o:r,e.readFloatLE=n?s:a,e.readFloatBE=n?a:s}():function(){function t(e,t,i,n){var r=t<0?1:0;if(r&&(t=-t),0===t)e(1/t>0?0:2147483648,i,n);else if(isNaN(t))e(2143289344,i,n);else if(t>34028234663852886e22)e((r<<31|2139095040)>>>0,i,n);else if(t<11754943508222875e-54)e((r<<31|Math.round(t/1401298464324817e-60))>>>0,i,n);else{var o=Math.floor(Math.log(t)/Math.LN2);e((r<<31|o+127<<23|8388607&Math.round(t*Math.pow(2,-o)*8388608))>>>0,i,n)}}function s(e,t,i){var n=e(t,i),r=2*(n>>31)+1,o=n>>>23&255,s=8388607&n;return 255===o?s?NaN:r*(1/0):0===o?1401298464324817e-60*r*s:r*Math.pow(2,o-150)*(s+8388608)}e.writeFloatLE=t.bind(null,i),e.writeFloatBE=t.bind(null,n),e.readFloatLE=s.bind(null,r),e.readFloatBE=s.bind(null,o)}(),"undefined"!=typeof Float64Array?function(){var t=new Float64Array([-0]),i=new Uint8Array(t.buffer),n=128===i[7];function r(e,n,r){t[0]=e,n[r]=i[0],n[r+1]=i[1],n[r+2]=i[2],n[r+3]=i[3],n[r+4]=i[4],n[r+5]=i[5],n[r+6]=i[6],n[r+7]=i[7]}function o(e,n,r){t[0]=e,n[r]=i[7],n[r+1]=i[6],n[r+2]=i[5],n[r+3]=i[4],n[r+4]=i[3],n[r+5]=i[2],n[r+6]=i[1],n[r+7]=i[0]}function s(e,n){return i[0]=e[n],i[1]=e[n+1],i[2]=e[n+2],i[3]=e[n+3],i[4]=e[n+4],i[5]=e[n+5],i[
26]=e[n+6],i[7]=e[n+7],t[0]}function a(e,n){return i[7]=e[n],i[6]=e[n+1],i[5]=e[n+2],i[4]=e[n+3],i[3]=e[n+4],i[2]=e[n+5],i[1]=e[n+6],i[0]=e[n+7],t[0]}e.writeDoubleLE=n?r:o,e.writeDoubleBE=n?o:r,e.readDoubleLE=n?s:a,e.readDoubleBE=n?a:s}():function(){function t(e,t,i,n,r,o){var s=n<0?1:0;if(s&&(n=-n),0===n)e(0,r,o+t),e(1/n>0?0:2147483648,r,o+i);else if(isNaN(n))e(0,r,o+t),e(2146959360,r,o+i);else if(n>17976931348623157e292)e(0,r,o+t),e((s<<31|2146435072)>>>0,r,o+i);else{var a;if(n<22250738585072014e-324)e((a=n/5e-324)>>>0,r,o+t),e((s<<31|a/4294967296)>>>0,r,o+i);else{var d=Math.floor(Math.log(n)/Math.LN2);1024===d&&(d=1023),e(4503599627370496*(a=n*Math.pow(2,-d))>>>0,r,o+t),e((s<<31|d+1023<<20|1048576*a&1048575)>>>0,r,o+i)}}}function s(e,t,i,n,r){var o=e(n,r+t),s=e(n,r+i),a=2*(s>>31)+1,d=s>>>20&2047,c=4294967296*(1048575&s)+o;return 2047===d?c?NaN:a*(1/0):0===d?5e-324*a*c:a*Math.pow(2,d-1075)*(c+4503599627370496)}e.writeDoubleLE=t.bind(null,i,0,4),e.writeDoubleBE=t.bind(null,n,4,0),e.readDoubleLE=s.bind(null,r,0,4),e.readDoubleBE=s.bind(null,o,4,0)}(),e}function i(e,t,i){t[i]=255&e,t[i+1]=e>>>8&255,t[i+2]=e>>>16&255,t[i+3]=e>>>24}function n(e,t,i){t[i]=e>>>24,t[i+1]=e>>>16&255,t[i+2]=e>>>8&255,t[i+3]=255&e}function r(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function o(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}e.exports=t(t)},61925(module){"use strict";function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(e){}return null}module.exports=inquire},44226(e){"use strict";e.exports=function(e,t,i){var n=i||8192,r=n>>>1,o=null,s=n;return function(i){if(i<1||i>r)return e(i);s+i>n&&(o=e(n),s=0);var a=t.call(o,s,s+=i);return 7&s&&(s=1+(7|s)),a}}},82971(e,t){"use strict";var i=t;i.length=function(e){for(var t=0,i=0,n=0;n<e.length;++n)(i=e.charCodeAt(n))<128?t+=1:i<2048?t+=2:55296==(64512&i)&&56320==(64512&e.charCodeAt(n+1))?(++n,t+=4):t+=3;return t},i.read=function(e,t,i){if(i-t<1)return"";for(var n,r=null,o=[],s=0;t<i;)(n=e[t++])<128?o[s++]=n:n>191&&n<224?o[s++]=(31&n)<<6|63&e[t++]:n>239&&n<365?(n=((7&n)<<18|(63&e[t++])<<12|(63&e[t++])<<6|63&e[t++])-65536,o[s++]=55296+(n>>10),o[s++]=56320+(1023&n)):o[s++]=(15&n)<<12|(63&e[t++])<<6|63&e[t++],s>8191&&((r||(r=[])).push(String.fromCharCode.apply(String,o)),s=0);return r?(s&&r.push(String.fromCharCode.apply(String,o.slice(0,s))),r.join("")):String.fromCharCode.apply(String,o.slice(0,s))},i.write=function(e,t,i){for(var n,r,o=i,s=0;s<e.length;++s)(n=e.charCodeAt(s))<128?t[i++]=n:n<2048?(t[i++]=n>>6|192,t[i++]=63&n|128):55296==(64512&n)&&56320==(64512&(r=e.charCodeAt(s+1)))?(n=65536+((1023&n)<<10)+(1023&r),++s,t[i++]=n>>18|240,t[i++]=n>>12&63|128,t[i++]=n>>6&63|128,t[i++]=63&n|128):(t[i++]=n>>12|224,t[i++]=n>>6&63|128,t[i++]=63&n|128);return i-o}},7598(e,t,i){"use strict";i.d(t,{DNH:()=>Cs,Fjh:()=>rs,e0s:()=>ko,phq:()=>_r,IPJ:()=>ys,xtX:()=>us,gDU:()=>fs,n3W:()=>ds,F6c:()=>ks,KPF:()=>Fo,TDp:()=>Do,a2e:()=>xs,oCg:()=>Jo,GYC:()=>os,Abl:()=>es,abu:()=>Es,O54:()=>vs});var n=i(62540),r=i(71172),o=i(21664),s=i.n(o),a=function(e,t){var i=s()({},e,t);for(var n in e){var r;e[n]&&"object"==typeof t[n]&&s()(i,((r={})[n]=s()(e[n],t[n]),r))}return i},d={breakpoints:[40,52,64].map(function(e){return e+"em"})},c=function(e){return"@media screen and (min-width: "+e+")"},l=function(e,t){return u(t,e,e)},u=function(e,t,i,n,r){for(t=t&&t.split?t.split("."):[t],n=0;n<t.length;n++)e=e?e[t[n]]:r;return e===r?i:e},h=function e(t){var i={},n=function(e){var n,r,o={},l=!1,h=e.theme&&e.theme.disableStyledSystemCache;for(var m in e)if(t[m]){var g=t[m],v=e[m],b=u(e.theme,g.scale,g.defaults);if("object"!=typeof v)s()(o,g(v,b,e));else{if(i.breakpoints=!h&&i.breakpoints||u(e.theme,"breakpoints",d.breakpoints),Array.isArray(v)){i.media=!h&&i.media||[null].concat(i.breakpoints.map(c)),o=a(o,p(i.media,g,b,v,e));continue}null!==v&&(o=a(o,f(i.breakpoints,g,b,v,e)),l=!0)}}return l&&(n=o,r={},Object.keys(n).sort(function(e,t){return e.localeCompare(t,void 0,{numeric:!0,sensitivity:"base"})}).forEach(function(e){r[e]=n[e]}),o=r),o};n.config=t,n.propNames=Object.keys(t),n.cache=i;var r=Object.keys(t).filter(function(e){return"config"!==e});return r.length>1&&r.forEach(function(i){var r;n[i]=e(((r={})[i]=t[i],r))}),n},p=function(e,t,i,n,r){var o={};
2return n.slice(0,e.length).forEach(function(n,a){var d,c=e[a],l=t(n,i,r);c?s()(o,((d={})[c]=s()({},o[c],l),d)):s()(o,l)}),o},f=function(e,t,i,n,r){var o={};for(var a in n){var d=e[a],l=t(n[a],i,r);if(d){var u,h=c(d);s()(o,((u={})[h]=s()({},o[h],l),u))}else s()(o,l)}return o},m=function(e){var t=e.properties,i=e.property,n=e.scale,r=e.transform,o=void 0===r?l:r,s=e.defaultScale;t=t||[i];var a=function(e,i,n){var r={},s=o(e,i,n);if(null!==s)return t.forEach(function(e){r[e]=s}),r};return a.scale=n,a.defaults=s,a},g=function(e){void 0===e&&(e={});var t={};return Object.keys(e).forEach(function(i){var n=e[i];t[i]=!0!==n?"function"!=typeof n?m(n):n:m({property:i,scale:i})}),h(t)};const v=g({width:{property:"width",scale:"sizes",transform:function(e,t){return u(t,e,!function(e){return"number"==typeof e&&!isNaN(e)}(e)||e>1?e:100*e+"%")}},height:{property:"height",scale:"sizes"},minWidth:{property:"minWidth",scale:"sizes"},minHeight:{property:"minHeight",scale:"sizes"},maxWidth:{property:"maxWidth",scale:"sizes"},maxHeight:{property:"maxHeight",scale:"sizes"},size:{properties:["width","height"],scale:"sizes"},overflow:!0,overflowX:!0,overflowY:!0,display:!0,verticalAlign:!0});var b={color:{property:"color",scale:"colors"},backgroundColor:{property:"backgroundColor",scale:"colors"},opacity:!0};b.bg=b.backgroundColor;const y=g(b),S=g({fontFamily:{property:"fontFamily",scale:"fonts"},fontSize:{property:"fontSize",scale:"fontSizes",defaultScale:[12,14,16,20,24,32,48,64,72]},fontWeight:{property:"fontWeight",scale:"fontWeights"},lineHeight:{property:"lineHeight",scale:"lineHeights"},letterSpacing:{property:"letterSpacing",scale:"letterSpacings"},textAlign:!0,fontStyle:!0}),w=g({alignItems:!0,alignContent:!0,justifyItems:!0,justifyContent:!0,flexWrap:!0,flexDirection:!0,flex:!0,flexGrow:!0,flexShrink:!0,flexBasis:!0,justifySelf:!0,alignSelf:!0,order:!0});var C={space:[0,4,8,16,32,64,128,256,512]},k=g({gridGap:{property:"gridGap",scale:"space",defaultScale:C.space},gridColumnGap:{property:"gridColumnGap",scale:"space",defaultScale:C.space},gridRowGap:{property:"gridRowGap",scale:"space",defaultScale:C.space},gridColumn:!0,gridRow:!0,gridAutoFlow:!0,gridAutoColumns:!0,gridAutoRows:!0,gridTemplateColumns:!0,gridTemplateRows:!0,gridTemplateAreas:!0,gridArea:!0});const E=k;const T=g({border:{property:"border",scale:"borders"},borderWidth:{property:"borderWidth",scale:"borderWidths"},borderStyle:{property:"borderStyle",scale:"borderStyles"},borderColor:{property:"borderColor",scale:"colors"},borderRadius:{property:"borderRadius",scale:"radii"},borderTop:{property:"borderTop",scale:"borders"},borderTopLeftRadius:{property:"borderTopLeftRadius",scale:"radii"},borderTopRightRadius:{property:"borderTopRightRadius",scale:"radii"},borderRight:{property:"borderRight",scale:"borders"},borderBottom:{property:"borderBottom",scale:"borders"},borderBottomLeftRadius:{property:"borderBottomLeftRadius",scale:"radii"},borderBottomRightRadius:{property:"borderBottomRightRadius",scale:"radii"},borderLeft:{property:"borderLeft",scale:"borders"},borderX:{properties:["borderLeft","borderRight"],scale:"borders"},borderY:{properties:["borderTop","borderBottom"],scale:"borders"},borderTopWidth:{property:"borderTopWidth",scale:"borderWidths"},borderTopColor:{property:"borderTopColor",scale:"colors"},borderTopStyle:{property:"borderTopStyle",scale:"borderStyles"},borderBottomWidth:{property:"borderBottomWidth",scale:"borderWidths"},borderBottomColor:{property:"borderBottomColor",scale:"colors"},borderBottomStyle:{property:"borderBottomStyle",scale:"borderStyles"},borderLeftWidth:{property:"borderLeftWidth",scale:"borderWidths"},borderLeftColor:{property:"borderLeftColor",scale:"colors"},borderLeftStyle:{property:"borderLeftStyle",scale:"borderStyles"},borderRightWidth:{property:"borderRightWidth",scale:"borderWidths"},borderRightColor:{property:"borderRightColor",scale:"colors"},borderRightStyle:{property:"borderRightStyle",scale:"borderStyles"}});var I={background:!0,backgroundImage:!0,backgroundSize:!0,backgroundPosition:!0,backgroundRepeat:!0};I.bgImage=I.backgroundImage,I.bgSize=I.backgroundSize,I.bgPosition=I.backgroundPosition,I.bgRepeat=I.backgroundRepeat;const x=g(I);var A={space:[0,4,8,16,32,64,128,256,512]};const P=g({position:!0,zIndex:{property:"zIndex",scale:"zIndices"},top:{property:"top",scale:"space",defaultScale:A.space},right:{property:"right",scale:"space",defaultScale:A.space},bottom:{property:"bottom",scale:"space",defaultScale:A.space},left:{property:"left",scale:"space",defaultScale:A.space}});
2var O={space:[0,4,8,16,32,64,128,256,512]},_=function(e){return"number"==typeof e&&!isNaN(e)},M=function(e,t){if(!_(e))return u(t,e,e);var i=e<0,n=Math.abs(e),r=u(t,n,n);return _(r)?r*(i?-1:1):i?"-"+r:r},R={};R.margin={margin:{property:"margin",scale:"space",transform:M,defaultScale:O.space},marginTop:{property:"marginTop",scale:"space",transform:M,defaultScale:O.space},marginRight:{property:"marginRight",scale:"space",transform:M,defaultScale:O.space},marginBottom:{property:"marginBottom",scale:"space",transform:M,defaultScale:O.space},marginLeft:{property:"marginLeft",scale:"space",transform:M,defaultScale:O.space},marginX:{properties:["marginLeft","marginRight"],scale:"space",transform:M,defaultScale:O.space},marginY:{properties:["marginTop","marginBottom"],scale:"space",transform:M,defaultScale:O.space}},R.margin.m=R.margin.margin,R.margin.mt=R.margin.marginTop,R.margin.mr=R.margin.marginRight,R.margin.mb=R.margin.marginBottom,R.margin.ml=R.margin.marginLeft,R.margin.mx=R.margin.marginX,R.margin.my=R.margin.marginY,R.padding={padding:{property:"padding",scale:"space",defaultScale:O.space},paddingTop:{property:"paddingTop",scale:"space",defaultScale:O.space},paddingRight:{property:"paddingRight",scale:"space",defaultScale:O.space},paddingBottom:{property:"paddingBottom",scale:"space",defaultScale:O.space},paddingLeft:{property:"paddingLeft",scale:"space",defaultScale:O.space},paddingX:{properties:["paddingLeft","paddingRight"],scale:"space",defaultScale:O.space},paddingY:{properties:["paddingTop","paddingBottom"],scale:"space",defaultScale:O.space}},R.padding.p=R.padding.padding,R.padding.pt=R.padding.paddingTop,R.padding.pr=R.padding.paddingRight,R.padding.pb=R.padding.paddingBottom,R.padding.pl=R.padding.paddingLeft,R.padding.px=R.padding.paddingX,R.padding.py=R.padding.paddingY;var D=function(){for(var e={},t=arguments.length,i=new Array(t),n=0;n<t;n++)i[n]=arguments[n];return i.forEach(function(t){t&&t.config&&s()(e,t.config)}),h(e)}(g(R.margin),g(R.padding));function F(){return F=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e},F.apply(this,arguments)}g({boxShadow:{property:"boxShadow",scale:"shadows"},textShadow:{property:"textShadow",scale:"shadows"}});var L=function(e,t,i,n,r){for(t=t&&t.split?t.split("."):[t],n=0;n<t.length;n++)e=e?e[t[n]]:r;return e===r?i:e},N=[40,52,64].map(function(e){return e+"em"}),B={space:[0,4,8,16,32,64,128,256,512],fontSizes:[12,14,16,20,24,32,48,64,72]},V={bg:"backgroundColor",m:"margin",mt:"marginTop",mr:"marginRight",mb:"marginBottom",ml:"marginLeft",mx:"marginX",my:"marginY",p:"padding",pt:"paddingTop",pr:"paddingRight",pb:"paddingBottom",pl:"paddingLeft",px:"paddingX",py:"paddingY"},U={marginX:["marginLeft","marginRight"],marginY:["marginTop","marginBottom"],paddingX:["paddingLeft","paddingRight"],paddingY:["paddingTop","paddingBottom"],size:["width","height"]},j={color:"colors",backgroundColor:"colors",borderColor:"colors",margin:"space",marginTop:"space",marginRight:"space",marginBottom:"space",marginLeft:"space",marginX:"space",marginY:"space",padding:"space",paddingTop:"space",paddingRight:"space",paddingBottom:"space",paddingLeft:"space",paddingX:"space",paddingY:"space",top:"space",right:"space",bottom:"space",left:"space",gridGap:"space",gridColumnGap:"space",gridRowGap:"space",gap:"space",columnGap:"space",rowGap:"space",fontFamily:"fonts",fontSize:"fontSizes",fontWeight:"fontWeights",lineHeight:"lineHeights",letterSpacing:"letterSpacings",border:"borders",borderTop:"borders",borderRight:"borders",borderBottom:"borders",borderLeft:"borders",borderWidth:"borderWidths",borderStyle:"borderStyles",borderRadius:"radii",borderTopRightRadius:"radii",borderTopLeftRadius:"radii",borderBottomRightRadius:"radii",borderBottomLeftRadius:"radii",borderTopWidth:"borderWidths",borderTopColor:"colors",borderTopStyle:"borderStyles",borderBottomWidth:"borderWidths",borderBottomColor:"colors",borderBottomStyle:"borderStyles",borderLeftWidth:"borderWidths",borderLeftColor:"colors",borderLeftStyle:"borderStyles",borderRightWidth:"borderWidths",borderRightColor:"colors",borderRightStyle:"borderStyles",outlineColor:"colors",boxShadow:"shadows",textShadow:"shadows",zIndex:"zIndices",width:"sizes",minWidth:"sizes",maxWidth:"sizes",height:"sizes",minHeight:"sizes",maxHeight:"sizes",flexBasis:"sizes",size:"sizes",fill:"colors",stroke:"colors"},z=function(e,t){if("number"!=typeof t||t>=0)return L(e,t,t);var i=Math.abs(t),n=L(e,i,i);return"string"==typeof n?"-"+n:-1*n},$=["margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","to
2p","bottom","left","right"].reduce(function(e,t){var i;return F({},e,((i={})[t]=z,i))},{});const H=function e(t){return function(i){void 0===i&&(i={});var n=F({},B,{},i.theme||i),r={},o=function(e){return function(t){var i={},n=L(t,"breakpoints",N),r=[null].concat(n.map(function(e){return"@media screen and (min-width: "+e+")"}));for(var o in e){var s="function"==typeof e[o]?e[o](t):e[o];if(null!=s)if(Array.isArray(s))for(var a=0;a<s.slice(0,r.length).length;a++){var d=r[a];d?(i[d]=i[d]||{},null!=s[a]&&(i[d][o]=s[a])):i[o]=s[a]}else i[o]=s}return i}}("function"==typeof t?t(n):t)(n);for(var s in o){var a=o[s],d="function"==typeof a?a(n):a;if("variant"!==s)if(d&&"object"==typeof d)r[s]=e(d)(n);else{var c=L(V,s,s),l=L(j,c),u=L(n,l,L(n,c,{})),h=L($,c,L)(u,d,d);if(U[c])for(var p=U[c],f=0;f<p.length;f++)r[p[f]]=h;else r[c]=h}else r=F({},r,{},e(L(n,d))(n))}return r}};var W=function(e){var t,i,n=e.scale,r=e.prop,o=void 0===r?"variant":r,s=e.variants,a=void 0===s?{}:s,d=e.key;i=Object.keys(a).length?function(e,t,i){return H(u(t,e,null))(i.theme)}:function(e,t){return u(t,e,null)},i.scale=n||d,i.defaults=a;var c=((t={})[o]=i,t);return h(c)};W({key:"buttons"}),W({key:"textStyles",prop:"textStyle"}),W({key:"colorStyles",prop:"colors"}),v.width,v.height,v.minWidth,v.minHeight,v.maxWidth,v.maxHeight,v.size,v.verticalAlign,v.display,v.overflow,v.overflowX,v.overflowY,y.opacity,S.fontSize,S.fontFamily,S.fontWeight,S.lineHeight,S.textAlign,S.fontStyle,S.letterSpacing,w.alignItems,w.alignContent,w.justifyItems,w.justifyContent,w.flexWrap,w.flexDirection,w.flex,w.flexGrow,w.flexShrink,w.flexBasis,w.justifySelf,w.alignSelf,w.order,E.gridGap,E.gridColumnGap,E.gridRowGap,E.gridColumn,E.gridRow,E.gridAutoFlow,E.gridAutoColumns,E.gridAutoRows,E.gridTemplateColumns,E.gridTemplateRows,E.gridTemplateAreas,E.gridArea,T.borderWidth,T.borderStyle,T.borderColor,T.borderTop,T.borderRight,T.borderBottom,T.borderLeft,T.borderRadius,x.backgroundImage,x.backgroundSize,x.backgroundPosition,x.backgroundRepeat,P.zIndex,P.top,P.right,P.bottom,P.left;var q=i(63696),K=i.t(q,2),G=i(78325),J=i(53028),Q=i(95391);function X(e,t){var i={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(i[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(i[n[r]]=e[n[r]])}return i}function Z(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})}function Y(e){var t=Object.create(null);return function(i){return void 0===t[i]&&(t[i]=e(i)),t[i]}}"function"==typeof SuppressedError&&SuppressedError;var ee=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRen
2dering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,te=Y(function(e){return ee.test(e)||111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)<91});const ie=r.AH` 3 clip: rect(1px, 1px, 1px, 1px); 4 height: 1px; 5 width: 1px; 6 overflow: hidden; 7 position: absolute !important; 8`,ne=r.AH` 9 overflow: hidden; 10 white-space: nowrap; 11 text-overflow: ellipsis; 12`,re=r.AH` 13 position: absolute; 14 top: 50%; 15 left: 50%; 16 transform: translate(-50%, -50%); 17`,oe=(e,t=1)=>{var i;if(!(e=>/^#[0-9A-F]{6}$/i.test(e))(e))return"";const[n,r,o]=null===(i=e.match(/\w\w/g))||void 0===i?void 0:i.map(e=>parseInt(e,16));return`rgba(${n}, ${r}, ${o}, ${t||1})`},se=((e=[])=>({shouldForwardProp:t=>!!e.includes(t)||te(t)}))(),ae=({css:e})=>e?`@media { ${e} };`:"",de=e=>D(e),ce=(r.Ay.span.withConfig(se)` 18 ${e=>{if("object"==typeof e.value){const t=e.value;return`width: ${t.props&&t.props.width||"1rem"};`}return null}} 19 display: inline-block; 20 padding: ${e=>"object"==typeof e.value?"0":"0.1rem 0.4rem 0.125rem"}; 21 border-radius: 0.5rem; 22 line-height: ${e=>"object"==typeof e.value?"1":"1.43"}; 23 color: ${e=>e.theme.colors.greys.white}; 24 font-size: 0.65rem; 25 background-color: ${e=>"alert"===e.status?e.theme.colors.error.primary:e.theme.colors.greys.grey60}; 26 27 ${de}; 28 ${ae} 29`,r.Ay.button.withConfig(se)` 30 border-radius: ${e=>e.theme.radii.default}; 31 font-size: ${e=>e.theme.fontSizes.text.fontSize}; 32 padding: 0.5rem 1rem; 33 border-color: transparent; 34 transition: background-color 0.1s ease; 35 display: inline-flex; 36 align-items: center; 37 justify-content: center; 38 39 &:hover { 40 cursor: pointer; 41 } 42 43 &:focus { 44 outline: none; 45 } 46 47 .ch-icon { 48 width: ${e=>e.theme.iconButtonSizes[e.iconSize||"sm"]}; 49 height: ${e=>e.theme.iconButtonSizes[e.iconSize||"sm"]}; 50 margin-right: 0.25rem; 51 } 52 53 /* variant styles */ 54 ${e=>"primary"===e.variant&&le} 55 ${e=>"secondary"===e.variant&&ue} 56 ${e=>"icon"===e.variant&&pe} 57 58 ${de} 59 ${ae} 60`),le=r.AH` 61 background-color: ${e=>e.selected?e.theme.buttons.primary.selected.bgd:e.theme.buttons.primary.static.bgd}; 62 color: ${e=>e.selected?e.theme.buttons.primary.selected.text:e.theme.buttons.primary.static.text}; 63 border: ${e=>e.selected?e.theme.buttons.primary.selected.border:e.theme.buttons.primary.static.border}; 64 box-shadow: ${e=>e.theme.buttons.primary.static.shadow}; 65 66 &:focus { 67 background-color: ${e=>e.theme.buttons.primary.focus.bgd}; 68 border: ${e=>e.theme.buttons.primary.focus.border}; 69 color: ${e=>e.theme.buttons.primary.focus.text}; 70 box-shadow: ${e=>e.theme.buttons.primary.focus.shadow}; 71 } 72 73 &:hover { 74 background-color: ${e=>e.theme.buttons.primary.hover.bgd}; 75 border: ${e=>e.theme.buttons.primary.hover.border}; 76 color: ${e=>e.theme.buttons.primary.hover.text}; 77 box-shadow: ${e=>e.theme.buttons.primary.hover.shadow}; 78 } 79 80 &:focus:hover { 81 box-shadow: ${e=>e.theme.buttons.primary.focus.shadow}; 82 } 83 84 &:active { 85 background-color: ${e=>e.theme.buttons.primary.active.bgd}; 86 border: ${e=>e.theme.buttons.primary.active.border}; 87 color: ${e=>e.theme.buttons.primary.active.text}; 88 box-shadow: ${e=>e.theme.buttons.primary.active.shadow}; 89 } 90 91 &:disabled { 92 background-color: ${e=>e.theme.buttons.primary.disabled.bgd}; 93 border: ${e=>e.theme.buttons.primary.disabled.border}; 94 color: ${e=>e.theme.buttons.primary.disabled.text};
95 cursor: not-allowed; 96 } 97`,ue=r.AH` 98 background-color: ${e=>e.selected?e.theme.buttons.secondary.selected.bgd:e.theme.buttons.secondary.static.bgd}; 99 color: ${e=>e.selected?e.theme.buttons.secondary.selected.text:e.theme.buttons.secondary.static.text}; 100 border: ${e=>e.selected?e.theme.buttons.secondary.selected.border:e.theme.buttons.secondary.static.border}; 101 box-shadow: ${e=>e.theme.buttons.secondary.shadow}; 102 103 &:focus { 104 background-color: ${e=>e.theme.buttons.secondary.focus.bgd}; 105 border: ${e=>e.theme.buttons.secondary.focus.border}; 106 color: ${e=>e.theme.buttons.secondary.focus.text}; 107 box-shadow: ${e=>e.theme.buttons.secondary.focus.shadow}; 108 } 109 110 &:hover { 111 background-color: ${e=>e.theme.buttons.secondary.hover.bgd}; 112 border: ${e=>e.theme.buttons.secondary.hover.border}; 113 color: ${e=>e.theme.buttons.secondary.hover.text}; 114 box-shadow: ${e=>e.theme.buttons.secondary.hover.shadow}; 115 } 116 117 &:focus:hover { 118 box-shadow: ${e=>e.theme.buttons.secondary.focus.shadow}; 119 } 120 121 &:active { 122 background-color: ${e=>e.theme.buttons.secondary.active.bgd}; 123 border: ${e=>e.theme.buttons.secondary.active.border}; 124 color: ${e=>e.theme.buttons.secondary.active.text}; 125 box-shadow: ${e=>e.theme.buttons.secondary.focus.shadow}; 126 } 127 128 &:disabled { 129 background-color: ${e=>e.theme.buttons.secondary.disabled.bgd}; 130 border: ${e=>e.theme.buttons.secondary.disabled.border}; 131 color: ${e=>e.theme.buttons.secondary.disabled.text}; 132 cursor: not-allowed; 133 } 134`,he={sm:r.AH` 135 top: -15%; 136 left: 76%; 137 `,md:r.AH` 138 top: 4%; 139 left: 76%; 140 `,lg:r.AH` 141 top: 10%; 142 left: 76%; 143 `},pe=r.AH` 144 background-color: ${e=>e.selected?e.theme.buttons.icon.selected.bgd:e.theme.buttons.icon.static.bgd}; 145 color: ${e=>e.selected?e.theme.buttons.icon.selected.text:e.theme.buttons.icon.static.text}; 146 border: ${e=>e.selected?e.theme.buttons.icon.selected.border:e.theme.buttons.icon.static.border}; 147 border-radius: ${e=>e.theme.radii.circle}; 148 padding: 0.1875rem; 149 position: relative; 150 151 > .ch-label { 152 ${ie}; 153 } 154 155 > .ch-icon { 156 width: ${e=>e.theme.iconButtonSizes[e.iconSize||"sm"]}; 157 height: ${e=>e.theme.iconButtonSizes[e.iconSize||"sm"]}; 158 margin: 0; 159 } 160 161 &:focus { 162 background-color: ${({theme:e,selected:t})=>t?e.buttons.icon.selected.bgd:e.buttons.icon.static.bgd}; 163 border: ${e=>e.theme.buttons.icon.focus.border}; 164 color: ${e=>e.theme.buttons.icon.focus.text}; 165 color: ${({theme:e,selected:t})=>t?e.buttons.icon.selected.text:e.buttons.icon.static.text}; 166 box-shadow: ${e=>e.theme.buttons.icon.focus.shadow}; 167 } 168 169 &:hover { 170 background-color: ${e=>e.theme.buttons.icon.hover.bgd}; 171 border: ${e=>e.theme.buttons.icon.hover.border}; 172 color: ${e=>e.theme.buttons.icon.hover.text}; 173 } 174 175 &:active { 176 background-color: ${e=>e.theme.buttons.icon.active.bgd}; 177 border: ${e=>e.theme.buttons.icon.active.border}; 178 color: ${e=>e.theme.buttons.icon.active.text}; 179 } 180 181 &:disabled { 182 background-color: ${e=>e.theme.buttons.icon.disabled.bgd}; 183 border: ${e=>e.theme.buttons.icon.disabled.border}; 184 color: ${e=>e.theme.buttons.icon.disabled.text}; 185 cursor: not-allowed; 186 } 187 188 + * { 189 position: absolute; 190 font-size: 0.55rem; 191 z-index: 1; 192 ${({iconSize:e})=>e?he[e]:he.sm} 193 } 194`,fe=r.Ay.span.withConfig(se)` 195 display: inline-block; 196 position: relative; 197`,me=(0,q.forwardRef)((e,t)=>(0,n.jsxs)(ce,Object.assign({},e,{className:e.className||"",as:e.tag,ref:t,"aria-label":e.label,"data-testid":"button",disabled:e.disabled},{children:[e.icon&&(0,n.jsx)("span",Object.assign({className:"ch-icon","data-testid":"button-icon"},{children:e.icon})),(0,n.jsx)("span",Object.assign({className:"ch-label","data-testid":"button-label"},{children:e.label}))]}))),ge=((0,q.forwardRef)((e,t)=>(0,n.jsx)(me,Object.assign({variant:"primary"},e))),(0,q.forwardRef)((e,t)=>(0,n.jsx)(me,Object.assign({variant:"secondary"},e)))),ve=(0,q.forwardRef)((e,t)=>(0,n.jsxs)(fe,{children:[(0,n.jsx)(me,Object.assign({ref:t,variant:"icon"},e)),e.badge]})),be=e=>{var{className:t,children:i,viewBox:r="0 0 24 24",xmlns:o="http://www.w3.org/2000/svg",width:s,height:a,title:d}=e,c=X(e,["className","children","viewBox","xmlns","width","height","title"]);const l={width:s,height:a};return(0,n.jsxs)("svg",Object.assign({xmlns:o,className:`Svg ${t||""}`,height:a,style:l,viewBox:r,width:s},c,{children:[d&&(0,n.jsx)("title",{children:d}),(0,n.jsx)("g",Object.assign({fillRule:"evenodd",fill:"currentColor"},{children:i}))]}))},ye={up:"0",right:"90",down:"180",left:"270"};((0,r.Ay)(be).withConfig(se)` 198 transform: ${({direction:e})=>`rotate(${ye[e||"up"]}deg)`}; 199`,e=>{var{disabled:t=!1}=e,i=X(e,["disabled"]);return(0,n.jsx)(be,Object.assign({},i,{children:t?(0,n.jsx)("path",{xmlns:"http://www.w3.org/2000/svg",d:"M4.146 4.146c.196-.195.512-.195.708 0L7.707 7h.007l1 1h-.007L15 14.293v-.007l.894.894-.001.006 3.961 3.96c.195.196.195.512 0 .708-.098.097-.226.146-.354.146-.128 0-.256-.049-.354-.146l-3.747-3.748c-.459.542-1.134.894-1.899.894h-7C5.121 17 4 15.879 4 14.5v-5c0-1.314 1.022-2.383 2.312-2.481L4.146 4.854c-.195-.196-.195-.512 0-.708zM7.293 8H6.5C5.673 8 5 8.673 5 9.5v5c0 .827.673 1.5 1.5 1.5h7c.488 0 .919-.238 1.192-.601L7.293 8zM13.5 7C14.879 7 16 8.121 16 9.5v.566l1.813-1.303c.426-.306.983-.349 1.456-.107.451.231.731.684.731 1.181v4.326c0 .497-.28.95-.731 1.181-.205.104-.424.156-.642.156-.287 0-.571-.089-.814-.263l-1.592-1.144L15 12.873V9.5c0-.827-.673-1.5-1.5-1.5h-3.372l-1-1zm5.313 2.546c-.051-.026-.233-.1-.416.03l-2.256 1.621c-.089.064-.141.16-.141.262v1.082c0 .102.051.
199197.141.262l2.256 1.622c.182.131.365.054.416.03.055-.029.187-.116.187-.292V9.837c0-.176-.132-.263-.187-.29z"}):(0,n.jsx)("path",{d:"M19 14.164c0 .176-.131.262-.187.29-.052.027-.234.1-.416-.028l-2.256-1.622v-.001c-.09-.064-.141-.16-.141-.262v-1.082c0-.102.051-.197.141-.262l2.255-1.622c.081-.057.159-.075.227-.075.09 0 .16.03.19.046.056.029.187.115.187.29v4.328zm-4 .336c0 .828-.673 1.5-1.5 1.5h-7c-.827 0-1.5-.672-1.5-1.5v-5C5 8.673 5.673 8 6.5 8h7c.827 0 1.5.673 1.5 1.5v5zm4.27-5.843c-.471-.242-1.028-.202-1.457.106L16 10.066V9.5C16 8.122 14.879 7 13.5 7h-7C5.121 7 4 8.122 4 9.5v5C4 15.879 5.121 17 6.5 17h7c1.379 0 2.5-1.121 2.5-2.5v-.566l1.814 1.304c.243.174.527.262.813.262.219 0 .438-.051.643-.156.45-.231.73-.683.73-1.18V9.837c0-.497-.28-.95-.73-1.18z"})}))}).displayName="Camera";const Se={up:"0",right:"90",down:"180",left:"270"},we=((0,r.Ay)(be).withConfig(se)` 200 transform: ${({direction:e})=>`rotate(${Se[e||"up"]}deg)`}; 201`,{default:r.AH` 202 .ch-caution-background { 203 fill: transparent; 204 } 205`,"fill-warning":r.AH` 206 .ch-caution-background { 207 fill: ${e=>e.theme.colors.warning.primary}; 208 } 209 210 .ch-caution-exclamation { 211 fill: ${e=>e.theme.colors.greys.white}; 212 } 213 214 .ch-caution-border { 215 fill: ${e=>e.theme.colors.warning.primary}; 216 } 217`,"fill-error":r.AH` 218 .ch-caution-background { 219 fill: ${e=>e.theme.colors.error.primary}; 220 } 221 222 .ch-caution-exclamation { 223 fill: ${e=>e.theme.colors.greys.white}; 224 } 225 226 .ch-caution-border { 227 fill: ${e=>e.theme.colors.error.primary}; 228 } 229`}),Ce=r.Ay.g.withConfig(se)` 230 ${e=>we[e.variant||"default"]}; 231`,ke=e=>(0,n.jsx)(be,Object.assign({}
231,e,{children:(0,n.jsxs)(Ce,Object.assign({fill:"currentColor",variant:e.variant},{children:[(0,n.jsx)("path",{className:"ch-caution-background",d:"M18.728 15.186l-5.085-8.281C13.293 6.338 12.68 6 12 6c-.68 0-1.294.338-1.642.905l-5.085 8.281c-.351.571-.365 1.258-.04 1.841.336.6.98.972 1.68.972h10.17c.704 0 1.348-.372 1.683-.972.326-.583.312-1.27-.04-1.841"}),(0,n.jsx)("path",{className:"ch-caution-exclamation",d:"M12.572 14.609v1.219h-1.166v-1.219h1.166zm.023-5.388v1.83l-.288 2.727h-.597l-.305-2.727V9.22h1.19z"}),(0,n.jsx)("path",{className:"ch-caution-border",d:"M17.894 16.539c-.161.288-.463.46-.81.46H6.915c-.343 0-.645-.172-.806-.46-.15-.266-.143-.568.017-.829l5.085-8.281c.33-.536 1.25-.538 1.58 0l5.086 8.281c.16.261.167.563.018.829m.834-1.353l-5.085-8.281C13.293 6.338 12.68 6 12 6c-.68 0-1.294.338-1.642.905l-5.085 8.281c-.351.571-.365 1.258-.04 1.841.336.6.98.972 1.68.972h10.17c.704 0 1.348-.372 1.683-.972.326-.583.312-1.27-.04-1.841"})]}))}));ke.displayName="Caution";const Ee=e=>(0,n.jsx)(be,Object.assign({},e,{children:(0,n.jsx)("path",{d:"M16.834 9.178c-.18-.21-.494-.238-.705-.061l-5.912 4.975-2.33-2.846c-.175-.214-.491-.245-.703-.07-.214.175-.246.49-.071.703l2.652 3.238.004.006c.037.044.085.073.132.1.015.01.026.025.04.032.068.03.138.046.21.046.056 0 .113-.01.166-.028.038-.013.07-.037.106-.06.015-.01.03-.014.045-.025v-.001l.006-.003 6.299-5.301c.21-.178.239-.493.06-.705"})}));Ee.displayName="Check";const Te=e=>(0,n.jsx)(be,Object.assign({},e,{children:(0,n.jsx)("path",{d:"M12 4c4.411 0 8 3.589 8 8s-3.589 8-8 8-8-3.589-8-8 3.589-8 8-8zm0 1c-3.86 0-7 3.141-7 7s3.14 7 7 7 7-3.141 7-7-3.14-7-7-7zm3.493 4.873c.211-.179.526-.15.705.061.177.211.15.527-.061.705l-4.476 3.764-.003.002v.001c-.029.024-.061.035-.091.051-.02.011-.039.027-.061.035-.054.019-.11.028-.166.028-.072 0-.143-.015-.209-.045-.016-.007-.027-.023-.042-.032-.047-.028-.095-.056-.132-.1l-.001-.002-.003-.004-1.84-2.246c-.175-.213-.143-.529.07-.703.213-.177.529-.145.704.07l1.518 1.853z"})}));Te.displayName="CheckRound";const Ie=e=>(0,n.jsx)(be,Object.assign({},e,{title:"Clear"},{children:(0,n.jsx)("path",{d:"M12 5c3.866 0 7 3.134 7 7s-3.134 7-7 7-7-3.134-7-7 3.134-7 7-7zM9.172 9.17c-.196.196-.196.513 0 .708L11.293 12l-2.12 2.12c-.197.197-.197.513 0 .708.096.098.224.147.352.147.128 0 .256-.05.354-.147L12 12.707l2.121 2.12c.098.099.226.148.353.148.128 0 .256-.05.354-.147.195-.195.195-.511 0-.707L12.708 12l2.12-2.122c.195-.195.195-.512 0-.707-.195-.195-.512-.195-.707 0l-2.12 2.12-2.122-2.12c-.196-.195-.512-.195-.707 0z"})}));Ie.displayName="Clear";const xe=e=>(0,n.jsx)(be,Object.assign({},e,{children:(0,n.jsx)("path",{d:"M12 4c4.411 0 8 3.589 8 8s-3.589 8-8 8-8-3.589-8-8 3.589-8 8-8zm0 1c-3.859 0-7 3.141-7 7s3.141 7 7 7 7-3.141 7-7-3.141-7-7-7zm0 2.559c.276 0 .5.223.5.5V11.5h3c.276 0 .5.224.5.5s-.224.5-.5.5H12c-.276 0-.5-.224-.5-.5V8.059c0-.277.224-.5.5-.5z"})}));xe.displayName="Clock";const Ae=e=>(0,n.jsx)(be,Object.assign({},e,{children:(0,n.jsx)("path",{d:"M12 4c4.418 0 8 3.582 8 8s-3.582 8-8 8-8-3.582-8-8 3.582-8 8-8zm0 1c-3.86 0-7 3.14-7 7 0 3.859 3.14 7 7 7 3.859 0 7-3.141 7-7 0-3.86-3.141-7-7-7zm-3 6c.552 0 1 .448 1 1s-.448 1-1 1-1-.448-1-1 .448-1 1-1zm6 0c.553 0 1 .448 1 1s-.447 1-1 1c-.553 0-1-.448-1-1s.447-1 1-1zm-3 0c.552 0 1 .448 1 1s-.448 1-1 1-1-.448-1-1 .448-1 1-1z"})}));Ae.displayName="Dots";r.Ay.circle.withConfig(se)` 232 fill: ${e=>e.theme.colors.primary.main}; 233`;const Pe=e=>(0,n.jsx)(be,Object.assign({},e,{children:(0,n.jsx)("path",{d:"M12 4c4.411 0 8 3.589 8 8s-3.589 8-8 8-8-3.589-8-8 3.589-8 8-8zm0 1c-3.859 0-7 3.141-7 7s3.141 7 7 7 7-3.141 7-7-3.141-7-7-7zm.016 6.476c.276 0 .5.224.5.5v2.498c0 .276-.224.5-.5.5s-.5-.224-.5-.5v-2.498c0-.276.224-.5.5-.5zM12 8.709c.414 0 .75.335.75.75 0 .414-.336.75-.75.75s-.75-.336-.75-.75c0-.415.336-.75.75-.75z"})}));Pe.displayName="Information";const Oe=(0,r.Ay)(e=>{var t=X(e,["poorConnection","muted"]);return(0,n.jsx)(be,Object.assign({},t))}).withConfig(se)` 234 ${e=>e.poorConnection?`color: ${e.theme.colors.error.light}`:""} 235`,_e=e=>{var{muted:t=!1,poorConnection:i=!1,mutedTitle:r="Muted microphone",unmutedTitle:o="Microphone"}=e,s=X(e,["muted","poorConnection","mutedTitle","unmutedTitle"]);const a=function(e,t){return e?t?"M4.146 4.146c.196-.195.513-.195.708 0L9.168 8.46h.018l.813.815v.018l5.854 5.854c.002-.005.005-.008.008-.01l.724.724-.008.01 3.276 3.275c.195.195.195.512 0 .707-.098.098-.226.147-.354.147-.127 0-.255-.049-.352-.146l-3.281-3.281C14.82 17.459 13.475 18 11.998 18c-3.308 0-6-2.691-6-6 0-.277.224-.5.5-.5.278 0 .5.223.5.5 0 2.757 2.244 5 5 5 1.2 0 2.29-.436 3.147-1.146l
235-1.439-1.438c-.14.105-.287.207-.445.285l-.447-.895c.062-.03.116-.073.174-.11l-2.99-2.989v.941H9v-1.063h.88L4.147 4.853c-.196-.194-.196-.511 0-.707zM14.5 19c.276 0 .5.224.5.5s-.224.5-.5.5h-5c-.276 0-.5-.224-.5-.5s.224-.5.5-.5zm3-7.5c.276 0 .5.224.5.5 0 1.106-.307 2.14-.83 3.031l-.748-.748c.357-.687.578-1.456.578-2.283 0-.276.224-.5.5-.5zm-6.293 2.317c.25.121.517.183.793.183l.016 1.001-.098-.008c-.359-.012-.76-.089-1.147-.275zm-1.085-1.278c.093.282.234.536.42.757l-.766.644c-.267-.319-.47-.685-.603-1.089zM15 11.618v.155c0 .325-.051.643-.139.95l-.867-.868c.001-.027.006-.055.006-.082v-.155h1zm0-2.126v1.062h-1V9.492h1zm0-2.125v1.062h-1V7.367h1zM9.155 6.201l.955.297c-.073.235-.11.48-.11.73v.17h-.463l-.512-.512c.024-.232.061-.463.13-.685zm5.079-1.128c.268.321.469.689.599 1.093l-.951.307c-.091-.283-.231-.537-.415-.759zm-3.514-.765l.453.891c-.246.126-.474.312-.656.535l-.776-.63c.274-.338.603-.604.979-.796zM12 4c.434 0 .853.098 1.245.29l-.44.897C12.553 5.064 12.282 5 12 5l-.031-1z":"M14.5 19c.276 0 .5.224.5.5s-.224.5-.5.5h-5c-.276 0-.5-.224-.5-.5s.224-.5.5-.5zM4.146 4.146c.196-.195.512-.195.708 0l15 15c.195.196.195.512 0 .708-.098.097-.226.146-.354.146-.128 0-.256-.049-.354-.146l-3.282-3.283C14.819 17.458 13.475 18 12 18c-3.309 0-6-2.691-6-6 0-.276.224-.5.5-.5s.5.224.5.5c0 2.757 2.243 5 5 5 1.199 0 2.288-.437 3.146-1.146l-1.452-1.453c-.483.366-1.058.599-1.694.599-1.654 0-3-1.448-3-3.228V9.707L4.146 4.854c-.195-.196-.195-.512 0-.708zM17.5 11.5c.276 0 .5.224.5.5 0 1.112-.31 2.152-.84 3.046l-.747-.746c.362-.693.587-1.467.587-2.3 0-.276.224-.5.5-.5zm-7.5-.793v1.065c0 1.229.897 2.228 2 2.228.362 0 .7-.111.992-.301L10 10.707zm2-6.708c1.654 0 3 1.45 3 3.228v4.546c0 .337-.062.655-.151.962l-.859-.858.01-.104V7.228C14 5.998 13.103 5 12 5s-2 .998-2 2.228v.658l-.971-.97C9.178 5.284 10.445 3.998 12 3.998z":t?"M14.5 19c.276 0 .5.224.5.5s-.224.5-.5.5h-5c-.276 0-.5-.224-.5-.5s.224-.5.5-.5h5zm3-7.5c.276 0 .5.224.5.5 0 3.309-2.691 6-6 6s-6-2.691-6-6c0-.276.224-.5.5-.5s.5.224.5.5c0 2.757 2.243 5 5 5s5-2.243 5-5c0-.276.224-.5.5-.5zm-6.293 2.318c.25.12.517.183.793.183l.013.958v-.46l.085.492H12.014c-.486-.002-.876-.096-1.242-.274l.435-.9zm2.268-.543l.77.637c-.275.335-.606.6-.983.79l-.447-.896c.25-.125.473-.303.66-.53zm-3.353-.736c.093.283.235.537.42.757l-.765.645c-.268-.32-.472-.687-.604-1.09l.949-.312zM15 11.619v.155c0 .359-.053.71-.16 1.043l-.953-.305c.075-.233.113-.482.113-.738v-.155h1zm-5-1.033v1.063H9v-1.063h1zm5-1.093v1.063h-1V9.492h1zm-5-1.03v1.062H9V8.46h1zm5-1.095V8.43h-1V7.367h1zM9.156 6.2l.955.3c-.074.232-.111.478-.111.728v.17H9v-.17c0-.351.053-.696.156-1.027zm5.08-1.127c.267.32.468.688.598 1.093l-.951.306c-.091-.282-.23-.537-.415-.759l.768-.64zm-3.516-.766l.453.891c-.246.126-.473.311-.656.535l-.775-.63c.273-.337.602-.603.978-.795zM12 4c.433 0 .852.098 1.245.29l-.44.899C12.55 5.064 12.28 5 12 5l-.031-1h.03z":"M14.5 19c.276 0 .5.224.5.5s-.224.5-.5.5h-5c-.276 0-.5-.224-.5-.5s.224-.5.5-.5zm3-7.5c.276 0 .5.224.5.5 0 3.309-2.691 6-6 6s-6-2.691-6-6c0-.276.224-.5.5-.5s.5.224.5.5c0 2.757 2.243 5 5 5s5-2.243 5-5c0-.276.224-.5.5-.5zM12 4c1.654 0 3 1.448 3 3.227v4.546C15 13.552 13.654 15 12 15s-3-1.448-3-3.227V7.227C9 5.447 10.346 4 12 4zm0 1c-1.103 0-2 .999-2 2.227v4.546C10 13 10.897 14 12 14s2-1 2-2.227V7.227C14 5.999 13.103 5 12 5z"}(t,i);return(0,n.jsx)(Oe,Object.assign({},s,{muted:t,poorConnection:i,title:t?r:o,"data-testid":i?"poor-connection-mic":"good-connection-mic"},{children:(0,n.jsx)("path",{d:a})}))};_e.displayName="Microphone";const Me=e=>(0,n.jsx)(be,Object.assign({},e,{children:(0,n.jsx)("path",{d:"M11 16c-2.757 0-5-2.243-5-5s2.243-5 5-5 5 2.243 5 5-2.243 5-5 5m7.852 2.145l-3.294-3.253C16.455 13.843 17 12.485 17 11c0-3.309-2.691-6-6-6s-6 2.691-6 6 2.691 6 6 6c1.464 0 2.807-.528 3.849-1.403l3.299 3.258c.098.097.225.145.352.145.129 0 .258-.05.355-.148.195-.197.193-.514-.003-.707"})}));Me.displayName="Search";const Re=e=>(0,n.jsx)(be,Object.assign({},e,{children:(0,n.jsx)("path",{d:"M8.824 9.88c-.21.18-.526.154-.705-.056-.159-.187-.156-.457-.006-.64l.063-.065 3.523-3c.165-.14.397-.156.577-.05l.074.052 3.477 3c.209.18.232.497.052.706-.16.185-.428.224-.632.104l-.074-.052-3.151-2.72-3.198 2.722zM15.176 14.12c.21-.18.526-.154.705.056.159.187.157.457.006.64l-.063.065-3.523 3c-.165.14-.397.156-.577.05l-.074-.052-3.477-3c-.209-.18-.232-.497-.052-.706.16-.185.428-.224.632-.104l.074.052 3.151 2.72 3.198-2.722z"})}));
235Re.displayName="UpAndDownCaret";const De=r.Ay.input.withConfig(se)` 236 ${ie}; 237 238 &[aria-invalid='true'] + .ch-checkbox { 239 border: ${e=>e.theme.inputs.error.border}; 240 box-shadow: ${e=>e.theme.inputs.error.shadow}; 241 } 242`;r.Ay.div.withConfig(se)` 243 background-color: ${e=>e.theme.inputs.bgd}; 244 border: ${e=>e.theme.inputs.border}; 245 border-radius: ${e=>e.theme.radii.default}; 246 box-shadow: ${e=>e.theme.inputs.shadow}; 247 color: ${e=>e.theme.inputs.fontColor}; 248 display: inline-block; 249 height: 1rem; 250 position: relative; 251 width: 1rem; 252 transition: box-shadow 0.05s ease-in; 253 254 > svg { 255 left: -0.03125rem; 256 position: absolute; 257 transform: scale(1.5); 258 } 259 260 ${De}:checked ~ & { 261 background-color: ${e=>e.theme.inputs.checked.bgd}; 262 border: ${e=>e.theme.inputs.checked.border}; 263 box-shadow: ${e=>e.theme.inputs.checked.shadow}; 264 color: ${e=>e.theme.inputs.checked.fontColor}; 265 } 266 267 ${De}:focus ~ & { 268 border: ${e=>e.theme.inputs.focus.border}; 269 box-shadow: ${e=>e.theme.inputs.focus.shadow}; 270 } 271`;(0,q.createContext)({showLabels:!1,layout:"top"});const Fe={"undocked-vertical":"flex-direction: column;","undocked-horizontal":"flex-direction: row;",top:"flex-direction: row; width: 100%; top: 0; position: fixed;",bottom:"flex-direction: row; width: 100%; bottom: 0; position: fixed;",right:"flex-direction: column; height: 100%; right: 0; position: fixed;",left:"flex-direction: column; height: 100%; left: 0; position: fixed;"},Le=e=>"right"===e||"left"===e||"undocked-vertical"===e,Ne=e=>"undocked-vertical"===e||"undocked-horizontal"===e,Be={top:"unset;",bottom:"unset;",right:"unset;",left:"unset;"};r.Ay.div.withConfig(se)` 272 display: inline-flex; 273 justify-content: center; 274 align-items: center; 275 border-radius: ${({theme:e,layout:t})=>Ne(t)?e.radii.default:"0"}; 276 background-color: ${e=>e.theme.controlBar.bgd}; 277 opacity: ${e=>e.theme.controlBar.opacity}; 278 border: ${({theme:e,layout:t})=>Ne(t)?"none":e.controlBar.border}; 279 box-shadow: ${({theme:e,layout:t})=>Ne(t)?e.controlBar.shadow:"none"}; 280 ${({layout:e})=>Fe[`${e}`]}; 281 282 ${e=>e.responsive&&(e=>r.AH` 283 ${({theme:e})=>e.mediaQueries.max.sm} { 284 ${Be} 285 ${Le(e.layout)?Fe.left:Fe.bottom}; 286 box-shadow: ${e.theme.controlBar.shadow}; 287 border: none; 288 height: ${Le(e.layout)&&"100%"}; 289 width: ${!Le(e.layout)&&"100%"}; 290 } 291 292 ${({theme:e})=>e.mediaQueries.max.xs} { 293 justify-content: ${Le(e.layout)?"center":"space-around"}; 294 ${Be} 295 ${Le(e.layout)?Fe.left:Fe.bottom}; 296 box-shadow: ${({theme:e})=>e.controlBar.shadow}; 297 border: none; 298 } 299 `)(e)} 300 301 width: ${({layout:e})=>Le(e)&&"5rem"}; 302 height: ${({layout:e})=>!Le(e)&&"5rem"}; 303 304 ${de} 305 ${ae} 306`,r.Ay.div.withConfig(se)` 307 margin: ${({layout:e})=>Le(e)?"0.625rem 0":"0 0.625rem"}; 308 display: grid; 309 grid-template-rows: ${({showLabels:e})=>e?"1.5rem 1rem":"1.5rem"}; 310 justify-items: center; 311 align-items: center; 312 ${({popOver:e,layout:t,children:i})=>`\n ${Le(t)||!e&&!i?"":"grid-template-columns: 2.5rem minmax(0.5rem, auto);"}\n ${Le(t)&&(e||i)?"grid-template-columns: 1.5rem 1.5rem 1.5rem":""}\n `}; 313 314 > :first-child { 315 grid-column-start: ${({layout:e,popOver:t,children:i})=>Le(e)&&(t||i)?"2":"1"}; 316 } 317 318 .ch-control-bar-item-iconButton { 319 .ch-icon { 320 width: 1.5rem; 321 height: 1.5rem; 322 border-radius: 100%; 323 } 324 } 325 326 .ch-control-bar-item-caret { 327 width: 1.25rem; 328 height: 1.25rem; 329 padding: 0; 330 331 .ch-icon { 332 width: 100%; 333 height: 100%; 334 } 335 336 // setting this transform on the shape so we 337 // don't overwrite the rotate transform on the Caret 338 .Svg g { 339 transform: scale(1.333); 340 transform-origin: 50% 50%; 341 } 342 } 343 344 .ch-control-bar-popover { 345 background-color: inherit; 346 grid-column-start: ${({layout:e,popOver:t,children:i})=>Le(e)&&(t||i)?"2":"1"}; 347 color: ${({theme:e})=>e.controlBar.text}; 348 349 .isOpen.ch-control-bar-item-caret { 350 color: ${e=>e.theme.colors.primary.main}; 351 } 352 } 353 354 .ch-control-bar-item-label { 355 color: ${({theme:e})=>e.controlBar.text}; 356 grid-row-start: 2; 357 font-size: ${e=>e.theme.fontSizes.footnote.fontSize}; /* TODO: get updated font size from design */ 358 padding-top: 0.25rem; 359 justify-self: center; 360 grid-column: ${({layout:e,popOver:t,children:i})=>Le(e)&&(t||i)?"2":"1"}; 361 } 362 363 ${({theme:e})=>e.mediaQueries.max.sm} { 364 justify-content: space-around; 365 button ~ span { 366 display: none; 367 } 368 } 369 370 ${({theme:e})=>e.mediaQueries.max.xs} { 371 margin: ${({layout:e})=>Le(e)?"0.75rem 0":"0"}; 372 button ~ span { 373 display: none; 374 } 375 } 376`;var Ve="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==i.g?i.g:"undefined"!=typeof self?self:{};function Ue(e,t,i){return e(i={path:t,exports:{},require:function(e,t){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==t&&i.path)}}
376,i.exports),i.exports}var je=Ue(function(e){!function(){var t={}.hasOwnProperty;function i(){for(var e="",t=0;t<arguments.length;t++){var i=arguments[t];i&&(e=r(e,n(i)))}return e}function n(e){if("string"==typeof e||"number"==typeof e)return e;if("object"!=typeof e)return"";if(Array.isArray(e))return i.apply(null,e);if(e.toString!==Object.prototype.toString&&!e.toString.toString().includes("[native code]"))return e.toString();var n="";for(var o in e)t.call(e,o)&&e[o]&&(n=r(n,o));return n}function r(e,t){return t?e?e+" "+t:e+t:e}e.exports?(i.default=i,e.exports=i):window.classNames=i}()});function ze(){return"undefined"!=typeof window}function $e(e){return qe(e)?(e.nodeName||"").toLowerCase():"#document"}function He(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function We(e){var t;return null==(t=(qe(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function qe(e){return!!ze()&&(e instanceof Node||e instanceof He(e).Node)}function Ke(e){return!!ze()&&(e instanceof Element||e instanceof He(e).Element)}function Ge(e){return!!ze()&&(e instanceof HTMLElement||e instanceof He(e).HTMLElement)}function Je(e){return!(!ze()||"undefined"==typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof He(e).ShadowRoot)}const Qe=new Set(["inline","contents"]);function Xe(e){const{overflow:t,overflowX:i,overflowY:n,display:r}=ct(e);return/auto|scroll|overlay|hidden|clip/.test(t+n+i)&&!Qe.has(r)}const Ze=new Set(["table","td","th"]);function Ye(e){return Ze.has($e(e))}const et=[":popover-open",":modal"];function tt(e){return et.some(t=>{try{return e.matches(t)}catch(e){return!1}})}const it=["transform","translate","scale","rotate","perspective"],nt=["transform","translate","scale","rotate","perspective","filter"],rt=["paint","layout","strict","content"];function ot(e){const t=st(),i=Ke(e)?ct(e):e;return it.some(e=>!!i[e]&&"none"!==i[e])||!!i.containerType&&"normal"!==i.containerType||!t&&!!i.backdropFilter&&"none"!==i.backdropFilter||!t&&!!i.filter&&"none"!==i.filter||nt.some(e=>(i.willChange||"").includes(e))||rt.some(e=>(i.contain||"").includes(e))}function st(){return!("undefined"==typeof CSS||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}const at=new Set(["html","body","#document"]);function dt(e){return at.has($e(e))}function ct(e){return He(e).getComputedStyle(e)}function lt(e){return Ke(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function ut(e){if("html"===$e(e))return e;const t=e.assignedSlot||e.parentNode||Je(e)&&e.host||We(e);return Je(t)?t.host:t}function ht(e){const t=ut(e);return dt(t)?e.ownerDocument?e.ownerDocument.body:e.body:Ge(t)&&Xe(t)?t:ht(t)}function pt(e,t,i){var n;void 0===t&&(t=[]),void 0===i&&(i=!0);const r=ht(e),o=r===(null==(n=e.ownerDocument)?void 0:n.body),s=He(r);if(o){const e=ft(s);return t.concat(s,s.visualViewport||[],Xe(r)?r:[],e&&i?pt(e):[])}return t.concat(r,pt(r,[],i))}function ft(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function mt(e){let t=e.activeElement;for(;null!=(null==(i=t)||null==(i=i.shadowRoot)?void 0:i.activeElement);){var i;t=t.shadowRoot.activeElement}return t}function gt(e,t){if(!e||!t)return!1;const i=null==t.getRootNode?void 0:t.getRootNode();if(e.contains(t))return!0;if(i&&Je(i)){let i=t;for(;i;){if(e===i)return!0;i=i.parentNode||i.host}}return!1}function vt(){const e=navigator.userAgentData;return e&&Array.isArray(e.brands)?e.brands.map(e=>{let{brand:t,version:i}=e;return t+"/"+i}).join(" "):navigator.userAgent}function bt(){const e=/android/i;return e.test(function(){const e=navigator.userAgentData;return null!=e&&e.platform?e.platform:navigator.platform}())||e.test(vt())}function yt(e,t){const i=["mouse","pen"];return t||i.push("",void 0),i.includes(e)}function St(e){return(null==e?void 0:e.ownerDocument)||document}function wt(e,t){if(null==t)return!1;if("composedPath"in e)return e.composedPath().includes(t);const i=e;return null!=i.target&&t.contains(i.target)}function Ct(e){return"composedPath"in e?e.composedPath()[0]:e.target}function kt(e){return Ge(e)&&e.matches("input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])")}function Et(e){e.preventDefault(),e.stopPropagation()}const Tt=Math.min,It=Math.max,xt=Math.round,At=Math.floor,Pt=e=>({x:e,y:e}
vendor: 4,206 bytes, line 376
376),Ot={left:"right",right:"left",bottom:"top",top:"bottom"},_t={start:"end",end:"start"};function Mt(e,t,i){return It(e,Tt(t,i))}function Rt(e,t){return"function"==typeof e?e(t):e}function Dt(e){return e.split("-")[0]}function Ft(e){return e.split("-")[1]}function Lt(e){return"x"===e?"y":"x"}function Nt(e){return"y"===e?"height":"width"}const Bt=new Set(["top","bottom"]);function Vt(e){return Bt.has(Dt(e))?"y":"x"}function Ut(e){return Lt(Vt(e))}function jt(e){return e.replace(/start|end/g,e=>_t[e])}const zt=["left","right"],$t=["right","left"],Ht=["top","bottom"],Wt=["bottom","top"];function qt(e){return e.replace(/left|right|bottom|top/g,e=>Ot[e])}function Kt(e){const{x:t,y:i,width:n,height:r}=e;return{width:n,height:r,top:i,left:t,right:t+n,bottom:i+r,x:t,y:i}}var Gt=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"].join(","),Jt="undefined"==typeof Element,Qt=Jt?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Xt=!Jt&&Element.prototype.getRootNode?function(e){var t;return null==e||null===(t=e.getRootNode)||void 0===t?void 0:t.call(e)}:function(e){return null==e?void 0:e.ownerDocument},Zt=function(e,t){var i;void 0===t&&(t=!0);var n=null==e||null===(i=e.getAttribute)||void 0===i?void 0:i.call(e,"inert");return""===n||"true"===n||t&&e&&Zt(e.parentNode)},Yt=function(e,t,i){for(var n=[],r=Array.from(e);r.length;){var o=r.shift();if(!Zt(o,!1))if("SLOT"===o.tagName){var s=o.assignedElements(),a=s.length?s:o.children,d=Yt(a,!0,i);i.flatten?n.push.apply(n,d):n.push({scopeParent:o,candidates:d})}else{Qt.call(o,Gt)&&i.filter(o)&&(t||!e.includes(o))&&n.push(o);var c=o.shadowRoot||"function"==typeof i.getShadowRoot&&i.getShadowRoot(o),l=!Zt(c,!1)&&(!i.shadowRootFilter||i.shadowRootFilter(o));if(c&&l){var u=Yt(!0===c?o.children:c.children,!0,i);i.flatten?n.push.apply(n,u):n.push({scopeParent:o,candidates:u})}else r.unshift.apply(r,o.children)}}return n},ei=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},ti=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||function(e){var t,i=null==e||null===(t=e.getAttribute)||void 0===t?void 0:t.call(e,"contenteditable");return""===i||"true"===i}(e))&&!ei(e)?0:e.tabIndex},ii=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},ni=function(e){return"INPUT"===e.tagName},ri=function(e){var t=e.getBoundingClientRect(),i=t.width,n=t.height;return 0===i&&0===n},oi=function(e,t){return!(t.disabled||Zt(t)||function(e){return ni(e)&&"hidden"===e.type}(t)||function(e,t){var i=t.displayCheck,n=t.getShadowRoot;if("full-native"===i&&"checkVisibility"in e)return!e.checkVisibility({checkOpacity:!1,opacityProperty:!1,contentVisibilityAuto:!0,visibilityProperty:!0,checkVisibilityCSS:!0});if("hidden"===getComputedStyle(e).visibility)return!0;var r=Qt.call(e,"details>summary:first-of-type")?e.parentElement:e;if(Qt.call(r,"details:not([open]) *"))return!0;if(i&&"full"!==i&&"full-native"!==i&&"legacy-full"!==i){if("non-zero-area"===i)return ri(e)}else{if("function"==typeof n){for(var o=e;e;){var s=e.parentElement,a=Xt(e);if(s&&!s.shadowRoot&&!0===n(s))return ri(e);e=e.assignedSlot?e.assignedSlot:s||a===e.ownerDocument?s:a.host}e=o}if(function(e){var t,i,n,r,o=e&&Xt(e),s=null===(t=o)||void 0===t?void 0:t.host,a=!1;if(o&&o!==e)for(a=!!(null!==(i=s)&&void 0!==i&&null!==(n=i.ownerDocument)&&void 0!==n&&n.contains(s)||null!=e&&null!==(r=e.ownerDocument)&&void 0!==r&&r.contains(e));!a&&s;){var d,c,l;a=!(null===(c=s=null===(d=o=Xt(s))||void 0===d?void 0:d.host)||void 0===c||null===(l=c.ownerDocument)||void 0===l||!l.contains(s))}return a}(e))return!e.getClientRects().length;if("legacy-full"!==i)return!0}return!1}(t,e)||function(e){return"DETAILS"===e.tagName&&Array.prototype.slice.apply(e.children).some(function(e){return"SUMMARY"===e.tagName})}
vendor: 4,125 bytes, line 376
376(t)||function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if("FIELDSET"===t.tagName&&t.disabled){for(var i=0;i<t.children.length;i++){var n=t.children.item(i);if("LEGEND"===n.tagName)return!!Qt.call(t,"fieldset[disabled] *")||!n.contains(e)}return!0}t=t.parentElement}return!1}(t))},si=function(e,t){return!(function(e){return function(e){return ni(e)&&"radio"===e.type}(e)&&!function(e){if(!e.name)return!0;var t,i=e.form||Xt(e),n=function(e){return i.querySelectorAll('input[type="radio"][name="'+e+'"]')};if("undefined"!=typeof window&&void 0!==window.CSS&&"function"==typeof window.CSS.escape)t=n(window.CSS.escape(e.name));else try{t=n(e.name)}catch(e){return console.error("Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s",e.message),!1}var r=function(e,t){for(var i=0;i<e.length;i++)if(e[i].checked&&e[i].form===t)return e[i]}(t,e.form);return!r||r===e}(e)}(t)||ti(t)<0||!oi(e,t))},ai=function(e){var t=parseInt(e.getAttribute("tabindex"),10);return!!(isNaN(t)||t>=0)},di=function(e){var t=[],i=[];return e.forEach(function(e,n){var r=!!e.scopeParent,o=r?e.scopeParent:e,s=function(e,t){var i=ti(e);return i<0&&t&&!ei(e)?0:i}(o,r),a=r?di(e.candidates):o;0===s?r?t.push.apply(t,a):t.push(o):i.push({documentOrder:n,tabIndex:s,item:e,isScope:r,content:a})}),i.sort(ii).reduce(function(e,t){return t.isScope?e.push.apply(e,t.content):e.push(t.content),e},[]).concat(t)},ci=function(e,t){var i;return i=(t=t||{}).getShadowRoot?Yt([e],t.includeContainer,{filter:si.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:ai}):function(e,t,i){if(Zt(e))return[];var n=Array.prototype.slice.apply(e.querySelectorAll(Gt));return t&&Qt.call(e,Gt)&&n.unshift(e),n.filter(i)}(e,t.includeContainer,si.bind(null,t)),di(i)};function li(e,t,i){let{reference:n,floating:r}=e;const o=Vt(t),s=Ut(t),a=Nt(s),d=Dt(t),c="y"===o,l=n.x+n.width/2-r.width/2,u=n.y+n.height/2-r.height/2,h=n[a]/2-r[a]/2;let p;switch(d){case"top":p={x:l,y:n.y-r.height};break;case"bottom":p={x:l,y:n.y+n.height};break;case"right":p={x:n.x+n.width,y:u};break;case"left":p={x:n.x-r.width,y:u};break;default:p={x:n.x,y:n.y}}switch(Ft(t)){case"start":p[s]-=h*(i&&c?-1:1);break;case"end":p[s]+=h*(i&&c?-1:1)}return p}async function ui(e,t){var i;void 0===t&&(t={});const{x:n,y:r,platform:o,rects:s,elements:a,strategy:d}=e,{boundary:c="clippingAncestors",rootBoundary:l="viewport",elementContext:u="floating",altBoundary:h=!1,padding:p=0}=Rt(t,e),f=function(e){return"number"!=typeof e?function(e){return{top:0,right:0,bottom:0,left:0,...e}}(e):{top:e,right:e,bottom:e,left:e}}(p),m=a[h?"floating"===u?"reference":"floating":u],g=Kt(await o.getClippingRect({element:null==(i=await(null==o.isElement?void 0:o.isElement(m)))||i?m:m.contextElement||await(null==o.getDocumentElement?void 0:o.getDocumentElement(a.floating)),boundary:c,rootBoundary:l,strategy:d})),v="floating"===u?{x:n,y:r,width:s.floating.width,height:s.floating.height}:s.reference,b=await(null==o.getOffsetParent?void 0:o.getOffsetParent(a.floating)),y=await(null==o.isElement?void 0:o.isElement(b))&&await(null==o.getScale?void 0:o.getScale(b))||{x:1,y:1},S=Kt(o.convertOffsetParentRelativeRectToViewportRelativeRect?await o.convertOffsetParentRelativeRectToViewportRelativeRect({elements:a,rect:v,offsetParent:b,strategy:d}):v);return{top:(g.top-S.top+f.top)/y.y,bottom:(S.bottom-g.bottom+f.bottom)/y.y,left:(g.left-S.left+f.left)/y.x,right:(S.right-g.right+f.right)/y.x}}const hi=new Set(["left","top"]);function pi(e){const t=ct(e);let i=parseFloat(t.width)||0,n=parseFloat(t.height)||0;const r=Ge(e),o=r?e.offsetWidth:i,s=r?e.offsetHeight:n,a=xt(i)!==o||xt(n)!==s;return a&&(i=o,n=s),{width:i,height:n,$:a}}function fi(e){return Ke(e)?e:e.contextElement}function mi(e){const t=fi(e);if(!Ge(t))return Pt(1);const i=t.getBoundingClientRect(),{width:n,height:r,$:o}=pi(t);let s=(o?xt(i.width):i.width)/n,a=(o?xt(i.height):i.height)/r;return s&&Number.isFinite(s)||(s=1),a&&Number.isFinite(a)||(a=1),{x:s,y:a}}const gi=Pt(0);function vi(e){const t=He(e);
vendor: 5,261 bytes, line 376
376return st()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:gi}function bi(e,t,i,n){void 0===t&&(t=!1),void 0===i&&(i=!1);const r=e.getBoundingClientRect(),o=fi(e);let s=Pt(1);t&&(n?Ke(n)&&(s=mi(n)):s=mi(e));const a=function(e,t,i){return void 0===t&&(t=!1),!(!i||t&&i!==He(e))&&t}(o,i,n)?vi(o):Pt(0);let d=(r.left+a.x)/s.x,c=(r.top+a.y)/s.y,l=r.width/s.x,u=r.height/s.y;if(o){const e=He(o),t=n&&Ke(n)?He(n):n;let i=e,r=ft(i);for(;r&&n&&t!==i;){const e=mi(r),t=r.getBoundingClientRect(),n=ct(r),o=t.left+(r.clientLeft+parseFloat(n.paddingLeft))*e.x,s=t.top+(r.clientTop+parseFloat(n.paddingTop))*e.y;d*=e.x,c*=e.y,l*=e.x,u*=e.y,d+=o,c+=s,i=He(r),r=ft(i)}}return Kt({width:l,height:u,x:d,y:c})}function yi(e,t){const i=lt(e).scrollLeft;return t?t.left+i:bi(We(e)).left+i}function Si(e,t){const i=e.getBoundingClientRect();return{x:i.left+t.scrollLeft-yi(e,i),y:i.top+t.scrollTop}}const wi=new Set(["absolute","fixed"]);function Ci(e,t,i){let n;if("viewport"===t)n=function(e,t){const i=He(e),n=We(e),r=i.visualViewport;let o=n.clientWidth,s=n.clientHeight,a=0,d=0;if(r){o=r.width,s=r.height;const e=st();(!e||e&&"fixed"===t)&&(a=r.offsetLeft,d=r.offsetTop)}const c=yi(n);if(c<=0){const e=n.ownerDocument,t=e.body,i=getComputedStyle(t),r="CSS1Compat"===e.compatMode&&parseFloat(i.marginLeft)+parseFloat(i.marginRight)||0,s=Math.abs(n.clientWidth-t.clientWidth-r);s<=25&&(o-=s)}else c<=25&&(o+=c);return{width:o,height:s,x:a,y:d}}(e,i);else if("document"===t)n=function(e){const t=We(e),i=lt(e),n=e.ownerDocument.body,r=It(t.scrollWidth,t.clientWidth,n.scrollWidth,n.clientWidth),o=It(t.scrollHeight,t.clientHeight,n.scrollHeight,n.clientHeight);let s=-i.scrollLeft+yi(e);const a=-i.scrollTop;return"rtl"===ct(n).direction&&(s+=It(t.clientWidth,n.clientWidth)-r),{width:r,height:o,x:s,y:a}}(We(e));else if(Ke(t))n=function(e,t){const i=bi(e,!0,"fixed"===t),n=i.top+e.clientTop,r=i.left+e.clientLeft,o=Ge(e)?mi(e):Pt(1);return{width:e.clientWidth*o.x,height:e.clientHeight*o.y,x:r*o.x,y:n*o.y}}(t,i);else{const i=vi(e);n={x:t.x-i.x,y:t.y-i.y,width:t.width,height:t.height}}return Kt(n)}function ki(e,t){const i=ut(e);return!(i===t||!Ke(i)||dt(i))&&("fixed"===ct(i).position||ki(i,t))}function Ei(e,t,i){const n=Ge(t),r=We(t),o="fixed"===i,s=bi(e,!0,o,t);let a={scrollLeft:0,scrollTop:0};const d=Pt(0);function c(){d.x=yi(r)}if(n||!n&&!o)if(("body"!==$e(t)||Xe(r))&&(a=lt(t)),n){const e=bi(t,!0,o,t);d.x=e.x+t.clientLeft,d.y=e.y+t.clientTop}else r&&c();o&&!n&&r&&c();const l=!r||n||o?Pt(0):Si(r,a);return{x:s.left+a.scrollLeft-d.x-l.x,y:s.top+a.scrollTop-d.y-l.y,width:s.width,height:s.height}}function Ti(e){return"static"===ct(e).position}function Ii(e,t){if(!Ge(e)||"fixed"===ct(e).position)return null;if(t)return t(e);let i=e.offsetParent;return We(e)===i&&(i=i.ownerDocument.body),i}function xi(e,t){const i=He(e);if(tt(e))return i;if(!Ge(e)){let t=ut(e);for(;t&&!dt(t);){if(Ke(t)&&!Ti(t))return t;t=ut(t)}return i}let n=Ii(e,t);for(;n&&Ye(n)&&Ti(n);)n=Ii(n,t);return n&&dt(n)&&Ti(n)&&!ot(n)?i:n||function(e){let t=ut(e);for(;Ge(t)&&!dt(t);){if(ot(t))return t;if(tt(t))return null;t=ut(t)}return null}(e)||i}const Ai={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:i,offsetParent:n,strategy:r}=e;const o="fixed"===r,s=We(n),a=!!t&&tt(t.floating);if(n===s||a&&o)return i;let d={scrollLeft:0,scrollTop:0},c=Pt(1);const l=Pt(0),u=Ge(n);if((u||!u&&!o)&&(("body"!==$e(n)||Xe(s))&&(d=lt(n)),Ge(n))){const e=bi(n);c=mi(n),l.x=e.x+n.clientLeft,l.y=e.y+n.clientTop}const h=!s||u||o?Pt(0):Si(s,d);return{width:i.width*c.x,height:i.height*c.y,x:i.x*c.x-d.scrollLeft*c.x+l.x+h.x,y:i.y*c.y-d.scrollTop*c.y+l.y+h.y}},getDocumentElement:We,getClippingRect:function(e){let{element:t,boundary:i,rootBoundary:n,strategy:r}=e;const o=[..."clippingAncestors"===i?tt(t)?[]:function(e,t){const i=t.get(e);if(i)return i;let n=pt(e,[],!1).filter(e=>Ke(e)&&"body"!==$e(e)),r=null;const o="fixed"===ct(e).position;let s=o?ut(e):e;for(;Ke(s)&&!dt(s);){const t=ct(s),i=ot(s);i||"fixed"!==t.position||(r=null),(o?!i&&!r:!i&&"static"===t.position&&r&&wi.has(r.position)||Xe(s)&&!i&&ki(e,s))?n=n.filter(e=>e!==s):r=t,s=ut(s)}return t.set(e,n),n}(t,this._c):[].concat(i),n],s=o[0],a=o.reduce((e,i)=>{const n=Ci(t,i,r);return e.top=It(n.top,e.top),e.right=Tt(n.right,e.right),e.bottom=Tt(n.bottom,e.bottom),e.left=It(n.left,e.left),e},Ci(t,s,r));return{width:a.right-a.left,height:a.bottom-a.top,x:a.left,y:a.top}},getOffsetParent:xi,getElementRects:async function(e){const t=this.getOffsetParent||xi,i=this.getDimensions,n=await i(e.floating);return{reference:Ei(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}},getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){const{width:t,height:i}=pi(e);return{width:t,height:i}},getScale:mi,isElement:Ke,isRTL:function(e){return"rtl"===ct(e).direction}};function Pi(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Oi(e,t,i,n){void 0===n&&(n={});const{ancestorScroll:r=!0,ancestorResize:o=!0,elementResize:s="function"==typeof ResizeObserver,layoutShift:a="function"==typeof IntersectionObserver,animationFrame:d=!1}=n,c=fi(e),l=r||o?[...c?pt(c):[],...pt(t)]:[];
vendor: 4,319 bytes, line 376
376l.forEach(e=>{r&&e.addEventListener("scroll",i,{passive:!0}),o&&e.addEventListener("resize",i)});const u=c&&a?function(e,t){let i,n=null;const r=We(e);function o(){var e;clearTimeout(i),null==(e=n)||e.disconnect(),n=null}return function s(a,d){void 0===a&&(a=!1),void 0===d&&(d=1),o();const c=e.getBoundingClientRect(),{left:l,top:u,width:h,height:p}=c;if(a||t(),!h||!p)return;const f={rootMargin:-At(u)+"px "+-At(r.clientWidth-(l+h))+"px "+-At(r.clientHeight-(u+p))+"px "+-At(l)+"px",threshold:It(0,Tt(1,d))||1};let m=!0;function g(t){const n=t[0].intersectionRatio;if(n!==d){if(!m)return s();n?s(!1,n):i=setTimeout(()=>{s(!1,1e-7)},1e3)}1!==n||Pi(c,e.getBoundingClientRect())||s(),m=!1}try{n=new IntersectionObserver(g,{...f,root:r.ownerDocument})}catch(e){n=new IntersectionObserver(g,f)}n.observe(e)}(!0),o}(c,i):null;let h,p=-1,f=null;s&&(f=new ResizeObserver(e=>{let[n]=e;n&&n.target===c&&f&&(f.unobserve(t),cancelAnimationFrame(p),p=requestAnimationFrame(()=>{var e;null==(e=f)||e.observe(t)})),i()}),c&&!d&&f.observe(c),f.observe(t));let m=d?bi(e):null;return d&&function t(){const n=bi(e);m&&!Pi(m,n)&&i(),m=n,h=requestAnimationFrame(t)}(),i(),()=>{var e;l.forEach(e=>{r&&e.removeEventListener("scroll",i),o&&e.removeEventListener("resize",i)}),null==u||u(),null==(e=f)||e.disconnect(),f=null,d&&cancelAnimationFrame(h)}}const _i=function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){var i,n;const{x:r,y:o,placement:s,middlewareData:a}=t,d=await async function(e,t){const{placement:i,platform:n,elements:r}=e,o=await(null==n.isRTL?void 0:n.isRTL(r.floating)),s=Dt(i),a=Ft(i),d="y"===Vt(i),c=hi.has(s)?-1:1,l=o&&d?-1:1,u=Rt(t,e);let{mainAxis:h,crossAxis:p,alignmentAxis:f}="number"==typeof u?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:u.mainAxis||0,crossAxis:u.crossAxis||0,alignmentAxis:u.alignmentAxis};return a&&"number"==typeof f&&(p="end"===a?-1*f:f),d?{x:p*l,y:h*c}:{x:h*c,y:p*l}}(t,e);return s===(null==(i=a.offset)?void 0:i.placement)&&null!=(n=a.arrow)&&n.alignmentOffset?{}:{x:r+d.x,y:o+d.y,data:{...d,placement:s}}}}},Mi=function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){const{x:i,y:n,placement:r}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:a={fn:e=>{let{x:t,y:i}=e;return{x:t,y:i}}},...d}=Rt(e,t),c={x:i,y:n},l=await ui(t,d),u=Vt(Dt(r)),h=Lt(u);let p=c[h],f=c[u];if(o){const e="y"===h?"bottom":"right";p=Mt(p+l["y"===h?"top":"left"],p,p-l[e])}if(s){const e="y"===u?"bottom":"right";f=Mt(f+l["y"===u?"top":"left"],f,f-l[e])}const m=a.fn({...t,[h]:p,[u]:f});return{...m,data:{x:m.x-i,y:m.y-n,enabled:{[h]:o,[u]:s}}}}}},Ri=function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var i,n;const{placement:r,middlewareData:o,rects:s,initialPlacement:a,platform:d,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:h,fallbackStrategy:p="bestFit",fallbackAxisSideDirection:f="none",flipAlignment:m=!0,...g}=Rt(e,t);if(null!=(i=o.arrow)&&i.alignmentOffset)return{};const v=Dt(r),b=Vt(a),y=Dt(a)===a,S=await(null==d.isRTL?void 0:d.isRTL(c.floating)),w=h||(y||!m?[qt(a)]:function(e){const t=qt(e);return[jt(e),t,jt(t)]}(a)),C="none"!==f;!h&&C&&w.push(...function(e,t,i,n){const r=Ft(e);let o=function(e,t,i){switch(e){case"top":case"bottom":return i?t?$t:zt:t?zt:$t;case"left":case"right":return t?Ht:Wt;default:return[]}}(Dt(e),"start"===i,n);return r&&(o=o.map(e=>e+"-"+r),t&&(o=o.concat(o.map(jt)))),o}(a,m,f,S));const k=[a,...w],E=await ui(t,g),T=[];let I=(null==(n=o.flip)?void 0:n.overflows)||[];if(l&&T.push(E[v]),u){const e=function(e,t,i){void 0===i&&(i=!1);const n=Ft(e),r=Ut(e),o=Nt(r);let s="x"===r?n===(i?"end":"start")?"right":"left":"start"===n?"bottom":"top";return t.reference[o]>t.floating[o]&&(s=qt(s)),[s,qt(s)]}(r,s,S);T.push(E[e[0]],E[e[1]])}if(I=[...I,{placement:r,overflows:T}],!T.every(e=>e<=0)){var x,A;const e=((null==(x=o.flip)?void 0:x.index)||0)+1,t=k[e];if(t&&("alignment"!==u||b===Vt(t)||I.every(e=>Vt(e.placement)!==b||e.overflows[0]>0)))return{data:{index:e,overflows:I},reset:{placement:t}};let i=null==(A=I.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:A.placement;if(!i)switch(p){case"bestFit":{var P;const e=null==(P=I.filter(e=>{if(C){const t=Vt(e.placement);return t===b||"y"===t}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>
376e+t,0)]).sort((e,t)=>e[1]-t[1])[0])?void 0:P[0];e&&(i=e);break}case"initialPlacement":i=a}if(r!==i)return{reset:{placement:i}}}return{}}}},Di=(e,t,i)=>{const n=new Map,r={platform:Ai,...i},o={...r.platform,_c:n};return(async(e,t,i)=>{const{placement:n="bottom",strategy:r="absolute",middleware:o=[],platform:s}=i,a=o.filter(Boolean),d=await(null==s.isRTL?void 0:s.isRTL(t));let c=await s.getElementRects({reference:e,floating:t,strategy:r}),{x:l,y:u}=li(c,n,d),h=n,p={},f=0;for(let i=0;i<a.length;i++){const{name:o,fn:m}=a[i],{x:g,y:v,data:b,reset:y}=await m({x:l,y:u,initialPlacement:n,placement:h,strategy:r,middlewareData:p,rects:c,platform:s,elements:{reference:e,floating:t}});l=null!=g?g:l,u=null!=v?v:u,p={...p,[o]:{...p[o],...b}},y&&f<=50&&(f++,"object"==typeof y&&(y.placement&&(h=y.placement),y.rects&&(c=!0===y.rects?await s.getElementRects({reference:e,floating:t,strategy:r}):y.rects),({x:l,y:u}=li(c,h,d))),i=-1)}return{x:l,y:u,placement:h,strategy:r,middlewareData:p}})(e,t,{...r,platform:o})};var Fi="undefined"!=typeof document?q.useLayoutEffect:function(){};function Li(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if("function"==typeof e&&e.toString()===t.toString())return!0;let i,n,r;if(e&&t&&"object"==typeof e){if(Array.isArray(e)){if(i=e.length,i!==t.length)return!1;for(n=i;0!==n--;)if(!Li(e[n],t[n]))return!1;return!0}if(r=Object.keys(e),i=r.length,i!==Object.keys(t).length)return!1;for(n=i;0!==n--;)if(!{}.hasOwnProperty.call(t,r[n]))return!1;for(n=i;0!==n--;){const i=r[n];if(!("_owner"===i&&e.$$typeof||Li(e[i],t[i])))return!1}return!0}return e!=e&&t!=t}function Ni(e){return"undefined"==typeof window?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Bi(e,t){const i=Ni(e);return Math.round(t*i)/i}function Vi(e){const t=q.useRef(e);return Fi(()=>{t.current=e}),t}const Ui=(e,t)=>({...Mi(e),options:[e,t]}),ji=(e,t)=>({...Ri(e),options:[e,t]}),zi={...K},$i=zi.useInsertionEffect||(e=>e());function Hi(e){const t=q.useRef(()=>{});return $i(()=>{t.current=e}),q.useCallback(function(){for(var e=arguments.length,i=new Array(e),n=0;n<e;n++)i[n]=arguments[n];return null==t.current?void 0:t.current(...i)},[])}var Wi="undefined"!=typeof document?q.useLayoutEffect:q.useEffect;function qi(){return qi=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e},qi.apply(this,arguments)}let Ki=!1,Gi=0;const Ji=()=>"floating-ui-"+Math.random().toString(36).slice(2,6)+Gi++,Qi=zi.useId||function(){const[e,t]=q.useState(()=>Ki?Ji():void 0);return Wi(()=>{null==e&&t(Ji())},[]),q.useEffect(()=>{Ki=!0},[]),e},Xi=q.createContext(null),Zi=q.createContext(null),Yi=()=>{var e;return(null==(e=q.useContext(Xi))?void 0:e.id)||null},en=()=>q.useContext(Zi);function tn(e){return"data-floating-ui-"+e}function nn(e){const t=(0,q.useRef)(e);return Wi(()=>{t.current=e}),t}let rn=0;function on(e,t){void 0===t&&(t={});const{preventScroll:i=!1,cancelPrevious:n=!0,sync:r=!1}=t;n&&cancelAnimationFrame(rn);const o=()=>null==e?void 0:e.focus({preventScroll:i});r?o():rn=requestAnimationFrame(o)}function sn(e,t){let i=e.filter(e=>{var i;return e.parentId===t&&(null==(i=e.context)?void 0:i.open)}),n=i;for(;n.length;)n=e.filter(e=>{var t;return null==(t=n)?void 0:t.some(t=>{var i;return e.parentId===t.id&&(null==(i=e.context)?void 0:i.open)})}),i=i.concat(n);return i}let an=new WeakMap,dn=new WeakSet,cn={},ln=0;const un=e=>e&&(e.host||un(e.parentNode));function hn(e,t,i){void 0===t&&(t=!1),void 0===i&&(i=!1);const n=St(e[0]).body;return function(e,t,i,n){const r="data-floating-ui-inert",o=n?"inert":i?"aria-hidden":null,s=((e,t)=>t.map(t=>{if(e.contains(t))return t;const i=un(t);return e.contains(i)?i:null}).filter(e=>null!=e))(t,e),a=new Set,d=new Set(s),c=[];cn[r]||(cn[r]=new WeakMap);const l=cn[r];return s.forEach(function e(t){t&&!a.has(t)&&(a.add(t),t.parentNode&&e(t.parentNode))}),function e(t){t&&!d.has(t)&&[].forEach.call(t.children,t=>{if("script"!==$e(t))if(a.has(t))e(t);else{const e=o?t.getAttribute(o):null,i=null!==e&&"false"!==e,n=(an.get(t)||0)+1,s=(l.get(t)||0)+1;an.set(t,n),l.set(t,s),c.push(t),1===n&&i&&dn.add(t),1===s&&t.setAttribute(r,""),!i&&o&&t.setAttribute(o,"true")}})}(t),a.clear(),ln++,()=>
vendor: 24,570 bytes, lines 376-512
376{c.forEach(e=>{const t=(an.get(e)||0)-1,i=(l.get(e)||0)-1;an.set(e,t),l.set(e,i),t||(!dn.has(e)&&o&&e.removeAttribute(o),dn.delete(e)),i||e.removeAttribute(r)}),ln--,ln||(an=new WeakMap,an=new WeakMap,dn=new WeakSet,cn={})}}(e.concat(Array.from(n.querySelectorAll("[aria-live]"))),n,t,i)}const pn=()=>({getShadowRoot:!0,displayCheck:"function"==typeof ResizeObserver&&ResizeObserver.toString().includes("[native code]")?"full":"none"});function fn(e,t){const i=ci(e,pn());"prev"===t&&i.reverse();const n=i.indexOf(mt(St(e)));return i.slice(n+1)[0]}function mn(){return fn(document.body,"next")}function gn(){return fn(document.body,"prev")}function vn(e,t){const i=t||e.currentTarget,n=e.relatedTarget;return!n||!gt(i,n)}function bn(e){ci(e,pn()).forEach(e=>{e.dataset.tabindex=e.getAttribute("tabindex")||"",e.setAttribute("tabindex","-1")})}function yn(e){e.querySelectorAll("[data-tabindex]").forEach(e=>{const t=e.dataset.tabindex;delete e.dataset.tabindex,t?e.setAttribute("tabindex",t):e.removeAttribute("tabindex")})}const Sn={border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"fixed",whiteSpace:"nowrap",width:"1px",top:0,left:0};function wn(e){"Tab"===e.key&&(e.target,clearTimeout(void 0))}const Cn=q.forwardRef(function(e,t){const[i,n]=q.useState();Wi(()=>(/apple/i.test(navigator.vendor)&&n("button"),document.addEventListener("keydown",wn),()=>{document.removeEventListener("keydown",wn)}),[]);const r={ref:t,tabIndex:0,role:i,"aria-hidden":!i||void 0,[tn("focus-guard")]:"",style:Sn};return q.createElement("span",qi({},e,r))}),kn=q.createContext(null),En=tn("portal");function Tn(e){const{children:t,id:i,root:n,preserveTabOrder:r=!0}=e,o=function(e){void 0===e&&(e={});const{id:t,root:i}=e,n=Qi(),r=In(),[o,s]=q.useState(null),a=q.useRef(null);return Wi(()=>()=>{null==o||o.remove(),queueMicrotask(()=>{a.current=null})},[o]),Wi(()=>{if(!n)return;if(a.current)return;const e=t?document.getElementById(t):null;if(!e)return;const i=document.createElement("div");i.id=n,i.setAttribute(En,""),e.appendChild(i),a.current=i,s(i)},[t,n]),Wi(()=>{if(null===i)return;if(!n)return;if(a.current)return;let e=i||(null==r?void 0:r.portalNode);e&&!Ke(e)&&(e=e.current),e=e||document.body;let o=null;t&&(o=document.createElement("div"),o.id=t,e.appendChild(o));const d=document.createElement("div");d.id=n,d.setAttribute(En,""),e=o||e,e.appendChild(d),a.current=d,s(d)},[t,i,n,r]),o}({id:i,root:n}),[s,a]=q.useState(null),d=q.useRef(null),c=q.useRef(null),l=q.useRef(null),u=q.useRef(null),h=null==s?void 0:s.modal,p=null==s?void 0:s.open,f=!!s&&!s.modal&&s.open&&r&&!(!n&&!o);return q.useEffect(()=>{if(o&&r&&!h)return o.addEventListener("focusin",e,!0),o.addEventListener("focusout",e,!0),()=>{o.removeEventListener("focusin",e,!0),o.removeEventListener("focusout",e,!0)};function e(e){o&&vn(e)&&("focusin"===e.type?yn:bn)(o)}},[o,r,h]),q.useEffect(()=>{o&&(p||yn(o))},[p,o]),q.createElement(kn.Provider,{value:q.useMemo(()=>({preserveTabOrder:r,beforeOutsideRef:d,afterOutsideRef:c,beforeInsideRef:l,afterInsideRef:u,portalNode:o,setFocusManagerState:a}),[r,o])},f&&o&&q.createElement(Cn,{"data-type":"outside",ref:d,onFocus:e=>{if(vn(e,o)){var t;null==(t=l.current)||t.focus()}else{const e=gn()||(null==s?void 0:s.refs.domReference.current);null==e||e.focus()}}}),f&&o&&q.createElement("span",{"aria-owns":o.id,style:Sn}),o&&G.createPortal(t,o),f&&o&&q.createElement(Cn,{"data-type":"outside",ref:c,onFocus:e=>{if(vn(e,o)){var t;null==(t=u.current)||t.focus()}else{const t=mn()||(null==s?void 0:s.refs.domReference.current);null==t||t.focus(),(null==s?void 0:s.closeOnFocusOut)&&(null==s||s.onOpenChange(!1,e.nativeEvent,"focus-out"))}}}))}const In=()=>q.useContext(kn),xn="data-floating-ui-focusable";let An=[];function Pn(e){An=An.filter(e=>e.isConnected);let t=e;if(t&&"body"!==$e(t)){if(!function(e,t){if(t=t||{},!e)throw new Error("No node provided");return!1!==Qt.call(e,Gt)&&si(t,e)}(t,pn())){const e=ci(t,pn())[0];e&&(t=e)}An.push(t),An.length>20&&(An=An.slice(-20))}}function On(){return An.slice().reverse().find(e=>e.isConnected)}const _n=q.forwardRef(function(e,t){return q.createElement("button",qi({},e,{type:"button",ref:t,tabIndex:-1,style:Sn}))});function Mn(e){const{context:t,children:i,disabled:n=!1,order:r=["content"],guards:o=!0,initialFocus:s=0,returnFocus:a=!0,restoreFocus:d=!1,modal:c=!0,visuallyHiddenDismiss:l=!1,closeOnFocusOut:u=!0}=e,{open:h,refs:p,nodeId:f,onOpenChange:m,events:g,dataRef:v,floatingId:b,elements:{domReference:y,floating:S}}=t,w="number"==typeof s&&s<0,C=!!(k=y)&&"combobox"===k.getAttribute("role")&&kt(k)&&w;var k;const E="undefined"==typeof HTMLElement||!("inert"in HTMLElement.prototype)||o,T=nn(r),I=nn(s),x=nn(a),A=en(),P=In(),O=q.useRef(null),_=q.useRef(null),M=q.useRef(!1),R=q.useRef(!1),D=q.useRef(-1),F=null!=P,L=(N=S)?N.hasAttribute(xn)?N:N.querySelector("["+xn+"]")||N:null;var N;const B=Hi(function(e){return void 0===e&&(e=L),e?ci(e,pn()):[]}),V=Hi(e=>{const t=B(e);return T.current.map(e=>y&&"reference"===e?y:L&&"floating"===e?L:t).filter(Boolean).flat()});function U(e){return!n&&l&&c?q.createElement(_n,{ref:"start"===e?O:_,onClick:e=>m(!1,e.nativeEvent)},"string"==typeof l?l:"Dismiss"):null}q.useEffect(()=>{if(n)return;if(!c)return;function e(e){if("Tab"===e.key){gt(L,mt(St(L)))&&0===B().length&&!C&&Et(e);const t=V(),i=Ct(e);"reference"===T.current[0]&&i===y&&(Et(e),e.shiftKey?on(t[t.length-1]):on(t[1])),"floating"===T.current[1]&&i===L&&e.shiftKey&&(Et(e),on(t[0]))}}const t=St(L);return t.addEventListener("keydown",e),()=>{t.removeEventListener("keydown",e)}},[n,y,L,c,T,C,B,V]),q.useEffect(()=>{if(!n&&S)return S.addEventListener("focusin",e),()=>{S.removeEventListener("focusin",e)};function e(e){const t=Ct(e),i=B().indexOf(t);-1!==i&&(D.current=i)}},[n,S,B]),q.useEffect(()=>{if(!n&&u)return S&&Ge(y)?(y.addEventListener("focusout",t),y.addEventListener("pointerdown",e),S.addEventListener("focusout",t),()=>{y.removeEventListener("focusout",t),y.removeEventListener("pointerdown",e),S.removeEventListener("focusout",t)}):void 0;function e(){R.current=!0,setTimeout(()=>{R.current=!1})}function t(e){const t=e.relatedTarget;queueMicrotask(()=>{const i=!(gt(y,t)||gt(S,t)||gt(t,S)||gt(null==P?void 0:P.portalNode,t)||null!=t&&t.hasAttribute(tn("focus-guard"))||A&&(sn(A.nodesRef.current,f).find(e=>{var i,n;return gt(null==(i=e.context)?void 0:i.elements.floating,t)||gt(null==(n=e.context)?void 0:n.elements.domReference,t)})||function(e,t){var i;let n=[],r=null==(i=e.find(e=>e.id===t))?void 0:i.parentId;for(;r;){const t=e.find(e=>e.id===r);r=null==t?void 0:t.parentId,t&&(n=n.concat(t))}return n}(A.nodesRef.current,f).find(e=>{var i,n;return(null==(i=e.context)?void 0:i.elements.floating)===t||(null==(n=e.context)?void 0:n.elements.domReference)===t})));if(d&&i&&mt(St(L))===St(L).body){Ge(L)&&L.focus();const e=D.current,t=B(),i=t[e]||t[t.length-1]||L;Ge(i)&&i.focus()}!C&&c||!t||!i||R.current||t===On()||(M.current=!0,m(!1,e,"focus-out"))})}},[n,y,S,L,c,f,A,P,m,u,d,B,C]),q.useEffect(()=>{var e;if(n)return;const t=Array.from((null==P||null==(e=P.portalNode)?void 0:e.querySelectorAll("["+tn("portal")+"]"))||[]);if(S){const e=[S,...t,O.current,_.current,T.current.includes("reference")||C?y:null].filter(e=>null!=e),i=c||C?hn(e,E,!E):hn(e);return()=>{i()}}},[n,y,S,c,T,P,C,E]),Wi(()=>{if(n||!Ge(L))return;const e=mt(St(L));queueMicrotask(()=>{const t=V(L),i=I.current,n=("number"==typeof i?t[i]:i.current)||L,r=gt(L,e);w||r||!h||on(n,{preventScroll:n===L})})},[n,h,L,w,V,I]),Wi(()=>{if(n||!L)return;let e=!1;const t=St(L),i=mt(t);let r=v.current.openEvent;function o(t){let{open:i,reason:n,event:o,nested:s}=t;i&&(r=o),"escape-key"===n&&p.domReference.current&&Pn(p.domReference.current),"hover"===n&&"mouseleave"===o.type&&(M.current=!0),"outside-press"===n&&(s?(M.current=!1,e=!0):M.current=!(function(e){return!(0!==e.mozInputSource||!e.isTrusted)||(bt()&&e.pointerType?"click"===e.type&&1===e.buttons:0===e.detail&&!e.pointerType)}(o)||function(e){return!vt().includes("jsdom/")&&(!bt()&&0===e.width&&0===e.height||bt()&&1===e.width&&1===e.height&&0===e.pressure&&0===e.detail&&"mouse"===e.pointerType||e.width<1&&e.height<1&&0===e.pressure&&0===e.detail&&"touch"===e.pointerType)}(o)))}Pn(i),g.on("openchange",o);const s=t.createElement("span");return s.setAttribute("tabindex","-1"),s.setAttribute("aria-hidden","true"),Object.assign(s.style,Sn),F&&y&&y.insertAdjacentElement("afterend",s),()=>{g.off("openchange",o);const i=mt(t),n=gt(S,i)||A&&sn(A.nodesRef.current,f).some(e=>{var t;return gt(null==(t=e.context)?void 0:t.elements.floating,i)});(n||r&&["click","mousedown"].includes(r.type))&&p.domReference.current&&Pn(p.domReference.current);const a="boolean"==typeof x.current?On()||s:x.current.current||s;queueMicrotask(()=>{x.current&&!M.current&&Ge(a)&&(a===i||i===t.body||n)&&a.focus({preventScroll:e}),s.remove()})}},[n,S,L,x,v,p,g,A,f,F,y]),q.useEffect(()=>{queueMicrotask(()=>{M.current=!1})},[n]),Wi(()=>{if(!n&&P)return P.setFocusManagerState({modal:c,closeOnFocusOut:u,open:h,onOpenChange:m,refs:p}),()=>{P.setFocusManagerState(null)}},[n,P,c,h,m,p,u]),Wi(()=>{if(n)return;if(!L)return;if("function"!=typeof MutationObserver)return;if(w)return;const e=()=>{const e=L.getAttribute("tabindex"),t=B(),i=mt(St(S)),n=t.indexOf(i);-1!==n&&(D.current=n),T.current.includes("floating")||i!==p.domReference.current&&0===t.length?"0"!==e&&L.setAttribute("tabindex","0"):"-1"!==e&&L.setAttribute("tabindex","-1")};e();const t=new MutationObserver(e);return t.observe(L,{childList:!0,subtree:!0,attributes:!0}),()=>{t.disconnect()}},[n,S,L,p,T,B,w]);const j=!n&&E&&(!c||!C)&&(F||c);return q.createElement(q.Fragment,null,j&&q.createElement(Cn,{"data-type":"inside",ref:null==P?void 0:P.beforeInsideRef,onFocus:e=>{if(c){const e=V();on("reference"===r[0]?e[0]:e[e.length-1])}else if(null!=P&&P.preserveTabOrder&&P.portalNode)if(M.current=!1,vn(e,P.portalNode)){const e=mn()||y;null==e||e.focus()}else{var t;null==(t=P.beforeOutsideRef.current)||t.focus()}}}),!C&&U("start"),i,U("end"),j&&q.createElement(Cn,{"data-type":"inside",ref:null==P?void 0:P.afterInsideRef,onFocus:e=>{if(c)on(V()[0]);else if(null!=P&&P.preserveTabOrder&&P.portalNode)if(u&&(M.current=!0),vn(e,P.portalNode)){const e=gn()||y;null==e||e.focus()}else{var t;null==(t=P.afterOutsideRef.current)||t.focus()}}}))}function Rn(e){return Ge(e.target)&&"BUTTON"===e.target.tagName}function Dn(e){return kt(e)}const Fn={pointerdown:"onPointerDown",mousedown:"onMouseDown",click:"onClick"},Ln={pointerdown:"onPointerDownCapture",mousedown:"onMouseDownCapture",click:"onClickCapture"},Nn=e=>{var t,i;return{escapeKey:"boolean"==typeof e?e:null!=(t=null==e?void 0:e.escapeKey)&&t,outsidePress:"boolean"==typeof e?e:null==(i=null==e?void 0:e.outsidePress)||i}};function Bn(e){void 0===e&&(e={});const{nodeId:t}=e,i=function(e){const{open:t=!1,onOpenChange:i,elements:n}=e,r=Qi(),o=q.useRef({}),[s]=q.useState(()=>function(){const e=new Map;return{emit(t,i){var n;null==(n=e.get(t))||n.forEach(e=>e(i))},on(t,i){e.set(t,[...e.get(t)||[],i])},off(t,i){var n;e.set(t,(null==(n=e.get(t))?void 0:n.filter(e=>e!==i))||[])}}}()),a=null!=Yi(),[d,c]=q.useState(n.reference),l=Hi((e,t,n)=>{o.current.openEvent=e?t:void 0,s.emit("openchange",{open:e,event:t,reason:n,nested:a}),null==i||i(e,t,n)}),u=q.useMemo(()=>({setPositionReference:c}),[]),h=q.useMemo(()=>({reference:d||n.reference||null,floating:n.floating||null,domReference:n.reference}),[d,n.reference,n.floating]);return q.useMemo(()=>({dataRef:o,open:t,onOpenChange:l,elements:h,events:s,floatingId:r,refs:u}),[t,l,h,s,r,u])}({...e,elements:{reference:null,floating:null,...e.elements}}),n=e.rootContext||i,r=n.elements,[o,s]=q.useState(null),[a,d]=q.useState(null),c=(null==r?void 0:r.domReference)||o,l=q.useRef(null),u=en();Wi(()=>{c&&(l.current=c)},[c]);const h=function(e){void 0===e&&(e={});const{placement:t="bottom",strategy:i="absolute",middleware:n=[],platform:r,elements:{reference:o,floating:s}={},transform:a=!0,whileElementsMounted:d,open:c}=e,[l,u]=q.useState({x:0,y:0,strategy:i,placement:t,middlewareData:{},isPositioned:!1}),[h,p]=q.useState(n);Li(h,n)||p(n);const[f,m]=q.useState(null),[g,v]=q.useState(null),b=q.useCallback(e=>{e!==C.current&&(C.current=e,m(e))},[]),y=q.useCallback(e=>{e!==k.current&&(k.current=e,v(e))},[]),S=o||f,w=s||g,C=q.useRef(null),k=q.useRef(null),E=q.useRef(l),T=null!=d,I=Vi(d),x=Vi(r),A=Vi(c),P=q.useCallback(()=>{if(!C.current||!k.current)return;const e={placement:t,strategy:i,middleware:h};x.current&&(e.platform=x.current),Di(C.current,k.current,e).then(e=>{const t={...e,isPositioned:!1!==A.current};O.current&&!Li(E.current,t)&&(E.current=t,G.flushSync(()=>{u(t)}))})},[h,t,i,x,A]);Fi(()=>{!1===c&&E.current.isPositioned&&(E.current.isPositioned=!1,u(e=>({...e,isPositioned:!1})))},[c]);const O=q.useRef(!1);Fi(()=>(O.current=!0,()=>{O.current=!1}),[]),Fi(()=>{if(S&&(C.current=S),w&&(k.current=w),S&&w){if(I.current)return I.current(S,w,P);P()}},[S,w,P,I,T]);const _=q.useMemo(()=>({reference:C,floating:k,setReference:b,setFloating:y}),[b,y]),M=q.useMemo(()=>({reference:S,floating:w}),[S,w]),R=q.useMemo(()=>{const e={position:i,left:0,top:0};if(!M.floating)return e;const t=Bi(M.floating,l.x),n=Bi(M.floating,l.y);return a?{...e,transform:"translate("+t+"px, "+n+"px)",...Ni(M.floating)>=1.5&&{willChange:"transform"}}:{position:i,left:t,top:n}},[i,a,M.floating,l.x,l.y]);return q.useMemo(()=>({...l,update:P,refs:_,elements:M,floatingStyles:R}),[l,P,_,M,R])}({...e,elements:{...r,...a&&{reference:a}}}),p=q.useCallback(e=>{const t=Ke(e)?{getBoundingClientRect:()=>e.getBoundingClientRect(),contextElement:e}:e;d(t),h.refs.setReference(t)},[h.refs]),f=q.useCallback(e=>{(Ke(e)||null===e)&&(l.current=e,s(e)),(Ke(h.refs.reference.current)||null===h.refs.reference.current||null!==e&&!Ke(e))&&h.refs.setReference(e)},[h.refs]),m=q.useMemo(()=>({...h.refs,setReference:f,setPositionReference:p,domReference:l}),[h.refs,f,p]),g=q.useMemo(()=>({...h.elements,domReference:c}),[h.elements,c]),v=q.useMemo(()=>({...h,...n,refs:m,elements:g,nodeId:t}),[h,m,g,t,n]);return Wi(()=>{n.dataRef.current.floatingContext=v;const e=null==u?void 0:u.nodesRef.current.find(e=>e.id===t);e&&(e.context=v)}),q.useMemo(()=>({...h,context:v,refs:m,elements:g}),[h,m,g,v])}const Vn="active",Un="selected";function jn(e,t,i){const n=new Map,r="item"===i;let o=e;if(r&&e){const{[Vn]:t,[Un]:i,...n}=e;o=n}return{..."floating"===i&&{tabIndex:-1,[xn]:""},...o,...t.map(t=>{const n=t?t[i]:null;return"function"==typeof n?e?n(e):null:n}).concat(e).reduce((e,t)=>t?(Object.entries(t).forEach(t=>{let[i,o]=t;var s;r&&[Vn,Un].includes(i)||(0===i.indexOf("on")?(n.has(i)||n.set(i,[]),"function"==typeof o&&(null==(s=n.get(i))||s.push(o),e[i]=function(){for(var e,t=arguments.length,r=new Array(t),o=0;o<t;o++)r[o]=arguments[o];return null==(e=n.get(i))?void 0:e.map(e=>e(...r)).find(e=>void 0!==e)})):e[i]=o)}),e):e,{})}}const zn=new Map([["select","listbox"],["combobox","listbox"],["label",!1]]),$n=r.Ay.ul.withConfig(se)` 377 width: fit-content; 378 max-width: 22rem; 379 background-color: ${e=>e.theme.popOver.menuBgd}; 380 border: ${e=>e.theme.popOver.menuBorder}; 381 margin: 0; 382 border-radius: 0.25rem; 383 backdrop-filter: blur(1rem); 384 list-style: none; 385 padding: 0.5rem 0; 386 box-shadow: ${e=>e.theme.popOver.shadow}; 387 z-index: ${e=>e.theme.zIndex.popOver}; 388 display: table; 389 overflow: inherit; 390`,Hn=r.Ay.button.withConfig(se)` 391 background-color: transparent; 392 padding: 0; 393 border: none; 394 cursor: pointer; 395 &:focus { 396 outline: 0; 397 } 398`,Wn=r.Ay.li.withConfig(se)` 399 height: 2rem; 400 position: relative; 401 402 button, 403 a { 404 width: 100%; 405 height: 100%; 406 display: flex; 407 align-items: center; 408 border: none; 409 cursor: pointer; 410 background-color: ${e=>e.theme.popOver.itemBgd}; 411 color: ${e=>e.theme.popOver.itemText}; 412 line-height: ${e=>e.theme.fontSizes.text.lineHeight}; 413 font-size: ${e=>e.theme.fontSizes.text.fontSize}; 414 padding: 0 2.5rem; 415 text-decoration: none; 416 outline: 0; 417 418 &:hover, 419 &:focus { 420 background-color: ${e=>e.theme.popOver.active.itemBgd}; 421 color: ${e=>e.theme.popOver.active.itemText}; 422 outline: 0; 423 } 424 425 &:disabled { 426 color: ${e=>e.theme.popOver.disabled}; 427 } 428 } 429 430 a { 431 width: unset; 432 } 433 434 .ch-content > * { 435 ${ne}; 436 } 437 438 .ch-check { 439 position: absolute; 440 left: 0.5rem; 441 width: 1.5rem; 442 height: 1.5rem; 443 top: 0.33rem; 444 } 445 446 &:hover .ch-check g, 447 &:focus .ch-check g { 448 fill: ${e=>e.theme.popOver.active.itemText}; 449 } 450`,qn=((0,r.Ay)(Wn)` 451 > span { 452 width: 100%; 453 height: 100%; 454 display: block; 455 height: 2rem; 456 } 457 458 > button { 459 position: relative; 460 } 461 462 .ch-caret { 463 position: absolute; 464 width: 1.5rem; 465 height: 1.5rem; 466 right: 0; 467 color: inherit; 468 fill: inherit; 469 } 470`,r.Ay.header.withConfig(se)` 471 border-bottom: 0.0625rem solid ${e=>e.theme.popOver.separator}; 472 margin-bottom: 0.75rem; 473 max-width: 22rem; 474 475 img { 476 width: 100%; 477 display: inline-block; 478 margin-top: -0.5rem; 479 border-radius: 0.25rem 0.25rem 0 0; 480 } 481 482 img + .ch-title { 483 margin-top: 0.75rem; 484 } 485 486 .ch-title { 487 ${ne}; 488 padding: 0 2.5rem; 489 margin-top: 0.5rem; 490 margin-bottom: 0; 491 color: ${e=>e.theme.popOver.titleText}; 492 font-size: 1.18125rem; 493 line-height: ${e=>e.theme.fontSizes.text.lineHeight}; 494 } 495 496 .ch-subtitle { 497 ${ne}; 498 padding: 0 2.5rem; 499 color: #616672; 500 font-size: ${e=>e.theme.fontSizes.text.fontSize}; 501 line-height: ${e=>e.theme.fontSizes.text.lineHeight}; 502 line-height: 1.43; 503 margin: 0 0 1rem; 504 } 505`,r.Ay.li.withConfig(se)` 506 margin: 0; 507 border-width: 0.0625rem 0 0 0; 508 border-style: solid; 509 border-color: ${e=>e.theme.popOver.separator}; 510 margin-bottom: 0.75rem; 511 opacity: 0.8; 512`,e=>{var{renderButton:t,renderButtonWrapper:i,onPopOverClick:r,children:o,isSubMenu:s=!1,placement:a="bottom-start",a11yLabel:d,className:c,closeOnClick:l=!0}=e;X(e,["renderButton","renderButtonWrapper","onPopOverClick","children","isSubMenu","placement","a11yLabel","className","closeOnClick"]);const[u,h]=(0,q.useState)(!1),{refs:p,floatingStyles:f,context:m}=Bn({open:u,onOpenChange:h,placement:a,whileElementsMounted:Oi,middleware:[(g={mainAxis:0,crossAxis:-8},{..._i(g),options:[g,void 0]}),ji(),Ui()]});var g;const v=function(e,t){void 0===t&&(t={});const{open:i,onOpenChange:n,dataRef:r,elements:{domReference:o}}=e,{enabled:s=!0,event:a="click",toggle:d=!0,ignoreMouse:c=!1,keyboardHandlers:l=!0,stickIfOpen:u=!0}=t,h=q.useRef(),p=q.useRef(!1),f=q.useMemo(()=>({onPointerDown(e){h.current=e.pointerType},onMouseDown(e){const t=h.current;0===e.button&&"click"!==a&&(yt(t,!0)&&c||(!i||!d||r.current.openEvent&&u&&"mousedown"!==r.current.openEvent.type?(e.preventDefault(),n(!0,e.nativeEvent,"click")):n(!1,e.nativeEvent,"click")))},onClick(e){const t=h.current;"mousedown"===a&&h.current?h.current=void 0:yt(t,!0)&&c||(!i||!d||r.current.openEvent&&u&&"click"!==r.current.openEvent.type?n(!0,e.nativeEvent,"click"):n(!1,e.nativeEvent,"click"))},onKeyDown(e){h.current=void 0,e.defaultPrevented||!l||Rn(e)||(" "!==e.key||Dn(o)||(e.preventDefault(),p.current=!0),"Enter"===e.key&&n(!i||!d,e.nativeEvent,"click"))},onKeyUp(e){e.defaultPrevented||!l||Rn(e)||Dn(o)||" "===e.key&&p.current&&(p.current=!1,n(!i||!d,e.nativeEvent,"click"))}}),[r,o,a,c,l,n,i,u,d]);return q.useMemo(()=>s?{reference:f}:{},[s,f])}(m),b=function(e,t){void 0===t&&(t={});const{open:i,onOpenChange:n,elements:r,dataRef:o}=e,{enabled:s=!0,escapeKey:a=!0,outsidePress:d=!0,outsidePressEvent:c="pointerdown",referencePress:l=!1,referencePressEvent:u="pointerdown",ancestorScroll:h=!1,bubbles:p,capture:f}=t,m=en(),g=Hi("function"==typeof d?d:()=>!1),v="function"==typeof d?g:d,b=q.useRef(!1),y=q.useRef(!1),{escapeKey:S,outsidePress:w}=Nn(p),{escapeKey:C,outsidePress:k}=Nn(f),E=q.useRef(!1),T=Hi(e=>{var t;if(!i||!s||!a||"Escape"!==e.key)return;if(E.current)return;const r=null==(t=o.current.floatingContext)?void 0:t.nodeId,d=m?sn(m.nodesRef.current,r):[];if(!S&&(e.stopPropagation(),d.length>0)){let e=!0;if(d.forEach(t=>{var i;null==(i=t.context)||!i.open||t.context.dataRef.current.__escapeKeyBubbles||(e=!1)}),!e)return}n(!1,function(e){return"nativeEvent"in e}(e)?e.nativeEvent:e,"escape-key")}),I=Hi(e=>{var t;const i=()=>{var t;T(e),null==(t=Ct(e))||t.removeEventListener("keydown",i)};null==(t=Ct(e))||t.addEventListener("keydown",i)}),x=Hi(e=>{var t;const i=b.current;b.current=!1;const s=y.current;if(y.current=!1,"click"===c&&s)return;if(i)return;if("function"==typeof v&&!v(e))return;const a=Ct(e),d="["+tn("inert")+"]",l=St(r.floating).querySelectorAll(d);let u=Ke(a)?a:null;for(;u&&!dt(u);){const e=ut(u);if(dt(e)||!Ke(e))break;u=e}if(l.length&&Ke(a)&&!a.matches("html,body")&&!gt(a,r.floating)&&Array.from(l).every(e=>!gt(u,e)))return;if(Ge(a)&&O){const t=a.clientWidth>0&&a.scrollWidth>a.clientWidth,i=a.clientHeight>0&&a.scrollHeight>a.clientHeight;let n=i&&e.offsetX>a.clientWidth;if(i&&"rtl"===ct(a).direction&&(n=e.offsetX<=a.offsetWidth-a.clientWidth),n||t&&e.offsetY>a.clientHeight)return}const h=null==(t=o.current.floatingContext)?void 0:t.nodeId,p=m&&sn(m.nodesRef.current,h).some(t=>{var i;return wt(e,null==(i=t.context)?void 0:i.elements.floating)});if(wt(e,r.floating)||wt(e,r.domReference)||p)return;const f=m?sn(m.nodesRef.current,h):[];if(f.length>0){let e=!0;if(f.forEach(t=>{var i;null==(i=t.context)||!i.open||t.context.dataRef.current.__outsidePressBubbles||(e=!1)}),!e)return}n(!1,e,"outside-press")}),A=Hi(e=>{var t;const i=()=>{var t;x(e),null==(t=Ct(e))||t.removeEventListener(c,i)};null==(t=Ct(e))||t.addEventListener(c,i)});q.useEffect(()=>{if(!i||!s)return;o.current.__escapeKeyBubbles=S,o.current.__outsidePressBubbles=w;let e=-1;function t(e){n(!1,e,"ancestor-scroll")}function d(){window.clearTimeout(e),E.current=!0}function l(){e=window.setTimeout(()=>{E.current=!1},st()?5:0)}const u=St(r.floating);a&&(u.addEventListener("keydown",C?I:T,C),u.addEventListener("compositionstart",d),u.addEventListener("compositionend",l)),v&&u.addEventListener(c,k?A:x,k);let p=[];return h&&(Ke(r.domReference)&&(p=pt(r.domReference)),Ke(r.floating)&&(p=p.concat(pt(r.floating))),!Ke(r.reference)&&r.reference&&r.reference.contextElement&&(p=p.concat(pt(r.reference.contextElement)))),p=p.filter(e=>{var t;return e!==(null==(t=u.defaultView)?void 0:t.visualViewport)}),p.forEach(e=>{e.addEventListener("scroll",t,{passive:!0})}),()=>{a&&(u.removeEventListener("keydown",C?I:T,C),u.removeEventListener("compositionstart",d),u.removeEventListener("compositionend",l)),v&&u.removeEventListener(c,k?A:x,k),p.forEach(e=>{e.removeEventListener("scroll",t)}),window.clearTimeout(e)}},[o,r,a,v,c,i,n,h,s,S,w,T,C,I,x,k,A]),q.useEffect(()=>{b.current=!1},[v,c]);const P=q.useMemo(()=>({onKeyDown:T,[Fn[u]]:e=>{l&&n(!1,e.nativeEvent,"reference-press")}}),[T,n,l,u]),O=q.useMemo(()=>({onKeyDown:T,onMouseDown(){y.current=!0},onMouseUp(){y.current=!0},[Ln[c]]:()=>{b.current=!0}}),[T,c]);return q.useMemo(()=>s?{reference:P,floating:O}:{},[s,P,O])}(m),y=function(e,t){var i;void 0===t&&(t={});const{open:n,floatingId:r}=e,{enabled:o=!0,role:s="dialog"}=t,a=null!=(i=zn.get(s))?i:s,d=Qi(),c=null!=Yi(),l=q.useMemo(()=>"tooltip"===a||"label"===s?{["aria-"+("label"===s?"labelledby":"describedby")]:n?r:void 0}:{"aria-expanded":n?"true":"false","aria-haspopup":"alertdialog"===a?"dialog":a,"aria-controls":n?r:void 0,..."listbox"===a&&{role:"combobox"},..."menu"===a&&{id:d},..."menu"===a&&c&&{role:"menuitem"},..."select"===s&&{"aria-autocomplete":"none"},..."combobox"===s&&{"aria-autocomplete":"list"}},[a,r,c,n,d,s]),u=q.useMemo(()=>{const e={id:r,...a&&{role:a}};return"tooltip"===a||"label"===s?e:{...e,..."menu"===a&&{"aria-labelledby":d}}},[a,r,d,s]),h=q.useCallback(e=>{let{active:t,selected:i}=e;const n={role:"option",...t&&{id:r+"-option"}};switch(s){case"select":return{...n,"aria-selected":t&&i};case"combobox":return{...n,...t&&{"aria-selected":!0}}}return{}},[r,s]);return q.useMemo(()=>o?{reference:l,floating:u,item:h}:{},[o,l,u,h])}(m),{getReferenceProps:S,getFloatingProps:w}=function(e){void 0===e&&(e=[]);const t=e.map(e=>null==e?void 0:e.reference),i=e.map(e=>null==e?void 0:e.floating),n=e.map(e=>null==e?void 0:e.item),r=q.useCallback(t=>jn(t,e,"reference"),t),o=q.useCallback(t=>jn(t,e,"floating"),i),s=q.useCallback(t=>jn(t,e,"item"),n);return q.useMemo(()=>({getReferenceProps:r,getFloatingProps:o,getItemProps:s}),[r,o,s])}([v,b,y]),C=e=>{const t=p.floating.current;if(!s&&t){const i=(e=>e.querySelectorAll("button, [href]"))(t),n=document.activeElement;for(let t=0;t<i.length;
512t++)if(i[t]===n){if("down"===e){if(t===i.length-1)return;return void i[t+1].focus()}if("up"===e){if(0===t)return;return void i[t-1].focus()}return}i.length>0&&i[0].focus()}},k=Object.assign(Object.assign({ref:p.setReference,className:je(c,"ch-popover-toggle"),"data-menu":s?"submenu":null,"aria-label":d,"aria-haspopup":!0,"aria-expanded":u,"data-testid":"popover-toggle"},S()),{onClick:()=>{h(!u),r&&r(u)}});return(0,n.jsxs)("span",Object.assign({"data-testid":"popover"},{children:[t?(0,n.jsx)(Hn,Object.assign({},k,{children:t(u)})):i?(0,n.jsx)("span",Object.assign({ref:p.setReference},{children:i(u,Object.assign(Object.assign({},k),{ref:void 0}))})):null,u&&(0,n.jsx)(Tn,{children:(0,n.jsx)(Mn,Object.assign({context:m,modal:!1},{children:(0,n.jsx)($n,Object.assign({ref:p.setFloating,style:f},w(),{onKeyDown:e=>{switch(e.keyCode){case 27:return h(!1);case 38:return C("up");case 40:return C("down")}},"data-placement":a,onClick:e=>(e=>{if(l)return!e.target.closest("[data-menu='submenu']")&&h(!1)})(e),"data-testid":"menu",className:"ch-popover-menu"},{children:o}))}))})]}))}),Kn=new J.ConsoleLogger("ChimeSDKReactComponent",J.LogLevel.INFO),Gn=q.createContext(Kn),Jn=()=>(0,q.useContext)(Gn),Qn=.5,Xn=r.AH` 513 top: calc( 514 ${e=>{var t,i;return null!==(i=null===(t=e.bounds)||void 0===t?void 0:t.top)&&void 0!==i?i:0}}px - 515 ${1.75}rem 516 ); 517 left: ${e=>{var t,i,n,r;return((null!==(i=null===(t=e.bounds)||void 0===t?void 0:t.left)&&void 0!==i?i:0)+(null!==(r=null===(n=e.bounds)||void 0===n?void 0:n.right)&&void 0!==r?r:0))/2}}px; 518 transform: translateX(-50%) translateY(-50%); 519 520 &::before { 521 transform: rotateZ(180deg); 522 top: 100%; 523 left: calc(50% - ${Qn}rem); 524 } 525`,Zn=r.AH` 526 top: calc( 527 ${e=>{var t,i;return null!==(i=null===(t=e.bounds)||void 0===t?void 0:t.bottom)&&void 0!==i?i:0}}px + 528 ${1.75}rem 529 ); 530 left: ${e=>{var t,i,n,r;return((null!==(i=null===(t=e.bounds)||void 0===t?void 0:t.left)&&void 0!==i?i:0)+(null!==(r=null===(n=e.bounds)||void 0===n?void 0:n.right)&&void 0!==r?r:0))/2}}px; 531 transform: translateX(-50%) translateY(-50%); 532 533 &::before { 534 transform: rotateZ(0deg); 535 top: -${Qn}rem; 536 left: calc(50% - ${Qn}rem); 537 } 538`,Yn=r.AH` 539 top: ${e=>{var t,i,n,r;return((null!==(i=null===(t=e.bounds)||void 0===t?void 0:t.top)&&void 0!==i?i:0)+(null!==(r=null===(n=e.bounds)||void 0===n?void 0:n.bottom)&&void 0!==r?r:0))/2}}px; 540 left: calc( 541 ${e=>{var t,i;return null!==(i=null===(t=e.bounds)||void 0===t?void 0:t.left)&&void 0!==i?i:0}}px - ${.75}rem 542 ); 543 transform: translateY(-50%) translateX(-100%); 544 545 &::before { 546 transform: rotateZ(90deg); 547 top: calc(50% - ${.25}rem); 548 left: calc(100% - ${.25}rem); 549 } 550`,er=r.AH` 551 top: ${e=>{var t,i,n,r;return((null!==(i=null===(t=e.bounds)||void 0===t?void 0:t.top)&&void 0!==i?i:0)+(null!==(r=null===(n=e.bounds)||void 0===n?void 0:n.bottom)&&void 0!==r?r:0))/2}}px; 552 left: calc( 553 ${e=>{var t,i;return null!==(i=null===(t=e.bounds)||void 0===t?void 0:t.right)&&void 0!==i?i:0}}px + ${.75}rem 554 ); 555 transform: translateY(-50%); 556 557 &::before { 558 transform: rotateZ(270deg); 559 top: calc(50% - ${.25}rem); 560 left: -${.75}rem; 561 } 562`,tr=r.Ay.span.withConfig(se)` 563 @keyframes fadeIn { 564 0% { 565 opacity: 0; 566 } 567 568 100% { 569 opacity: 1; 570 } 571 } 572 573 position: fixed; 574 z-index: 9999; 575 color: white; 576 white-space: nowrap; 577 pointer-events: none; 578 line-height: normal; 579 background-color: rgba(0, 0, 0, 0.8); 580 border-radius: ${.5}rem; 581 font-size: ${1}rem; 582 font-weight: 300; 583 padding: ${.5}rem ${.75}rem; 584 white-space: nowrap; 585 animation: fadeIn 0.3s; 586 587 &::before { 588 border-bottom: ${Qn}rem solid rgba(0, 0, 0, 0.8); 589 border-left: ${Qn}rem solid transparent; 590 border-right: ${Qn}rem solid transparent; 591 content: ''; 592 height: 0; 593 transform: translateX(-100%) translateY(-50%); 594 width: 0; 595 z-index: 1; 596 position: absolute; 597 } 598 599 ${e=>"top"===e.position&&Xn} 600 ${e=>"bottom"===e.position&&Zn} 601 ${e=>"left"===e.position&&Yn} 602 ${e=>"right"===e.position&&er} 603`,ir={show:!1,bounds:null},nr=r.AH` 604 display: flex; 605 width: 100%; 606 height: 100%; 607`,rr={"fill-space":nr,"fill-space-centered":r.AH` 608 ${nr}; 609 align-items: center; 610 justify-content: center; 611`,"equal-columns":r.AH` 612 display: flex; 613 flex-direction: row; 614 height: 100%; 615 align-items: stretch; 616 617 > * { 618 flex-grow: 1; 619 flex-basis: 50%; 620 } 621`,stack:r.AH` 622 display: flex; 623 flex-direction: column; 624 align-items: center; 625 626 > * { 627 width: 100%; 628 } 629`},or=r.Ay.div.withConfig(se)` 630 align-items: ${e=>e.alignItems}; 631 display: ${e=>e.container?"flex":"block"}; 632 flex: ${e=>e.flex||""}; 633 flex-basis: ${e=>e.flexBasis}; 634 flex-direction: ${e=>e.flexDirection}; 635 flex-grow: ${e=>e.flexGrow||""}; 636 flex-shrink: ${e=>e.flexShrink}; 637 flex-wrap: ${e=>e.flexWrap}; 638 justify-content: ${e=>e.justifyContent}; 639 640 // layout variants 641 ${e=>!!e.layout&&rr[e.layout]} 642 643 ${de} 644 ${ae} 645`;function sr(){const[e]=(0,q.useState)(()=>(0,Q.A)());return e}const ar=r.Ay.label.withConfig(se)` 646 color: ${e=>e.theme.inputs.fontColor}; 647 font-size: ${e=>e.theme.fontSizes.label.fontSize}; 648 line-height: ${e=>e.theme.fontSizes.label.lineHeight}; 649 650 ${de} 651 ${ae} 652`,dr=(0,q.forwardRef)((e,t)=>{const{className:i,tag:r}=e,o=X(e,["className","tag"]);return(0,n.jsx)(ar,Object.assign({as:r,"data-testid":"label",className:i||""},o,{children:e.children}))}),cr=r.AH` 653 &.ch-form-field-input, 654 &.ch-form-field-select, 655 &.ch-form-field-textarea { 656 display: flex; 657 flex-direction: column; 658 659 label { 660 display: block; 661 margin-bottom: 0.5rem; 662 } 663 664 input, 665 select { 666 width: 100%; 667 } 668 } 669 670 &.ch-form-field-checkbox { 671 display: grid; 672 grid-template-columns: 1.5rem 1fr; 673 grid-template-rows: auto; 674 gap: 0px 0.5rem; 675 676 .ch-checkbox { 677 grid-column: 1; 678 grid-row: 1; 679 } 680 681 .ch-checkbox-label { 682 line-height: 1.3; 683 grid-column: 2; 684 } 685 686 .ch-help-text { 687 grid-row: 2; 688 grid-column: 1/3; 689 } 690 } 691 692 &.ch-form-field-radiogroup { 693 flex-direction: column; 694 695 .ch-radio-wrapper { 696 display: block; 697 margin-bottom: 0.5rem; 698 padding-left: 0.125rem; 699 display: grid; 700 grid-template-columns: 1.5rem 1fr; 701 grid-template-rows: auto; 702 703 align-items: center; 704 } 705 706 .ch-radio-label { 707 margin-left: 1rem; 708 position: relative; 709 bottom: -0.5px; 710 } 711 } 712`,lr={stack:cr,horizontal:r.AH` 713 @media (max-width: 599px) { 714 ${cr}; 715 } 716 717 @media (min-width: 600px) { 718 &.ch-form-field-input, 719 &.ch-form-field-select, 720 &.ch-form-field-textarea,
721 &.ch-form-field-checkbox { 722 display: grid; 723 grid-template-columns: 30% 1fr; 724 grid-template-rows: auto; 725 gap: 0px 0.5rem; 726 align-items: center; 727 728 input { 729 width: 100%; 730 } 731 732 .ch-help-text { 733 grid-column: 2; 734 } 735 } 736 737 &.ch-form-field-radiogroup { 738 flex-wrap: wrap; 739 740 fieldset { 741 width: 100%; 742 } 743 744 .ch-radio-wrapper { 745 display: grid; 746 grid-template-columns: 30% 1fr; 747 grid-template-rows: auto; 748 gap: 0px 0.5rem; 749 align-items: center; 750 margin-bottom: 0.5rem; 751 } 752 753 .ch-radio { 754 grid-column: 2; 755 grid-row: 1; 756 margin-top: -4px; 757 } 758 759 .ch-radio-label { 760 grid-column: 1; 761 padding-right: 1rem; 762 margin-left: 0; 763 } 764 765 .ch-help-text { 766 width: 100%; 767 } 768 } 769 } 770`,"input-only":r.AH` 771 &.ch-form-field-input, 772 &.ch-form-field-select, 773 &.ch-form-field-textarea { 774 display: flex; 775 flex-direction: column; 776 777 input { 778 width: 100%; 779 } 780 } 781 782 &.ch-form-field-checkbox { 783 display: flex; 784 flex-wrap: wrap; 785 align-items: center; 786 787 .ch-checkbox { 788 order: 1; 789 } 790 791 .ch-checkbox-label { 792 order: 2; 793 padding-left: 1rem; 794 } 795 796 .ch-help-text { 797 width: 100%; 798 order: 3; 799 } 800 } 801 802 &.ch-form-field-radiogroup { 803 flex-direction: column; 804 805 .ch-radio-wrapper { 806 display: block; 807 margin-bottom: 0.5rem; 808 } 809 810 .ch-radio-label { 811 margin-left: 1rem; 812 } 813 } 814`},ur=r.Ay.div.withConfig(se)` 815 display: flex; 816 margin-bottom: 1rem; 817 position: relative; 818 819 fieldset { 820 margin: 0; 821 border: none; 822 padding: 0; 823 } 824 825 .ch-help-text { 826 font-size: ${e=>e.theme.fontSizes.small.fontSize}; 827 margin-top: 0.5rem; 828 color: ${e=>e.error?e.theme.inputs.error.fontColor:e.theme.inputs.fontColor}; 829 } 830 831 legend { 832 font-size: ${e=>e.theme.fontSizes.text.fontSize}; 833 color: ${e=>e.theme.inputs.fontColor}; 834 margin-bottom: 0.5rem; 835 } 836 837 ${e=>!!e.layout&&lr[e.layout]} 838 839 ${de} 840 ${ae} 841`,hr=((0,q.forwardRef)((e,t)=>{var i;const{field:r,label:o,layout:s="stack",errorText:a,fieldProps:d,infoText:c,error:l,onChange:u,value:h,checked:p,options:f,className:m}=e,g=X(e,["field","label","layout","errorText","fieldProps","infoText","error","onChange","value","checked","options","className"]),v=(null===(i=r.displayName)||void 0===i?void 0:i.toLowerCase())||"",b=sr(),y=sr(),S=l&&a||c;return(0,n.jsxs)(ur,Object.assign({layout:s,error:l,className:`ch-form-field-${v} ${m||""}`,"data-testid":"form-field"},g,{children:["input-only"===s&&"checkbox"!==v?null:"radiogroup"!==v&&(0,n.jsx)(dr,Object.assign({htmlFor:b,className:`ch-${v}-label`},{children:o})),"radiogroup"===v?(0,n.jsxs)("fieldset",Object.assign({"aria-describedby":S&&y,"aria-invalid":l},{children:[o&&(0,n.jsx)("legend",{children:o}),(0,n.jsx)(r,Object.assign({options:f,ref:t,id:b,onChange:u,value:h},d))]})):(0,n.jsx)(r,Object.assign({options:f,"aria-label":"input-only"===s&&o||null,"aria-describedby":S&&y,"aria-invalid":l,ref:t,id:b,onChange:u,value:h,checked:p},d)),S&&(0,n.jsx)("span",Object.assign({className:"ch-help-text",id:y},{children:S}))]}))}),r.Ay.h1.withConfig(se)` 842 display: block; 843 margin: 0; 844 845 font-size: ${e=>e.theme.fontSizes[`h${e.level}`].mobile.fontSize}; 846 font-weight: ${e=>e.theme.fontSizes[`h${e.level}`].mobile.fontWeight}; 847 line-height: ${e=>e.theme.fontSizes[`h${e.level}`].mobile.lineHeight}; 848 849 ${({theme:e})=>e.mediaQueries.min.md} { 850 font-size: ${e=>e.theme.fontSizes[`h${e.level}`].fontSize}; 851 font-weight: ${e=>e.theme.fontSizes[`h${e.level}`].fontWeight}; 852 line-height: ${e=>e.theme.fontSizes[`h${e.level}`].lineHeight}; 853 } 854 855 ${de} 856 ${ae} 857`),pr=((0,q.forwardRef)((e,t)=>{const{tag:i,children:r,className:o,level:s}=e,a=X(e,["tag","children","className","level"]);return(0,n.jsx)(hr,Object.assign({as:i||`h${s}`,className:o||"",level:s,ref:t,"data-testid":"heading"},a,{children:r}))}),r.Ay.span.withConfig(se)` 858 position: relative; 859 860 > .ch-icon { 861 position: absolute; 862 width: 1rem; 863 left: 0.1875rem; 864 position: absolute; 865 top: 54%; 866 transform: translateY(-50%); 867 } 868 869 > input { 870 padding: ${e=>(e=>{const{sizing:t,leadingIcon:i}=e;return"sm"===t?"0.125rem 1.75rem 0.125rem "+(i?"1.3125rem":"0.5rem"):"0.34375rem 1.75rem 0.34375rem "+(i?"1.3125rem":"0.5rem")})(e)}; 871 } 872`),fr=r.Ay.input.withConfig(se)` 873 align-items: center; 874 display: flex; 875 letter-spacing: -0.005625rem; 876 transition: box-shadow 0.05s ease-in; 877 background-color: ${e=>e.theme.inputs.bgd}; 878 border: ${e=>e.theme.inputs.border}; 879 border-radius: ${e=>e.theme.inputs.borderRadius}; 880 box-shadow: ${e=>e.theme.inputs.shadow}; 881 color: ${e=>e.theme.inputs.fontColor}; 882 font-size: ${e=>e.theme.fontSizes.text.fontSize}; 883 line-height: ${e=>e.theme.fontSizes.text.lineHeight}; 884 885 &::placeholder { 886 color: ${e=>e.theme.inputs.placeholder}; 887 } 888 889 &:focus, 890 &[aria-invalid='true']:focus { 891 border: ${e=>e.theme.inputs.focus.border}; 892 box-shadow: ${e=>e.theme.inputs.focus.shadow}; 893 outline: none; 894 } 895 896 &[aria-invalid='true'] { 897 border: ${e=>e.theme.inputs.error.border}; 898 box-shadow: ${e=>e.theme.inputs.error.shadow}; 899 } 900 901 // Hides native clear button 902 &::-webkit-search-decoration, 903 &::-webkit-search-cancel-button, 904 &::-webkit-search-results-button, 905 &::-webkit-search-results-decoration { 906 display: none; 907 } 908 909 &::-ms-clear, 910 &::-ms-reveal { 911 display: none; 912 width: 0; 913 height: 0; 914 } 915 916 ${de} 917 ${ae} 918`,mr=r.Ay.button.withConfig(se)` 919 position: absolute; 920 top: 50%; 921 right: 0.125rem; 922 transform: translateY(-44%); 923 border: none; 924 background: none; 925 cursor: pointer; 926 display: ${e=>e.active?"block":"none"}; 927 928 path { 929 fill: ${e=>e.theme.inputs.clearBg}; 930 } 931 932 &:active, 933 &:focus { 934 outline: none; 935 } 936`,gr=(0,q.forwardRef)((e,t)=>{const{leadingIcon:i,children:r,sizing:o}=e,s=X(e,["leadingIcon","children","sizing"]);return(0,n.jsxs)(pr,Object.assign({ref:t,sizing:o,leadingIcon:i},s,{"data-testid":"input-wrapper"},{children:[i&&(0,n.jsx)("span",Object.assign({className:"ch-icon"},{children:i})),r]}))}),vr=(0,q.forwardRef)((e,t)=>{const{type:i,value:r,sizing:o,onClear:s,onChange:a,className:d,leadingIcon:c,showClear:l=!0}=e,u=X(e,["type","value","sizing","onClear","onChange","className","leadingIcon","showClear"]),[h,p]=(0,q.useState)(!1),f=(0,q.useRef)(!1),m=(0,q.useRef)(null),g=t||m,v=(0,q.useRef)(null),b=e["aria-label"]?`clear ${e["aria-label"]}`:"clear";return(0,q.useEffect)(()=>{let e=!1;const t=t=>
936{if(f.current)return t.target!==v.current&&t.target!==g.current?(f.current=!1,void p(!1)):void(e&&(e=!1))},i=()=>{f.current&&(e=!0,setTimeout(()=>{e&&(f.current=!1,p(!1)),e=!1},10))};return document.addEventListener("focusin",t),document.addEventListener("focusout",i),()=>{document.removeEventListener("focusin",t),document.removeEventListener("focusout",i)}},[]),(0,n.jsxs)(gr,Object.assign({leadingIcon:c,sizing:o,className:`ch-input-wrapper ${d||""}`},{children:[(0,n.jsx)(fr,Object.assign({},u,{value:r,type:i||"text",ref:g,className:"ch-input",onChange:a,"data-testid":"input",onFocus:()=>{f.current=!0,p(!0)}})),l&&(0,n.jsx)(mr,Object.assign({type:"button",active:!!(s||h&&r.length),tabIndex:-1,"aria-label":b,onClick:()=>{var e;if(s)return void s();const t=g.current,i=null===(e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value"))||void 0===e?void 0:e.set;i&&t&&(i.call(t,""),t.dispatchEvent(new Event("input",{bubbles:!0}))),t.focus()},ref:v},{children:(0,n.jsx)(Ie,{width:"1.25rem"})}))]}))});vr.displayName="Input",(0,q.forwardRef)((e,t)=>{const i=Object.assign(Object.assign({},e),{sizing:"sm",type:"search",leadingIcon:(0,n.jsx)(Me,{"data-testid":"search-icon"})});return(0,n.jsx)(vr,Object.assign({},i,{ref:t}))}),(0,q.createContext)({onClose(){},labelID:"",dismissible:!0});const br=r.i7` 937 0% { 938 opacity: 0; 939 } 940 100% { 941 opacity: 1; 942 } 943`,yr=r.i7` 944 0% { 945 opacity: 0; 946 transform: translateY(4rem) scale(0.4); 947 } 948 100% { 949 opacity: 1; 950 transform: translateY(0) scale(1); 951 } 952`,Sr=(r.Ay.div.withConfig(se)` 953 position: fixed; 954 top: 0; 955 left: 0; 956 width: 100%; 957 height: 100%; 958 background-color: ${e=>e.theme.modal.wrapperBgd}; 959 display: flex; 960 align-items: center; 961 justify-content: center; 962 z-index: ${e=>e.theme.zIndex.modal}; 963 overflow-x: hidden; 964 animation: ${br} 0.25s ease 0s forwards; 965 will-change: opacity; 966 967 > section { 968 position: relative; 969 display: flex; 970 flex-direction: column; 971 justify-content: center; 972 border-radius: ${e=>e.theme.radii.default}; 973 color: ${e=>e.theme.modal.text}; 974 background-color: ${e=>e.theme.modal.bgd}; 975 width: ${e=>e.theme.modalSizes[e.size||"md"].width}; 976 box-shadow: ${e=>e.theme.modal.shadow}; 977 max-width: ${e=>"fullscreen"===e.size?e.theme.modalSizes[e.size].width:"90vw"}; 978 height: ${e=>"fullscreen"===e.size?e.theme.modalSizes[e.size].height:"auto"}; 979 max-height: ${e=>e.theme.modalSizes[e.size||"md"].height}; 980 will-change: transform, opacity; 981 animation: ${yr} 0.15s ease 0s forwards; 982 983 @media only screen and (max-height: 25rem) { 984 position: absolute; 985 top: 2rem; 986 height: auto; 987 max-height: none; 988 } 989 } 990 991 ${de} 992 ${ae} 993`,r.Ay.header.withConfig(se)` 994 padding: 1rem 1.5rem; 995 996 .ch-close-button { 997 position: absolute; 998 right: 1.55rem; 999 top: 1rem; 1000 } 1001 1002 .ch-title { 1003 padding-right: 2rem; 1004 margin: 0; 1005 font-size: ${e=>e.theme.modal.titleSize}; 1006 font-weight: ${e=>e.theme.modal.titleWeight}; 1007 } 1008 1009 ${de} 1010 ${ae} 1011`,r.Ay.div.withConfig(se)` 1012 font-size: ${e=>e.theme.fontSizes.text.fontSize}; 1013 line-height: ${e=>e.theme.fontSizes.text.lineHeight}; 1014 padding: 0 1.5rem; 1015 flex-grow: 1; 1016 overflow-y: auto; 1017 1018 ${de} 1019 ${ae} 1020`,r.Ay.footer.withConfig(se)` 1021 padding: 1.5rem; 1022 border-top: 1px solid ${e=>e.theme.modal.border}; 1023 display: flex; 1024 flex-direction: row-reverse; 1025 justify-content: space-between; 1026 1027 div:first-child { 1028 display: flex; 1029 flex-direction: row-reverse; 1030 } 1031 1032 button + button { 1033 margin: 0 0.5rem 0 0.5rem; 1034 } 1035 1036 @media (max-width: 35rem) { 1037 flex-direction: column; 1038 1039 button { 1040 width: 100%; 1041 } 1042 1043 div:first-child { 1044 display: flex; 1045 flex-direction: column; 1046 } 1047 1048 button + button, 1049 div + div { 1050 margin: 0.5rem 0 0; 1051 } 1052 } 1053 1054 ${de} 1055 ${ae} 1056`,r.Ay.div.withConfig(se)` 1057 display: flex; 1058 height: 3rem; 1059 align-items: center; 1060 border-bottom: ${({theme:e})=>`0.03125rem solid ${e.navbar.headerBorder}`}; 1061 padding: 1rem; 1062 1063 .ch-title { 1064 flex: 1; 1065 } 1066 1067 .ch-btn-close { 1068 margin-left: auto; 1069 margin-right: 1rem; 1070 } 1071 1072 ${({theme:e})=>e.mediaQueries.min.md} { 1073 display: none; 1074 } 1075`),wr=r.Ay.div.withConfig(se)` 1076 display: flex; 1077 align-items: center; 1078 justify-content: center; 1079 width: 4.25rem; 1080 min-height: 3rem; 1081 flex-direction: column; 1082 padding: 0 0.25rem; 1083 1084 .ch-navigation-bar-item-label { 1085 text-align: center; 1086 display: ${({showLabel:e})=>e?"block":"none"}; 1087 font-size: ${({theme:e})=>e.fontSizes.footnote.fontSize}; 1088 width: 100%; 1089 padding: 0 0.25rem; 1090 margin-bottom: 1.5rem; 1091 } 1092`,Cr=((0,r.Ay)(e=>{var{children:t,className:i,tag:r,alignItems:o="stretch",container:s=!1,flexBasis:a="auto",flexDirection:d="row",flexShrink:c=1,flexWrap:l="nowrap",justifyContent:u="flex-start"}=e,h=X(e,["children","className","tag","alignItems","container","flexBasis","flexDirection","flexShrink","flexWrap","justifyContent"]);return(0,n.jsx)(or,Object.assign({alignItems:o,container:s,flexBasis:a,flexDirection:d,flexShrink:c,flexWrap:l,justifyContent:u,as:r,"data-testid":"flex",className:i||""},h,{children:t}))})` 1093 display: flex; 1094 flex-direction: column; 1095 height: 100%; 1096 max-width: 100%; 1097 color: ${e=>e.theme.navbar.text}; 1098 background-color: ${({theme:e})=>e.navbar.bgd}; 1099 width: 4.25rem; 1100 padding-top: 1rem; 1101 1102 ${({theme:e,responsive:t})=>e.mediaQueries.max.md} { 1103 width: ${e=>e.responsive?"20rem":"4.25rem;"}; 1104 padding-top: ${e=>e.responsive?"0":"1rem"}; 1105 1106 ${Sr} { 1107 display: ${e=>e.responsive?"flex":"none"}; 1108 } 1109 1110 ${wr} { 1111 ${e=>e.responsive&&" \n width: auto;\n flex-direction: row;\n\n .ch-navigation-bar-item-label {\n font-size: 1rem;\n text-align: left;\n margin-left: 1.5rem;\n margin-bottom: 0;\n display: block;\n }"}; 1112 } 1113 } 1114 1115 ${ae} 1116 ${de} 1117`,(0,r.Ay)(ve)``),kr=(0,r.Ay)(ge)``;var Er,Tr,Ir;r.Ay.div.withConfig(se)` 1118 align-items: center; 1119 position: relative; 1120 display: inline-flex; 1121 align-items: center; 1122 color: ${({theme:e,severity:t})=>e.notification[t].text}; 1123 background-color: ${({theme:e,severity:t})=>e.colors[t].primary}; 1124 padding: 0.75rem; 1125 box-shadow: ${({theme:e})=>e.notification.shadow}; 1126 border-radius: 0.25rem; 1127 margin: 0.75rem; 1128 max-width: 45rem; 1129 pointer-events: auto; 1130 1131 .ch-severity-icon { 1132 width: 1.5rem; 1133 flex-shrink: 0; 1134 } 1135 1136 .ch-message { 1137 display: flex; 1138 flex-flow: column wrap; 1139 font-size: ${e=>e.theme.fontSizes.text.fontSize}; 1140 line-height: ${e=>e.theme.fontSizes.text.lineHeight}; 1141 letter-spacing: -0.005625rem; 1142 margin: 0.5rem 0.75rem; 1143 1144 &:empty { 1145 margin: 0; 1146 } 1147 } 1148 1149 ${kr} { 1150 margin-right: 1.6rem; 1151 border-color: ${({theme:e,severity:t})=>e.notification[t].text}; 1152 } 1153 1154 ${Cr}, 1155 ${kr} { 1156 background-color: ${({theme:e,severity:t})=>e.colors[t].primary}; 1157 color: ${({theme:e,severity:t})=>e.notification[t].closeButton.text}; 1158 } 1159 1160 ${Cr}:hover, ${Cr}:focus, ${kr}:hover, ${kr}:focus { 1161 background-color: ${({theme:e,severity:t})=>e.notification[t].closeButton.hover.bgd}; 1162 color: ${({theme:e,severity:t})=>e.notification[t].closeButton.hover.text}; 1163 } 1164 1165 ${Cr}:active, ${kr}:active { 1166 background-color: ${({theme:e,severity:t})=>e.notification[t].closeButton.active.bgd}; 1167 color: ${({theme:e,severity:t})=>e.notification[t].closeButton.active.text}; 1168 } 1169 1170 ${de} 1171 ${ae} 1172`,function(e){e.ERROR="error",e.SUCCESS="success",e.INFO="info",e.WARNING="warning"}(Er||(Er={})),(0,n.jsx)(Te,{}),(0,n.jsx)(xe,{}),(0,n.jsx)(ke,{}),(0,n.jsx)(Pe,{}),function(e){e.ERROR="error",e.SUCCESS="success",e.INFO="info",e.WARNING="warning"}(Tr||(Tr={})),function(e){e[e.ADD=0]="ADD",e[e.REMOVE=1]="REMOVE",e[e.REMOVE_ALL=2]="REMOVE_ALL"}(Ir||(Ir={}));const xr={notifications:[]},Ar=(e,t)=>{const{type:i,payload:n}=t;switch(i){case Ir.ADD:{const t=Object.assign({id:(0,Q.A)()},n),i=(null==t?void 0:t.replaceAll)?[t]:[...e.notifications,t];return Object.assign(Object.assign({},e),{notifications:i})}case Ir.REMOVE:{const t=e.notifications.filter(e=>(null==e?void 0:e.id)!==n);return Object.assign(Object.assign({},e),{notifications:t})}case Ir.REMOVE_ALL:return Object.assign(Object.assign({},e),{notifications:[]});default:throw new Error("Incorrect type in NotificationProvider")}},Pr=q.createContext(xr),Or=q.createContext(()=>{}),_r=({children:e})=>{const[t,i]=(0,q.useReducer)(Ar,xr);return(0,n.jsx)(Pr.Provider,Object.assign({value:t},{children:(0,n.jsx)(Or.Provider,Object.assign({value:i},{children:e}))}))},Mr=(r.Ay.div.withConfig(se)` 1173 position: fixed; 1174 top: 2rem; 1175 left: 0; 1176 right: 0; 1177 display: flex; 1178 flex-direction: column; 1179 align-items: center; 1180 z-index: ${e=>e.theme.zIndex.notificationGroup}; 1181 pointer-events: none; 1182`,r.Ay.input.withConfig(se)` 1183 ${ie}; 1184 1185 &[aria-invalid='true'] + .ch-radio { 1186 border: ${e=>e.theme.inputs.error.border}; 1187 box-shadow: ${e=>e.theme.inputs.error.shadow}; 1188 } 1189`),Rr=(r.Ay.span.withConfig(se)` 1190 > label { 1191 margin-left: 0.5rem; 1192 } 1193`,r.Ay.div.withConfig(se)` 1194 background-color: ${e=>e.theme.inputs.bgd}; 1195 border: ${e=>e.theme.inputs.border}; 1196 border-radius: ${e=>e.theme.radii.circle}; 1197 box-shadow: ${e=>e.theme.inputs.shadow};
1198 margin-bottom: -0.1875rem; 1199 transition: box-shadow 0.05s ease-in; 1200 1201 ${Mr}:checked ~ & { 1202 background-color: ${e=>e.theme.inputs.checked.bgd}; 1203 border: ${e=>e.theme.inputs.checked.border}; 1204 box-shadow: ${e=>e.theme.inputs.checked.shadow}; 1205 } 1206 1207 ${Mr}:focus ~ & { 1208 border: ${e=>e.theme.inputs.focus.border}; 1209 box-shadow: ${e=>e.theme.inputs.focus.shadow}; 1210 } 1211`),Dr=((0,r.Ay)(Rr)` 1212 display: inline-block; 1213 height: 1rem; 1214 position: relative; 1215 width: 1rem; 1216 1217 &:after { 1218 background-color: ${e=>e.checked?e.theme.inputs.checked.fontColor:e.theme.inputs.bgd}; 1219 border-radius: ${e=>e.theme.radii.circle}; 1220 content: ''; 1221 display: block; 1222 height: 0.375rem; 1223 padding: 0.03125rem; 1224 width: 0.375rem; 1225 ${re}; 1226 } 1227`,(0,r.Ay)(Rr)` 1228 display: flex; 1229 align-items: center; 1230 justify-content: center; 1231 padding: 0.5rem; 1232 border-color: ${e=>e.theme.colors.greys.white}; 1233 box-shadow: none; 1234 margin: 0.1rem; 1235 1236 ${Mr}:checked ~ & { 1237 svg { 1238 stroke: ${e=>e.theme.colors.greys.white}; 1239 } 1240 } 1241`,r.Ay.div.withConfig(se)` 1242 position: relative; 1243 1244 .ch-select-icon { 1245 pointer-events: none; 1246 } 1247 1248 ${de} 1249 ${ae} 1250`),Fr=r.Ay.select.withConfig(se)` 1251 background-color: ${e=>e.theme.inputs.bgd}; 1252 border: ${e=>e.theme.inputs.border}; 1253 border-radius: ${e=>e.theme.inputs.borderRadius}; 1254 box-shadow: ${e=>e.theme.inputs.shadow}; 1255 color: ${e=>e.theme.inputs.fontColor}; 1256 font-size: ${e=>e.theme.fontSizes.text.fontSize}; 1257 line-height: ${e=>e.theme.fontSizes.text.lineHeight}; 1258 height: 2rem; 1259 letter-spacing: -0.005625rem; 1260 width: 100%; 1261 padding: 0.375rem 1.5rem 0.375rem 0.5rem; 1262 transition: box-shadow 0.05s ease-in; 1263 display: inline-block; 1264 appearance: none; 1265 1266 &:focus, 1267 &[aria-invalid='true']:focus { 1268 border: ${e=>e.theme.inputs.focus.border}; 1269 box-shadow: ${e=>e.theme.inputs.focus.shadow}; 1270 outline: none; 1271 } 1272 1273 &[aria-invalid='true'] { 1274 border: ${e=>e.theme.inputs.error.border}; 1275 box-shadow: ${e=>e.theme.inputs.error.shadow}; 1276 } 1277 1278 ${de} 1279 ${ae} 1280`,Lr={position:"absolute",top:"50%",transform:"translateY(-50%)",right:"0.2rem",width:"1.5rem",height:"1.5rem"};(0,q.forwardRef)((e,t)=>{return(0,n.jsxs)(Dr,{children:[(0,n.jsx)(Fr,Object.assign({className:"ch-select","data-testid":"select",ref:t},e,{children:(i=e.options,i.map(({value:e,label:t})=>(0,n.jsx)("option",Object.assign({value:e},{children:t}),e)))})),(0,n.jsx)(Re,{style:Lr,className:"ch-select-icon","data-testid":"select-icon"})]});var i}).displayName="Select";const Nr=r.Ay.textarea.withConfig(se)` 1281 background-color: ${e=>e.theme.inputs.bgd}; 1282 border: ${e=>e.theme.inputs.border}; 1283 border-radius: ${e=>e.theme.inputs.borderRadius}; 1284 box-shadow: ${e=>e.theme.inputs.shadow}; 1285 color: ${e=>e.theme.inputs.fontColor}; 1286 font-size: ${e=>e.theme.fontSizes.text.fontSize}; 1287 padding: 0.5rem; 1288 position: relative; 1289 min-height: 4rem; 1290 transition: box-shadow 0.05s ease-in; 1291 width: 100%; 1292 1293 &:focus, 1294 &[aria-invalid='true']:focus { 1295 border: ${e=>e.theme.inputs.focus.border}; 1296 box-shadow: ${e=>e.theme.inputs.focus.shadow}; 1297 outline: none; 1298 } 1299 1300 &[aria-invalid='true'] { 1301 border: ${e=>e.theme.inputs.error.border}; 1302 box-shadow: ${e=>e.theme.inputs.error.shadow}; 1303 } 1304`;q.forwardRef((e,t)=>{var{label:i}=e,r=X(e,["label"]);return(0,n.jsx)(Nr,Object.assign({"aria-label":i,className:"ch-textarea","data-testid":"textarea",ref:t},r))}).displayName="Textarea";var Br=function(){if("undefined"!=typeof Map)return Map;function e(e,t){var i=-1;return e.some(function(e,n){return e[0]===t&&(i=n,!0)}),i}return function(){function t(){this.__entries__=[]}return Object.defineProperty(t.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),t.prototype.get=function(t){var i=e(this.__entries__,t),n=this.__entries__[i];return n&&n[1]},t.prototype.set=function(t,i){var n=e(this.__entries__,t);~n?this.__entries__[n][1]=i:this.__entries__.push([t,i])},t.prototype.delete=function(t){var i=this.__entries__,n=e(i,t);~n&&i.splice(n,1)},t.prototype.has=function(t){return!!~e(this.__entries__,t)},t.prototype.clear=function(){this.__entries__.splice(0)},t.prototype.forEach=function(e,t){void 0===t&&(t=null);for(var i=0,n=this.__entries__;i<n.length;i++){var r=n[i];e.call(t,r[1],r[0])}},t}()}(),Vr="undefined"!=typeof window&&"undefined"!=typeof document&&window.document===document,Ur=void 0!==i.g&&i.g.Math===Math?i.g:"undefined"!=typeof self&&self.Math===Math?self:"undefined"!=typeof window&&window.Math===Math?window:Function("return this")(),jr="function"==typeof requestAnimationFrame?requestAnimationFrame.bind(Ur):function(e){return setTimeout(function(){return e(Date.now())},1e3/60)},zr=["top","right","bottom","left","width","height","size","weight"],$r="undefined"!=typeof MutationObserver,Hr=function(){function e(){this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=function(e){var t=!1,i=!1,n=0;function r(){t&&(t=!1,e()),i&&s()}function o(){jr(r)}function s(){var e=Date.now();if(t){if(e-n<2)return;i=!0}else t=!0,i=!1,setTimeout(o,20);n=e}return s}(this.refresh.bind(this))}return e.prototype.addObserver=function(e){~this.observers_.indexOf(e)||this.observers_.push(e),this.connected_||this.connect_()},e.prototype.removeObserver=function(e){var t=this.observers_,i=t.indexOf(e);~i&&t.splice(i,1),!t.length&&this.connected_&&this.disconnect_()},e.prototype.refresh=function(){this.updateObservers_()&&this.refresh()},e.prototype.updateObservers_=function(){var e=this.observers_.filter(function(e){return e.gatherActive(),e.hasActive()});return e.forEach(function(e){return e.broadcastActive()}),e.length>0},e.prototype.connect_=function(){Vr&&!this.connected_&&(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),$r?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},e.prototype.disconnect_=function(){Vr&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},e.prototype.onTransitionEnd_=function(e){var t=e.propertyName,i=void 0===t?"":t;zr.some(function(e){return!!~i.indexOf(e)})&&this.refresh()},e.getInstance=function(){return this.instance_||(this.instance_=ne
1304w e),this.instance_},e.instance_=null,e}(),Wr=function(e,t){for(var i=0,n=Object.keys(t);i<n.length;i++){var r=n[i];Object.defineProperty(e,r,{value:t[r],enumerable:!1,writable:!1,configurable:!0})}return e},qr=function(e){return e&&e.ownerDocument&&e.ownerDocument.defaultView||Ur},Kr=Zr(0,0,0,0);function Gr(e){return parseFloat(e)||0}function Jr(e){for(var t=[],i=1;i<arguments.length;i++)t[i-1]=arguments[i];return t.reduce(function(t,i){return t+Gr(e["border-"+i+"-width"])},0)}var Qr="undefined"!=typeof SVGGraphicsElement?function(e){return e instanceof qr(e).SVGGraphicsElement}:function(e){return e instanceof qr(e).SVGElement&&"function"==typeof e.getBBox};function Xr(e){return Vr?Qr(e)?function(e){var t=e.getBBox();return Zr(0,0,t.width,t.height)}(e):function(e){var t=e.clientWidth,i=e.clientHeight;if(!t&&!i)return Kr;var n=qr(e).getComputedStyle(e),r=function(e){for(var t={},i=0,n=["top","right","bottom","left"];i<n.length;i++){var r=n[i],o=e["padding-"+r];t[r]=Gr(o)}return t}(n),o=r.left+r.right,s=r.top+r.bottom,a=Gr(n.width),d=Gr(n.height);if("border-box"===n.boxSizing&&(Math.round(a+o)!==t&&(a-=Jr(n,"left","right")+o),Math.round(d+s)!==i&&(d-=Jr(n,"top","bottom")+s)),!function(e){return e===qr(e).document.documentElement}(e)){var c=Math.round(a+o)-t,l=Math.round(d+s)-i;1!==Math.abs(c)&&(a-=c),1!==Math.abs(l)&&(d-=l)}return Zr(r.left,r.top,a,d)}(e):Kr}function Zr(e,t,i,n){return{x:e,y:t,width:i,height:n}}var Yr=function(){function e(e){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=Zr(0,0,0,0),this.target=e}return e.prototype.isActive=function(){var e=Xr(this.target);return this.contentRect_=e,e.width!==this.broadcastWidth||e.height!==this.broadcastHeight},e.prototype.broadcastRect=function(){var e=this.contentRect_;return this.broadcastWidth=e.width,this.broadcastHeight=e.height,e},e}(),eo=function(e,t){var i,n,r,o,s,a,d,c=(n=(i=t).x,r=i.y,o=i.width,s=i.height,a="undefined"!=typeof DOMRectReadOnly?DOMRectReadOnly:Object,d=Object.create(a.prototype),Wr(d,{x:n,y:r,width:o,height:s,top:r,right:n+o,bottom:s+r,left:n}),d);Wr(this,{target:e,contentRect:c})},to=function(){function e(e,t,i){if(this.activeObservations_=[],this.observations_=new Br,"function"!=typeof e)throw new TypeError("The callback provided as parameter 1 is not a function.");this.callback_=e,this.controller_=t,this.callbackCtx_=i}return e.prototype.observe=function(e){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if("undefined"!=typeof Element&&Element instanceof Object){if(!(e instanceof qr(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var t=this.observations_;t.has(e)||(t.set(e,new Yr(e)),this.controller_.addObserver(this),this.controller_.refresh())}},e.prototype.unobserve=function(e){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if("undefined"!=typeof Element&&Element instanceof Object){if(!(e instanceof qr(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var t=this.observations_;t.has(e)&&(t.delete(e),t.size||this.controller_.removeObserver(this))}},e.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},e.prototype.gatherActive=function(){var e=this;this.clearActive(),this.observations_.forEach(function(t){t.isActive()&&e.activeObservations_.push(t)})},e.prototype.broadcastActive=function(){if(this.hasActive()){var e=this.callbackCtx_,t=this.activeObservations_.map(function(e){return new eo(e.target,e.broadcastRect())});this.callback_.call(e,t,e),this.clearActive()}},e.prototype.clearActive=function(){this.activeObservations_.splice(0)},e.prototype.hasActive=function(){return this.activeObservations_.length>0},e}(),io="undefined"!=typeof WeakMap?new WeakMap:new Br,no=function e(t){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var i=Hr.getInstance(),n=new to(t,i,this);io.set(this,n)};["observe","unobserve","disconnect"].forEach(function(e){no.prototype[e]=function(){var t;return(t=io.get(this))[e].apply(t,arguments)}}),void 0!==Ur.ResizeObserver&&Ur.ResizeObserver,Ue(function(e,t){!function(e){function t(e,t,i,n){var r,o=!1,s=0;function a(){r&&clearTimeout(r)}function d(){for(var d=arguments.length,c=new Array(d),l=0;l<d;l++)c[l]=arguments[l];var u=this,h=Date.now()-s;function p(){s=Date.now(),i.apply(u,c)}o||(n&&!r&&p(),a(),void 0===n&&h>e?p():!0!==t&&(r=setTimeout(n?function(){r=void 0}:p,void 0===n?e-h:e)))}return"boolean"!=typeof t&&(n=i,i=t,t=void 0),d.cancel=function(){a(),o=!0},d}e.debounce=function(e,i,n){return void 0===n?t(e,i,!1):t(e,n,!1!==i)}
1304,e.throttle=t,Object.defineProperty(e,"__esModule",{value:!0})}(t)});const ro=["slim","r1by2","r2by3","r1by1","r4by3","r3by2","r16by9"],oo={1:"grid-template: 1fr / 1fr;","1.slim":"grid-template: repeat(2, 1fr) / 1fr;","1.r2by3":"grid-template: 1fr / 1fr;","1.featured":'grid-template: "ft" 1fr / 1fr;',2:"grid-template: 1fr / repeat(2,1fr);","2.slim":"grid-template: repeat(3,1fr) / 1fr;","2.r1by2":"grid-template: repeat(2,1fr) / 1fr;","2.r2by3":"grid-template: repeat(2,1fr) / 1fr;","2.r4by3":"grid-template: repeat(2,1fr) / repeat(2,1fr);","2.r16by9":"grid-template: 1fr / repeat(2,1fr);","2.featured":"grid-template: repeat(3,1fr) / repeat(2,1fr);\n grid-template-areas: 'ft ft' 'ft ft';","2.r16by9.featured":"grid-template: repeat(2,1fr) / repeat(3,1fr);\n grid-template-areas: 'ft ft v' 'ft ft v' 'ft ft v';",3:"grid-template: repeat(3,1fr) / 1fr;","3.r2by3":"grid-template: repeat(3,1fr) / repeat(1,1fr);","3.r1by1":"grid-template: repeat(2,1fr) / repeat(2,1fr);","3.featured":"grid-template: repeat(3,1fr) / repeat(2,1fr);\n grid-template-areas: 'ft ft' 'ft ft';\n ","3.r16by9.featured":"grid-template: repeat(2,1fr) / repeat(3,1fr);\n grid-template-areas: 'ft ft v' 'ft ft v';",4:"grid-template: repeat(2,1fr) / repeat(2,1fr);","4.slim":"grid-template: repeat(4,1fr) / 1fr;","4.r2by3":"grid-template: repeat(2,1fr) / repeat(2,1fr);","4.featured":"grid-template: repeat(3,1fr) / repeat(3,1fr);\n grid-template-areas: 'ft ft ft' 'ft ft ft';","4.r16by9.featured":"grid-template-areas: 'ft ft v' 'ft ft v' 'ft ft v';",5:"grid-template: repeat(2,1fr) / repeat(3,1fr);","5.slim":"grid-template: repeat(5,1fr) / 1fr;","5.r1by2":"grid-template: repeat(3,1fr) / repeat(2,1fr);","5.r2by3":"grid-template: repeat(3,1fr) / repeat(2,1fr);","5.r3by2":"grid-template: repeat(2,1fr) / repeat(3,1fr);","5.r16by9":"grid-template: repeat(2,1fr) / repeat(3,1fr);","5.featured":"grid-template: repeat(4,1fr) / repeat(2,1fr);\n grid-template-areas: 'ft ft' 'ft ft';","5.r1by1.featured":"grid-template: repeat(3,1fr) / repeat(3,1fr);\n grid-template-areas: 'ft ft v' 'ft ft v';",6:"grid-template: repeat(3,1fr) / repeat(3,1fr);","6.slim":"grid-template: repeat(4,1fr) / repeat(2,1fr);","6.r1by2":"grid-template: repeat(3,1fr) / repeat(2,1fr);","6.r1by1":"grid-template: repeat(3,1fr) / repeat(2,1fr);","6.r2by3":"grid-template: repeat(3,1fr) / repeat(2,1fr);","6.r3by2":"grid-template: repeat(2,1fr) / repeat(3,1fr);","6.r16by9":"grid-template: repeat(2,1fr) / repeat(3,1fr);","6.featured":"grid-template: repeat(4,1fr) / repeat(3,1fr);\n grid-template-areas: 'ft ft ft' 'ft ft ft';","6.r1by1.featured":"grid-template: repeat(3,1fr) / repeat(3,1fr);\n grid-template-areas: 'ft ft v' 'ft ft v';",7:"grid-template: repeat(3,1fr) / repeat(3,1fr);","7.slim":"grid-template: repeat(4,1fr) / repeat(2,1fr);","7.r4by3":"grid-template: repeat(3,1fr) / repeat(3,1fr);","7.r16by9":"grid-template: repeat(2,1fr) / repeat(4,1fr);","7.featured":"grid-template: repeat(4,1fr) / repeat(3,1fr);\n grid-template-areas: 'ft ft ft' 'ft ft ft';","7.r1by1.featured":"grid-template: repeat(4,1fr) / repeat(4,1fr);\n grid-template-areas: 'ft ft ft v' 'ft ft ft v' 'ft ft ft v';",8:"grid-template: repeat(3,1fr) / repeat(3,1fr);","8.slim":"grid-template: repeat(4,1fr) / repeat(2,1fr);","8.r4by3":"grid-template: repeat(3,1fr) / repeat(3,1fr);","8.r16by9":"grid-template: repeat(2,1fr) / repeat(4,1fr);","8.featured":"grid-template: repeat(5,1fr) / repeat(4,1fr);\n grid-template-areas: 'ft ft ft ft ft' 'ft ft ft ft ft' 'ft ft ft ft ft';","8.r1by1.featured":"grid-template: repeat(4,1fr) / repeat(4,1fr);\n grid-template-areas: 'ft ft ft v' 'ft ft ft v' 'ft ft ft x';","8.r16by9.featured":"grid-template-areas: 'ft ft ft v' 'ft ft ft v' 'ft ft ft x';",9:"grid-template: repeat(3,1fr) / repeat(3,1fr);","9.slim":"grid-template: repeat(5,1fr) / repeat(2,1fr);","9.r1by1":"grid-template: repeat(3,1fr) / repeat(3,1fr);","9.r16by9":"grid-template: repeat(3,1fr) / repeat(4,1fr);","9.featured":"grid-template: repeat(5,1fr) / repeat(4,1fr);\n grid-template-areas: 'ft ft ft ft ft' 'ft ft ft ft ft' 'ft ft ft ft ft';","9.r1by1.featured":"grid-template: repeat(5,1fr) / repeat(5,1fr);\n grid-template-areas: 'ft ft ft ft v' 'ft ft ft ft v' 'ft ft ft ft v' 'ft ft ft ft v';",10:"grid-template: repeat(4,1fr) / repeat(3,1fr);","10.slim":"grid-template: repeat(5,1fr) / repeat(2,1fr);","10.r1by1":"grid-template: repeat(4,1fr) / repeat(3,1fr);","10.r3by2":"grid-template: repeat(3,1fr) / repeat(4,1fr);","10.featured":"grid-template: repeat(5,1fr) / repeat(4,1fr);\n grid-template-areas: 'ft ft ft ft ft' 'ft ft ft ft ft' 'ft ft ft ft ft';","10.r1by1.featured":"grid-template: repeat(5,1fr) / repeat(5,1fr);\n grid-template-areas: 'ft ft ft ft v' 'ft ft ft ft v' 'ft ft ft ft v' 'ft ft ft ft v';",11:"grid-template: repeat(4,1fr) / repeat(3,1fr);","11.slim":"grid-template: repeat(6,1fr) / repeat(2,1fr);","11.r1by1":"grid-template: repeat(4,1fr) / repeat(3,1fr);","11.r3by2":"grid-template: repeat(3,1fr) / repeat(4,1fr);","11.r16by9":"grid-template: repeat(3,1fr) / repeat(4,1fr);","11.featured":"grid-template: repeat(6,1fr) / repeat(6,1fr);\n grid-template-areas: 'ft ft ft ft ft ft' 'ft ft ft ft ft ft' 'ft ft ft ft ft ft' 'ft ft ft ft ft ft';","11.r1by1.featured":"grid-template-areas:\n 'ft ft ft ft ft v' 'ft ft ft ft ft v' 'ft ft ft ft ft v'\n 'ft ft ft ft ft v' 'ft ft ft ft ft x';",12:"grid-template: repeat(4,1fr) / repeat(3,1fr);","12.slim":"grid-template: repeat(6,1fr) / repeat(2,1fr);","12.r2by3":"grid-template: repeat(4,1fr) / repeat(3,1fr);","12.r3by2":"grid-template: repeat(3,1fr) / repeat(4,1fr);","12.featured":"grid-template: repeat(6,1fr) / repeat(6,1fr);\n grid-template-areas:\n 'ft ft ft ft ft ft' 'ft ft ft ft ft ft' 'ft ft ft ft ft ft'\n 'ft ft ft ft ft ft';","12.r1by1.featured":"grid-template-areas:\n 'ft ft ft ft ft v' 'ft ft ft ft ft v' 'ft ft ft ft ft v'\n 'ft ft ft ft ft v' 'ft ft ft ft ft x';",13:"grid-template: repeat(4,1fr) / repeat(4,1fr);","13.slim":"grid-template: repeat(7,1fr) / repeat(2,1fr);","13.r2by3":"grid-template: repeat(5,1fr) / repeat(3,1fr);","13.r1by1":"grid-template: repeat(4,1fr) / repeat(4,1fr);","13.r3by2":"grid-template: repeat(4,1fr) / repeat(4,1fr);","13.r16by9":"grid-template: repeat(3,1fr) / repeat(5,1fr);","13.featured":"grid-template: repeat(7,1fr) / repeat(6,1fr);\n grid-template-areas:\n 'ft ft ft ft ft ft' 'ft ft ft ft ft ft' 'ft ft ft ft ft ft' 'ft ft ft ft ft ft'\n 'ft ft ft ft ft ft';","13.r1by1.featured":"grid-template-areas:\n 'ft ft ft ft ft v' 'ft ft ft ft ft v' 'ft ft ft ft ft v' 'ft ft ft ft ft v'\n 'ft ft ft ft ft v' 'ft ft ft ft ft x';",14:"grid-template: repeat(4,1fr) / repeat(4,1fr);","14.slim":"grid-template: repeat(7,1fr) / repeat(2,1fr);","14.r2by3":"grid-template: repeat(5,1fr) / repeat(3,1fr);","14.r3by2":"grid-template: repeat(4,1fr) / repeat(4,1fr);","14.r16by9":"grid-template: repeat(3,1fr) / repeat(5,1fr);","14.featured":"grid-template: repeat(7,1fr) / repeat(7,1fr);\n grid-template-areas:\n 'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft'\n 'ft ft ft ft ft ft ft';","14.r1by1.featured":"grid-template-areas:\n 'ft ft ft ft ft ft v' 'ft ft ft ft ft ft v' 'ft ft ft ft ft ft v' 'ft ft ft ft ft ft v'\n 'ft ft ft ft ft ft v' 'ft ft ft ft ft ft x';",15:"grid-template: repeat(5,1fr) / repeat(3,1fr);","15.slim":"grid-template: repeat(8,1fr) / repeat(2,1fr);","15.r1by2":"grid-template: repeat(5,1fr) / repeat(3,1fr);","15.r3by2":"grid-template: repeat(4,1fr) / repeat(4,1fr);","15.r16by9":"grid-template: repeat(3,1fr) / repeat(5,1fr);","15.featured":"grid-template: repeat(8,1fr) / repeat(8,1fr);\n grid-template-areas:\n 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft'\n 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft';","15.r1by1.featured":"grid-template-areas:\n 'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft v'\n 'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft x';",16:"grid-template: repeat(4,1fr) / repeat(4,1fr);","16.slim":"grid-template: repeat(8,1fr) / repeat(2,1fr);","16.r1by2":"grid-template: repeat(6,1fr) / repeat(3,1fr);","16.r1by1":"grid-template: repeat(4,1fr) / repeat(4,1fr);","16.featured":"grid-template: repeat(8,1fr) / repeat(8,1fr);\n grid-template-areas:\n 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft'\n 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft';","16.r1by1.featured":"grid-template-areas:\n 'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft v'\n 'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft x';",17:"grid-template: repeat(5,1fr) / repeat(4,1fr);","17.slim":"grid-template: repeat(8,1fr) / repeat(3,1fr);","17.r1by2":"grid-template: repeat(6,1fr) / repeat(4,1fr);","17.r1by1":"grid-template: repeat(4,1fr) / repeat(5,1fr);","17.featured":"grid-template: repeat(8,1fr) / repeat(9,1fr);\n grid-template-areas:\n 'ft ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft ft'\n 'ft ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft ft';","17.r1by1.featured":"grid-template-areas:\n 'ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft v'\n 'ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft x';",18:"grid-template: repeat(5,1fr) / repeat(4,1fr);","18.slim":"grid-template: repeat(8,1fr) / repeat(3,1fr);","18.r1by2":"grid-template: repeat(6,1fr) / repeat(4,1fr);","18.r1by1":"grid-template: repeat(4,1fr) / repeat(5,1fr);","18.featured":"grid-template: repeat(8,1fr) / repeat(9,1fr);\n grid-template-areas:\n 'ft ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft ft'\n 'ft ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft ft';","18.r1by1.featured":"grid-template: repeat(9,1fr) / repeat(9,1fr);\n grid-template-areas:\n 'ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft v'\n 'ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft x';",19:"grid-template: repeat(5,1fr) / repeat(4,1fr);","19.slim":"grid-template: repeat(8,1fr) / repeat(3,1fr);","19.r1by2":"grid-template: repeat(6,1fr) / repeat(4,1fr);","19.r1by1":"grid-template: repeat(4,1fr) / repeat(5,1fr);","19.featured":"grid-template: repeat(8,1fr) / repeat(9,1fr);\n grid-template-areas:\n 'ft ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft ft'\n 'ft ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft ft';","19.r1by1.featured":"grid-template: repeat(9,1fr) / repeat(10,1fr);\n grid-template-areas:\n 'ft ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft ft v' \n 'ft ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft ft v' \n 'ft ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft ft x';",20:"grid-template: repeat(5,1fr) / repeat(4,1fr);","20.slim":"grid-template: repeat(8,1fr) / repeat(3,1fr);","20.r1by2":"grid-template: repeat(6,1fr) / repeat(4,1fr);","20.r1by1":"grid-template: repeat(4,1fr) / repeat(5,1fr);","20.featured":"grid-template: repeat(11,1fr) / repeat(7,1fr);\n grid-template-areas:\n 'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft' \n 'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft';","20.r1by1.featured":"grid-template: repeat(10,1fr) / repeat(10,1fr);\n grid-template-areas:\n 'ft ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft ft v' \n 'ft ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft ft v' \n 'ft ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft ft x';",21:"grid-template: repeat(5,1fr) / repeat(5,1fr);","21.slim":"grid-template: repeat(8,1fr) / repeat(3,1fr);","21.r1by2":"grid-template: repeat(6,1fr) / repeat(4,1fr);","21.r1by1":"grid-template: repeat(5,1fr) / repeat(5,1fr);","21.featured":"grid-template: repeat(11,1fr) / repeat(7,1fr);\n grid-template-areas:\n 'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft' \n 'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft';","21.r1by1.featured":"grid-template: repeat(8,1fr) / repeat(7,1fr);\n grid-template-areas:\n 'ft ft ft ft ft ft v' 'ft ft ft ft ft ft v' 'ft ft ft ft ft ft v' \
1304n 'ft ft ft ft ft ft v' 'ft ft ft ft ft ft v' 'ft ft ft ft ft ft x';",22:"grid-template: repeat(5,1fr) / repeat(5,1fr);","22.slim":"grid-template: repeat(8,1fr) / repeat(3,1fr);","22.r1by2":"grid-template: repeat(6,1fr) / repeat(4,1fr);","22.r1by1":"grid-template: repeat(5,1fr) / repeat(5,1fr);","22.featured":"grid-template: repeat(11,1fr) / repeat(7,1fr);\n grid-template-areas:\n 'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft' \n 'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft';","22.r1by1.featured":"grid-template: repeat(9,1fr) / repeat(7,1fr);\n grid-template-areas:\n 'ft ft ft ft ft ft v' 'ft ft ft ft ft ft v' 'ft ft ft ft ft ft v' 'ft ft ft ft ft ft v' \n 'ft ft ft ft ft ft v' 'ft ft ft ft ft ft v' 'ft ft ft ft ft ft x';",23:"grid-template: repeat(5,1fr) / repeat(5,1fr);","23.slim":"grid-template: repeat(8,1fr) / repeat(3,1fr);","23.r1by2":"grid-template: repeat(6,1fr) / repeat(4,1fr);","23.r1by1":"grid-template: repeat(5,1fr) / repeat(5,1fr);","23.featured":"grid-template: repeat(11,1fr) / repeat(8,1fr);\n grid-template-areas:\n 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft' \n 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft';","23.r1by1.featured":"grid-template: repeat(8,1fr) / repeat(8,1fr);\n grid-template-areas:\n 'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft v' \n 'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft x';",24:"grid-template: repeat(5,1fr) / repeat(5,1fr);","24.slim":"grid-template: repeat(8,1fr) / repeat(3,1fr);","24.r1by2":"grid-template: repeat(6,1fr) / repeat(4,1fr);","24.r1by1":"grid-template: repeat(5,1fr) / repeat(5,1fr);","24.featured":"grid-template: repeat(11,1fr) / repeat(8,1fr);\n grid-template-areas:\n 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft' \n 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft';","24.r1by1.featured":"grid-template: repeat(9,1fr) / repeat(8,1fr);\n grid-template-areas:\n 'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft v' \n 'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft x';",25:"grid-template: repeat(5,1fr) / repeat(5,1fr);","25.slim":"grid-template: repeat(9,1fr) / repeat(3,1fr);","25.r1by2":"grid-template: repeat(7,1fr) / repeat(4,1fr);","25.r1by1":"grid-template: repeat(5,1fr) / repeat(5,1fr);","25.featured":"grid-template: repeat(11,1fr) / repeat(8,1fr);\n grid-template-areas:\n 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft' \n 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft';","25.r1by1.featured":"grid-template: repeat(10,1fr) / repeat(8,1fr);\n grid-template-areas:\n 'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft v' \n 'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft x';",26:"grid-template: repeat(6,1fr) / repeat(5,1fr);","26.slim":"grid-template: repeat(9,1fr) / repeat(3,1fr);","26.r1by2":"grid-template: repeat(7,1fr) / repeat(4,1fr);","26.r1by1":"grid-template: repeat(6,1fr) / repeat(5,1fr);","26.featured":"grid-template: repeat(11,1fr) / repeat(9,1fr);\n grid-template-areas:\n 'ft ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft ft'\n 'ft ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft ft';","26.r1by1.featured":"grid-template: repeat(9,1fr) / repeat(9,1fr);\n grid-template-areas:\n 'ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft v' \n 'ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft x';"},so={"2.featured":"\n @media (max-width: 600px) {\n grid-template-columns: 1fr;\n grid-template-rows: calc(100% / 3);\n grid-auto-rows: calc(100% / 3);\n }\n ","3.r16by9":"\n @media (max-height: 600px) {\n grid-template-rows: repeat(2,1fr);\n grid-template-columns: 50%;\n grid-auto-columns: 50%;\n grid-auto-flow: column;\n }\n ","3.featured":"\n @media (max-width: 600px) {\n grid-template-areas: 'ft' 'ft';\n grid-template-columns: 1fr;\n grid-template-rows: 25%;\n grid-auto-rows: 25%;\n }\n ","4.r16by9":"\n @media (max-height: 600px) {\n grid-template-rows: repeat(2,1fr);\n grid-template-columns: 50%;\n grid-auto-columns: 50%;\n grid-auto-flow: column;\n }\n ","5.r16by9":"grid-template: repeat(2,1fr) / repeat(3,1fr);\n @media (max-height: 600px) {\n grid-template-rows: repeat(2,1fr);\n grid-template-columns: calc(100% / 3);\n grid-auto-columns: calc(100% / 3);\n grid-auto-flow: column;\n }\n ","6.r16by9":"grid-template: repeat(2,1fr) / repeat(3,1fr);\n @media (max-height: 600px) {\n grid-template-rows: repeat(2,1fr);\n grid-template-columns: calc(100% / 3);\n grid-auto-columns: calc(100% / 3);\n grid-auto-flow: column;\n }\n ","7.r16by9":"\n @media (max-height: 600px) {\n grid-template-rows: repeat(2,1fr);\n grid-template-columns: 25%;\n grid-auto-columns: 25%;\n grid-auto-flow: column;\n }\n "},ao=(r.Ay.div.withConfig(se)` 1305 position: relative; 1306 display: grid; 1307 height: 100%; 1308 width: 100%; 1309 overflow: auto; 1310 background-color: ${e=>e.theme.videoGrid.bgd}; 1311 1312 ${({size:e,featured:t})=>oo[`${e}${t?".featured":""}`]||""} 1313 ${({size:e,featured:t,ratio:i})=>{if(!i)return;let n="";const r=ro.indexOf(i);for(let i=0;i<=r;i++){const r=ro[i];n+=oo[`${e}.${r}${t?".featured":""}`]||""}const o=so[`${e}.${i}${t?".featured":""}`]||so[`${e}${t?".featured":""}`];return o?n+=o:"r16by9"===i&&(e>7||t)?n+="\n @media (max-height: 600px) {\n grid-template-areas: 'ft ft' 'ft ft';\n grid-template-rows: repeat(2,1fr);\n grid-template-columns: 25%;\n grid-auto-columns: 25%;\n grid-auto-flow: column;\n }\n":(e>7||t)&&(n+="\n @media (max-width: 600px) {\n grid-template-areas: 'ft ft' 'ft ft';\n grid-template-columns: repeat(2,1fr);\n grid-template-rows: 25%;\n grid-auto-rows: 25%;\n }\n"),n}}; 1314`,(0,q.createContext)(null)),co=r.Ay.div.withConfig(se)` 1315 height: 100%; 1316 width: 100%; 1317 position: relative; 1318 background: ${e=>e.theme.colors.greys.grey100}; 1319 1320 video { 1321 position: absolute; 1322 top: 0; 1323 left: 0; 1324 right: 0; 1325 bottom: 0; 1326 width: 100%; 1327 height: 100%; 1328 object-fit: ${e=>e.objectFit||"cover"}; 1329 } 1330 1331 .ch-icon { 1332 width: 1.5rem; 1333 height: 1.5rem; 1334 display: inline-block; 1335 background-color: papayawhip;
1335 /* TODO: figure out what this is supposed to be */ 1336 margin-right: 0.5rem; 1337 flex: 0 0 1.5rem; 1338 } 1339 1340 .ch-nameplate { 1341 backdrop-filter: blur(20px); 1342 background-color: rgba(46, 47, 52, 0.85); 1343 border-radius: 0.25rem; 1344 bottom: 0.5rem; 1345 color: ${e=>e.theme.colors.greys.white}; 1346 left: 0.5rem; 1347 max-width: calc(100% - 2rem); 1348 padding: 0.5rem; 1349 position: absolute; 1350 1351 div { 1352 ${ne}; 1353 display: flex; 1354 align-items: center; 1355 } 1356 1357 .ch-text { 1358 font-size: ${e=>e.theme.fontSizes.text.fontSize}; 1359 ${ne}; 1360 margin: 0; 1361 } 1362 } 1363 1364 ${de} 1365 ${ae} 1366`,lo=(0,q.forwardRef)((e,t)=>{const{tag:i,className:r,nameplate:o}=e,s=X(e,["tag","className","nameplate"]);return(0,n.jsxs)(co,Object.assign({as:i,className:r||"","data-testid":"video-tile"},s,{children:[(0,n.jsx)("video",{ref:t,className:"ch-video"}),o&&(0,n.jsx)("header",Object.assign({className:"ch-nameplate"},{children:(0,n.jsx)("p",Object.assign({className:"ch-text"},{children:o}))}))]}))});r.Ay.div.withConfig(se)` 1367 display: grid; 1368 width: 100%; 1369 height: 100%; 1370 1371 ${k} 1372 ${de} 1373 ${ae} 1374 1375 ${({responsive:e,theme:t})=>e?`\n ${t.mediaQueries.max.md} {\n grid-template-columns: 1fr 1fr;\n }\n\n ${t.mediaQueries.max.sm} {\n grid-template-columns: 1fr;\n }\n `:""} 1376 1377 ${e=>e.css||""} 1378`,r.Ay.div.withConfig(se)` 1379 ${de} 1380 ${k} 1381 1382 ${e=>e.css||""} 1383`,r.Ay.aside.withConfig(se)` 1384 width: 100%; 1385 height: 100%; 1386 padding-bottom: 1rem; 1387 overflow-y: auto; 1388 background-color: ${e=>e.theme.roster.bgd}; 1389 box-shadow: 1rem 1rem 3.75rem 0 rgba(0, 0, 0, 0.1); 1390 border-left: 0.0625rem solid ${e=>e.theme.roster.containerBorder}; 1391 border-right: 0.0625rem solid ${e=>e.theme.roster.containerBorder}; 1392 1393 ${({theme:e})=>e.mediaQueries.min.md} { 1394 width: ${e=>e.theme.roster.maxWidth}; 1395 } 1396 1397 ${de} 1398 ${ae} 1399`,r.Ay.span.withConfig(se)` 1400 display: inline-block; 1401 margin: 0 0.625rem 0 0; 1402 font-weight: 600; 1403 font-size: 0.675rem; 1404 color: ${e=>e.theme.roster.secondaryText}; 1405`,r.Ay.div.withConfig(se)` 1406 margin: 0 0.5rem; 1407 1408 & + & { 1409 margin-top: 1rem; 1410 } 1411 1412 ${de} 1413 ${ae} 1414`,r.Ay.div.withConfig(se)` 1415 background-color: ${e=>e.theme.roster.fgd}; 1416 border-radius: ${e=>e.theme.radii.default}; 1417 1418 ${de} 1419 ${ae} 1420`,r.Ay.div.withConfig(se)` 1421 position: relative; 1422 display: flex; 1423 align-items: center; 1424 padding: 0.75rem 1rem; 1425 margin-bottom: 0.5rem; 1426 border-bottom: 0.0625rem solid ${e=>e.theme.roster.headerBorder}; 1427 1428 .ch-title { 1429 font-size: 0.875rem; 1430 color: ${e=>e.theme.roster.primaryText}; 1431 ${e=>e.isSearching?"opacity: 0;":""} 1432 ${ne}; 1433 } 1434 1435 .ch-badge { 1436 margin-left: 0.5rem; 1437 ${e=>e.isSearching?"opacity: 0;":""} 1438 } 1439 1440 .ch-buttons { 1441 margin-left: auto; 1442 display: flex; 1443 1444 > * { 1445 margin-left: 0.5rem; 1446 } 1447 1448 ${e=>e.isSearching?"opacity: 0;":""} 1449 } 1450 1451 .ch-search-wrapper { 1452 position: absolute !important; 1453 bottom: 0.75rem; 1454 left: 0.5rem; 1455 right: 0.5rem; 1456 1457 .ch-search-input { 1458 flex: 1; 1459 1460 input { 1461 width: 100%; 1462 } 1463 } 1464 1465 .ch-search-close { 1466 margin-left: 0.5rem; 1467 } 1468 } 1469 1470 .ch-navigation-icon { 1471 margin-right: 0.5rem; 1472 margin-left: -0.5rem; 1473 1474 ${({theme:e})=>e.mediaQueries.min.md} { 1475 display: none; 1476 } 1477 } 1478 1479 ${de} 1480 ${ae} 1481`,r.Ay.div.withConfig(se)` 1482 flex-grow: 1; 1483 min-width: 0; 1484 line-height: 1.5; 1485 1486 .ch-name { 1487 ${ne}; 1488 font-size: 0.875rem; 1489 color: ${e=>e.theme.roster.primaryText}; 1490 } 1491 1492 .ch-subtitle { 1493 ${ne}; 1494 font-size: 0.65rem; 1495 color: ${e=>e.theme.roster.secondaryText}; 1496 } 1497`,r.Ay.div.withConfig(se)` 1498 display: flex; 1499 align-items: center; 1500 padding: 0.625rem 1rem; 1501 1502 .ch-mic { 1503 flex-shrink: 0; 1504 width: 1.5rem; 1505 line-height: 0; 1506 1507 ${({micPosition:e})=>"leading"===e?"\n order: -1;\n margin-right: .75rem;\n ":""} 1508 } 1509 1510 .ch-menu { 1511 color: ${e=>e.theme.buttons.icon.hover.bgd}; 1512 1513 &:hover, 1514 &:focus { 1515 color: ${e=>e.theme.buttons.icon.hover.text}; 1516 } 1517 } 1518 1519 svg { 1520 width: 1.5rem; 1521 flex-shrink: 0; 1522 } 1523 1524 > * { 1525 margin-right: 0.5rem; 1526 } 1527 1528 > :last-child { 1529 margin-right: 0; 1530 } 1531 1532 ${de} 1533 ${ae} 1534`,r.Ay.div.withConfig(se)` 1535 display: flex; 1536 align-items: center; 1537 white-space: nowrap; 1538 font-size: 0.65rem; 1539 color: ${({theme:e})=>e.roster.secondaryText}; 1540 1541 > svg { 1542 margin-right: 0.25rem; 1543 color: ${({theme:e})=>e.roster.secondaryText}; 1544 } 1545`;(0,q.createContext)(null),r.Ay.div.withConfig(se)`
1546 z-index: ${e=>e.isActive?e.theme.zIndex.controlBar:"-10"}; 1547 visibility: ${e=>e.isActive?"visible":"hidden"}; 1548 1549 &.ch-active { 1550 animation: ${br} 0.25s ease 0s forwards; 1551 } 1552`;r.Ay.ul.withConfig(se)` 1553 display: flex; 1554 flex-direction: column; 1555 width: 20rem; 1556 1557 ${ae} 1558 ${de} 1559`,r.Ay.li.withConfig(se)` 1560 position: relative; 1561 1562 ${ae}; 1563 ${de}; 1564 1565 & .ch-channel-button { 1566 width: 100%; 1567 height: 100%; 1568 padding: 11px 0; 1569 background-color: ${e=>e.theme.channelList.bgd}; 1570 border: none; 1571 border-radius: unset; 1572 justify-content: left; 1573 padding-left: 1rem; 1574 color: ${e=>e.theme.channelList.fontColor}; 1575 border: ${e=>e.theme.channelList.border}; 1576 font-family: ${e=>e.theme.fonts.body}; 1577 1578 &:hover { 1579 background-color: ${e=>e.theme.channelList.hover.bgd}; 1580 } 1581 1582 &:active { 1583 background-color: ${e=>e.theme.channelList.active.bgd}; 1584 color: ${e=>e.theme.channelList.active.fontColor}; 1585 } 1586 1587 &:focus { 1588 border: ${e=>e.theme.channelList.focus.border}; 1589 } 1590 } 1591 1592 & .ch-label { 1593 padding-left: 1.5rem; 1594 } 1595 1596 & .ch-unread-badge { 1597 display: ${e=>e.unread?"inline":"none"}; 1598 position: absolute; 1599 z-index: 2; 1600 top: 12px; 1601 left: 5px; 1602 background-color: ${e=>e.theme.colors.primary.light}; 1603 } 1604 1605 &.ch-unread .ch-channel-button { 1606 font-weight: bold; 1607 } 1608 1609 &.ch-selected .ch-channel-button { 1610 background-color: ${e=>e.theme.colors.primary.light}; 1611 color: ${e=>e.theme.channelList.selected.fontColor}; 1612 1613 &:focus { 1614 border: ${e=>e.theme.channelList.focus.selectedBorder}; 1615 } 1616 } 1617 1618 & .ch-popover-toggle { 1619 position: absolute; 1620 right: 1rem; 1621 margin: 0.5rem 0; 1622 height: 1.5rem; 1623 border-radius: 50%; 1624 1625 .ch-channel-actions { 1626 border: 1px solid transparent; 1627 } 1628 1629 & g { 1630 fill: ${e=>e.theme.channelList.active.fontColor}; 1631 } 1632 1633 & button:focus .ch-channel-actions { 1634 border: ${e=>e.theme.channelList.focus.selectedBorder}; 1635 border-radius: 50%; 1636 } 1637 1638 &:hover, 1639 &:active { 1640 background-color: ${e=>e.theme.channelList.iconButton.activeBgd}; 1641 1642 & g { 1643 fill: ${e=>e.theme.colors.primary.light}; 1644 } 1645 } 1646 } 1647 1648 & .ch-detailed-channel { 1649 display: grid; 1650 grid-template-rows: 17px 1fr max-content; 1651 grid-gap: 16px; 1652 padding: 10px 20px; 1653 background-color: ${e=>e.theme.channelList.bgd}; 1654 color: ${e=>e.theme.channelList.fontColor}; 1655 border-bottom: 0.5px solid #d3d3d3; 1656 font-family: ${e=>e.theme.fonts.body}; 1657 1658 &:hover { 1659 background-color: ${e=>e.theme.channelList.hover.bgd}; 1660 } 1661 1662 &:active { 1663 background-color: ${e=>e.theme.channelList.active.bgd}; 1664 color: ${e=>e.theme.channelList.active.fontColor}; 1665 } 1666 1667 &:focus { 1668 border: ${e=>e.theme.channelList.focus.border}; 1669 } 1670 } 1671 1672 & .ch-detailed-channel-name { 1673 font-weight: bold; 1674 padding-left: 25px; 1675 white-space: nowrap; 1676 overflow-x: hidden; 1677 text-overflow: ellipsis; 1678 font-size: 14px; 1679 max-width: 85%; 1680 } 1681 1682 & .ch-detailed-channel-message { 1683 grid-row: span 2; 1684 padding-left: 25px; 1685 white-space: nowrap; 1686 overflow-x: hidden; 1687 text-overflow: ellipsis; 1688 font-size: 14px; 1689 max-width: 90%; 1690 } 1691 1692 & .ch-detailed-channel-message-time { 1693 position: absolute; 1694 top: 0.8rem; 1695 right: 0.5rem; 1696 font-size: 8px; 1697 max-width: 15%; 1698 text-align: right; 1699 } 1700 1701 & .ch-unread-badge-detailed { 1702 display: ${e=>e.unread?"inline":"none"}; 1703 position: absolute; 1704 z-index: 2; 1705 top: 10px; 1706 left: 5px; 1707 background-color: ${e=>e.theme.colors.primary.light}; 1708 } 1709 1710 &.ch-selected .ch-detailed-channel { 1711 background-color: ${e=>e.theme.colors.primary.light}; 1712 color: ${e=>e.theme.channelList.selected.fontColor}; 1713 1714 &:focus { 1715 border: ${e=>e.theme.channelList.focus.selectedBorder}; 1716 } 1717 } 1718 1719 & .ch-popover-toggle-detailed { 1720 position: absolute; 1721 top: 1.75rem; 1722 right: 1rem; 1723 margin: 0.5rem 0; 1724 height: 1.5rem; 1725 border-radius: 50%; 1726 1727 .ch-channel-actions { 1728 border: 1px solid transparent; 1729 } 1730 1731 & g { 1732 fill: ${e=>e.theme.channelList.active.fontColor}; 1733 } 1734 1735 & button:focus .ch-channel-actions { 1736 border: ${e=>e.theme.channelList.focus.selectedBorder}; 1737 border-radius: 50%; 1738 } 1739 1740 &:hover, 1741 &:active { 1742 background-color: ${e=>e.theme.channelList.iconButton.activeBgd}; 1743 1744 & g { 1745 fill: ${e=>e.theme.colors.primary.light}; 1746 } 1747 } 1748 } 1749`;const uo=r.Ay.div.withConfig(se)` 1750 display: flex; 1751 flex-direction: row; 1752 font-size: 0.65rem; 1753 margin-left: 1rem; 1754 align-items: center; 1755 background-color: ${e=>e.theme.chatBubble.container.bgd}; 1756 width: 100%; 1757 1758 .ch-timestamp { 1759 padding-right: ${e=>e.actions?"1rem":"2.5rem"}; 1760 } 1761 1762 ${de} 1763 ${ae} 1764`,ho=(r.Ay.div.withConfig(se)` 1765 background-color: ${e=>e.theme.chatBubble[e.variant].bgd}; 1766 padding: 0.625rem 1rem; 1767 border-radius: 4px; 1768 width: fit-content; 1769 color: ${e=>e.theme.chatBubble[e.variant].fontColor}; 1770 box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.1); 1771 line-height: 20px; 1772 width: ${e=>e.editable?"100%":"fit-content"}; 1773 max-width: 70.6%; 1774 font-size: 0.875rem; 1775 position: relative; 1776 margin-bottom: ${e=>e.editable?"4rem":"unset"}; 1777 overflow-wrap: break-word; 1778 word-break: break-word; 1779 hyphens: auto; 1780 1781 & .ch-header { 1782 display: flex; 1783 flex-direction: row; 1784 margin-bottom: 0.5rem;
1785 align-items: baseline; 1786 } 1787 1788 & .ch-sender-name { 1789 font-weight: bold; 1790 padding-right: 0.5rem; 1791 } 1792 1793 & .ch-header-timestamp { 1794 font-size: 0.65rem; 1795 } 1796 1797 & svg { 1798 position: absolute; 1799 height: 19px; 1800 width: 11px; 1801 margin-top: -14px; 1802 margin-left: -25px; 1803 1804 & .ch-chat-bubble-tail { 1805 fill: ${e=>e.theme.chatBubble[e.variant].bgd}; 1806 } 1807 } 1808 1809 .ch-input { 1810 width: 100%; 1811 } 1812 1813 .ch-edit-buttons { 1814 position: absolute; 1815 margin-top: 1rem; 1816 display: flex; 1817 flex-direction: row-reverse; 1818 width: 10rem; 1819 justify-content: space-between; 1820 } 1821 1822 ${de}; 1823 ${ae}; 1824`,r.Ay.div.withConfig(se)` 1825 display: flex; 1826 margin-right: 0.5rem; 1827 margin-left: auto; 1828 color: ${e=>e.theme.chatBubble.container.fontColor}; 1829 align-items: center; 1830 1831 & .ch-message-actions { 1832 border: 1px solid transparent; 1833 border-radius: 50%; 1834 } 1835 1836 & button:hover .ch-message-actions { 1837 background-color: ${e=>e.theme.buttons.icon.hover.bgd}; 1838 1839 & g { 1840 fill: ${e=>e.theme.buttons.icon.hover.text}; 1841 } 1842 } 1843 1844 & button:focus .ch-message-actions { 1845 border: 1px solid ${e=>e.theme.colors.primary.dark}; 1846 border-radius: 50%; 1847 } 1848 1849 & .ch-message-actions g { 1850 fill: ${e=>e.theme.chatBubble.container.fontColor}; 1851 } 1852 1853 & .ch-message-actions.isOpen { 1854 background-color: ${e=>e.theme.buttons.icon.active.bgd}; 1855 border-radius: 50%; 1856 1857 & g { 1858 fill: ${e=>e.theme.buttons.icon.active.text}; 1859 } 1860 } 1861`),po=(q.forwardRef((e,t)=>{const{timestamp:i,actions:r,tooltipContainerId:o,a11yLabel:s="Open channel options"}=e,a=X(e,["timestamp","actions","tooltipContainerId","a11yLabel"]),d=(0,q.useMemo)(()=>{return e=ve,t=o,i=>{var r;const o=Jn(),[{show:s,bounds:a},d]=(0,q.useState)(ir),[c,l]=(0,q.useState)(null),u=null!==(r=i.tooltipPosition)&&void 0!==r?r:"top",h=(0,q.useCallback)(e=>{e.preventDefault(),e.stopPropagation();let t=e.target;for(;!t.getAttribute("data-tooltip");)t=t.parentElement;const i=t.getBoundingClientRect();d({show:!0,bounds:i})},[]),p=(0,q.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),d(ir)},[]);return(0,q.useEffect)(()=>(document.addEventListener("scroll",p,!0),()=>document.removeEventListener("scroll",p,!0)),[]),(0,q.useEffect)(()=>{const e=document.getElementById(t||"Tooltip__container");e?l(e):o.warn("Attempted to use 'WithTooltip' but could not find container element.Pass a valid element ID or add 'Tooltip__container' ID to existing element")},[t]),(0,n.jsxs)(n.Fragment,{children:[s&&a&&c&&G.createPortal((0,n.jsx)(tr,Object.assign({position:u,bounds:a},{children:i.tooltipContent||i.label})),c),(0,n.jsx)(e,Object.assign({},i,{"data-tooltip":!0,"data-tooltip-position":u,onClick:e=>{var t;s&&p(e),null===(t=null==i?void 0:i.onClick)||void 0===t||t.call(i,e)},onFocus:e=>{var t;s||h(e),null===(t=null==i?void 0:i.onFocus)||void 0===t||t.call(i,e)},onBlur:e=>{var t;s&&p(e),null===(t=null==i?void 0:i.onBlur)||void 0===t||t.call(i,e)},onMouseEnter:e=>{var t;s||h(e),null===(t=null==i?void 0:i.onMouseEnter)||void 0===t||t.call(i,e)},onMouseLeave:e=>{var t;s&&p(e),null===(t=null==i?void 0:i.onMouseLeave)||void 0===t||t.call(i,e)}}))]})};var e,t},[o]),c=a["data-tooltip"]?d:ve,l=a["data-tooltip-position"]?{tooltipPosition:a["data-tooltip-position"]}:{};return(0,n.jsxs)(uo,Object.assign({"data-testid":"chat-bubble-container",ref:t,actions:r},a,{children:[e.children,(0,n.jsxs)(ho,{children:[i&&(0,n.jsx)("span",Object.assign({className:"ch-timestamp","data-testid":"message-time"},{children:i})),r&&(0,n.jsx)(qn,{a11yLabel:s,placement:"bottom-end",renderButtonWrapper:(e,t)=>(0,n.jsx)(c,Object.assign({},l,{icon:(0,n.jsx)(Ae,{width:"1.5rem",height:"1.5rem"}),selected:e},t,{label:s})),children:r})]})]}))}),r.i7` 1862 from { 1863 transform: rotate(0deg); 1864 } 1865 to { 1866 transform: rotate(360deg); 1867 } 1868`);function fo(e,t,i,n){var r,o=null==(r=n)||"number"==typeof r||"boolean"==typeof r?n:i(n),s=t.get(o);return void 0===s&&(s=e.call(this,n),t.set(o,s)),s}function mo(e,t,i){var n=Array.prototype.slice.call(arguments,3),r=i(n),o=t.get(r);return void 0===o&&(o=e.apply(this,n),t.set(r,o)),o}function go(e,t,i,n,r){return i.bind(t,e,n,r)}function vo(e,t){return go(e,this,1===e.length?fo:mo,t.cache.create(),t.serializer)}function bo(){return JSON.stringify(arguments)}function yo(){this.cache=Object.create(null)}r.Ay.ul.withConfig(se)` 1869 background-color: ${e=>e.theme.chatBubble.container.bgd};
1870 overflow-y: scroll; 1871 display: flex; 1872 flex-direction: column; 1873 list-style: none; 1874 padding: 0; 1875 1876 /* disable scrolling while fetching */ 1877 &.ch-not-scrollable { 1878 overflow-y: hidden; 1879 } 1880 1881 ${de} 1882 ${ae} 1883 1884 .ch-spinner { 1885 margin: 0 auto; 1886 } 1887 1888 .ch-spinner svg { 1889 width: 2rem; 1890 height: 2rem; 1891 animation: ${po} 2s linear infinite; 1892 display: block; 1893 } 1894`,r.Ay.div.withConfig(se)` 1895 display: flex; 1896 flex-direction: row; 1897 padding: 10px; 1898 1899 & .ch-attachment-icon { 1900 height: 2rem; 1901 width: 2rem; 1902 margin: auto; 1903 background-color: ${e=>e.theme.messageAttachment.icon.bgd}; 1904 border-radius: 25px; 1905 1906 & .ch-document-icon { 1907 margin: auto 0; 1908 color: ${e=>e.theme.messageAttachment.icon.color}; 1909 } 1910 } 1911 & .ch-attachment-name { 1912 margin-left: 1rem; 1913 1914 & a:link, 1915 & a:visited, 1916 & a:hover, 1917 & a:active { 1918 color: ${e=>e.theme.messageAttachment.name.fontColor}; 1919 text-decoration: none; 1920 } 1921 } 1922 & .ch-attachment-size { 1923 font-size: ${e=>e.theme.messageAttachment.size.fontSize}; 1924 color: ${e=>e.theme.messageAttachment.size.fontColor}; 1925 display: block; 1926 padding-top: 3px; 1927 } 1928`,r.Ay.div.withConfig(se)` 1929 color: ${e=>e.theme.messageAttachment.content.fontColor}; 1930 display: flex; 1931 flex-direction: column; 1932 width: fit-content; 1933 border-radius: 4px; 1934 overflow: hidden; 1935 box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.1); 1936 background-color: ${e=>e.theme.messageAttachment.content.bgd}; 1937 letter-spacing: ${e=>e.theme.messageAttachment.content.letterSpacing}; 1938 font-size: ${e=>e.theme.fontSizes.text.fontSize}; 1939 line-height: ${e=>e.theme.fontSizes.text.lineHeight}; 1940 1941 & img { 1942 ${e=>e.imgStyles}; 1943 } 1944 1945 ${de} 1946 ${ae} 1947`,yo.prototype.has=function(e){return e in this.cache},yo.prototype.get=function(e){return this.cache[e]},yo.prototype.set=function(e,t){this.cache[e]=t};var So={create:function(){return new yo}},wo=function(e,t){var i=t&&t.cache?t.cache:So,n=t&&t.serializer?t.serializer:bo;return(t&&t.strategy?t.strategy:vo)(e,{cache:i,serializer:n})};wo.strategies={variadic:function(e,t){return go(e,this,mo,t.cache.create(),t.serializer)},monadic:function(e,t){return go(e,this,fo,t.cache.create(),t.serializer)}};const Co={weekday:"long",year:"numeric",month:"long",day:"numeric"};var ko,Eo,To,Io;wo((e,t,i,n,r)=>{const o=i||Co,s=new Date(e).toLocaleDateString(t,o),a=new Date;return a.setDate(a.getDate()-1),s===a.toLocaleDateString(t,o)?r||"Yesterday":s===(new Date).toLocaleDateString(t,o)?n||"Today":s}),function(e){e[e.Loading=0]="Loading",e[e.Succeeded=1]="Succeeded",e[e.Failed=2]="Failed",e[e.Ended=3]="Ended",e[e.JoinedFromAnotherDevice=4]="JoinedFromAnotherDevice",e[e.Left=5]="Left",e[e.TerminalFailure=6]="TerminalFailure",e[e.Reconnecting=7]="Reconnecting"}(ko||(ko={})),function(e){e.UNTRIGGERED="UNTRIGGERED",e.IN_PROGRESS="IN_PROGRESS",e.GRANTED="GRANTED",e.DENIED="DENIED"}(Eo||(Eo={})),function(e){e[e.None=1]="None",e[e.Audio=2]="Audio",e[e.Video=3]="Video",e[e.AudioAndVideo=4]="AudioAndVideo"}(To||(To={})),function(e){e[e.STARTING=0]="STARTING",e[e.DID_STOP=1]="DID_STOP",e[e.UPDATE=2]="UPDATE",e[e.TOGGLE_PAUSE=3]="TOGGLE_PAUSE",e[e.REMOVE=4]="REMOVE",e[e.DENIED=5]="DENIED",e[e.RESET=6]="RESET",e[e.UPDATE_CAN_START=7]="UPDATE_CAN_START"}(Io||(Io={}));const xo={paused:!1,isLocalUserSharing:!1,isLocalShareLoading:!1,canStartContentShare:!0,tileId:null,sharingAttendeeId:null,tiles:[],tileIdToAttendeeId:{},attendeeIdToTileId:{}},Ao=(e,t)=>{const i=e.tileIdToAttendeeId[t.toString()];if(!i)return{tiles:e.tiles,tileIdToAttendeeId:e.tileIdToAttendeeId,attendeeIdToTileId:e.attendeeIdToTileId,removedAttendeeId:void 0};const n=e.tiles.filter(e=>e!==t),r=Object.assign({},e.tileIdToAttendeeId);delete r[t.toString()];const o=Object.assign({},e.attendeeIdToTileId);return delete o[i],{tiles:n,tileIdToAttendeeId:r,attendeeIdToTileId:o,removedAttendeeId:i}},Po=(e,t,i,n)=>{if(n&&n!==e.sharingAttendeeId)return{tileId:e.tileId,sharingAttendeeId:e.sharingAttendeeId};if(0===t.length)return{tileId:null,sharingAttendeeId:null};const r=Math.max(...t);return{tileId:r,sharingAttendeeId:i[r.toString()]}};function Oo(e,{type:t,payload:i}){switch(t){case Io.STARTING:return Object.assign(Object.assign({},e),{isLocalShareLoading:!0});case Io.UPDATE:{const{isLocalUser:t,tileState:n}=i,r=n.tileId,o=n.boundAttendeeId;if(e.tileIdToAttendeeId[r.toString()])return e;const s=((e,t,i)=>({tiles:[...e.tiles,t],tileIdToAttendeeId:Object.assign(Object.assign({},e.tileIdToAttendeeId),{[t.toString()]:i}),attendeeIdToTileId:Object.assign(Object.assign({},e.attendeeIdToTileId),{[i]:t})}))(e,r,o),a=Po(e,s.tiles,s.tileIdToAttendeeId);return Object.assign(Object.assign(Object.assign(Object.assign({},e),s),a),{isLocalShareLoading:!t&&e.isLocalShareLoading,isLocalUserSharing:!!t||e.isLocalUserSharing})}case Io.REMOVE:{const{tileId:t,isLocalUser:n}=i,{tiles:r,tileIdToAttendeeId:o,attendeeIdToTileId:s,removedAttendeeId:a}=Ao(e,t);if(!a)return e;const d=Po(e,r,o,a);return Object.assign(Object.assign(Object.assign(Object.assign({},e),{tiles:r,tileIdToAttendeeId:o,attendeeIdToTileId:s}),d),{isLocalUserSharing:!n&&e.isLocalUserSharing,paused:!n&&e.paused})}case Io.DID_STOP:{const{isLocalUserSharing:t}=e,{localAttendeeId:n}=i;
1947if(t){const t=e.attendeeIdToTileId[n];if(t){const{tiles:i,tileIdToAttendeeId:n,attendeeIdToTileId:r,removedAttendeeId:o}=Ao(e,t),s=Po(e,i,n,o);return Object.assign(Object.assign(Object.assign(Object.assign({},e),{tiles:i,tileIdToAttendeeId:n,attendeeIdToTileId:r}),s),{isLocalUserSharing:!1,paused:!1,isLocalShareLoading:!1})}}return Object.assign(Object.assign({},e),{isLocalShareLoading:!1,isLocalUserSharing:!1,paused:!1})}case Io.TOGGLE_PAUSE:return e.isLocalUserSharing?Object.assign(Object.assign({},e),{paused:!e.paused}):e;case Io.DENIED:return e.isLocalShareLoading?Object.assign(Object.assign({},e),{isLocalShareLoading:!1}):e;case Io.RESET:return xo;case Io.UPDATE_CAN_START:{const{maxContentShares:t}=i;return Object.assign(Object.assign({},e),{canStartContentShare:!e.isLocalUserSharing&&e.tiles.length<t})}default:throw new Error("Incorrect type in ContentShareProvider")}}const _o=(0,q.createContext)(null),Mo=(0,q.createContext)(null),Ro=({children:e,maxContentShares:t=1})=>{var i,r,o;const s=ds(),a=Jn(),[d,c]=(0,q.useReducer)(Oo,xo),{paused:l,isLocalUserSharing:u,isLocalShareLoading:h,canStartContentShare:p}=d,f=(0,q.useRef)(null),m=null===(o=null===(r=null===(i=null==s?void 0:s.audioVideoController)||void 0===i?void 0:i.realtimeController)||void 0===r?void 0:r.state)||void 0===o?void 0:o.localAttendeeId,g=(0,q.useMemo)(()=>Math.max(1,Math.min(t,2)),[t]);(0,q.useEffect)(()=>{t>2?a.warn(`ContentShareProvider: maxContentShares value ${t} exceeds the currently supported maximum of 2.The value has been set to ${g} instead.`):t<1&&a.warn(`ContentShareProvider: maxContentShares value ${t} is below the minimum of 1. The value has been set to ${g} instead.`)},[t,g]),(0,q.useEffect)(()=>{if(!s)return;const e={videoTileDidUpdate:e=>{if(!e.boundAttendeeId||!e.isContent||!e.tileId)return;const{boundAttendeeId:t}=e,i=new J.DefaultModality(t).base()===m;1===g&&!i&&f.current&&f.current<e.tileId&&(s.stopContentShare(),f.current=null),i&&(f.current=e.tileId),c({type:Io.UPDATE,payload:{tileState:e,isLocalUser:i}})},videoTileWasRemoved:e=>{const t=e===f.current;t&&(f.current=null),c({type:Io.REMOVE,payload:{isLocalUser:t,tileId:e}})}},t={contentShareDidStop:()=>{var e,t,i;c({type:Io.DID_STOP,payload:{localAttendeeId:null===(i=null===(t=null===(e=null==s?void 0:s.audioVideoController)||void 0===e?void 0:e.realtimeController)||void 0===t?void 0:t.state)||void 0===i?void 0:i.localAttendeeId}})}};return s.addObserver(e),s.addContentShareObserver(t),()=>{s.removeObserver(e),s.removeContentShareObserver(t),c({type:Io.RESET})}},[s,m,g]),(0,q.useEffect)(()=>{if(!s)return;const e=e=>{"NotAllowedError"===e.reason.name&&c({type:Io.DENIED})};return window.addEventListener("unhandledrejection",e),()=>window.removeEventListener("unhandledrejection",e)},[s,h]);const v=(0,q.useCallback)(e=>Z(void 0,void 0,void 0,function*(){s&&(u||h?s.stopContentShare():(e&&"string"==typeof e?yield s.startContentShareFromScreenCapture(e):e&&e instanceof MediaStream?yield s.startContentShare(e):yield s.startContentShareFromScreenCapture(),c({type:Io.STARTING})))}),[s,u,h]),b=(0,q.useCallback)(()=>{s&&u&&(l?s.unpauseContentShare():s.pauseContentShare(),c({type:Io.TOGGLE_PAUSE}))},[s,l,u]);(0,q.useEffect)(()=>{c({type:Io.UPDATE_CAN_START,payload:{maxContentShares:g}})},[u,d.tiles.length,g]);const y=(0,q.useMemo)(()=>({paused:l,isLocalUserSharing:u,isLocalShareLoading:h,toggleContentShare:v,togglePauseContentShare:b,canStartContentShare:p}),[l,u,h,v,b,p]);return(0,n.jsx)(_o.Provider,Object.assign({value:d},{children:(0,n.jsx)(Mo.Provider,Object.assign({value:y},{children:e}))}))},Do=()=>{const e=(0,q.useContext)(_o);if(!e)throw new Error("useContentShareState must be used within a ContentShareProvider");return e},Fo=()=>{const e=(0,q.useContext)(Mo);if(!e)throw new Error("useContentShareControlContext must be used within ContentShareControlProvider");return e};var Lo;!function(e){e[e.UPDATE=0]="UPDATE",e[e.REMOVE=1]="REMOVE",e[e.RESET=2]="RESET"}(Lo||(Lo={}));const No={tiles:[],tileIdToAttendeeId:{},attendeeIdToTileId:{},size:0},Bo=(e,t)=>{const i=Object.assign({},e);return delete i[t],i};function Vo(e,{type:t,payload:i}){const{tiles:n,tileIdToAttendeeId:r,attendeeIdToTileId:o,size:s}=e;switch(t){case Lo.UPDATE:{const{tileId:t,attendeeId:a=""}=i,d=t.toString();return r[d]?e:{tiles:[...n,t],tileIdToAttendeeId:Object.assign(Object.assign({},r),{[d]:a}),attendeeIdToTileId:Object.assign(Object.assign({},o),{[a]:t}),size:s+1}}case Lo.REMOVE:{const{tileId:t}=i,a=r[t],d=t.toString();return a?{tiles:n.filter(e=>t!==e),tileIdToAttendeeId:Bo(r,d),attendeeIdToTileId:Bo(o,a),size:s-1}:e}case Lo.RESET:return No;default:throw new Error("Incorrect type in VideoProvider")}}const Uo=(0,q.createContext)(null),jo=({children:e})=>{const t=ds(),[i,r]=(0,q.useReducer)(Vo,No);return(0,q.useEffect)(()=>
1947{if(!t)return;const e={videoTileDidUpdate:e=>{if((null==e?void 0:e.boundAttendeeId)&&(null==e?void 0:e.tileId)&&!e.isContent&&!e.localTile){const{tileId:t,boundAttendeeId:i}=e;r({type:Lo.UPDATE,payload:{tileId:t,attendeeId:i}})}},videoTileWasRemoved:e=>{r({type:Lo.REMOVE,payload:{tileId:e}})}};return t.addObserver(e),()=>t.removeObserver(e)},[t]),(0,q.useEffect)(()=>{if(t)return()=>r({type:Lo.RESET})},[t]),(0,n.jsx)(Uo.Provider,Object.assign({value:i},{children:e}))},zo=()=>{const e=(0,q.useContext)(Uo);if(!e)throw new Error("useRemoteVideoTileState must be used within a RemoteVideoTileProvider");return e},$o=(0,q.createContext)(null),Ho=({children:e})=>{const t=os(),{attendeeIdToTileId:i}=zo(),r=(0,q.useRef)(null),[o,s]=(0,q.useState)(null),a=(0,q.useRef)(null),d=(0,q.useRef)(null);(0,q.useEffect)(()=>{const e=e=>{const t=e[0];if(t===d.current)return;if(d.current=t,a.current&&clearTimeout(a.current),!t)return r.current=null,void s(null);const n=i[t];n?n!==r.current&&(r.current?a.current=window.setTimeout(()=>{r.current=n,s(n)},1500):(r.current=n,s(n))):r.current&&(a.current=window.setTimeout(()=>{r.current=null,s(null)},1500))};return t.subscribeToActiveSpeaker(e),()=>t.unsubscribeFromActiveSpeaker(e)},[i]);const c=(0,q.useMemo)(()=>({tileId:o}),[o]);return(0,n.jsx)($o.Provider,Object.assign({value:c},{children:e}))};const Wo=(0,q.createContext)(null),qo=({children:e})=>{const t=Jn(),i=ds(),[r,o]=(0,q.useState)(!0),s=(0,q.useRef)(null);(0,q.useEffect)(()=>{var e;if(i)return s.current&&(e=s.current,Z(void 0,void 0,void 0,function*(){try{yield i.bindAudioElement(e)}catch(e){t.error(`Failed to bind audio element. ${e}`)}})),()=>{i.unbindAudioElement(),o(!0)}},[i]);const a=(0,q.useCallback)(()=>{var e;s.current&&(o(!r),r?null==i||i.unbindAudioElement():(e=s.current,Z(void 0,void 0,void 0,function*(){try{yield null==i?void 0:i.bindAudioElement(e)}catch(e){t.error(`Failed to bind audio element. ${e}`)}})))},[s,i,r]),d=(0,q.useMemo)(()=>({isAudioOn:r,toggleAudio:a}),[r,a]);return(0,n.jsxs)(Wo.Provider,Object.assign({value:d},{children:[e,(0,n.jsx)("audio",{ref:s,style:{display:"none"}})]}))},Ko=(0,q.createContext)(null),Go=({children:e})=>{const t=Jn(),i=os(),r=ds(),{devices:o,selectedDevice:s}=vs(),[a,d]=(0,q.useState)(!1),[c,l]=(0,q.useState)(!1),[u,h]=(0,q.useState)(null);(0,q.useEffect)(()=>{if(!r)return;r.hasStartedLocalVideoTile()&&d(!0);const e={videoAvailabilityDidChange:e=>{e.canStartLocalVideo?l(!1):l(!0),t.info(`video availability changed: canStartLocalVideo ${e.canStartLocalVideo}`)}};return r.addObserver(e),()=>{d(!1),r.removeObserver(e)}},[r]),(0,q.useEffect)(()=>{c&&t.warn("Reach the number of maximum active videos")},[c]),(0,q.useEffect)(()=>{(null==r?void 0:r.hasStartedLocalVideoTile())||d(!1)},[o]);const p=(0,q.useCallback)(()=>Z(void 0,void 0,void 0,function*(){try{a||!s?(s||t.warn("There is no input video device chosen!"),yield null==r?void 0:r.stopVideoInput(),d(!1)):c?t.error("Video limit is reached and can not turn on more videos!"):(yield i.startVideoInputDevice(s),null==r||r.startLocalVideoTile(),d(!0))}catch(e){t.error("Failed to toggle video")}}),[r,a,c,s]);(0,q.useEffect)(()=>{if(!r)return;const e={videoTileDidUpdate:e=>{e.localTile&&e.tileId&&u!==e.tileId&&h(e.tileId)}};return r.addObserver(e),()=>r.removeObserver(e)},[r,u]);const f=(0,q.useMemo)(()=>({tileId:u,isVideoEnabled:a,setIsVideoEnabled:d,hasReachedVideoLimit:c,setHasReachedVideoLimit:l,toggleVideo:p}),[u,a,d,c,l,p]);return(0,n.jsx)(Ko.Provider,Object.assign({value:f},{children:e}))},Jo=()=>{const e=(0,q.useContext)(Ko);if(!e)throw new Error("useLocalVideo must be used within LocalVideoProvider");return e},Qo=(0,q.createContext)(void 0),Xo=({children:e})=>{const[t,i]=(0,q.useState)(),r=os();return(0,q.useEffect)(()=>{function e(e,t){i({name:e,attributes:t})}return r.subscribeToEventDidReceive(e),()=>{r.unsubscribeFromEventDidReceive(e)}},[]),(0,n.jsx)(Qo.Provider,Object.assign({value:t},{children:e}))},Zo=q.createContext(null),Yo=({children:e})=>{const t=os(),i=ds(),r=(0,q.useRef)({}),[o,s]=(0,q.useState)({});(0,q.useEffect)(()=>{if(!i)return;const e=(e,i,n)=>Z(void 0,void 0,void 0,function*(){if(!i)return delete r.current[e],void s(t=>{const i=t,n=e;i[n];const r=X(i,["symbol"==typeof n?n:n+""]);return Object.assign({},r)});const o=new J.DefaultModality(e).base();if(o!==e)return;if(r.current[e])return;let a={chimeAttendeeId:e};if(n&&(a.externalUserId=n),r.current[o]=a,s(e=>Object.assign(Object.assign({},e),{[o]:a})),t.getAttendee){const e=yield t.getAttendee(o,n);if(!r.current[o])return;a=Object.assign(Object.assign({},a),e),s(e=>Object.assign(Object.assign({},e),{[o]:a}))}});return i.realtimeSubscribeToAttendeeIdPresence(e),()=>{s({}),r.current={},i.realtimeUnsubscribeToAttendeeIdPresence(e)}},[i]);const a=(0,q.useMemo)(()=>({roster:o}),[o]);return(0,n.jsx)(Zo.Provider,Object.assign({value:a},{children:e}))};function es(){const e=(0,q.useContext)(Zo);if(!e)throw new Error("userRosterState must be used within RosterProvider");return e}function ts(){return Promise.resolve(new MediaStream)}class is{getDeviceLabels(){return this.deviceLabels}constructor(e){this.meetingSession=null,this.meetingStatus=ko.Lo
1947ading,this.meetingStatusObservers=[],this.audioVideo=null,this.audioVideoObservers={},this.meetingId=null,this.selectedAudioOutputDeviceObservers=[],this.selectedAudioInputDeviceObservers=[],this.selectedVideoInputDeviceObservers=[],this.audioInputDevices=null,this.audioOutputDevices=null,this.videoInputDevices=null,this.deviceLabelTriggerStatus=Eo.UNTRIGGERED,this.deviceLabelTriggerStatusObservers=[],this.deviceLabelTriggerObservers=[],this.activeSpeakerListener=null,this.activeSpeakerCallbacks=[],this.activeSpeakers=[],this.audioVideoCallbacks=[],this.devicesUpdatedCallbacks=[],this.meetingEventObserverSet=new Set,this.audioVideoDidStart=()=>{this.logger.info("[MeetingManager audioVideoDidStart] Meeting started successfully"),this.meetingStatus=ko.Succeeded,this.publishMeetingStatus()},this.audioVideoDidStartConnecting=e=>{this.meetingStatus!==ko.Reconnecting&&e&&(this.meetingStatus=ko.Reconnecting,this.publishMeetingStatus())},this.audioVideoDidStop=e=>{var t;const i=e.statusCode();switch(i){case J.MeetingSessionStatusCode.MeetingEnded:this.logger.info(`[MeetingManager audioVideoDidStop] Meeting ended for all: ${i}`),this.meetingStatus=ko.Ended;break;case J.MeetingSessionStatusCode.Left:this.logger.info(`[MeetingManager audioVideoDidStop] Left the meeting: ${i}`),this.meetingStatus=ko.Left;break;case J.MeetingSessionStatusCode.AudioJoinedFromAnotherDevice:this.logger.info(`[MeetingManager audioVideoDidStop] Meeting joined from another device: ${i}`),this.meetingStatus=ko.JoinedFromAnotherDevice;break;default:e.isFailure()&&!e.isTerminal()?(this.logger.info(`[MeetingManager audioVideoDidStop] Non-Terminal failure occurred: ${i}`),this.meetingStatus=ko.Failed):e.isTerminal()?(this.logger.info(`[MeetingManager audioVideoDidStop] Terminal failure occurred: ${i}`),this.meetingStatus=ko.TerminalFailure):this.logger.info(`[MeetingManager audioVideoDidStop] session stopped with code ${i}`)}this.publishMeetingStatus(),null===(t=this.audioVideo)||void 0===t||t.removeObserver(this.audioVideoObservers),this.leave()},this.startAudioInputDevice=e=>Z(this,void 0,void 0,function*(){var t;try{yield null===(t=this.audioVideo)||void 0===t?void 0:t.startAudioInput(e),this.selectedAudioInputDevice=e,this.publishSelectedAudioInputDevice()}catch(e){const t=new Error("MeetingManager failed to select audio input device.");throw e instanceof Error&&(t.name=e.name,t.message+=" "+e.message),this.logger.error(t.toString()),t}}),this.startAudioOutputDevice=e=>Z(this,void 0,void 0,function*(){var t;try{yield null===(t=this.audioVideo)||void 0===t?void 0:t.chooseAudioOutput(e),this.selectedAudioOutputDevice=e,this.publishSelectedAudioOutputDevice()}catch(e){throw this.logger.error(`MeetingManager failed to select audio output device: ${e}`),new Error("MeetingManager failed to select audio output device")}}),this.startVideoInputDevice=e=>Z(this,void 0,void 0,function*(){var t;try{yield null===(t=this.audioVideo)||void 0===t?void 0:t.startVideoInput(e),this.selectedVideoInputDevice=e,this.publishSelectedVideoInputDevice()}catch(e){const t=new Error("MeetingManager failed to select video input device.");throw e instanceof Error&&(t.name=e.name,t.message+=" "+e.message),this.logger.error(t.toString()),t}}),this.stopVideoInputDevice=()=>Z(this,void 0,void 0,function*(){var e;try{yield null===(e=this.audioVideo)||void 0===e?void 0:e.stopVideoInput(),this.selectedVideoInputDevice=void 0,this.publishSelectedVideoInputDevice()}catch(e){throw this.logger.error(`MeetingManager failed to unselect video input device: ${e}`),new Error("MeetingManager failed to unselect video input device")}}),this.selectVideoInputDevice=e=>{this.selectedVideoInputDevice=e,this.publishSelectedVideoInputDevice()},this.invokeDeviceProvider=e=>{this.setupDeviceLabelTrigger(e),this.publishDeviceLabelTrigger()},this.subscribeToAudioVideo=e=>{this.audioVideoCallbacks.push(e)},this.unsubscribeFromAudioVideo=e=>{this.audioVideoCallbacks=this.audioVideoCallbacks.filter(t=>t!==e)},this.publishAudioVideo=()=>{this.audioVideoCallbacks.forEach(e=>{e(this.audioVideo)})},this.subscribeToActiveSpeaker=e=>{this.activeSpeakerCallbacks.push(e),e(this.activeSpeakers)},this.unsubscribeFromActiveSpeaker=e=>{this.activeSpeakerCallbacks=this.activeSpeakerCallbacks.filter(t=>t!==e)},this.publishActiveSpeaker=()=>
1947{this.activeSpeakerCallbacks.forEach(e=>{e(this.activeSpeakers)})},this.subscribeToSelectedVideoInputDevice=e=>{this.selectedVideoInputDeviceObservers.push(e)},this.unsubscribeFromSelectedVideoInputDevice=e=>{this.selectedVideoInputDeviceObservers=this.selectedVideoInputDeviceObservers.filter(t=>t!==e)},this.publishSelectedVideoInputDevice=()=>{for(const e of this.selectedVideoInputDeviceObservers)e(this.selectedVideoInputDevice)},this.subscribeToSelectedAudioInputDevice=e=>{this.selectedAudioInputDeviceObservers.push(e)},this.unsubscribeFromSelectedAudioInputDevice=e=>{this.selectedAudioInputDeviceObservers=this.selectedAudioInputDeviceObservers.filter(t=>t!==e)},this.publishSelectedAudioInputDevice=()=>{for(const e of this.selectedAudioInputDeviceObservers)e(this.selectedAudioInputDevice)},this.subscribeToSelectedAudioOutputDevice=e=>{this.selectedAudioOutputDeviceObservers.push(e)},this.unsubscribeFromSelectedAudioOutputDevice=e=>{this.selectedAudioOutputDeviceObservers=this.selectedAudioOutputDeviceObservers.filter(t=>t!==e)},this.publishSelectedAudioOutputDevice=()=>{for(const e of this.selectedAudioOutputDeviceObservers)e(this.selectedAudioOutputDevice)},this.subscribeToMeetingStatus=e=>{this.meetingStatusObservers.push(e),e(this.meetingStatus)},this.unsubscribeFromMeetingStatus=e=>{this.meetingStatusObservers=this.meetingStatusObservers.filter(t=>t!==e)},this.publishMeetingStatus=()=>{this.meetingStatusObservers.forEach(e=>{e(this.meetingStatus)})},this.subscribeToDeviceLabelTrigger=e=>{this.deviceLabelTriggerObservers.push(e)},this.unsubscribeFromDeviceLabelTrigger=e=>{this.deviceLabelTriggerObservers=this.deviceLabelTriggerObservers.filter(t=>t!==e)},this.publishDeviceLabelTrigger=()=>{for(const e of this.deviceLabelTriggerObservers)e()},this.subscribeToDeviceLabelTriggerStatus=e=>{this.deviceLabelTriggerStatusObservers.push(e)},this.unsubscribeFromDeviceLabelTriggerStatus=e=>{this.deviceLabelTriggerStatusObservers=this.deviceLabelTriggerStatusObservers.filter(t=>t!==e)},this.publishDeviceLabelTriggerStatus=()=>{for(const e of this.deviceLabelTriggerStatusObservers)e(this.deviceLabelTriggerStatus)},this.subscribeToEventDidReceive=e=>{this.meetingEventObserverSet.add(e)},this.unsubscribeFromEventDidReceive=e=>{this.meetingEventObserverSet.delete(e)},this.publishEventDidReceiveUpdate=(e,t)=>{this.meetingEventObserverSet.forEach(i=>i(e,t))},this.logger=e,this.eventDidReceiveRef={eventDidReceive:(e,t)=>{this.publishEventDidReceiveUpdate(e,t)}}}initializeMeetingManager(){this.meetingSession=null,this.audioVideo=null,this.meetingSessionConfiguration=void 0,this.meetingId=null,this.selectedAudioOutputDevice=null,this.selectedAudioInputDevice=void 0,this.selectedVideoInputDevice=void 0,this.audioInputDevices=[],this.audioOutputDevices=[],this.videoInputDevices=[],this.activeSpeakers=[],this.activeSpeakerListener=null,this.audioVideoObservers={}}join(e,t){return Z(this,void 0,void 0,function*(){const{deviceLabels:i,eventController:n,enableWebAudio:r,activeSpeakerPolicy:o,skipDeviceSelection:s}=this.parseJoinParams(t);this.meetingSessionConfiguration=e,this.meetingId=this.meetingSessionConfiguration.meetingId;const a=new J.DefaultDeviceController(this.logger,{enableWebAudio:r});this.meetingSession=new J.DefaultMeetingSession(e,this.logger,a,n),this.audioVideo=this.meetingSession.audioVideo,n?n.addObserver(this.eventDidReceiveRef):this.meetingSession.eventController.addObserver(this.eventDidReceiveRef),this.setupAudioVideoObservers(),this.setupDeviceLabelTrigger(i),s||(this.logger.info("[MeetingManager.join] listing and selecting devices"),yield this.listAndSelectDevices(i)),this.publishAudioVideo(),this.setupActiveSpeakerDetection(o),this.meetingStatus=ko.Loading,this.publishMeetingStatus()})}parseJoinParams(e){return{deviceLabels:(null==e?void 0:e.deviceLabels)||To.AudioAndVideo,eventController:null==e?void 0:e.eventController,enableWebAudio:(null==e?void 0:e.enableWebAudio)||!1,activeSpeakerPolicy:(null==e?void 0:e.activeSpeakerPolicy)||new J.DefaultActiveSpeakerPolicy,skipDeviceSelection:(null==e?void 0:e.skipDeviceSelection)||!1}}start(){var e;return Z(this,void 0,void 0,function*(){null===(e=this.audioVideo)||void 0===e||e.start()})}leave(){var e,t;return Z(this,void 0,void 0,function*(){if(this.audioVideo){this.audioVideo.stopContentShare(),this.audioVideo.stopLocalVideoTile(),this.audioVideo.unbindAudioElement();try{yield null===(e=this.meetingSession)||void 0===e?void 0:e.deviceController.chooseAudioOutput(null),yield null===(t=this.meetingSession)||void 0===t?void 0:t.deviceController.destroy()}catch(e){this.logger.info("MeetingManager failed to clean up media resources on leave")}this.activeSpeakerListener&&this.audioVideo.unsubscribeFromActiveSpeakerDetector(this.activeSpeakerListener),this.audioVideo.stop()}this.initializeMeetingManager(),this.publishAudioVideo(),this.publishActiveSpeaker()})}setupAudioVideoObservers(){this.audioVideo&&(this.audioVideoObservers={audioVideoDidStart:this.audioVideoDidStart,audioVideoDidStartConnecting:this.audioVideoDidStartConnecting,audioVideoDidStop:this.audioVideoDidStop},this.audioVideo.addObserver(this.audioVideoObservers))}updateDeviceLists(){var e,t,i;return Z(this,void 0,void 0,function*(){this.audioInputDevices=(yield null===(e=this.audioVideo)||void 0===e?void 0:e.listAudioInputDevices())||[],this.videoInputDevices=(yield null===(t=this.audioVideo)||void 0===t?void 0:t.listVideoInputDevices())||[],this.audioOutputDevices=(yield null===(i=this.audioVideo)||void 0===i?void 0:i.listAudioOutputDevices())||[]})}setupDeviceLabelTrigger(e=To.AudioAndVideo){var t;let i;if(this.deviceLabels=e,"function"==typeof e)i=e;else if(e===To.None)i=ts;else{const t={};switch(e){case To.Audio:t.audio=!0;break;case To.Video:t.video=!0;break;case To.AudioAndVideo:t.audio=!0,t.video=!0}i=()=>Z(this,void 0,void 0,function*(){this.deviceLabelTriggerStatus=Eo.IN_PROGRESS,this.publishDeviceLabelTriggerStatus();try{const e=(yield navigator.mediaDevices.enumerateDevices()).some(e=>"videoinput"===e.kind),i=yield navigator.mediaDevices.getUserMedia({audio:t.audio,video:t.video&&e});return this.deviceLabelTriggerStatus=Eo.GRANTED,this.publishDeviceLabelTriggerStatus(),i}catch(e){throw this.logger.error("MeetingManager failed to get device permissions"),this.deviceLabelTriggerStatus=Eo.DENIED,this.publishDeviceLabelTriggerStatus(),e}})}null===(t=this.audioVideo)||void 0===t||t.setDeviceLabelTrigger(i)}setupActiveSpeakerDetection(e){var t;this.publishActiveSpeaker(),this.activeSpeakerListener=e=>{this.activeSpeakers=e,this.activeSpeakerCallbacks.forEach(t=>t(e))},null===(t=this.audioVideo)||void 0===t||t.subscribeToActiveSpeakerDetector(e||new J.DefaultActiveSpeakerPolicy,this.activeSpeakerListener)}listAndSelectDevices(e=To.AudioAndVideo){var t,i;return Z(this,void 0,void 0,function*(){if(yield this.updateDeviceLists(),"function"==typeof e)return;let n=!1,r=!1;switch(e){case To.None:break;case To.Audio:n=!0;break;case To.Video:r=!0;break;case To.AudioAndVideo:n=!0,r=!0}if(n&&!this.selectedAudioInputDevice&&this.audioInputDevices&&this.audioInputDevices.length){this.selectedAudioInputDevice=this.audioInputDevices[0].deviceId;try{yield null===(t=this.audioVideo)||void 0===t?void 0:t.startAudioInput(this.audioInputDevices[0].deviceId)}catch(e){this.logger.error(`MeetingManager failed to select audio input device on join: ${e}`)}this.publishSelectedAudioInputDevice()}if(n&&!this.selectedAudioOutputDevice&&this.audioOutputDevices&&this.audioOutputDevices.length){if(this.selectedAudioOutputDevice=this.audioOutputDevices[0].deviceId,(new J.DefaultBrowserBehavior).supportsSetSinkId())try{yield null===(i=this.audioVideo)||void 0===i?void 0:i.chooseAudioOutput(this.audioOutputDevices[0].deviceId)}catch(e){this.logger.error(`MeetingManager failed to select audio output device on join: ${e}`)}this.publishSelectedAudioOutputDevice()}r&&!this.selectedVideoInputDevice&&this.videoInputDevices&&this.videoInputDevices.length&&(this.selectedVideoInputDevice=this.videoInputDevices[0].deviceId,this.publishSelectedVideoInputDevice()
1947)})}}const ns=(0,q.createContext)(null),rs=({onDeviceReplacement:e,meetingManager:t,maxContentShares:i,children:r})=>{const o=Jn(),[s]=(0,q.useState)(()=>t||new is(o));return(0,n.jsx)(ns.Provider,Object.assign({value:s},{children:(0,n.jsx)(Xo,{children:(0,n.jsx)(as,{children:(0,n.jsx)(bs,Object.assign({onDeviceReplacement:e},{children:(0,n.jsx)(Yo,{children:(0,n.jsx)(jo,{children:(0,n.jsx)(Go,{children:(0,n.jsx)(qo,{children:(0,n.jsx)(Ro,Object.assign({maxContentShares:i},{children:(0,n.jsx)(Ho,{children:r})}))})})})})}))})})}))},os=()=>{const e=(0,q.useContext)(ns);if(!e)throw new Error("useMeetingManager must be used within MeetingProvider");return e},ss=(0,q.createContext)(null),as=({children:e})=>{const t=os(),[i,r]=(0,q.useState)(null);return(0,q.useEffect)(()=>{function e(e){r(e)}return t.subscribeToAudioVideo(e),()=>t.unsubscribeFromAudioVideo(e)},[]),(0,n.jsx)(ss.Provider,Object.assign({value:i},{children:e}))},ds=()=>(0,q.useContext)(ss),cs=(0,q.createContext)(null),ls=({children:e,onDeviceReplacement:t})=>{const i=Jn(),r=os(),o=ds(),[s,a]=(0,q.useState)([]),[d,c]=(0,q.useState)(r.selectedAudioInputDevice),l=(0,q.useRef)(d);l.current=d,(0,q.useEffect)(()=>(r.subscribeToSelectedAudioInputDevice(c),()=>{r.unsubscribeFromSelectedAudioInputDevice(c)}),[]),(0,q.useEffect)(()=>{let e=!0;const n={audioInputsChanged:e=>Z(void 0,void 0,void 0,function*(){if(i.info("AudioInputProvider - audio inputs updated"),r.getDeviceLabels()!==To.Audio&&r.getDeviceLabels()!==To.AudioAndVideo)return void i.info("Device labels do not allow audio, skipping audio input selection on audioInputsChanged");const n=e.some(e=>e.deviceId===l.current);let o="default";l.current&&!n&&e.length?(i.info("Previously selected audio input lost. Selecting a default device."),o=e[0].deviceId):"default"===l.current&&i.info('Audio devices updated and "default" device is selected. Reselecting input.');const s=yield(d=o,Z(void 0,void 0,void 0,function*(){return t?t(d,r.selectedAudioInputDevice):d}));var d;try{yield r.startAudioInputDevice(s)}catch(e){i.error(`Failed to select audio input device on audioInputsChanged: ${e}`)}a(e)})};function s(){return Z(this,void 0,void 0,function*(){if(!o)return;const t=yield o.listAudioInputDevices();e&&(a(t),o.addDeviceChangeObserver(n))})}const d=()=>{s()};return r.subscribeToDeviceLabelTrigger(d),s(),()=>{e=!1,null==o||o.removeDeviceChangeObserver(n),r.unsubscribeFromDeviceLabelTrigger(d)}},[o,t]);const u=(0,q.useMemo)(()=>({devices:s,selectedDevice:d}),[s,d]);return(0,n.jsx)(cs.Provider,Object.assign({value:u},{children:e}))},us=()=>{const e=(0,q.useContext)(cs);if(!e)throw new Error("useAudioInputs must be used within AudioInputProvider");return e},hs=(0,q.createContext)(null),ps=({children:e})=>{const t=Jn(),i=ds(),[r,o]=(0,q.useState)([]),s=os(),[a,d]=(0,q.useState)(s.selectedAudioOutputDevice);(0,q.useEffect)(()=>(s.subscribeToSelectedAudioOutputDevice(d),()=>{s.unsubscribeFromSelectedAudioOutputDevice(d)}),[]),(0,q.useEffect)(()=>{let e=!0;const n={audioOutputsChanged:e=>{t.info("AudioOutputProvider - audio outputs updated"),o(e)}};function r(){return Z(this,void 0,void 0,function*(){if(!i)return;const t=yield i.listAudioOutputDevices();e&&(o(t),i.addDeviceChangeObserver(n))})}const a=()=>{r()};return s.subscribeToDeviceLabelTrigger(a),r(),()=>{e=!1,null==i||i.removeDeviceChangeObserver(n),s.unsubscribeFromDeviceLabelTrigger(a)}},[i]);const c=(0,q.useMemo)(()=>({devices:r,selectedDevice:a}),[r,a]);return(0,n.jsx)(hs.Provider,Object.assign({value:c},{children:e}))},fs=()=>{const e=(0,q.useContext)(hs);if(!e)throw new Error("useAudioOutputs must be used within AudioOutputProvider");return e},ms=(0,q.createContext)(null),gs=({children:e})=>{const t=Jn(),i=ds(),[r,o]=(0,q.useState)([]),s=os(),[a,d]=(0,q.useState)(s.selectedVideoInputDevice);(0,q.useEffect)(()=>(s.subscribeToSelectedVideoInputDevice(d),()=>{s.unsubscribeFromSelectedVideoInputDevice(d)}),[]),(0,q.useEffect)(()=>{let e=!0;const n={videoInputsChanged:e=>{t.info("VideoInputProvider - video inputs updated"),o(e)}};function r(){return Z(this,void 0,void 0,function*(){if(!i)return;const t=yield i.listVideoInputDevices();e&&(o(t),i.addDeviceChangeObserver(n))})}const a=()=>{r()};return s.subscribeToDeviceLabelTrigger(a),r(),()=>{e=!1,null==i||i.removeDeviceChangeObserver(n),s.unsubscribeFromDeviceLabelTrigger(a)}},[i]);const c=(0,q.useMemo)(()=>({devices:r,selectedDevice:a}),[r,a]);return(0,n.jsx)(ms.Provider,Object.assign({value:c},{children:e}))},vs=()=>{const e=(0,q.useContext)(ms);if(!e)throw new Error("useVideoInputs must be used within VideoInputProvider");return e},bs=({children:e,onDeviceReplacement:t})=>(0,n.jsx)(ls,Object.assign({onDeviceReplacement:t},{children:(0,n.jsx)(ps,{children:(0,n.jsx)(gs,{children:e})})})),ys=e=>Z(void 0,void 0,void 0,function*(){if(!e)return"";let t;return t=(0,J.isAudioTransformDevice)(e)||(0,J.isVideoTransformDevice)(e)?yield e.intrinsicDevice():e,J.DefaultDeviceController.getIntrinsicDeviceId(t)});function Ss(e,t){const i=(0,q.useRef)(void 0),n=i.current,r=t(n,e);return(0,q.useEffect)(()=>{r||(i.current=e)}),r?n:e}const ws=(0,q.createContext)(void 0),Cs=({spec:e,options:t,children:i})=>{let r=Jn();r=(null==t?void 0:t.logger)||r;const[o,s]=(0,q.useState)(void 0),[a,d]=(0,q.useState)(),c=Ss(e,(e,t)=>!!Object.is(e,t)),l=Ss(t,(e,t)=>!(!function(e,t){return void 0===e&&void 0===t}(e,t)&&!function(e,t){const i=e&&0===Object.keys(e).length,n=t&&0===Object.keys(t).length;return i&&n}(e,t))||(null==e?void 0:e.filterCPUUtilization)===(null==t?void 0:t.filterCPUUtilization)&&(null==e?void 0:e.blurStrength)===(null==t?void 0:t.blurStrength)&&(null==e?void 0:e.logger)===(null==t?void 0:t.logger)&&(null==e?void 0:e.reportingPeriodMillis)===(null==t?void 0:t.reportingPeriodMillis));function u(){return Z(this,void 0,void 0,function*(){r.info(`Initializing background blur processor with, spec: ${JSON.stringify(e)}, options: { blurStrength: ${null==t?void 0:t.blurStrength}, filterCPUUtilization: ${null==t?void 0:t.filterCPUUtilization}, reportingPeriodMillis: ${null==t?void 0:t.reportingPeriodMillis} }`);
1947try{const i=yield J.BackgroundBlurVideoFrameProcessor.create(Object.assign({},e),Object.assign({},t));return i instanceof J.NoOpVideoFrameProcessor?(r.warn("Initialized NoOpVideoFrameProcessor"),d(void 0),void s(!1)):(r.info("Initialized background blur processor"),d(i),s(!0),i)}catch(e){return r.error(`Error creating a background blur video frame processor device ${e}`),d(void 0),void s(!1)}})}(0,q.useEffect)(()=>(u(),()=>{r.info("Specs or options were changed. Destroying and re-initializing background blur processor."),null==a||a.destroy()}),[l,c]);const h={createBackgroundBlurDevice:e=>Z(void 0,void 0,void 0,function*(){r.info(`Calling createBackgroundBlurDevice with device: ${JSON.stringify(e)}`);const t=yield u();try{if(t)return new J.DefaultVideoTransformDevice(r,e,[t]);throw new Error("Processor has not been created. Background Blur is not supported.")}catch(e){throw new Error(`Failed to create a DefaultVideoTransformDevice: ${e}`)}}),isBackgroundBlurSupported:o,backgroundBlurProcessor:a};return(0,n.jsx)(ws.Provider,Object.assign({value:h},{children:i}))},ks=()=>{const e=(0,q.useContext)(ws);if(!e)throw new Error("useBackgroundBlur must be used within BackgroundBlurProvider");return e};function Es(){const e=ds(),[t,i]=(0,q.useState)(()=>(null==e?void 0:e.realtimeIsLocalAudioMuted())||!1);(0,q.useEffect)(()=>{const t=e=>{i(e)};return null==e||e.realtimeSubscribeToMuteAndUnmuteLocalAudio(t),i((null==e?void 0:e.realtimeIsLocalAudioMuted())||!1),()=>{null==e||e.realtimeUnsubscribeToMuteAndUnmuteLocalAudio(t)}},[e]);const n=(0,q.useCallback)(()=>{t?null==e||e.realtimeUnmuteLocalAudio():null==e||e.realtimeMuteLocalAudio()},[t,e]);return{muted:t,toggleMute:n}}Ue(function(e,t){var i="__lodash_hash_undefined__",n=9007199254740991,r="[object Arguments]",o="[object Array]",s="[object Boolean]",a="[object Date]",d="[object Error]",c="[object Function]",l="[object Map]",u="[object Number]",h="[object Object]",p="[object Promise]",f="[object RegExp]",m="[object Set]",g="[object String]",v="[object WeakMap]",b="[object ArrayBuffer]",y="[object DataView]",S=/^\[object .+?Constructor\]$/,w=/^(?:0|[1-9]\d*)$/,C={};C["[object Float32Array]"]=C["[object Float64Array]"]=C["[object Int8Array]"]=C["[object Int16Array]"]=C["[object Int32Array]"]=C["[object Uint8Array]"]=C["[object Uint8ClampedArray]"]=C["[object Uint16Array]"]=C["[object Uint32Array]"]=!0,C[r]=C[o]=C[b]=C[s]=C[y]=C[a]=C[d]=C[c]=C[l]=C[u]=C[h]=C[f]=C[m]=C[g]=C[v]=!1;var k="object"==typeof Ve&&Ve&&Ve.Object===Object&&Ve,E="object"==typeof self&&self&&self.Object===Object&&self,T=k||E||Function("return this")(),I=t&&!t.nodeType&&t,x=I&&e&&!e.nodeType&&e,A=x&&x.exports===I,P=A&&k.process,O=function(){try{return P&&P.binding&&P.binding("util")}catch(e){}}(),_=O&&O.isTypedArray;function M(e,t){for(var i=-1,n=null==e?0:e.length;++i<n;)if(t(e[i],i,e))return!0;return!1}function R(e){var t=-1,i=Array(e.size);return e.forEach(function(e,n){i[++t]=[n,e]}),i}function D(e){var t=-1,i=Array(e.size);return e.forEach(function(e){i[++t]=e}),i}var F,L,N,B=Array.prototype,V=Function.prototype,U=Object.prototype,j=T["__core-js_shared__"],z=V.toString,$=U.hasOwnProperty,H=(F=/[^.]+$/.exec(j&&j.keys&&j.keys.IE_PROTO||""))?"Symbol(src)_1."+F:"",W=U.toString,q=RegExp("^"+z.call($).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),K=A?T.Buffer:void 0,G=T.Symbol,J=T.Uint8Array,Q=U.propertyIsEnumerable,X=B.splice,Z=G?G.toStringTag:void 0,Y=Object.getOwnPropertySymbols,ee=K?K.isBuffer:void 0,te=(L=Object.keys,N=Object,function(e){return L(N(e))}),ie=xe(T,"DataView"),ne=xe(T,"Map"),re=xe(T,"Promise"),oe=xe(T,"Set"),se=xe(T,"WeakMap"),ae=xe(Object,"create"),de=_e(ie),ce=_e(ne),le=_e(re),ue=_e(oe),he=_e(se),pe=G?G.prototype:void 0,fe=pe?pe.valueOf:void 0;function me(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}function ge(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}function ve(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}function be(e){var t=-1,i=null==e?0:e.length;for(this.__data__=new ve;++t<i;)this.add(e[t])}function ye(e){var t=this.__data__=new ge(e);this.size=t.size}function Se(e,t){for(var i=e.length;i--;)if(Me(e[i][0],t))return i;return-1}
vendor: 1,221 bytes, line 1947
1947function we(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Z&&Z in Object(e)?function(e){var t=$.call(e,Z),i=e[Z];try{e[Z]=void 0;var n=!0}catch(e){}var r=W.call(e);return n&&(t?e[Z]=i:delete e[Z]),r}(e):function(e){return W.call(e)}(e)}function Ce(e){return Ue(e)&&we(e)==r}function ke(e,t,i,n,c){return e===t||(null==e||null==t||!Ue(e)&&!Ue(t)?e!=e&&t!=t:function(e,t,i,n,c,p){var v=De(e),S=De(t),w=v?o:Pe(e),C=S?o:Pe(t),k=(w=w==r?h:w)==h,E=(C=C==r?h:C)==h,T=w==C;if(T&&Fe(e)){if(!Fe(t))return!1;v=!0,k=!1}if(T&&!k)return p||(p=new ye),v||je(e)?Ee(e,t,i,n,c,p):function(e,t,i,n,r,o,c){switch(i){case y:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case b:return!(e.byteLength!=t.byteLength||!o(new J(e),new J(t)));case s:case a:case u:return Me(+e,+t);case d:return e.name==t.name&&e.message==t.message;case f:case g:return e==t+"";case l:var h=R;case m:var p=1&n;if(h||(h=D),e.size!=t.size&&!p)return!1;var v=c.get(e);if(v)return v==t;n|=2,c.set(e,t);var S=Ee(h(e),h(t),n,r,o,c);return c.delete(e),S;case"[object Symbol]":if(fe)return fe.call(e)==fe.call(t)}return!1}(e,t,w,i,n,c,p);if(!(1&i)){var I=k&&$.call(e,"__wrapped__"),x=E&&$.call(t,"__wrapped__");
vendor: 4,163 bytes, line 1947
1947if(I||x){var A=I?e.value():e,P=x?t.value():t;return p||(p=new ye),c(A,P,i,n,p)}}return!!T&&(p||(p=new ye),function(e,t,i,n,r,o){var s=1&i,a=Te(e),d=a.length;if(d!=Te(t).length&&!s)return!1;for(var c=d;c--;){var l=a[c];if(!(s?l in t:$.call(t,l)))return!1}var u=o.get(e);if(u&&o.get(t))return u==t;var h=!0;o.set(e,t),o.set(t,e);for(var p=s;++c<d;){var f=e[l=a[c]],m=t[l];if(n)var g=s?n(m,f,l,t,e,o):n(f,m,l,e,t,o);if(!(void 0===g?f===m||r(f,m,i,n,o):g)){h=!1;break}p||(p="constructor"==l)}if(h&&!p){var v=e.constructor,b=t.constructor;v==b||!("constructor"in e)||!("constructor"in t)||"function"==typeof v&&v instanceof v&&"function"==typeof b&&b instanceof b||(h=!1)}return o.delete(e),o.delete(t),h}(e,t,i,n,c,p))}(e,t,i,n,ke,c))}function Ee(e,t,i,n,r,o){var s=1&i,a=e.length,d=t.length;if(a!=d&&!(s&&d>a))return!1;var c=o.get(e);if(c&&o.get(t))return c==t;var l=-1,u=!0,h=2&i?new be:void 0;for(o.set(e,t),o.set(t,e);++l<a;){var p=e[l],f=t[l];if(n)var m=s?n(f,p,l,t,e,o):n(p,f,l,e,t,o);if(void 0!==m){if(m)continue;u=!1;break}if(h){if(!M(t,function(e,t){if(s=t,!h.has(s)&&(p===e||r(p,e,i,n,o)))return h.push(t);var s})){u=!1;break}}else if(p!==f&&!r(p,f,i,n,o)){u=!1;break}}return o.delete(e),o.delete(t),u}function Te(e){return function(e,t,i){var n=t(e);return De(e)?n:function(e,t){for(var i=-1,n=t.length,r=e.length;++i<n;)e[r+i]=t[i];return e}(n,i(e))}(e,ze,Ae)}function Ie(e,t){var i,n,r=e.__data__;return("string"==(n=typeof(i=t))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==i:null===i)?r["string"==typeof t?"string":"hash"]:r.map}function xe(e,t){var i=function(e,t){return null==e?void 0:e[t]}(e,t);return function(e){return!(!Be(e)||function(e){return!!H&&H in e}(e))&&(Le(e)?q:S).test(_e(e))}(i)?i:void 0}me.prototype.clear=function(){this.__data__=ae?ae(null):{},this.size=0},me.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},me.prototype.get=function(e){var t=this.__data__;if(ae){var n=t[e];return n===i?void 0:n}return $.call(t,e)?t[e]:void 0},me.prototype.has=function(e){var t=this.__data__;return ae?void 0!==t[e]:$.call(t,e)},me.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=ae&&void 0===t?i:t,this},ge.prototype.clear=function(){this.__data__=[],this.size=0},ge.prototype.delete=function(e){var t=this.__data__,i=Se(t,e);return!(i<0||(i==t.length-1?t.pop():X.call(t,i,1),--this.size,0))},ge.prototype.get=function(e){var t=this.__data__,i=Se(t,e);return i<0?void 0:t[i][1]},ge.prototype.has=function(e){return Se(this.__data__,e)>-1},ge.prototype.set=function(e,t){var i=this.__data__,n=Se(i,e);return n<0?(++this.size,i.push([e,t])):i[n][1]=t,this},ve.prototype.clear=function(){this.size=0,this.__data__={hash:new me,map:new(ne||ge),string:new me}},ve.prototype.delete=function(e){var t=Ie(this,e).delete(e);return this.size-=t?1:0,t},ve.prototype.get=function(e){return Ie(this,e).get(e)},ve.prototype.has=function(e){return Ie(this,e).has(e)},ve.prototype.set=function(e,t){var i=Ie(this,e),n=i.size;return i.set(e,t),this.size+=i.size==n?0:1,this},be.prototype.add=be.prototype.push=function(e){return this.__data__.set(e,i),this},be.prototype.has=function(e){return this.__data__.has(e)},ye.prototype.clear=function(){this.__data__=new ge,this.size=0},ye.prototype.delete=function(e){var t=this.__data__,i=t.delete(e);return this.size=t.size,i},ye.prototype.get=function(e){return this.__data__.get(e)},ye.prototype.has=function(e){return this.__data__.has(e)},ye.prototype.set=function(e,t){var i=this.__data__;if(i instanceof ge){var n=i.__data__;if(!ne||n.length<199)return n.push([e,t]),this.size=++i.size,this;i=this.__data__=new ve(n)}return i.set(e,t),this.size=i.size,this};var Ae=Y?function(e){return null==e?[]:(e=Object(e),function(e,t){for(var i=-1,n=null==e?0:e.length,r=0,o=[];++i<n;){var s=e[i];t(s)&&(o[r++]=s)}return o}(Y(e),function(t){return Q.call(e,t)}))}:function(){return[]},Pe=we;function Oe(e,t){return!!(t=null==t?n:t)&&("number"==typeof e||w.test(e))&&e>-1&&e%1==0&&e<t}function _e(e){if(null!=e){try{return z.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function Me(e,t){return e===t||e!=e&&t!=t}
1947(ie&&Pe(new ie(new ArrayBuffer(1)))!=y||ne&&Pe(new ne)!=l||re&&Pe(re.resolve())!=p||oe&&Pe(new oe)!=m||se&&Pe(new se)!=v)&&(Pe=function(e){var t=we(e),i=t==h?e.constructor:void 0,n=i?_e(i):"";if(n)switch(n){case de:return y;case ce:return l;case le:return p;case ue:return m;case he:return v}return t});var Re=Ce(function(){return arguments}())?Ce:function(e){return Ue(e)&&$.call(e,"callee")&&!Q.call(e,"callee")},De=Array.isArray,Fe=ee||function(){return!1};function Le(e){if(!Be(e))return!1;var t=we(e);return t==c||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}function Ne(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=n}function Be(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Ue(e){return null!=e&&"object"==typeof e}var je=_?function(e){return function(t){return e(t)}}(_):function(e){return Ue(e)&&Ne(e.length)&&!!C[we(e)]};function ze(e){return null!=(t=e)&&Ne(t.length)&&!Le(t)?function(e,t){var i=De(e),n=!i&&Re(e),r=!i&&!n&&Fe(e),o=!i&&!n&&!r&&je(e),s=i||n||r||o,a=s?function(e,t){for(var i=-1,n=Array(e);++i<e;)n[i]=t(i);return n}(e.length,String):[],d=a.length;for(var c in e)!t&&!$.call(e,c)||s&&("length"==c||r&&("offset"==c||"parent"==c)||o&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||Oe(c,d))||a.push(c);return a}(e):function(e){if(i=(t=e)&&t.constructor,t!==("function"==typeof i&&i.prototype||U))return te(e);var t,i,n=[];for(var r in Object(e))$.call(e,r)&&"constructor"!=r&&n.push(r);return n}(e);var t}e.exports=function(e,t){return ke(e,t)}}),(0,q.createContext)(null),(0,r.Ay)(lo)` 1948 background-color: ${({theme:e})=>e.colors.greys.grey80}; 1949`,(0,r.Ay)(lo)` 1950 ${e=>e.active?"":"display: none"}; 1951`,(0,r.Ay)(lo)` 1952 height: auto; 1953 background: unset; 1954 1955 video { 1956 position: static; 1957 } 1958`;const Ts=e=>{var{name:t,className:i,tileId:r}=e,o=X(e,["name","className","tileId"]);const s=ds(),a=(0,q.useRef)(null);return function(e){(0,q.useEffect)(()=>{var t;function i(){if(!e.current)return;const t=e.current.videoHeight,i=e.current.videoWidth;e.current.style.objectFit=t>i?"contain":"cover"}return null===(t=e.current)||void 0===t||t.addEventListener("loadedmetadata",i),()=>{var t;return null===(t=e.current)||void 0===t?void 0:t.removeEventListener("loadedmetadata",i)}},[e])}(a),(0,q.useEffect)(()=>{if(s&&a.current)return s.bindVideoElement(r,a.current),()=>{s.getVideoTile(r)&&s.unbindVideoElement(r)}},[s,r]),(0,n.jsx)(lo,Object.assign({},o,{ref:a,nameplate:t,className:`ch-remote-video--${r} ${i||""}`}))};(0,q.memo)(e=>{const{roster:t}=es(),{tiles:i,tileIdToAttendeeId:r}=zo();return(0,n.jsx)(n.Fragment,{children:i.map(i=>{const n=t[r[i]]||{},{name:o}=n;return(0,q.createElement)(Ts,Object.assign({},e,{key:i,tileId:i,name:o}))})})});(0,q.memo)(e=>{const t=(0,q.useContext)(ao),{roster:i}=es(),{tileId:r}=function(){const e=(0,q.useContext)($o);if(!e)throw new Error("useFeaturedTileState must be used within an FeaturedVideoTileProvider");return e}(),{tiles:o}=Do(),{tiles:s,tileIdToAttendeeId:a}=zo();return(0,n.jsx)(n.Fragment,{children:s.map(n=>{const s=!(o.length>0)&&r===n,d=t&&s?"grid-area: ft;":"",c=`${s?"ch-featured-tile":""} ${e.className||""}`,l=i[a[n]]||{},{name:u}=l;return(0,q.createElement)(Ts,Object.assign({tileId:n,name:u},e,{className:c,key:n,css:d}))})})});const Is=r.Ay.div.withConfig(se)` 1959 position: relative; 1960 height: inherit; 1961 line-height: 0; 1962 1963 .ch-mic-icon { 1964 position: relative; 1965 z-index: 2; 1966 width: 100%; 1967 } 1968 1969 .ch-bg-volume-wrapper { 1970 position: absolute; 1971 bottom: 41%; 1972 left: 40%; 1973 height: 38%; 1974 width: 21%; 1975 border-radius: 20%; 1976 overflow: hidden; 1977 } 1978 1979 .ch-bg-volume-fill { 1980 position: absolute; 1981 top: 0; 1982 left: 0; 1983 right: 0; 1984 bottom: 0; 1985 transform-origin: bottom; 1986 will-change: transform; 1987 background-color: ${e=>e.signalStrength&&e.signalStrength<=.5?e.theme.colors.error.light:e.theme.colors.primary.light}; 1988 } 1989 1990 ${de} 1991 ${ae} 1992`;(0,q.forwardRef)((e,t)=>{var{muted:i=!1,signalStrength:r,className:o}=e,s=X(e,["muted","signalStrength","className"]);const a=void 0!==r&&r<=.5,d=o?`${o} ch-mic-volume-indicator`:"ch-mic-volume-indicator";return(0,n.jsxs)(Is,Object.assign({className:d,signalStrength:r,muted:i},s,{children:[(0,n.jsx)(_e,{muted:i,className:"ch-mic-icon",poorConnection:a}),(0,n.jsx)("div",Object.assign({className:"ch-bg-volume-wrapper"},{children:(0,n.jsx)("div",{ref:t,className:"ch-bg-volume-fill","data-testid":"volume-fill"})}))]}))}),(0,q.createContext)(void 0);const xs=(e,t="horizontal")=>
1992{(e=>{const t=ds(),{selectedDevice:i}=us();(0,q.useEffect)(()=>{if(!t)return;let i,n,r,o,s=!1,a=!0;function d(){t&&a&&(i=t.createAnalyserNodeForAudioInput(),(null==i?void 0:i.getByteTimeDomainData)&&(n=new Uint8Array(i.fftSize),r=0,s=!1,requestAnimationFrame(c)))}function c(){if(i){if(0===r){i.getByteTimeDomainData(n);const t=.01;let r=t;for(const e of n)r=Math.max(r,(e-128)/128);const s=(Math.log(t)-Math.log(r))/Math.log(t);o!==s&&(o=s,e&&e(s))}r=(r+1)%2,s?setTimeout(d,500):a&&requestAnimationFrame(c)}}return t.addDeviceChangeObserver({audioInputsChanged:()=>{s=!0}}),d(),()=>{a=!1}},[t,i,e])})((0,q.useCallback)(i=>{e.current&&(e.current.style.transform="horizontal"===t?`scaleX(${i})`:`scaleY(${i})`)},[t]))},As=["20rem","35.5rem","48rem","64rem","90rem"];As.xs=As[0],As.sm=As[1],As.md=As[2],As.lg=As[3],As.xl=As[4];const Ps={breakpoints:As,mediaQueries:{min:{xs:`@media screen and (min-width: ${As.xs})`,sm:`@media screen and (min-width: ${As.sm})`,md:`@media screen and (min-width: ${As.md})`,lg:`@media screen and (min-width: ${As.lg})`,xl:`@media screen and (min-width: ${As.xl})`},max:{xs:`@media screen and (max-width: ${As.xs})`,sm:`@media screen and (max-width: ${As.sm})`,md:`@media screen and (max-width: ${As.md})`,lg:`@media screen and (max-width: ${As.lg})`,xl:`@media screen and (max-width: ${As.xl})`}},fonts:{body:"'Ember', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;",monospace:"Menlo, monospace"},fontSizes:{baseFontSize:"16px",fontWeight:"normal",h1:{fontSize:"5.3rem",fontWeight:"normal",lineHeight:"5.625rem",mobile:{fontSize:"3.8125rem",fontWeight:"normal",lineHeight:"5.625rem"}},h2:{fontSize:"3.925rem",fontWeight:"normal",lineHeight:"3.75rem",mobile:{fontSize:"3.05rem",fontWeight:"normal",lineHeight:"4.5rem"}},h3:{fontSize:"2.44125rem",fontWeight:"normal",lineHeight:"3.75rem",mobile:{fontSize:"2.90625rem",fontWeight:"normal",lineHeight:"3rem"}},h4:{fontSize:"1.953125rem",fontWeight:"normal",lineHeight:"3.75rem",mobile:{fontSize:"2.15rem",fontWeight:"normal",lineHeight:"3rem"}},h5:{fontSize:"1.5625rem",fontWeight:"normal",lineHeight:"3rem",mobile:{fontSize:"1.59375rem",fontWeight:"normal",lineHeight:"1.875rem"}},h6:{fontSize:"1.25rem",fontWeight:"normal",lineHeight:"1.875rem",mobile:{fontSize:"1.18125rem",fontWeight:"normal",lineHeight:"1.5rem"}},text:{fontSize:"0.875rem",lineHeight:"1.43"},label:{fontSize:"0.875rem",lineHeight:"1.43"},small:{fontSize:"0.75rem",lineHeight:"1.43"},footnote:{fontSize:"0.65rem",lineHeight:"1rem"}},radii:{default:"0.25rem",circle:"50%"},zIndex:{navigation:10,controlBar:15,modal:20,popOver:30,notificationGroup:40},modalSizes:{md:{width:"35rem",height:"94vh"},lg:{width:"50rem",height:"94vh"},fullscreen:{width:"98vw",height:"96vh"}},iconButtonSizes:{sm:"1.5rem",md:"2.5rem",lg:"4rem"}},Os={primary:{lightest:"#88b2ff",lighter:"#5d96ff",light:"#327aff",main:"#075fff",dark:"#004ddb",darker:"#0042bb",darkest:"#002f85"},secondary:{light:"#ff8e74",main:"#ff7654",dark:"#e86c4d"},error:{lightest:"#FCF7F6",lighter:"#F5DDD5",light:"#FF927C",primary:"#C52000",dark:"#9E3319",darker:"#89301A",darkest:"#791800"},success:{lightest:"#EBF1EA",lighter:"#CEE0C8",light:"#50CD49",primary:"#067000",dark:"#305D1D",darker:"#2C511D",darkest:"#184206"},info:{lightest:"#DADFE7",lighter:"#C4CCD9",light:"#418AFD",primary:"#2555A0",dark:"#264A82",darker:"#243F6B",darkest:"#123366"},warning:{lightest:"#FAF8EA",lighter:"#F7E79E",light:"#F9DC60",primary:"#F9CC09",dark:"#665A2A",darker:"#584E26",darkest:"#534201"},greys:{black:"#000000",grey100:"#1b1c20",grey90:"#2e2f34",grey80:"#3f4149",grey70:"#50545e",grey60:"#616672",grey50:"#7d818b",grey40:"#989da5",grey30:"#d4d5d8",grey20:"#e4e9f2",grey10:"#f0f1f2",white:"#ffffff"}},_s={bgd:Os.greys.white,text:Os.greys.grey80,fontSize:Ps.fontSizes.baseFontSize},Ms={none:"none",small:`0 0.09375rem 0.0625rem 0 ${oe(Os.greys.grey100,.15)}`,medium:`0 0.5rem 0.85rem 0 ${oe(Os.greys.black,.15)}`,large:`0 0.75rem 1.875rem 0 ${oe(Os.greys.black,.15)}`},Rs={primary:{shadow:Ms.none,static:{bgd:Os.primary.light,border:`0.03125rem solid ${Os.primary.darker}`,text:Os.greys.white,shadow:"none"},hover:{bgd:Os.primary.dark,border:`0.03125rem solid ${Os.primary.darkest}`,text:Os.greys.white,shadow:"none"},focus:{bgd:Os.primary.dark,border:`0.03125rem solid ${Os.primary.darker}`,text:Os.greys.white,shadow:`0 0 0 0.25rem ${Os.primary.lightest}`},active:{bgd:Os.primary.darker,border:`0.03125rem solid ${Os.greys.black}`,text:Os.greys.white,shadow:`0 0 0 0.25rem ${Os.primary.lightest}`},selected:{bgd:Os.primary.light,border:`0.03125rem solid ${Os.primary.dark}`,text:Os.greys.white,shadow:"none"},disabled:{bgd:Os.greys.white,border:`0.03125rem solid ${Os.greys.grey10}`,text:Os.greys.grey40,shadow:"none"}},secondary:{shadow:Ms.none,static:{bgd:Os.greys.white,border:`0.03125rem solid ${Os.greys.grey30}`,text:Os.greys.grey80,shadow:"none"},hover:{bgd:Os.greys.grey10,border:`0.03125rem solid ${Os.greys.grey30}`,text:Os.greys.grey80,shadow:"none"},focus:{bgd:Os.greys.grey10,border:`0.03125rem solid ${Os.primary.dark}`,text:Os.greys.grey80,shadow:`0 0 0 0.25rem ${Os.primary.light}`},active:{bgd:Os.greys.grey20,border:`0.03125rem solid ${Os.greys.grey40}`,text:Os.greys.grey80,shadow:`0 0 0 0.25rem ${Os.primary.dark}`},selected:{bgd:Os.greys.grey10,border:`0.03125rem solid ${Os.greys.grey30}`,text:Os.greys.grey80,shadow:`0 0 0 0.25rem ${Os.primary.dark}`},disabled:{bgd:Os.greys.white,border:`0.03125rem solid ${Os.greys.grey10}`,text:Os.greys.grey40,shadow:"none"}},icon:{shadow:Ms.none,static:{bgd:"transparent",border:"0.03125rem solid transparent",text:Os.greys.grey80,shadow:"none"},hover:{bgd:Os.primary.dark,border:"0.03125rem solid transparent",text:Os.greys.white,shadow:"none"},focus:{bgd:"transparent",border:`0.03125rem solid ${Os.primary.darker}`,text:Os.greys.grey80,shadow:`0 0 0 0.25rem ${Os.primary.lightest}`},active:{bgd:Os.primary.darker,border:`0.03125rem solid ${Os.primary.darker}`,text:Os.greys.white,shadow:`0 0 0 0.25rem ${Os.primary.lightest}`},selected:{bgd:Os.primary.light,border:`0.03125rem solid ${Os.primary.darker}`,text:Os.greys.white,shadow:"none"},disabled:{bgd:"transparent",border:"none",text:Os.greys.grey40,shadow:"none"}}},Ds={bgd:Os.greys.white,border:`0.03125rem solid ${Os.greys.grey30}`,borderRadius:Ps.radii.default,fontColor:Os.greys.grey80,placeholder:Os.greys.grey40,shadow:`0 0.0625rem 0.0625rem 0 ${oe(Os.greys.black,.1)}`,clearBg:Os.greys.grey50,focus:{bgd:Os.greys.white,border:`solid 0.03125rem ${Os.primary.lighter}`,shadow:`0 0 0 0.125rem ${Os.primary.lightest}`},error:{border:`0.03125rem solid ${Os.error.dark}`,fontColor:Os.error.primary,shadow:`0 0 0 0.125rem ${Os.error.light}`},checked:{bgd:Os.primary.main,border:`solid 0.03125rem ${Os.primary.main}`,fontColor:Os.greys.white,shadow:`0 0.03125rem 0.03125rem 0 ${oe(Os.primary.dark,.7)}`}},Fs={bgd:Os.greys.white,text:Os.greys.grey80,wrapperBgd:oe(Os.greys.grey50,.9),titleSize:Ps.fontSizes.h5.fontSize,titleWeight:"normal",shadow:Ms.large,border:Os.greys.grey30},Ls={menuBgd:`${oe(Os.greys.grey10,.85)}`,menuBorder:`0.5px solid ${Os.greys.grey20}`,shadow:Ms.large,itemBgd:"transparent",itemText:Os.greys.grey70,titleText:Os.greys.grey60,active:{itemBgd:Os.primary.dark,itemText:Os.greys.white},disabled:Os.greys.grey40,separator:`${oe(Os.greys.grey40,.3)}`},Ns={shadow:Ms.large,error:{text:Os.error.lightest,closeButton:{text:Os.error.lighter,hover:{bgd:Os.error.lighter,text:Os.error.dark},active:{bgd:Os.error.lightest,text:Os.error.darker}}},success:{text:Os.success.lightest,closeButton:{text:Os.success.lighter,hover:{bgd:Os.success.lighter,text:Os.success.dark},active:{bgd:Os.success.lightest,text:Os.success.darker}}},info:{text:Os.info.lightest,closeButton:{text:Os.info.lighter,hover:{bgd:Os.info.lighter,text:Os.info.dark},active:{bgd:Os.info.lightest,text:Os.info.darker}}},warning:{text:Os.warning.darker,closeButton:{text:Os.warning.dark,hover:{bgd:Os.warning.dark,text:Os.greys.white},active:{bgd:Os.warning.darker,text:Os.greys.white}}}},Bs={fontColor:Os.primary.main,fontColorHover:Os.primary.dark,fontColorActive:Os.primary.darker,fontColorVisited:Os.primary.darkest},Vs={text:Os.greys.grey70,shadow:Ms.large,bgd:Os.greys.white,border:`0.03125rem solid ${Os.greys.grey20}`,opacity:1,selected:{text:Rs.primary.selected.text,bgd:Rs.primary.selected.bgd}},Us={title:Os.greys.grey100,primaryText:Os.greys.grey80,secondaryText:Os.greys.grey50,headerBorder:Os.greys.grey40,containerBorder:Os.greys.grey30,bgd:Os.greys.grey10,fgd:Os.greys.white,shadow:Ms.large,maxWidth:"18.5rem"},js={text:Os.greys.grey80,bgd:Os.greys.grey10,headerBorder:Os.greys.grey40,wrapperBgd:oe(Os.greys.grey50,.9)},zs={bgd:Os.greys.white},$s={incoming:{bgd:Os.greys.white,fontColor:Os.greys.grey60,linkColor:Os.primary.main,linkColorHover:Os.primary.dark,linkColorActive:Os.primary.darker,linkColorVisited:Os.primary.darkest},outgoing:{bgd:Os.primary.main,fontColor:Os.greys.grey10,linkColor:Os.greys.white,linkColorHover:Os.greys.grey10,linkColorActive:Os.greys.grey20,linkColorVisited:Os.greys.grey30},container:{fontColor:Os.greys.grey70,bgd:Os.greys.grey10}},Hs={size:{fontColor:Os.greys.grey40,bgd:Os.greys.white,letterSpacing:"-0.07px",lineHight:"16px",fontSize:"10.4px"},icon:{bgd:Os.greys.grey10,color:Os.greys.grey80},name:{fontColor:Os.greys.grey80},content:{letterSpacing:"-0.09px",bgd:Os.greys.white,fontColor:Os.greys.grey80}},Ws={bgd:Os.greys.white,fontColor:Os.greys.grey70,border:"1px solid transparent",active:{bgd:Os.primary.dark,fontColor:Os.greys.white},hover:{bgd:Os.greys.grey10},focus:{border:`1px solid ${Os.primary.dark}`,selectedBorder:`1px solid ${Os.greys.grey10}`},selected:{bgd:Os.primary.light,fontColor:Os.greys.white},iconButton:{activeBgd:Os.greys.white}},qs={bgd:Os.greys.grey60,fontColor:Os.greys.white},Ks=(Object.assign({name:"Light Theme",buttons:Rs,colors:Os,globalStyle:_s,links:Bs,shadows:Ms,inputs:Ds,modal:Fs,popOver:Ls,notification:Ns,controlBar:Vs,roster:Us,navbar:js,videoGrid:zs,chatBubble:$s,channelList:Ws,chatDateHeader:qs,messageAttachment:Hs},Ps),{primary:{lightest:"#9DEFFB",lighter:"#8AEBFA",light:"#62E5F9",main:"#4FE2F8",dark:"#29DCF8",darker:"#22B6CB",dar
1992kest:"#1FA1B5"},secondary:{light:"#FF8B70",main:"#FF9B83",dark:"#FFB4A1"},error:{lightest:"#FBC1C0",lighter:"#FDA8A6",light:"#FD9B99",primary:"#FF8B8A",dark:"#583A39",darker:"#452F2E",darkest:"#302020"},success:{lightest:"#F4FBF1",lighter:"#D2F1C5",light:"#BAF39E",primary:"#A3E881",dark:"#4F6444",darker:"#46573D",darkest:"#324129"},info:{lightest:"#F0F5FD",lighter:"#D8E6FB",light:"#C4DBFF",primary:"#BAD4FF",dark:"#555B69",darker:"#494F59",darkest:"#343C48"},warning:{lightest:"#FDFDF7",lighter:"#3F4149",light:"#FFEB96",primary:"#FBDF64",dark:"#6D653C",darker:"#5E5736",darkest:"#47422D"},greys:{black:"#000000",grey100:"#1b1c20",grey90:"#2e2f34",grey80:"#3f4149",grey70:"#50545e",grey60:"#616672",grey50:"#7d818b",grey40:"#989da5",grey30:"#d4d5d8",grey20:"#e4e9f2",grey10:"#f0f1f2",white:"#ffffff"}}),Gs={bgd:Ks.greys.grey80,text:Ks.greys.white,fontSize:Ps.fontSizes.baseFontSize},Js={none:"none",small:"",medium:"",large:`0 0.75rem 1.875rem 0 ${oe(Ks.greys.black,.15)}`},Qs={primary:{shadow:Js.none,static:{bgd:Ks.primary.main,border:`0.03125rem solid ${Ks.greys.black}`,text:Ks.greys.grey80,shadow:"none"},hover:{bgd:Ks.primary.dark,border:`0.03125rem solid ${Ks.greys.black}`,text:Ks.greys.grey80,shadow:"none"},focus:{bgd:Ks.primary.dark,border:`0.03125rem solid ${Ks.greys.black}`,text:Ks.greys.grey80,shadow:`0 0 0 0.25rem ${Ks.primary.darkest}`},active:{bgd:Ks.primary.darker,border:`0.03125rem solid ${Ks.greys.black}`,text:Ks.greys.grey80,shadow:"none"},selected:{bgd:Ks.primary.light,border:`0.03125rem solid ${Ks.greys.black}`,text:Ks.greys.grey80,shadow:"none"},disabled:{bgd:Ks.greys.grey80,border:`0.03125rem solid ${oe(Ks.greys.black,.4)}`,text:Ks.greys.grey40,shadow:"none"}},secondary:{shadow:Js.none,static:{bgd:Ks.greys.grey50,border:`0.03125rem solid ${Ks.greys.black}`,text:Ks.greys.white,shadow:"none"},hover:{bgd:Ks.greys.grey60,border:`0.03125rem solid ${Ks.greys.black}`,text:Ks.greys.white,shadow:"none"},focus:{bgd:Ks.greys.grey60,border:`0.03125rem solid ${Ks.greys.black}`,text:Ks.greys.white,shadow:`0 0 0 0.25rem ${Ks.primary.lighter}`},active:{bgd:Ks.greys.grey70,border:`0.03125rem solid ${Ks.greys.black}`,text:Ks.greys.white,shadow:"none"},selected:{bgd:Ks.greys.grey60,border:`0.03125rem solid ${Ks.greys.black}`,text:Ks.greys.white,shadow:"none"},disabled:{bgd:Ks.greys.grey80,border:`0.03125rem solid ${oe(Ks.greys.black,.6)}`,text:Ks.greys.grey40,shadow:"none"}},icon:{shadow:Js.none,static:{bgd:"transparent",border:"0.03125rem solid transparent",text:Ks.greys.grey20,shadow:"none"},hover:{bgd:Ks.primary.dark,border:`0.03125rem solid ${Ks.greys.black}`,text:Ks.greys.grey80,shadow:"none"},focus:{bgd:"transparent",border:`0.03125rem solid ${Ks.greys.black}`,text:Ks.greys.grey80,shadow:`0 0 0 0.25rem ${Ks.primary.darker}`},active:{bgd:Ks.primary.darker,border:`0.03125rem solid ${Ks.greys.black}`,text:Ks.greys.grey80,shadow:"none"},selected:{bgd:Ks.primary.light,border:`0 solid ${Ks.greys.black}`,text:Ks.greys.grey80,shadow:"none"},disabled:{bgd:"transparent",border:"none",text:Ks.greys.grey40,shadow:"none"}}},Xs={bgd:Ks.greys.grey80,border:`0.03125rem solid ${Ks.greys.black}`,borderRadius:Ps.radii.default,fontColor:Ks.greys.white,placeholder:Ks.greys.grey50,shadow:`0 0.0625rem 0.0625rem 0 ${oe(Ks.greys.black,.1)}`,clearBg:Ks.greys.white,focus:{bgd:Ks.greys.white,border:`solid 0.03125rem ${Ks.primary.main}`,shadow:`0 0 0 0.125rem ${Ks.primary.lighter}`},error:{border:`0.03125rem solid ${Ks.error.primary}`,fontColor:Ks.error.primary,shadow:`0 0 0 0.125rem ${Ks.error.light}`},checked:{bgd:Ks.primary.main,border:`solid 0.03125rem ${Ks.primary.dark}`,fontColor:Ks.greys.grey80,shadow:`inset 0 0.03125rem 0 0 ${oe(Ks.greys.white,.1)}`}},Zs={bgd:Ks.greys.grey80,text:Ks.greys.white,wrapperBgd:oe(Ks.greys.grey60,.9),titleSize:Ps.fontSizes.h5.fontSize,titleWeight:"normal",shadow:`0 1rem 2rem 0 rgba(0, 0, 0, ${oe(Ks.greys.black,.15)})`,border:Ks.greys.black},Ys={menuBgd:`${oe(Ks.greys.grey90,.85)}`,menuBorder:Ks.greys.grey100,shadow:Js.large,itemBgd:"transparent",itemText:Ks.greys.white,titleText:Ks.greys.white,active:{itemBgd:Ks.primary.dark,itemText:Ks.greys.grey80},disabled:Ks.greys.grey40,separator:Ks.greys.grey100},ea={shadow:Js.large,error:{text:Ks.error.darker,closeButton:{text:Ks.error.dark,hover:{bgd:Ks.error.dark,text:Ks.greys.white},active:{bgd:Ks.error.darker,text:Ks.greys.white}}},success:{text:Ks.success.darker,closeButton:{text:Ks.success.dark,hover:{bgd:Ks.success.dark,text:Ks.greys.white},active:{bgd:Ks.success.darker,text:Ks.greys.white}}},info:{text:Ks.info.darker,closeButton:{text:Ks.info.dark,hover:{bgd:Ks.info.dark,text:Ks.greys.white},active:{bgd:Ks.info.darker,text:Ks.greys.white}}},warning:{text:Ks.warning.darker,closeButton:{text:Ks.warning.dark,hover:{bgd:Ks.warning.dark,text:Ks.greys.white},active:{bgd:Ks.warning.darker,text:Ks.greys.white}}}},ta={fontColor:Ks.primary.main,fontColorHover:Ks.primary.dark,fontColorActive:Ks.primary.darker,fontColorVisited:Ks.primary.darkest},ia={text:Ks.greys.grey20,shadow:Js.large,bgd:Ks.greys.grey100,border:"none",opacity:1,selected:{text:Qs.primary.selected.text,bgd:Qs.primary.selected.bgd}},na={title:Ks.greys.white,primaryText:Ks.greys.white,secondaryText:Ks.greys.grey20,headerBorder:Ks.greys.black,containerBorder:Ks.greys.black,bgd:Ks.greys.grey100,fgd:Ks.greys.grey60,shadow:Js.large,maxWidth:"18.5rem"},ra={text:Ks.greys.white,bgd:Ks.greys.grey100,headerBorder:Ks.greys.black,wrapperBgd:oe(Ks.greys.grey60,.9)},oa={bgd:Ks.greys.grey90},sa={incoming:{bgd:Ks.greys.grey80,fontColor:Ks.greys.grey30,linkColor:Ks.primary.main,linkColorHover:Ks.primary.dark,linkColorActive:Ks.primary.darker,linkColorVisited:Ks.primary.darkest},outgoing:{bgd:Ks.primary.dark,fontColor:Ks.greys.grey70,linkColor:Ks.greys.grey80,linkColorHover:Ks.greys.grey70,linkColorActive:Ks.greys.grey60,linkColorVisited:Ks.greys.grey50}
1992,container:{fontColor:Ks.greys.grey30,bgd:Ks.greys.black}},aa={size:{fontColor:Ks.greys.grey30,bgd:Ks.greys.grey10,letterSpacing:"-0.07px",lineHight:"16px",fontSize:"10.4px"},icon:{bgd:Ks.greys.grey40,color:Ks.greys.grey10},name:{fontColor:Ks.greys.white},content:{letterSpacing:"-0.09px",bgd:Ks.greys.grey60,fontColor:Ks.greys.white}},da={bgd:Ks.greys.grey80,fontColor:Ks.greys.grey10,border:"1px solid transparent",active:{bgd:Ks.primary.dark,fontColor:Ks.greys.grey70},hover:{bgd:Ks.greys.grey70},focus:{border:`1px solid ${Ks.primary.dark}`,selectedBorder:`1px solid ${Ks.greys.grey70}`},selected:{bgd:Ks.primary.light,fontColor:Ks.greys.grey70},iconButton:{activeBgd:Ks.greys.grey80}},ca={bgd:Ks.greys.grey10,fontColor:Ks.greys.grey80},la=(Object.assign({name:"Dark Theme",buttons:Qs,colors:Ks,globalStyle:Gs,links:ta,shadows:Js,inputs:Xs,modal:Zs,popOver:Ys,notification:ea,controlBar:ia,roster:na,navbar:ra,videoGrid:oa,chatBubble:sa,channelList:da,chatDateHeader:ca,messageAttachment:aa},Ps),r.AH` 1993 /* http://meyerweb.com/eric/tools/css/reset/ 1994 v2.0 | 20110126 1995 License: none (public domain) 1996 */ 1997 1998 html, 1999 body, 2000 div, 2001 span, 2002 applet, 2003 object, 2004 iframe, 2005 h1, 2006 h2, 2007 h3, 2008 h4, 2009 h5, 2010 h6, 2011 p, 2012 blockquote, 2013 pre, 2014 a, 2015 abbr, 2016 acronym, 2017 address, 2018 big, 2019 cite, 2020 code, 2021 del, 2022 dfn, 2023 em, 2024 img, 2025 ins, 2026 kbd, 2027 q, 2028 s, 2029 samp, 2030 small, 2031 strike, 2032 strong, 2033 sub, 2034 sup, 2035 tt, 2036 var, 2037 b, 2038 u, 2039 i, 2040 center, 2041 dl, 2042 dt, 2043 dd, 2044 ol, 2045 ul, 2046 li, 2047 fieldset, 2048 form, 2049 label, 2050 legend, 2051 table, 2052 caption, 2053 tbody, 2054 tfoot, 2055 thead, 2056 tr, 2057 th, 2058 td, 2059 article, 2060 aside, 2061 canvas, 2062 details, 2063 embed, 2064 figure, 2065 figcaption, 2066 footer, 2067 header, 2068 hgroup, 2069 menu, 2070 nav, 2071 output, 2072 ruby, 2073 section, 2074 summary, 2075 time, 2076 mark, 2077 audio, 2078 video { 2079 margin: 0; 2080 padding: 0; 2081 border: 0; 2082 font-size: 100%; 2083 font: inherit; 2084 vertical-align: baseline; 2085 } 2086 /* HTML5 display-role reset for older browsers */ 2087 article, 2088 aside, 2089 details, 2090 figcaption, 2091 figure, 2092 footer, 2093 header, 2094 hgroup, 2095 menu, 2096 nav, 2097 section { 2098 display: block; 2099 } 2100 body { 2101 line-height: 1; 2102 } 2103 ol, 2104 ul { 2105 list-style: none; 2106 } 2107 blockquote, 2108 q { 2109 quotes: none; 2110 } 2111 blockquote:before, 2112 blockquote:after, 2113 q:before, 2114 q:after { 2115 content: ''; 2116 content: none; 2117 } 2118 table { 2119 border-collapse: collapse; 2120 border-spacing: 0; 2121 } 2122`);r.DU` 2123 ${la}; 2124 2125 *, 2126 *::before, 2127 *::after { 2128 box-sizing: border-box; 2129 } 2130 2131 html { 2132 font-size: ${e=>e.theme.fontSizes.baseFontSize}; 2133 font-family: ${e=>e.theme.fonts.body};; 2134 background-color: ${e=>e.theme.globalStyle.bgd}; 2135 color: ${e=>e.theme.globalStyle.text}; 2136 min-height: 100%; 2137 } 2138`},77662(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(2228));t.default=class{constructor(e,t,i,n=1e3,r=200){this.realtimeController=e,this.selfAttendeeId=t,this.hasBandwidthPriorityCallback=i,this.waitIntervalMs=n,this.updateIntervalMs=r,this.speakerScores={},this.speakerMuteState={},this.detectorCallbackToHandler=new Map,this.detectorCallbackToScoresTimer=new Map,this.detectorCallbackToActivityTimer=new Map,this.hasBandwidthPriority=!1,this.mostRecentUpdateTimestamp={}}needUpdate(e){return!this.activeSpeakers||0===this.speakerScores[e]&&this.activeSpeakers.includes(e)||this.speakerScores[e]>0&&!this.activeSpeakers.includes(e)}updateActiveSpeakers(e,t,i){if(!this.needUpdate(i))return;const n=[],r=Object.keys(this.speakerScores);for(let e=0;e<r.length;e++){const t=r[e];n.push({attendeeId:t,activeScore:this.speakerScores[t]})}const o=n.sort((e,t)=>t.activeScore-e.activeScore).filter(function(e){return e.activeScore>0}).map(function(e){return e.attendeeId});this.activeSpeakers=o,t(o);const s=o.length>0&&o[0]===this.selfAttendeeId&&e.prioritizeVideoSendBandwidthForActiveSpeaker();this.hasBandwidthPriority!==s&&(this.hasBandwidthPriority=s,this.hasBandwidthPriorityCallback(s))}updateScore(e,t,i,n,r){const o=e.calculateScore(i,n,r);this.speakerScores[i]!==o&&(this.speakerScores[i]=o,this.mostRecentUpdateTimestamp[i]=Date.now(),this.updateActiveSpeakers(e,t,i))}subscribe(e,t,i,n){const r=(i,n)=>{if(!n)return this.speakerScores[i]=0,this.mostRecentUpdateTimestamp[i]=Date.now(),void this.updateActiveSpeakers(e,t,i);this.realtimeController.realtimeSubscribeToVolumeIndicator(i,(i,n,r,o)=>{this.mostRecentUpdateTimestamp[i]=Date.now(),null!==r&&(this.speakerMuteState[i]=r),this.updateScore(e,t,i,n,r)})};this.detectorCallbackToHandler.set(t,r);const s=new o.default(this.updateIntervalMs);if(s.start(()=>{for(const i in this.speakerScores)Date.now()-this.mostRecentUpdateTimestamp[i]>this.waitIntervalMs&&this.updateScore(e,t,i,0,this.speakerMuteState[i])}),this.detectorCallbackToActivityTimer.set(t,s),i&&n){const e=new o.default(n);e.start(()=>{i(this.speakerScores)}),this.detectorCallbackToScoresTimer.set(t,e)}this.realtimeController.realtimeSubscribeToAttendeeIdPresence(r)}unsubscribe(e){const t=this.detectorCallbackToHandler.get(e);this.detectorCallbackToHandler.delete(e),t&&this.realtimeController.realtimeUnsubscribeToAttendeeIdPresence(t);const i=this.detectorCallbackToActivityTimer.get(e);i&&(i.stop(),this.detectorCallbackToActivityTimer.delete(e));const n=this.detectorCallbackToScoresTimer.get(e);n&&(n.stop(),this.detectorCallbackToHandler.delete(e))}destroy(){return n(this,void 0,void 0,function*(){for(const e of this.detectorCallbackToHandler.values())this.realtimeController.realtimeUnsubscribeToAttendeeIdPresence(e);for(const e of this.detectorCallbackToActivityTimer.values())e.stop();for(const e of this.detectorCallbackToScoresTimer.values())e.stop();this.detectorCallbackToHandler.clear(),this.detectorCallbackToActivityTimer.clear(),this.detectorCallbackToScoresTimer.clear()})}}},13350(e,t){"use strict";
2138Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e=.9,t=.01,i=.2,n=.2){this.speakerWeight=e,this.cutoffThreshold=t,this.silenceThreshold=i,this.takeoverRate=n,this.volumes={}}calculateScore(e,t,i){(i||null===t)&&(t=0),this.volumes.hasOwnProperty(e)||(this.volumes[e]=0),t=t>this.silenceThreshold?1:0;const n=this.volumes[e]*this.speakerWeight+t*(1-this.speakerWeight);this.volumes[e]=n;for(const i in this.volumes)i!==e&&(this.volumes[i]=Math.max(this.volumes[i]-this.takeoverRate*t,0));return n<this.cutoffThreshold?0:n}prioritizeVideoSendBandwidthForActiveSpeaker(){return!0}}},56251(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class i{constructor(e,t){this.appName=e,this.appVersion=t}static create(e,t){const n=/^[a-zA-Z0-9]+[a-zA-Z0-9_-]*[a-zA-Z0-9]+$/g;if(!e||e.length>32)throw new Error("appName should be a valid string and 1 to 32 characters in length");if(!n.test(e))throw new Error(`appName must satisfy ${n} regular expression`);if(!t||t.length>32)throw new Error("appVersion should be a valid string and 1 to 32 characters in length");if(!/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/gm.test(t))throw new Error("appVersion must satisfy Semantic Versioning format");return new i(e,t)}}t.default=i},705(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{}},46704(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(98824)),s=r(i(91365));t.default=class{constructor(e){this.logger=e,this.audioDevice=null,this.audioElement=null,this.audioStream=null,this.browserBehavior=new o.default,this.observers=new Set}bindAudioElement(e){return n(this,void 0,void 0,function*(){if(!e)throw new Error(`Cannot bind audio element: ${e}`);return this.audioElement=e,this.audioElement.autoplay=!0,this.bindAudioMix()})}unbindAudioElement(){this.audioElement&&(this.audioElement.srcObject=null,this.audioElement=null,this.forEachObserver(e=>{this.audioStream&&e.meetingAudioStreamBecameInactive(this.audioStream)}))}bindAudioStream(e){return n(this,void 0,void 0,function*(){if(e){this.audioStream=e;try{yield this.bindAudioMix()}catch(e){this.logger&&this.logger.warn(`Failed to bind audio stream: ${e}`)}}})}bindAudioDevice(e){return n(this,void 0,void 0,function*(){if(e&&!this.browserBehavior.supportsSetSinkId())throw new Error("Cannot select audio output device. This browser does not support setSinkId.");return this.audioDevice=e,this.bindAudioMix()})}forEachObserver(e){for(const t of this.observers)s.default.nextTick(()=>{e(t)})}bindAudioMix(){var e,t;return n(this,void 0,void 0,function*(){if(!this.audioElement)return;const i=this.audioElement.srcObject;this.audioStream&&(this.audioElement.srcObject=this.audioStream),i!==this.audioStream&&this.forEachObserver(e=>{i&&e.meetingAudioStreamBecameInactive(i),this.audioStream&&e.meetingAudioStreamBecameActive(this.audioStream)});const n=(null===(e=this.audioDevice)||void 0===e?void 0:e.deviceId)!==this.audioElement.sinkId;if(n&&void 0===this.audioElement.sinkId)throw new Error("Cannot select audio output device. This browser does not support setSinkId.");const r=this.audioDevice?this.audioDevice.deviceId:"";if(r===this.audioElement.sinkId)return;const o=this.audioElement,s=this.audioStream;if(this.browserBehavior.hasChromiumWebRTC()&&(o.srcObject=null),n)try{yield o.setSinkId(r)}catch(e){throw null===(t=this.logger)||void 0===t||t.error(`Failed to set sinkId for audio element: ${e}`),e}this.browserBehavior.hasChromiumWebRTC()&&(o.srcObject=s)})}getCurrentMeetingAudioStream(){return n(this,void 0,void 0,function*(){return this.audioStream})}addAudioMixObserver(e){return n(this,void 0,void 0,function*(){this.observers.add(e)})}removeAudioMixObserver(e){return n(this,void 0,void 0,function*(){this.observers.delete(e)})}audioOutputDidChange(e){return n(this,void 0,void 0,function*(){return this.logger.info("Receive an audio output change event"),this.bindAudioDevice(e)})}}},6895(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esMo
2138dule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(98824));class o{constructor(e=null,t=!0){this.audioBitrateBps=e,this.enableAudioRedundancy=(new r.default).supportsAudioRedundancy()&&t}static fullbandSpeechMono(e=!0){return new o(4e4,e)}static fullbandMusicMono(e=!0){return new o(64e3,e)}static fullbandMusicStereo(e=!0){return new o(128e3,e)}isStereo(){return 128e3===this.audioBitrateBps}hasRedundancyEnabled(){return this.enableAudioRedundancy}}t.default=o},97474(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_VIDEO_SUBSCRIPTION_LIMIT=void 0;const r=n(i(32648));t.DEFAULT_VIDEO_SUBSCRIPTION_LIMIT=25,t.default=class{constructor(){this.logger=null,this.browserBehavior=null,this.meetingSessionConfiguration=null,this.signalingClient=null,this.peer=null,this.previousSdpOffer=null,this.sdpOfferInit=null,this.audioVideoController=null,this.realtimeController=null,this.videoTileController=null,this.mediaStreamBroker=null,this.activeAudioInput=void 0,this.activeVideoInput=void 0,this.audioMixController=null,this.transceiverController=null,this.indexFrame=null,this.iceCandidates=[],this.iceCandidateHandler=null,this.iceGatheringStateEventHandler=null,this.sdpAnswer=null,this.turnCredentials=null,this.reconnectController=null,this.removableObservers=[],this.audioProfile=null,this.videoStreamIndex=null,this.videoDownlinkBandwidthPolicy=null,this.videoUplinkBandwidthPolicy=null,this.lastKnownVideoAvailability=null,this.videoCaptureAndEncodeParameter=null,this.videosToReceive=null,this.lastVideosToReceive=null,this.videoSubscriptions=null,this.lastVideoSubscriptionConfiguration=new Map,this.videoSubscriptionLimit=t.DEFAULT_VIDEO_SUBSCRIPTION_LIMIT,this.previousSdpAnswerAsString="",this.serverSupportsCompression=!1,this.videoSendCodecPreferences=[],this.currentVideoSendCodec=void 0,this.meetingSupportedVideoSendCodecPreferences=void 0,this.prioritizedSendVideoCodecCapabilities=[],this.degradedVideoSendCodecs=[],this.videosPaused=null,this.videoDuplexMode=null,this.volumeIndicatorAdapter=null,this.statsCollector=null,this.connectionMonitor=null,this.videoInputAttachedTimestampMs=0,this.audioDeviceInformation={},this.videoDeviceInformation={},this.enableSimulcast=!1,this.enableSVC=!1,this.eventController=null,this.signalingOpenDurationMs=null,this.iceGatheringDurationMs=null,this.startAudioVideoT
2138imestamp=null,this.attendeePresenceDurationMs=null,this.meetingStartDurationMs=null,this.poorConnectionCount=0,this.maxVideoTileCount=0,this.startTimeMs=null,this.retryCount=0,this.isSessionConnected=!1}resetConnectionSpecificState(){this.peer&&this.peer.close(),this.peer=null,this.previousSdpOffer=null,this.sdpOfferInit=null,void 0!==this.transceiverController&&this.transceiverController.reset(),this.indexFrame=null,this.iceCandidates=[],this.iceCandidateHandler=null,this.sdpAnswer=null,this.turnCredentials=null,this.videoDownlinkBandwidthPolicy.reset(),this.videoUplinkBandwidthPolicy.reset&&this.videoUplinkBandwidthPolicy.reset(),this.lastVideosToReceive=null,this.lastVideoSubscriptionConfiguration=new Map,this.videoSubscriptions=null,this.videoSubscriptionLimit=t.DEFAULT_VIDEO_SUBSCRIPTION_LIMIT,this.previousSdpAnswerAsString="",this.serverSupportsCompression=!1,this.videosToReceive=new r.default,this.videosPaused=new r.default,this.currentVideoSendCodec=void 0,this.meetingSupportedVideoSendCodecPreferences=void 0,this.videoDuplexMode=null,this.isSessionConnected=!1}}},88544(e,t,i){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,i,n){void 0===n&&(n=i),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[i]}})}:function(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&n(t,e,i);return r(t,e),t},s=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const d=a(i(77662)),c=a(i(46704)),l=a(i(6895)),u=a(i(98824)),h=a(i(2579)),p=a(i(51569)),f=a(i(28586)),m=i(92801),g=a(i(60169)),v=a(i(77376)),b=a(i(79375)),y=a(i(38148)),S=a(i(98624)),w=a(i(5928)),C=a(i(91365)),k=a(i(96357)),E=a(i(38828)),T=a(i(84217)),I=a(i(52818)),x=a(i(42985)),A=a(i(27014)),P=o(i(35928)),O=a(i(10587)),_=a(i(97375)),M=i(38359),R=a(i(74977)),D=a(i(33914)),F=a(i(94594)),L=a(i(57979)),N=a(i(15011)),B=a(i(75192)),V=a(i(99174)),U=a(i(59811)),j=a(i(28708)),z=a(i(51811)),$=a(i(99759)),H=a(i(90677)),W=a(i(28763)),q=a(i(14023)),K=a(i(44358)),G=a(i(6966)),J=a(i(47689)),Q=a(i(72313)),X=a(i(35299)),Z=a(i(74478)),Y=a(i(74218)),ee=a(i(97632)),te=a(i(95814)),ie=a(i(71630)),ne=a(i(77718)),re=a(i(61472)),oe=a(i(88284)),se=a(i(26216)),ae=a(i(21204)),de=i(89419),ce=a(i(95480)),le=a(i(12712)),ue=a(i(80728)),he=i(7980),pe=a(i(32648)),fe=a(i(50196)),me=a(i(26316)),ge=a(i(95570)),ve=a(i(75824)),be=a(i(29671)),ye=a(i(43867)),Se=a(i(48096)),we=a(i(97474));class Ce{constructor(e,t,i,n,r,o){this._audioProfile=new l.default,this.connectionHealthData=new h.default,this.observerQueue=new Set,this.meetingSessionContext=new we.default,this.enableSimulcast=!1,this.enableSVC=!1,this.useUpdateTransceiverControllerForUplink=!1,this.startAudioVideoT
2138imestamp=0,this.mayNeedRenegotiationForSimulcastLayerChange=!1,this.promotedToPrimaryMeeting=!1,this.hasGetRTCPeerConnectionStatsDeprecationMessageBeenSent=!1,this.receiveIndexTask=void 0,this.monitorTask=void 0,this.receiveRemotePauseResumeTask=void 0,this.destroyed=!1,this._logger=t,this.sessionStateController=new E.default(this._logger),this._configuration=e,this._webSocketAdapter=i,this._realtimeController=new w.default(n),this._realtimeController.realtimeSetLocalAttendeeId(e.credentials.attendeeId,e.credentials.externalUserId),this._mediaStreamBroker=n,this._reconnectController=r,this._videoTileController=new ge.default(new ve.default,this,this._logger),this._audioMixController=new c.default(this._logger),this._mediaStreamBroker.addMediaStreamBrokerObserver(this._audioMixController),this.meetingSessionContext.logger=this._logger,this._eventController=o,this.configuration.enableSimulcastForUnifiedPlanChromiumBasedBrowsers||(new y.default(this.configuration.credentials.attendeeId).hasModality(y.default.MODALITY_CONTENT)&&(new u.default).hasChromiumWebRTC()?this.videoSendCodecPreferences=[k.default.av1Main(),k.default.vp9Profile0(),k.default.h264ConstrainedBaselineProfile(),k.default.vp8()]:this.videoSendCodecPreferences=[k.default.vp9Profile0(),k.default.h264ConstrainedBaselineProfile(),k.default.vp8()])}destroy(){return s(this,void 0,void 0,function*(){this.observerQueue.clear(),this._mediaStreamBroker.removeMediaStreamBrokerObserver(this._audioMixController),this.destroyed=!0})}get configuration(){return this._configuration}get realtimeController(){return this._realtimeController}get activeSpeakerDetector(){return this._activeSpeakerDetector||(this._activeSpeakerDetector=new d.default(this._realtimeController,this._configuration.credentials.attendeeId,this.handleHasBandwidthPriority.bind(this))),this._activeSpeakerDetector}get videoTileController(){return this._videoTileController}get audioMixController(){return this._audioMixController}get logger(){return this._logger}get rtcPeerConnection(){return this.meetingSessionContext&&this.meetingSessionContext.peer||null}get mediaStreamBroker(){return this._mediaStreamBroker}get eventController(){return this._eventController}getRTCPeerConnectionStats(e){return this.hasGetRTCPeerConnectionStatsDeprecationMessageBeenSent||(this.logger.warn("The `getRTCPeerConnectionStats()` is on its way to be deprecated. It makes an additional call to the `getStats` API and therefore may cause slight performance degradation. Please use the new API `clientMetricReport.getRTCStatsReport()` returned by `metricsDidReceive(clientMetricReport)` callback instead."),this.hasGetRTCPeerConnectionStatsDeprecationMessageBeenSent=!0),this.rtcPeerConnection?this.rtcPeerConnection.getStats(e):null}setAudioProfile(e){this._audioProfile=e}addObserver(e){this.logger.info("adding meeting observer"),this.observerQueue.add(e)}removeObserver(e){this.logger.info("removing meeting observer"),this.observerQueue.delete(e)}forEachObserver(e){for(const t of this.observerQueue)C.default.nextTick(()=>{this.observerQueue.has(t)&&e(t)})}initSignalingClient(){this.connectionHealthData.reset(),this.meetingSessionContext.signalingClient||(this.meetingSessionContext=new we.default,this.meetingSessionContext.logger=this.logger,this.meetingSessionContext.eventController=this.eventController,this.meetingSessionContext.browserBehavior=new u.default,this.meetingSessionContext.videoSendCodecPreferences=this.videoSendCodecPreferences,this.meetingSessionContext.audioProfile=this._audioProfile,this.meetingSessionContext.meetingSessionConfiguration=this.configuration,this.meetingSessionContext.signalingClient=new A.default(this._webSocketAdapter,this.logger))}uninstallPreStartObserver(){this.meetingSessionContext.signalingClient.removeObserver(this.preStartObserver),this.preStartObserver=void 0}prestart(){return this.logger.info("Pre-connecting signaling connection."),this.createOrReuseSignalingTask().run().then(()=>{const e=()=>s(this,void 0,void 0,function*(){this.logger.info("Early connection closed; discarding signaling task."),this.signalingTask=void 0,this.uninstallPreStartObserver()});this.preStartObserver={handleSignalingClientEvent(t){t.type===O.default.WebSocketClosed&&e()}},this.meetingSessionContext.signalingClient.registerObserver(this.preStartObserver)}).catch(e=>{this.logger.error(`Signaling task pre-start failed: ${e}`),this.signalingTask=void 0})}start(e){this.startReturningPromise(e).then(()=>{this.logger.info("start completed")}
2138).catch(e=>{this.logger.error(`start failed: ${e}`)})}startReturningPromise(e){return!0===(null==e?void 0:e.signalingOnly)?this.prestart():(this.activeSpeakerDetector,new Promise((e,t)=>{this.sessionStateController.perform(T.default.Connect,()=>{this.actionConnect(!1).then(e).catch(t)})}))}connectWithPromises(e){const t=this.meetingSessionContext;this.monitorTask=new $.default(t,this.configuration.connectionHealthPolicyConfiguration,this.connectionHealthData);const i=this.monitorTask.once(),n=new K.default(t).once();this.receiveIndexTask=new Q.default(t),this.monitorTask.pauseResubscribeCheck(),this.receiveIndexTask.pauseIngestion();const r=new Z.default(this.logger,"Signaling",[this.createOrReuseSignalingTask(),new z.default(t),new X.default(t),new U.default(t),this.receiveIndexTask]).once(),o=new N.default(t).once(r),s=new D.default(t).once(o,n),a=new B.default(t).once(s),d=new Y.default(t).once(a),c=new V.default(t).once(d),l=new te.default(t).once(c);return this.receiveRemotePauseResumeTask=new G.default(t),this.receiveRemotePauseResumeTask.once(l),new Z.default(this.logger,this.wrapTaskName("AudioVideoStart"),[i,((e,t)=>new ie.default(this.logger,t,e))(this.configuration.connectionTimeoutMs,new Z.default(this.logger,"Peer",[l,this.receiveRemotePauseResumeTask,e?new ie.default(this.logger,new W.default(this.logger,"FinalizeConnection",[new ne.default(t),new ee.default(t)]),this.meetingSessionContext.meetingSessionConfiguration.attendeePresenceTimeoutMs):new ee.default(t)]))])}actionConnect(e){var t;return s(this,void 0,void 0,function*(){this.initSignalingClient(),this.uninstallPreStartObserver(),this.meetingSessionContext.mediaStreamBroker=this._mediaStreamBroker,this.meetingSessionContext.realtimeController=this._realtimeController,this.meetingSessionContext.audioMixController=this._audioMixController,this.meetingSessionContext.audioVideoController=this,this.enableSimulcast=this.configuration.enableSimulcastForUnifiedPlanChromiumBasedBrowsers&&(new u.default).hasChromiumWebRTC(),this.enableSimulcast&&this.configuration.enableSVC&&this.logger.warn("SVC cannot be enabled at the same time as simulcast. Disabling SVC, using simulcast."),this.enableSVC=!this.enableSimulcast&&this.configuration.enableSVC&&(new u.default).supportsScalableVideoCoding();const i=!!this.configuration.urls.audioHostURL;if(i?this.enableSimulcast?(this.logger.info("Using transceiver controller with simulcast support"),new y.default(this.configuration.credentials.attendeeId).hasModality(y.default.MODALITY_CONTENT)?this.meetingSessionContext.transceiverController=new oe.default(this.logger,this.meetingSessionContext.browserBehavior,this.meetingSessionContext):this.meetingSessionContext.transceiverController=new se.default(this.logger,this.meetingSessionContext.browserBehavior,this.meetingSessionContext)):(this.logger.info("Using default transceiver controller"),this.meetingSessionContext.transceiverController=new re.default(this.logger,this.meetingSessionContext.browserBehavior,this.meetingSessionContext)):(this.logger.info("Using video only transceiver controller"),this.meetingSessionContext.transceiverController=new ae.default(this.logger,this.meetingSessionContext.browserBehavior,this.meetingSessionContext)),this.meetingSessionContext.volumeIndicatorAdapter=new Se.default(this.logger,this._realtimeController,Ce.MIN_VOLUME_DECIBELS,Ce.MAX_VOLUME_DECIBELS,this.configuration.credentials.attendeeId),this.meetingSessionContext.videoTileController=this._videoTileController,this.meetingSessionContext.videoDownlinkBandwidthPolicy=this.configuration.videoDownlinkBandwidthPolicy,this.meetingSessionContext.videoUplinkBandwidthPolicy=this.configuration.videoUplinkBandwidthPolicy,this.meetingSessionContext.enableSimulcast=this.enableSimulcast,this.meetingSessionContext.enableSVC=this.enableSVC,this.enableSimulcast){let e=this.meetingSessionContext.videoUplinkBandwidthPolicy;e||(e=new be.default(this.configuration.credentials.attendeeId,this.meetingSessionContext.logger),this.meetingSessionContext.videoUplinkBandwidthPolicy=e),e.addObserver(this),this.meetingSessionContext.videoDownlinkBandwidthPolicy||(this.meetingSessionContext.videoDownlinkBandwidthPolicy=new ue.default(this.meetingSessionContext.logger)),this.meetingSessionContext.videoStreamIndex=new me.default(this.logger)}else this.meetingSessionContext.enableSimulcast=!1,this.meetingSessionContext.videoStreamIndex=new fe.default(this.logger),this.meetingSessionContext.videoUplinkBandwidthPolicy||(this.meetingSessionContext.videoUplinkBandwidthPolicy=new ye.default(this.configuration.credentials.attendeeId,!this.meetingSessionContext.browserBehavior.disableResolutionScaleDown(),this.meetingSessionContext.logger,this.meetingSessionContext.browserBehavior),this.meetingSessionContext.videoUplinkBandwidthPolicy.setSVCEnabled(this.enableSVC)),this.meetingSessionContext.videoDownlinkBandwidthPolicy||(this.meetingSessionContext.videoDownlinkBandwidthPolicy=new le.default(this.configuration.credentials.attendeeId)),this.meetingSessionContext.videoUplinkBandwidthPolicy.setTransceiverController&&this.meetingSessionContext.videoUplinkBandwidthPolicy.updateTransceiverController&&(this.useUpd
2138ateTransceiverControllerForUplink=!0,this.meetingSessionContext.videoUplinkBandwidthPolicy.setTransceiverController(this.meetingSessionContext.transceiverController)),this.meetingSessionContext.audioProfile=this._audioProfile;if(new y.default(this.configuration.credentials.attendeeId).hasModality(y.default.MODALITY_CONTENT)){const e=this.configuration.meetingFeatures.contentMaxResolution===f.default.VideoResolutionUHD;e&&this.setVideoMaxBandwidthKbps(2500),this.meetingSessionContext.videoUplinkBandwidthPolicy.setHighResolutionFeatureEnabled(e)}else{const e=this.configuration.meetingFeatures.videoMaxResolution===f.default.VideoResolutionFHD;this.meetingSessionContext.videoUplinkBandwidthPolicy.setHighResolutionFeatureEnabled(e)}this.meetingSessionContext.videoUplinkBandwidthPolicy&&this.maxUplinkBandwidthKbps&&this.meetingSessionContext.videoUplinkBandwidthPolicy.setIdealMaxBandwidthKbps(this.maxUplinkBandwidthKbps),this.meetingSessionContext.videoDownlinkBandwidthPolicy.bindToTileController&&this.meetingSessionContext.videoDownlinkBandwidthPolicy.bindToTileController(this._videoTileController),this.meetingSessionContext.videoDownlinkBandwidthPolicy.setWantsResubscribeObserver&&this.meetingSessionContext.videoDownlinkBandwidthPolicy.setWantsResubscribeObserver(()=>this.update({needsRenegotiation:!1})),this.meetingSessionContext.lastKnownVideoAvailability=new b.default,this.meetingSessionContext.videoCaptureAndEncodeParameter=new ce.default(0,0,0,0,!1),this.meetingSessionContext.videosToReceive=new pe.default,this.meetingSessionContext.videosPaused=new pe.default,this.meetingSessionContext.statsCollector=new R.default(this,this.logger),this.meetingSessionContext.connectionMonitor=new p.default(this,this._realtimeController,this.connectionHealthData,new S.default(this.meetingSessionContext.signalingClient,Ce.PING_PONG_INTERVAL_MS,this.logger),this.meetingSessionContext.statsCollector),this.meetingSessionContext.reconnectController=this._reconnectController,this.meetingSessionContext.videoDeviceInformation={},this._videoTileController.registerVideoTileResolutionObserver(this.meetingSessionContext.statsCollector),e||(this.meetingSessionContext.retryCount=0,this._reconnectController.reset(),this.startAudioVideoT
2138imestamp=Date.now(),this.forEachObserver(e=>{de.Maybe.of(e.audioVideoDidStartConnecting).map(t=>t.bind(e)(!1))}),null===(t=this.eventController)||void 0===t||t.publishEvent("meetingStartRequested")),this.meetingSessionContext.startAudioVideoTimestamp=this.startAudioVideoTimestamp,this._reconnectController.hasStartedConnectionAttempt()?this._reconnectController.startedConnectionAttempt(!1):this._reconnectController.startedConnectionAttempt(!0);const n=i&&this.meetingSessionContext.meetingSessionConfiguration.attendeePresenceTimeoutMs>0;this.logger.info("Needs to wait for attendee presence? "+n);const r=this.connectWithPromises(n);try{yield r.run(),this.connectionHealthData.setConnectionStartTime();const e=new y.default(this.configuration.credentials.attendeeId).hasModality(y.default.MODALITY_CONTENT);this.connectionHealthData.setIsContentShare(e),this._mediaStreamBroker.addMediaStreamBrokerObserver(this),this.sessionStateController.perform(T.default.FinishConnecting,()=>{var e;this.meetingSessionContext.meetingStartDurationMs=Date.now()-this.startAudioVideoT
2138imestamp,null===(e=this.eventController)||void 0===e||e.publishEvent("meetingStartSucceeded",m.audioVideoEventAttributesFromState(this.meetingSessionContext)),this.meetingSessionContext.startTimeMs=Date.now(),this.actionFinishConnecting()})}catch(e){this.signalingTask=void 0;const t=new g.default(this.getMeetingStatusCode(e)||v.default.TaskFailed);if(this.logger.info(`Start failed: ${t} due to error ${e}.`),this.sessionStateController.state()===I.default.NotConnected)return void this.logger.info("Start failed and not connected. Not cleaning up.");this.sessionStateController.perform(T.default.Fail,()=>s(this,void 0,void 0,function*(){yield this.actionDisconnect(t,!0,e),this.handleMeetingSessionStatus(t,e)||this.notifyStop(t,e)}))}})}createOrReuseSignalingTask(){return this.signalingTask||(this.initSignalingClient(),this.signalingTask=new ie.default(this.logger,new H.default(this.meetingSessionContext),this.configuration.connectionTimeoutMs).once()),this.signalingTask}actionFinishConnecting(){this.signalingTask=void 0,this.meetingSessionContext.videoDuplexMode=M.SdkStreamServiceType.RX,this.meetingSessionContext.enableSimulcast||(this.useUpdateTransceiverControllerForUplink?this.meetingSessionContext.videoUplinkBandwidthPolicy.updateTransceiverController():this.enforceBandwidthLimitationForSender(this.meetingSessionContext.videoCaptureAndEncodeParameter.encodeBitrates()[0])),this.meetingSessionContext.isSessionConnected=!0,this.forEachObserver(e=>{de.Maybe.of(e.audioVideoDidStart).map(t=>t.bind(e)())}),this._reconnectController.reset(),this.receiveIndexTask.resumeIngestion(),this.monitorTask.resumeResubscribeCheck()}stopReturningPromise(){var e;return this._reconnectController.disableReconnect(),this.sessionStateController.state()===I.default.NotConnected?(null===(e=this.meetingSessionContext.signalingClient)||void 0===e||e.closeConnection(),this.cleanUpMediaStreamsAfterStop(),Promise.resolve()):new Promise((e,t)=>{this.sessionStateController.perform(T.default.Disconnect,()=>{this.logger.info("attendee left meeting, session will not be reconnected"),this.actionDisconnect(new g.default(v.default.Left),!1,null).then(e).catch(t)})})}stop(){this.stopReturningPromise()}actionDisconnect(e,t,i){return s(this,void 0,void 0,function*(){try{yield new Z.default(this.logger,this.wrapTaskName("AudioVideoStop"),[new ie.default(this.logger,new j.default(this.meetingSessionContext),this.configuration.connectionTimeoutMs)]).run()}catch(e){this.logger.info("fail to stop")}try{const e=[new ie.default(this.logger,new L.default(this.meetingSessionContext),this.configuration.connectionTimeoutMs)];this.cleanUpMediaStreamsAfterStop(),yield new Z.default(this.logger,this.wrapTaskName("AudioVideoClean"),e).run()}catch(e){this.logger.info("fail to clean")}this.sessionStateController.perform(T.default.FinishDisconnecting,()=>{t||this.notifyStop(e,i)}),this._videoTileController.removeVideoTileResolutionObserver(this.meetingSessionContext.statsCollector)})}update(e={needsRenegotiation:!0}){let t=e.needsRenegotiation;if(t||(t=void 0===this.meetingSessionContext.peer),t||(t=!this.updateRemoteVideosFromPolicy()),t||(t=!this.updateLocalVideoFromPolicy()),this.meetingSessionContext.lastVideosToReceive=this.meetingSessionContext.videosToReceive,!t)return this.logger.info("Update request does not require resubscribe"),this.actionFinishUpdating(),!0;this.logger.info("Update request requires resubscribe"),this.updateNumberOfPublishedVideoSources();const i=this.sessionStateController.perform(T.default.Update,()=>{this.actionUpdateWithRenegotiation(!0)});return i===x.default.Transitioned||i===x.default.DeferredTransition}updateNumberOfPublishedVideoSources(){const e=this.configuration.credentials.attendeeId,t=this._videoTileController.hasStartedLocalVideoTile();if(null!==this.meetingSessionContext.videoStreamIndex){const i=this.meetingSessionContext.videoStreamIndex.numberOfVideoPublishingParticipantsExcludingSelf(e)+(t?1:0);this.connectionHealthData.setNumberOfPublishedVideoSources(i)}}updateRemoteVideosFromPolicy(){if(this.meetingSessionContext.videoDownlinkBandwidthPolicy&&void 0!==this.meetingSessionContext.videoDownlinkBandwidthPolicy.getVideoPreferences&&void 0!==this.meetingSessionContext.videoDownlinkBandwidthPolicy.getServerSideNetworkAdaption&&!P.serverSideNetworkAdaptionIsNoneOrDefault(this.meetingSessionContext.videoDownlinkBandwidthPolicy.getServerSideNetworkAdaption())){if(!this.sendRemoteVideoUpdate())return!1;if(this.meetingSessionContext.videoDownlinkBandwidthPolicy.getServerSideNetworkAdaption()===P.default.BandwidthProbingAndRemoteVideoQualityAdaption)return this.isNotAddingOrRemovingStreams()}return this.updateRemoteVideosIfNotAddingOrRemovingStreams()}updateRemoteVideosIfNotAddingOrRemovingStreams(){const e=this.detectChangesInVideosToReceive();if(void 0===e)return!1;const t=e.added,i=e.simulcastStreamUpdates,n=e.removed,r=this.meetingSessionContext,o=[];for(const[e,t]of i.entries()){const i=new _.default;if(i.streamId=t,i.attendeeId=r.videoStreamIndex.attendeeIdForStreamId(t),i.mid=r.transceiverController.getMidForStreamId(e),void 0===i.mid)return this.logger.info(`No MID found for stream ID ${e}, cannot update stream without renegotiation`),!1;if(o.push(i),r.transceiverController.setStreamIdForMid(i.mid,t),r.videoStreamIndex.overrideStreamIdMappings(e,t),r.videoTileController.haveVideoTileForAttendeeId(i.attendeeId)){const e=r.videoTileController.getVideoTileForAttendeeId(i.attendeeId);if(!e.setStreamId)return!1;e.setStreamId(t)}}return 0!==o.length&&r.signalingClient.remoteVideoUpdate(o,[]),0===t.length&&0===n.length&&(r.videoStreamIndex.remoteVideoUpdateSent(),!0)}detectChangesInVideosToReceive(){const e=this.meetingSessionContext;if(null===e.videosToReceive)return;if(!(e.transceiverController&&e.transceiverController.getMidForStreamId&&e.transceiverController.setStreamIdForMid&&e.videosToReceive.forEach&&e.signalingClient.remoteVideoUpdate&&e.videoStreamIndex.overrideStreamIdMappings)
2138)return;let t=[];const i=new Map;let n=[];if(null===e.lastVideosToReceive)t=e.videosToReceive.array();else{const r=e.videoStreamIndex;e.videosToReceive.forEach(n=>{if(e.lastVideosToReceive.contain(n))return;let o=!1;e.lastVideosToReceive.forEach(e=>{o||r.StreamIdsInSameGroup(e,n)&&(i.set(e,n),o=!0)}),o||t.push(n)}),n=e.lastVideosToReceive.array().filter(t=>{const n=e.videosToReceive.contain(t),r=i.has(t);return!n&&!r})}return this.logger.info(`Request to update remote videos with added: [${t}], updated: [${Array.from(i.entries()).map(([e,t])=>`${e}->${t}`).join(",")}], removed: [${n}]`),{added:t,removed:n,simulcastStreamUpdates:i}}isNotAddingOrRemovingStreams(){const e=this.detectChangesInVideosToReceive();if(void 0===e)return!1;const t=e.added,i=e.removed;return 0===t.length&&0===i.length&&(this.meetingSessionContext.videoStreamIndex.remoteVideoUpdateSent(),!0)}sendRemoteVideoUpdate(){const e=this.meetingSessionContext;if(null===e.videosToReceive)return!1;const t=e.videosToReceive.array().map(t=>e.videoStreamIndex.groupIdForStreamId(t));this.receiveRemotePauseResumeTask.updateSubscribedGroupdIds(new Set(t));const i=he.convertVideoPreferencesToSignalingClientVideoSubscriptionConfiguration(e,t,e.videoDownlinkBandwidthPolicy.getVideoPreferences()),n=new Map,r=[];for(const t of i){let i=!1;if(e.lastVideoSubscriptionConfiguration.has(t.groupId)){const n=e.lastVideoSubscriptionConfiguration.get(t.groupId);t.equals(n)||(this.logger.debug(`${JSON.stringify(t)} does not equal ${JSON.stringify(n)}, sending update`),i=!0)}else i=!0;n.set(t.groupId,t),i&&r.push(t)}e.lastVideoSubscriptionConfiguration=n;const o=[];if(null!==e.lastVideosToReceive){const i=new Set(t);for(const t of e.lastVideosToReceive.array()){const n=e.videoStreamIndex.groupIdForStreamId(t);if(!i.has(n)){const t=e.transceiverController.getMidForGroupId(n);if(void 0===t){e.logger.warn(`Could not find MID for group ID to remove: ${n}`);continue}o.push(t)}}}return 0===r.length&&0===o.length||e.signalingClient.remoteVideoUpdate(r,o),!0}updateLocalVideoFromPolicy(){if(this.meetingSessionContext.enableSimulcast){const e=this.meetingSessionContext.videoUplinkBandwidthPolicy.chooseEncodingParameters();if(this.mayNeedRenegotiationForSimulcastLayerChange&&this.meetingSessionContext.transceiverController.hasVideoInput()&&!this.negotiatedBitrateLayersAllocationRtpHeaderExtension())return this.logger.info("Needs regenotiation for local video simulcast layer change"),this.mayNeedRenegotiationForSimulcastLayerChange=!1,!1;this.meetingSessionContext.transceiverController.setEncodingParameters(e)}else this.meetingSessionContext.videoCaptureAndEncodeParameter=this.meetingSessionContext.videoUplinkBandwidthPolicy.chooseCaptureAndEncodeParameters();return this.logger.info("Updated local video from policy without renegotiation"),!0}negotiatedBitrateLayersAllocationRtpHeaderExtension(){if(!this.meetingSessionContext.transceiverController.localVideoTransceiver())return!1;const e=this.meetingSessionContext.transceiverController.localVideoTransceiver().sender.getParameters();return!(!e||!e.headerExtensions)&&e.headerExtensions.some(e=>"http://www.webrtc.org/experiments/rtp-hdrext/video-layers-allocation00"===e.uri)}restartLocalVideo(e){const t=()=>s(this,void 0,void 0,function*(){this._videoTileController.hasStartedLocalVideoTile()&&(this.logger.info("stopping local video tile prior to local video restart"),this._videoTileController.stopLocalVideoTile(),this.logger.info("preparing local video restart update"),yield this.actionUpdateWithRenegotiation(!1),this.logger.info("starting local video tile for local video restart"),this._videoTileController.startLocalVideoTile()),this.logger.info("finalizing local video restart update"),yield this.actionUpdateWithRenegotiation(!0),e()}),i=this.sessionStateController.perform(T.default.Update,()=>{t()});return i===x.default.Transitioned||i===x.default.DeferredTransition}replaceLocalVideo(e){return s(this,void 0,void 0,function*(){if(!e||e.getVideoTracks().length<1)throw new Error("could not acquire video track");if(!this.meetingSessionContext||!this.meetingSessionContext.peer)throw new Error("no active meeting and peer connection");const t=this.meetingSessionContext.videoTileController.getLocalVideoTile();if(t){const i=t.state(),n=e.getVideoTracks()[0].getSettings();t.bindVideoStream(i.boundAttendeeId,!0,e,n.width,n.height,i.streamId,i.boundExternalUserId)}yield this.meetingSessionContext.transceiverController.setVideoInput(e.getVideoTracks()[0]),this.meetingSessionContext.activeVideoInput=e,this.logger.info("Local video input is updated")})}replaceLocalAudio(e){return s(this,void 0,void 0,function*(){if(!e||e.getAudioTracks().length<1)throw new Error("could not acquire audio track");if(!this.meetingSessionContext||!this.meetingSessionContext.peer)throw new Error("no active meeting and peer connection");if(this.connectionHealthData.reset(),this.connectionHealthData.setConnectionStartTime(),!(yield this.meetingSessionContext.transceiverController.replaceAudioTrack(e.getAudioTracks()[0])))throw new Error("Failed to replace audio track");this.meetingSessionContext.activeAudioInput=e,this.logger.info("Local audio input is updated")})}actionUpdateWithRenegotiation(e){return s(this,void 0,void 0,function*(){this.monitorTask.pauseResubscribeCheck(),this.receiveIndexTask.pauseIngestion();try{yield new Z.default(this.logger,this.wrapTaskName("AudioVideoUpdate"),[new J.default(this.meetingSessionContext),new ie.default(this.logger,new Z.default(this.logger,"UpdateSession",[new D.default(this.meetingSessionContext),new B.default(this.meetingSessionContext),new Y.default(this.meetingSessionContext),new V.default(this.meetingSessionContext),new te.default(this.meetingSessionContext),new ee.default(this.meetingSessionContext)]),this.configuration.connectionTimeoutMs)]).run(),e&&this.sessionStateController.perform(T.default.FinishUpdating,()=>{this.actionFinishUpdating()})}catch(e){this.sessionStateController.perform(T.default.FinishUpdating,()=>{const t=new g.default(this.getMeetingStatusCode(e)||v.default.TaskFailed);t.statusCode()!==v.default.IncompatibleSDP&&this.logger.info("failed to update audio-video session"),this.handleMeetingSessionStatus(t,e)})}})}notifyStop(e,t){var i;if(this.forEachObserver(t=>{de.Maybe.of(t.audioVideoDidStop).map(i=>i.bind(t)(e))}),this.eventController){const n=Object.assign(Object.assign({},m.audioVideoEventAttributesFromState(this.meetingSessionContext)),{meetingStatus:v.default[e.statusCode()]}),r=t&&t.message||(null===(i=e.toString)||void 0===i?void 0:i.call(e))||"";null===this.meetingSessionContext.startTimeMs?(n.meetingErrorMessage=r,delete n.meetingDurationMs,delete n.attendeePresenceDurationMs,delete n.meetingStartDurationMs,this.eventController.publishEvent("meetingStartFailed",n)):e.isFailure()||e.isAudioConnectionFailure()?(n.meetingErrorMessage=r,this.eventController.publishEvent("meetingFailed",n)):this.eventController.publishEvent("meetingEnded",n)}}actionFinishUpdating(){if(!this.meetingSessionContext.enableSimulcast)if(this.useUpd
2138ateTransceiverControllerForUplink)this.meetingSessionContext.videoUplinkBandwidthPolicy.updateTransceiverController();else{const e=this.meetingSessionContext.videoCaptureAndEncodeParameter.encodeBitrates()[0];this.enforceBandwidthLimitationForSender(e)}this.monitorTask.resumeResubscribeCheck(),this.receiveIndexTask.resumeIngestion(),this.logger.info("updated audio-video session")}reconnect(e,t){this.promotedToPrimaryMeeting&&(this.promotedToPrimaryMeeting=!1,this.forEachObserver(e=>{de.Maybe.of(e.audioVideoWasDemotedFromPrimaryMeeting).map(t=>t.bind(e)(new g.default(v.default.AudioVideoDisconnectedWhilePromoted)))}));const i=this._reconnectController.retryWithBackoff(()=>s(this,void 0,void 0,function*(){this.sessionStateController.state()===I.default.NotConnected?this.sessionStateController.perform(T.default.Connect,()=>{this.actionConnect(!0)}):this.sessionStateController.perform(T.default.Reconnect,()=>{this.actionReconnect(e)}),this.meetingSessionContext.retryCount+=1}),()=>{this.logger.info("canceled retry")});return i||this.sessionStateController.perform(T.default.Fail,()=>{this.actionDisconnect(e,!1,t)}),i}actionReconnect(e){return s(this,void 0,void 0,function*(){this._reconnectController.hasStartedConnectionAttempt()||(this._reconnectController.startedConnectionAttempt(!1),this.forEachObserver(e=>{de.Maybe.of(e.audioVideoDidStartConnecting).map(t=>t.bind(e)(!0))})),this.meetingSessionContext.volumeIndicatorAdapter.onReconnect(),this.connectionHealthData.reset(),this.receiveRemotePauseResumeTask=new G.default(this.meetingSessionContext);try{yield new Z.default(this.logger,this.wrapTaskName("AudioVideoReconnect"),[new ie.default(this.logger,new Z.default(this.logger,"Media",[new F.default(this.meetingSessionContext),new Z.default(this.logger,"Signaling",[new H.default(this.meetingSessionContext),new U.default(this.meetingSessionContext)]),new N.default(this.meetingSessionContext)]),this.configuration.connectionTimeoutMs),new J.default(this.meetingSessionContext),new ie.default(this.logger,new Z.default(this.logger,"UpdateSession",[new D.default(this.meetingSessionContext),new B.default(this.meetingSessionContext),new Y.default(this.meetingSessionContext),new V.default(this.meetingSessionContext),new te.default(this.meetingSessionContext),new ee.default(this.meetingSessionContext),this.receiveRemotePauseResumeTask]),this.configuration.connectionTimeoutMs)]).run(),this.sessionStateController.perform(T.default.FinishConnecting,()=>{var t;null===(t=this.eventController)||void 0===t||t.publishEvent("meetingReconnected",Object.assign(Object.assign({},m.audioVideoEventAttributesFromState(this.meetingSessionContext)),{meetingStatus:v.default[e.statusCode()]})),this.actionFinishConnecting()})}catch(e){this.sessionStateController.perform(T.default.FinishConnecting,()=>{this.logger.info("failed to reconnect audio-video session");const t=new g.default(this.getMeetingStatusCode(e)||v.default.TaskFailed);this.handleMeetingSessionStatus(t,e)})}this.connectionHealthData.setConnectionStartTime()})}wrapTaskName(e){return`${e}/${this.configuration.meetingId}/${this.configuration.credentials.attendeeId}`}cleanUpMediaStreamsAfterStop(){this._mediaStreamBroker.removeMediaStreamBrokerObserver(this),this.meetingSessionContext.activeAudioInput=void 0,this.meetingSessionContext.activeVideoInput=void 0}getMeetingStatusCode(e){const t=/the meeting status code: (\d+)/.exec(e&&e.message);return t&&t.length>1?Number.parseInt(t[1],10):null}enforceBandwidthLimitationForSender(e){return s(this,void 0,void 0,function*(){yield this.meetingSessionContext.transceiverController.setVideoSendingBitrateKbps(e)})}handleMeetingSessionStatus(e,t){if(this.logger.info(`handling status: ${v.default[e.statusCode()]}`),e.isTerminal()||this.meetingSessionContext.statsCollector&&this.meetingSessionContext.statsCollector.logMeetingSessionStatus(e),e.statusCode()===v.default.IncompatibleSDP)return this.restartLocalVideo(()=>{this.logger.info("handled incompatible SDP by attempting to restart video")}),!0;if(e.statusCode()===v.default.VideoCallSwitchToViewOnly)return this._videoTileController.removeLocalVideoTile(),this.forEachObserver(e=>{de.Maybe.of(e.videoSendDidBecomeUnavailable).map(t=>t.bind(e)())}),!1;if(e.statusCode()===v.default.AudioVideoWasRemovedFromPrimaryMeeting)return this.forEachObserver(t=>{de.Maybe.of(t.audioVideoWasDemotedFromPrimaryMeeting).map(i=>i.bind(t)(e))}),!1;if(e.isTerminal()&&(this.logger.error("session will not be reconnected"),this.meetingSessionContext.reconnectController&&this.meetingSessionContext.reconnectController.disableReconnect()),(e.isFailure()||e.isTerminal())&&this.meetingSessionContext.reconnectController){const i=this.reconnect(e,t);return i?this.logger.warn(`The audio video controller will reconnect due to status code ${v.default[e.statusCode()]}${t?` and error: ${t.message}`:""}`):this.logger.error(`The audio video controller failed with status code ${v.default[e.statusCode()]}${t?` and error: ${t.message}`:""}`),i}return!1}setVideoMaxBandwidthKbps(e){if(e<=0)throw new Error("Max bandwidth kbps has to be greater than 0");this.meetingSessionContext&&this.meetingSessionContext.videoUplinkBandwidthPolicy&&(this.logger.info(`video send has
2138ideal max bandwidth ${e} kbps`),this.meetingSessionContext.videoUplinkBandwidthPolicy.setIdealMaxBandwidthKbps(e)),this.maxUplinkBandwidthKbps=e}handleHasBandwidthPriority(e){return s(this,void 0,void 0,function*(){if(this.meetingSessionContext&&this.meetingSessionContext.videoUplinkBandwidthPolicy&&!this.meetingSessionContext.enableSimulcast){if(this.useUpdateTransceiverControllerForUplink)return this.meetingSessionContext.videoUplinkBandwidthPolicy.setHasBandwidthPriority(e),void(yield this.meetingSessionContext.videoUplinkBandwidthPolicy.updateTransceiverController());const t=this.meetingSessionContext.videoUplinkBandwidthPolicy.maxBandwidthKbps();this.meetingSessionContext.videoUplinkBandwidthPolicy.setHasBandwidthPriority(e);const i=this.meetingSessionContext.videoUplinkBandwidthPolicy.maxBandwidthKbps();t!==i&&(this.logger.info(`video send bandwidth priority ${e} max has changed from ${t} kbps to ${i} kbps`),yield this.enforceBandwidthLimitationForSender(i))}})}pauseReceivingStream(e){this.meetingSessionContext&&this.meetingSessionContext.signalingClient&&this.meetingSessionContext.signalingClient.pause([e])}resumeReceivingStream(e){this.meetingSessionContext&&this.meetingSessionContext.signalingClient&&this.meetingSessionContext.signalingClient.resume([e])}setVideoCodecSendPreferences(e){this.videoSendCodecPreferences=e,this.meetingSessionContext.videoSendCodecPreferences=e,this.sessionStateController.state()!==I.default.NotConnected&&this.update({needsRenegotiation:!0})}getRemoteVideoSources(){const{videoStreamIndex:e}=this.meetingSessionContext;if(!e)return this.logger.info("meeting has not started"),[];const t=this.configuration.credentials.attendeeId;return e.allVideoSendingSourcesExcludingSelf(t)}encodingSimulcastLayersDidChange(e){this.mayNeedRenegotiationForSimulcastLayerChange=!0,this.forEachObserver(t=>{de.Maybe.of(t.encodingSimulcastLayersDidChange).map(i=>i.bind(t)(e))})}promoteToPrimaryMeeting(e){return this.actionPromoteToPrimaryMeeting(e)}actionPromoteToPrimaryMeeting(e){return s(this,void 0,void 0,function*(){let t=new g.default(v.default.SignalingRequestFailed);return yield new Z.default(this.logger,this.wrapTaskName("PromoteToPrimaryMeeting"),[new ie.default(this.logger,new q.default(this.meetingSessionContext,e,e=>{t=e}),this.configuration.connectionTimeoutMs)]).run(),this.promotedToPrimaryMeeting=t.statusCode()===v.default.OK,t})}demoteFromPrimaryMeeting(){this.meetingSessionContext.signalingClient.demoteFromPrimaryMeeting(),this.forEachObserver(e=>{de.Maybe.of(e.audioVideoWasDemotedFromPrimaryMeeting).map(t=>t.bind(e)(new g.default(v.default.OK)))})}videoInputDidChange(e){return s(this,void 0,void 0,function*(){this.logger.info("Receive a video input change event"),this.meetingSessionContext&&this.meetingSessionContext.peer?this._videoTileController.hasStartedLocalVideoTile()&&(e?yield this.replaceLocalVideo(e):this._videoTileController.stopLocalVideoTile()):this.logger.info("Skip updating video input because there is no active meeting and peer connection")})}audioInputDidChange(e){return s(this,void 0,void 0,function*(){if(this.logger.info("Receive an audio input change event"),this.meetingSessionContext&&this.meetingSessionContext.peer){if(!e)try{e=yield this.mediaStreamBroker.acquireAudioInputStream()}catch(e){return void this.logger.error("Could not acquire audio track from mediaStreamBroker")}yield this.replaceLocalAudio(e)}else this.logger.info("Skip updating audio input because there is no active meeting and peer connection")})}}t.default=Ce,Ce.MIN_VOLUME_DECIBELS=-42,Ce.MAX_VOLUME_DECIBELS=-14,Ce.PING_PONG_INTERVAL_MS=1e4},37043(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(50638)),o=n(i(57088)),s=n(i(1514)),a=n(i(62499)),d=n(i(5481)),c=n(i(24981)),l=n(i(60169)),u=n(i(77376)),h=n(i(8133)),p=n(i(12330)),f=n(i(9944)),m=n(i(88544));class g extends m.default{constructor(e){const t=new d.default;t.meetingId="",t.externalMeetingId="",t.credentials=new c.default,t.credentials.attendeeId="",t.credentials.joinToken="",t.urls=new h.default,t.urls.turnControlURL="",t.urls.audioHostURL="",t.urls.signalingURL="wss://localhost/";const i=new s.default;super(e||t,i,new f.default(new s.default),new a.default,new p.default(0,new r.default(0,0,0)),new o.default(e||t,i))}setAudioProfile(e){}start(){}stop(){}promoteToPrimaryMeeting(e){return Promise.resolve(new l.default(u.default.OK))}demoteFromPrimaryMeeting(){}}t.default=g},11248(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Prom
2138ise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0});const r=i(21260);t.default=class{constructor(e,t,i,n,r,o){this.audioVideoController=e,this.videoTileController=t,this.realtimeController=i,this.audioMixController=n,this.deviceController=r,this.contentShareController=o}addObserver(e){this.audioVideoController.addObserver(e),this.trace("addObserver")}removeObserver(e){this.audioVideoController.removeObserver(e),this.trace("removeObserver")}setAudioProfile(e){this.trace("setAudioProfile",e),this.audioVideoController.setAudioProfile(e)}start(e){this.audioVideoController.start(e),this.trace("start")}stop(){this.audioVideoController.stop(),this.trace("stop")}getRTCPeerConnectionStats(e){return this.trace("getRTCPeerConnectionStats",e?e.id:null),this.audioVideoController.getRTCPeerConnectionStats(e)}bindAudioElement(e){const t=this.audioMixController.bindAudioElement(e);return this.trace("bindAudioElement",e.id,t),t}unbindAudioElement(){this.audioMixController.unbindAudioElement(),this.trace("unbindAudioElement")}getCurrentMeetingAudioStream(){return this.trace("getCurrentConferenceStream"),this.audioMixController.getCurrentMeetingAudioStream()}addAudioMixObserver(e){this.trace("addAudioMixObserver"),this.audioMixController.addAudioMixObserver(e)}removeAudioMixObserver(e){this.trace("removeAudioMixObserver"),this.audioMixController.removeAudioMixObserver(e)}bindVideoElement(e,t){this.videoTileController.bindVideoElement(e,t),this.trace("bindVideoElement",{tileId:e,videoElementId:t.id})}unbindVideoElement(e,t=!0){this.videoTileController.unbindVideoElement(e,t),this.trace("unbindVideoElement",{tileId:e,cleanUpVideoElement:t})}startLocalVideoTile(){const e=this.videoTileController.startLocalVideoTile();return this.trace("startLocalVideoTile",null,e),e}stopLocalVideoTile(){this.videoTileController.stopLocalVideoTile(),this.trace("stopLocalVideoTile")}hasStartedLocalVideoTile(){const e=this.videoTileController.hasStartedLocalVideoTile();return this.trace("hasStartedLocalVideoTile",null,e),e}removeLocalVideoTile(){this.videoTileController.removeLocalVideoTile(),this.trace("removeLocalVideoTile")}getLocalVideoTile(){const e=this.videoTileController.getLocalVideoTile();return this.trace("getLocalVideoTile"),e}pauseVideoTile(e){this.videoTileController.pauseVideoTile(e),this.trace("pauseVideoTile",e)}unpauseVideoTile(e){this.videoTileController.unpauseVideoTile(e),this.trace("unpauseVideoTile",e)}getVideoTile(e){const t=this.videoTileController.getVideoTile(e);return this.trace("getVideoTile",e),t}getAllRemoteVideoTiles(){const e=this.videoTileController.getAllRemoteVideoTiles();return this.trace("getAllRemoteVideoTiles"),e}getAllVideoTiles(){const e=this.videoTileController.getAllVideoTiles();return this.trace("getAllVideoTiles"),e}addVideoTile(){const e=this.videoTileController.addVideoTile();return this.trace("addVideoTile",null,e.state()),e}removeVideoTile(e){this.videoTileController.removeVideoTile(e),this.trace("removeVideoTile",e)}removeVideoTilesByAttendeeId(e){const t=this.videoTileController.removeVideoTilesByAttendeeId(e);return this.trace("removeVideoTilesByAttendeeId",e,t),t}removeAllVideoTiles(){this.videoTileController.removeAllVideoTiles(),this.trace("removeAllVideoTiles")}captureVideoTile(e){const t=this.videoTileController.captureVideoTile(e);return this.trace("captureVideoTile",e),t}realtimeSubscribeToAttendeeIdPresence(e){this.realtimeController.realtimeSubscribeToAttendeeIdPresence(e),this.trace("realtimeSubscribeToAttendeeIdPresence")}realtimeUnsubscribeToAttendeeIdPresence(e){this.realtimeController.realtimeUnsubscribeToAttendeeIdPresence(e),this.trace("realtimeUnsubscribeToAttendeeIdPresence")}realtimeSetCanUnmuteLocalAudio(e){this.realtimeController.realtimeSetCanUnmuteLocalAudio(e),this.trace("realtimeSetCanUnmuteLocalAudio",e)}realtimeSubscribeToSetCanUnmuteLocalAudio(e){this.realtimeController.realtimeSubscribeToSetCanUnmuteLocalAudio(e),this.trace("realtimeSubscribeToSetCanUnmuteLocalAudio")}
2138realtimeUnsubscribeToSetCanUnmuteLocalAudio(e){this.realtimeController.realtimeUnsubscribeToSetCanUnmuteLocalAudio(e),this.trace("realtimeUnsubscribeToSetCanUnmuteLocalAudio")}realtimeCanUnmuteLocalAudio(){const e=this.realtimeController.realtimeCanUnmuteLocalAudio();return this.trace("realtimeCanUnmuteLocalAudio",null,e),e}realtimeMuteLocalAudio(){this.realtimeController.realtimeMuteLocalAudio(),this.trace("realtimeMuteLocalAudio")}realtimeUnmuteLocalAudio(){const e=this.realtimeController.realtimeUnmuteLocalAudio();return this.trace("realtimeUnmuteLocalAudio"),e}realtimeSubscribeToMuteAndUnmuteLocalAudio(e){this.realtimeController.realtimeSubscribeToMuteAndUnmuteLocalAudio(e),this.trace("realtimeSubscribeToMuteAndUnmuteLocalAudio")}realtimeUnsubscribeToMuteAndUnmuteLocalAudio(e){this.realtimeController.realtimeUnsubscribeToMuteAndUnmuteLocalAudio(e),this.trace("realtimeUnsubscribeToMuteAndUnmuteLocalAudio")}realtimeIsLocalAudioMuted(){const e=this.realtimeController.realtimeIsLocalAudioMuted();return this.trace("realtimeIsLocalAudioMuted"),e}realtimeSubscribeToVolumeIndicator(e,t){this.realtimeController.realtimeSubscribeToVolumeIndicator(e,t),this.trace("realtimeSubscribeToVolumeIndicator",e)}realtimeUnsubscribeFromVolumeIndicator(e,t){this.realtimeController.realtimeUnsubscribeFromVolumeIndicator(e,t),this.trace("realtimeUnsubscribeFromVolumeIndicator",e,t)}realtimeSubscribeToLocalSignalStrengthChange(e){this.realtimeController.realtimeSubscribeToLocalSignalStrengthChange(e),this.trace("realtimeSubscribeToLocalSignalStrengthChange")}realtimeUnsubscribeToLocalSignalStrengthChange(e){this.realtimeController.realtimeUnsubscribeToLocalSignalStrengthChange(e),this.trace("realtimeUnsubscribeToLocalSignalStrengthChange")}realtimeSendDataMessage(e,t,i){this.realtimeController.realtimeSendDataMessage(e,t,i),this.trace("realtimeSendDataMessage")}realtimeSubscribeToReceiveDataMessage(e,t){this.realtimeController.realtimeSubscribeToReceiveDataMessage(e,t),this.trace("realtimeSubscribeToReceiveDataMessage")}realtimeUnsubscribeFromReceiveDataMessage(e){this.realtimeController.realtimeUnsubscribeFromReceiveDataMessage(e),this.trace("realtimeUnsubscribeFromReceiveDataMessage")}realtimeSubscribeToFatalError(e){this.realtimeController.realtimeSubscribeToFatalError(e),this.trace("realtimeSubscribeToFatalError")}realtimeUnsubscribeToFatalError(e){this.realtimeController.realtimeUnsubscribeToFatalError(e),this.trace("realtimeUnsubscribeToFatalError")}subscribeToActiveSpeakerDetector(e,t,i,n){this.audioVideoController.activeSpeakerDetector.subscribe(e,t,i,n),this.trace("subscribeToActiveSpeakerDetector")}unsubscribeFromActiveSpeakerDetector(e){this.audioVideoController.activeSpeakerDetector.unsubscribe(e),this.trace("unsubscribeFromActiveSpeakerDetector")}listAudioInputDevices(e=!1){return n(this,void 0,void 0,function*(){const t=yield this.deviceController.listAudioInputDevices(e);return this.trace("listAudioInputDevices",e,t),t})}listVideoInputDevices(e=!1){return n(this,void 0,void 0,function*(){const t=yield this.deviceController.listVideoInputDevices(e);return this.trace("listVideoInputDevices",e,t),t})}listAudioOutputDevices(e=!1){return n(this,void 0,void 0,function*(){const t=yield this.deviceController.listAudioOutputDevices(e);return this.trace("listAudioOutputDevices",e,t),t})}startAudioInput(e){return n(this,void 0,void 0,function*(){return this.trace("startAudioInput",e),this.deviceController.startAudioInput(e)})}stopAudioInput(){return n(this,void 0,void 0,function*(){return this.trace("stopAudioInput"),this.deviceController.stopAudioInput()})}startVideoInput(e){return n(this,void 0,void 0,function*(){return r.isVideoTransformDevice(e)?this.trace("startVideoInput with transform device"):this.trace("startVideoInput",e),this.deviceController.startVideoInput(e)})}stopVideoInput(){return n(this,void 0,void 0,function*(){return this.trace("stopVideoInput"),this.deviceController.stopVideoInput()})}chooseAudioOutput(e){const t=this.deviceController.chooseAudioOutput(e);return this.trace("chooseAudioOutput",e),t}addDeviceChangeObserver(e){this.deviceController.addDeviceChangeObserver(e),this.trace("addDeviceChangeObserver")}removeDeviceChangeObserver(e){this.deviceController.removeDeviceChangeObserver(e),this.trace("removeDeviceChangeObserver")}createAnalyserNodeForAudioInput(){const e=this.deviceController.createAnalyserNodeForAudioInput();return this.trace("createAnalyserNodeForAudioInput"),e}startVideoPreviewForVideoInput(e){this.deviceController.startVideoPreviewForVideoInput(e),this.trace("startVideoPreviewForVideoInput",e.id)}stopVideoPreviewForVideoInput(e){this.deviceController.stopVideoPreviewForVideoInput(e),this.trace("stopVideoPreviewForVideoInput",e.id)}setDeviceLabelTrigger(e){this.deviceController.setDeviceLabelTrigger(e),this.trace("setDeviceLabelTrigger")}mixIntoAudioInput(e){const t=this.deviceController.mixIntoAudioInput(e);return this.trace("mixIntoAudioInput",e.id),t}chooseVideoInputQuality(e,t,i){this.deviceController.chooseVideoInputQuality(e,t,i),this.trace("chooseVideoInputQuality",{width:e,height:t,frameRate:i})}setVideoMaxBandwidthKbps(e){this.audioVideoController.setVideoMaxBandwidthKbps(e),this.trace("setVideoMaxBandwidthKbps",e)}setVideoCodecSendPreferences(e){this.audioVideoController.setVideoCodecSendPreferences(e),this.trace("setVideoCodecSendPreferences",e)}getVideoInputQualitySettings(){const e=this.deviceController.getVideoInputQualitySettings();return this.trace("getVideoInputQualitySettings"),e}setContentAudioProfile(e){this.trace("setContentAudioProfile",e),this.contentShareController.setContentAudioProfile(e)}enableSimulcastForContentShare(e,t){this.trace("enableSimulcastForContentShare"),this.contentShareController.enableSimulcastForContentShare(e,t)}enableSVCForContentShare(e){this.trace("enableSVCForContentShare"),this.contentShareController.enableSVCForContentShare(e)}startContentShare(e){const t=this.contentShareController.startContentShare(e);return this.trace("startContentShare"),t}startContentShareFromScreenCapture(e,t){const i=this.contentShareController.startContentShareFromScreenCapture(e,t);return this.trace("startContentShareFromScreenCapture"),i}pauseContentShare(){this.contentShareController.pauseContentShare(),this.trace("pauseContentShare")}unpauseContentShare(){this.contentShareController.unpauseContentShare(),this.trace("unpauseContentShare")}stopContentShare(){this.contentShareController.stopContentShare(),this.trace("stopContentShare")}addContentShareObserver(e){this.contentShareController.addContentShareObserver(e),this.trace("addContentShareObserver")}
2138removeContentShareObserver(e){this.contentShareController.removeContentShareObserver(e),this.trace("removeContentShareObserver")}setContentShareVideoCodecPreferences(e){this.contentShareController.setContentShareVideoCodecPreferences(e),this.trace("setContentShareVideoCodecPreferences")}trace(e,t,i){let n=`API/DefaultAudioVideoFacade/${this.audioVideoController.configuration.meetingId}/${this.audioVideoController.configuration.credentials.attendeeId}/${e}`;void 0!==t&&(n+=` ${JSON.stringify(t)}`),void 0!==i&&(n+=` -> ${JSON.stringify(i)}`),this.audioVideoController.logger.info(n)}getRemoteVideoSources(){const e=this.audioVideoController.getRemoteVideoSources();return this.trace("getRemoteVideoSources",null,e),e}get transcriptionController(){return this.realtimeController.transcriptionController}promoteToPrimaryMeeting(e){this.audioVideoController.removeObserver(this),this.audioVideoController.addObserver(this);const t=this.audioVideoController.promoteToPrimaryMeeting(e);return this.trace("promoteToPrimaryMeeting",null,t),t}demoteFromPrimaryMeeting(){this.trace("demoteFromPrimaryMeeting"),this.audioVideoController.demoteFromPrimaryMeeting()}audioVideoWasDemotedFromPrimaryMeeting(e){this.contentShareController.stopContentShare(),this.audioVideoController.removeObserver(this)}}},15224(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(28412)),s=i(20330);class a extends o.default{constructor(e,t){super(e,t),this.blurCanvas=document.createElement("canvas"),this.blurCanvasCtx=this.blurCanvas.getContext("2d"),this.blurCanvas.width=this.spec.model.input.width,this.blurCanvas.height=this.spec.model.input.height,this.logger.info("Backgroun
2138dBlur processor using builtin blur")}drawImageWithMask(e,t){const i=this.blurredImage,{canvasCtx:n,targetCanvas:r}=this,{width:o,height:s}=r;t&&i?(this.scaledCanvas.getContext("2d").putImageData(t,0,0),this.blurCanvasCtx.putImageData(this.blurredImage,0,0),n.save(),n.clearRect(0,0,o,s),n.drawImage(this.scaledCanvas,0,0,o,s),n.globalCompositeOperation="source-in",n.drawImage(e,0,0,o,s),n.globalCompositeOperation="destination-over",n.drawImage(this.blurCanvas,0,0,o,s),n.restore()):n.clearRect(0,0,o,s)}setBlurStrength(e){if(super.setBlurStrength(e),this.worker){this.modelInitialized=!1,this.worker.postMessage({msg:"destroy"});const e=this.spec.model;this.worker.postMessage({msg:"loadModel",payload:{modelUrl:e.path,inputHeight:e.input.height,inputWidth:e.input.width,inputChannels:4,modelRangeMin:e.input.range[0],modelRangeMax:e.input.range[1],blurPixels:this.blurAmount}})}}setBlurPixels(){this.blurAmount=s.BlurStrengthMapper.getBlurAmount(this._blurStrength,{height:540}),this.logger.info(`background blur amount set to ${this.blurAmount}`)}handleInitialize(e){if(this.logger.info(`received initialize message: ${this.stringify(e)}`),!e.payload)return this.logger.error("failed to initialize module"),void this.initWorkerPromise.reject(new Error("failed to initialize the module"));const t=this.spec.model;this.worker.postMessage({msg:"loadModel",payload:{modelUrl:t.path,inputHeight:t.input.height,inputWidth:t.input.width,inputChannels:4,modelRangeMin:t.input.range[0],modelRangeMax:t.input.range[1],blurPixels:this.blurAmount}}),this.initWorkerPromise.resolve({})}handlePredict(e){this.blurredImage=e.payload.blurOutput,super.handlePredict(e)}destroy(){const e=Object.create(null,{destroy:{get:()=>super.destroy}});var t;return n(this,void 0,void 0,function*(){e.destroy.call(this),null===(t=this.blurCanvas)||void 0===t||t.remove(),this.blurCanvas=void 0})}}t.default=a},28412(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(20353)),s=i(20330),a=r(i(24096));class d extends o.default{constructor(e,t){super("background blur",e,t,new a.default),this.blurAmount=0,this.setBlurStrength(t.blurStrength),this.logger.info("Backgroun
2138dBlur processor successfully created"),this.logger.info(`BackgroundBlur spec: ${this.stringify(this.spec)}`),this.logger.info(`BackgroundBlur options: { blurStrength: ${t.blurStrength}, filterCPUUtilization: ${t.filterCPUUtilization}, reportingPeriodMillis: ${t.reportingPeriodMillis}}`)}validateOptions(e){if(super.validateOptions(e),!e.blurStrength)throw new Error("processor has null options - blurStrength")}initOnFirstExecution(){this.setBlurPixels()}drawImageWithMask(e,t){t||(t=new ImageData(this.spec.model.input.width,this.spec.model.input.height)),this.scaledCanvas.getContext("2d").putImageData(t,0,0);const{canvasCtx:i,targetCanvas:n}=this,{width:r,height:o}=n;i.save(),i.clearRect(0,0,r,o),i.drawImage(this.scaledCanvas,0,0,r,o),i.globalCompositeOperation="source-in",i.drawImage(e,0,0,r,o),i.globalCompositeOperation="destination-over",i.filter=`blur(${this.blurAmount}px)`,i.drawImage(e,0,0,n.width,n.height),i.restore()}setBlurStrength(e){this._blurStrength=e,this.logger.info(`blur strength set to ${this._blurStrength}`),this.setBlurPixels()}setBlurPixels(){this.blurAmount=s.BlurStrengthMapper.getBlurAmount(this._blurStrength,{height:this.sourceHeight}),this.logger.info(`background blur amount set to ${this.blurAmount}`)}addObserver(e){this.delegate.addObserver(e)}removeObserver(e){this.delegate.removeObserver(e)}static isSupported(){return n(this,void 0,void 0,function*(){const e=document.createElement("canvas"),t=void 0!==e.getContext("2d").filter;return e.remove(),t})}setEventController(e){this.eventController?this.eventController=e:(this.eventController=e,this.publishBackgroundFilterEvent())}publishBackgroundFilterEvent(){const e={backgroundBlurEnabled:"true",backgroundBlurStrength:this._blurStrength,backgroundReplacementEnabled:"false",backgroundFilterVersion:1};this.eventController.publishEvent("backgroundFilterConfigSelected",e)}}t.default=d},20330(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BlurStrengthMapper=void 0;class i{static getBlurAmount(e,t){if(e<=0)throw new Error(`invalid value for blur strength: ${e}`);return Math.round(e*t.height/this.BLUR_STRENGTH_DIVISOR)}}t.BlurStrengthMapper=i,i.BLUR_STRENGTH_DIVISOR=540,t.default={LOW:7,MEDIUM:15,HIGH:30}},13723(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(94593)),s=r(i(38936)),a=r(i(70305)),d=r(i(25667)),c=r(i(15224)),l=r(i(28412)),u=r(i(20330));class h extends d.default{setBlurStrength(){}loadAssets(){return n(this,void 0,void 0,function*(){})}
2138addObserver(){}removeObserver(){}}class p extends o.default{static create(e,t){return n(this,void 0,void 0,function*(){e=p.resolveSpec(e),t=p.resolveOptions(t);const{logger:i}=t,n=yield p.isSupported(e,t);if(i.info(`processor is ${n?"":"not"} supported`),!n)return i.warn("Using no-op processor because background blur is not supported"),new h;let r;return(yield l.default.isSupported())?(i.info("Using browser-provided background blur"),r=new l.default(e,t)):(i.info("Using built-in background blur"),r=new c.default(e,t)),yield r.loadAssets(),r})}static resolveOptions(e={}){let t=Object.assign({},e);return t.blurStrength||(t.blurStrength=u.default.MEDIUM),t.logger||(t.logger=new s.default("BackgroundBlurProcessor",a.default.INFO)),t=super.resolveOptions(t),t}static isSupported(e,t){return e=p.resolveSpec(e),t=p.resolveOptions(t),super.isSupported(e,t)}}t.default=p},24096(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(59122));class o extends r.default{}t.default=o},38679(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class i{constructor(){this.path=null,this.input=null,this.output=null}static builder(){return new i}withDefaultModel(){return this.withSelfieSegmentationDefaults()}withSelfieSegmentationDefaults(){return this.path="https://static.sdkassets.chime.aws/bgblur/models/selfie_segmentation_landscape.tflite",this.input={height:144,width:256,range:[0,1],channels:3},this.output={height:144,width:256,range:[0,1],channels:1},this}withPath(e){return this.path=e,this}withInput(e){return this.input=e,this}withOutput(e){return this.output=e,this}validate(){if(!this.path)throw new Error("model spec path is not set");if(!this.input)throw new Error("model spec input is not set");if(!this.output)throw new Error("model spec output is not set")}build(){return this.validate(),{path:this.path,input:this.input,output:this.output}}}t.default=i},90630(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e,t,i,n){this.delegate=e,this.reportingPeriodMillis=t,this.filterCPUUtilization=i,this.logger=n,this._processingFilter=!0,this.lastReportedEventTimestamp=0,this.lastFilterCompleteTimestamp=0,this.filterTotalMillis=0,this.filterCount=0,this.framerate=0,this.filterDurationNotifyMillis=0,this.setSegmentationDuration()}reportEvent(e){const t=e-this.lastReportedEventTimestamp;if(t>=this.reportingPeriodMillis){const i=this.filterCount,n=this.filterTotalMillis;if(this.filterCount=0,this.filterTotalMillis=0,this.lastReportedEventTimestamp=e,0===this.framerate||0===i)return;const r=Math.round(n/i),o=Math.round(this.framerate*(t/1e3))-i,s=Math.round(100*n/t);r>=this.filterDurationNotifyMillis&&this.delegate.filterFrameDurationHigh({framesDropped:o,avgFilterDurationMillis:r,framerate:this.framerate,periodMillis:t}),s>=this.filterCPUUtilization&&this.delegate.filterCPUUtilizationHigh({cpuUtilization:s,filterMillis:n,periodMillis:t})}}setSegmentationDuration(){this.filterDurationNotifyMillis=Math.round(1e3/this.framerate*.8)}frameReceived(e){e!==this.framerate&&(this.framerate=e,this.logger.info(`frame counter setting frame rate to ${this.framerate}`),this.setSegmentationDuration());const t=Date.now();this.reportEvent(t)}filterSubmitted(){this._processingFilter=!0,this.lastFilterCompleteTimestamp=Date.now()}filterComplete(){this.filterTotalMillis+=Date.now()-this.lastFilterCompleteTimestamp,this._processingFilter=!1,this.filterCount++}get processingSegment(){return this._processingFilter}}},20353(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.BackgroundFilterMonitor=void 0;const o=i(19048),s=r(i(43745)),a=r(i(90630));class d{constructor(){this.value=void 0,this.resolve=null}whenNext(){return this.promise||(this.promise=new Promise(e=>this.resolve=e)),this.promise}next(e){this.value=e,this.resolve(e),delete this.promise}}class c{constructor(e,t,i,n,r){this.targetCanvas=document.createElement("canvas"),this.canvasCtx=this.targetCanvas.getContext("2d"),this.canvasVideoFrameBuffer=new s.default(this.targetCanvas),this.mask$=new d,this.sourceWidth=0,this.sourceHeight=0,this.frameNumber=0,this.videoFramesPerFilterUpdate=1,this.initWorkerPromise=c.createWorkerPromise(),this.loadModelPromise=c.createWorkerPromise(),this.modelInitialized=!1,this.destroyed=!1,this.filterType=e,this.validateSpec(t),this.validateOptions(i),this.spec=t,this.logger=i.logger,this.delegate=n,this.initCPUMonitor(i),this.eventController=r}static createWorkerPromise(){const e={resolve:null,reject:null,promise:null};return e.promise=new Promise((t,i)=>{e.resolve=t,e.reject=i}),e}validateSpec(e){if(!e)throw new Error("processor has null spec");if(!e.model)throw new Error("processor spec has null model");if(!e.paths)throw new Error("processor spec has null paths")}validateOptions(e){if(!e)throw new Error("processor has null options");
2138if(!e.logger)throw new Error("processor has null options - logger");if(!e.reportingPeriodMillis)throw new Error("processor has null options - reportingPeriodMillis");if(!e.filterCPUUtilization)throw new Error("processor has null options - filterCPUUtilization")}initCPUMonitor(e){this.videoFramesPerFilterUpdate=1,this.frameCounter=new a.default(this.delegate,e.reportingPeriodMillis,e.filterCPUUtilization,this.logger),this.cpuMonitor=new l(5e3,{reduceCPUUtilization:()=>{this.updateVideoFramesPerFilterUpdate(Math.min(this.videoFramesPerFilterUpdate+1,10))},increaseCPUUtilization:()=>{this.updateVideoFramesPerFilterUpdate(Math.max(this.videoFramesPerFilterUpdate-1,1))}}),this.delegate.addObserver(this.cpuMonitor)}stringify(e){return JSON.stringify(e,null,2)}handleInitialize(e){if(this.logger.info(`received initialize message: ${this.stringify(e)}`),!e.payload)return this.logger.error("failed to initialize module"),void this.initWorkerPromise.reject(new Error("failed to initialize the module"));const t=this.spec.model;this.worker.postMessage({msg:"loadModel",payload:{modelUrl:t.path,inputHeight:t.input.height,inputWidth:t.input.width,inputChannels:4,modelRangeMin:t.input.range[0],modelRangeMax:t.input.range[1],blurPixels:0}}),this.initWorkerPromise.resolve({})}handleLoadModel(e){if(this.logger.info(`received load model message: ${this.stringify(e)}`),2!==e.payload)return this.logger.error("failed to load model! status: "+e.payload),void this.loadModelPromise.reject(new Error("failed to load model! status: "+e.payload));this.modelInitialized=!0,this.loadModelPromise.resolve({})}handlePredict(e){this.mask$.next(e.payload.output)}handleWorkerEvent(e){const t=e.data;switch(t.msg){case"initialize":this.handleInitialize(t);break;case"loadModel":this.handleLoadModel(t);break;case"predict":this.handlePredict(t);break;default:this.logger.info(`unexpected event msg: ${this.stringify(t)}`)}}loadAssets(){return n(this,void 0,void 0,function*(){this.logger.info("start initializing the processor");try{this.worker=yield o.loadWorker(this.spec.paths.worker,"BackgroundFilterWorker",{},null),this.worker.addEventListener("message",e=>this.handleWorkerEvent(e)),this.worker.postMessage({msg:"initialize",payload:{wasmPath:this.spec.paths.wasm,simdPath:this.spec.paths.simd}}),yield this.initWorkerPromise.promise,this.logger.info(`successfully initialized the ${this.filterType} worker`),yield this.loadModelPromise.promise,this.logger.info(`successfully loaded ${this.filterType} worker segmentation model`)}catch(e){throw new Error(`could not initialize the ${this.filterType} video frame processor due to '${e.message}'`)}this.logger.info(`successfully initialized the ${this.filterType} processor`)})}process(e){return n(this,void 0,void 0,function*(){if(this.destroyed)return e;this.frameCounter.frameReceived(e[0].framerate),this.cpuMonitor.frameReceived();const t=e[0].asCanvasElement();if(!t)return e;if(!this.modelInitialized)return e[0]=this.canvasVideoFrameBuffer,e;const i=t.width,n=t.height;if(0===i||0===n)return e;0===this.sourceWidth&&(this.sourceWidth=i,this.sourceHeight=n,this.targetCanvas.width=this.sourceWidth,this.targetCanvas.height=this.sourceHeight,this.logger.info(`${this.filterType} source width: ${this.sourceWidth}`),this.logger.info(`${this.filterType} source height: ${this.sourceHeight}`),this.initOnFirstExecution()),this.sourceWidth===i&&this.sourceHeight===n||(this.sourceWidth=i,this.sourceHeight=n,this.targetCanvas.width=this.sourceWidth,this.targetCanvas.height=this.sourceHeight);try{this.frameCounter.filterSubmitted();let e=this.mask$.value;const i=this.spec.model.input.width/t.width,n=this.spec.model.input.height/t.height;void 0===this.scaledCanvas&&(this.scaledCanvas=document.createElement("canvas"),this.scaledCanvas.width=this.spec.model.input.width,this.scaledCanvas.height=this.spec.model.input.height);const r=this.scaledCanvas.getContext("2d");r.save(),r.scale(i,n),r.drawImage(t,0,0),r.restore();const o=r.getImageData(0,0,this.scaledCanvas.width,this.scaledCanvas.height);if(this.frameNumber%this.videoFramesPerFilterUpdate===0){const t=this.mask$.whenNext();this.worker.postMessage({msg:"predict",payload:o},[o.data.buffer]),e=yield t}this.destroyed||this.drawImageWithMask(t,e)}catch(t){return this.logger.error(`could not process ${this.filterType} frame buffer due to ${t}`),e}finally{this.frameCounter.filterComplete(),this.frameNumber++}return e[0]=this.canvasVideoFrameBuffer,e})}updateVideoFramesPerFilterUpdate(e){e!==this.videoFramesPerFilterUpdate&&(this.videoFramesPerFilterUpdate=e,this.logger.info(`Adjusting filter rate to compensate for CPU utilization. Filter rate is ${this.videoFramesPerFilterUpdate} video frames per filter.`))}destroy(){var e,t,i,r;return n(this,void 0,void 0,function*(){this.destroyed=!0,this.delegate.removeObserver(this.cpuMonitor),this.canvasVideoFrameBuffer.destroy(),null===(e=this.worker)||void 0===e||e.postMessage({msg:"destroy"}),null===(t=this.worker)||void 0===t||t.postMessage({msg:"stop"}),null===(i=this.targetCanvas)||void 0===i||i.remove(),this.targetCanvas=void 0,null===(r=this.scaledCanvas)||void 0===r||r.remove(),this.scaledCanvas=void 0,this.logger.info(`${this.filterType} frame process destroyed`)})}}t.default=c;class l{constructor(e,t){this.monitoringPeriodMillis=e,this.observer=t,this.lastCPUChangeTimestamp=0}filterCPUUtilizationHigh(){const e=Date.now();e-this.lastCPUChangeTimestamp>=this.monitoringPeriodMillis&&(this.lastCPUChangeTimestamp=e,this.observer.reduceCPUUtilization())}frameReceived(){const e=Date.now();e-this.lastCPUChangeTimestamp>=2*this.monitoringPeriodMillis&&(this.lastCPUChangeTimestamp=e,this.observer.increaseCPUUtilization())}}
2138t.BackgroundFilterMonitor=l},94593(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(19048),s=i(37804),a=r(i(38679)),d=r(i(98824)),c=r(i(40961)),l=()=>a.default.builder().withSelfieSegmentationDefaults().build(),u="https://static.sdkassets.chime.aws",h={worker:`${u}/bgblur/workers/worker.js`,wasm:`${u}/bgblur/wasm/_cwt-wasm.wasm`,simd:`${u}/bgblur/wasm/_cwt-wasm-simd.wasm`};t.default=class{static defaultAssetSpec(){const e=c.default.sdkVersionSemVer;return{assetGroup:`sdk-${e.major}.${e.minor}`}}static createUrlWithParams(e,t){const i=new URL(e),n=Object.keys(t);for(const e of n)void 0!==t[e]&&i.searchParams.set(e,t[e]);return i.toString()}static resolveSpec(e){const{paths:t=h,model:i=l(),assetGroup:n=this.defaultAssetSpec().assetGroup,revisionID:r=this.defaultAssetSpec().revisionID}=e||{},o={assetGroup:n,revisionID:r,sdk:encodeURIComponent(c.default.sdkVersion),ua:encodeURIComponent(c.default.sdkUserAgentLowResolution)};return t.worker=this.createUrlWithParams(t.worker,o),t.wasm=this.createUrlWithParams(t.wasm,o),t.simd=this.createUrlWithParams(t.simd,o),i.path=this.createUrlWithParams(i.path,o),{paths:t,model:i,assetGroup:n,revisionID:r}}static resolveOptions(e){return e.reportingPeriodMillis||(e.reportingPeriodMillis=1e3),e.filterCPUUtilization?(e.filterCPUUtilization<0||e.filterCPUUtilization>100)&&(e.logger.warn("filterCPUUtilization must be set to a range between 0 and 100 percent. Falling back to default of 30 percent"),e.filterCPUUtilization=30):e.filterCPUUtilization=30,e}static isSupported(e,t){const{logger:i}=t;return"undefined"==typeof globalThis?(i.info("Browser does not have globalThis."),Promise.resolve(!1)):(new d.default).supportsBackgroundFilter()?s.supportsWASM(globalThis,i)?this.supportsBackgroundFilter(globalThis,e,i):(i.info("Browser does not support WASM."),Promise.resolve(!1)):(i.info("Browser is not supported."),Promise.resolve(!1))}static supportsBackgroundFilter(e=globalThis,t,i){return n(this,void 0,void 0,function*(){if(!s.supportsWorker(e,i))return i.info("Browser does not support web workers."),!1;const n=t.paths.worker;try{const e=yield o.loadWorker(n,"BackgroundFilterWorker",{},null);try{e.terminate()}catch(e){i.info(`Failed to terminate worker. ${e.message}`)}return!0}catch(e){return i.info(`Failed to fetch and instantiate test worker ${e.message}`),!1}})}}},59122(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.observers=new Set}addObserver(e){this.observers.add(e)}removeObserver(e){this.observers.delete(e)}filterFrameDurationHigh(e){var t;for(const i of this.observers)null===(t=i.filterFrameDurationHigh)||void 0===t||t.call(i,e)}filterCPUUtilizationHigh(e){var t;for(const i of this.observers)null===(t=i.filterCPUUtilizationHigh)||void 0===t||t.call(i,e)}}},92371(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(20353)),s=r(i(1586));class a extends o.default{constructor(e,t){super("background replacement",e,t,new s.default),this.replacementBlob=t.imageBlob,this.logger.info("Backgroun
2138dReplacement processor successfully created"),this.logger.info(`BackgroundReplacement spec: ${this.stringify(this.spec)}`),this.logger.info(`BackgroundReplacement options: { filterCPUUtilization: ${t.filterCPUUtilization}, reportingPeriodMillis: ${t.reportingPeriodMillis}}`)}setImageBlob(e){return n(this,void 0,void 0,function*(){this.replacementBlob=e,this.replacementImage=yield a.loadImage(this.createReplacementObjectUrl())})}initOnFirstExecution(){}drawImageWithMask(e,t){t||(t=new ImageData(this.spec.model.input.width,this.spec.model.input.height)),this.scaledCanvas.getContext("2d").putImageData(t,0,0);const{canvasCtx:i,targetCanvas:n}=this,{width:r,height:o}=n;i.save(),i.clearRect(0,0,r,o),i.drawImage(this.scaledCanvas,0,0,r,o),i.globalCompositeOperation="source-in",i.drawImage(e,0,0,r,o),i.globalCompositeOperation="destination-over",i.drawImage(this.replacementImage,0,0,n.width,n.height),i.restore()}static loadImageExecutor(e,t,i){const n=new Image;n.crossOrigin="Anonymous",n.addEventListener("load",()=>{e(n)},!1),n.addEventListener("error",e=>{t(new Error(`Could not load replacement image ${n.src}: ${e.message}`))},!1),n.src=i}static loadImage(e){return n(this,void 0,void 0,function*(){return new Promise((t,i)=>this.loadImageExecutor(t,i,e))})}revokeReplacementObjectUrl(){this.replacementObjectUrl&&URL.revokeObjectURL(this.replacementObjectUrl)}createReplacementObjectUrl(){return this.revokeReplacementObjectUrl(),this.replacementObjectUrl=URL.createObjectURL(this.replacementBlob),this.replacementObjectUrl}loadAssets(){const e=Object.create(null,{loadAssets:{get:()=>super.loadAssets}});return n(this,void 0,void 0,function*(){this.replacementImage=yield a.loadImage(this.createReplacementObjectUrl()),e.loadAssets.call(this)})}addObserver(e){this.delegate.addObserver(e)}removeObserver(e){this.delegate.removeObserver(e)}destroy(){const e=Object.create(null,{destroy:{get:()=>super.destroy}});return n(this,void 0,void 0,function*(){e.destroy.call(this),this.revokeReplacementObjectUrl()})}setEventController(e){this.eventController?this.eventController=e:(this.eventController=e,this.publishBackgroundFilterEvent())}publishBackgroundFilterEvent(){this.eventController.publishEvent("backgroundFilterConfigSelected",{backgroundBlurEnabled:"false",backgroundBlurStrength:"low",backgroundReplacementEnabled:"true",backgroundFilterVersion:1})}}t.default=a},94081(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(94593)),s=r(i(38936)),a=r(i(70305)),d=r(i(25667)),c=r(i(92371));class l extends d.default{loadAssets(){return n(this,void 0,void 0,function*(){})}
2138addObserver(){}removeObserver(){}setImageBlob(){return n(this,void 0,void 0,function*(){})}}class u extends o.default{static create(e,t){return n(this,void 0,void 0,function*(){e=this.resolveSpec(e),t=this.resolveOptions(t),yield this.resolveOptionsAsync(t);const{logger:i}=t;if(!(yield u.isSupported(e,t)))return i.warn("Using no-op processor because background replacement is not supported"),new l;i.info("Using background replacement filter");const n=new c.default(e,t);return yield n.loadAssets(),n})}static resolveOptions(e={}){const t=Object.assign({},e);return t.logger||(t.logger=new s.default("BackgroundReplacementProcessor",a.default.INFO)),super.resolveOptions(t)}static resolveOptionsAsync(e){return n(this,void 0,void 0,function*(){if(!e.imageBlob){const t=document.createElement("canvas");t.width=100,t.height=100;const i=t.getContext("2d");i.fillStyle="blue",i.fillRect(0,0,100,100);const n=yield new Promise(e=>{t.toBlob(e)});e.imageBlob=n}})}static isSupported(e,t){const i=Object.create(null,{isSupported:{get:()=>super.isSupported}});return n(this,void 0,void 0,function*(){e=this.resolveSpec(e),t=this.resolveOptions(t),yield this.resolveOptionsAsync(t);const n=t.imageBlob,r=URL.createObjectURL(n);try{yield c.default.loadImage(r)}catch(e){return t.logger.info(`Failed to fetch load replacement image ${e.message}`),!1}finally{URL.revokeObjectURL(r)}return i.isSupported.call(this,e,t)})}}t.default=u},1586(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(59122));class o extends r.default{}t.default=o},50638(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e,t,i){this.fixedWaitMs=e,this.shortBackoffMs=t,this.longBackoffMs=i,this.currentRetry=0,this.fixedWaitMs<0&&(this.fixedWaitMs=0),this.shortBackoffMs<0&&(this.shortBackoffMs=0),this.longBackoffMs<0&&(this.longBackoffMs=0),this.reset()}reset(){this.currentRetry=0}nextBackoffAmountMs(){const e=Math.random()*Math.min(this.longBackoffMs,this.shortBackoffMs*Math.pow(2,this.currentRetry))+this.fixedWaitMs;return this.currentRetry+=1,e}}},78710(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(50638)),o=n(i(61714));t.default=class{constructor(e,t,i){this.fixedWaitMs=e,this.shortBackoffMs=t,this.longBackoffMs=i}create(){return new r.default(this.fixedWaitMs,this.shortBackoffMs,this.longBackoffMs)}createWithLimit(e){return new o.default(this.fixedWaitMs,this.shortBackoffMs,this.longBackoffMs,e)}}},61714(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(50638));class o extends r.default{constructor(e,t,i,n){super(e,t,i),this.limit=n,this.attempts=0}nextBackoffAmountMs(){if(this.attempts++,this.attempts>this.limit)throw new Error("retry limit exceeded");return super.nextBackoffAmountMs()}}t.default=o},98824(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0});const r=i(84880),o=i(6660);class s{constructor(){this.FALLBACK_BROWSER={type:"browser",name:"unknown",version:"unknown",os:"unknown"},this.browser=r.detect()||this.FALLBACK_BROWSER,this.uaParserResult=navigator&&navigator.userAgent?new o.UAParser(navigator.userAgent).getResult():null,this.browserSupport={chrome:78,"edge-chromium":79,electron:7,firefox:75,ios:13,safari:13,opera:66,samsung:12,crios:86,fxios:23,"ios-webview":605,"chromium-webview":92},this.browserName={chrome:"Google Chrome","edge-chromium":"Microsoft Edge",electron:"Electron",firefox:"Mozilla Firefox",ios:"Safari iOS",safari:"Safari",opera:"Opera",samsung:"Samsung Internet",crios:"Chrome iOS",fxios:"Firefox iOS","ios-webview":"WKWebView iOS","chromium-webview":"Chrome WebView"},this.chromeLike=["chrome","edge-chromium","chromium-webview","opera","samsung"],this.webkitBrowsers=["crios","fxios","safari","ios","ios-webview","edge-ios"]}version(){return this.browser.version}majorVersion(){return null!==this.version()?parseInt(this.version().split(".")[0]):-1}osMajorVersion(){return parseInt(this.uaParserResult.os.version.split(".")[0])}engine(){return this.uaParserResult.engine.name}engineMajorVersion(){return parseInt(this.uaParserResult.engine.version.split(".")[0])}name(){return this.browser.name}hasChromiumWebRTC(){for(const e of this.chromeLike)if(e===this.browser.name)return!0;return!1}hasWebKitWebRTC(){for(const e of this.webkitBrowsers)if(e===this.browser.name)return!0;return!1}hasFirefoxWebRTC(){return this.isFirefox()}requiresPlaybackLatencyHintForAudioContext(){return-1!==navigator.userAgent.indexOf("Windows")}supportsCanvasCapturedStreamPlayback(){return!this.isIOSSafari()&&!this.isIOSChrome()&&!this.isIOSFirefox()&&!this.isIOSEdge()||this.isIOSSafari()&&this.majorVersion()>=s.MIN_IOS_SUPPORT_CANVAS_STREAM_PLAYBACK||this.majorVersion()>=s.MIN_IOS_NON_SAFARI_SUPPORT_CANVAS_STREAM_PLAYBACK}
2138supportsBackgroundFilter(){return("safari"!==this.name()||15!==this.majorVersion())&&!!this.supportsCanvasCapturedStreamPlayback()}supportsVideoLayersAllocationRtpHeaderExtension(){return this.hasChromiumWebRTC()}supportsDependencyDescriptorRtpHeaderExtension(){return this.hasChromiumWebRTC()}supportsScalableVideoCoding(){return this.hasChromiumWebRTC()&&"Blink"===this.engine()&&this.engineMajorVersion()>=111}supportsAudioRedundancy(){return this.hasChromiumWebRTC()?this.engineMajorVersion()>=107:!this.hasFirefoxWebRTC()}requiresResolutionAlignment(e,t){return this.isAndroid()&&this.isPixel3()?[64*Math.ceil(e/64),64*Math.ceil(t/64)]:[e,t]}requiresCheckForSdpConnectionAttributes(){return!this.isIOSSafari()&&!this.isIOSChrome()&&!this.isIOSFirefox()}requiresIceCandidateGatheringTimeoutWorkaround(){return this.hasChromiumWebRTC()}requiresBundlePolicy(){return"max-bundle"}requiresNoExactMediaStreamConstraints(){return this.isSamsungInternet()}requiresGroupIdMediaStreamConstraints(){return this.isSamsungInternet()}getDisplayMediaAudioCaptureSupport(){return this.isChrome()||this.isEdge()}doesNotSupportMediaDeviceLabels(){return"chromium-webview"===this.browser.name}isSupported(){return!(!this.browserSupport[this.browser.name]||this.majorVersion()<this.browserSupport[this.browser.name]||"firefox"===this.browser.name&&this.isAndroid())}isSimulcastSupported(){return this.hasChromiumWebRTC()}supportDownlinkBandwidthEstimation(){return!this.isFirefox()}supportString(){if(this.isAndroid())return`${this.browserName.chrome} ${this.browserSupport.chrome}+, ${this.browserName.samsung} ${this.browserSupport.samsung}+`;const e=[];for(const t in this.browserSupport)e.push(`${this.browserName[t]} ${this.browserSupport[t]}+`);return e.join(", ")}supportedVideoCodecs(){return n(this,void 0,void 0,function*(){const e=new RTCPeerConnection;return e.addTransceiver("video",{direction:"inactive",streams:[]}),(yield e.createOffer({offerToReceiveVideo:!0})).sdp.split("\r\n").filter(e=>e.includes("a=rtpmap:")).map(e=>e.replace(/.* /,"").replace(/\/.*/,"")).filter((e,t,i)=>i.indexOf(e)===t).filter(e=>"rtx"!==e&&"red"!==e&&"ulpfec"!==e)})}supportsSetSinkId(){return"setSinkId"in HTMLAudioElement.prototype}disableResolutionScaleDown(){return this.isAndroid()}disable480pResolutionScaleDown(){return/( Chrome\/98\.)/i.test(navigator.userAgent)&&this.browser.os.startsWith("Windows")}requiresDisablingH264Encoding(){return this.isIOS()&&("15.1.0"===this.version()||/( OS 15_1)/i.test(navigator.userAgent))}requiresVideoPlayWorkaround(){return this.isSafari()}requiresAudioContextResetOnDeviceFailureForWebAudio(){return this.isIOS()}isVideoFxSupportedBrowser(){return this.supportsBackgroundFilter()}isIOSSafari(){return"ios"===this.browser.name||"ios-webview"===this.browser.name||"safari"===this.browser.name&&/( Mac )/i.test(navigator.userAgent)&&navigator.maxTouchPoints>1}isSafari(){return"safari"===this.browser.name||this.isIOSSafari()}isFirefox(){return"firefox"===this.browser.name}isIOSFirefox(){return"fxios"===this.browser.name}isIOSChrome(){return"crios"===this.browser.name}isChrome(){return"chrome"===this.browser.name}isEdge(){return"edge-chromium"===this.browser.name}isIOSEdge(){return"edge-ios"===this.browser.name}isSamsungInternet(){return"samsung"===this.browser.name}isAndroid(){return/(android)/i.test(navigator.userAgent)}isPixel3(){return/( pixel 3)/i.test(navigator.userAgent)}isIOS(){return this.isIOSSafari()||this.isIOSChrome()||this.isIOSFirefox()}}t.default=s,s.MIN_IOS_SUPPORT_CANVAS_STREAM_PLAYBACK=16,s.MIN_IOS_NON_SAFARI_SUPPORT_CANVAS_STREAM_PLAYBACK=106},48107(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=i(38359),o=n(i(19542)),s=n(i(53551)),a=n(i(95963));class d{constructor(e,t,i){this.logger=e,this.videoStreamIndex=t,this.selfAttendeeId=i,this.globalMetricReport=new a.default,this.streamMetricReports={},this.rtcStatsReport={},this.customStatsReports=[],this.currentTimestampMs=0,this.previousTimestampMs=0,this.currentSsrcs={},this.overriddenObservableMetrics=new Map,this.identityValue=(e,t)=>
2138{const i=t?this.streamMetricReports[t]:this.globalMetricReport;return Number(i.currentMetrics[e])},this.decoderLossPercent=(e,t)=>{const i=this.streamMetricReports[t],n=i.currentMetrics.concealedSamples-(i.previousMetrics.concealedSamples||0),r=i.currentMetrics.totalSamplesReceived-(i.previousMetrics.totalSamplesReceived||0);return r<=0||r-n<=0?0:n/r*100},this.packetLossPercent=(e,t)=>{const i=this.streamMetricReports[t],n=i.currentMetrics[e]-(i.previousMetrics[e]||0),r=i.currentMetrics.packetsLost-(i.previousMetrics.packetsLost||0),o=n+r;return o<=0||r<=0?0:100*r/o},this.jitterBufferMs=(e,t)=>{const i=this.streamMetricReports[t],n=i.currentMetrics.jitterBufferDelay-(i.previousMetrics.jitterBufferDelay||0),r=i.currentMetrics.jitterBufferEmittedCount-(i.previousMetrics.jitterBufferEmittedCount||0);return n<=0||r<=0?0:n/r*1e3},this.countPerSecond=(e,t)=>{const i=t?this.streamMetricReports[t]:this.globalMetricReport;let n=(this.currentTimestampMs-this.previousTimestampMs)/1e3;if(n<=0)return 0;this.previousTimestampMs<=0&&(n=1);const r=i.currentMetrics[e]-(i.previousMetrics[e]||0);return r<=0?0:Math.trunc(r/n)},this.bitsPerSecond=(e,t)=>{const i=t?this.streamMetricReports[t]:this.globalMetricReport;let n=(this.currentTimestampMs-this.previousTimestampMs)/1e3;if(n<=0)return 0;this.previousTimestampMs<=0&&(n=1);const r=8*(i.currentMetrics[e]-(i.previousMetrics[e]||0));return r<=0?0:Math.trunc(r/n)},this.secondsToMilliseconds=(e,t)=>{const i=t?this.streamMetricReports[t]:this.globalMetricReport;return Number(1e3*i.currentMetrics[e])},this.averageTimeSpentPerSecondInMilliseconds=(e,t)=>{const i=t?this.streamMetricReports[t]:this.globalMetricReport;let n=(this.currentTimestampMs-this.previousTimestampMs)/1e3;if(n<=0)return 0;this.previousTimestampMs<=0&&(n=1);const r=i.currentMetrics[e]-(i.previousMetrics[e]||0);return r<=0?0:1e3*r/n},this.averageCpuQualityLimitationDurationPerSecondInMilliseconds=(e,t)=>{const i=this.streamMetricReports[t];if(void 0===i.previousObjectMetrics[e]||void 0===i.currentObjectMetrics[e])return NaN;let n=(this.currentTimestampMs-this.previousTimestampMs)/1e3;if(n<=0)return 0;this.previousTimestampMs<=0&&(n=1);let r=0,o=0;for(const[t,n]of Object.entries(i.previousObjectMetrics[e]))"cpu"===t&&(r=n);for(const[t,n]of Object.entries(i.currentObjectMetrics[e]))"cpu"===t&&(o=n);const s=o-r;return s<=0?0:1e3*s/n},this.isHardwareImplementation=(e,t)=>{const i=this.streamMetricReports[t];if(void 0===i.currentStringMetrics[e])return NaN;const n=String(i.currentStringMetrics[e]),r=n.includes("ExternalDecoder")||n.includes("ExternalEncoder")||n.includes("EncodeAccelerator")||n.includes("DecodeAccelerator"),o=n.includes("fallback from");return r&&!o?1:0},this.globalMetricMap={retransmittedBytesSent:{transform:this.identityValue,type:r.SdkMetric.Type.VIDEO_RETRANSMIT_BITRATE},totalEncodedBytesTarget:{transform:this.identityValue,type:r.SdkMetric.Type.VIDEO_TARGET_ENCODER_BITRATE},totalPacketSendDelay:{transform:this.identityValue,type:r.SdkMetric.Type.VIDEO_BUCKET_DELAY_MS},packetsDiscardedOnSend:{transform:this.countPerSecond,type:r.SdkMetric.Type.SOCKET_DISCARDED_PPS},availableIncomingBitrate:{transform:this.identityValue,type:r.SdkMetric.Type.VIDEO_AVAILABLE_RECEIVE_BANDWIDTH},availableOutgoingBitrate:{transform:this.identityValue,type:r.SdkMetric.Type.VIDEO_AVAILABLE_SEND_BANDWIDTH},currentRoundTripTime:{transform:this.secondsToMilliseconds,type:r.SdkMetric.Type.STUN_RTT_MS},audioLevel:{transform:this.identityValue,type:r.SdkMetric.Type.RTC_MIC_AUDIO_LEVEL,source:"audioLevel"}},this.audioUpstreamMetricMap={jitter:{transform:this.secondsToMilliseconds,type:r.SdkMetric.Type.RTC_MIC_JITTER_MS},packetsSent:{transform:this.countPerSecond,type:r.SdkMetric.Type.RTC_MIC_PPS},bytesSent:{transform:this.bitsPerSecond,type:r.SdkMetric.Type.RTC_MIC_BITRATE},roundTripTime:{transform:this.secondsToMilliseconds,type:r.SdkMetric.Type.RTC_MIC_RTT_MS},packetsLost:{transform:this.packetLossPercent,type:r.SdkMetric.Type.RTC_MIC_FRACTION_PACKET_LOST_PERCENT,source:"packetsSent"}},this.audioDownstreamMetricMap={concealedSamples:{transform:this.countPerSecond},totalSamplesReceived:{transform:this.countPerSecond},decoderLoss:{transform:this.decoderLossPercent,type:r.SdkMetric.Type.RTC_SPK_FRACTION_DECODER_LOSS_PERCENT},packetsReceived:{transform:this.countPerSecond,type:r.SdkMetric.Type.RTC_SPK_PPS},packetsLost:{transform:this.packetLossPercent,type:r.SdkMetric.Type.RTC_SPK_FRACTION_PACKET_LOST_PERCENT,source:"packetsReceived"},jitter:{transform:this.secondsToMilliseconds,type:r.SdkMetric.Type.RTC_SPK_JITTER_MS},jitterBufferDelay:{transform:this.countPerSecond},jitterBufferEmittedCount:{transform:this.countPerSecond},jitterBufferMs:{transform:this.jitterBufferMs,type:r.SdkMetric.Type.RTC_SPK_JITTER_BUFFER_MS},bytesReceived:{transform:this.bitsPerSecond,type:r.SdkMetric.Type.RTC_SPK_BITRATE},audioLevel:{transform:this.identityValue,type:r.SdkMetric.Type.RTC_SPK_AUDIO_LEVEL},totalAudioPacketsLost:{transform:this.identityValue,type:r.SdkMetric.Type.RTC_SPK_TOTAL_LOST},totalAudioPacketsExpected:{transform:this.identityValue,type:r.SdkMetric.Type.RTC_SPK_TOTAL_EXPECTED},totalAudioPacketsRecoveredRed:{transform:this.identityValue,type:r.SdkMetric.Type.RTC_SPK_TOTAL_RECOVERED_RED},totalAudioPacketsRecoveredFec:{transform:this.identityValue,type:r.SdkMetric.Type.RTC_SPK_TOTAL_RECOVERED_FEC}},this.videoUpstreamMetricMap={roundTripTime:{transform:this.secondsToMilliseconds,type:r.SdkMetric.Type.VIDEO_SENT_RTT_MS},nackCount:{transform:this.countPerSecond,type:r.SdkMetric.Type.VIDEO_NACKS_RECEIVED},pliCount:{transform:this.countPerSecond,type:r.SdkMetric.Type.VIDEO_PLIS_RECEIVED},firCount:{transform:this.countPerSecond,type:r.SdkMetric.Type.VIDEO_FIRS_RECEIVED},framesPerSecond:{transform:this.identityValue,type:r.SdkMetric.Type.VIDEO_INPUT_FPS},framesEncoded:{transform:this.countPerSecond,type:r.SdkMetric.Type.VIDEO_ENCODE_FPS},packetsSent:{transform:this.countPerSecond,type:r.SdkMetric.Type.VIDEO_SENT_PPS},packetsLost:{transform:this.packetLossPercent,type:r.SdkMetric.Type.VIDEO_SENT_FRACTION_PACKET_LOST_PERCENT,source:"packetsSent"},bytesSent:{transform:this.bitsPerSecond,type:r.SdkMetric.Type.VIDEO_SENT_BITRATE},qpSum:{transform:this.countPerSecond,type:r.SdkMetric.Type.VIDEO_SENT_QP_SUM},frameHeight:{transform:this.identityValue,type:r.SdkMetric.Type.VIDEO_ENCODE_HEIGHT},frameWidth:{transform:this.identityValue,type:r.SdkMetric.Type.VIDEO_ENCODE_WIDTH},jitter:{transform:this.secondsToMilliseconds,type:r.SdkMetric.Type.VIDEO_SENT_JITTER_MS},totalEncodeTime:{transform:this.averageTimeSpentPerSecondInMilliseconds,type:r.SdkMetric.Type.VIDEO_ENCODE_MS},encoderImplementation:{transform:this.isHardwareImplementation,t
2138ype:r.SdkMetric.Type.VIDEO_ENCODER_IS_HARDWARE},qualityLimitationDurations:{transform:this.averageCpuQualityLimitationDurationPerSecondInMilliseconds,type:r.SdkMetric.Type.VIDEO_QUALITY_LIMITATION_DURATION_CPU},videoCodecDegradationHighEncodeCpu:{transform:this.identityValue,type:r.SdkMetric.Type.VIDEO_CODEC_DEGRADATION_HIGH_ENCODE_CPU},videoCodecDegradationEncodeFailure:{transform:this.identityValue,type:r.SdkMetric.Type.VIDEO_CODEC_DEGRADATION_ENCODE_FAILURE},videoInputWidth:{transform:this.identityValue,type:r.SdkMetric.Type.VIDEO_INPUT_WIDTH},videoInputHeight:{transform:this.identityValue,type:r.SdkMetric.Type.VIDEO_INPUT_HEIGHT}},this.videoDownstreamMetricMap={packetsReceived:{transform:this.countPerSecond,type:r.SdkMetric.Type.VIDEO_RECEIVED_PPS},packetsLost:{transform:this.packetLossPercent,type:r.SdkMetric.Type.VIDEO_RECEIVED_FRACTION_PACKET_LOST_PERCENT,source:"packetsReceived"},framesReceived:{transform:this.identityValue,type:r.SdkMetric.Type.VIDEO_RECEIVED_FPS},framesDecoded:{transform:this.countPerSecond,type:r.SdkMetric.Type.VIDEO_DECODE_FPS},nackCount:{transform:this.countPerSecond,type:r.SdkMetric.Type.VIDEO_NACKS_SENT},firCount:{transform:this.countPerSecond,type:r.SdkMetric.Type.VIDEO_FIRS_SENT},pliCount:{transform:this.countPerSecond,type:r.SdkMetric.Type.VIDEO_PLIS_SENT},bytesReceived:{transform:this.bitsPerSecond,type:r.SdkMetric.Type.VIDEO_RECEIVED_BITRATE},jitter:{transform:this.secondsToMilliseconds,type:r.SdkMetric.Type.VIDEO_RECEIVED_JITTER_MS},jitterBufferDelay:{transform:this.countPerSecond},jitterBufferEmittedCount:{transform:this.countPerSecond},jitterBufferMs:{transform:this.jitterBufferMs,type:r.SdkMetric.Type.VIDEO_JITTER_BUFFER_MS},qpSum:{transform:this.countPerSecond,type:r.SdkMetric.Type.VIDEO_RECEIVED_QP_SUM},frameHeight:{transform:this.identityValue,type:r.SdkMetric.Type.VIDEO_DECODE_HEIGHT},frameWidth:{transform:this.identityValue,type:r.SdkMetric.Type.VIDEO_DECODE_WIDTH},totalDecodeTime:{transform:this.averageTimeSpentPerSecondInMilliseconds,type:r.SdkMetric.Type.VIDEO_DECODE_MS},decoderImplementation:{transform:this.isHardwareImplementation,type:r.SdkMetric.Type.VIDEO_DECODER_IS_HARDWARE},totalFreezesDuration:{transform:this.averageTimeSpentPerSecondInMilliseconds,type:r.SdkMetric.Type.VIDEO_FREEZE_DURATION},freezeCount:{transform:this.countPerSecond,type:r.SdkMetric.Type.VIDEO_FREEZE_COUNT},totalPausesDuration:{transform:this.averageTimeSpentPerSecondInMilliseconds,type:r.SdkMetric.Type.VIDEO_PAUSE_DURATION},pauseCount:{transform:this.countPerSecond,type:r.SdkMetric.Type.VIDEO_PAUSE_COUNT},framesDropped:{transform:this.countPerSecond,type:r.SdkMetric.Type.VIDEO_DROPPED_FPS},videoRenderWidth:{transform:this.identityValue,type:r.SdkMetric.Type.VIDEO_RENDER_WIDTH},videoRenderHeight:{transform:this.identityValue,type:r.SdkMetric.Type.VIDEO_RENDER_HEIGHT}},this.streamDimensionMap={encoderImplementation:r.SdkStreamDimension.Type.VIDEO_ENCODER_NAME,decoderImplementation:r.SdkStreamDimension.Type.VIDEO_DECODER_NAME},this.observableVideoMetricSpec={videoUpstreamBitrate:{source:"bytesSent",media:s.default.VIDEO,dir:o.default.UPSTREAM},videoUpstreamPacketsSent:{source:"packetsSent",media:s.default.VIDEO,dir:o.default.UPSTREAM},videoUpstreamPacketLossPercent:{source:"packetsLost",media:s.default.VIDEO,dir:o.default.UPSTREAM},videoUpstreamFramesEncodedPerSecond:{source:"framesEncoded",media:s.default.VIDEO,dir:o.default.UPSTREAM},videoUpstreamFramesInputPerSecond:{source:"framesPerSecond",media:s.default.VIDEO,dir:o.default.UPSTREAM},videoUpstreamFrameHeight:{source:"frameHeight",media:s.default.VIDEO,dir:o.default.UPSTREAM},videoUpstreamFrameWidth:{source:"frameWidth",media:s.default.VIDEO,dir:o.default.UPSTREAM},videoUpstreamJitterMs:{source:"jitter",media:s.default.VIDEO,dir:o.default.UPSTREAM},videoUpstreamRoundTripTimeMs:{source:"roundTripTime",media:s.default.VIDEO,dir:o.default.UPSTREAM},videoUpstreamEncoderImplementation:{source:"encoderImplementation",media:s.default.VIDEO,dir:o.default.UPSTREAM},videoUpstreamTotalEncodeTimePerSecond:{source:"totalEncodeTime",media:s.default.VIDEO,dir:o.default.UPSTREAM},videoUpstreamCpuQualityLimitationDurationPerSecond:{source:"qualityLimitationDurations",media:s.default.VIDEO,dir:o.default.UPSTREAM},videoDownstreamBitrate:{source:"bytesReceived",media:s.default.VIDEO,dir:o.default.DOWNSTREAM},videoDownstreamPacketLossPercent:{source:"packetsLost",media:s.default.VIDEO,dir:o.default.DOWNSTREAM},videoDownstreamPacketsReceived:{source:"packetsReceived",media:s.default.VIDEO,dir:o.default.DOWNSTREAM},videoDownstreamFramesDecodedPerSecond:{source:"framesDecoded",media:s.default.VIDEO,dir:o.default.DOWNSTREAM},videoDownstreamFrameHeight:{source:"frameHeight",media:s.default.VIDEO,dir:o.default.DOWNSTREAM},videoDownstreamFrameWidth:{source:"frameWidth",media:s.default.VIDEO,dir:o.default.DOWNSTREAM},videoDownstreamJitterMs:{source:"jitter",media:s.default.VIDEO,dir:o.default.DOWNSTREAM},videoDownstreamDelayMs:{source:"jitterBufferMs",media:s.default.VIDEO,dir:o.default.DOWNSTREAM}},this.observableMetricSpec={audioPacketsReceived:{source:"packetsReceived",media:s.default.AUDIO,dir:o.default.DOWNSTREAM},audioPacketsReceivedFractionLoss:{source:"packetsLost",media:s.default.AUDIO,dir:o.default.DOWNSTREAM},audioDecoderLoss:{source:"decoderLoss",media:s.default.AUDIO,dir:o.default.DOWNSTREAM},audioPacketsSent:{source:"packetsSent",media:s.default.AUDIO,dir:o.default.UPSTREAM},audioPacketLossPercent:{source:"packetsLost",media:s.default.AUDIO,dir:o.default.UPSTREAM},audioUpstreamRoundTripTimeMs:{source:"roundTripTime",media:s.default.AUDIO,dir:o.default.UPSTREAM},videoUpstreamBitrate:{source:"bytesSent",media:s.default.VIDEO,dir:o.default.UPSTREAM},videoPacketSentPerSecond:{source:"packetsSent",media:s.default.VIDEO,dir:o.default.UPSTREAM},audioSpeakerDelayMs:{source:"jitterBufferMs",media:s.default.AUDIO,dir:o.default.DOWNSTREAM},audioUpstreamJitterMs:{source:"jitter",media:s.default.AUDIO,dir:o.default.UPSTREAM},audioDownstreamJitterMs:{source:"jitter",media:s.default.AUDIO,dir:o.default.DOWNSTREAM},nackCountReceivedPerSecond:{source:"nackCount",media:s.default.VIDEO,dir:o.default.UPSTREAM},availableOutgoingBitrate:{source:"availableOutgoingBitrate"},availableIncomingBitrate:{source:"availableIncomingBitrate"},currentRoundTripTimeMs:{source:"currentRoundTripTime"},audioDownstreamLevel:{source:"audioLevel",media:s.default.AUDIO,dir:o.default.DOWNSTREAM}
2138,audioUpstreamLevel:{source:"audioLevel"}}}getMetricMap(e,t){switch(e){case s.default.AUDIO:switch(t){case o.default.UPSTREAM:return this.audioUpstreamMetricMap;case o.default.DOWNSTREAM:return this.audioDownstreamMetricMap}case s.default.VIDEO:switch(t){case o.default.UPSTREAM:return this.videoUpstreamMetricMap;case o.default.DOWNSTREAM:return this.videoDownstreamMetricMap}default:return this.globalMetricMap}}getStreamDimensionMap(){return this.streamDimensionMap}getObservableMetricValue(e){if(this.overriddenObservableMetrics.has(e))return this.overriddenObservableMetrics.get(e);const t=this.observableMetricSpec[e],i=this.getMetricMap(t.media,t.dir)[t.source],{transform:n,source:r}=i;if(!t.hasOwnProperty("media"))return n(r||t.source);for(const e in this.streamMetricReports){const i=this.streamMetricReports[e];if(i.direction===t.dir&&i.mediaType===t.media)return n(r||t.source,Number(e))}return 0}getObservableVideoMetricValue(e,t){const i=this.observableVideoMetricSpec[e],n=this.getMetricMap(i.media,i.dir)[i.source],{transform:r,source:o}=n;return r(o||i.source,t)}getVideoUpstreamSsrcs(){const e=[];for(const t in this.streamMetricReports)this.streamMetricReports[t].mediaType===s.default.VIDEO&&this.streamMetricReports[t].direction===o.default.UPSTREAM&&e.push(Number(t));return e}getObservableMetrics(){const e={};for(const t in this.observableMetricSpec)e[t]=this.getObservableMetricValue(t);return e}getObservableVideoMetrics(){const e={};if(!this.videoStreamIndex||!this.selfAttendeeId)return this.logger.error("Need to define VideoStreamIndex and selfAttendeeId if using getObservableVideoMetrics API"),e;for(const t in this.streamMetricReports)if(this.streamMetricReports[t].mediaType===s.default.VIDEO){const i={};for(const e in this.observableVideoMetricSpec)if(this.observableVideoMetricSpec[e].dir===this.streamMetricReports[t].direction){const n=this.getObservableVideoMetricValue(e,Number(t));isNaN(n)||(i[e]=n)}const n=this.streamMetricReports[t].groupId,r=this.streamMetricReports[t].streamId;let o="";o=void 0!==this.videoStreamIndex.attendeeIdForGroupId?n?this.videoStreamIndex.attendeeIdForGroupId(n):this.selfAttendeeId:r?this.videoStreamIndex.attendeeIdForStreamId(r):this.selfAttendeeId,e[o]=e[o]?e[o]:{},e[o][t]=i}return e}getRTCStatsReport(){return this.rtcStatsReport}clone(){const e=new d(this.logger,this.videoStreamIndex,this.selfAttendeeId);return e.globalMetricReport=this.globalMetricReport,e.streamMetricReports=this.streamMetricReports,e.rtcStatsReport=this.rtcStatsReport,e.customStatsReports=this.customStatsReports,e.currentTimestampMs=this.currentTimestampMs,e.previousTimestampMs=this.previousTimestampMs,e.overriddenObservableMetrics=this.overriddenObservableMetrics,e}print(){const e={globalMetricReport:this.globalMetricReport,streamMetricReports:this.streamMetricReports,currentTimestampMs:this.currentTimestampMs,previousTimestampMs:this.previousTimestampMs};this.logger.debug(()=>`Client Metric Report: ${JSON.stringify(e)}`)}removeDestroyedSsrcs(){for(const e in this.streamMetricReports)this.currentSsrcs[e]||delete this.streamMetricReports[e]}overrideObservableMetric(e,t){this.overriddenObservableMetrics.set(e,t)}}t.default=d},19542(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.ClientMetricReportDirection=void 0,function(e){e[e.UPSTREAM=0]="UPSTREAM",e[e.DOWNSTREAM=1]="DOWNSTREAM"}(i=t.ClientMetricReportDirection||(t.ClientMetricReportDirection={})),t.default=i},53551(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.ClientMetricReportMediaType=void 0,function(e){e[e.AUDIO=0]="AUDIO",e[e.VIDEO=1]="VIDEO"}(i=t.ClientMetricReportMediaType||(t.ClientMetricReportMediaType={})),t.default=i},84276(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{}},95963(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.previousMetrics={},this.currentMetrics={},this.currentStringMetrics={},this.previousObjectMetrics={},this.currentObjectMetrics={}}}},39358(e,t){"use strict";
2138Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.currentTimestampMs=0,this.ssrc=0,this.totalAudioPacketsLost=0,this.totalAudioPacketsExpected=0,this.totalAudioPacketsRecoveredRed=0,this.totalAudioPacketsRecoveredFec=0}}},86216(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.previousMetrics={},this.currentMetrics={},this.currentStringMetrics={},this.previousObjectMetrics={},this.currentObjectMetrics={}}}},97640(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e,t,i){this.minHealth=e.minHealth,this.maxHealth=e.maxHealth,this.currentHealth=e.initialHealth,this.currentData=t.clone(),this.name=i}minimumHealth(){return this.minHealth}maximumHealth(){return this.maxHealth}health(){return this.maximumHealth()}update(e){this.currentData=e}getConnectionHealthData(){return this.currentData.clone()}healthy(){return this.health()>this.minimumHealth()}healthIfChanged(){const e=this.health();return e!==this.currentHealth?(this.currentHealth=e,e):null}}},2579(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class i{constructor(){this.connectionStartTimestampMs=0,this.consecutiveStatsWithNoPackets=0,this.consecutiveStatsWithNoAudioPacketsSent=0,this.lastPacketLossInboundTimestampMs=0,this.lastGoodSignalTimestampMs=0,this.lastWeakSignalTimestampMs=0,this.lastNoSignalTimestampMs=0,this.consecutiveMissedPongs=0,this.packetsReceivedInLastMinute=[],this.fractionPacketsLostInboundInLastMinute=[],this.audioSpeakerDelayMs=0,this.isVideoEncoderHardware=!1,this.videoEncodingTimeInMs=0,this.videoEncodingTimePerFrameInMs=0,this.cpuLimitationDuration=0,this.videoInputFps=0,this.videoEncodeFps=0,this.isContentShare=!1,this.numberOfPublishedVideoSources=0,this.connectionStartTimestampMs=Date.now(),this.lastGoodSignalTimestampMs=Date.now()}static isTimestampRecent(e,t){return Date.now()<e+t}setConnectionStartTime(){this.connectionStartTimestampMs=Date.now(),this.lastGoodSignalTimestampMs=Date.now()}reset(){this.connectionStartTimestampMs=0,this.consecutiveStatsWithNoPackets=0,this.consecutiveStatsWithNoAudioPacketsSent=0,this.lastPacketLossInboundTimestampMs=0,this.lastGoodSignalTimestampMs=0,this.lastWeakSignalTimestampMs=0,this.lastNoSignalTimestampMs=0,this.consecutiveMissedPongs=0,this.packetsReceivedInLastMinute=[],this.fractionPacketsLostInboundInLastMinute=[],this.audioSpeakerDelayMs=0,this.connectionStartTimestampMs=Date.now(),this.lastGoodSignalTimestampMs=Date.now(),this.isVideoEncoderHardware=!1,this.videoEncodingTimeInMs=0,this.videoEncodingTimePerFrameInMs=0,this.cpuLimitationDuration=0,this.videoInputFps=0,this.videoEncodeFps=0,this.isContentShare=!1,this.numberOfPublishedVideoSources=0}isConnectionStartRecent(e){return i.isTimestampRecent(this.connectionStartTimestampMs,e)}isLastPacketLossRecent(e){return i.isTimestampRecent(this.lastPacketLossInboundTimestampMs,e)}isGoodSignalRecent(e){return i.isTimestampRecent(this.lastGoodSignalTimestampMs,e)}isWeakSignalRecent(e){return i.isTimestampRecent(this.lastWeakSignalTimestampMs,e)}isNoSignalRecent(e){return i.isTimestampRecent(this.lastNoSignalTimestampMs,e)}clone(){const e=new i;return e.connectionStartTimestampMs=this.connectionStartTimestampMs,e.consecutiveStatsWithNoPackets=this.consecutiveStatsWithNoPackets,e.consecutiveStatsWithNoAudioPacketsSent=this.consecutiveStatsWithNoAudioPacketsSent,e.lastPacketLossInboundTimestampMs=this.lastPacketLossInboundTimestampMs,e.lastGoodSignalTimestampMs=this.lastGoodSignalTimestampMs,e.lastWeakSignalTimestampMs=this.lastWeakSignalTimestampMs,e.lastNoSignalTimestampMs=this.lastNoSignalTimestampMs,e.consecutiveMissedPongs=this.consecutiveMissedPongs,e.packetsReceivedInLastMinute=this.packetsReceivedInLastMinute.slice(0),e.fractionPacketsLostInboundInLastMinute=this.fractionPacketsLostInboundInLastMinute.slice(0),e.audioSpeakerDelayMs=this.audioSpeakerDelayMs,e.isVideoEncoderHardware=this.isVideoEncoderHardware,e.videoEncodingTimeInMs=this.videoEncodingTimeInMs,e.videoEncodingTimePerFrameInMs=this.videoEncodingTimePerFrameInMs,e.cpuLimitationDuration=this.cpuLimitationDuration,e.videoInputFps=this.videoInputFps,e.videoEncodeFps=this.videoEncodeFps,e.isContentShare=this.isContentShare,e.
2138numberOfPublishedVideoSources=this.numberOfPublishedVideoSources,e}setConsecutiveMissedPongs(e){this.consecutiveMissedPongs=e}setConsecutiveStatsWithNoPackets(e){this.consecutiveStatsWithNoPackets=e}setConsecutiveStatsWithNoAudioPacketsSent(e){this.consecutiveStatsWithNoAudioPacketsSent=e}setLastPacketLossInboundTimestampMs(e){this.lastPacketLossInboundTimestampMs=e}setLastNoSignalTimestampMs(e){this.lastNoSignalTimestampMs=e}setLastWeakSignalTimestampMs(e){this.lastWeakSignalTimestampMs=e}setLastGoodSignalTimestampMs(e){this.lastGoodSignalTimestampMs=e}setAudioSpeakerDelayMs(e){this.audioSpeakerDelayMs=e}setIsVideoEncoderHardware(e){this.isVideoEncoderHardware=e}setVideoEncodingTimeInMs(e){this.videoEncodingTimeInMs=e}setVideoEncodingTimePerFrameInMs(e){this.videoEncodingTimePerFrameInMs=e}setCpuLimitationDuration(e){this.cpuLimitationDuration=e}setVideoInputFps(e){this.videoInputFps=e}setVideoEncodeFps(e){this.videoEncodeFps=e}setIsContentShare(e){this.isContentShare=e}setNumberOfPublishedVideoSources(e){this.numberOfPublishedVideoSources=e}}t.default=i},87811(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(5970)),o=n(i(48021)),s=n(i(52580));t.default=class{constructor(){this.minHealth=0,this.maxHealth=1,this.initialHealth=1,this.connectionUnhealthyThreshold=25,this.noSignalThresholdTimeMs=1e4,this.connectionWaitTimeMs=1e4,this.zeroBarsNoSignalTimeMs=5e3,this.oneBarWeakSignalTimeMs=5e3,this.twoBarsTimeMs=5e3,this.threeBarsTimeMs=1e4,this.fourBarsTimeMs=2e4,this.fiveBarsTimeMs=6e4,this.cooldownTimeMs=6e4,this.pastSamplesToConsider=15,this.goodSignalTimeMs=15e3,this.fractionalLoss=.5,this.packetsExpected=50,this.maximumTimesToWarn=2,this.missedPongsLowerThreshold=1,this.missedPongsUpperThreshold=4,this.maximumAudioDelayMs=6e4,this.maximumAudioDelayDataPoints=10,this.sendingAudioFailureSamplesToConsider=2,this.sendingAudioFailureInitialWaitTimeMs=3e3,this.videoEncodingHealthPolicies=[r.default,o.default,s.default],this.consecutiveHighEncodeCpuThreshold=10,this.highEncodeCpuMsThreshold=500,this.highEncodeCpuMsPerFrameThreshold=15,this.consecutiveVideoEncodingFailureThreshold=5,this.concurrentVideoSendersThreshold=15}}},24152(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(97640));class o extends r.default{constructor(e,t,i){super(t,i,"Reconnection Health"),this.logger=e,this.audioDelayPointsOverMaximum=0,o.CONNECTION_UNHEALTHY_THRESHOLD=t.connectionUnhealthyThreshold,o.CONNECTION_WAIT_TIME_MS=t.connectionWaitTimeMs,o.MISSED_PONGS_THRESHOLD=t.missedPongsUpperThreshold,o.MAXIMUM_AUDIO_DELAY_MS=t.maximumAudioDelayMs,o.MAXIMUM_AUDIO_DELAY_DATA_POINTS=t.maximumAudioDelayDataPoints}health(){if(this.currentData.isConnectionStartRecent(o.CONNECTION_WAIT_TIME_MS))return 1;const e=this.currentData.consecutiveStatsWithNoPackets>=o.CONNECTION_UNHEALTHY_THRESHOLD,t=this.currentData.consecutiveMissedPongs>=o.MISSED_PONGS_THRESHOLD;this.currentData.audioSpeakerDelayMs>o.MAXIMUM_AUDIO_DELAY_MS?this.audioDelayPointsOverMaximum+=1:this.audioDelayPointsOverMaximum=0;const i=this.audioDelayPointsOverMaximum>o.MAXIMUM_AUDIO_DELAY_DATA_POINTS;return i&&(this.audioDelayPointsOverMaximum=0),e||t||i?(this.logger.warn(`reconnection recommended due to: no packets received: ${e}, missed pongs: ${t}, bad audio delay: ${i}`),0):1}}t.default=o},22967(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(97640));class o extends r.default{constructor(e,t,i){super(t,i,"Sending Audio Health"),this.logger=e,this.sendingAudioFailureSamplesToConsider=t.sendingAudioFailureSamplesToConsider>0?t.sendingAudioFailureSamplesToConsider:1,this.sendingAudioFailureInitialWaitTimeMs=t.sendingAudioFailureInitialWaitTimeMs,this.maximumTimesToWarn=t.maximumTimesToWarn,this.coolDownTimeMs=t.cooldownTimeMs,this.lastWarnTimestampMs=0,this.warnCount=0}isSendingAudioUnhealthy(){const e=!this.currentData.isConnectionStartRecent(this.sendingAudioFailureInitialWaitTimeMs),t=this.currentData.consecutiveStatsWithNoAudioPacketsSent>=this.sendingAudioFailureSamplesToConsider;return e&&t}health(){if(this.isSendingAudioUnhealthy()){const e=Date.now()-this.lastWarnTimestampMs<this.coolDownTimeMs;return this.currentHealth>
2138this.minimumHealth()&&!e?(this.logger.warn(`Sending Audio is unhealthy for ${this.sendingAudioFailureSamplesToConsider} seconds consecutively.`),this.warnCount++,this.warnCount>this.maximumTimesToWarn?(this.logger.warn("SendingAudioFailure health policy maximum warnings breached. Falling back to reporting healthy."),this.maximumHealth()):(this.lastWarnTimestampMs=Date.now(),this.minimumHealth())):this.currentHealth}return this.maximumHealth()}}t.default=o},60588(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(97640));class o extends r.default{constructor(e,t){super(e,t,"Unusable Audio Warning"),this.coolDownTimeMs=e.cooldownTimeMs,this.pastSamplesToConsider=e.pastSamplesToConsider,this.fractionalLoss=e.fractionalLoss,this.packetsExpected=e.packetsExpected,this.maximumTimesToWarn=e.maximumTimesToWarn,this.lastWarnTimestampMs=0,this.warnCount=0}calculateFractionalLoss(){if(this.currentData.packetsReceivedInLastMinute.length<this.pastSamplesToConsider)return 0;const e=this.pastSamplesToConsider,t=e*this.packetsExpected;let i=0;for(let t=0;t<e;t++)i+=this.currentData.packetsReceivedInLastMinute[t];return Math.min(Math.max(1-i/t,0),1)}health(){return Date.now()-this.lastWarnTimestampMs<this.coolDownTimeMs?this.currentHealth:this.calculateFractionalLoss()>=this.fractionalLoss?0!==this.currentHealth&&(this.lastWarnTimestampMs=Date.now(),this.warnCount++,this.warnCount>this.maximumTimesToWarn)?1:0:1}}t.default=o},5970(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(97640)),o=n(i(18412));class s extends r.default{constructor(e,t){super(e,t,o.default.VideoConcurrentSendersHealth),this.concurrentVideoSendersThreshold=e.concurrentVideoSendersThreshold}health(){return this.currentData.isContentShare?this.maximumHealth():this.currentData.numberOfPublishedVideoSources>this.concurrentVideoSendersThreshold?this.minimumHealth():this.maximumHealth()}}t.default=s},18412(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.VideoEncodingConnectionHealthPolicyName=void 0,function(e){e.VideoEncodingCpuHealth="Video Encoding CPU Health",e.VideoEncodingFramerateHealth="Video Encoding framerate Health",e.VideoConcurrentSendersHealth="Video Concurrent Senders Health"}(i=t.VideoEncodingConnectionHealthPolicyName||(t.VideoEncodingConnectionHealthPolicyName={})),t.default=i},48021(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(97640)),o=n(i(18412));class s extends r.default{constructor(e,t){super(e,t,o.default.VideoEncodingCpuHealth),this.consecutiveHighEncodeCpuCnt=0,this.consecutiveHighEncodeCpuThreshold=e.consecutiveHighEncodeCpuThreshold,this.highEncodeCpuMsThreshold=e.highEncodeCpuMsThreshold,this.highEncodeCpuMsPerFrameThreshold=e.highEncodeCpuMsPerFrameThreshold}health(){const e=this.currentData.videoEncodingTimeInMs>=this.highEncodeCpuMsThreshold&&this.currentData.videoEncodingTimePerFrameInMs>=this.highEncodeCpuMsPerFrameThreshold;if(!this.currentData.isVideoEncoderHardware&&(e||this.currentData.cpuLimitationDuration>0)){if(this.consecutiveHighEncodeCpuCnt++,this.consecutiveHighEncodeCpuCnt>this.consecutiveHighEncodeCpuThreshold)return this.consecutiveHighEncodeCpuCnt=0,this.minimumHealth()}else this.consecutiveHighEncodeCpuCnt=0;return this.maximumHealth()}}t.default=s},52580(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(97640)),o=n(i(18412));class s extends r.default{constructor(e,t){super(e,t,o.default.VideoEncodingFramerateHealth),this.consecutiveEncodeFailureCnt=0,this.consecutiveVideoEncodingFailureThreshold=e.consecutiveVideoEncodingFailureThreshold}health(){if(0===this.currentData.videoEncodeFps&&this.currentData.videoInputFps>0){if(this.consecutiveEncodeFailureCnt++,this.consecutiveEncodeFailureCnt>this.consecutiveVideoEncodingFailureThreshold)return this.consecutiveEncodeFailureCnt=0,this.minimumHealth()}else this.consecutiveEncodeFailureCnt=0;return this.maximumHealth()}}t.default=s},51569(e,t,i){"use strict";
2138Object.defineProperty(t,"__esModule",{value:!0});const n=i(89419);t.default=class{constructor(e,t,i,n,r){this.audioVideoController=e,this.realtimeController=t,this.connectionHealthData=i,this.pingPong=n,this.statsCollector=r,this.isActive=!1,this.hasSeenValidCandidatePairMetricsBefore=!1,this.lastTotalBytesReceived=0,this.lastTotalStunMessagesReceived=0,this.realtimeController.realtimeSubscribeToLocalSignalStrengthChange(e=>{this.isActive&&this.receiveSignalStrengthChange(e)})}start(){this.isActive=!0,this.pingPong.addObserver(this),this.pingPong.start(),this.audioVideoController.addObserver(this)}stop(){this.isActive=!1,this.pingPong.removeObserver(this),this.pingPong.stop(),this.audioVideoController.removeObserver(this)}receiveSignalStrengthChange(e){0===e?this.connectionHealthData.setLastNoSignalTimestampMs(Date.now()):e<=.5?this.connectionHealthData.setLastWeakSignalTimestampMs(Date.now()):this.connectionHealthData.setLastGoodSignalTimestampMs(Date.now()),this.updateConnectionHealth()}didReceivePong(e,t,i){this.connectionHealthData.setConsecutiveMissedPongs(0),this.statsCollector.logLatency("ping_pong",t),this.statsCollector.logLatency("ping_pong_clock_skew",i),this.updateConnectionHealth()}didMissPongs(){this.connectionHealthData.setConsecutiveMissedPongs(this.connectionHealthData.consecutiveMissedPongs+1),this.updateConnectionHealth()}metricsDidReceive(e){let t=0,i=0;const n=e.getObservableMetrics(),r=n.audioPacketsReceived,o=n.audioPacketsReceivedFractionLoss,s=n.audioSpeakerDelayMs;"number"!=typeof s||isNaN(s)||this.connectionHealthData.setAudioSpeakerDelayMs(s);const a=e.getRTCStatsReport();let d=0,c=0;a.forEach(e=>{"candidate-pair"===e.type&&(e.bytesReceived&&(d+=e.bytesReceived),e.requestsReceived&&(c+=e.requestsReceived),e.responsesReceived&&(c+=e.responsesReceived))});const l=d-this.lastTotalBytesReceived;this.lastTotalBytesReceived=d;const u=c-this.lastTotalStunMessagesReceived;this.lastTotalStunMessagesReceived=c,"number"==typeof r&&"number"==typeof o&&(t=r,i=o,t<0||i<0||l<0||u<0||(this.addToMinuteWindow(this.connectionHealthData.packetsReceivedInLastMinute,t),this.addToMinuteWindow(this.connectionHealthData.fractionPacketsLostInboundInLastMinute,i),l>0||u>0?(this.hasSeenValidCandidatePairMetricsBefore=!0,this.connectionHealthData.setConsecutiveStatsWithNoPackets(0)):this.hasSeenValidCandidatePairMetricsBefore&&this.connectionHealthData.setConsecutiveStatsWithNoPackets(this.connectionHealthData.consecutiveStatsWithNoPackets+1),(0===t||i>0)&&this.connectionHealthData.setLastPacketLossInboundTimestampMs(Date.now()),"number"==typeof n.audioPacketsSent&&this.updateAudioPacketsSentInConnectionHealth(n.audioPacketsSent),this.updateVideoEncodingHealth(e),this.updateConnectionHealth()))}updateAudioPacketsSentInConnectionHealth(e){e>0?this.connectionHealthData.setConsecutiveStatsWithNoAudioPacketsSent(0):this.connectionHealthData.setConsecutiveStatsWithNoAudioPacketsSent(this.connectionHealthData.consecutiveStatsWithNoAudioPacketsSent+1)}updateVideoEncodingHealth(e){const t=this.audioVideoController.videoTileController.hasStartedLocalVideoTile(),i=e.getVideoUpstreamSsrcs();if(!t||0===i.length)return this.connectionHealthData.setIsVideoEncoderHardware(!1),this.connectionHealthData.setVideoEncodingTimePerFrameInMs(0),this.connectionHealthData.setCpuLimitationDuration(0),this.connectionHealthData.setVideoInputFps(0),void this.connectionHealthData.setVideoEncodeFps(0);let n=!1,r=0,o=0,s=0,a=0;for(const t of i)n||(n=Boolean(e.getObservableVideoMetricValue("videoUpstreamEncoderImplementation",t))),r+=e.getObservableVideoMetricValue("videoUpstreamTotalEncodeTimePerSecond",t),o+=e.getObservableVideoMetricValue("videoUpstreamCpuQualityLimitationDurationPerSecond",t),s+=e.getObservableVideoMetricValue("videoUpstreamFramesInputPerSecond",t),a+=e.getObservableVideoMetricValue("videoUpstreamFramesEncodedPerSecond",t);const d=a>0?r/a:0;this.connectionHealthData.setIsVideoEncoderHardware(Boolean(n)),this.connectionHealthData.setVideoEncodingTimeInMs(r),this.connectionHealthData.setVideoEncodingTimePerFrameInMs(d),this.connectionHealthData.setCpuLimitationDuration(o),this.connectionHealthData.setVideoInputFps(s),this.connectionHealthData.setVideoEncodeFps(a)}addToMinuteWindow(e,t){e.unshift(t),e.length>60&&e.pop()}updateConnectionHealth(){this.audioVideoController.forEachObserver(e=>{n.Maybe.of(e.connectionHealthDidChange).map(t=>t.bind(e)(this.connectionHealthData.clone()))})}}},40736(e,t){"use strict";var i;
2138Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Modality="#content"}(i||(i={})),t.default=i},8892(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(98824)),s=r(i(70536));class a{constructor(e){this.logger=e}get mediaStream(){return this._mediaStream}set mediaStream(e){this._mediaStream=e}acquireAudioInputStream(){return n(this,void 0,void 0,function*(){return 0===this._mediaStream.getAudioTracks().length?(this.logger.info("No audio stream available. Synthesizing an audio stream."),s.default.synthesizeAudioDevice(0)):this._mediaStream})}acquireVideoInputStream(){return n(this,void 0,void 0,function*(){return this._mediaStream})}acquireDisplayInputStream(e){return n(this,void 0,void 0,function*(){return e&&e.video&&e.video.mandatory&&e.video.mandatory.chromeMediaSource&&e.video.mandatory.chromeMediaSourceId?navigator.mediaDevices.getUserMedia(e):navigator.mediaDevices.getDisplayMedia(e)})}acquireScreenCaptureDisplayInputStream(e,t){return n(this,void 0,void 0,function*(){return this.acquireDisplayInputStream(this.screenCaptureDisplayMediaConstraints(e,t))})}screenCaptureDisplayMediaConstraints(e,t){return{audio:!(e||!(new o.default).getDisplayMediaAudioCaptureSupport()),video:Object.assign(Object.assign({},!e&&{frameRate:{max:t||a.defaultFrameRate}}),e&&{mandatory:{chromeMediaSource:"desktop",chromeMediaSourceId:e,maxFrameRate:t||a.defaultFrameRate}})}}toggleMediaStream(e){let t=!1;if(this.mediaStream)for(let i=0;i<this.mediaStream.getTracks().length;i++)this.mediaStream.getTracks()[i].enabled!==e&&(this.mediaStream.getTracks()[i].enabled=e,t=!0);return t}cleanup(){if(this.mediaStream)for(let e=0;e<this.mediaStream.getTracks().length;e++)this.mediaStream.getTracks()[e].stop();this.mediaStream=null}muteLocalAudioInputStream(){throw new Error("unsupported")}unmuteLocalAudioInputStream(){throw new Error("unsupported")}addMediaStreamBrokerObserver(e){}removeMediaStreamBrokerObserver(e){}}t.default=a,a.defaultFrameRate=15},13876(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(28586)),s=r(i(5481)),a=r(i(24981)),d=r(i(38148)),c=r(i(91365)),l=i(89419),u=r(i(53182)),h=r(i(45936)),p=r(i(40736));t.default=class{constructor(e,t,i){this.mediaStreamBroker=e,this.contentAudioVideo=t,this.attendeeAudioVideo=i,this.observerQueue=new Set,this.destroyed=!1,this.contentAudioVideo.addObserver(this),this.setupContentShareEvents()}static createContentShareMeetingSessionConfigure(e){const t=new s.default;return t.meetingId=e.meetingId,t.externalMeetingId=e.externalMeetingId,t.urls=e.urls,t.disablePeriodicKeyframeRequestOnContentSender=e.disablePeriodicKeyframeRequestOnContentSender,t.credentials=new a.default,t.credentials.attendeeId=e.credentials.attendeeId+p.default.Modality,t.credentials.externalUserId=e.credentials.externalUserId,t.credentials.joinToken=e.credentials.joinToken+p.default.Modality,t.meetingFeatures=e.meetingFeatures.clone(),t.videoDownlinkBandwidthPolicy=new u.default,t}setContentAudioProfile(e){this.contentAudioVideo.setAudioProfile(e)}enableSimulcastForContentShare(e,t){e?(this.contentAudioVideo.configuration.enableSimulcastForUnifiedPlanChromiumBasedBrowsers=!0,this.contentAudioVideo.configuration.videoUplinkBandwidthPolicy=new h.default(this.contentAudioVideo.logger,t)):(this.contentAudioVideo.
2138configuration.enableSimulcastForUnifiedPlanChromiumBasedBrowsers=!1,this.contentAudioVideo.configuration.videoUplinkBandwidthPolicy=void 0)}enableSVCForContentShare(e){this.contentAudioVideo.configuration.enableSVC=!!e}startContentShare(e){return n(this,void 0,void 0,function*(){if(e)if(this.contentAudioVideo.configuration.meetingFeatures.contentMaxResolution!==o.default.VideoDisabled){this.mediaStreamBroker.mediaStream=e;for(let e=0;e<this.mediaStreamBroker.mediaStream.getTracks().length;e++)this.mediaStreamBroker.mediaStream.getTracks()[e].addEventListener("ended",()=>{this.stopContentShare()});this.contentAudioVideo.start()}else this.contentAudioVideo.logger.info("Could not start content because max content resolution was set to None")})}startContentShareFromScreenCapture(e,t){return n(this,void 0,void 0,function*(){const i=yield this.mediaStreamBroker.acquireScreenCaptureDisplayInputStream(e,t);return yield this.startContentShare(i),i})}pauseContentShare(){this.mediaStreamBroker.toggleMediaStream(!1)&&this.forEachContentShareObserver(e=>{l.Maybe.of(e.contentShareDidPause).map(t=>t.call(e))})}unpauseContentShare(){this.mediaStreamBroker.toggleMediaStream(!0)&&this.forEachContentShareObserver(e=>{l.Maybe.of(e.contentShareDidUnpause).map(t=>t.call(e))})}setContentShareVideoCodecPreferences(e){this.contentAudioVideo.setVideoCodecSendPreferences(e)}destroy(){return n(this,void 0,void 0,function*(){this.contentAudioVideo&&(this.destroyed=!0,this.contentAudioVideo.removeObserver(this),this.stopContentShare(),this.observerQueue.clear(),this.contentAudioVideo=void 0,this.attendeeAudioVideo=void 0,this.mediaStreamBroker=void 0)})}stopContentShare(){this.contentAudioVideo.stop(),this.mediaStreamBroker.cleanup()}addContentShareObserver(e){this.observerQueue.add(e)}removeContentShareObserver(e){this.observerQueue.delete(e)}forEachContentShareObserver(e){for(const t of this.observerQueue)c.default.nextTick(()=>{this.observerQueue.has(t)&&e(t)})}audioVideoDidStart(){var e;(null===(e=this.mediaStreamBroker.mediaStream)||void 0===e?void 0:e.getVideoTracks().length)>0&&this.contentAudioVideo.videoTileController.startLocalVideoTile()}audioVideoDidStop(e){this.mediaStreamBroker.cleanup(),this.contentShareTile&&(this.attendeeAudioVideo.videoTileController.removeVideoTile(this.contentShareTile.id()),this.contentShareTile=null),this.forEachContentShareObserver(e=>{l.Maybe.of(e.contentShareDidStop).map(t=>t.call(e))})}setupContentShareEvents(){this.attendeeAudioVideo.realtimeController.realtimeSubscribeToAttendeeIdPresence((e,t,i,n)=>{const r=new d.default(e).hasModality(d.default.MODALITY_CONTENT),o=new d.default(e).base()===this.attendeeAudioVideo.configuration.credentials.attendeeId;if(!r||!o||!t||this.contentShareTile)return;const s=this.mediaStreamBroker.mediaStream;if(null==s?void 0:s.getVideoTracks().length){this.contentShareTile=this.attendeeAudioVideo.videoTileController.addVideoTile();const e=s.getVideoTracks()[0];let t,i;if(e.getSettings){const n=e.getSettings();t=n.width,i=n.height}else{const n=e.getCapabilities();t=n.width,i=n.height}this.contentShareTile.bindVideoStream(this.contentAudioVideo.configuration.credentials.attendeeId,!1,s,t,i,null,this.contentAudioVideo.configuration.credentials.externalUserId)}this.forEachContentShareObserver(e=>{l.Maybe.of(e.contentShareDidStart).map(t=>t.call(e))})})}}},6393(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class n{static register(){"document"in i.g&&document.addEventListener&&n.shouldRegisterCSPMonitor&&(n.added||(document.addEventListener("securitypolicyviolation",n.listener),n.added=!0))}static unregister(){"document"in i.g&&document.removeEventListener&&(document.removeEventListener("securitypolicyviolation",n.listener),n.loggers=new Set,n.added=!1)}static disable(){n.shouldRegisterCSPMonitor=!1,n.unregister()}static addLogger(e){e&&n.loggers.add(e)}static removeLogger(e){e&&n.loggers.delete(e)}}t.default=n,n.loggers=new Set,n.shouldRegisterCSPMonitor=!0,n.added=!1,n.listener=e=>{const t=`Security Policy Violation\nBlocked URI: ${e.blockedURI}\nViolated Directive: ${e.violatedDirective}\nOriginal Policy: ${e.originalPolicy}\nDocument URI: ${e.documentURI}\nSource File: ${e.sourceFile}\nLine No.: ${e.lineNumber}\n`;for(const e of n.loggers)e.error(t);0===n.loggers.size&&console.error(t)}},26315(e,t){"use strict";
2138Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e,t,i,n,r,o){this.timestampMs=e,this.topic=t,this.data=i,this.senderAttendeeId=n,this.senderExternalUserId=r,this.throttled=!!o}text(){return(new TextDecoder).decode(this.data)}json(){return JSON.parse((new TextDecoder).decode(this.data))}}},45099(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isDestroyable=void 0,t.isDestroyable=function(e){return e&&"destroy"in e}},22975(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isAudioTransformDevice=void 0,t.isAudioTransformDevice=function(e){return!!e&&"object"==typeof e&&"mute"in e&&"stop"in e&&"intrinsicDevice"in e}},70536(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(98824)),s=r(i(84620)),a=r(i(91365)),d=r(i(1e4)),c=i(89419),l=r(i(3765)),u=r(i(60686)),h=i(22975),p=r(i(60135)),f=r(i(56474)),m=r(i(95564)),g=r(i(35434)),v=r(i(95683)),b=r(i(32865)),y=r(i(93405)),S=r(i(28586)),w=i(21260);class C{constructor(e,t,i=new o.default,n){this.logger=e,this.browserBehavior=i,this.eventController=n,this.deviceInfoCache=null,this.activeDevices={audio:null,video:null},this.chosenVideoTransformDevice=null,this.audioOutputDeviceId=void 0,this.deviceChangeObservers=new Set,this.mediaStreamBrokerObservers=new Set,this.deviceLabelTrigger=()=>navigator.mediaDevices.getUserMedia({audio:!0,video:!0}),this.audioInputDestinationNode=null,this.audioInputSourceNode=null,this.videoInputQualitySettings=null,this.useWebAudio=!1,this.useMediaConstraintsFallback=!0,this.audioInputTaskQueue=new d.default,this.videoInputTaskQueue=new d.default,this.muted=!1,this.mediaStreamMuteObserver=(e,t)=>{for(const i of this.deviceChangeObservers)a.default.nextTick(()=>{this.deviceChangeObservers.has(i)&&i.audioInputMuteStateChanged&&i.audioInputMuteStateChanged(e,t)})},this.alreadyHandlingDeviceChange=!1;const{enableWebAudio:r=!1,useMediaConstraintsFallback:c=!0}=t||{};this.useWebAudio=r,this.useMediaConstraintsFallback=c,this.videoInputQualitySettings=new S.default(C.defaultVideoWidth,C.defaultVideoHeight,C.defaultVideoFrameRate);const l=this.browserBehavior.requiresResolutionAlignment(this.videoInputQualitySettings.videoWidth,this.videoInputQualitySettings.videoHeight);this.videoInputQualitySettings.videoWidth=l[0],this.videoInputQualitySettings.videoHeight=l[1],this.logger.info(`DefaultDeviceController video dimension ${this.videoInputQualitySettings.videoWidth} x ${this.videoInputQualitySettings.videoHeight}`);try{this.mediaDeviceWrapper=(new s.default).create();const e=navigator.mediaDevices.getSupportedConstraints();this.logger.info(`Supported Constraints in this browser ${JSON.stringify(e)}`)}catch(t){e.error(t.message)}}isWatchingForDeviceChanges(){return!!this.onDeviceChangeCallback}ensureWatchingDeviceChanges(){var e;this.isWatchingForDeviceChanges()||(this.logger.info("Starting devicechange listener."),this.onDeviceChangeCallback=()=>{this.logger.info("Device change event callback is triggered"),this.handleDeviceChange()},null===(e=this.mediaDeviceWrapper)||void 0===e||e.addEventListener("devicechange",this.onDeviceChangeCallback))}stopWatchingDeviceChanges(){var e;this.isWatchingForDeviceChanges()&&(this.logger.info("Stopping devicechange listener."),null===(e=this.mediaDeviceWrapper)||void 0===e||e.removeEventListener("devicechange",this.onDeviceChangeCallback),this.onDeviceChangeCallback=void 0)}shouldObserveDeviceChanges(){return!!this.deviceChangeObservers.size||(this.activeDevices.audio&&null!==this.activeDevices.audio.constraints||this.activeDevices.video&&null!==this.activeDevices.video.constraints||!!this.audioOutputDeviceId)}watchForDeviceChangesIfNecessary(){this.shouldObserveDeviceChanges()?this.ensureWatchingDeviceChanges():this.stopWatchingDeviceChanges()}destroy(){return n(this,void 0,void 0,function*(){this.stopWatchingDeviceChanges(),yield this.stopAudioInput(),yield this.stopVideoInput()})}listAudioInputDevices(e=!1){return n(this,void 0,void 0,function*(){const t=yield this.listDevicesOfKind("audioinput",e);return this.trace("listAudioInputDevices",e,t),t})}listVideoInputDevices(e=!1){return n(this,void 0,void 0,function*(){const t=yield this.listDevicesOfKind("videoinput",e);return this.trace("listVideoInputDevices",e,t),t})}listAudioOutputDevices(e=!1){return n(this,void 0,void 0,function*(){const t=yield this.listDevicesOfKind("audiooutput",e);return this.trace("listAudioOutputDevices",e,t),t})}pushAudioMeetingStateForPermissions(e){var t;null===(t=this.eventController)||void 0===t||t.publishEvent(void 0===e?"audio
2138InputUnselected":"audioInputSelected")}pushVideoMeetingStateForPermissions(e){var t;null===(t=this.eventController)||void 0===t||t.publishEvent(void 0===e?"videoInputUnselected":"videoInputSelected")}startAudioInput(e){return n(this,void 0,void 0,function*(){return yield this.audioInputTaskQueue.add(()=>this.startAudioInputTask(e))})}startAudioInputTask(e){var t;return n(this,void 0,void 0,function*(){if(void 0!==e)try{return h.isAudioTransformDevice(e)?(this.logger.info(`Choosing transform input device ${e}`),yield this.chooseAudioTransformInputDevice(e)):(this.logger.info(`Choosing intrinsic audio input device ${e}`),this.removeTransform(),yield this.chooseInputIntrinsicDevice("audio",e)),this.trace("startAudioInputDevice",e,"success"),this.useWebAudio?(this.attachAudioInputStreamToAudioContext(this.activeDevices.audio.stream),this.pushAudioMeetingStateForPermissions(this.getMediaStreamDestinationNode().stream),yield null===(t=this.transform)||void 0===t?void 0:t.device.mute(this.muted),this.getMediaStreamDestinationNode().stream):(this.publishAudioInputDidChangeEvent(this.activeDevices.audio.stream),this.activeDevices.audio.stream)}catch(e){throw e}else this.logger.error("Audio input device cannot be undefined")})}stopAudioInput(){return n(this,void 0,void 0,function*(){return this.audioInputTaskQueue.add(()=>this.stopAudioInputTask())})}stopAudioInputTask(){return n(this,void 0,void 0,function*(){try{if(this.useWebAudio)return void this.releaseAudioTransformStream();this.stopTracksAndRemoveCallbacks("audio")}finally{this.watchForDeviceChangesIfNecessary(),this.publishAudioInputDidChangeEvent(void 0)}})}chooseAudioTransformInputDevice(e){var t;return n(this,void 0,void 0,function*(){if((null===(t=this.transform)||void 0===t?void 0:t.device)===e)return;if(!this.useWebAudio)throw new Error("Cannot apply transform device without enabling Web Audio.");const i=C.getAudioContext();if(i instanceof OfflineAudioContext);else switch(i.state){case"running":break;case"closed":throw new Error("Cannot choose a transform device with a closed audio context.");case"suspended":yield i.resume()}let n;try{n=yield e.createAudioNode(i)}catch(e){throw this.logger.error(`Unable to create transform device node: ${e}.`),e}const r=yield e.intrinsicDevice();yield this.chooseInputIntrinsicDevice("audio",r),this.logger.debug(`Got inner stream: ${r}.`),this.setTransform(e,n)})}chooseVideoTransformInputDevice(e){var t;return n(this,void 0,void 0,function*(){if(this.eventController&&e instanceof l.default&&e.passEventControllerToProcessors(this.eventController),e===this.chosenVideoTransformDevice)return void this.logger.info("Reselecting same VideoTransformDevice");const i=this.chosenVideoTransformDevice;i&&this.logger.info("Switched from previous VideoTransformDevice");const n=!!i,r=yield e.intrinsicDevice();if(!this.isMediaStreamReusableByDeviceId(null===(t=this.activeDevices.video)||void 0===t?void 0:t.stream,r))return this.logger.info("video transform device needs new intrinsic device"),n&&i.onOutputStreamDisconnect(),this.chosenVideoTransformDevice=e,this.activeDevices.video=null,yield this.chooseInputIntrinsicDevice("video",r),this.logger.info("apply processors to transform"),void(yield this.chosenVideoTransformDevice.transformStream(this.activeDevices.video.stream));this.chosenVideoTransformDevice=e,this.logger.info("video transform device uses previous stream"),this.logger.info("apply processors to transform"),yield e.transformStream(this.activeDevices.video.stream)})}startVideoInput(e){return n(this,void 0,void 0,function*(){return yield this.videoInputTaskQueue.add(()=>this.startVideoInputTask(e))})}startVideoInputTask(e){return n(this,void 0,void 0,function*(){if(e)try{return w.isVideoTransformDevice(e)?(this.logger.info(`Choosing video transform device ${e}`),yield this.chooseVideoTransformInputDevice(e),this.publishVideoInputDidChangeEvent(this.chosenVideoTransformDevice.outputMediaStream),this.chosenVideoTransformDevice.outputMediaStream):(this.chosenVideoInputIsTransformDevice()&&(this.chosenVideoTransformDevice.onOutputStreamDisconnect(),this.chosenVideoTransformDevice=null),yield this.chooseInputIntrinsicDevice("video",e),this.trace("startVideoInputDevice",e),this.publishVideoInputDidChangeEvent(this.activeDevices.video.stream),this.activeDevices.video.stream)}catch(e){throw e}else this.logger.error("Invalid video input device")})}stopVideoInput(){return n(this,void 0,void 0,function*(){return this.videoInputTaskQueue.add(()=>this.stopVideoInputTask())})}stopVideoInputTask(){return n(this,void 0,void 0,function*(){try{if(this.chosenVideoInputIsTransformDevice()
2138)return void this.releaseVideoTransformStream();this.stopTracksAndRemoveCallbacks("video")}finally{this.watchForDeviceChangesIfNecessary(),this.publishVideoInputDidChangeEvent(void 0)}})}chooseAudioOutput(e){return n(this,void 0,void 0,function*(){this.audioOutputDeviceId=e,this.watchForDeviceChangesIfNecessary();const t=this.deviceInfoFromDeviceId("audiooutput",this.audioOutputDeviceId);this.publishAudioOutputDidChangeEvent(t),this.trace("chooseAudioOutput",e,null)})}addDeviceChangeObserver(e){this.logger.info("adding device change observer"),this.deviceChangeObservers.add(e),this.watchForDeviceChangesIfNecessary(),this.trace("addDeviceChangeObserver")}removeDeviceChangeObserver(e){this.logger.info("removing device change observer"),this.deviceChangeObservers.delete(e),this.watchForDeviceChangesIfNecessary(),this.trace("removeDeviceChangeObserver")}createAnalyserNodeForAudioInput(){var e,t;if(!this.activeDevices.audio)return null;const i=null===(t=null===(e=this.transform)||void 0===e?void 0:e.nodes)||void 0===t?void 0:t.end;if(i){const e=i.context.createAnalyser();return e.removeOriginalInputs=()=>{try{i.disconnect(e)}catch(e){}},i.connect(e),e}return this.createAnalyserNodeForRawAudioInput()}createAnalyserNodeForRawAudioInput(){return this.activeDevices.audio?this.createAnalyserNodeForStream(this.activeDevices.audio.stream):null}createAnalyserNodeForStream(e){const t=C.getAudioContext(),i=t.createAnalyser(),n=t.createMediaStreamSource(e);return n.connect(i),this.trace("createAnalyserNodeForAudioInput"),i.removeOriginalInputs=()=>{try{n.disconnect(i)}catch(e){}},i}startVideoPreviewForVideoInput(e){if(!this.activeDevices.video)return this.logger.warn("cannot bind video preview since video input device has not been chosen"),void this.trace("startVideoPreviewForVideoInput",e.id);
2138u.default.connectVideoStreamToVideoElement(this.chosenVideoTransformDevice?this.chosenVideoTransformDevice.outputMediaStream:this.activeDevices.video.stream,e,!0),this.trace("startVideoPreviewForVideoInput",e.id)}stopVideoPreviewForVideoInput(e){u.default.disconnectVideoStreamFromVideoElement(e,!1),this.trace("stopVideoPreviewForVideoInput",e.id)}setDeviceLabelTrigger(e){if(this.deviceInfoCache)for(const e of this.deviceInfoCache)if(!e.label){this.deviceInfoCache=null;break}this.deviceLabelTrigger=e,this.trace("setDeviceLabelTrigger")}mixIntoAudioInput(e){let t=null;return this.useWebAudio?(t=C.getAudioContext().createMediaStreamSource(e),t.connect(this.getMediaStreamOutputNode())):this.logger.warn("WebAudio is not enabled, mixIntoAudioInput will not work"),this.trace("mixIntoAudioInput",e.id),t}chooseVideoInputQuality(e,t,i){const n=this.browserBehavior.requiresResolutionAlignment(e,t);this.videoInputQualitySettings=new S.default(n[0],n[1],i)}getVideoInputQualitySettings(){return this.videoInputQualitySettings}acquireAudioInputStream(){return n(this,void 0,void 0,function*(){return this.activeDevices.audio||(this.logger.info("No audio device chosen, creating empty audio device"),yield this.startAudioInput(null)),this.useWebAudio?this.getMediaStreamDestinationNode().stream:this.activeDevices.audio.stream})}acquireVideoInputStream(){return n(this,void 0,void 0,function*(){if(!this.activeDevices.video)throw new Error("No video device chosen");return this.chosenVideoInputIsTransformDevice()?this.chosenVideoTransformDevice.outputMediaStream:this.activeDevices.video.stream})}acquireDisplayInputStream(e){return n(this,void 0,void 0,function*(){throw new Error("unsupported")})}releaseAudioTransformStream(){this.logger.info("Stopping audio track for Web Audio graph"),this.stopTracksAndRemoveCallbacks("audio"),this.logger.info("Removing audio transform, if there is one."),this.removeTransform(),this.audioInputSourceNode&&(this.audioInputSourceNode.disconnect(),this.audioInputSourceNode=void 0),this.audioInputDestinationNode&&(this.audioInputDestinationNode.disconnect(),this.audioInputDestinationNode=void 0)}releaseVideoTransformStream(){this.logger.info("Stopping video track for transform"),this.stopTracksAndRemoveCallbacks("video"),this.logger.info("Disconnecting video transform"),this.chosenVideoTransformDevice.onOutputStreamDisconnect(),this.chosenVideoTransformDevice=null}stopTracksAndRemoveCallbacks(e){const t=this.activeDevices[e];if(!t)return;const i=t.endedCallback,n=t.trackMuteCallback,r=t.trackUnmuteCallback;for(const o of t.stream.getTracks())o.stop(),i&&o.removeEventListener("ended",i),n&&o.removeEventListener("mute",n),r&&o.removeEventListener("unmute",r),delete t.endedCallback,delete t.trackMuteCallback,delete t.trackUnmuteCallback,delete this.activeDevices[e]}chosenVideoInputIsTransformDevice(){return!!this.chosenVideoTransformDevice}muteLocalAudioInputStream(){this.toggleLocalAudioInputStream(!1)}unmuteLocalAudioInputStream(){this.toggleLocalAudioInputStream(!0)}toggleLocalAudioInputStream(e){var t;let i=this.activeDevices.audio;if(this.useWebAudio&&(i=this.getMediaStreamDestinationNode()),i){for(const t of i.stream.getTracks())t.enabled!==e&&(t.enabled=e);this.muted!==!e&&(this.muted=!e,null===(t=this.transform)||void 0===t||t.device.mute(this.muted))}}static getIntrinsicDeviceId(e){if(!e)return;if("string"==typeof e)return e;if(e.id)return e.id;const t=e.deviceId;if(!t)return;if("string"==typeof t||Array.isArray(t))return t;const i=t;return"string"==typeof i.exact||Array.isArray(i.exact)?i.exact:void 0}static createEmptyAudioDevice(){return C.synthesizeAudioDevice(0)}static synthesizeAudioDevice(e){const t=C.getAudioContext(),i=t.createMediaStreamDestination();if(e){const n=t.createGain();n.gain.value=.1,n.connect(i);const r=t.createOscillator();r.frequency.value=e,r.connect(n),r.start()}else{const e=t.createBufferSource();try{e.buffer=t.createBuffer(1,5*t.sampleRate,t.sampleRate)}catch(i){if(!i||"NotSupportedError"!==i.name)throw i;e.buffer=t.createBuffer(1,5*C.defaultSampleRate,C.defaultSampleRate)}e.buffer.getChannelData(0)[0]=3e-4,e.loop=!0,e.connect(i),e.start()}return i.stream}listDevicesOfKind(e,t){return n(this,void 0,void 0,function*(){return!t&&null!==this.deviceInfoCache&&this.isWatchingForDeviceChanges()||(yield this.updateDeviceInfoCacheFromBrowser()),this.listCachedDevicesOfKind(e)})}updateDeviceInfoCacheFromBrowser(){var e;return n(this,void 0,void 0,function*(){if("undefined"==typeof MediaDeviceInfo)return void(this.deviceInfoCache=[]);let t=yield navigator.mediaDevices.enumerateDevices(),i=!0;for(const e of t)if(!e.label){i=!1;break}if(!i)try{this.logger.info("attempting to trigger media device labels since they are hidden");const e=yield this.deviceLabelTrigger();t=yield navigator.mediaDevices.enumerateDevices();for(const t of e.getTracks())t.stop()}catch(t){this.logger.info("unable to get media device labels"),null===(e=this.eventController)||void 0===e||e.publishEvent("deviceLabelTriggerFailed",{deviceLabelTriggerErrorMessage:this.getErrorMessage(t)})}
2138this.logger.debug(`Update device info cache with devices: ${JSON.stringify(t)}`),this.deviceInfoCache=t})}listCachedDevicesOfKind(e){const t=[];if(this.deviceInfoCache)for(const i of this.deviceInfoCache)i.kind===e&&t.push(i);return t}handleDeviceChange(){return n(this,void 0,void 0,function*(){if(null===this.deviceInfoCache)return;if(this.alreadyHandlingDeviceChange)return void a.default.nextTick(()=>{this.handleDeviceChange()});this.alreadyHandlingDeviceChange=!0;const e=this.listCachedDevicesOfKind("audioinput"),t=this.listCachedDevicesOfKind("videoinput"),i=this.listCachedDevicesOfKind("audiooutput");yield this.updateDeviceInfoCacheFromBrowser();const n=this.listCachedDevicesOfKind("audioinput"),r=this.listCachedDevicesOfKind("videoinput"),o=this.listCachedDevicesOfKind("audiooutput");this.forEachObserver(s=>{this.areDeviceListsEqual(e,n)||c.Maybe.of(s.audioInputsChanged).map(e=>e.bind(s)(n)),this.areDeviceListsEqual(t,r)||c.Maybe.of(s.videoInputsChanged).map(e=>e.bind(s)(r)),this.areDeviceListsEqual(i,o)||c.Maybe.of(s.audioOutputsChanged).map(e=>e.bind(s)(o))}),this.alreadyHandlingDeviceChange=!1})}handleDeviceStreamEnded(e,t){return n(this,void 0,void 0,function*(){try{"audio"===e?(this.useWebAudio&&this.browserBehavior.requiresAudioContextResetOnDeviceFailureForWebAudio()?(this.logger.warn("Audio input device which was active is no longer available, suspending and resuming audio context before resetting to empty device to ensure packets are sent"),yield this.stopAudioInput(),C.suspendAudioContext(),C.resumeAudioContext()):this.logger.warn("Audio input device which was active is no longer available, resetting to empty device to ensure packets are sent"),yield this.startAudioInput(null)):(this.logger.warn("Video input device which was active is no longer available, stopping video"),yield this.stopVideoInput())}catch(e){this.logger.error("Failed to choose null device after stream ended.")}"audio"===e?this.forEachObserver(e=>{c.Maybe.of(e.audioInputStreamEnded).map(i=>i.bind(e)(t))}):this.forEachObserver(e=>{c.Maybe.of(e.videoInputStreamEnded).map(i=>i.bind(e)(t))})})}forEachObserver(e){for(const t of this.deviceChangeObservers)a.default.nextTick(()=>{this.deviceChangeObservers.has(t)&&e(t)})}forEachMediaStreamBrokerObserver(e){for(const t of this.mediaStreamBrokerObservers)a.default.nextTick(()=>{this.mediaStreamBrokerObservers.has(t)&&e(t)})}areDeviceListsEqual(e,t){return JSON.stringify(e.map(e=>JSON.stringify(e)).sort())===JSON.stringify(t.map(e=>JSON.stringify(e)).sort())}intrinsicDeviceAsMediaStream(e){return e&&e.id?e:null}hasSameMediaStreamId(e,t,i){var n,r,o,s;let a;return"audio"===e?(a=null==i?void 0:i.audio.streamId,!!a&&a===(null===(r=null===(n=t.constraints)||void 0===n?void 0:n.audio)||void 0===r?void 0:r.streamId)):(a=null==i?void 0:i.video.streamId,!!a&&a===(null===(s=null===(o=null==t?void 0:t.constraints)||void 0===o?void 0:o.video)||void 0===s?void 0:s.streamId))}hasSameGroupId(e,t,i){if(""===e)return!0;const n=C.getIntrinsicDeviceId(i);return this.logger.debug(`Checking deviceIds ${n} of type ${typeof n} with groupId ${e}`),"string"==typeof n&&e===this.getGroupIdFromDeviceId(t,n)}getGroupIdFromDeviceId(e,t){if(null!==this.deviceInfoCache){const i=this.listCachedDevicesOfKind(`${e}input`).find(e=>e.deviceId===t);if(i&&i.groupId)return this.logger.debug(`GroupId of deviceId ${t} found in cache is ${i.groupId}`),i.groupId}return this.logger.debug(`GroupId of deviceId ${t} found in cache is empty`),""}handleGetUserMediaError(e,t){if(!e)throw new f.default(e);switch(e.name){case"NotReadableError":case"TrackStartError":throw new g.default(e);case"NotFoundError":case"DevicesNotFoundError":throw new m.default(e);case"NotAllowedError":case"PermissionDeniedError":case"SecurityError":throw t&&t<C.permissionDeniedOriginDetectionThresholdMs?new b.default(e,"Permission denied by browser"):new b.default(e,"Permission denied by user");case"OverconstrainedError":case"ConstraintNotSatisfiedError":throw new v.default(e);case"TypeError":throw new y.default(e);default:throw new f.default(e)}}matchesDeviceSelection(e,t,i,n){return!!(i&&i.stream.active&&(this.hasSameMediaStreamId(e,i,n)||null!==i.groupId&&this.hasSameGroupId(i.groupId,e,t)))&&(this.logger.debug(`Compare current device constraint ${JSON.stringify(i.constraints)} to proposed constraints ${JSON.stringify(n)}`),i.matchesConstraints(n))}chooseInputIntrinsicDevice(e,t){var i,r;return n(this,void 0,void 0,function*(){const n=this.getMediaStreamConstraints(e,t);if(this.matchesDeviceSelection(e,t,this.activeDevices[e],n))return void this.logger.info(`reusing existing ${e} input device`);this.activeDevices[e]&&this.activeDevices[e].stream&&this.stopTracksAndRemoveCallbacks(e);const o=Date.now(),s=new p.default;try{this.logger.info(`requesting new ${e} device with constraint ${JSON.stringify(n)}`);const i=this.intrinsicDeviceAsMediaStream(t);"audio"===e&&null===t?(s.stream=C.createEmptyAudioDevice(),s.constraints=null):i?(this.logger.info(`using media stream ${i.id} for ${e} device`),s.stream=i,s.constraints=n):(s.stream=yield navigator.mediaDevices.getUserMedia(n),s.constraints=n),yield this.handleNewInputDevice(e,s)}
2138catch(a){const d=this.getErrorMessage(a);"audio"===e?null===(i=this.eventController)||void 0===i||i.publishEvent("audioInputFailed",{audioInputErrorMessage:d}):null===(r=this.eventController)||void 0===r||r.publishEvent("videoInputFailed",{videoInputErrorMessage:d}),this.logger.error(`failed to get ${e} device for constraints ${JSON.stringify(n)}: ${d}`);let c=!0;if(a&&"constraint"in a&&(this.logger.error(`Over-constrained by constraint: ${a.constraint}`),this.useMediaConstraintsFallback)){const i=this.getMediaStreamConstraints(e,t,!0),r=JSON.stringify(i);if(r!==JSON.stringify(n)){this.logger.info(`retry requesting new ${e} device with minimal constraint ${r}`);try{s.stream=yield navigator.mediaDevices.getUserMedia(i),s.constraints=i,yield this.handleNewInputDevice(e,s),c=!1}catch(t){this.logger.error(`failed to get ${e} device for constraints ${r}: ${this.getErrorMessage(t)}`)}}}if(c){if("audio"===e){this.logger.info(`choosing null ${e} device instead`);try{s.stream=C.createEmptyAudioDevice(),s.constraints=null,yield this.handleNewInputDevice(e,s)}catch(t){this.logger.error(`failed to choose null ${e} device. ${t.name}: ${t.message}`)}}this.handleGetUserMediaError(a,Date.now()-o)}}finally{this.watchForDeviceChangesIfNecessary()}})}getErrorMessage(e){return e?e.name&&e.message?`${e.name}: ${e.message}`:e.name?e.name:e.message?e.message:"UnknownError":"UnknownError"}handleNewInputDevice(e,t){var i;return n(this,void 0,void 0,function*(){this.logger.info(`got ${e} device for constraints ${JSON.stringify(t.constraints)}`);const n=null===(i=this.getMediaTrackSettings(t.stream))||void 0===i?void 0:i.deviceId;t.groupId=n?this.getGroupIdFromDeviceId(e,n):"",this.activeDevices[e]=t,this.logger.debug(`Set activeDevice to ${JSON.stringify(t)}`),this.watchForDeviceChangesIfNecessary();const r=t.stream.getTracks()[0];if(r&&(t.endedCallback=()=>{this.activeDevices[e]&&this.activeDevices[e].stream===t.stream&&(this.handleDeviceStreamEnded(e,n),delete t.endedCallback)},r.addEventListener("ended",t.endedCallback,{once:!0})),"audio"===e){const e=t.stream.getAudioTracks()[0];if(e){const i=e.getSettings().deviceId||t.stream;t.trackMuteCallback=()=>{this.mediaStreamMuteObserver(i,!0)},t.trackUnmuteCallback=()=>{this.mediaStreamMuteObserver(i,!1)},e.addEventListener("mute",t.trackMuteCallback,{once:!1}),e.addEventListener("unmute",t.trackUnmuteCallback,{once:!1}),this.logger.debug("Notifying mute state after selection"),e.muted?t.trackMuteCallback():t.trackUnmuteCallback()}}})}calculateMediaStreamConstraints(e,t,i,n){if(n&&1===this.listCachedDevicesOfKind(`${e}input`).length)return!0;const r={};return this.browserBehavior.requiresNoExactMediaStreamConstraints()?r.deviceId=t:r.deviceId={exact:t},i&&(r.groupId=i),n?r:"video"===e?(r.width={ideal:this.videoInputQualitySettings.videoWidth}
2138,r.height={ideal:this.videoInputQualitySettings.videoHeight},r.frameRate={ideal:this.videoInputQualitySettings.videoFrameRate},r):(this.supportSampleRateConstraint()&&(r.sampleRate={ideal:C.defaultSampleRate}),this.supportSampleSizeConstraint()&&(r.sampleSize={ideal:C.defaultSampleSize}),this.supportChannelCountConstraint()&&(r.channelCount={ideal:C.defaultChannelCount}),Object.assign({echoCancellation:!0,googEchoCancellation:!0,googEchoCancellation2:!0,googAutoGainControl:!0,googAutoGainControl2:!0,googNoiseSuppression:!0,googNoiseSuppression2:!0,googHighpassFilter:!0},r))}getMediaStreamConstraintsFromTrackConstraints(e,t){return"audio"===e?{audio:t}:{video:t}}getMediaStreamConstraints(e,t,i=!1){let n={};if(!t)return null;const r=this.intrinsicDeviceAsMediaStream(t);if(r)return n.streamId=r.id,this.getMediaStreamConstraintsFromTrackConstraints(e,n);if("string"==typeof t){let r="";return this.browserBehavior.requiresGroupIdMediaStreamConstraints()&&(null!==this.deviceInfoCache?r=this.getGroupIdFromDeviceId(e,t):this.logger.error("Device cache is not populated. Please make sure to call list devices first")),n=this.calculateMediaStreamConstraints(e,t,r,i),this.getMediaStreamConstraintsFromTrackConstraints(e,n)}return function(e){return"object"==typeof e&&"deviceId"in e&&"groupId"in e&&"kind"in e&&"label"in e}(t)?(n=this.calculateMediaStreamConstraints(e,t.deviceId,t.groupId,i),this.getMediaStreamConstraintsFromTrackConstraints(e,n)):(n=t,this.getMediaStreamConstraintsFromTrackConstraints(e,n))}deviceInfoFromDeviceId(e,t){if(null===this.deviceInfoCache)return null;for(const i of this.deviceInfoCache)if(i.kind===e&&i.deviceId===t)return i;return null}hasAppliedTransform(){return!!this.transform}isMediaStreamReusableByDeviceId(e,t){if(!e||!e.active||!t)return!1;if(t.id)return e.id===t.id;const i=this.getMediaTrackSettings(e);if(!i.deviceId)return!1;const n=C.getIntrinsicDeviceId(t);return"string"==typeof n&&i.deviceId===n}getMediaTrackSettings(e){var t;return null===(t=e.getTracks()[0])||void 0===t?void 0:t.getSettings()}reconnectAudioInputs(){if(!this.audioInputSourceNode)return;this.audioInputSourceNode.disconnect();const e=this.getMediaStreamOutputNode();this.audioInputSourceNode.connect(e)}setTransform(e,t){var i,n;null===(n=null===(i=this.transform)||void 0===i?void 0:i.nodes)||void 0===n||n.end.disconnect(),this.transform={nodes:t,device:e};const r=null==t?void 0:t.end,o=this.getMediaStreamDestinationNode();this.logger.debug(`Connecting transform node ${r} to destination ${o}.`),null==r||r.connect(o),this.reconnectAudioInputs()}removeTransform(){var e;const t=this.transform;if(t)return null===(e=this.transform.nodes)||void 0===e||e.end.disconnect(),this.transform=void 0,this.reconnectAudioInputs(),t}attachAudioInputStreamToAudioContext(e){var t;null===(t=this.audioInputSourceNode)||void 0===t||t.disconnect(),this.audioInputSourceNode=C.getAudioContext().createMediaStreamSource(e);const i=this.getMediaStreamOutputNode();this.audioInputSourceNode.connect(i)}getMediaStreamDestinationNode(){return this.audioInputDestinationNode||(this.audioInputDestinationNode=C.getAudioContext().createMediaStreamDestination()),this.audioInputDestinationNode}getMediaStreamOutputNode(){var e,t;return(null===(t=null===(e=this.transform)||void 0===e?void 0:e.nodes)||void 0===t?void 0:t.start)||this.getMediaStreamDestinationNode()}static setDefaultLatencyHint(e){C.defaultLatencyHint=e}static getAudioContext(){if(!C.audioContext){const e={};navigator.mediaDevices.getSupportedConstraints().sampleRate&&(e.sampleRate=C.defaultSampleRate),(new o.default).requiresPlaybackLatencyHintForAudioContext()&&(e.latencyHint="playback"),C.defaultLatencyHint&&(e.latencyHint=C.defaultLatencyHint),C.audioContext=new(window.AudioContext||window.webkitAudioContext)(e)}return C.audioContext}static suspendAudioContext(){return n(this,void 0,void 0,function*(){return C.audioContext?C.audioContext.suspend():Promise.resolve()})}static resumeAudioContext(){return n(this,void 0,void 0,function*(){return C.audioContext?C.audioContext.resume():Promise.resolve()})}static closeAudioContext(){if(C.audioContext)try{C.audioContext.close()}catch(e){}C.audioContext=null}addMediaStreamBrokerObserver(e){this.mediaStreamBrokerObservers.add(e)}removeMediaStreamBrokerObserver(e){this.mediaStreamBrokerObservers.delete(e)}publishVideoInputDidChangeEvent(e){this.forEachMediaStreamBrokerObserver(t=>{t.videoInputDidChange&&t.videoInputDidChange(e)}
2138),this.pushVideoMeetingStateForPermissions(e)}publishAudioInputDidChangeEvent(e){this.forEachMediaStreamBrokerObserver(t=>{t.audioInputDidChange&&t.audioInputDidChange(e)}),this.pushAudioMeetingStateForPermissions(e)}publishAudioOutputDidChangeEvent(e){this.forEachMediaStreamBrokerObserver(t=>{t.audioOutputDidChange&&t.audioOutputDidChange(e)})}supportSampleRateConstraint(){return this.useWebAudio&&!!navigator.mediaDevices.getSupportedConstraints().sampleRate}supportSampleSizeConstraint(){return this.useWebAudio&&!!navigator.mediaDevices.getSupportedConstraints().sampleSize}supportChannelCountConstraint(){return this.useWebAudio&&!!navigator.mediaDevices.getSupportedConstraints().channelCount}trace(e,t,i){let n=`API/DefaultDeviceController/${e}`;void 0!==t&&(n+=` ${JSON.stringify(t)}`),void 0!==i&&(n+=` -> ${JSON.stringify(i)}`),this.logger.info(n)}}t.default=C,C.permissionDeniedOriginDetectionThresholdMs=500,C.defaultVideoWidth=960,C.defaultVideoHeight=540,C.defaultVideoFrameRate=15,C.defaultSampleRate=48e3,C.defaultSampleSize=16,C.defaultChannelCount=1,C.audioContext=null},60135(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.groupId=""}matchesConstraints(e){return JSON.stringify(this.constraints)===JSON.stringify(e)}}},56474(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class i extends Error{constructor(e,t){super(t||"Error fetching device."),this.cause=e,this.name="GetUserMediaError"}}t.default=i},90073(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.NoOpDeviceControllerWithEventController=void 0;const o=r(i(62499)),s=r(i(28586));class a extends o.default{constructor(e){super(),this.destroyed=!1}destroy(){return n(this,void 0,void 0,function*(){this.destroyed=!0})}listAudioInputDevices(){return Promise.resolve([])}listVideoInputDevices(){return Promise.resolve([])}listAudioOutputDevices(){return Promise.resolve([])}startAudioInput(e){return Promise.reject()}stopAudioInput(){return Promise.resolve()}startVideoInput(e){return Promise.reject()}stopVideoInput(){return Promise.resolve()}chooseAudioOutput(e){return Promise.reject()}addDeviceChangeObserver(e){}removeDeviceChangeObserver(e){}createAnalyserNodeForAudioInput(){return null}startVideoPreviewForVideoInput(e){}stopVideoPreviewForVideoInput(e){}setDeviceLabelTrigger(e){}mixIntoAudioInput(e){return null}chooseVideoInputQuality(e,t,i){}getVideoInputQualitySettings(){return s.default.VideoDisabled}}t.default=a,t.NoOpDeviceControllerWithEventController=class extends a{constructor(e){super(),this.eventController=e}}},95564(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(56474));class o extends r.default{constructor(e){super(e),this.name="NotFoundError"}}t.default=o},35434(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(56474));class o extends r.default{constructor(e){super(e),this.name="NotReadableError"}}t.default=o},95683(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(56474));class o extends r.default{constructor(e,t){super(e),this.constraint=t,this.name="OverconstrainedError"}}t.default=o},32865(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(56474));class o extends r.default{constructor(e,t){super(e,t),this.name="PermissionDeniedError"}}t.default=o},67543(e,t){"use strict";var i=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Prom
2138ise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e){this.inner=e}mute(e){return i(this,void 0,void 0,function*(){})}stop(){var e;return i(this,void 0,void 0,function*(){null===(e=this.node)||void 0===e||e.disconnect()})}intrinsicDevice(){return i(this,void 0,void 0,function*(){return this.inner})}createAudioNode(e){var t;return i(this,void 0,void 0,function*(){return null===(t=this.node)||void 0===t||t.disconnect(),this.node=yield this.createSingleAudioNode(e),{start:this.node,end:this.node}})}}},93405(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(56474));class o extends r.default{constructor(e){super(e),this.name="TypeError"}}t.default=o},28586(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class i{constructor(e,t,i){this.videoWidth=e,this.videoHeight=t,this.videoFrameRate=i}equals(e){return this.videoWidth===e.videoWidth&&this.videoHeight===e.videoHeight&&this.videoFrameRate===e.videoFrameRate}}t.default=i,i.VideoDisabled=new i(0,0,0),i.VideoResolutionHD=new i(1280,720,30),i.VideoResolutionFHD=new i(1920,1080,30),i.VideoResolutionUHD=new i(3840,2160,30)},21260(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isVideoTransformDevice=void 0,t.isVideoTransformDevice=function(e){return!!e&&"object"==typeof e&&"transformStream"in e&&"stop"in e&&"intrinsicDevice"in e}},61858(e,t){"use strict";var i=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e,t){if(this.devicePixelRatioSource=e,this.observerQueue=new Set,this.mediaQueryListener=()=>{this.observerQueue.forEach(e=>{e.devicePixelRatioChanged(this.devicePixelRatioSource.devicePixelRatio())})},"undefined"==typeof window)return;const i=matchMedia(`(resolution: ${this.devicePixelRatioSource.devicePixelRatio()}dppx)`);"function"==typeof i.addEventListener?(i.addEventListener("change",this.mediaQueryListener),this.mediaQueryList=i):"function"==typeof i.addListener?(i.addListener(this.mediaQueryListener),this.mediaQueryList=i):t.warn("ignoring DefaultDevicePixelRatioMonitor")}destroy(){return i(this,void 0,void 0,function*(){this.mediaQueryList&&("function"==typeof this.mediaQueryList.addEventListener?this.mediaQueryList.removeEventListener("change",this.mediaQueryListener):this.mediaQueryList.removeListener(this.mediaQueryListener)),delete this.mediaQueryListener,this.observerQueue.clear()})}registerObserver(e){this.observerQueue.add(e),e.devicePixelRatioChanged(this.devicePixelRatioSource.devicePixelRatio())}removeObserver(e){this.observerQueue.delete(e)}}},65517(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{devicePixelRatio(){return"undefined"!=typeof window&&window&&window.devicePixelRatio?window.devicePixelRatio:1}}},34853(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__rest||function(e,t){var i={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(i[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(i[n[r]]=e[n[r]])}return i}
2138,o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=o(i(50638)),a=o(i(2228)),d=o(i(36594)),c=i(48471);class l{constructor(e,t,i,o,s){this.buffer=[],this.bufferSize=0,this.maxBufferItemCapacityBytes=0,this.ingestionEventSize=0,this.flushIntervalMs=0,this.flushSize=0,this.failedIngestionEvents=[],this.retryCountLimit=15,this.lock=!1,this.cancellableEvents=new Map,this.attributesToFilter=["externalUserId","externalMeetingId","timestampMs"],this.deepCopyCurrentIngestionEvent=e=>({type:e.type,v:e.v,payloads:[...e.payloads]}),this.sendEvents=()=>n(this,void 0,void 0,function*(){if(this.lock)return;const e=this.getItems(this.flushSize);if(0===e.length)return;this.lock=!0;const t=this.makeRequestBody(e);let i=!1;const n=Date.now();"firefox"===this.metadata.browserName.toLowerCase()&&this.cancellableEvents.set(n,e);try{this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - sendEvents - sending body ${t}`);const e=yield this.send(t);if(this.cancellableEvents.delete(n),e.ok)try{const i=yield e.json();this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - sendEvents - send successful events: ${t} message: ${JSON.stringify(i)}`)}catch(e){this.logger.warn(`Event Reporting - InMemoryJSONEventBuffer - sendEvents error reading OK response ${e} for events ${t}`)}else this.logger.error(`Event Reporting - InMemoryJSONEventBuffer - sendEvents - Failed to send events ${t} with response status ${e.status}`),i=!0}catch(e){i=!0,this.logger.warn(`Event Reporting - InMemoryJSONEventBuffer - sendEvents - Error in sending events ${t} to the ingestion endpoint ${e}`)}finally{this.lock=!1}i&&(this.cancellableEvents.delete(n),this.failedIngestionEvents.push(...e))});const a=new d.default(s).getParserResult(),{browserMajorVersion:c}=a,l=r(a,["browserMajorVersion"]),u=t.toJSON(),{type:h,v:p}=u,f=r(u,["type","v"]);this.authenticationToken=t.getAuthenticationToken(),this.metadata=Object.assign(Object.assign({},l),f),Object.keys(this.metadata).forEach(e=>this.attributesToFilter.push(e)),this.type=h,this.v=p,this.ingestionURL=i,this.logger=s,this.importantEvents=new Set(o);const{maxBufferCapacityKb:m,totalBufferItems:g,flushSize:v,flushIntervalMs:b,retryCountLimit:y}=e;this.maxBufferCapacityBytes=1024*m,this.totalBufferItems=g,this.maxBufferItemCapacityBytes=Math.round(this.maxBufferCapacityBytes/g),this.flushIntervalMs=b,this.flushSize=v,this.retryCountLimit=y,this.currentIngestionEvent=this.initializeAndGetCurrentIngestionEvent(),this.beaconEventListener=e=>this.beaconEventHandler(e),this.addEventListeners()}addEventListeners(){this.beaconEventListener&&"window"in i.g&&window.addEventListener&&"document"in i.g&&document.addEventListener&&(this.logger.debug("Event Reporting - InMemoryJSONEventBuffer - addEventListeners - adding pagehide and visibility change event listeners"),window.addEventListener("pagehide",this.beaconEventListener),document.addEventListener("visibilitychange",this.beaconEventListener))}beaconEventHandler(e){("visibilitychange"===e.type&&"hidden"===document.visibilityState||"pagehide"===e.type)&&(this.logger.debug("Event Reporting - InMemoryJSONEventBuffer - beaconEventHandler is triggered calling sendBeacon"),this.sendBeacon())}removeEventListeners(){this.beaconEventListener&&"window"in i.g&&window.removeEventListener&&"document"in i.g&&document.removeEventListener&&(window.removeEventListener("pagehide",this.beaconEventListener),document.removeEventListener("visibilitychange",this.beaconEventListener),this.logger.debug("Event Reporting - InMemoryJSONEventBuffer - removeEventListeners - removing pagehide and visibility change event listeners"))}start(){var e;this.removeEventListeners(),this.addEventListeners(),null===(e=this.intervalScheduler)||void 0===e||e.stop(),this.intervalScheduler=new a.default(this.flushIntervalMs),this.intervalScheduler.start(()=>this.sendEvents())}stop(){var e;null===(e=this.intervalScheduler)||void 0===e||e.stop(),this.intervalScheduler=void 0,this.sendBeacon(),this.removeEventListeners()}addItem(e){return n(this,void 0,void 0,function*(){this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - addItem - received event ${JSON.stringify(e)}`);const{name:t,ts:i,attributes:n}=e,r=n&&this.filterAttributes(n,this.attributesToFilter),o=Object.assign({name:t,ts:i},r);this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - addItem - event after filtering attributes ${JSON.stringify(o)}`);const s=this.getSize(o);if(s>l.MAX_ITEM_SIZE_BYTES_ALLOWED)throw new Error(`Event Reporting - Item to be added has size ${s} bytes. Item cannot exceed max item size allowed of ${l.MAX_ITEM_SIZE_BYTES_ALLOWED} bytes.`);if(this.importantEvents.has(t))return this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - addItem - sending important event ${JSON.stringify(o)}`),void this.sendEventImmediately({name:t,ts:i,attributes:r});if(this.isFull())throw this.logger.warn("Event Reporting - Event buffer is full"),new Error("Buffer full");if(this.currentIngestionEvent.payloads.push(o),this.ingestionEventSize+=s,this.bufferItemThresholdReached(s)){const e=this.deepCopyCurrentIngestionEvent(this.currentIngestionEvent);this.buffer.push(e),this.bufferSize+=this.ingestionEventSize,this.currentIngestionEvent=this.initializeAndGetCurrentIngestionEvent(),this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - addItem - buffer item threshold reached updated buffer ${JSON.stringify(this.buffer)}`)}})}filterAttributes(e,t){const i=new Set(t);return Object.keys(e).filter(e=>
2138i.has(e)).forEach(t=>delete e[t]),e}initializeAndGetCurrentIngestionEvent(){const e={type:this.type,v:this.v,payloads:[]};return this.ingestionEventSize=this.getSize(e),e}bufferItemThresholdReached(e){return e+this.ingestionEventSize>=this.maxBufferItemCapacityBytes||this.currentIngestionEvent.payloads.length===l.MAX_PAYLOAD_ITEMS}getSize(e){let t=0;if("object"==typeof e)for(const[i,n]of Object.entries(e))t+=this.getPrimitiveSize(i),t+=this.getSize(n);else t+=this.getPrimitiveSize(e);return t}getPrimitiveSize(e){let t=0;return"string"==typeof e?t+=2*e.length:"number"==typeof e&&(t+=8),t}isFull(){return this.bufferSize===this.maxBufferCapacityBytes||this.buffer.length===this.totalBufferItems}isEmpty(){return 0===this.buffer.length||0===this.bufferSize}getItems(e,t=0){return this.isEmpty()?[]:(e=Math.min(this.buffer.length,e+1),this.buffer.splice(t,e))}makeBeaconRequestBody(e){const t={metadata:this.metadata,events:e,authorization:this.authenticationToken};return JSON.stringify(t)}makeRequestBody(e){const t={metadata:this.metadata,events:e};return JSON.stringify(t)}sendEventImmediately(e){return n(this,void 0,void 0,function*(){this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - sendEventImmediately - important event received ${JSON.stringify(e)}`);const{name:t,ts:i,attributes:n}=e,r={type:this.type,v:this.v,payloads:[Object.assign({name:t,ts:i},n)]};let o=!1,s=null;const a=this.makeRequestBody([r]);try{if(s=yield this.send(a),s.ok){try{const e=yield s.json();this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - sendEventImmediately - send successful event: ${a}, message: ${JSON.stringify(e)}`)}catch(e){this.logger.warn(`Event Reporting - InMemoryJSONEventBuffer - sendEventImmediately - Error reading OK response ${e} for event ${a}`)}return}this.logger.error(`Event Reporting - InMemoryJSONEventBuffer - sendEventImmediately - Failed to send an important event ${a} with response status ${s.status}`),o=!0}catch(e){this.logger.warn(`Event Reporting - There may be a failure in sending an important event ${a} to the ingestion endpoint ${e}.`),o=!0;try{if("firefox"===this.metadata.browserName.toLowerCase()){const e=this.makeBeaconRequestBody([r]);this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - sendEventImmediately - beaconing data out ${e}`),o=!navigator.sendBeacon(`${this.ingestionURL}?beacon=1`,e)}}catch(e){this.logger.warn(`Event Reporting - Error sending beacon for an important event ${a}`),o=!0}}o&&(this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - sendEventImmediately - pushing to failed events ${a}`),this.failedIngestionEvents.push(r))})}send(e){return n(this,void 0,void 0,function*(){const t=new s.default(l.RETRY_FIXED_BACKOFF_WAIT_MS,l.RETRY_SHORT_BACKOFF_MS,l.RETRY_LONG_BACKOFF_MS);try{let i=0;for(;i<this.retryCountLimit;){const n=yield fetch(this.ingestionURL,{method:"POST",headers:{Authorization:`Bearer ${this.authenticationToken}`},body:e});if(n.ok||!l.SENDING_FAILURE_CODES.has(n.status))return n;if(this.logger.warn(`Will retry sending failure for ${e} due to status code ${n.status}.`),i++,i<this.retryCountLimit){const e=t.nextBackoffAmountMs();yield c.wait(e)}}if(i===this.retryCountLimit)throw new Error(`Retry count limit reached for ${e}`)}catch(e){throw e}})}sendBeacon(){return n(this,void 0,void 0,function*(){const e=this.buffer;if(this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - sendBeacon - clearing out buffer events ${JSON.stringify(e)}`),this.buffer=[],this.currentIngestionEvent.payloads.length>0){const t=this.deepCopyCurrentIngestionEvent(this.currentIngestionEvent);e.push(t),this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - sendBeacon - clearing out current ingestion event ${JSON.stringify(t)}`),this.currentIngestionEvent=this.initializeAndGetCurrentIngestionEvent()}if(this.failedIngestionEvents.length>0){const t=this.failedIngestionEvents.map(e=>this.deepCopyCurrentIngestionEvent(e));e.push(...t),this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - sendBeacon - clearing out any failed ingestion event ${JSON.stringify(t)}`),this.failedIngestionEvents=[]}if(this.cancellableEvents.size>
21380&&(this.cancellableEvents.forEach(t=>{e.push(...t),this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - sendBeacon - clearing out each cancellable event ${JSON.stringify(t)}`)}),this.cancellableEvents.clear()),0===e.length)return;const t=this.makeBeaconRequestBody(e);this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - sendBeacon - beacon data to send ${t}`);try{navigator.sendBeacon(`${this.ingestionURL}?beacon=1`,t)||this.logger.warn(`Event Reporting - Browser failed to queue beacon data ${t}`)}catch(e){this.logger.warn(`Event Reporting - Sending beacon data ${t} failed with error ${e}`)}})}reset(){this.maxBufferCapacityBytes=0,this.totalBufferItems=0,this.buffer=[],this.bufferSize=0,this.maxBufferItemCapacityBytes=0,this.ingestionEventSize=0,this.flushIntervalMs=0,this.flushSize=0,this.failedIngestionEvents=[],this.lock=!1,this.beaconEventListener=void 0,this.cancellableEvents.clear()}destroy(){return n(this,void 0,void 0,function*(){this.stop(),this.reset()})}}t.default=l,l.SENDING_FAILURE_CODES=new Set([408,429,500,502,503,504]),l.RETRY_FIXED_BACKOFF_WAIT_MS=0,l.RETRY_SHORT_BACKOFF_MS=1e3,l.RETRY_LONG_BACKOFF_MS=15e3,l.MAX_PAYLOAD_ITEMS=2,l.MAX_ITEM_SIZE_BYTES_ALLOWED=3e3},76225(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e=5e3,t=2,i=64,n=100,r=15){this.flushIntervalMs=e,this.flushSize=t,this.maxBufferCapacityKb=i,this.totalBufferItems=n,this.retryCountLimit=r}}},92801(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.audioVideoEventAttributesFromState=void 0,t.audioVideoEventAttributesFromState=function(e){const t={};return null!==e.startTimeMs&&(t.meetingDurationMs=Math.round(Date.now()-e.startTimeMs)),null!==e.signalingOpenDurationMs&&(t.signalingOpenDurationMs=e.signalingOpenDurationMs),null!==e.iceGatheringDurationMs&&(t.iceGatheringDurationMs=e.iceGatheringDurationMs),null!==e.attendeePresenceDurationMs&&(t.attendeePresenceDurationMs=e.attendeePresenceDurationMs),null!==e.meetingStartDurationMs&&(t.meetingStartDurationMs=e.meetingStartDurationMs),void 0!==e.maxVideoTileCount&&(t.maxVideoTileCount=e.maxVideoTileCount),void 0!==e.poorConnectionCount&&(t.poorConnectionCount=e.poorConnectionCount),void 0!==e.retryCount&&(t.retryCount=e.retryCount),t}},57088(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(6660),s=i(45099),a=r(i(92847)),d=r(i(51453)),c=r(i(68212)),l=r(i(91365)),u=r(i(40961)),h=r(i(95764));class p{constructor(e,t,i){var n,r,s,a,d,c,l;this.meetingHistoryStates=[],this.observerSet=new Set,this.destroyed=!1,this.logger=t,this.configuration=e,this.setupEventReporter(e,t,i);try{this.parserResult=navigator&&navigator.userAgent?new o.UAParser(navigator.userAgent).getResult():null}catch(e){this.logger.error(e.message)}this.browserMajorVersion=(null===(s=null===(r=null===(n=this.parserResult)||void 0===n?void 0:n.browser)||void 0===r?void 0:r.version)||void 0===s?void 0:s.split(".")[0])||p.UNAVAILABLE,this.browserName=(null===(a=this.parserResult)||void 0===a?void 0:a.browser.name)||p.UNAVAILABLE,this.browserVersion=(null===(d=this.parserResult)||void 0===d?void 0:d.browser.version)||p.UNAVAILABLE,this.deviceName=[(null===(c=this.parserResult)||void 0===c?void 0:c.device.vendor)||"",(null===(l=this.parserResult)||void 0===l?void 0:l.device.model)||""].join(" ").trim()||p.UNAVAILABLE}addObserver(e){this.observerSet.add(e)}removeObserver(e){this.observerSet.delete(e)}forEachObserver(e){for(const t of this.observerSet)l.default.nextTick(()=>{this.observerSet.has(t)&&e(t)})}publishEvent(e,t){return n(this,void 0,void 0,function*(){const i=Date.now();this.meetingHistoryStates.push({name:e,timestampMs:i});const n=Object.freeze(Object.assign(this.getAttributes(i),t));this.forEachObserver(t=>{t.eventDidReceive(e,n)}),this.reportEvent(e,i,t)})}reportEvent(e,t,i){var r;return n(this,void 0,void 0,function*(){let n;try{i&&(n=h.default(i)),yield null===(r=this.eventReporter)||void 0===r?void 0:r.reportEvent(t,e,n)}catch(e){this.logger.error(`Error reporting event ${e}`)}})}setupEventReporter(e,t,i){if(i)this._eventReporter=i;else if(e.urls){const i=e.urls.eventIngestionURL;if(i){this.logger.info("Event ingestion URL is present in the configuration");const{meetingId:n,credentials:{attendeeId:r,joinToken:o}}=e,s=new c.default(n,r,o),l=new a.default(s,i);this._eventReporter=new d.default(l,t)}}}getAttributes(e){var t,i;return{attendeeId:this.configuration.credentials.attendeeId,browserMajorVersion:this.browserMajorVersion,browserName:this.browserName,browserVersion:this.browserVersion,deviceName:this.deviceName,externalMeetingId:"string"==typeof this.configuration.externalMeetingId?this.configuration.externalMeetingId:"",externalUserId:this.configuration.credentials.externalUserId,meetingHistory:this.meetingHistoryStates,meetingId:this.configuration.meetingId,osName:(null===(t=this.parserResult)||void 0===t?void 0:t.os.name)||p.UNAVAILABLE,osVersion:(null===(i=this.parserResult)||void 0===i?void 0:i.os.version)||p.UNAVAILABLE,sdkVersion:u.default.sdkVersion,sdkName:u.default.sdkName,timestampMs:e}}get eventReporter(){return this._eventReporter}destroy(){return n(this,void 0,void 0,function*(){s.isDestroyable(this.eventReporter)&&(yield this.eventReporter.destroy()),this.logger=void 0,this.configuration=void 0,this._eventReporter=void 0,this.destroyed=!0})}}t.default=p,p.UNAVAILABLE="Unavailable"},95764(e,t){"use strict";
2138Object.defineProperty(t,"__esModule",{value:!0}),t.default=e=>{const t={};for(const[i,n]of Object.entries(e))if(null!=n&&""!==n){if("number"!=typeof n&&"string"!=typeof n)throw new TypeError("Unhandled type received while flattening attributes.");t[i]=n}return t}},92847(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(76225));t.default=class{constructor(e,t,i=new r.default){this.eventsClientConfiguration=e,this.ingestionURL=t,this.eventBufferConfiguration=i}}},51453(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(45099),s=r(i(34853));t.default=class{constructor(e,t){this.reportingEvents=!1,this.importantEvents=["meetingEnded","meetingFailed","meetingStartFailed","audioInputFailed","videoInputFailed","meetingStartSucceeded","deviceLabelTriggerFailed"],this.destroyed=!1;const{eventsClientConfiguration:i,ingestionURL:n,eventBufferConfiguration:r}=e,{eventsToIgnore:o}=i;this.eventBuffer=new s.default(r,i,n,this.importantEvents,t),this.logger=t,this.eventsToIgnore=o,this.start()}start(){if(!this.reportingEvents)try{this.eventBuffer.start(),this.logger.info("Event reporting started"),this.reportingEvents=!0}catch(e){this.logger.error(`Event Reporting - Error starting the event buffer ${e}`)}}stop(){if(this.reportingEvents)try{this.eventBuffer.stop(),this.logger.info("Event reporting stopped"),this.reportingEvents=!1}catch(e){this.logger.error(`Event Reporting - Error stopping the event buffer ${e}`)}}reportEvent(e,t,i){return n(this,void 0,void 0,function*(){if(this.logger.debug(`Event Reporting - DefaultMeetingEventReporter - event received in reportEvent ${e}, ${t}, ${JSON.stringify(i)}`),this.eventsToIgnore.includes(t))this.logger.debug(`Event Reporting - DefaultMeetingEventReporter - ${t} event will be ignored as it is in events to ignore`);else try{this.logger.debug("Event Reporting - DefaultMeetingEventReporter - adding item to event buffer"),yield this.eventBuffer.addItem({ts:e,name:t,attributes:i})}catch(e){this.logger.error(`Event Reporting - Error adding event to buffer ${e}`)}})}destroy(){return n(this,void 0,void 0,function*(){this.destroyed=!0,this.stop(),o.isDestroyable(this.eventBuffer)&&this.eventBuffer.destroy(),this.eventBuffer=void 0})}}},60207(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){}reportEvent(e,t,i){}start(){}stop(){}}},68212(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e,t,i,n=[]){this.type="Meet",this.v=1,this.meetingId=e,this.attendeeId=t,this.eventsToIgnore=n,this.authenticationToken=i}getAuthenticationToken(){return this.authenticationToken}toJSON(){const e={};return e.type=this.type,e.v=this.v,e.meetingId=this.meetingId,e.attendeeId=this.attendeeId,e}}},53028(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.DefaultEventController=t.DefaultDevicePixelRatioMonitor=t.DefaultDeviceController=t.DefaultContentShareController=t.DefaultBrowserBehavior=t.DefaultAudioVideoFacade=t.DefaultAudioVideoController=t.DefaultAudioMixController=t.DefaultActiveSpeakerPolicy=t.DefaultActiveSpeakerDetector=t.DataMessage=t.CreateSDPTask=t.CreatePeerConnectionTask=t.ContentShareMediaStreamBroker=t.ContentShareConstants=t.ConsoleLogger=t.ConnectionHealthPolicyConfiguration=t.ConnectionHealthData=t.ClientVideoStreamReceivingReport=t.ClientMetricReportMediaType=t.ClientMetricReportDirection=t.ClientMetricReport=t.CleanStoppedSessionTask=t.CleanRestartedSessionTask=t.CheckVideoInputFeedback=t.CheckVideoConnectivityFeedback=t.CheckNetworkUDPC
2138onnectivityFeedback=t.CheckNetworkTCPConnectivityFeedback=t.CheckContentShareConnectivityFeedback=t.CheckCameraResolutionFeedback=t.CheckAudioOutputFeedback=t.CheckAudioInputFeedback=t.CheckAudioConnectivityFeedback=t.CanvasVideoFrameBuffer=t.CSPMonitor=t.BitrateParameters=t.BaseTask=t.BaseConnectionHealthPolicy=t.BackgroundReplacementVideoFrameProcessor=t.BackgroundFilterVideoFrameProcessor=t.BackgroundBlurVideoFrameProcessor=t.BackgroundBlurStrength=t.AudioVideoControllerState=t.AudioProfile=t.AudioLogEvent=t.Attendee=t.AttachMediaInputTask=t.AsyncScheduler=t.ApplicationMetadata=t.AllHighestVideoBandwidthPolicy=void 0,t.MeetingFeatures=t.MeetingEventsClientConfiguration=t.MediaDeviceProxyHandler=t.Maybe=t.LogLevel=t.Log=t.ListenForVolumeIndicatorsTask=t.LeaveAndReceiveLeaveAckTask=t.JoinAndReceiveIndexTask=t.IntervalScheduler=t.InMemoryJSONEventBuffer=t.GlobalMetricReport=t.GetUserMediaError=t.FullJitterLimitedBackoff=t.FullJitterBackoffFactory=t.FullJitterBackoff=t.FinishGatheringICECandidatesTask=t.EventIngestionConfiguration=t.EventBufferConfiguration=t.DeviceSelection=t.DevicePixelRatioWindowSource=t.DefaultWebSocketAdapter=t.DefaultVolumeIndicatorAdapter=t.DefaultVideoTransformDevice=t.DefaultVideoTileFactory=t.DefaultVideoTileController=t.DefaultVideoTile=t.DefaultVideoStreamIndex=t.DefaultVideoStreamIdSet=t.DefaultVideoFrameProcessorTimer=t.DefaultVideoFrameProcessorPipeline=t.DefaultVideoElementResolutionMonitor=t.DefaultVideoCaptureAndEncodeParameter=t.DefaultUserAgentParser=t.DefaultTranscriptionController=t.DefaultTransceiverController=t.DefaultSimulcastUplinkPolicyForContentShare=t.DefaultSimulcastUplinkPolicy=t.DefaultSignalingClient=t.DefaultSigV4=t.DefaultSessionStateController=t.DefaultReconnectController=t.DefaultRealtimeController=t.DefaultPingPong=t.DefaultModality=t.DefaultMessagingSession=t.DefaultMeetingSession=t.DefaultMeetingReadinessChecker=t.DefaultMeetingEventReporter=t.DefaultMediaDeviceFactory=void 0,t.RedundantAudioEncoder=t.ReconnectionHealthPolicy=t.ReceiveVideoStreamIndexTask=t.ReceiveVideoInputTask=t.ReceiveRemoteVideoPauseResumeTask=t.ReceiveAudioInputTask=t.RealtimeVolumeIndicator=t.RealtimeState=t.RealtimeAttendeePositionInFrame=t.PromoteToPrimaryMeetingTask=t.PromiseQueue=t.PrefetchSortBy=t.PrefetchOn=t.PermissionDeniedError=t.ParallelGroupTask=t.POSTLogger=t.OverconstrainedError=t.OpenSignalingConnectionTask=t.OnceTask=t.NotReadableError=t.NotFoundError=t.None=t.NoVideoUplinkBandwidthPolicy=t.NoVideoDownlinkBandwidthPolicy=t.NoOpVideoFrameProcessor=t.NoOpVideoElementFactory=t.NoOpTask=t.NoOpMediaStreamBroker=t.NoOpLogger=t.NoOpEventReporter=t.NoOpDeviceController=t.NoOpDebugLogger=t.NoOpAudioVideoController=t.NScaleVideoUplinkBandwidthPolicy=t.MutableVideoPreferences=t.MultiLogger=t.MonitorTask=t.ModelSpecBuilder=t.MessagingSessionConfiguration=t.Message=t.MeetingSessionVideoAvailability=t.MeetingSessionURLs=t.MeetingSessionTURNCredentials=t.MeetingSessionStatusCode=t.MeetingSessionStatus=t.MeetingSessionLifecycleEventCondition=t.MeetingSessionLifecycleEvent=t.MeetingSessionCredentials=t.MeetingSessionConfiguration=t.MeetingReadinessCheckerConfiguration=void 0,t.VideoEncodingConcurrentSendersHealthPolicy=t.VideoCodecCapability=t.VideoAdaptiveProbePolicy=t.Versioning=t.UnusableAudioWarningConnectionHealthPolicy=t.TypeError=t.TranscriptionStatusType=t.TranscriptionStatus=t.TranscriptResult=t.TranscriptLanguageWithScore=t.TranscriptItemType=t.TranscriptItem=t.TranscriptEntity=t.TranscriptAlternative=t.Transcript=t.TimeoutTask=t.TimeoutScheduler=t.TaskStatus=t.TargetDisplaySize=t.SubscribeAndReceiveSubscribeAckTask=t.StreamMetricReport=t.Some=t.SingleNodeAudioTransformDevice=t.SimulcastVideoStreamIndex=t.SimulcastTransceiverController=t.SimulcastLayers=t.SimulcastContentShareTransceiverController=t.SignalingClientVideoSubscriptionConfiguration=t.SignalingClientSubscribe=t.SignalingClientJoin=t.SignalingClientEventType=t.SignalingClientEvent=t.SignalingClientConnectionRequest=t.SignalingAndMetricsConnectionMonitor=t.SetRemoteDescriptionTask=t.SetLocalDescriptionTask=t.SessionStateControllerTransitionResult=t.SessionStateControllerState=t.SessionStateControllerDeferPriority=t.SessionStateControllerAction=t.ServerSideNetworkAdaption=t.SerialGroupTask=t.SendingAudioFailureConnectionHealthPolicy=t.SendAnd
2138ReceiveDataMessagesTask=t.SDPMediaSection=t.SDPCandidateType=t.SDP=t.RunnableTask=t.RedundantAudioRecoveryMetricReport=t.RedundantAudioEncoderWorkerCode=void 0,t.isVideoTransformDevice=t.isDestroyable=t.isAudioTransformDevice=t.ZLIBTextCompressor=t.WebSocketReadyState=t.WaitForAttendeePresenceTask=t.VoiceFocusTransformDevice=t.VoiceFocusDeviceTransformer=t.VideoTileState=t.VideoStreamDescription=t.VideoSource=t.VideoQualitySettings=t.VideoQualityAdaptationPreference=t.VideoPriorityBasedPolicyConfig=t.VideoPriorityBasedPolicy=t.VideoPreferences=t.VideoPreference=t.VideoOnlyTransceiverController=t.VideoLogEvent=t.VideoFxProcessor=t.VideoEncodingFramerateConnectionHealthPolicy=t.VideoEncodingCpuConnectionHealthPolicy=t.VideoEncodingConnectionHealthPolicyName=void 0;const r=n(i(12712));t.AllHighestVideoBandwidthPolicy=r.default;const o=n(i(56251));t.ApplicationMetadata=o.default;const s=n(i(91365));t.AsyncScheduler=s.default;const a=n(i(33914));t.AttachMediaInputTask=a.default;const d=n(i(705));t.Attendee=d.default;const c=n(i(65479));t.AudioLogEvent=c.default;const l=n(i(6895));t.AudioProfile=l.default;const u=n(i(97474));t.AudioVideoControllerState=u.default;const h=n(i(20330));t.BackgroundBlurStrength=h.default;const p=n(i(13723));t.BackgroundBlurVideoFrameProcessor=p.default;const f=n(i(94593));t.BackgroundFilterVideoFrameProcessor=f.default;const m=n(i(94081));t.BackgroundReplacementVideoFrameProcessor=m.default;const g=n(i(97640));t.BaseConnectionHealthPolicy=g.default;const v=n(i(80414));t.BaseTask=v.default;const b=n(i(22957));t.BitrateParameters=b.default;const y=n(i(6393));t.CSPMonitor=y.default;const S=n(i(43745));t.CanvasVideoFrameBuffer=S.default;const w=n(i(96587));t.CheckAudioConnectivityFeedback=w.default;
2138const C=n(i(29040));t.CheckAudioInputFeedback=C.default;const k=n(i(54453));t.CheckAudioOutputFeedback=k.default;const E=n(i(27123));t.CheckCameraResolutionFeedback=E.default;const T=n(i(8781));t.CheckContentShareConnectivityFeedback=T.default;const I=n(i(3700));t.CheckNetworkTCPConnectivityFeedback=I.default;const x=n(i(95840));t.CheckNetworkUDPConnectivityFeedback=x.default;const A=n(i(99874));t.CheckVideoConnectivityFeedback=A.default;const P=n(i(56183));t.CheckVideoInputFeedback=P.default;const O=n(i(94594));t.CleanRestartedSessionTask=O.default;const _=n(i(57979));t.CleanStoppedSessionTask=_.default;const M=n(i(48107));t.ClientMetricReport=M.default;const R=n(i(19542));t.ClientMetricReportDirection=R.default;const D=n(i(53551));t.ClientMetricReportMediaType=D.default;const F=n(i(84276));t.ClientVideoStreamReceivingReport=F.default;const L=n(i(2579));t.ConnectionHealthData=L.default;const N=n(i(87811));t.ConnectionHealthPolicyConfiguration=N.default;const B=n(i(38936));t.ConsoleLogger=B.default;const V=n(i(40736));t.ContentShareConstants=V.default;const U=n(i(8892));t.ContentShareMediaStreamBroker=U.default;const j=n(i(15011));t.CreatePeerConnectionTask=j.default;const z=n(i(75192));t.CreateSDPTask=z.default;const $=n(i(26315));t.DataMessage=$.default;const H=n(i(77662));t.DefaultActiveSpeakerDetector=H.default;const W=n(i(13350));t.DefaultActiveSpeakerPolicy=W.default;const q=n(i(46704));t.DefaultAudioMixController=q.default;const K=n(i(88544));t.DefaultAudioVideoController=K.default;const G=n(i(11248));t.DefaultAudioVideoFacade=G.default;const J=n(i(98824));t.DefaultBrowserBehavior=J.default;const Q=n(i(13876));t.DefaultContentShareController=Q.default;const X=n(i(70536));t.DefaultDeviceController=X.default;const Z=n(i(61858));t.DefaultDevicePixelRatioMonitor=Z.default;const Y=n(i(57088));t.DefaultEventController=Y.default;const ee=n(i(84620));t.DefaultMediaDeviceFactory=ee.default;const te=n(i(51453));t.DefaultMeetingEventReporter=te.default;const ie=n(i(32408));t.DefaultMeetingReadinessChecker=ie.default;const ne=n(i(41136));t.DefaultMeetingSession=ne.default;const re=n(i(91324));t.DefaultMessagingSession=re.default;const oe=n(i(38148));t.DefaultModality=oe.default;const se=n(i(98624));t.DefaultPingPong=se.default;const ae=n(i(5928));t.DefaultRealtimeController=ae.default;const de=n(i(12330));t.DefaultReconnectController=de.default;const ce=n(i(38828));t.DefaultSessionStateController=ce.default;const le=n(i(1834));t.DefaultSigV4=le.default;const ue=n(i(27014));t.DefaultSignalingClient=ue.default;const he=n(i(29671));t.DefaultSimulcastUplinkPolicy=he.default;const pe=n(i(45936));t.DefaultSimulcastUplinkPolicyForContentShare=pe.default;const fe=n(i(61472));t.DefaultTransceiverController=fe.default;const me=n(i(66456));t.DefaultTranscriptionController=me.default;const ge=n(i(36594));t.DefaultUserAgentParser=ge.default;const ve=n(i(95480));t.DefaultVideoCaptureAndEncodeParameter=ve.default;const be=n(i(94958));t.DefaultVideoElementResolutionMonitor=be.default;const ye=n(i(94422));t.DefaultVideoFrameProcessorPipeline=ye.default;const Se=n(i(70447));t.DefaultVideoFrameProcessorTimer=Se.default;const we=n(i(32648));t.DefaultVideoStreamIdSet=we.default;const Ce=n(i(50196));t.DefaultVideoStreamIndex=Ce.default;const ke=n(i(60686));t.DefaultVideoTile=ke.default;const Ee=n(i(95570));t.DefaultVideoTileController=Ee.default;const Te=n(i(75824));t.DefaultVideoTileFactory=Te.default;const Ie=n(i(3765));t.DefaultVideoTransformDevice=Ie.default;const xe=n(i(48096));t.DefaultVolumeIndicatorAdapter=xe.default;const Ae=n(i(9944));t.DefaultWebSocketAdapter=Ae.default;const Pe=n(i(65517));t.DevicePixelRatioWindowSource=Pe.default;const Oe=n(i(60135));t.DeviceSelection=Oe.default;const _e=n(i(76225));t.EventBufferConfiguration=_e.default;const Me=n(i(92847));t.EventIngestionConfiguration=Me.default;const Re=n(i(99174));t.FinishGatheringICECandidatesTask=Re.default;const De=n(i(50638));t.FullJitterBackoff=De.default;const Fe=n(i(78710));t.FullJitterBackoffFactory=Fe.default;const Le=n(i(61714));t.FullJitterLimitedBackoff=Le.default;const Ne=n(i(56474));t.GetUserMediaError=Ne.default;const Be=n(i(95963));t.GlobalMetricReport=Be.default;const Ve=n(i(34853));t.InMemoryJSONEventBuffer=Ve.default;const Ue=n(i(2228));
2138t.IntervalScheduler=Ue.default;const je=n(i(59811));t.JoinAndReceiveIndexTask=je.default;const ze=n(i(28708));t.LeaveAndReceiveLeaveAckTask=ze.default;const $e=n(i(51811));t.ListenForVolumeIndicatorsTask=$e.default;const He=n(i(2463));t.Log=He.default;const We=n(i(70305));t.LogLevel=We.default;const qe=n(i(42995));t.MediaDeviceProxyHandler=qe.default;const Ke=n(i(68212));t.MeetingEventsClientConfiguration=Ke.default;const Ge=n(i(85756));t.MeetingFeatures=Ge.default;const Je=n(i(68501));t.MeetingReadinessCheckerConfiguration=Je.default;const Qe=n(i(5481));t.MeetingSessionConfiguration=Qe.default;const Xe=n(i(24981));t.MeetingSessionCredentials=Xe.default;const Ze=n(i(74015));t.MeetingSessionLifecycleEvent=Ze.default;const Ye=n(i(318));t.MeetingSessionLifecycleEventCondition=Ye.default;const et=n(i(60169));t.MeetingSessionStatus=et.default;const tt=n(i(77376));t.MeetingSessionStatusCode=tt.default;const it=n(i(50656));t.MeetingSessionTURNCredentials=it.default;const nt=n(i(8133));t.MeetingSessionURLs=nt.default;const rt=n(i(79375));t.MeetingSessionVideoAvailability=rt.default;const ot=n(i(59003));t.Message=ot.default;const st=n(i(75271));t.MessagingSessionConfiguration=st.default;const at=n(i(38679));t.ModelSpecBuilder=at.default;const dt=n(i(99759));t.MonitorTask=dt.default;const ct=n(i(64328));t.MultiLogger=ct.default;const lt=n(i(43867));t.NScaleVideoUplinkBandwidthPolicy=lt.default;const ut=n(i(37043));t.NoOpAudioVideoController=ut.default;const ht=n(i(1514));t.NoOpDebugLogger=ht.default;const pt=n(i(90073));t.NoOpDeviceController=pt.default;const ft=n(i(60207));t.NoOpEventReporter=ft.default;const mt=n(i(91229));t.NoOpLogger=mt.default;const gt=n(i(62499));t.NoOpMediaStreamBroker=gt.default;const vt=n(i(58587));t.NoOpTask=vt.default;const bt=n(i(43923));t.NoOpVideoElementFactory=bt.default;const yt=n(i(25667));t.NoOpVideoFrameProcessor=yt.default;const St=n(i(53182));t.NoVideoDownlinkBandwidthPolicy=St.default;const wt=n(i(6980));t.NoVideoUplinkBandwidthPolicy=wt.default;const Ct=n(i(95564));t.NotFoundError=Ct.default;const kt=n(i(35434));t.NotReadableError=kt.default;const Et=n(i(19354));t.OnceTask=Et.default;const Tt=n(i(90677));t.OpenSignalingConnectionTask=Tt.default;const It=n(i(95683));t.OverconstrainedError=It.default;const xt=n(i(17391));t.POSTLogger=xt.default;const At=n(i(28763));t.ParallelGroupTask=At.default;const Pt=n(i(32865));t.PermissionDeniedError=Pt.default;const Ot=n(i(19739));t.PrefetchOn=Ot.default;const _t=n(i(21851));t.PrefetchSortBy=_t.default;const Mt=n(i(1e4));t.PromiseQueue=Mt.default;const Rt=n(i(14023));t.PromoteToPrimaryMeetingTask=Rt.default;const Dt=n(i(45084));t.RealtimeAttendeePositionInFrame=Dt.default;const Ft=n(i(68018));t.RealtimeState=Ft.default;const Lt=n(i(85728));t.RealtimeVolumeIndicator=Lt.default;const Nt=n(i(44358));t.ReceiveAudioInputTask=Nt.default;const Bt=n(i(6966));t.ReceiveRemoteVideoPauseResumeTask=Bt.default;const Vt=n(i(47689));t.ReceiveVideoInputTask=Vt.default;const Ut=n(i(72313));t.ReceiveVideoStreamIndexTask=Ut.default;const jt=n(i(24152));t.ReconnectionHealthPolicy=jt.default;const zt=n(i(10899));t.RedundantAudioEncoder=zt.default;const $t=n(i(17107));t.RedundantAudioEncoderWorkerCode=$t.default;const Ht=n(i(39358));t.RedundantAudioRecoveryMetricReport=Ht.default;const Wt=n(i(56282));t.RunnableTask=Wt.default;const qt=n(i(21287));t.SDP=qt.default;const Kt=n(i(40334));t.SDPCandidateType=Kt.default;const Gt=n(i(3960));t.SDPMediaSection=Gt.default;const Jt=n(i(35299));t.SendAndReceiveDataMessagesTask=Jt.default;const Qt=n(i(22967));t.SendingAudioFailureConnectionHealthPolicy=Qt.default;const Xt=n(i(74478));t.SerialGroupTask=Xt.default;const Zt=n(i(35928));t.ServerSideNetworkAdaption=Zt.default;const Yt=n(i(84217));t.SessionStateControllerAction=Yt.default;const ei=n(i(38199));t.SessionStateControllerDeferPriority=ei.default;const ti=n(i(52818));t.SessionStateControllerState=ti.default;const ii=n(i(42985));t.SessionStateControllerTransitionResult=ii.default;const ni=n(i(74218));t.SetLocalDescriptionTask=ni.default;const ri=n(i(97632));t.SetRemoteDescriptionTask=ri.default;const oi=n(i(51569));t.SignalingAndMetricsConnectionMonitor=oi.default;const si=n(i(33774));t.SignalingClientConnectionRequest=si.default;const ai=n(i(23907));t.SignalingClientEvent=ai.default;const di=n(i(10587));t.SignalingClientEventType=di.default;const ci=n(i(62059));t.SignalingClientJoin=ci.default;const li=n(i(5667));t.SignalingClientSubscribe=li.default;const ui=n(i(97375));t.SignalingClientVideoSubscriptionConfiguration=ui.default;const hi=n(i(88284));t.SimulcastContentShareTransceiverController=hi.default;const pi=n(i(3739));t.SimulcastLayers=pi.default;const fi=n(i(26216));t.SimulcastTransceiverController=fi.default;const mi=n(i(26316));t.SimulcastVideoStreamIndex=mi.default;const gi=n(i(67543));t.SingleNodeAudioTransformDevice=gi.default;const vi=n(i(86216));t.StreamMetricReport=vi.default;const bi=n(i(95814));t.SubscribeAndReceiveSubscribeAckTask=bi.default;const yi=n(i(30159));t.TargetDisplaySize=yi.default;const Si=n(i(5217));t.TaskStatus=Si.default;const wi=n(i(50448));
2138t.TimeoutScheduler=wi.default;const Ci=n(i(71630));t.TimeoutTask=Ci.default;const ki=n(i(75221));t.Transcript=ki.default;const Ei=n(i(374));t.TranscriptAlternative=Ei.default;const Ti=n(i(38922));t.TranscriptEntity=Ti.default;const Ii=n(i(62730));t.TranscriptItem=Ii.default;const xi=n(i(71714));t.TranscriptItemType=xi.default;const Ai=n(i(3093));t.TranscriptLanguageWithScore=Ai.default;const Pi=n(i(25312));t.TranscriptResult=Pi.default;const Oi=n(i(2673));t.TranscriptionStatus=Oi.default;const _i=n(i(32897));t.TranscriptionStatusType=_i.default;const Mi=n(i(93405));t.TypeError=Mi.default;const Ri=n(i(60588));t.UnusableAudioWarningConnectionHealthPolicy=Ri.default;const Di=n(i(40961));t.Versioning=Di.default;const Fi=n(i(80728));t.VideoAdaptiveProbePolicy=Fi.default;const Li=n(i(96357));t.VideoCodecCapability=Li.default;const Ni=n(i(5970));t.VideoEncodingConcurrentSendersHealthPolicy=Ni.default;const Bi=n(i(18412));t.VideoEncodingConnectionHealthPolicyName=Bi.default;const Vi=n(i(48021));t.VideoEncodingCpuConnectionHealthPolicy=Vi.default;const Ui=n(i(52580));t.VideoEncodingFramerateConnectionHealthPolicy=Ui.default;const ji=n(i(74227));t.VideoFxProcessor=ji.default;const zi=n(i(37282));t.VideoLogEvent=zi.default;const $i=n(i(21204));t.VideoOnlyTransceiverController=$i.default;const Hi=n(i(4553));t.VideoPreference=Hi.default;const Wi=n(i(7980));t.VideoPreferences=Wi.default;const qi=n(i(31975));t.VideoPriorityBasedPolicy=qi.default;const Ki=n(i(66593));t.VideoPriorityBasedPolicyConfig=Ki.default;const Gi=n(i(62531));t.VideoQualityAdaptationPreference=Gi.default;const Ji=n(i(28586));t.VideoQualitySettings=Ji.default;const Qi=n(i(23487));t.VideoSource=Qi.default;const Xi=n(i(29173));t.VideoStreamDescription=Xi.default;const Zi=n(i(87682));t.VideoTileState=Zi.default;const Yi=n(i(97116));t.VoiceFocusDeviceTransformer=Yi.default;const en=n(i(48163));t.VoiceFocusTransformDevice=en.default;const tn=n(i(77718));t.WaitForAttendeePresenceTask=tn.default;const nn=n(i(90428));t.WebSocketReadyState=nn.default;const rn=n(i(21467));t.ZLIBTextCompressor=rn.default;const on=i(7980);Object.defineProperty(t,"MutableVideoPreferences",{enumerable:!0,get:function(){return on.MutableVideoPreferences}});const sn=i(89419);Object.defineProperty(t,"Some",{enumerable:!0,get:function(){return sn.Some}}),Object.defineProperty(t,"None",{enumerable:!0,get:function(){return sn.None}}),Object.defineProperty(t,"Maybe",{enumerable:!0,get:function(){return sn.Maybe}});const an=i(22975);Object.defineProperty(t,"isAudioTransformDevice",{enumerable:!0,get:function(){return an.isAudioTransformDevice}});const dn=i(45099);Object.defineProperty(t,"isDestroyable",{enumerable:!0,get:function(){return dn.isDestroyable}});const cn=i(21260);Object.defineProperty(t,"isVideoTransformDevice",{enumerable:!0,get:function(){return cn.isVideoTransformDevice}})},38936(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(70305));t.default=class{constructor(e,t=r.default.WARN){this.name=e,this.level=t}info(e){this.log(r.default.INFO,e)}warn(e){this.log(r.default.WARN,e)}error(e){this.log(r.default.ERROR,e)}debug(e){r.default.DEBUG<this.level||("string"==typeof e?this.log(r.default.DEBUG,e):e?this.log(r.default.DEBUG,e()):this.log(r.default.DEBUG,""+e))}setLogLevel(e){this.level=e}getLogLevel(){return this.level}log(e,t){if(e<this.level)return;const i=`${(new Date).toISOString()} [${r.default[e]}] ${this.name} - ${t}`;switch(e){case r.default.ERROR:console.error(i);break;case r.default.WARN:console.warn(i);break;case r.default.DEBUG:console.debug(i.replace(/\\r\\n/g,"\n"));break;case r.default.INFO:console.info(i)}}}},2463(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e,t,i,n){this.sequenceNumber=e,this.message=t,this.timestampMs=i,this.logLevel=n}}},70305(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.LogLevel=void 0,function(e){e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR",e[e.OFF=4]="OFF"}(i=t.LogLevel||(t.LogLevel={})),t.default=i},64328(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esMo
2138dule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(70305));t.default=class{constructor(...e){this._loggers=e}info(e){for(const t of this._loggers)t.info(e)}warn(e){for(const t of this._loggers)t.warn(e)}error(e){for(const t of this._loggers)t.error(e)}debug(e){let t,i;i="string"==typeof e?e:e?()=>(t||(t=e()),t):""+e;for(const e of this._loggers)e.debug(i)}setLogLevel(e){for(const t of this._loggers)t.setLogLevel(e)}getLogLevel(){for(const e of this._loggers)return e.getLogLevel();return r.default.OFF}}},1514(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(70305)),o=n(i(91229));class s extends o.default{constructor(){super(r.default.DEBUG)}}t.default=s},91229(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(70305));t.default=class{constructor(e=r.default.OFF){this.level=e}info(e){}warn(e){}error(e){}debug(e){r.default.DEBUG<this.level||"string"!=typeof e&&e()}setLogLevel(e){this.level=e}getLogLevel(){return this.level}}},17391(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(2228)),s=r(i(2463)),a=r(i(70305));class d{constructor(e){this.logCapture=[],this.lock=!1,this.sequenceNumber=0;const{url:t,batchSize:i=d.BATCH_SIZE,intervalMs:n=d.INTERVAL_MS,logLevel:r=a.default.WARN,metadata:o,headers:s}=e;this.url=t,this.batchSize=i,this.intervalMs=n,this.logLevel=r,this.metadata=o,this.headers=s,this.start(),this.eventListener=()=>{this.stop()},this.addEventListener()}addEventListener(){this.eventListener&&"window"in i.g&&window.addEventListener&&window.addEventListener("unload",this.eventListener)}removeEventListener(){this.eventListener&&"window"in i.g&&window.removeEventListener&&window.removeEventListener("unload",this.eventListener)}debug(e){a.default.DEBUG<this.logLevel||("string"==typeof e?this.log(a.default.DEBUG,e):e?this.log(a.default.DEBUG,e()):this.log(a.default.DEBUG,""+e))}info(e){this.log(a.default.INFO,e)}warn(e){this.log(a.default.WARN,e)}error(e){this.log(a.default.ERROR,e)}setLogLevel(e){this.logLevel=e}getLogLevel(){return this.logLevel}getLogCaptureSize(){return this.logCapture.length}start(){this.addEventListener(),this.intervalScheduler=new o.default(this.intervalMs),this.intervalScheduler.start(()=>n(this,void 0,void 0,function*(){if(!0===this.lock||0===this.getLogCaptureSize())return;this.lock=!0;const e=this.logCapture.slice(0,this.batchSize),t=this.makeRequestBody(e);try{200===(yield fetch(this.url,Object.assign({method:"POST",body:t},this.headers?{headers:this.headers}:{}))).status&&(this.logCapture=this.logCapture.slice(e.length))}catch(e){console.warn("[POSTLogger] "+e.message)}finally{this.lock=!1}}))}stop(){var e;null===(e=this.intervalScheduler)||void 0===e||e.stop(),this.intervalScheduler=void 0,this.removeEventListener();const t=this.makeRequestBody(this.logCapture);navigator.sendBeacon(this.url,t)}destroy(){return n(this,void 0,void 0,function*(){this.stop(),this.metadata=void 0,this.headers=void 0,this.logCapture=[],this.sequenceNumber=0,this.lock=!1,this.batchSize=0,this.intervalMs=0,this.url=void 0})}makeRequestBody(e){return JSON.stringify(Object.assign(Object.assign({},this.metadata),{logs:e}))}log(e,t){if(e<this.logLevel)return;const i=Date.now();this.logCapture.push(new s.default(this.sequenceNumber,t,i,a.default[e])),this.sequenceNumber+=1}}t.default=d,d.BATCH_SIZE=85,d.INTERVAL_MS=2e3},84620(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};
2138Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(42995));t.default=class{constructor(){this.isMediaDevicesSupported="undefined"!=typeof navigator&&!!navigator.mediaDevices}create(){if(this.isMediaDevicesSupported)return new Proxy(navigator.mediaDevices,new r.default);throw new Error("navigator.mediaDevices is not supported")}}},42995(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(91365)),s=r(i(2228));class a{constructor(){this.scheduler=null,this.devices=null,this.deviceChangeListeners=new Set,this.get=(e,t,i)=>{if(!Reflect.has(e,t))return;if(!("ondevicechange"in navigator.mediaDevices)){if("addEventListener"===t)return this.patchAddEventListener(e,t,i);if("removeEventListener"===t)return this.patchRemoveEventListener(e,t,i)}const n=Reflect.get(e,t,i);return"function"==typeof n?n.bind(e):n},this.patchAddEventListener=(e,t,i)=>{const n=Reflect.get(e,t,i);return(t,i,r)=>{if("devicechange"!==t)return Reflect.apply(n,e,[t,i,r]);this.deviceChangeListeners.add(i),this.scheduler||(this.scheduler=new s.default(a.INTERVAL_MS),this.scheduler.start(this.pollDeviceLists))}},this.patchRemoveEventListener=(e,t,i)=>{const n=Reflect.get(e,t,i);return(t,i,r)=>{if("devicechange"!==t)return Reflect.apply(n,e,[t,i,r]);this.deviceChangeListeners.delete(i),0===this.deviceChangeListeners.size&&this.scheduler&&(this.scheduler.stop(),this.scheduler=null)}},this.pollDeviceLists=()=>n(this,void 0,void 0,function*(){const e=yield this.sortedDeviceList();this.devices&&(e.length!==this.devices.length||e.some((e,t)=>e.deviceId!==this.devices[t].deviceId))&&this.handleDeviceChangeEvent(),this.devices=e})}sortedDeviceList(){return n(this,void 0,void 0,function*(){return(yield navigator.mediaDevices.enumerateDevices()).sort((e,t)=>e.deviceId<t.deviceId?1:e.deviceId>t.deviceId?-1:0)})}handleDeviceChangeEvent(){for(const e of this.deviceChangeListeners)o.default.nextTick(()=>{if(this.deviceChangeListeners.has(e)){const t=new Event("devicechange");"function"==typeof e?e(t):e.handleEvent(t)}})}}t.default=a,a.INTERVAL_MS=1e3},62499(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{acquireAudioInputStream(){return Promise.reject()}acquireVideoInputStream(){return Promise.reject()}acquireDisplayInputStream(e){return Promise.reject()}muteLocalAudioInputStream(){}unmuteLocalAudioInputStream(){}addMediaStreamBrokerObserver(e){}removeMediaStreamBrokerObserver(e){}}},96587(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.CheckAudioConnectivityFeedback=void 0,function(e){e[e.Succeeded=0]="Succeeded",e[e.AudioInputRequestFailed=1]="AudioInputRequestFailed",e[e.AudioInputPermissionDenied=2]="AudioInputPermissionDenied",e[e.ConnectionFailed=3]="ConnectionFailed",e[e.AudioNotReceived=4]="AudioNotReceived"}(i=t.CheckAudioConnectivityFeedback||(t.CheckAudioConnectivityFeedback={})),t.default=i},29040(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.CheckAudioInputFeedback=void 0,function(e){e[e.Succeeded=0]="Succeeded",e[e.Failed=1]="Failed",e[e.PermissionDenied=2]="PermissionDenied"}(i=t.CheckAudioInputFeedback||(t.CheckAudioInputFeedback={})),t.default=i},54453(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.CheckAudioOutputFeedback=void 0,function(e){e[e.Succeeded=0]="Succeeded",e[e.Failed=1]="Failed"}(i=t.CheckAudioOutputFeedback||(t.CheckAudioOutputFeedback={})),t.default=i},27123(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.CheckCameraResolutionFeedback=void 0,function(e){e[e.Succeeded=0]="Succeeded",e[e.Failed=1]="Failed",e[e.ResolutionNotSupported=2]="ResolutionNotSupported",e[e.PermissionDenied=3]="PermissionDenied"}(i=t.CheckCameraResolutionFeedback||(t.CheckCameraResolutionFeedback={})),t.default=i},8781(e,t){"use strict";var i;
2138Object.defineProperty(t,"__esModule",{value:!0}),t.CheckContentShareConnectivityFeedback=void 0,function(e){e[e.Succeeded=0]="Succeeded",e[e.Failed=1]="Failed",e[e.PermissionDenied=2]="PermissionDenied",e[e.TimedOut=3]="TimedOut",e[e.ConnectionFailed=4]="ConnectionFailed"}(i=t.CheckContentShareConnectivityFeedback||(t.CheckContentShareConnectivityFeedback={})),t.default=i},3700(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.CheckNetworkTCPConnectivityFeedback=void 0,function(e){e[e.Succeeded=0]="Succeeded",e[e.MeetingSessionURLsNotInitialized=1]="MeetingSessionURLsNotInitialized",e[e.ConnectionFailed=2]="ConnectionFailed",e[e.ICENegotiationFailed=3]="ICENegotiationFailed"}(i=t.CheckNetworkTCPConnectivityFeedback||(t.CheckNetworkTCPConnectivityFeedback={})),t.default=i},95840(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.CheckNetworkUDPConnectivityFeedback=void 0,function(e){e[e.Succeeded=0]="Succeeded",e[e.MeetingSessionURLsNotInitialized=1]="MeetingSessionURLsNotInitialized",e[e.ConnectionFailed=2]="ConnectionFailed",e[e.ICENegotiationFailed=3]="ICENegotiationFailed"}(i=t.CheckNetworkUDPConnectivityFeedback||(t.CheckNetworkUDPConnectivityFeedback={})),t.default=i},99874(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.CheckVideoConnectivityFeedback=void 0,function(e){e[e.Succeeded=0]="Succeeded",e[e.VideoInputRequestFailed=1]="VideoInputRequestFailed",e[e.VideoInputPermissionDenied=2]="VideoInputPermissionDenied",e[e.ConnectionFailed=3]="ConnectionFailed",e[e.VideoNotSent=4]="VideoNotSent"}(i=t.CheckVideoConnectivityFeedback||(t.CheckVideoConnectivityFeedback={})),t.default=i},56183(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.CheckVideoInputFeedback=void 0,function(e){e[e.Succeeded=0]="Succeeded",e[e.Failed=1]="Failed",e[e.PermissionDenied=2]="PermissionDenied"}(i=t.CheckVideoInputFeedback||(t.CheckVideoInputFeedback={})),t.default=i},32408(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(46704)),s=r(i(98824)),a=r(i(70536)),d=r(i(32865)),c=r(i(80414)),l=r(i(71630)),u=r(i(96587)),h=r(i(29040)),p=r(i(54453)),f=r(i(27123)),m=r(i(8781)),g=r(i(3700)),v=r(i(95840)),b=r(i(99874)),y=r(i(56183)),S=r(i(68501));class w{constructor(e,t,i=new S.default){this.logger=e,this.meetingSession=t,this.configuration=i,this.browserBehavior=new s.default}static delay(e){return n(this,void 0,void 0,function*(){return new Promise(t=>setTimeout(t,e))})}checkAudioInput(e){return n(this,void 0,void 0,function*(){try{return yield this.meetingSession.audioVideo.startAudioInput(e),yield this.meetingSession.audioVideo.stopAudioInput(),h.default.Succeeded}catch(e){return this.logger.error(`MeetingReadinessChecker: Audio input check failed with error ${e}`),e instanceof d.default?h.default.PermissionDenied:h.default.Failed}})}checkAudioOutput(e,t,i=null){return n(this,void 0,void 0,function*(){try{const n=e?a.default.getIntrinsicDeviceId(e):"";return yield this.playTone(n,this.configuration.audioOutputFrequency,i),(yield t())?p.default.Succeeded:p.default.Failed}catch(e){return this.logger.error(`MeetingReadinessChecker: Audio output check failed with error: ${e}`),p.default.Failed}finally{yield this.stopTone()}})}playTone(e,t,i){return n(this,void 0,void 0,function*(){const n=this.configuration.audioOutputGain;this.oscillatorNode&&(yield this.stopTone()),this.audioContext=a.default.getAudioContext(),this.gainNode=this.audioContext.createGain(),this.gainNode.gain.value=0,this.oscillatorNode=this.audioContext.createOscillator(),this.oscillatorNode.frequency.value=t,this.oscillatorNode.connect(this.gainNode),this.destinationStream=this.audioContext.createMediaStreamDestination(),this.gainNode.connect(this.destinationStream);const r=this.audioContext.currentTime+.1;this.gainNode.gain.setValueAtTime(0,r),this.gainNode.gain.linearRampToValueAtTime(n,r+.1),this.oscillatorNode.start();const s=new o.default(this.logger),d=i||new Audio,c=this.destinationStream.stream;this.audioElement=d;try{this.browserBehavior.supportsSetSinkId()&&(yield s.bindAudioDevice({deviceId:e}))}catch(e){this.logger.error(`Failed to bind audio device: ${e}`)}try{yield s.bindAudioElement(d)}catch(e){this.logger.error(`Failed to bind audio element: ${e}`)}yield s.bindAudioStream(c)})}stopTone(){return n(this,void 0,void 0,function*(){if(!(this.audioContext&&this.gainNode&&this.oscillatorNode&&this.destinationStream))return;const e=()=>{this.audioElement&&(this.audioElement.pause(),this.audioElement.srcObject=null),this.oscillatorNode&&this.gainNode&&this.oscillatorNode.disconnect(this.gainNode),this.gainNode&&this.destinationStream&&this.gainNode.disconnect(this.destinationStream),this.oscillatorNode=null,this.gainNode=null,this.destinationStream=null,this.audioElement=null},t=new Promise(t=>{this.oscillatorNode.addEventListener("ended",()=>{e(),t()},{once:!0})}),i=this.configuration.audioOutputGain,n=this.audioContext.currentTime;this.gainNode.gain.setValueAtTime(i,n),this.gainNode.gain.linearRampToValueAtTime(0,n+.1),this.oscillatorNode.stop(n+.1+.1),yield t})}checkVideoInput(e){return n(this,void 0,void 0,function*(){try{return yield this.meetingSession.audioVideo.startVideoInput(e),yield this.meetingSession.audioVideo.stopVideoInput(),y.default.Succeeded}catch(e){return this.logger.error(`MeetingReadinessChecker: Video check failed with error ${e}`),e instanceof d.default?y.default.PermissionDenied:y.default.Failed}})}checkCameraResolution(e,t,i){return n(this,void 0,void 0,function*(){let n;try{const r=a.default.getIntrinsicDeviceId(e),o={video:this.calculateVideoConstraint(r,t,i)};n=yield navigator.mediaDevices.getUserMedia(o)}catch(e){return this.logger.error(`MeetingReadinessChecker: Camera resolution check with width: ${t} height ${i} failed with error ${e}`),e&&"OverconstrainedError"===e.name?f.default.ResolutionNotSupported:e&&"NotAllowedError"===e.name?f.default.PermissionDenied:f.default.Failed}
2138finally{n&&n.getTracks().forEach(function(e){e.stop()})}return f.default.Succeeded})}calculateVideoConstraint(e,t,i){const n=this.browserBehavior.requiresResolutionAlignment(t,i),r={};return this.browserBehavior.requiresNoExactMediaStreamConstraints()?(r.deviceId=e,r.width=t,r.height=i):(r.deviceId={exact:e},r.width={exact:n[0]},r.height={exact:n[1]}),r}checkContentShareConnectivity(e){return n(this,void 0,void 0,function*(){let t=!1,i=!1;const r={contentShareDidStart:()=>{t=!0}},o={audioVideoDidStart:()=>{i=!0}};try{return this.meetingSession.audioVideo.addObserver(o),this.meetingSession.audioVideo.start(),this.meetingSession.audioVideo.addContentShareObserver(r),yield this.meetingSession.audioVideo.startContentShareFromScreenCapture(e),yield this.executeTimeoutTask(()=>n(this,void 0,void 0,function*(){return i&&t})),i?(yield this.stopMeeting(),t?m.default.Succeeded:m.default.TimedOut):m.default.ConnectionFailed}catch(e){return this.logger.error(`MeetingReadinessChecker: Content share check failed with error ${e}`),"NotAllowedError"===e.name?m.default.PermissionDenied:m.default.Failed}finally{this.meetingSession.audioVideo.removeObserver(o),this.meetingSession.audioVideo.stopContentShare(),this.meetingSession.audioVideo.removeContentShareObserver(r)}})}checkAudioConnectivity(e){return n(this,void 0,void 0,function*(){let t=!1;const i={packetsReceived:0},r=this.meetingSession.audioVideo,o={metricsDidReceive(e){e.getRTCStatsReport().forEach(e=>
2138{"inbound-rtp"!==e.type||"audio"!==e.mediaType&&"audio"!==e.kind||(i.packetsReceived=e.packetsReceived)})}},s=(e,i,n,r)=>{e===this.meetingSession.configuration.credentials.attendeeId&&i&&(t=!0)};try{yield r.startAudioInput(e)}catch(e){return this.logger.error(`MeetingReadinessChecker: Failed to get audio input device with error ${e}`),e instanceof d.default?u.default.AudioInputPermissionDenied:u.default.AudioInputRequestFailed}return r.realtimeSubscribeToAttendeeIdPresence(s),r.addObserver(o),(yield this.startMeeting())?(yield this.executeTimeoutTask(()=>n(this,void 0,void 0,function*(){return this.isAudioConnectionSuccessful(t,i)})),r.removeObserver(o),r.realtimeUnsubscribeToAttendeeIdPresence(s),yield this.stopMeeting(),yield this.meetingSession.audioVideo.stopAudioInput(),this.isAudioConnectionSuccessful(t,i)?u.default.Succeeded:u.default.AudioNotReceived):(r.removeObserver(o),r.realtimeUnsubscribeToAttendeeIdPresence(s),yield this.meetingSession.audioVideo.stopAudioInput(),u.default.ConnectionFailed)})}checkVideoConnectivity(e){return n(this,void 0,void 0,function*(){const t=this.meetingSession.audioVideo;let i=0;const r={metricsDidReceive(e){e.getRTCStatsReport().forEach(e=>{"outbound-rtp"!==e.type||"video"!==e.mediaType&&"video"!==e.kind||(i=e.packetsSent)})}};try{yield t.startVideoInput(e)}catch(e){return this.logger.error(`MeetingReadinessChecker: Failed to get video input device with error ${e}`),e instanceof d.default?b.default.VideoInputPermissionDenied:b.default.VideoInputRequestFailed}return t.addObserver(r),(yield this.startMeeting())?(t.startLocalVideoTile(),yield this.executeTimeoutTask(()=>n(this,void 0,void 0,function*(){return i>0})),yield t.stopVideoInput(),yield this.stopMeeting(),t.removeObserver(r),i<=0?b.default.VideoNotSent:b.default.Succeeded):b.default.ConnectionFailed})}checkNetworkUDPConnectivity(){return n(this,void 0,void 0,function*(){let e=!1;const t={metricsDidReceive(t){t.getRTCStatsReport().forEach(t=>{"candidate-pair"===t.type&&"succeeded"===t.state&&(e=!0)})}};try{this.originalURLRewriter=this.meetingSession.configuration.urls.urlRewriter}catch(e){return this.logger.error(`MeetingSessionConfiguration.urls doesn't exist. Error: ${e}`),v.default.MeetingSessionURLsNotInitialized}this.meetingSession.configuration.urls.urlRewriter=e=>{const t=this.originalURLRewriter(e);return t.includes("transport=tcp")?"":t};const i=this.meetingSession.audioVideo;return i.addObserver(t),(yield this.startMeeting())?(yield this.executeTimeoutTask(()=>n(this,void 0,void 0,function*(){return e})),this.meetingSession.configuration.urls.urlRewriter=this.originalURLRewriter,yield this.stopMeeting(),i.removeObserver(t),e?v.default.Succeeded:v.default.ICENegotiationFailed):(this.meetingSession.configuration.urls.urlRewriter=this.originalURLRewriter,v.default.ConnectionFailed)})}checkNetworkTCPConnectivity(){return n(this,void 0,void 0,function*(){let e=!1;const t={metricsDidReceive(t){t.getRTCStatsReport().forEach(t=>{"candidate-pair"===t.type&&"succeeded"===t.state&&(e=!0)})}};try{this.originalURLRewriter=this.meetingSession.configuration.urls.urlRewriter}catch(e){return this.logger.error(`MeetingSessionConfiguration.urls doesn't exist. Error: ${e}`),g.default.MeetingSessionURLsNotInitialized}this.meetingSession.configuration.urls.urlRewriter=e=>{const t=this.originalURLRewriter(e);return t.includes("transport=udp")?"":t};const i=this.meetingSession.audioVideo;return i.addObserver(t),(yield this.startMeeting())?(yield this.executeTimeoutTask(()=>n(this,void 0,void 0,function*(){return e})),this.meetingSession.configuration.urls.urlRewriter=this.originalURLRewriter,yield this.stopMeeting(),i.removeObserver(t),e?g.default.Succeeded:g.default.ICENegotiationFailed):(this.meetingSession.configuration.urls.urlRewriter=this.originalURLRewriter,g.default.ConnectionFailed)})}startMeeting(){return n(this,void 0,void 0,function*(){let e=!1;const t={audioVideoDidStart:()=>{e=!0}};return this.meetingSession.audioVideo.addObserver(t),this.meetingSession.audioVideo.start(),yield this.executeTimeoutTask(()=>n(this,void 0,void 0,function*(){return e})),this.meetingSession.audioVideo.removeObserver(t),e})}stopMeeting(){return n(this,void 0,void 0,function*(){let e=!1;const t={audioVideoDidStop:t=>{e=!0}};return this.meetingSession.audioVideo.addObserver(t),this.meetingSession.audioVideo.stop(),yield this.executeTimeoutTask(()=>n(this,void 0,void 0,function*(){return e})),this.meetingSession.audioVideo.removeObserver(t),e})}executeTimeoutTask(e){return n(this,void 0,void 0,function*(){let t=!1;class i extends c.default{constructor(e,t){super(e),this.waitDurationMs=t,this.isCancelled=!1}cancel(){this.isCancelled=!0}run(){return n(this,void 0,void 0,function*(){for(;!this.isCancelled;){if(yield e()){t=!0;break}yield w.delay(this.waitDurationMs)}})}}const r=new l.default(this.logger,new i(this.logger,this.configuration.waitDurationMs),this.configuration.timeoutMs);return yield r.run(),t})}isAudioConnectionSuccessful(e,t){return e&&t.packetsReceived>0}}t.default=w},68501(e,t){"use strict";
2138Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.timeoutMs=1e4,this.waitDurationMs=3e3,this.audioOutputFrequency=440,this.audioOutputGain=.1}}},41136(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(88544)),s=r(i(11248)),a=r(i(50638)),d=r(i(98824)),c=r(i(8892)),l=r(i(13876)),u=r(i(6393)),h=i(45099),p=r(i(57088)),f=r(i(12330)),m=r(i(9944));t.default=class{constructor(e,t,i,n){this._eventController=n,this._configuration=e,this._logger=t,this.checkBrowserSupportAndFeatureConfiguration(),u.default.addLogger(this._logger),u.default.register(),this._eventController||(this._eventController=new p.default(e,t)),i.eventController||(i.eventController=this.eventController),this.audioVideoController=new o.default(this._configuration,this._logger,new m.default(this._logger),i,new f.default(this._configuration.reconnectTimeoutMs,new a.default(this._configuration.reconnectFixedWaitMs,this._configuration.reconnectShortBackOffMs,this._configuration.reconnectLongBackOffMs)),this.eventController),this._deviceController=i,this.logger.info(`MeetingFeatures: ${JSON.stringify(e.meetingFeatures)}`);const r=new c.default(this._logger);this.contentShareController=new l.default(r,new o.default(l.default.createContentShareMeetingSessionConfigure(this._configuration),this._logger,new m.default(this._logger),r,new f.default(this._configuration.reconnectTimeoutMs,new a.default(this._configuration.reconnectFixedWaitMs,this._configuration.reconnectShortBackOffMs,this._configuration.reconnectLongBackOffMs))),this.audioVideoController),this.audioVideoFacade=new s.default(this.audioVideoController,this.audioVideoController.videoTileController,this.audioVideoController.realtimeController,this.audioVideoController.audioMixController,this._deviceController,this.contentShareController)}get configuration(){return this._configuration}get logger(){return this._logger}get audioVideo(){return this.audioVideoFacade}get contentShare(){return this.contentShareController}get deviceController(){return this._deviceController}get eventController(){return this._eventController}destroy(){return n(this,void 0,void 0,function*(){h.isDestroyable(this.contentShareController)&&(yield this.contentShareController.destroy()),h.isDestroyable(this.audioVideoController)&&(yield this.audioVideoController.destroy()),h.isDestroyable(this.eventController)&&(yield this.eventController.destroy()),u.default.removeLogger(this._logger),this._logger=void 0,this._configuration=void 0,this._deviceController=void 0,this.audioVideoFacade=void 0,this.audioVideoController=void 0,this.contentShareController=void 0,this._eventController=void 0})}checkBrowserSupportAndFeatureConfiguration(){const e=new d.default,t=`${e.name()} ${e.majorVersion()} (${e.version()})`;if(this.logger.info(`browser is ${t}`),e.isSupported()||this.logger.warn(`this browser is not currently supported. Stability may suffer. Supported browsers are: ${e.supportString()}.`),this._configuration.videoUplinkBandwidthPolicy)if(this.isSimulcastUplinkPolicy(this._configuration.videoUplinkBandwidthPolicy)){if(!e.hasChromiumWebRTC())throw new Error("Simulcast is only supported on Chromium-based browsers");this._configuration.enableSimulcastForUnifiedPlanChromiumBasedBrowsers=!0}else this._configuration.enableSimulcastForUnifiedPlanChromiumBasedBrowsers=!1;this._configuration.enableSimulcastForUnifiedPlanChromiumBasedBrowsers&&(e.hasChromiumWebRTC()?this.logger.info(`Simulcast is enabled for ${e.name()}`):(this._configuration.enableSimulcastForUnifiedPlanChromiumBasedBrowsers=!1,this.logger.info("Simulcast is only supported on Chromium-based browsers")),this._configuration.enableSVC&&(this._configuration.enableSVC=!1,this.logger.info("SVC is not successfully enabled since simulcast is enabled"))),this._configuration.enableSVC&&!e.supportsScalableVideoCoding()&&(this._configuration.enableSVC=!1,this.logger.info("SVC is only supported on Chromium-based browsers with version 111 or above"))}isSimulcastUplinkPolicy(e){return!(!e||!e.addObserver)}}},85756(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esMo
2138dule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(28586));class o{constructor(e=r.default.VideoResolutionHD,t=r.default.VideoResolutionFHD){this.videoMaxResolution=e,this.contentMaxResolution=t}clone(){return new o(this.videoMaxResolution,this.contentMaxResolution)}}t.default=o},5481(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(87811)),o=n(i(28586)),s=i(48471),a=n(i(85756)),d=n(i(24981)),c=n(i(8133));t.default=class{constructor(e,t){var i,n;if(this.meetingId=null,this.externalMeetingId=null,this.credentials=null,this.urls=null,this.connectionTimeoutMs=15e3,this.attendeePresenceTimeoutMs=0,this.connectionHealthPolicyConfiguration=new r.default,this.reconnectTimeoutMs=12e4,this.reconnectFixedWaitMs=0,this.reconnectShortBackOffMs=1e3,this.reconnectLongBackOffMs=5e3,this.enableSimulcastForUnifiedPlanChromiumBasedBrowsers=!1,this.enableSVC=!1,this.videoDownlinkBandwidthPolicy=null,this.videoUplinkBandwidthPolicy=null,this.keepLastFrameWhenPaused=!1,this.disablePeriodicKeyframeRequestOnContentSender=!1,this.meetingFeatures=new a.default,e){(e=s.toLowerCasePropertyNames(e)).meeting&&(e=e.meeting),this.meetingId=e.meetingid,this.externalMeetingId=e.externalmeetingid,this.urls=new c.default,this.urls.audioHostURL=e.mediaplacement.audiohosturl,this.urls.signalingURL=e.mediaplacement.signalingurl,this.urls.turnControlURL=e.mediaplacement.turncontrolurl,e.mediaplacement.eventingestionurl&&(this.urls.eventIngestionURL=e.mediaplacement.eventingestionurl);const t=(e,t)=>{switch(e){case"None":return o.default.VideoDisabled;case"HD":return o.default.VideoResolutionHD;case"FHD":return o.default.VideoResolutionFHD;case"UHD":return o.default.VideoResolutionUHD;default:return t}};if(void 0!==(null===(i=e.meetingfeatures)||void 0===i?void 0:i.video)||void 0!==(null===(n=e.meetingfeatures)||void 0===n?void 0:n.content)){const i=void 0===e.meetingfeatures.video?"HD":e.meetingfeatures.video.maxresolution,n=void 0===e.meetingfeatures.content?"FHD":e.meetingfeatures.content.maxresolution;this.meetingFeatures=new a.default(t(i,o.default.VideoResolutionHD),t(n,o.default.VideoResolutionFHD))}}t&&((t=s.toLowerCasePropertyNames(t)).attendee&&(t=t.attendee),this.credentials=new d.default,this.credentials.attendeeId=t.attendeeid,this.credentials.externalUserId=t.externaluserid,this.credentials.joinToken=t.jointoken)}}},24981(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.attendeeId=null,this.externalUserId=null,this.joinToken=null}toJSON(){return{attendeeId:this.attendeeId,joinToken:null===this.joinToken?null:"<redacted>"}}}},74015(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.MeetingSessionLifecycleEvent=void 0,function(e){e[e.Connecting=0]="Connecting",e[e.Started=1]="Started",e[e.Stopped=2]="Stopped"}(i=t.MeetingSessionLifecycleEvent||(t.MeetingSessionLifecycleEvent={})),t.default=i},318(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.MeetingSessionLifecycleEventCondition=void 0,function(e){e[e.ConnectingNew=0]="ConnectingNew",e[e.ReconnectingExisting=1]="ReconnectingExisting",e[e.StartedNew=2]="StartedNew",e[e.StartedExisting=3]="StartedExisting",e[e.StartedAfterReconnect=4]="StartedAfterReconnect",e[e.StoppedCleanly=5]="StoppedCleanly",e[e.StoppedWithFailure=6]="StoppedWithFailure"}(i=t.MeetingSessionLifecycleEventCondition||(t.MeetingSessionLifecycleEventCondition={})),t.default=i},60169(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=i(38359),o=n(i(77376));class s{constructor(e){this._statusCode=e}statusCode(){return this._statusCode}isFailure(){switch(this._statusCode){case o.default.AudioAuthenticationRejected:case o.default.AudioCallAtCapacity:case o.default.AudioInternalServerError:case o.default.AudioServiceUnavailable:case o.default.AudioDisconnected:case o.default.VideoCallAtSourceCapacity:case o.default.SignalingBadRequest:case o.default.SignalingInternalServerError:case o.default.SignalingRequestFailed:case o.default.ICEGatheringTimeoutWorkaround:case o.default.ConnectionHealthReconnect:case o.default.RealtimeApiFailed:case o.default.TaskFailed:case o.default.NoAttendeePresent:case o.default.SignalingChannelClosedUnexpectedly:return!0;default:return!1}}isTerminal(){switch(this._statusCode){case o.default.Left:case o.default.AudioJoinedFromAnotherDevice:case o.default.AudioAuthenticationRejected:case o.default.AudioCallAtCapacity:case o.default.MeetingEnded:case o.default.AudioDisconnected:case o.default.TURNCredentialsForbidden:case o.default.SignalingBadRequest:case o.default.SignalingRequestFailed:case o.default.VideoCallAtSourceCapacity:case o.default.RealtimeApiFailed:case o.default.AudioAttendeeRemoved:return!0;default:return!1}}isAudioConnectionFailure(){switch(this._statusCode){case o.default.AudioAuthenticationRejected:case o.default.AudioInternalServerError:case o.default.AudioServiceUnavailable:case o.default.ICEGatheringTimeoutWorkaround:case o.default.SignalingBadRequest:case o.default.SignalingInternalServerError:case o.default.SignalingRequestFailed:case o.default.RealtimeApiFailed:case o.default.NoAttendeePresent:return!0;default:return!1}}toString(){switch(this._statusCode){case o.default.OK:return"Everything is OK so far.";case o.default.Left:return"The attendee left the meeting.";case o.default.AudioJoinedFromAnotherDevice:return"The attendee joined from another device.";case o.default.AudioAuthenticationRejected:return"The meeting rejected the attendee.";case o.default.AudioCallAtCapacity:return"The attendee couldn't join because the meeting was at capacity.";case o.default.MeetingEnded:return"The meeting ended.";case o.default.AudioInternalServerError:case o.default.AudioServiceUnavailable:case o.default.AudioDisconnected:return"The audio connection failed.";
2138case o.default.VideoCallSwitchToViewOnly:return"The attendee couldn't start the local video because the maximum video capacity was reached.";case o.default.VideoCallAtSourceCapacity:return"The connection failed due to an internal server error.";case o.default.SignalingBadRequest:case o.default.SignalingInternalServerError:case o.default.SignalingRequestFailed:return"The signaling connection failed.";case o.default.ICEGatheringTimeoutWorkaround:return"Gathering ICE candidates timed out. In Chrome, this might indicate that the browser is in a bad state after reconnecting to VPN.";case o.default.ConnectionHealthReconnect:return"The meeting was reconnected.";case o.default.RealtimeApiFailed:return"The real-time API failed. This status code might indicate that the callback you passed to the real-time API threw an exception.";case o.default.TaskFailed:return"The connection failed. See the error message for more details.";case o.default.IncompatibleSDP:return"The connection failed due to incompatible SDP.";case o.default.TURNCredentialsForbidden:return"The meeting ended, or the attendee was removed.";case o.default.NoAttendeePresent:return"The attendee was not present.";case o.default.AudioAttendeeRemoved:return"The meeting ended because attendee removed.";case o.default.AudioVideoWasRemovedFromPrimaryMeeting:return"The Primary meeting credentials provided are no longer valid. chime::DeleteAttendee may have been called on them.";case o.default.AudioVideoDisconnectedWhilePromoted:return"The client disconnected while promoted, which will automatically demote. The attendee must promote again to participate.";case o.default.AudioDisconnectAudio:return"The audio connection failed.";case o.default.SignalingChannelClosedUnexpectedly:return"The signaling channel was closed unexpectedly. This may be due to a network change or backend detected failure.";default:{const e=this._statusCode;throw new Error(`Unhandled case: ${e}`)}}}static fromSignalFrame(e){return e.error&&e.error.status?this.fromSignalingStatus(e.error.status):e.type===r.SdkSignalFrame.Type.AUDIO_STATUS?e.audioStatus?this.fromAudioStatus(e.audioStatus.audioStatus):new s(o.default.SignalingRequestFailed):e.type===r.SdkSignalFrame.Type.PRIMARY_MEETING_LEAVE?new s(o.default.AudioVideoWasRemovedFromPrimaryMeeting):new s(o.default.OK)}static fromAudioStatus(e){switch(e){case 200:return new s(o.default.OK);case 301:return new s(o.default.AudioJoinedFromAnotherDevice);case 302:return new s(o.default.AudioDisconnectAudio);case 403:return new s(o.default.AudioAuthenticationRejected);case 409:return new s(o.default.AudioCallAtCapacity);case 410:return new s(o.default.MeetingEnded);case 411:return new s(o.default.AudioAttendeeRemoved);case 500:return new s(o.default.AudioInternalServerError);case 503:return new s(o.default.AudioServiceUnavailable);default:return 2===Math.floor(e/100)?new s(o.default.OK):new s(o.default.AudioDisconnected)}}static fromSignalingStatus(e){switch(e){case 206:return new s(o.default.VideoCallSwitchToViewOnly);case 509:return new s(o.default.VideoCallAtSourceCapacity);case 403:return new s(o.default.AudioAuthenticationRejected);case 409:return new s(o.default.AudioCallAtCapacity);default:switch(Math.floor(e/100)){case 2:return new s(o.default.OK);case 4:return new s(o.default.SignalingBadRequest);case 5:return new s(o.default.SignalingInternalServerError);default:return new s(o.default.SignalingRequestFailed)}}}}t.default=s},77376(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.MeetingSessionStatusCode=void 0,function(e){e[e.OK=0]="OK",e[e.Left=1]="Left",e[e.AudioJoinedFromAnotherDevice=2]="AudioJoinedFromAnotherDevice",e[e.AudioAuthenticationRejected=3]="AudioAuthenticationRejected",e[e.AudioCallAtCapacity=4]="AudioCallAtCapacity",e[e.MeetingEnded=5]="MeetingEnded",e[e.AudioInternalServerError=6]="AudioInternalServerError",e[e.AudioServiceUnavailable=7]="AudioServiceUnavailable",e[e.AudioDisconnected=8]="AudioDisconnected",e[e.VideoCallSwitchToViewOnly=9]="VideoCallSwitchToViewOnly",e[e.VideoCallAtSourceCapacity=10]="VideoCallAtSourceCapacity",e[e.SignalingBadRequest=11]="SignalingBadRequest",e[e.SignalingInternalServerError=12]="SignalingInternalServerError",e[e.SignalingRequestFailed=13]="SignalingRequestFailed",e[e.SignalingChannelClosedUnexpectedly=14]="SignalingChannelClosedUnexpectedly",e[e.ICEGatheringTimeoutWorkaround=15]="ICEGatheringTimeoutWorkaround",e[e.ConnectionHealthReconnect=16]="ConnectionHealthReconnect",e[e.RealtimeApiFailed=17]="RealtimeApiFailed",e[e.TaskFailed=18]="TaskFailed",e[e.IncompatibleSDP=19]="IncompatibleSDP",e[e.TURNCredentialsForbidden=20]="TURNCredentialsForbidden",e[e.NoAttendeePresent=21]="NoAttendeePresent",e[e.AudioAttendeeRemoved=22]="AudioAttendeeRemoved",e[e.AudioVideoWasRemovedFromPrimaryMeeting=23]="AudioVideoWasRemovedFromPrimaryMeeting",e[e.AudioVideoDisconnectedWhilePromoted=24]="AudioVideoDisconnectedWhilePromoted",e[e.AudioDisconnectAudio=25]="AudioDisconnectAudio"}(i=t.MeetingSessionStatusCode||(t.MeetingSessionStatusCode={})),t.default=i},50656(e,t){"use strict";
2138Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.username=null,this.password=null,this.ttl=null,this.uris=null}}},8133(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this._audioHostURL=null,this._signalingURL=null,this._turnControlURL=null,this._eventIngestionURL=null,this.urlRewriter=e=>e,this.urlRewriterMulti=null}get audioHostURL(){return this.urlRewriter(this._audioHostURL)}set audioHostURL(e){this._audioHostURL=e}get signalingURL(){return this.urlRewriter(this._signalingURL)}set signalingURL(e){this._signalingURL=e}get turnControlURL(){return this.urlRewriter(this._turnControlURL)}set turnControlURL(e){this._turnControlURL=e}get eventIngestionURL(){return this.urlRewriter(this._eventIngestionURL)}set eventIngestionURL(e){this._eventIngestionURL=e}}},79375(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class i{constructor(){this.remoteVideoAvailable=!1,this.canStartLocalVideo=!1}equal(e){return this.remoteVideoAvailable===e.remoteVideoAvailable&&this.canStartLocalVideo===e.canStartLocalVideo}clone(){const e=new i;return e.remoteVideoAvailable=this.remoteVideoAvailable,e.canStartLocalVideo=this.canStartLocalVideo,e}}t.default=i},59003(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e,t,i){this.type=e,this.headers=t,this.payload=i}}},91324(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(31269),s=r(i(50638)),a=r(i(6393)),d=r(i(59003)),c=r(i(12330)),l=r(i(91365)),u=r(i(1834)),h=r(i(9944)),p=r(i(90428)),f=r(i(19739));t.default=class{constructor(e,t,i,n,r){this.configuration=e,this.logger=t,this.webSocket=i,this.reconnectController=n,this.sigV4=r,this.observerQueue=new Set,this.webSocket||(this.webSocket=new h.default(this.logger)),this.reconnectController||(this.reconnectController=new c.default(e.reconnectTimeoutMs,new s.default(e.reconnectFixedWaitMs,e.reconnectShortBackoffMs,e.reconnectLongBackoffMs))),this.sigV4||(this.sigV4=new u.default(this.configuration.chimeClient)),a.default.addLogger(this.logger),a.default.register(),this.preBootstrapMessages=[]}addObserver(e){this.logger.info("adding messaging observer"),this.observerQueue.add(e)}removeObserver(e){this.logger.info("removing messaging observer"),this.observerQueue.delete(e)}start(){return n(this,void 0,void 0,function*(){this.isClosed()?yield this.startConnecting(!1):this.logger.info("messaging session already started")})}stop(){this.isClosed()?this.logger.info("no existing messaging session needs closing"):(this.isClosing=!0,this.webSocket.close(),a.default.removeLogger(this.logger))}forEachObserver(e){for(const t of this.observerQueue)l.default.nextTick(()=>{this.observerQueue.has(t)&&e(t)})}setUpEventListeners(){this.webSocket.addEventListener("open",()=>{this.openEventHandler()}),this.webSocket.addEventListener("message",e=>{this.receiveMessageHandler(e.data)}),this.webSocket.addEventListener("close",e=>{this.closeEventHandler(e)}),this.webSocket.addEventListener("error",()=>{this.logger.error("WebSocket error")})}startConnecting(e){return n(this,void 0,void 0,function*(){return yield this.startConnectingInternal(e),yield new Promise((e,t)=>{this.bootstrapResolved=e,this.bootstrapRejected=t})})}startConnectingInternal(e){var t;return n(this,void 0,void 0,function*(){let i=this.configuration.endpointUrl;if(e||this.reconnectController.reset(),this.reconnectController.hasStartedConnectionAttempt()?this.reconnectController.startedConnectionAttempt(!1):this.reconnectController.startedConnectionAttempt(!0),e||void 0===i)try{if(this.configuration.chimeClient.getMessagingSessionEndpoint instanceof Function){const e=yield this.configuration.chimeClient.getMessagingSessionEndpoint();i=(null===(t=e.Endpoint)||void 0===t?void 0:t.Url)?e.Endpoint.Url:(yield this.configuration.chimeClient.getMessagingSessionEndpoint().promise()).Endpoint.Url}else i=(yield this.configuration.chimeClient.send(new o.GetMessagingSessionEndpointCommand({}))).Endpoint.Url;this.logger.debug(`Messaging endpoint resolved to: ${i}`)}catch(e){this.logger.error(`Messaging Session failed to resolve endpoint: ${e}`);const t=new CloseEvent("close",{wasClean:!1,code:4999,reason:"Failed to get messaging session endpoint URL",bubbles:!1});return void this.closeEventHandler(t)}const n=yield this.prepareWebSocketUrl(i);this.logger.info(`opening connection to ${n}`),e||this.reconnectController.reset(),this.reconnectController.hasStartedConnectionAttempt()?this.reconnectController.startedConnectionAttempt(!1):this.reconnectController.startedConnectionAttempt(!0),this.webSocket.create(n,[],!0),this.forEachObserver(t=>{t.messagingSessionDidStartConnecting&&t.messagingSessionDidStartConnecting(e)}),this.setUpEventListeners()})}prepareWebSocketUrl(e){return n(this,void 0,void 0,function*(){const t=new Map;return t.set("userArn",[this.configuration.userArn]),t.set("sessionId",[this.configuration.messagingSessionId]),this.configuration.prefetchOn===f.default.Connect&&t.set("prefetch-on",[f.default.Connect]),this.configuration.prefetchSortBy&&t.set("prefetch-sort-by",[this.configuration.prefetchSortBy]),yield this.sigV4.signURL("GET","wss","chime",e,"/connect","",t)})}isClosed(){return this.webSocket.readyState()===p.default.None||this.webSocket.readyState()===p.default.Closed}openEventHandler(){this.reconnectController.reset(),this.isSessionEstablished=!1}receiveMessageHandler(e){try{const t=JSON.parse(e),i=t.Headers["x-amz-chime-event-type"],n=new d.default(i,t.Headers,t.Payload||null);if(this.isSessionEstablished||"SESSION_ESTABLISHED"!==i){if(!this.isSessionEstablished)return void this.preBootstrapMessages.push(n)}else{this.forEachObserver(e=>{e.messagingSessionDidStart&&e.messagingSessionDidStart()}),this.bootstrapResolved(),this.isSessionEstablished=!0;const e=this.preBootstrapMessages.length;for(let t=0;t<e;t++){const e=this.preBootstrapMessages.shift();this.forEachObserver(t=>{this.sendMessageToObserver(t,e)})}}this.forEachObserver(e=>{this.sendMessageToObserver(e,n)})}catch(e){this.logger.error(`Messaging parsing failed: ${e}`)}}sendMessageToObserver(e,t){e.messagingSessionDidReceiveMessage&&e.messagingSessionDidReceiveMessage(t)}retryConnection(){return this.reconnectController.retryWithBackoff(()=>n(this,void 0,void 0,function*(){yield this.startConnecting(!0)}),null)}closeEventHandler(e){this.logger.info(`WebSocket close: ${e.code} ${e.reason}`),4999!==e.code&&this.webSocket.destroy(),!this.isClosing&&this.canReconnect(e.code)&&this.retryConnection()||(this.isClosing=!1,this.isSessionEstablished?this.forEachObserver(t=>{t.messagingSessionDidStop&&t.messagingSessionDidStop(e)}):this.bootstrapRejected(e))}canReconnect(e){return 1001===e||1006===e||e>=1011&&e<=1014||e>4e3&&4002!==e&&4003!==e&&4401!==e}}},75271(e,t,i){"use strict";
2138Object.defineProperty(t,"__esModule",{value:!0});const n=i(48471);t.default=class{constructor(e,t,i,n){this.userArn=e,this.messagingSessionId=t,this.endpointUrl=i,this.chimeClient=n,this.reconnectTimeoutMs=1e4,this.reconnectFixedWaitMs=0,this.reconnectShortBackoffMs=1e3,this.reconnectLongBackoffMs=5e3,this.prefetchOn=void 0,this.prefetchSortBy=void 0,this.messagingSessionId||(this.messagingSessionId=this.generateSessionId())}generateSessionId(){const e=new Uint32Array(1);return n.getRandomValues(e),e[0].toString()}}},19739(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Connect="connect"}(i||(i={})),t.default=i},21851(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Unread="unread",e.LastMessageTimestamp="last-message-timestamp"}(i||(i={})),t.default=i},38148(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(40736));class o{constructor(e){this._id=e}id(){return this._id}base(){return this._id?this._id.split(o.MODALITY_SEPARATOR)[0]:""}modality(){if(!this._id)return"";const e=this._id.split(o.MODALITY_SEPARATOR);return 2===e.length?e[1]:""}hasModality(e){return""!==e&&this.modality()===e}withModality(e){const t=new o(this.base()+o.MODALITY_SEPARATOR+e);return""===e||""===this.base()||new o(t._id).modality()!==e?new o(this.base()):t}}t.default=o,o.MODALITY_SEPARATOR=r.default.Modality[0],o.MODALITY_CONTENT=r.default.Modality.substring(1)},98624(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(91365)),o=n(i(2228)),s=n(i(10587)),a=i(38359),d=i(89419);t.default=class{constructor(e,t,i){this.signalingClient=e,this.intervalMs=t,this.logger=i,this.observerQueue=new Set,this.consecutivePongsUnaccountedFor=0,this.intervalScheduler=new o.default(this.intervalMs),this.pingId=0}addObserver(e){this.logger.info("adding a ping-pong observer"),this.observerQueue.add(e)}removeObserver(e){this.logger.info("removing a ping-pong observer"),this.observerQueue.delete(e)}forEachObserver(e){for(const t of this.observerQueue)r.default.nextTick(()=>{this.observerQueue.has(t)&&e(t)})}start(){this.stop(),this.signalingClient.registerObserver(this),this.signalingClient.ready()&&this.startPingInterval()}stop(){this.stopPingInterval(),this.signalingClient.removeObserver(this)}startPingInterval(){this.intervalScheduler.start(()=>{this.ping()}),this.ping()}stopPingInterval(){this.intervalScheduler.stop(),this.pingId=0,this.consecutivePongsUnaccountedFor=0}ping(){this.consecutivePongsUnaccountedFor>0&&(this.logger.warn(`missed pong ${this.consecutivePongsUnaccountedFor} time(s)`),this.forEachObserver(e=>{d.Maybe.of(e.didMissPongs).map(t=>t.bind(e)(this.consecutivePongsUnaccountedFor))})),this.consecutivePongsUnaccountedFor+=1,this.pingId=this.pingId+1&4294967295;const e=a.SdkPingPongFrame.create();e.pingId=this.pingId,e.type=a.SdkPingPongType.PING,this.pingTimestampLocalMs=this.signalingClient.pingPong(e),this.logger.debug(()=>`sent ping ${this.pingId}`)}pong(e){const t=a.SdkPingPongFrame.create();t.pingId=e,t.type=a.SdkPingPongType.PONG,this.signalingClient.pingPong(t)}handleSignalingClientEvent(e){switch(e.type){case s.default.WebSocketOpen:this.startPingInterval();break;case s.default.WebSocketFailed:case s.default.WebSocketError:this.logger.warn(`stopped pinging (${s.default[e.type]})`),this.stopPingInterval();break;case s.default.WebSocketClosing:case s.default.WebSocketClosed:this.logger.info(`stopped pinging (${s.default[e.type]})`),this.stopPingInterval();break;case s.default.ReceivedSignalFrame:if(e.message.type!==a.SdkSignalFrame.Type.PING_PONG)break;if(e.message.pingPong.type===a.SdkPingPongType.PONG){const t=e.message.pingPong.pingId;if(t!==this.pingId){this.logger.warn(`unexpected ping id ${t} (expected ${this.pingId})`);break}let i;if(this.consecutivePongsUnaccountedFor=0,"number"!=typeof e.message.timestampMs)break;i=e.message.timestampMs,this.logger.debug(()=>`received pong ${t} with timestamp ${i}`);const n=e.timestampMs-this.pingTimestampLocalMs,r=Math.round(i-n/2),o=this.pingTimestampLocalMs-r;this.logger.info(`local clock skew estimate=${o}ms from ping-pong time=${n}ms`),this.forEachObserver(e=>{d.Maybe.of(e.didReceivePong).map(i=>i.bind(e)(t,o,n))})}else this.pong(e.message.pingPong.pingId)}}}},5928(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esMo
2138dule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(66456)),o=i(48471),s=n(i(68018)),a=n(i(85728));t.default=class{constructor(e,t){this.mediaStreamBroker=e,this.state=new s.default,this._transcriptionController=t||new r.default(this)}realtimeSetLocalAttendeeId(e,t){this.state.localAttendeeId=e,this.state.localExternalUserId=t}realtimeSetAttendeeIdPresence(e,t,i,n,r){try{t&&(this.state.attendeeIdToExternalUserId[e]=i);for(const o of this.state.attendeeIdChangesCallbacks)o(e,t,i,n,r)}catch(e){this.onError(e)}}realtimeSubscribeToAttendeeIdPresence(e){try{this.state.attendeeIdChangesCallbacks.push(e)}catch(e){this.onError(e)}}realtimeUnsubscribeToAttendeeIdPresence(e){try{const t=this.state.attendeeIdChangesCallbacks.indexOf(e);-1!==t&&this.state.attendeeIdChangesCallbacks.splice(t,1)}catch(e){this.onError(e)}}realtimeSetCanUnmuteLocalAudio(e){try{if(this.state.canUnmute===e)return;this.state.canUnmute=e;for(const t of this.state.setCanUnmuteLocalAudioCallbacks)t(e)}catch(e){this.onError(e)}}realtimeSubscribeToSetCanUnmuteLocalAudio(e){try{this.state.setCanUnmuteLocalAudioCallbacks.push(e)}catch(e){this.onError(e)}}realtimeUnsubscribeToSetCanUnmuteLocalAudio(e){try{const t=this.state.setCanUnmuteLocalAudioCallbacks.indexOf(e);-1!==t&&this.state.setCanUnmuteLocalAudioCallbacks.splice(t,1)}catch(e){this.onError(e)}}realtimeCanUnmuteLocalAudio(){return this.state.canUnmute}realtimeMuteLocalAudio(){if(!this.state.muted)try{this.setAudioInputEnabled(!1),this.state.muted=!0,this.realtimeUpdateVolumeIndicator(this.state.localAttendeeId,null,null,null,this.state.localExternalUserId);for(const e of this.state.muteAndUnmuteLocalAudioCallbacks)e(!0)}catch(e){this.onError(e)}}realtimeUnmuteLocalAudio(){if(!this.state.muted)return!0;if(!this.state.canUnmute)return!1;try{this.setAudioInputEnabled(!0),this.state.muted=!1,this.realtimeUpdateVolumeIndicator(this.state.localAttendeeId,null,null,null,this.state.localExternalUserId);for(const e of this.state.muteAndUnmuteLocalAudioCallbacks)e(!1);return!0}catch(e){return this.onError(e),!1}}realtimeSubscribeToMuteAndUnmuteLocalAudio(e){try{this.state.muteAndUnmuteLocalAudioCallbacks.push(e)}catch(e){this.onError(e)}}realtimeUnsubscribeToMuteAndUnmuteLocalAudio(e){try{const t=this.state.muteAndUnmuteLocalAudioCallbacks.indexOf(e);-1!==t&&this.state.muteAndUnmuteLocalAudioCallbacks.splice(t,1)}catch(e){this.onError(e)}}realtimeIsLocalAudioMuted(){return this.state.muted}realtimeSubscribeToVolumeIndicator(e,t){try{this.state.volumeIndicatorCallbacks.hasOwnProperty(e)||(this.state.volumeIndicatorCallbacks[e]=[]),this.state.volumeIndicatorCallbacks[e].push(t),this.sendVolumeIndicatorChange(e,!0,!0,!0,this.state.attendeeIdToExternalUserId[e])}catch(e){this.onError(e)}}realtimeUnsubscribeFromVolumeIndicator(e,t){if(this.state.volumeIndicatorCallbacks[e])if(t){const i=this.state.volumeIndicatorCallbacks[e].indexOf(t);i>=0&&this.state.volumeIndicatorCallbacks[e].splice(i,1)}else delete this.state.volumeIndicatorCallbacks[e]}realtimeUpdateVolumeIndicator(e,t,i,n,r){try{i=this.applyLocalMuteOverride(e,i);const o=this.getVolumeIndicatorState(e);let s=!1,a=!1,d=!1;null!==i&&o.muted!==i&&(o.muted=i,a=!0,o.muted&&0!==o.volume&&(o.volume=0,s=!0)),o.muted||null===t||(o.volume!==t&&(o.volume=t,s=!0),null===o.muted&&(o.muted=!1,a=!0)),null!==n&&o.signalStrength!==n&&(o.signalStrength=n,d=!0),this.sendVolumeIndicatorChange(e,s,a,d,r)}catch(e){this.onError(e)}}realtimeSubscribeToLocalSignalStrengthChange(e){try{if(this.state.localSignalStrengthChangeCallbacks.push(e),null===this.state.localAttendeeId)return;this.sendLocalSignalStrengthChange(this.state.localAttendeeId,!0)}catch(e){this.onError(e)}}realtimeUnsubscribeToLocalSignalStrengthChange(e){try{const t=this.state.localSignalStrengthChangeCallbacks.indexOf(e);-1!==t&&this.state.localSignalStrengthChangeCallbacks.splice(t,1)}catch(e){this.onError(e)}}realtimeSubscribeToSendDataMessage(e){try{this.state.sendDataMessageCallbacks.push(e)}catch(e){this.onError(e)}}realtimeUnsubscribeFromSendDataMessage(e){try{const t=this.state.sendDataMessageCallbacks.indexOf(e);-1!==t&&this.state.sendDataMessageCallbacks.splice(t,1)}catch(e){this.onError(e)}}realtimeSendDataMessage(e,t,i){try{for(const n of this.state.sendDataMessageCallbacks)n(e,t,i)}catch(e){this.onError(e)}}realtimeSubscribeToReceiveDataMessage(e,t){try{this.state.receiveDataMessageCallbacks.has(e)?this.state.receiveDataMessageCallbacks.get(e).push(t):this.state.receiveDataMessageCallbacks.set(e,[t])}catch(e){this.onError(e)}}realtimeUnsubscribeFromReceiveDataMessage(e){try{this.state.receiveDataMessageCallbacks.delete(e)}catch(e){this.onError(e)}}realtimeReceiveDataMessage(e){try{o.iterateEvery(this.state.receiveDataMessageCallbacks.get(e.topic),t=>{t(e)})}catch(e){Promise.reject(e)}}realtimeSubscribeToFatalError(e){try{this.state.fatalErrorCallbacks.push(e)}catch(e){this.onError(e)}}realtimeUnsubscribeToFatalError(e){try{const t=this.state.fatalErrorCallbacks.indexOf(e);-1!==t&&this.state.fatalErrorCallbacks.splice(t,1)}catch(e){this.onError(e)}}get transcriptionController(){return this._transcriptionController}setAudioInputEnabled(e){e?this.mediaStreamBroker.unmuteLocalAudioInputStream():this.mediaStreamBroker.muteLocalAudioInputStream()}applyLocalMuteOverride(e,t){const i=this.state.localAttendeeId,n=this.state.muted;return e!==i?t:"activeDevices"in this.mediaStreamBroker&&this.mediaStreamBroker.activeDevices.audio?n:t}
2138sendVolumeIndicatorChange(e,t,i,n,r){if(this.sendLocalSignalStrengthChange(e,n),!this.state.volumeIndicatorCallbacks.hasOwnProperty(e))return;const o=this.getVolumeIndicatorState(e),s=new a.default;if(t&&(s.volume=o.volume),i&&(s.muted=o.muted),n&&(s.signalStrength=o.signalStrength),!this.stateIsEmpty(s))for(const t of this.state.volumeIndicatorCallbacks[e])t(e,s.volume,s.muted,s.signalStrength,r)}sendLocalSignalStrengthChange(e,t){if(!t)return;if(e!==this.state.localAttendeeId)return;const i=this.getVolumeIndicatorState(e).signalStrength;if(null!==i)for(const e of this.state.localSignalStrengthChangeCallbacks)e(i)}getVolumeIndicatorState(e){return this.state.volumeIndicatorState.hasOwnProperty(e)||(this.state.volumeIndicatorState[e]=new a.default),this.state.volumeIndicatorState[e]}stateIsEmpty(e){return null===e.volume&&null===e.muted&&null===e.signalStrength}onError(e){try{for(const t of this.state.fatalErrorCallbacks)t(e)}catch(t){try{console.error(e),console.error(t)}catch(e){}}}}},45084(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.attendeeIndex=null,this.attendeesInFrame=null}}},68018(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.localAttendeeId=null,this.localExternalUserId=null,this.attendeeIdChangesCallbacks=[],this.canUnmute=!0,this.setCanUnmuteLocalAudioCallbacks=[],this.muted=!1,this.muteAndUnmuteLocalAudioCallbacks=[],this.volumeIndicatorState={},this.attendeeIdToExternalUserId={},this.volumeIndicatorCallbacks={},this.localSignalStrengthChangeCallbacks=[],this.fatalErrorCallbacks=[],this.sendDataMessageCallbacks=[],this.receiveDataMessageCallbacks=new Map}}},85728(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.volume=null,this.muted=null,this.signalStrength=null}}},12330(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(50448));class o{constructor(e,t){this.reconnectTimeoutMs=e,this.backoffPolicy=t,this.shouldReconnect=!0,this.onlyRestartPeerConnection=!1,this.firstConnectionAttempted=!1,this.firstConnectionAttemptTimestampMs=0,this.lastActiveTimestampMs=1/0,this._isFirstConnection=!0,this.backoffTimer=null,this.backoffCancel=null,this.reset()}timeSpentReconnectingMs(){return this.firstConnectionAttempted?Date.now()-this.firstConnectionAttemptTimestampMs:0}hasPastReconnectDeadline(){return Date.now()-this.lastActiveTimestampMs>=this.reconnectTimeoutMs||this.timeSpentReconnectingMs()>=this.reconnectTimeoutMs}reset(){this.cancel(),this.shouldReconnect=!0,this.onlyRestartPeerConnection=!1,this.firstConnectionAttempted=!1,this.firstConnectionAttemptTimestampMs=0,this.lastActiveTimestampMs=1/0,this.backoffPolicy.reset()}startedConnectionAttempt(e){this._isFirstConnection=e,this.firstConnectionAttempted||(this.firstConnectionAttempted=!0,this.firstConnectionAttemptTimestampMs=Date.now())}hasStartedConnectionAttempt(){return this.firstConnectionAttempted}isFirstConnection(){return this._isFirstConnection}disableReconnect(){this.shouldReconnect=!1}enableRestartPeerConnection(){this.onlyRestartPeerConnection=!0}cancel(){this.disableReconnect(),this.backoffTimer&&(this.backoffTimer.stop(),this.backoffCancel&&(this.backoffCancel(),this.backoffCancel=null))}retryWithBackoff(e,t){const i=this.shouldReconnect&&!this.hasPastReconnectDeadline();return i&&(this.backoffCancel=t,this.backoffTimer=new r.default(this.backoffPolicy.nextBackoffAmountMs()),this.backoffTimer.start(()=>{this.backoffCancel=null,e()})),i}shouldOnlyRestartPeerConnection(){return this.onlyRestartPeerConnection}clone(){return new o(this.reconnectTimeoutMs,this.backoffPolicy)}setLastActiveTimestampMs(e){this.lastActiveTimestampMs=e}}t.default=o},10899(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class i{constructor(){this.maxRedPacketSizeBytes=1024,this.maxAudioPayloadSizeBytes=1e3,this.maxRedTimestampOffset=16384,this.redHeaderSizeBytes=4,this.redLastHeaderSizeBytes=1,this.redPacket
2138izationTime=960,this.redPacketDistance=2,this.maxRedEncodings=2,this.redMaxRecoveryDistance=this.redPacketDistance*this.maxRedEncodings+1,this.maxEncodingHistorySize=10,this.numRedundantEncodings=0,this.redundancyEnabled=!0,this.lossReportInterval=24e4,this.maxOutOfOrderPacketDistance=16,this.OPUS_BAD_ARG=-1,this.OPUS_INVALID_PACKET=-4,this.OPUS_MAX_OPUS_FRAMES=48,this.OPUS_MAX_FRAME_SIZE_BYTES=1275,this.encodingHistory=new Array,this.opusPayloadType=0,this.redPayloadType=0,this.initializePacketLogs()}static initializeWorker(){i.log("Initializing RedundantAudioEncoder");const e=new i;self.RTCRtpScriptTransformer&&(self.onrtctransform=t=>{"SenderTransform"===t.transformer.options.type?e.setupSenderTransform(t.transformer.readable,t.transformer.writable):"ReceiverTransform"===t.transformer.options.type?e.setupReceiverTransform(t.transformer.readable,t.transformer.writable):"PassthroughTransform"===t.transformer.options.type&&e.setupPassthroughTransform(t.transformer.readable,t.transformer.writable)}),self.onmessage=t=>{"StartRedWorker"===t.data.msgType?(e.setupSenderTransform(t.data.send.readable,t.data.send.writable),e.setupReceiverTransform(t.data.receive.readable,t.data.receive.writable)):"PassthroughTransform"===t.data.msgType?(e.setupPassthroughTransform(t.data.send.readable,t.data.send.writable),e.setupPassthroughTransform(t.data.receive.readable,t.data.receive.writable)):"RedPayloadType"===t.data.msgType?e.setRedPayloadType(t.data.payloadType):"OpusPayloadType"===t.data.msgType?e.setOpusPayloadType(t.data.payloadType):"UpdateNumRedundantEncodings"===t.data.msgType?e.setNumRedundantEncodings(t.data.numRedundantEncodings):"Enable"===t.data.msgType?e.setRedundancyEnabled(!0):"Disable"===t.data.msgType&&e.setRedundancyEnabled(!1)}}static log(e){i.shouldLog&&self.postMessage({type:"REDWorkerLog",log:`[AudioRed] ${e}`})}static getNumRedundantEncodingsForPacketLoss(e){let t=0,i=!1;return e<=8?t=0:e<=18?t=1:e<=75?t=2:(t=0,i=!0),[t,i]}setupPassthroughTransform(e,t){i.log("Setting up passthrough transform"),e.pipeTo(t)}setupSenderTransform(e,t){i.log("Setting up sender RED transform");const n=new TransformStream({transform:this.senderTransform.bind(this)});e.pipeThrough(n).pipeTo(t)}setupReceiverTransform(e,t){i.log("Setting up receiver RED transform");const n=new TransformStream({transform:this.receivePacketLogTransform.bind(this)});e.pipeThrough(n).pipeTo(t)}setRedPayloadType(e){this.redPayloadType=e,i.log(`red payload type set to ${this.redPayloadType}`)}setOpusPayloadType(e){this.opusPayloadType=e,i.log(`opus payload type set to ${this.opusPayloadType}`)}setNumRedundantEncodings(e){this.numRedundantEncodings=e,this.numRedundantEncodings>this.maxRedEncodings&&(this.numRedundantEncodings=this.maxRedEncodings),i.log(`Updated numRedundantEncodings to ${this.numRedundantEncodings}`)}setRedundancyEnabled(e){this.redundancyEnabled=e,i.log("redundancy "+(this.redundancyEnabled?"enabled":"disabled"))}enqueueAudioFrameIfPayloadSizeIsValid(e,t){e.data.byteLength>this.maxAudioPayloadSizeBytes||t.enqueue(e)}senderTransform(e,t){if(e.getMetadata().payloadType!==this.redPayloadType)return void this.enqueueAudioFrameIfPayloadSizeIsValid(e,t);const i=this.getPrimaryPayload(e.timestamp,e.data);if(!i)return void this.enqueueAudioFrameIfPayloadSizeIsValid(e,t);const n=this.encode(e.timestamp,i);n?(e.data=n,this.enqueueAudioFrameIfPayloadSizeIsValid(e,t)):this.enqueueAudioFrameIfPayloadSizeIsValid(e,t)}getPrimaryPayload(e,t){const i=this.splitEncodings(e,t);return!i||i.length<1?null:i[i.length-1].payload}splitEncodings(e,t,i=!1,n=void 0){const r=new DataView(t);let o=r.byteLength,s=0,a=0,d=0,c=0,l=!1;const u=new Array,h=new Array,p=new Array;for(;o>0;){if(l=!(128&r.getUint8(c)),l){if((127&r.getUint8(c))!==this.opusPayloadType)return null;if(s+=this.redLastHeaderSizeBytes,a+=this.redLastHeaderSizeBytes,s>=r.byteLength)return null;d=r.byteLength-s;break}{if(o<this.redHeaderSizeBytes)return null;const t=((3&r.getUint8(c+2))<<8)+r.getUint8(c+3);h.push(t);const i=e-(r.getUint16(c+1)>>2);p.push(i),s+=t+this.redHeaderSizeBytes,a+=this.redHeaderSizeBytes,c+=this.redHeaderSizeBytes,o-=this.redHeaderSizeBytes}}if(!l)return void 0!==n?(u.push({payload:t,isRedundant:!1,seq:n}),u):null;let f=a;for(let e=0;e<p.length;e++){const t=new ArrayBuffer(h[e]);new Uint8Array(t).set(new Uint8Array(r.buffer,f,h[e]),0);const n={timestamp:p[e],payload:t,isRedundant:!0};i&&(n.hasFec=this.opusPacketHasFec(new DataView(t),t.byteLength)),u.push(n),f+=h[e]}const m=r.byteLength-d,g=new ArrayBuffer(d);new Uint8Array(g).set(new Uint8Array(r.buffer,m,d),0);const v={timestamp:e,payload:g,isRedundant:!1,seq:n};return i&&(v.hasFec=this.opusPacketHasFec(new DataView(g),g.byteLength)),u.push(v),u}encode(e,t){const i=t.byteLength;if(0===i||i>=this.maxRedPacketSizeBytes||i>=this.maxAudioPayloadSizeBytes)return null;const n=this.numRedundantEncodings;let r=this.redLastHeaderSizeBytes,o=i,s=this.maxAudioPayloadSizeBytes-i-r;const a=new Array,d=new Array;
2138if(this.redundancyEnabled){let t=this.uint32WrapAround(e-this.redPacketizationTime*this.redPacketDistance);for(let i=0;i<n&&!(this.uint32WrapAround(e-t)>=this.maxRedTimestampOffset);i++){let e=t,i=this.encodingHistory.find(t=>t.timestamp===e);if(i||(e=this.uint32WrapAround(t-this.redPacketizationTime),i=this.encodingHistory.find(t=>t.timestamp===e)),i){const e=i.payload.byteLength;if(s<this.redHeaderSizeBytes+e)break;s-=this.redHeaderSizeBytes+e,r+=this.redHeaderSizeBytes,o+=e,a.unshift(i.timestamp),d.unshift(i.payload)}t-=this.redPacketizationTime*this.redPacketDistance,t=this.uint32WrapAround(t)}}const c=new ArrayBuffer(r+o),l=new DataView(c);let u=0;for(let t=0;t<a.length;t++){const i=e-a[t];l.setUint8(u,128|this.opusPayloadType),l.setUint16(u+1,i<<2|d[t].byteLength>>8),l.setUint8(u+3,255&d[t].byteLength),u+=this.redHeaderSizeBytes}l.setUint8(u,this.opusPayloadType),u+=this.redLastHeaderSizeBytes;const h=new Uint8Array(c);for(let e=0;e<d.length;e++)h.set(new Uint8Array(d[e]),u),u+=d[e].byteLength;return h.set(new Uint8Array(t),u),u+=t.byteLength,u!==r+o?null:(this.updateEncodingHistory(e,t),c)}updateEncodingHistory(e,t){for(const t of this.encodingHistory){const i=this.redPacketizationTime*this.redMaxRecoveryDistance;if(!(e-t.timestamp>=i))break;this.encodingHistory.shift()}const i=new DataView(t);(this.opusPacketIsCeltOnly(i)||this.opusPacketHasVoiceActivity(i,i.byteLength)>0)&&(this.encodingHistory.length+1>this.maxEncodingHistorySize&&(this.encodingHistory.length=0),this.encodingHistory.push({timestamp:e,payload:t}))}initializePacketLogs(){const e=this.maxOutOfOrderPacketDistance+this.redMaxRecoveryDistance;this.primaryPacketLog={window:new Array(e),index:0,windowSize:e},this.redRecoveryLog={window:new Array(e),index:0,windowSize:e},this.fecRecoveryLog={window:new Array(e),index:0,windowSize:e},this.totalAudioPacketsExpected=0,this.totalAudioPacketsLost=0,this.totalAudioPacketsRecoveredRed=0,this.totalAudioPacketsRecoveredFec=0}receivePacketLogTransform(e,t){const i=e.getMetadata();if(i.payloadType!==this.redPayloadType)return void this.enqueueAudioFrameIfPayloadSizeIsValid(e,t);const n=this.splitEncodings(e.timestamp,e.data,!0,i.sequenceNumber);if(n){for(let e=n.length-1;e>=0;e--)this.updateLossStats(n[e])&&(this.updateRedStats(n[e]),this.updateFecStats(n[e]));this.maybeReportLossStats(i.synchronizationSource,n[n.length-1].timestamp),this.enqueueAudioFrameIfPayloadSizeIsValid(e,t)}else this.enqueueAudioFrameIfPayloadSizeIsValid(e,t)}updateLossStats(e){if(e.isRedundant)return!0;const t=e.timestamp,i=e.seq;if(0===this.totalAudioPacketsExpected)return this.totalAudioPacketsExpected=1,this.newestSequenceNumber=i,this.addTimestamp(this.primaryPacketLog,t),!0;const n=this.int16(i-this.newestSequenceNumber);return!(n<-this.maxOutOfOrderPacketDistance||(n<0?this.hasTimestamp(this.primaryPacketLog,t)||(this.totalAudioPacketsLost>0&&this.totalAudioPacketsLost--,this.addTimestamp(this.primaryPacketLog,t),this.removeFromRecoveryWindows(t)):n>1&&(this.totalAudioPacketsLost+=n-1),n>0&&(this.totalAudioPacketsExpected+=n,this.newestSequenceNumber=e.seq,this.addTimestamp(this.primaryPacketLog,t)),0))}updateRedStats(e){if(!e.isRedundant||0===this.totalAudioPacketsLost)return;const t=e.timestamp;this.hasTimestamp(this.primaryPacketLog,t)||(this.hasTimestamp(this.redRecoveryLog,t)||(this.totalAudioPacketsRecoveredRed++,this.addTimestamp(this.redRecoveryLog,t)),this.removeTimestamp(this.fecRecoveryLog,t)&&this.totalAudioPacketsRecoveredFec>0&&this.totalAudioPacketsRecoveredFec--)}updateFecStats(e){if(!e.hasFec||0===this.totalAudioPacketsLost)return;const t=e.timestamp-this.redPacketizationTime;this.hasTimestamp(this.primaryPacketLog,t)||this.hasTimestamp(this.redRecoveryLog,t)||this.hasTimestamp(this.fecRecoveryLog,t)||(this.totalAudioPacketsRecoveredFec++,this.addTimestamp(this.fecRecoveryLog,t))}maybeReportLossStats(e,t){void 0===t||t-this.lastLossReportTimestamp<this.lossReportInterval||(i.shouldReportStats&&self.postMessage({type:"RedundantAudioEncoderStats",ssrc:e,totalAudioPacketsLost:this.totalAudioPacketsLost,totalAudioPacketsExpected:this.totalAudioPacketsExpected,totalAudioPacketsRecoveredRed:this.totalAudioPacketsRecoveredRed,totalAudioPacketsRecoveredFec:this.totalAudioPacketsRecoveredFec}),this.lastLossReportTimestamp=t)}addTimestamp(e,t){void 0!==t&&(e.window[e.index]=t,e.index=(e.index+1)%e.windowSize)}hasTimestamp(e,t){return!!e.window.find(e=>e===t)}removeTimestamp(e,t){const i=e.window.indexOf(t);return i>=0&&(e.window[i]=void 0,!0)}removeFromRecoveryWindows(e){let t=this.removeTimestamp(this.redRecoveryLog,e);t&&this.totalAudioPacketsRecoveredRed>0&&this.totalAudioPacketsRecoveredRed--,t=this.removeTimestamp(this.fecRecoveryLog,e),t&&this.totalAudioPacketsRecoveredFec>0&&this.totalAudioPacketsRecoveredFec--}uint32WrapAround(e){const t=4294967296;let i=e;return e>=t?i=e-t:e<0&&(i=t+e),i}int16(e){return e<<16>>16}opusPacketIsCeltOnly(e){return!!(128&e.getUint8(0))}
2138opusPacketGetSamplesPerFrame(e,t){let i,n;return t=Math.round(t),t=Math.min(Math.max(t,-Math.pow(2,32)),Math.pow(2,32)-1),this.opusPacketIsCeltOnly(e)?(n=e.getUint8(0)>>3&3,i=(t<<n)/400):96&~e.getUint8(0)?(n=e.getUint8(0)>>3&3,i=3===n?60*t/1e3:(t<<n)/100):i=8&e.getUint8(0)?t/50:t/100,i}opusNumSilkFrames(e){let t=this.opusPacketGetSamplesPerFrame(e,48e3)/48;switch(t<10&&(t=10),t){case 10:case 20:return 1;case 40:return 2;case 60:return 3;default:return 0}}opusPacketGetNumChannels(e){return 4&e.getUint8(0)?2:1}opusParseSize(e,t,i,n){return i<1?(n[0]=-1,-1):e.getUint8(t)<252?(n[0]=e.getUint8(t),1):i<2?(n[0]=-1,-1):(n[0]=4*e.getUint8(t+1)+e.getUint8(t),2)}opusPacketParseImpl(e,t,i,n,r,o,s,a){if(!o||t<0)return this.OPUS_BAD_ARG;if(0===t)return this.OPUS_INVALID_PACKET;let d,c,l=0,u=!1;const h=e.getUint8(0);n&&(n[0]=h);let p=t-1,f=1,m=p;switch(3&h){case 0:d=1;break;case 1:if(d=2,u=!0,!i){if(1&p)return this.OPUS_INVALID_PACKET;m=p/2,o[0][0]=m}break;case 2:if(d=2,c=this.opusParseSize(e,f,p,o[0]),p-=c,o[0][0]<0||o[0][0]>p)return this.OPUS_INVALID_PACKET;f+=c,m=p-o[0][0];break;default:if(p<1)return this.OPUS_INVALID_PACKET;const t=e.getUint8(f++);if(--p,d=63&t,d<=0)return this.OPUS_INVALID_PACKET;if(this.opusPacketGetSamplesPerFrame(e,48e3)*d>5760)return this.OPUS_INVALID_PACKET;if(64&t){let t,i;do{if(p<=0)return this.OPUS_INVALID_PACKET;t=e.getUint8(f++),--p,i=255===t?254:t,p-=i,l+=i}while(255===t)}if(p<0)return this.OPUS_INVALID_PACKET;if(u=!(128&t),u){if(!i){if(m=Math.trunc(p/d),m*d!==p)return this.OPUS_INVALID_PACKET;for(let e=0;e<d-1;++e)o[e][0]=m}}else{m=p;for(let t=0;t<d-1;++t){if(c=this.opusParseSize(e,f,p,o[t]),p-=c,o[t][0]<0||o[t][0]>p)return this.OPUS_INVALID_PACKET;f+=c,m-=c+o[t][0]}if(m<0)return this.OPUS_INVALID_PACKET}}if(i){if(c=this.opusParseSize(e,f,p,o[d-1]),p-=c,o[d-1][0]<0||o[d-1][0]>p)return this.OPUS_INVALID_PACKET;if(f+=c,u){if(o[d-1][0]*d>p)return this.OPUS_INVALID_PACKET;for(let e=0;e<d-1;++e)o[e][0]=o[d-1][0]}else if(!(c+o[d-1][0]<=m))return this.OPUS_INVALID_PACKET}else{if(m>this.OPUS_MAX_FRAME_SIZE_BYTES)return this.OPUS_INVALID_PACKET;o[d-1][0]=m}s&&(s[0]=f);for(let e=0;e<d;++e)r&&(r[e][0]=f),f+=o[e][0];return a&&(a[0]=f+l),d}opusPacketParse(e,t,i,n,r,o){return this.opusPacketParseImpl(e,t,!1,i,n,r,o,null)}opusPacketHasVoiceActivity(e,t){if(!e||t<=0)return 0;if(this.opusPacketIsCeltOnly(e))return-1;const i=this.opusNumSilkFrames(e);if(0===i)return-1;const n=new Array(this.OPUS_MAX_OPUS_FRAMES),r=new Array(this.OPUS_MAX_OPUS_FRAMES);for(let e=0;e<this.OPUS_MAX_OPUS_FRAMES;++e)n[e]=[void 0],r[e]=[void 0];const o=this.opusPacketParse(e,t,null,n,r,null);if(o<0)return-1;for(let t=0;t<o;++t)if(!(r[t][0]<1)){if(e.getUint8(n[t][0])>>8-i)return 1;if(2===this.opusPacketGetNumChannels(e)&&e.getUint8(n[t][0])<<i+1>>8-i)return 1}return 0}opusPacketHasFec(e,t){if(!e||t<=0)return!1;if(this.opusPacketIsCeltOnly(e))return!1;const i=new Array(this.OPUS_MAX_OPUS_FRAMES),n=new Array(this.OPUS_MAX_OPUS_FRAMES);for(let e=0;e<this.OPUS_MAX_OPUS_FRAMES;++e)i[e]=[void 0],n[e]=[void 0];if(this.opusPacketParse(e,t,null,i,n,null)<0)return!1;if(n[0][0]<=1)return!1;const r=this.opusNumSilkFrames(e);if(0===r)return!1;const o=this.opusPacketGetNumChannels(e);if(1!==o&&2!==o)return!1;for(let t=0;t<o;t++)if(e.getUint8(i[0][0])&128>>(t+1)*(r+1)-1)return!0;return!1}}t.default=i,i.shouldLog=!1,i.shouldReportStats=!1},17107(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default="class RedundantAudioEncoder {\n constructor() {\n // Each payload must be less than 1024 bytes to fit the 10 bit block length\n this.maxRedPacketSizeBytes = 1 << 10;\n // Limit payload to 1000 bytes to handle small MTU. 1000 is chosen because in Chromium-based browsers, writing audio\n // payloads larger than 1000 bytes using the WebRTC Insertable Streams API (which is used to enable dynamic audio\n // redundancy) will cause an error to be thrown and cause audio flow to permanently stop. See\n // https://crbug.com/1248479.\n this.maxAudioPayloadSizeBytes = 1000;\n // Each payload can encode a timestamp delta of 14 bits\n this.maxRedTimestampOffset = 1 << 14;\n // 4 byte RED header\n this.redHeaderSizeBytes = 4;\n // reduced size for last RED header\n this.redLastHeaderSizeBytes = 1;\n // P-Time for Opus 20 msec packets\n // We do not support other p-times or clock rates\n this.redPacket
2138izationTime = 960;\n // distance between redundant payloads, Opus FEC handles a distance of 1\n // TODO(https://issues.amazon.com/issues/ChimeSDKAudio-55):\n // Consider making this dynamic\n this.redPacketDistance = 2;\n // maximum number of redundant payloads per RTP packet\n this.maxRedEncodings = 2;\n // Maximum number of encodings that can be recovered with a single RED packet, assuming the primary and redundant\n // payloads have FEC.\n this.redMaxRecoveryDistance = this.redPacketDistance * this.maxRedEncodings + 1;\n // maximum history of prior payloads to keep\n // generally we will expire old entries based on timestamp\n // this limit is in place just to make sure the history does not\n // grow too large in the case of erroneous timestamp inputs\n this.maxEncodingHistorySize = 10;\n // Current number of encodings we want to send\n // to the remote end. This will be dynamically\n // updated through the setNumEncodingsFromPacketloss API\n this.numRedundantEncodings = 0;\n // Used to enable or disable redundancy\n // in response to very high packet loss events\n this.redundancyEnabled = true;\n // Loss stats are reported to the main thread every 5 seconds.\n // Since timestamp differences between 2 consecutive packets\n // give us the number of samples in each channel, 1 second\n // is equivalent to 48000 samples:\n // P-time * (1000ms/1s)\n // = (960 samples/20ms) * (1000ms/1s)\n // = 48000 samples/s\n this.lossReportInterval = 48000 * 5;\n // Maximum distance of a packet from the most recent packet timestamp\n // that we will consider for recovery.\n this.maxOutOfOrderPacketDistance = 16;\n /**\n * Below are Opus helper methods and constants.\n */\n this.OPUS_BAD_ARG = -1;\n this.OPUS_INVALID_PACKET = -4;\n // Max number of Opus frames in an Opus packet is 48 (https://www.rfc-editor.org/rfc/rfc6716#section-3.2.5).\n this.OPUS_MAX_OPUS_FRAMES = 48;\n // Max number of bytes that any individual Opus frame can have.\n this.OPUS_MAX_FRAME_SIZE_BYTES = 1275;\n this.encodingHistory = new Array();\n this.opusPayloadType = 0;\n this.redPayloadType = 0;\n this.initializePacketLogs();\n }\n /**\n * Creates an instance of RedundantAudioEncoder and sets up callbacks.\n */\n static initializeWorker() {\n RedundantAudioEncoder.log('Initializing RedundantAudioEncoder');\n const encoder = new RedundantAudioEncoder();\n // RED encoding is done using WebRTC Encoded Transform\n // https://github.com/w3c/webrtc-encoded-transform/blob/main/explainer.md\n // Check the DedicatedWorkerGlobalScope for existence of\n // RTCRtpScriptTransformer interface. If exists, then\n // RTCRtpScriptTransform is supported by this browser.\n // @ts-ignore\n if (self.RTCRtpScriptTransformer) {\n // @ts-ignore\n self.onrtctransform = (event) => {\n if (event.transformer.options.type === 'SenderTransform') {\n encoder.setupSenderTransform(event.transformer.readable, event.transformer.writable);\n }\n else if (event.transformer.options.type === 'ReceiverTransform') {\n encoder.setupReceiverTransform(event.transformer.readable, event.transformer.writable);\n }\n else if (event.transformer.options.type === 'PassthroughTransform') {\n encoder.setupPassthroughTransform(event.transformer.readable, event.transformer.writable);\n }\n };\n }\n self.onmessage = (event) => {\n if (event.data.msgType === 'StartRedWorker') {\n encoder.setupSenderTransform(event.data.send.readable, event.data.send.writable);\n encoder.setupReceiverTransform(event.data.receive.readable, event.data.receive.writable);\n }\n else if (event.data.msgType === 'PassthroughTransform') {\n encoder.setupPassthroughTransform(event.data.send.readable, event.data.send.writable);\n encoder.setupPassthroughTransform(event.data.receive.readable, event.data.receive.writable);\n }\n else if (event.data.msgType === 'RedPayloadType') {\n encoder.setRedPayloadType(event.data.payloadType);\n }
2138\n else if (event.data.msgType === 'OpusPayloadType') {\n encoder.setOpusPayloadType(event.data.payloadType);\n }\n else if (event.data.msgType === 'UpdateNumRedundantEncodings') {\n encoder.setNumRedundantEncodings(event.data.numRedundantEncodings);\n }\n else if (event.data.msgType === 'Enable') {\n encoder.setRedundancyEnabled(true);\n }\n else if (event.data.msgType === 'Disable') {\n encoder.setRedundancyEnabled(false);\n }\n };\n }\n /**\n * Post logs to the main thread\n */\n static log(msg) {\n if (RedundantAudioEncoder.shouldLog) {\n // @ts-ignore\n self.postMessage({\n type: 'REDWorkerLog',\n log: `[AudioRed] ${msg}`,\n });\n }\n }\n /**\n * Returns the number of encodings based on packetLoss value. This is used by `DefaultTransceiverController` to\n * determine when to alert the encoder to update the number of encodings. It also determines if we need to\n * turn off red in cases of very high packet loss to avoid congestion collapse.\n */\n static getNumRedundantEncodingsForPacketLoss(packetLoss) {\n let recommendedRedundantEncodings = 0;\n let shouldTurnOffRed = false;\n if (packetLoss <= 8) {\n recommendedRedundantEncodings = 0;\n }\n else if (packetLoss <= 18) {\n recommendedRedundantEncodings = 1;\n }\n else if (packetLoss <= 75) {\n recommendedRedundantEncodings = 2;\n }\n else {\n recommendedRedundantEncodings = 0;\n shouldTurnOffRed = true;\n }\n return [recommendedRedundantEncodings, shouldTurnOffRed];\n }\n /**\n * Sets up a passthrough (no-op) transform for the given streams.\n */\n setupPassthroughTransform(readable, writable) {\n RedundantAudioEncoder.log('Setting up passthrough transform');\n readable.pipeTo(writable);\n }\n /**\n * Sets up the transform stream and pipes the outgoing encoded audio frames through the transform function.\n */\n setupSenderTransform(readable, writable) {\n RedundantAudioEncoder.log('Setting up sender RED transform');\n const transformStream = new TransformStream({\n transform: this.senderTransform.bind(this),\n });\n readable.pipeThrough(transformStream).pipeTo(writable);\n return;\n }\n /**\n * Sets up the transform stream and pipes the received encoded audio frames through the transform function.\n */\n setupReceiverTransform(readable, writable) {\n RedundantAudioEncoder.log('Setting up receiver RED transform');\n const transformStream = new TransformStream({\n transform: this.receivePacketLogTransform.bind(this),\n });\n readable.pipeThrough(transformStream).pipeTo(writable);\n return;\n }\n /**\n * Set the RED payload type ideally obtained from local offer.\n */\n setRedPayloadType(payloadType) {\n this.redPayloadType = payloadType;\n RedundantAudioEncoder.log(`red payload type set to ${this.redPayloadType}`);\n }\n /**\n * Set the opus payload type ideally obtained from local offer.\n */\n setOpusPayloadType(payloadType) {\n this.opusPayloadType = payloadType;\n RedundantAudioEncoder.log(`opus payload type set to ${this.opusPayloadType}`);\n }\n /**\n * Set the number of redundant encodings\n */\n setNumRedundantEncodings(numRedundantEncodings) {\n this.numRedundantEncodings = numRedundantEncodings;\n if (this.numRedundantEncodings > this.maxRedEncodings) {\n this.numRedundantEncodings = this.maxRedEncodings;\n }\n RedundantAudioEncoder.log(`Updated numRedundantEncodings to ${this.numRedundantEncodings}`);\n }\n /**\n * Enable or disable redundancy in response to\n * high packet loss event.\n */\n setRedundancyEnabled(enabled) {\n this.redundancyEnabled = enabled;\n RedundantAudioEncoder.log(`redundancy ${this.redundancyEnabled ? 'enabled' : 'disabled'}`);\n }\n /**\n * Helper function to only enqueue audio frames if they do not exceed the audio payload byte limit imposed by\n * Chromium-based browsers. Chromium will throw an error (https://crbug.com/1248479) if an audio payload larger than\n * 1000 bytes is enqueued. Any controller that attempts to enqueue an audio payload larger than 1000 bytes will\n * encounter this error and will permanently stop sending or receiving audio.\n */\n enqueueAudioFrameIfPayloadSizeIsValid(\n // @ts-ignore\n frame, controller) {\n if (frame.data.byteLength > this.maxAudioPayloadSizeBytes)\n return;\n controller.enqueue(frame);\n }\n /**\n * Receives encoded frames and modifies as needed before sending to transport.\n */\n senderTransform(\n // @ts-ignore\n frame, controller) {\n const frameMetadata = frame.getMetadata();\n // @ts-ignore\n if (frameMetadata.payloadType !== this.redPayloadType) {\n this.enqueueAudioFrameIfPayloadSizeIsValid(frame, controller);\n return;\n }\n const primaryPayloadBuffer = this.getPrimaryPayload(frame.timestamp, frame.data);\n if (!primaryPayloadBuffer) {\n this.enqueueAudioFrameIfPayloadSizeIsValid(frame, controller);\n return;\n }\n const encodedBuffer = this.encode(frame.timestamp, primaryPayloadBuffer);\n /* istanbul ignore next */\n if (!encodedBuffer) {\n this.enqueueAudioFrameIfPayloadSizeIsValid(frame, controller);\n return;\n }\n frame.data = encodedBuffer;\n this.enqueueAudioFrameIfPayloadSizeIsValid(frame, controller);\n return;\n }\n /**\n * Get the primary payload from encoding\n */\n getPrimaryPayload(primaryTimestamp, frame) {\n const encodings = this.splitEncodings(primaryTimestamp, frame);\n if (!encodings || encodings.length < 1)\n return null;\n return encodings[encodings.length - 1].payload;\n }\n /**\n * Split up the encoding received into primary and redundant encodings\n * These will be ordered oldest to newest which is the same ordering\n * in the RTP red payload.\n */\n splitEncodings(primaryTimestamp, frame, getFecInfo = false, primarySequenceNumber = undefined) {\n // process RED headers (according to RFC 2198)\n // 0 1 2 3\n // 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1\n // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n // |F| block PT | timestamp offset | block length |\n // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n //\n // last header\n // 0 1 2 3 4 5 6 7\n // +-+-+-+-+-+-+-+-+\n // |0| Block PT |\n // +-+-+-+-+-+-+-+-+\n const payload = new DataView(frame);\n let payloadSizeBytes = payload.byteLength;\n let totalPayloadSizeBytes = 0;\n let totalHeaderSizeBytes = 0;\n let primaryPayloadSizeBytes = 0;\n let payloadOffset = 0;\n let gotLastBlock = false;\n const encodings = new Array();\n const redundantEncodingBlockLengths = new Array();\n const redundantEncodingTimestamps = new Array();\n while (payloadSizeBytes > 0) {\n gotLastBlock = (payload.getUint8(payloadOffset) & 0x80) === 0;\n if (gotLastBlock) {\n // Bits 1 through 7 are payload type\n const payloadType = payload.getUint8(payloadOffset) & 0x7f;\n // Unexpected payload type. This is a bad packet.\n if (payloadType !== this.opusPayloadType) {\n return null;\n }\n totalPayloadSizeBytes += this.redLastHeaderSizeBytes;\n totalHeaderSizeBytes += this.redLastHeaderSizeBytes;\n // Accumulated block lengths are equal to or larger than the buffer, which means there is no primary block. This\n // is a bad packet.\n if (totalPayloadSizeBytes >= payload.byteLength) {\n return null;\n }\n primaryPayloadSizeBytes = payload.byteLength - totalPayloadSizeBytes;\n break;\n }\n else {\n if (payloadSizeBytes < this.redHeaderSizeBytes) {\n return null;\n }\n // Bits 22 through 31 are payload length\n const blockLength = ((payload.getUint8(payloadOffset + 2) & 0x03) << 8) + payload.getUint8(payloadOffset + 3);\n redundantEncodingBlockLengths.push(blockLength);\n const timestampOffset = payload.getUint16(payloadOffset + 1) >> 2;\n const timestamp = primaryTimestamp - timestampOffset;\n redundantEncodingTimestamps.push(timestamp);\n totalPayloadSizeBytes += blockLength + this.redHeaderSizeBytes;\n totalHeaderSizeBytes += this.redHeaderSizeBytes;\n payloadOffset += this.redHeaderSizeBytes;\n payloadSizeBytes -= this.redHeaderSizeBytes;\n }\n }\n // The last block was never found. The packet we received\n // does not have a good RED payload.\n if (!gotLastBlock) {\n // Note that sequence numbers only exist for\n // incoming audio frames.\n if (primarySequenceNumber !== undefined) {\n // This could be a possible padding packet used\n // for BWE with a good sequence number.\n // Create a dummy encoding to make sure loss values\n // are calculated correctly by consuming sequence number.\n // Note that for the receive side, we process packets only\n // for loss/recovery calculations and forward the original\n // packet without changing it even in the error case.\n encodings.push({\n payload: frame,\n isRedundant: false,\n seq: primarySequenceNumber,\n });\n return encodings;\n }\n // This is a bad packet.\n return null;\n }\n let redundantPayloadOffset = totalHeaderSizeBytes;\n for (let i = 0; i < redundantEncodingTimestamps.length;
2138 i++) {\n const redundantPayloadBuffer = new ArrayBuffer(redundantEncodingBlockLengths[i]);\n const redundantPayloadArray = new Uint8Array(redundantPayloadBuffer);\n redundantPayloadArray.set(new Uint8Array(payload.buffer, redundantPayloadOffset, redundantEncodingBlockLengths[i]), 0);\n const encoding = {\n timestamp: redundantEncodingTimestamps[i],\n payload: redundantPayloadBuffer,\n isRedundant: true,\n };\n if (getFecInfo) {\n encoding.hasFec = this.opusPacketHasFec(new DataView(redundantPayloadBuffer), redundantPayloadBuffer.byteLength);\n }\n encodings.push(encoding);\n redundantPayloadOffset += redundantEncodingBlockLengths[i];\n }\n const primaryPayloadOffset = payload.byteLength - primaryPayloadSizeBytes;\n const primaryPayloadBuffer = new ArrayBuffer(primaryPayloadSizeBytes);\n const primaryArray = new Uint8Array(primaryPayloadBuffer);\n primaryArray.set(new Uint8Array(payload.buffer, primaryPayloadOffset, primaryPayloadSizeBytes), 0);\n const encoding = {\n timestamp: primaryTimestamp,\n payload: primaryPayloadBuffer,\n isRedundant: false,\n seq: primarySequenceNumber,\n };\n if (getFecInfo) {\n encoding.hasFec = this.opusPacketHasFec(new DataView(primaryPayloadBuffer), primaryPayloadBuffer.byteLength);\n }\n encodings.push(encoding);\n return encodings;\n }\n /**\n * Create a new encoding with current primary payload and the older payloads of choice.\n */\n encode(primaryTimestamp, primaryPayload) {\n const primaryPayloadSize = primaryPayload.byteLength;\n // Payload size needs to be valid.\n if (primaryPayloadSize === 0 ||\n primaryPayloadSize >= this.maxRedPacketSizeBytes ||\n primaryPayloadSize >= this.maxAudioPayloadSizeBytes) {\n return null;\n }\n const numRedundantEncodings = this.numRedundantEncodings;\n let headerSizeBytes = this.redLastHeaderSizeBytes;\n let payloadSizeBytes = primaryPayloadSize;\n let bytesAvailable = this.maxAudioPayloadSizeBytes - primaryPayloadSize - headerSizeBytes;\n const redundantEncodingTimestamps = new Array();\n const redundantEncodingPayloads = new Array();\n // If redundancy is disabled then only send the primary payload\n if (this.redundancyEnabled) {\n // Determine how much redundancy we can fit into our packet\n let redundantTimestamp = this.uint32WrapAround(primaryTimestamp - this.redPacketizationTime * this.redPacketDistance);\n for (let i = 0; i < numRedundantEncodings; i++) {\n // Do not add redundant encodings that are beyond the maximum timestamp offset.\n if (this.uint32WrapAround(primaryTimestamp - redundantTimestamp) >= this.maxRedTimestampOffset) {\n break;\n }\n let findTimestamp = redundantTimestamp;\n let encoding = this.encodingHistory.find(e => e.timestamp === findTimestamp);\n if (!encoding) {\n // If not found or not important then look for the previous packet.\n // The current packet may have included FEC for the previous, so just\n // use the previous packet instead provided that it has voice activity.\n findTimestamp = this.uint32WrapAround(redundantTimestamp - this.redPacketizationTime);\n encoding = this.encodingHistory.find(e => e.timestamp === findTimestamp);\n }\n if (encoding) {\n const redundantEncodingSizeBytes = encoding.payload.byteLength;\n // Only add redundancy if there are enough bytes available.\n if (bytesAvailable < this.redHeaderSizeBytes + redundantEncodingSizeBytes)\n break;\n bytesAvailable -= this.redHeaderSizeBytes + redundantEncodingSizeBytes;\n headerSizeBytes += this.redHeaderSizeBytes;\n payloadSizeBytes += redundantEncodingSizeBytes;\n redundantEncodingTimestamps.unshift(encoding.timestamp);\n redundantEncodingPayloads.unshift(encoding.payload);\n }
2138\n redundantTimestamp -= this.redPacketizationTime * this.redPacketDistance;\n redundantTimestamp = this.uint32WrapAround(redundantTimestamp);\n }\n }\n const redPayloadBuffer = new ArrayBuffer(headerSizeBytes + payloadSizeBytes);\n const redPayloadView = new DataView(redPayloadBuffer);\n // Add redundant encoding header(s) to new buffer\n let redPayloadOffset = 0;\n for (let i = 0; i < redundantEncodingTimestamps.length; i++) {\n const timestampDelta = primaryTimestamp - redundantEncodingTimestamps[i];\n redPayloadView.setUint8(redPayloadOffset, this.opusPayloadType | 0x80);\n redPayloadView.setUint16(redPayloadOffset + 1, (timestampDelta << 2) | (redundantEncodingPayloads[i].byteLength >> 8));\n redPayloadView.setUint8(redPayloadOffset + 3, redundantEncodingPayloads[i].byteLength & 0xff);\n redPayloadOffset += this.redHeaderSizeBytes;\n }\n // Add primary encoding header to new buffer\n redPayloadView.setUint8(redPayloadOffset, this.opusPayloadType);\n redPayloadOffset += this.redLastHeaderSizeBytes;\n // Add redundant payload(s) to new buffer\n const redPayloadArray = new Uint8Array(redPayloadBuffer);\n for (let i = 0; i < redundantEncodingPayloads.length; i++) {\n redPayloadArray.set(new Uint8Array(redundantEncodingPayloads[i]), redPayloadOffset);\n redPayloadOffset += redundantEncodingPayloads[i].byteLength;\n }\n // Add primary payload to new buffer\n redPayloadArray.set(new Uint8Array(primaryPayload), redPayloadOffset);\n redPayloadOffset += primaryPayload.byteLength;\n /* istanbul ignore next */\n // Sanity check that we got the expected total payload size.\n if (redPayloadOffset !== headerSizeBytes + payloadSizeBytes)\n return null;\n this.updateEncodingHistory(primaryTimestamp, primaryPayload);\n return redPayloadBuffer;\n }\n /**\n * Update the encoding history with the latest primary encoding\n */\n updateEncodingHistory(primaryTimestamp, primaryPayload) {\n // Remove encodings from the history if they are too old.\n for (const encoding of this.encodingHistory) {\n const maxTimestampDelta = this.redPacketizationTime * this.redMaxRecoveryDistance;\n if (primaryTimestamp - encoding.timestamp >= maxTimestampDelta) {\n this.encodingHistory.shift();\n }\n else {\n break;\n }\n }\n // Only add an encoding to the history if the encoding is deemed to be important. An encoding is important if it is\n // a CELT-only packet or contains voice activity.\n const packet = new DataView(primaryPayload);\n if (this.opusPacketIsCeltOnly(packet) ||\n this.opusPacketHasVoiceActivity(packet, packet.byteLength) > 0) {\n // Check if adding an encoding will cause the length of the encoding history to exceed the maximum history size.\n // This is not expected to happen but could occur if we get incorrect timestamps. We want to make sure our memory\n // usage is bounded. In this case, just clear the history and start over from empty.\n if (this.encodingHistory.length + 1 > this.maxEncodingHistorySize)\n this.encodingHistory.length = 0;\n this.encodingHistory.push({ timestamp: primaryTimestamp, payload: primaryPayload });\n }\n }\n /**\n * Initialize packet logs and metric values.\n */\n initializePacketLogs() {\n // The extra space from the max RED recovery distance is to ensure that we do not incorrectly count recovery for\n // packets that have already been received but are outside of the max out-of-order distance.\n const packetLogSize = this.maxOutOfOrderPacketDistance + this.redMaxRecoveryDistance;\n this.primaryPacketLog = {\n window: new Array(packetLogSize),\n index: 0,\n windowSize: packetLogSize,\n };\n this.redRecoveryLog = {\n window: new Array(packetLogSize),\n index: 0,\n windowSize: packetLogSize,\n };
2138\n this.fecRecoveryLog = {\n window: new Array(packetLogSize),\n index: 0,\n windowSize: packetLogSize,\n };\n this.totalAudioPacketsExpected = 0;\n this.totalAudioPacketsLost = 0;\n this.totalAudioPacketsRecoveredRed = 0;\n this.totalAudioPacketsRecoveredFec = 0;\n }\n /**\n * Receives encoded frames from the server\n * and adds the timestamps to a packet log\n * to calculate an approximate recovery metric.\n */\n receivePacketLogTransform(\n // @ts-ignore\n frame, controller) {\n const frameMetadata = frame.getMetadata();\n // @ts-ignore\n if (frameMetadata.payloadType !== this.redPayloadType) {\n this.enqueueAudioFrameIfPayloadSizeIsValid(frame, controller);\n return;\n }\n // @ts-ignore\n const encodings = this.splitEncodings(frame.timestamp, frame.data, \n /*getFecInfo*/ true, frameMetadata.sequenceNumber);\n if (!encodings) {\n this.enqueueAudioFrameIfPayloadSizeIsValid(frame, controller);\n return;\n }\n for (let i = encodings.length - 1; i >= 0; i--) {\n if (this.updateLossStats(encodings[i])) {\n this.updateRedStats(encodings[i]);\n this.updateFecStats(encodings[i]);\n }\n }\n this.maybeReportLossStats(frameMetadata.synchronizationSource, encodings[encodings.length - 1].timestamp);\n this.enqueueAudioFrameIfPayloadSizeIsValid(frame, controller);\n }\n /**\n * Adds a timestamp to the primary packet log.\n * This also updates totalAudioPacketsLost and totalAudioPacketsExpected by looking\n * at the difference between timestamps.\n *\n * @param encoding : The encoding to be analyzed\n * @returns false if sequence number was greater than max out of order distance\n * true otherwise\n */\n updateLossStats(encoding) {\n if (encoding.isRedundant)\n return true;\n const timestamp = encoding.timestamp;\n const seq = encoding.seq;\n if (this.totalAudioPacketsExpected === 0) {\n this.totalAudioPacketsExpected = 1;\n this.newestSequenceNumber = seq;\n this.addTimestamp(this.primaryPacketLog, timestamp);\n return true;\n }\n const diff = this.int16(seq - this.newestSequenceNumber);\n if (diff < -this.maxOutOfOrderPacketDistance)\n return false;\n if (diff < 0) {\n if (!this.hasTimestamp(this.primaryPacketLog, timestamp)) {\n if (this.totalAudioPacketsLost > 0)\n this.totalAudioPacketsLost--;\n this.addTimestamp(this.primaryPacketLog, timestamp);\n this.removeFromRecoveryWindows(timestamp);\n }\n }\n else if (diff > 1) {\n this.totalAudioPacketsLost += diff - 1;\n }\n if (diff > 0) {\n this.totalAudioPacketsExpected += diff;\n this.newestSequenceNumber = encoding.seq;\n this.addTimestamp(this.primaryPacketLog, timestamp);\n }\n return true;\n }\n /**\n * Adds a timestamp to the red recovery log if it is not present in\n * the primary packet log and if it's not too old.\n *\n * @param encoding : The encoding to be analyzed\n */\n updateRedStats(encoding) {\n if (!encoding.isRedundant || this.totalAudioPacketsLost === 0)\n return;\n const timestamp = encoding.timestamp;\n if (!this.hasTimestamp(this.primaryPacketLog, timestamp)) {\n if (!this.hasTimestamp(this.redRecoveryLog, timestamp)) {\n this.totalAudioPacketsRecoveredRed++;\n this.addTimestamp(this.redRecoveryLog, timestamp);\n }\n if (this.removeTimestamp(this.fecRecoveryLog, timestamp)) {\n /* istanbul ignore else */\n if (this.totalAudioPacketsRecoveredFec > 0)\n this.totalAudioPacketsRecoveredFec--;\n }\n }\n }\n /**\n * Adds a timestamp to the fec recovery log if it is not present in\n * the primary packet log and red recovery log and if it is not too old.\n *\n * @param encoding : The encoding to be analyzed\n */\n updateFecStats(encoding) {\n if (!encoding.hasFec || this.totalAudioPacketsLost === 0)\n return;\n const fecTimestamp = encoding.timestamp - this.redPacket
2138izationTime;\n if (this.hasTimestamp(this.primaryPacketLog, fecTimestamp) ||\n this.hasTimestamp(this.redRecoveryLog, fecTimestamp) ||\n this.hasTimestamp(this.fecRecoveryLog, fecTimestamp)) {\n return;\n }\n this.totalAudioPacketsRecoveredFec++;\n this.addTimestamp(this.fecRecoveryLog, fecTimestamp);\n }\n /**\n * Reports loss metrics to DefaultTransceiverController\n *\n * @param timestamp : Timestamp of most recent primary packet\n */\n maybeReportLossStats(ssrc, timestamp) {\n if (timestamp === undefined ||\n timestamp - this.lastLossReportTimestamp < this.lossReportInterval)\n return;\n /* istanbul ignore next */\n if (RedundantAudioEncoder.shouldReportStats) {\n // @ts-ignore\n self.postMessage({\n type: 'RedundantAudioEncoderStats',\n ssrc,\n totalAudioPacketsLost: this.totalAudioPacketsLost,\n totalAudioPacketsExpected: this.totalAudioPacketsExpected,\n totalAudioPacketsRecoveredRed: this.totalAudioPacketsRecoveredRed,\n totalAudioPacketsRecoveredFec: this.totalAudioPacketsRecoveredFec,\n });\n }\n this.lastLossReportTimestamp = timestamp;\n }\n /**\n * Adds a timestamp to a packet log\n *\n * @param packetLog : The packetlog to add the timestamp to\n * @param timestamp : The timestamp that should be added\n */\n addTimestamp(packetLog, timestamp) {\n if (timestamp === undefined) {\n return;\n }\n packetLog.window[packetLog.index] = timestamp;\n packetLog.index = (packetLog.index + 1) % packetLog.windowSize;\n }\n /**\n * Checks if a timestamp is in a packetlog\n *\n * @param packetLog : The packetlog to search\n * @param timestamp : The timestamp to search for\n * @returns true if timestamp is present, false otherwise\n */\n hasTimestamp(packetLog, timestamp) {\n const element = packetLog.window.find(t => t === timestamp);\n return !!element;\n }\n /**\n * Removes a timestamp from a packet log\n *\n * @param packetLog : The packetlog from which the timestamp should be removed\n * @param timestamp : The timestamp to be removed\n * @returns true if timestamp was present in the log and removed, false otherwise\n */\n removeTimestamp(packetLog, timestamp) {\n const index = packetLog.window.indexOf(timestamp);\n if (index >= 0) {\n packetLog.window[index] = undefined;\n return true;\n }\n return false;\n }\n /**\n * Removes a timestamp from red and fec recovery windows.\n *\n * @param timestamp : The timestamp to be removed\n */\n removeFromRecoveryWindows(timestamp) {\n let removed = this.removeTimestamp(this.redRecoveryLog, timestamp);\n if (removed) {\n if (this.totalAudioPacketsRecoveredRed > 0)\n this.totalAudioPacketsRecoveredRed--;\n }\n removed = this.removeTimestamp(this.fecRecoveryLog, timestamp);\n if (removed) {\n if (this.totalAudioPacketsRecoveredFec > 0)\n this.totalAudioPacketsRecoveredFec--;\n }\n }\n /**\n * Converts the supplied argument to 32-bit unsigned integer\n */\n uint32WrapAround(num) {\n const mod = 4294967296; // 2^32\n let res = num;\n if (num >= mod) {\n res = num - mod;\n }\n else if (num < 0) {\n res = mod + num;\n }\n return res;\n }\n /**\n * Converts the supplied argument to 16-bit signed integer\n */\n int16(num) {\n return (num << 16) >> 16;\n }\n /**\n * Determines if an Opus packet is in CELT-only mode.\n *\n * @param packet Opus packet.\n * @returns `true` if the packet is in CELT-only mode.\n */\n opusPacketIsCeltOnly(packet) {\n // TOC byte format (https://www.rfc-editor.org/rfc/rfc6716#section-3.1):\n // 0\n // 0 1 2 3 4 5 6 7\n // +-+-+-+-+-+-+-+-+\n // | config |s| c |\n // +-+-+-+-+-+-+-+-+\n // Since CELT-only packets are represented using configurations 16 to 31, the highest 'config' bit will always be 1\n // for CELT-only packets.\n return !!(packet.getUint8(0) & 0x80);\n }\n /**\n * Gets the number of samples per frame from an Opus packet.\n *\n * @param packet Opus packet. This must contain at least one byte of data.\n * @param sampleRateHz 32-bit integer sampling rate in Hz. This must be a multiple of 400 or inaccurate results will\n * be returned.\n * @returns Number of samples per frame.\n */\n opusPacketGetSamplesPerFrame
2138(packet, sampleRateHz) {\n // Sample rate must be a 32-bit integer.\n sampleRateHz = Math.round(sampleRateHz);\n sampleRateHz = Math.min(Math.max(sampleRateHz, -(Math.pow(2, 32))), Math.pow(2, 32) - 1);\n // TOC byte format (https://www.rfc-editor.org/rfc/rfc6716#section-3.1):\n // 0\n // 0 1 2 3 4 5 6 7\n // +-+-+-+-+-+-+-+-+\n // | config |s| c |\n // +-+-+-+-+-+-+-+-+\n let numSamples;\n let frameSizeOption;\n // Case for CELT-only packet.\n if (this.opusPacketIsCeltOnly(packet)) {\n // The lower 3 'config' bits indicate the frame size option.\n frameSizeOption = (packet.getUint8(0) >> 3) & 0x3;\n // The frame size options 0, 1, 2, 3 correspond to frame sizes of 2.5, 5, 10, 20 ms. Notice that the frame sizes\n // can be represented as (2.5 * 2^0), (2.5 * 2^1), (2.5 * 2^2), (2.5 * 2^3) ms. So, the number of samples can be\n // calculated as follows:\n // (sample/s) * (1s/1000ms) * (2.5ms) * 2^(frameSizeOption)\n // = (sample/s) * (1s/400) * 2^(frameSizeOption)\n // = (sample/s) * 2^(frameSizeOption) * (1s/400)\n numSamples = (sampleRateHz << frameSizeOption) / 400;\n }\n // Case for Hybrid packet. Since Hybrid packets are represented using configurations 12 to 15, bits 1 and 2 in the\n // above TOC byte diagram will both be 1.\n else if ((packet.getUint8(0) & 0x60) === 0x60) {\n // In the case of configuration 13 or 15, bit 4 in the above TOC byte diagram will be 1. Configurations 13 and 15\n // correspond to a 20ms frame size, so the number of samples is calculated as follows:\n // (sample/s) * (1s/1000ms) * (20ms)\n // = (sample/s) * (1s/50)\n //\n // In the case of configuration 12 or 14, bit 4 in the above TOC byte diagram will be 0. Configurations 12 and 14\n // correspond to a 10ms frame size, so the number of samples is calculated as follows:\n // (sample/s) * (1s/1000ms) * (10ms)\n // = (sample/s) * (1s/100)\n numSamples = packet.getUint8(0) & 0x08 ? sampleRateHz / 50 : sampleRateHz / 100;\n }\n // Case for SILK-only packet.\n else {\n // The lower 3 'config' bits indicate the frame size option for SILK-only packets.\n frameSizeOption = (packet.getUint8(0) >> 3) & 0x3;\n if (frameSizeOption === 3) {\n // Frame size option 3 corresponds to a frame size of 60ms, so the number of samples is calculated as follows:\n // (sample/s) * (1s/1000ms) * (60ms)\n // = (sample/s) * (60ms) * (1s/1000ms)\n numSamples = (sampleRateHz * 60) / 1000;\n }\n else {\n // The frame size options 0, 1, 2 correspond to frame sizes of 10, 20, 40 ms. Notice that the frame sizes can be\n // represented as (10 * 2^0), (10 * 2^1), (10 * 2^2) ms. So, the number of samples can be calculated as follows:\n // (sample/s) * (1s/1000ms) * (10ms) * 2^(frameSizeOption)\n // = (sample/s) * (1s/100) * 2^(frameSizeOption)\n // = (sample/s) * 2^(frameSizeOption) * (1s/100)\n numSamples = (sampleRateHz << frameSizeOption) / 100;\n }\n }\n return numSamples;\n }\n /**\n * Gets the number of SILK frames per Opus frame.\n *\n * @param packet Opus packet.\n * @returns Number of SILK frames per Opus frame.\n */\n opusNumSilkFrames(packet) {\n // For computing the frame length in ms, the sample rate is not important since it cancels out. We use 48 kHz, but\n // any valid sample rate would work.\n //\n // To calculate the length of a frame (with a 48kHz sample rate) in ms:\n // (samples/frame) * (1s/48000 samples) * (1000ms/s)\n // = (samples/frame) * (1000ms/48000 samples)\n // = (samples/frame) * (1ms/48 samples)\n let frameLengthMs = this.opusPacketGetSamplesPerFrame
2138(packet, 48000) / 48;\n if (frameLengthMs < 10)\n frameLengthMs = 10;\n // The number of SILK frames per Opus frame is described in https://www.rfc-editor.org/rfc/rfc6716#section-4.2.2.\n switch (frameLengthMs) {\n case 10:\n case 20:\n return 1;\n case 40:\n return 2;\n case 60:\n return 3;\n // It is not possible to reach the default case since an Opus packet can only encode sizes of 2.5, 5, 10, 20, 40,\n // or 60 ms, so we ignore the default case for test coverage.\n /* istanbul ignore next */\n default:\n return 0;\n }\n }\n /**\n * Gets the number of channels from an Opus packet.\n *\n * @param packet Opus packet.\n * @returns Number of channels.\n */\n opusPacketGetNumChannels(packet) {\n // TOC byte format (https://www.rfc-editor.org/rfc/rfc6716#section-3.1):\n // 0\n // 0 1 2 3 4 5 6 7\n // +-+-+-+-+-+-+-+-+\n // | config |s| c |\n // +-+-+-+-+-+-+-+-+\n // The 's' bit indicates mono or stereo audio, with 0 indicating mono and 1 indicating stereo.\n return packet.getUint8(0) & 0x4 ? 2 : 1;\n }\n /**\n * Determine the size (in bytes) of an Opus frame.\n *\n * @param packet Opus packet.\n * @param byteOffset Offset (from the start of the packet) to the byte containing the size information.\n * @param remainingBytes Remaining number of bytes to parse from the Opus packet.\n * @param sizeBytes Variable to store the parsed frame size (in bytes).\n * @returns Number of bytes that were parsed to determine the frame size.\n */\n opusParseSize(packet, byteOffset, remainingBytes, sizeBytes) {\n // See https://www.rfc-editor.org/rfc/rfc6716#section-3.2.1 for an explanation of how frame size is represented.\n // If there are no remaining bytes to parse the size from, then the size cannot be determined.\n if (remainingBytes < 1) {\n sizeBytes[0] = -1;\n return -1;\n }\n // If the first byte is in the range 0...251, then this value is the size of the frame.\n else if (packet.getUint8(byteOffset) < 252) {\n sizeBytes[0] = packet.getUint8(byteOffset);\n return 1;\n }\n // If the first byte is in the range 252...255, a second byte is needed. If there is no second byte, then the size\n // cannot be determined.\n else if (remainingBytes < 2) {\n sizeBytes[0] = -1;\n return -1;\n }\n // The total size of the frame given two size bytes is:\n // (4 * secondSizeByte) + firstSizeByte\n else {\n sizeBytes[0] = 4 * packet.getUint8(byteOffset + 1) + packet.getUint8(byteOffset);\n return 2;\n }\n }\n /**\n * Parse binary data containing an Opus packet into one or more Opus frames.\n *\n * @param data Binary data containing an Opus packet to be parsed. The data should begin with the first byte (i.e the\n * TOC byte) of an Opus packet. Note that the size of the data does not have to equal the size of the\n * contained Opus packet.\n * @param lenBytes Size of the data (in bytes).\n * @param selfDelimited Indicates if the Opus packet is self-delimiting\n * (https://www.rfc-editor.org/rfc/rfc6716#appendix-B).\n * @param tocByte Optional variable to store the TOC (table of contents) byte.\n * @param frameOffsets Optional variable to store the offsets (from the start of the data) to the first bytes of each\n * Opus frame.\n * @param frameSizes Required variable to store the sizes (in bytes) of each Opus frame.\n * @param payloadOffset Optional variable to store the offset (from the start of the data) to the first byte of the\n * payload.\n * @param packetLenBytes Optional variable to store the length of the Opus packet (in bytes).\n * @returns Number of Opus frames.\n */\n opusPacketParseImpl(data, lenBytes, selfDelimited, tocByte, frameOffsets, frameSizes, payloadOffset, packetLenBytes) {\n if (!frameSizes || lenBytes < 0)\n return this.OPUS_BAD_ARG;\n if (lenBytes === 0)\n return this.OPUS_INVALID_PACKET;\n // The number of Opus frames in the packet.\n let numFrames;\n // Intermediate storage for the number of bytes parsed to determine the size of a frame.\n let numBytesParsed;\n // The number of the padding bytes (excluding the padding count bytes) in the packet.\n let paddingBytes = 0;\n // Indicates whether CBR (constant bitrate) framing is used.\n let cbr = false;\n // The TOC (table of contents) byte (https://www.rfc-editor.org/rfc/rfc6716#section-3.1).\n const toc = data.getUint8(0);\n // Store the TOC byte.\n if (tocByte)\n tocByte[0] = toc;\n // The remaining number of bytes to parse from the packet. Note that the TOC byte has already been parsed, hence the\n // minus 1.\n let remainingBytes = lenBytes - 1;\n // This keeps track of where we are in the packet. This starts at 1 since the TOC byte has already been read.\n let byteOffset = 1;
2138\n // The size of the last Opus frame in bytes.\n let lastSizeBytes = remainingBytes;\n // Read the `c` bits (i.e. code bits) from the TOC byte.\n switch (toc & 0x3) {\n // A code 0 packet (https://www.rfc-editor.org/rfc/rfc6716#section-3.2.2) has one frame.\n case 0:\n numFrames = 1;\n break;\n // A code 1 packet (https://www.rfc-editor.org/rfc/rfc6716#section-3.2.3) has two CBR (constant bitrate) frames.\n case 1:\n numFrames = 2;\n cbr = true;\n if (!selfDelimited) {\n // Undelimited code 1 packets must be an even number of data bytes, otherwise the packet is invalid.\n if (remainingBytes & 0x1)\n return this.OPUS_INVALID_PACKET;\n // The sizes of both frames are equal (i.e. half of the number of data bytes).\n lastSizeBytes = remainingBytes / 2;\n // If `lastSizeBytes` is too large, we will catch it later.\n frameSizes[0][0] = lastSizeBytes;\n }\n break;\n // A code 2 packet (https://www.rfc-editor.org/rfc/rfc6716#section-3.2.4) has two VBR (variable bitrate) frames.\n case 2:\n numFrames = 2;\n numBytesParsed = this.opusParseSize(data, byteOffset, remainingBytes, frameSizes[0]);\n remainingBytes -= numBytesParsed;\n // The parsed size of the first frame cannot be larger than the number of remaining bytes in the packet.\n if (frameSizes[0][0] < 0 || frameSizes[0][0] > remainingBytes) {\n return this.OPUS_INVALID_PACKET;\n }\n byteOffset += numBytesParsed;\n // The size of the second frame is the remaining number of bytes after the first frame.\n lastSizeBytes = remainingBytes - frameSizes[0][0];\n break;\n // A code 3 packet (https://www.rfc-editor.org/rfc/rfc6716#section-3.2.5) has multiple CBR/VBR frames (from 0 to\n // 120 ms).\n default:\n // Code 3 packets must have at least 2 bytes (i.e. at least 1 byte after the TOC byte).\n if (remainingBytes < 1)\n return this.OPUS_INVALID_PACKET;\n // Frame count byte format:\n // 0\n // 0 1 2 3 4 5 6 7\n // +-+-+-+-+-+-+-+-+\n // |v|p| M |\n // +-+-+-+-+-+-+-+-+\n //\n // Read the frame count byte, which immediately follows the TOC byte.\n const frameCountByte = data.getUint8(byteOffset++);\n --remainingBytes;\n // Read the 'M' bits of the frame count byte, which encode the number of frames.\n numFrames = frameCountByte & 0x3f;\n // The number of frames in a code 3 packet must not be 0.\n if (numFrames <= 0)\n return this.OPUS_INVALID_PACKET;\n const samplesPerFrame = this.opusPacketGetSamplesPerFrame(data, 48000);\n // A single frame can have at most 2880 samples, which happens in the case where 60ms of 48kHz audio is encoded\n // per frame. A code 3 packet cannot contain more than 120ms of audio, so the total number of samples cannot\n // exceed 2880 * 2 = 5760.\n if (samplesPerFrame * numFrames > 5760)\n return this.OPUS_INVALID_PACKET;\n // Parse padding bytes if the 'p' bit is 1.\n if (frameCountByte & 0x40) {\n let paddingCountByte;\n let numPaddingBytes;\n // Remove padding bytes (including padding count bytes) from the remaining byte count.\n do {\n // Sanity check that there are enough bytes to parse and remove the padding.\n if (remainingBytes <= 0)\n return this.OPUS_INVALID_PACKET;\n // Get the next padding count byte.\n paddingCountByte = data.getUint8(byteOffset++);\n --remainingBytes;\n // If the padding count byte has a value in the range 0...254, then the total size of the padding is the\n // value in the padding count byte.\n //\n // If the padding count byte has value 255, then the total size of the padding is 254 plus the value in the\n // next padding count byte. Therefore, keep reading padding count bytes while the value is 255.\n numPaddingBytes = paddingCountByte === 25
21385 ? 254 : paddingCountByte;\n remainingBytes -= numPaddingBytes;\n paddingBytes += numPaddingBytes;\n } while (paddingCountByte === 255);\n }\n // Sanity check that the remaining number of bytes is not negative after removing the padding.\n if (remainingBytes < 0)\n return this.OPUS_INVALID_PACKET;\n // Read the 'v' bit (i.e. VBR bit).\n cbr = !(frameCountByte & 0x80);\n // VBR case\n if (!cbr) {\n lastSizeBytes = remainingBytes;\n // Let M be the number of frames. There will be M - 1 frame length indicators (which can be 1 or 2 bytes)\n // corresponding to the lengths of frames 0 to M - 2. The size of the last frame (i.e. frame M - 1) is the\n // number of data bytes after the end of frame M - 2 and before the start of the padding bytes.\n for (let i = 0; i < numFrames - 1; ++i) {\n numBytesParsed = this.opusParseSize(data, byteOffset, remainingBytes, frameSizes[i]);\n remainingBytes -= numBytesParsed;\n // The remaining number of data bytes must be enough to contain each frame.\n if (frameSizes[i][0] < 0 || frameSizes[i][0] > remainingBytes) {\n return this.OPUS_INVALID_PACKET;\n }\n byteOffset += numBytesParsed;\n lastSizeBytes -= numBytesParsed + frameSizes[i][0];\n }\n // Sanity check that the size of the last frame is not negative.\n if (lastSizeBytes < 0)\n return this.OPUS_INVALID_PACKET;\n }\n // CBR case\n else if (!selfDelimited) {\n // The size of each frame is the number of data bytes divided by the number of frames.\n lastSizeBytes = Math.trunc(remainingBytes / numFrames);\n // The number of data bytes must be a non-negative integer multiple of the number of frames.\n if (lastSizeBytes * numFrames !== remainingBytes)\n return this.OPUS_INVALID_PACKET;\n // All frames have equal size in the undelimited CBR case.\n for (let i = 0; i < numFrames - 1; ++i) {\n frameSizes[i][0] = lastSizeBytes;\n }\n }\n }\n // Self-delimited framing uses an extra 1 or 2 bytes, immediately preceding the data bytes, to indicate either the\n // size of the last frame (for code 0, code 2, and VBR code 3 packets) or the size of all the frames (for code 1 and\n // CBR code 3 packets). See https://www.rfc-editor.org/rfc/rfc6716#appendix-B.\n if (selfDelimited) {\n // The extra frame size byte(s) will always indicate the size of the last frame.\n numBytesParsed = this.opusParseSize(data, byteOffset, remainingBytes, frameSizes[numFrames - 1]);\n remainingBytes -= numBytesParsed;\n // There must be enough data bytes for the last frame.\n if (frameSizes[numFrames - 1][0] < 0 || frameSizes[numFrames - 1][0] > remainingBytes) {\n return this.OPUS_INVALID_PACKET;\n }\n byteOffset += numBytesParsed;\n // For CBR packets, the sizes of all the frames are equal.\n if (cbr) {\n // There must be enough data bytes for all the frames.\n if (frameSizes[numFrames - 1][0] * numFrames > remainingBytes) {\n return this.OPUS_INVALID_PACKET;\n }\n for (let i = 0; i < numFrames - 1; ++i) {\n frameSizes[i][0] = frameSizes[numFrames - 1][0];\n }\n }\n // At this point, `lastSizeBytes` contains the size of the last frame plus the size of the extra frame size\n // byte(s), so sanity check that `lastSizeBytes` is the upper bound for the size of the last frame.\n else if (!(numBytesParsed + frameSizes[numFrames - 1][0] <= lastSizeBytes)) {\n return this.OPUS_INVALID_PACKET;\n }\n }\n // Undelimited case\n else {\n // Because the size of the last packet is not encoded explicitly, it is possible that the size of the last packet\n // (or of all the packets, for the CBR case) is larger than maximum frame size.\n if (lastSizeBytes > this.OPUS_MAX_FRAME_SIZE_BYTES)\n return this.OPUS_INVALID_PACKET;\n frameSizes[numFrames - 1][0] = lastSizeBytes;\n }\n // Store the offset to the start of the payload.\n if (payloadOffset)\n payloadOffset[0] = byteOffset;\n // Store the offsets to the start of each frame.\n for (let i = 0; i < numFrames; ++i) {\n if (frameOffsets)\n frameOffsets[i][0] = byteOffset;\n byteOffset += frameSizes[i][0];\n }\n // Store the length of the Opus packet.\n if (packetLenBytes)\n packetLenBytes[0] = byteOffset + paddingBytes;\n return numFrames;\n }
2138\n /**\n * Parse a single undelimited Opus packet into one or more Opus frames.\n *\n * @param packet Opus packet to be parsed.\n * @param lenBytes Size of the packet (in bytes).\n * @param tocByte Optional variable to store the TOC (table of contents) byte.\n * @param frameOffsets Optional variable to store the offsets (from the start of the packet) to the first bytes of\n * each Opus frame.\n * @param frameSizes Required variable to store the sizes (in bytes) of each Opus frame.\n * @param payloadOffset Optional variable to store the offset (from the start of the packet) to the first byte of the\n * payload.\n * @returns Number of Opus frames.\n */\n opusPacketParse(packet, lenBytes, tocByte, frameOffsets, frameSizes, payloadOffset) {\n return this.opusPacketParseImpl(packet, lenBytes, \n /* selfDelimited */ false, tocByte, frameOffsets, frameSizes, payloadOffset, null);\n }\n /**\n * This function returns the SILK VAD (voice activity detection) information encoded in the Opus packet. For CELT-only\n * packets that do not have VAD information, it returns -1.\n *\n * @param packet Opus packet.\n * @param lenBytes Size of the packet (in bytes).\n * @returns 0: no frame had the VAD flag set.\n * 1: at least one frame had the VAD flag set.\n * -1: VAD status could not be determined.\n */\n opusPacketHasVoiceActivity(packet, lenBytes) {\n if (!packet || lenBytes <= 0)\n return 0;\n // In CELT-only mode, we can not determine whether there is VAD.\n if (this.opusPacketIsCeltOnly(packet))\n return -1;\n const numSilkFrames = this.opusNumSilkFrames(packet);\n // It is not possible for `opusNumSilkFrames()` to return 0, so we ignore the next sanity check for test coverage.\n /* istanbul ignore next */\n if (numSilkFrames === 0)\n return -1;\n const opusFrameOffsets = new Array(this.OPUS_MAX_OPUS_FRAMES);\n const opusFrameSizes = new Array(this.OPUS_MAX_OPUS_FRAMES);\n for (let i = 0; i < this.OPUS_MAX_OPUS_FRAMES; ++i) {\n opusFrameOffsets[i] = [undefined];\n opusFrameSizes[i] = [undefined];\n }\n // Parse packet to get the Opus frames.\n const numOpusFrames = this.opusPacketParse(packet, lenBytes, null, opusFrameOffsets, opusFrameSizes, null);\n // VAD status cannot be determined for invalid packets.\n if (numOpusFrames < 0)\n return -1;\n // Iterate over all Opus frames, which may contain multiple SILK frames, to determine the VAD status.\n for (let i = 0; i < numOpusFrames; ++i) {\n if (opusFrameSizes[i][0] < 1)\n continue;\n // LP layer header bits format (https://www.rfc-editor.org/rfc/rfc6716#section-4.2.3):\n //\n // Mono case:\n // +-----------------+----------+\n // | 1 to 3 VAD bits | LBRR bit |\n // +-----------------+----------+\n //\n // Stereo case:\n // +---------------------+--------------+----------------------+---------------+\n // | 1 to 3 mid VAD bits | mid LBRR bit | 1 to 3 side VAD bits | side LBRR bit |\n // +---------------------+--------------+----------------------+---------------+\n // The upper 1 to 3 bits (dependent on the number of SILK frames) of the LP layer contain VAD bits. If any of\n // these VAD bits are 1, then voice activity is present.\n if (packet.getUint8(opusFrameOffsets[i][0]) >> (8 - numSilkFrames))\n return 1;\n // In the stereo case, there is a second set of 1 to 3 VAD bits, so also check these VAD bits.\n const channels = this.opusPacketGetNumChannels(packet);\n if (channels === 2 &&\n (packet.getUint8(opusFrameOffsets[i][0]) << (numSilkFrames + 1)) >> (8 - numSilkFrames)) {\n return 1;\n }\n }\n // No voice activity was detected.\n return 0;\n }\n /**\n * This method is based on Definition of the Opus Audio Codec\n * (https://tools.ietf.org/html/rfc6716). Basically, this method is based on\n * parsing the LP layer of an Opus packet, particularly the LBRR flag.\n *\n * @param packet Opus packet.\n * @param lenBytes Size of the packet (in bytes).\n * @returns true: packet has fec encoding about previous packet.\n * false: no fec encoding present.\n */\n opusPacketHasFec(packet, lenBytes) {\n if (!packet || lenBytes <= 0)\n return false;\n // In CELT-only mode, packets should not have FEC.\n if (this.opusPacketIsCeltOnly(packet))\n return false;\n const opusFrameOffsets = new Array(this.OPUS_MAX_OPUS_FRAMES);\n const opusFrameSizes = new Array(this.OPUS_MAX_OPUS_FRAMES);\n for (let i = 0; i < this.OPUS_MAX_OPUS_FRAMES; ++i) {\n opusFrameOffsets[i] = [undefined];\n opusFrameSizes[i] = [undefined];\n }\n // Parse packet to get the Opus frames.\n const numOpusFrames = this.opusPacketParse(packet, lenBytes, null, opusFrameOffsets, opusFrameSizes, null);\n if (numOpusFrames < 0)\n return false;\n /* istanbul ignore next */\n if (opusFrameSizes[0][0] <= 1)\n return false;\n const numSilkFrames = this.opusNumSilkFrames(packet);\n /* istanbul ignore next */\n if (numSilkFrames === 0)\n return false;\n const channels = this.opusPacketGetNumChannels(packet);\n /* istanbul ignore next */\n if (channels !== 1 && channels !== 2)\n return false;\n // A frame starts with the LP layer. The LP layer begins with two to eight\n // header bits.These consist of one VAD bit per SILK frame (up to 3),\n // followed by a single flag indicating the presence of LBRR frames.\n // For a stereo packet, these first flags correspond to the mid channel, and\n // a second set of flags is included for the side channel. Because these are\
2138n // the first symbols decoded by the range coder and because they are coded\n // as binary values with uniform probability, they can be extracted directly\n // from the most significant bits of the first byte of compressed data.\n for (let i = 0; i < channels; i++) {\n if (packet.getUint8(opusFrameOffsets[0][0]) & (0x80 >> ((i + 1) * (numSilkFrames + 1) - 1)))\n return true;\n }\n return false;\n }\n}\nRedundantAudioEncoder.shouldLog = true;\nRedundantAudioEncoder.shouldReportStats = true;\nRedundantAudioEncoder.initializeWorker();\n"},91365(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(50448));class o extends r.default{constructor(){super(0)}static nextTick(e){setTimeout(e,0)}}t.default=o},2228(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e){this.intervalMs=e}start(e){this.stop(),this.timer=setInterval(e,this.intervalMs)}stop(){void 0!==this.timer&&(clearInterval(this.timer),this.timer=void 0)}running(){return void 0!==this.timer}}},50448(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e){this.timeoutMs=e,this.timer=null}start(e){this.stop(),this.timer=setTimeout(()=>{clearTimeout(this.timer),e()},this.timeoutMs)}stop(){null!==this.timer&&(clearTimeout(this.timer),this.timer=null)}}},21287(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(40334)),o=n(i(3960)),s=n(i(96357));class a{constructor(e){this.sdp=e}clone(){return new a(this.sdp)}static isRTPCandidate(e){const t=/candidate[:](\S+) (\d+)/g.exec(e);return null!==t&&"1"===t[2]}static linesToSDP(e){return new a(e.join(a.CRLF))}static candidateTypeFromString(e){switch(e){case r.default.Host:return r.default.Host;case r.default.ServerReflexive:return r.default.ServerReflexive;case r.default.PeerReflexive:return r.default.PeerReflexive;case r.default.Relay:return r.default.Relay}return null}static candidateType(e){const t=/a[=]candidate[:].* typ ([a-z]+) /g.exec(e);return null===t?null:a.candidateTypeFromString(t[1])}static mediaType(e){const t=/m=(audio|video)/g.exec(e);if(null!==t)return t[1]}static mid(e){if(e.includes("a=mid:"))return e.replace(/^(a=mid:)/,"")}static direction(e){const t=/a=(sendrecv|sendonly|recvonly|inactive)/g.exec(e);if(null!==t)return t[1]}static splitLines(e){return e.trim().split("\n").map(e=>e.trim())}static splitSections(e){return e.split("\nm=").map((e,t)=>(t>0?"m="+e:e).trim()+a.CRLF)}static findActiveCameraSection(e){let t=0,i=!1;for(const n of e){if(/^m=video/.test(n)&&(n.indexOf("sendrecv")>-1||-1===n.indexOf("sendonly")&&-1===n.indexOf("recvonly")&&-1===n.indexOf("inactive"))){i=!0;break}t++}return!1===i&&(t=-1),t}static extractSSRCsFromFIDGroupLine(e){return/^a=ssrc-group:FID\s(.+)/.exec(e)[1]}static matchPrefix(e,t){return a.splitLines(e).filter(e=>0===e.indexOf(t))}lines(){return this.sdp.split(a.CRLF)}hasVideo(){return null!==/^m=video/gm.exec(this.sdp)}hasCandidates(){return null!==/a[=]candidate[:]/g.exec(this.sdp)}hasCandidatesForAllMLines(){return!(this.sdp.indexOf("c=IN IP4 0.0.0.0")>-1)}withoutCandidateType(e){return a.linesToSDP(this.lines().filter(t=>a.candidateType(t)!==e))}withoutServerReflexiveCandidates(){return this.withoutCandidateType(r.default.ServerReflexive)}withAudioMaxAverageBitrate(e){if(!e)return this.clone();e=Math.trunc(Math.min(Math.max(e,a.rfc7587LowestBitrate),a.rfc7587HighestBitrate));const t=this.lines(),i=a.findOpusFmtpAttributes(t),n=a.updateOpusFmtpAttributes(t,i,[`maxaveragebitrate=${e}`]);return a.linesToSDP(n)}withStereoAudio(){const e=this.lines(),t=a.findOpusFmtpAttributes(e),i=a.updateOpusFmtpAttributes(e,t,["stereo=1","sprop-stereo=1"]);return a.linesToSDP(i)}static findOpusFmtpAttributes(e){const t=/^a=rtpmap:\s*(\d+)\s+opus\/48000/;let i=!1;const n=[];for(const r of e)if(r.startsWith("m=audio")&&(n.push(null),i=!0),r.startsWith("m=video")&&(i=!1),i){const e=t.exec(r);null!==e&&(n[n.length-1]=`a=fmtp:${e[1]} `)}return n}static updateOpusFmtpAttributes(e,t,i){const n=[];let r=0,o=null;for(const s of e)if(s.startsWith("m=audio")&&(o=t[r],r++),s.startsWith("m=video")&&(o=null),o&&s.startsWith(o)){const e=s.slice(o.length).split(";"),t=[];for(const n of e)i.findIndex(e=>e.startsWith(n.split("=")[0]))<0&&t.push(n);for(const e of i)t.push(e);n.push(o+t.join(";"))}else n.push(s);return n}withUnifiedPlanFormat(){let e=this.sdp;return e.includes("mozilla")?this.clone():(e=e.replace("o=-","o=mozilla-chrome"),new a(e))}getUniqueRtpHeaderExtensionId(e){const t=[];for(const i of e)if(/^a=extmap:/.test(i.trim())){const e=+i.split("a=extmap:")[1].split(" ")[0];t.includes(e)||t.push(e)}t.sort((e,t)=>
2138e-t);let i=0;for(const e of t){if(e-i>1)return i+1;i=e}return 14===i?-1:i+1}withVideoLayersAllocationRtpHeaderExtension(e){return this.withRtpHeaderExtension(e,a.videoLayersAllocationRtpHeaderExtensionUrl)}withDependencyDescriptorRtpHeaderExtension(e){return this.withRtpHeaderExtension(e,a.dependencyDescriptorRtpHeaderExtensionUrl)}withoutDependencyDescriptorRtpHeaderExtension(){const e=a.splitLines(this.sdp).filter(e=>!e.includes(a.dependencyDescriptorRtpHeaderExtensionUrl));return new a(e.join(a.CRLF)+a.CRLF)}withRtpHeaderExtension(e,t){const i=e?e.getRtpHeaderExtensionId(t):-1,n=-1===i?this.getUniqueRtpHeaderExtensionId(a.splitLines(this.sdp)):i,r=a.splitSections(this.sdp),o=[];for(let e of r){if(/^m=video/.test(e)&&-1===a.getRtpHeaderExtensionIdInSection(e,t)){const i=a.splitLines(e),r=[];if(-1===n||this.hasRtpHeaderExtensionId(n)){o.push(e);continue}for(const e of i)if(r.push(e),/^a=sendrecv/.test(e.trim())){const e="a=extmap:"+n+" "+t;r.push(e)}e=r.join(a.CRLF)+a.CRLF}else if(-1!==i&&/^m=video/.test(e)&&a.getRtpHeaderExtensionIdInSection(e,t)!==i){const n=a.splitLines(e),r=[];for(const e of n)if(/^a=extmap:/.test(e.trim())&&e.split("a=extmap:")[1].split(" ")[1]===t){if(!this.hasRtpHeaderExtensionId(i)){const e="a=extmap:"+i+" "+t;r.push(e)}}else r.push(e);e=r.join(a.CRLF)+a.CRLF}o.push(e)}const s=o.join("");return new a(s)}ssrcForVideoSendingSection(){const e=this.sdp,t=a.splitSections(e);if(t.length<2)return"";const i=a.findActiveCameraSection(t);if(-1===i)return"";const n=a.matchPrefix(t[i],"a=ssrc-group:FID ");if(n.length<1)return"";const r=a.extractSSRCsFromFIDGroupLine(n[0]),[o]=r.split(" ").map(e=>parseInt(e,10));return o.toString()}videoSendSectionHasDifferentSSRC(e){const t=this.ssrcForVideoSendingSection(),i=e.ssrcForVideoSendingSection();return""!==t&&""!==i&&parseInt(t,10)!==parseInt(i,10)}removeH264SupportFromSendSection(){const e=this.sdp,t=a.splitSections(e),i=a.findActiveCameraSection(t);if(-1===i)return new a(this.sdp);const n=t[i],r=a.splitLines(n),o=[],s=new Map;r.forEach(e=>{if(/^a=rtpmap:/.test(e)){const t=/^a=rtpmap:([0-9]+)\s/.exec(e);t&&e.toLowerCase().includes("h264")&&o.push(parseInt(t[1],10))}if(/^a=fmtp:/.test(e)){const t=/^a=fmtp:([0-9]+) apt=([0-9]+)/.exec(e);if(t&&3===t.length){const e=parseInt(t[1],10),i=parseInt(t[2],10);s.has(i)?s.get(i).push(e):s.set(i,[e])}}});const d=new Set;for(const e of o){d.add(e);const t=s.get(e);if(t)for(const e of t)d.add(e)}if(o.length>0){const e=r[0].split(" ");r[0]=e.filter(e=>!d.has(parseInt(e))).join(" ")}const c=r.filter(e=>{if(!e.includes("rtpmap")&&!e.includes("rtcp-fb")&&!e.includes("fmtp"))return!0;for(const t of d)if(e.includes(t.toString()))return!1;return!0});t[i]=c.join(a.CRLF)+a.CRLF;const l=t.join("");return new a(l)}mediaSections(){const e=a.splitSections(this.sdp);if(e.length<2)return[];const t=[];for(let i=1;i<e.length;i++){const n=new o.default,r=a.splitLines(e[i]);for(const e of r){const t=a.mediaType(e);if(void 0!==t){n.mediaType=t;continue}const i=a.direction(e);if(void 0!==i){n.direction=i;continue}const r=a.mid(e);void 0===r||(n.mid=r)}t.push(n)}return t}static getRtpHeaderExtensionIdInSection(e,t){const i=a.splitLines(e);for(const e of i)if(/^a=extmap:/.test(e.trim())){const i=e.split("a=extmap:")[1].split(" "),n=+i[0];if(i[1]===t)return n}return-1}getRtpHeaderExtensionId(e){const t=a.splitSections(this.sdp);for(const i of t)if(/^m=video/.test(i)){const t=a.getRtpHeaderExtensionIdInSection(i,e);if(-1!==t)return t}return-1}hasRtpHeaderExtensionId(e){const t=a.splitLines(this.sdp);for(const i of t)if(/^a=extmap:/.test(i.trim())&&+i.split("a=extmap:")[1].split(" ")[0]===e)return!0;return!1}withVideoSendCodecPreferences(e){const t=this.sdp,i=a.splitSections(t),n=a.findActiveCameraSection(i);if(-1===n)return new a(this.sdp);i[n]=this.sectionWithCodecPreferences(i[n],e);const r=i.join("");return new a(r)}sectionWithCodecPreferences(e,t){const i=new Map,n=a.splitLines(e);n.forEach(e=>{if(!e.startsWith("a=rtpmap:"))return;const r=/^a=rtpmap:(\d+)\s/.exec(e);if(!r)return;const o=r[1];for(const r of t){if(!e.includes(`${r.codecName}/${r.codecCapability.clockRate}`))continue;let t=!1;if(void 0!==r.codecCapability.sdpFmtpLine){let e=!1;for(const i of n){if(r.fmtpLineMatches(i,parseInt(o))){t=!0;break}e||(e=i.startsWith(`a=fmtp:${o} profile-id=`))}r.equals(s.default.vp9Profile0())&&!e&&(t=!0)}else t=!0;if(t){i.set(o,r);break}}});const r=new Set(i.keys()),o=n[0].split(" ").filter(e=>!r.has(e)),d=Array.from(i.entries()).sort(([e,i],[n,r])=>t.indexOf(i)-t.indexOf(r)).map(([e,t])=>e);return o.splice(3,0,...d),n[0]=o.join(" "),n.join(a.CRLF)+a.CRLF}highestPriorityVideoSendCodec(){const e=this.prioritizedSendVideoCodecCapabilities();return e.length>0?e[0]:void 0}prioritizedSendVideoCodecCapabilities(){const e=this.sdp,t=a.splitSections(e),i=a.findActiveCameraSection(t);
2138if(-1===i)return[];const n=a.splitLines(t[i]),r=n[0].split(" ");return r.length<4?[]:r.slice(3).map(e=>this.videoCodecCapabilityForPayloadType(n,e)).filter(e=>void 0!==e&&["VP8","H264","VP9","AV1"].includes(e.codecName))}videoCodecCapabilityForPayloadType(e,t){let i,n,r;for(const o of e){const e=/^a=rtpmap:([0-9]+)\s/.exec(o);if(e&&e[1]===t){const e=o.split(" ")[1].split("/");e.length>=2&&(i=e[0],n=e[1])}o.startsWith(`a=fmtp:${t} `)&&(r=o.split(" ")[1])}if(void 0!==i)return new s.default(i,{clockRate:parseInt(n),mimeType:`video/${i}`,sdpFmtpLine:r})}getAudioPayloadTypes(){const e=new Map,t=this.sdp,i=a.splitSections(t);return e.set("opus",a.findAudioPayloadType("opus",i)),e.set("red",a.findAudioPayloadType("red",i)),e}static findAudioPayloadType(e,t){const i=new RegExp(`a=rtpmap:\\s*(\\d+)\\s+${e}\\/48000`);for(const e of t)if(/^m=audio/.test(e)){const t=i.exec(e);if(null!==t)return Number(t[1])}return 0}withStartingVideoSendBitrate(e){const t=a.splitSections(this.sdp);for(let i=0;i<t.length;i++){if(!/^m=video/.test(t[i]))continue;const n=a.splitLines(t[i]),r=[];let o,s=!1;for(const e of n){/^a=fmtp:\d*/.test(e)&&!/apt=/.test(e)&&(s=!0);const t=e.match(/^a=rtpmap:(\d+)/);t&&(o=t[1])}for(const t of n)if(!/^a=fmtp:\d*/.test(t)||/apt=/.test(t)||/x-google-start-bitrate=/.test(t))r.push(t);else{const i=t+`;x-google-start-bitrate=${e}`;r.push(i)}if(!s&&o){const t=r.findIndex(e=>e.match(/^a=rtpmap:\d+/));-1!==t&&r.splice(t+1,0,`a=fmtp:${o} x-google-start-bitrate=${e}`)}t[i]=r.join(a.CRLF)+a.CRLF}const i=t.join("");return new a(i)}}t.default=a,a.CRLF="\r\n",a.rfc7587LowestBitrate=6e3,a.rfc7587HighestBitrate=51e4,a.dependencyDescriptorRtpHeaderExtensionUrl="https://aomediacodec.github.io/av1-rtp-spec/#dependency-descriptor-rtp-header-extension",a.videoLayersAllocationRtpHeaderExtensionUrl="http://www.webrtc.org/experiments/rtp-hdrext/video-layers-allocation00"},40334(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.SDPCandidateType=void 0,function(e){e.Host="host",e.ServerReflexive="srflx",e.PeerReflexive="prflx",e.Relay="relay"}(i=t.SDPCandidateType||(t.SDPCandidateType={})),t.default=i},3960(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{}},96357(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38359);class r{constructor(e,t){this.codecName=e,this.codecCapability=t}equals(e){return void 0!==e&&(this.codecName===e.codecName&&this.codecCapability.mimeType===e.codecCapability.mimeType&&this.codecCapability.clockRate===e.codecCapability.clockRate&&(this.codecCapability.sdpFmtpLine?this.cleanupFmtpLine(this.codecCapability.sdpFmtpLine,this.codecName):"")===(e.codecCapability.sdpFmtpLine?this.cleanupFmtpLine(e.codecCapability.sdpFmtpLine,e.codecName):""))}fmtpLineMatches(e,t){const i=this.codecCapability.sdpFmtpLine;if(!i)return!1;const n=`a=fmtp:${t} `;if(!e.startsWith(n))return!1;const r=e.substring(n.length);return this.cleanupFmtpLine(r,this.codecName)===this.cleanupFmtpLine(i,this.codecName)}cleanupFmtpLine(e,t){let i=e.replace(/;x-google-start-bitrate=\d+/g,"");if("H264"===t){const e=/profile-level-id=([0-9a-f]{4})[0-9a-f]{2}/i;i=i.replace(e,"profile-level-id=$1")}return i}static vp8(){return new r("VP8",{clockRate:9e4,mimeType:"video/VP8"})}static h264BaselineProfile(){return new r("H264",{clockRate:9e4,mimeType:"video/H264",sdpFmtpLine:"level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f"})}static h264ConstrainedBaselineProfile(){return new r("H264",{clockRate:9e4,mimeType:"video/H264",sdpFmtpLine:"level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f"})}static h264MainProfile(){return new r("H264",{clockRate:9e4,mimeType:"video/H264",sdpFmtpLine:"level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=4d001f"})}static h264HighProfile(){return new r("H264",{clockRate:9e4,mimeType:"video/H264",sdpFmtpLine:"level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=64001f"})}static h264ConstrainedHighProfile(){return new r("H264",{clockRate:9e4,mimeType:"video/H264",sdpFmtpLine:"level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=640c1f"})}static h264(){return r.h264ConstrainedBaselineProfile()}static vp9Profile0(){return new r("VP9",{clockRate:9e4,mimeType:"video/VP9",sdpFmtpLine:"profile-id=0"})}static vp9(){return r.vp9Profile0()}static av1Main(){return new r("AV1",{clockRate:9e4,mimeType:"video/AV1"})}static av1(){return r.av1Main()}static fromSignaled(e){switch(e){case n.SdkVideoCodecCapability.VP8:return r.vp8();case n.SdkVideoCodecCapability.H264_BASELINE_PROFILE:return r.h264BaselineProfile();case n.SdkVideoCodecCapability.H264_CONSTRAINED_BASELINE_PROFILE:return r.h264ConstrainedBaselineProfile();case n.SdkVideoCodecCapability.H264_MAIN_PROFILE:return r.h264MainProfile();case n.SdkVideoCodecCapability.H264_HIGH_PROFILE:return r.h264HighProfile();case n.SdkVideoCodecCapability.H264_CONSTRAINED_HIGH_PROFILE:return r.h264ConstrainedHighProfile();case n.SdkVideoCodecCapability.VP9_PROFILE_0:return r.vp9Profile0();case n.SdkVideoCodecCapability.AV1_MAIN_PROFILE:return r.av1Main();default:return}}}t.default=r},21467(e,t,i){"use strict";
2138Object.defineProperty(t,"__esModule",{value:!0});const n=i(53048);class r{constructor(e){this.logger=e}compress(e,t){if(t.length>0){const e=Math.min(t.length,r.MAX_DICTIONARY_SIZE);t=t.slice(0,e)}const i={memLevel:r.Z_MEM_LEVEL,dictionary:t};return n.deflateRaw(e,i)}decompress(e,t){if(t.length>0){const e=Math.min(t.length,r.MAX_DICTIONARY_SIZE);t=t.slice(0,e)}const i={to:"string",dictionary:t,chunkSize:4096};let o="";try{o=n.inflateRaw(e,i)}catch(e){this.logger.error(`failed to decompress the string with error: [${e}]`)}return o}}t.default=r,r.Z_MEM_LEVEL=9,r.MAX_DICTIONARY_SIZE=31744},38828(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(84217),r=i(38199),o=i(52818),s=i(42985);t.default=class{constructor(e){this.logger=e,this.currentState=o.SessionStateControllerState.NotConnected,this.deferredAction=null,this.deferredWork=null}perform(e,t){const i=this.currentState;if(i===o.SessionStateControllerState.NotConnected&&e===n.SessionStateControllerAction.Connect)this.transition(o.SessionStateControllerState.Connecting,e);else if(i===o.SessionStateControllerState.Connecting&&e===n.SessionStateControllerAction.Fail)this.transition(o.SessionStateControllerState.Disconnecting,e);else if(i===o.SessionStateControllerState.Connecting&&e===n.SessionStateControllerAction.FinishConnecting)this.transition(o.SessionStateControllerState.Connected,e);else if(i===o.SessionStateControllerState.Connected&&e===n.SessionStateControllerAction.Disconnect)this.transition(o.SessionStateControllerState.Disconnecting,e);else if(i===o.SessionStateControllerState.Connected&&e===n.SessionStateControllerAction.Reconnect)this.transition(o.SessionStateControllerState.Connecting,e);else if(i===o.SessionStateControllerState.Connected&&e===n.SessionStateControllerAction.Fail)this.transition(o.SessionStateControllerState.Disconnecting,e);else if(i===o.SessionStateControllerState.Connected&&e===n.SessionStateControllerAction.Update)this.transition(o.SessionStateControllerState.Updating,e);else if(i===o.SessionStateControllerState.Updating&&e===n.SessionStateControllerAction.Fail)this.transition(o.SessionStateControllerState.Disconnecting,e);else if(i===o.SessionStateControllerState.Updating&&e===n.SessionStateControllerAction.FinishUpdating)this.transition(o.SessionStateControllerState.Connected,e);else{if(i!==o.SessionStateControllerState.Disconnecting||e!==n.SessionStateControllerAction.FinishDisconnecting)return this.canDefer(e)?(this.logger.info(`deferring transition from ${o.SessionStateControllerState[this.currentState]} with ${n.SessionStateControllerAction[e]}`),this.deferAction(e,t),s.SessionStateControllerTransitionResult.DeferredTransition):(this.logger.warn(`no transition found from ${o.SessionStateControllerState[this.currentState]} with ${n.SessionStateControllerAction[e]}`),s.SessionStateControllerTransitionResult.NoTransitionAvailable);this.transition(o.SessionStateControllerState.NotConnected,e)}try{t()}catch(t){return this.logger.error(`error during state ${o.SessionStateControllerState[this.currentState]} with action ${n.SessionStateControllerAction[e]}: ${t}`),this.logger.info(`rolling back transition to ${o.SessionStateControllerState[i]}`),this.currentState=i,s.SessionStateControllerTransitionResult.TransitionFailed}return this.performDeferredAction(),s.SessionStateControllerTransitionResult.Transitioned}state(){return this.currentState}transition(e,t){this.logger.info(`transitioning from ${o.SessionStateControllerState[this.currentState]} to ${o.SessionStateControllerState[e]} with ${n.SessionStateControllerAction[t]}`),this.currentState=e}deferPriority(e){switch(e){case n.SessionStateControllerAction.Disconnect:return r.SessionStateControllerDeferPriority.VeryHigh;case n.SessionStateControllerAction.Fail:return r.SessionStateControllerDeferPriority.High;case n.SessionStateControllerAction.Reconnect:return r.SessionStateControllerDeferPriority.Medium;case n.SessionStateControllerAction.Update:return r.SessionStateControllerDeferPriority.Low;default:return r.SessionStateControllerDeferPriority.DoNotDefer}}deferAction(e,t){null!==this.deferredAction&&this.deferPriority(this.deferredAction)>this.deferPriority(e)||(this.deferredAction=e,this.deferredWork=t)}canDefer(e){return this.deferPriority(e)!==r.SessionStateControllerDeferPriority.DoNotDefer&&(this.currentState===o.SessionStateControllerState.Connecting||this.currentState===o.SessionStateControllerState.Updating)}performDeferredAction(){if(!this.deferredAction)return;const e=this.deferredAction,t=this.deferredWork;this.deferredAction=null,this.deferredWork=null,this.logger.info(`performing deferred action ${n.SessionStateControllerAction[e]}`),this.perform(e,t)!==s.SessionStateControllerTransitionResult.Transitioned&&this.logger.info(`unable to perform deferred action ${n.SessionStateControllerAction[e]} in state ${o.SessionStateControllerState[this.currentState]}`)}}},84217(e,t){"use strict";var i;
2138Object.defineProperty(t,"__esModule",{value:!0}),t.SessionStateControllerAction=void 0,function(e){e[e.Connect=0]="Connect",e[e.FinishConnecting=1]="FinishConnecting",e[e.Update=2]="Update",e[e.FinishUpdating=3]="FinishUpdating",e[e.Reconnect=4]="Reconnect",e[e.Disconnect=5]="Disconnect",e[e.Fail=6]="Fail",e[e.FinishDisconnecting=7]="FinishDisconnecting"}(i=t.SessionStateControllerAction||(t.SessionStateControllerAction={})),t.default=i},38199(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.SessionStateControllerDeferPriority=void 0,function(e){e[e.DoNotDefer=0]="DoNotDefer",e[e.Low=1]="Low",e[e.Medium=2]="Medium",e[e.High=3]="High",e[e.VeryHigh=4]="VeryHigh"}(i=t.SessionStateControllerDeferPriority||(t.SessionStateControllerDeferPriority={})),t.default=i},52818(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.SessionStateControllerState=void 0,function(e){e[e.NotConnected=0]="NotConnected",e[e.Connecting=1]="Connecting",e[e.Connected=2]="Connected",e[e.Updating=3]="Updating",e[e.Disconnecting=4]="Disconnecting"}(i=t.SessionStateControllerState||(t.SessionStateControllerState={})),t.default=i},42985(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.SessionStateControllerTransitionResult=void 0,function(e){e[e.Transitioned=0]="Transitioned",e[e.NoTransitionAvailable=1]="NoTransitionAvailable",e[e.DeferredTransition=2]="DeferredTransition",e[e.TransitionFailed=3]="TransitionFailed"}(i=t.SessionStateControllerTransitionResult||(t.SessionStateControllerTransitionResult={})),t.default=i},27014(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(98824)),o=n(i(50448)),s=i(38359),a=i(48471),d=n(i(40961)),c=n(i(62531)),l=n(i(90428)),u=i(35928),h=n(i(23907)),p=n(i(10587));class f{constructor(e,t){this.webSocket=e,this.logger=t,this.closeEventHandler=e=>{this.resetConnection(),this.sendEvent(new h.default(this,p.default.WebSocketClosed,null,e.code,e.reason,e.wasClean)),this.serviceConnectionRequestQueue()},this.observerQueue=new Set,this.connectionRequestQueue=[],this.resetConnection(),this.logger.debug(()=>"signaling client init"),this.audioSessionId=this.generateNewAudioSessionId()}registerObserver(e){this.logger.debug(()=>"registering signaling client observer"),this.observerQueue.add(e)}removeObserver(e){this.logger.debug(()=>"removing signaling client observer"),this.observerQueue.delete(e)}openConnection(e){this.logger.info("adding connection request to queue: "+e.url()),this.connectionRequestQueue.push(e),this.closeConnection()}pingPong(e){this.logger.debug(()=>"sending ping");const t=s.SdkSignalFrame.create();return t.type=s.SdkSignalFrame.Type.PING_PONG,t.pingPong=e,this.sendMessage(t),t.timestampMs}join(e){this.logger.info("sending join");const t=s.SdkJoinFrame.create();t.protocolVersion=2,t.flags=s.SdkJoinFlags.HAS_STREAM_UPDATE;const i=new r.default,n={platformName:i.name(),platformVersion:i.version(),clientSource:d.default.sdkName,chimeSdkVersion:d.default.sdkVersion,clientUtcOffset:a.getFormattedOffset((new Date).getTimezoneOffset())};if(e.applicationMetadata){const{appName:t,appVersion:i}=e.applicationMetadata;n.appName=t,n.appVersion=i}t.clientDetails=s.SdkClientDetails.create(n),t.audioSessionId=this.audioSessionId,t.wantsCompressedSdp=f.CLIENT_SUPPORTS_COMPRESSION,t.disablePeriodicKeyframeRequestOnContentSender=e.disablePeriodicKeyframeRequestOnContentSender,t.serverSideNetworkAdaption=u.convertServerSideNetworkAdaptionEnumToSignaled(e.serverSideNetworkAdaption),t.supportedServerSideNetworkAdaptions=e.supportedServerSideNetworkAdaptions.map(u.convertServerSideNetworkAdaptionEnumToSignaled),t.wantsAllTemporalLayersInIndex=e.wantsAllTemporalLayersInIndex;const o=s.SdkSignalFrame.create();o.type=s.SdkSignalFrame.Type.JOIN,o.join=t,this.sendMessage(o)}subscribe(e){const t=s.SdkSubscribeFrame.create();if(t.sendStreams=[],t.sdpOffer=e.sdpOffer,e.connectionTypeHasVideo&&(t.receiveStreamIds=e.receiveStreamIds),e.audioHost&&(t.audioCheckin=e.audioCheckin,t.audioHost=e.audioHost,t.audioMuted=e.audioMuted,!e.audioCheckin)){const i=s.SdkStreamDescriptor.create();i.mediaType=s.SdkStreamMediaType.AUDIO,i.trackLabel="AmazonChimeExpressAudio",i.attendeeId=e.attendeeId,i.streamId=1,i.groupId=1,i.framerate=15,i.maxBitrateKbps=600,i.avgBitrateBps=4e5,t.sendStreams.push(i)}if(t.compressedSdpOffer=e.compressedSdpOffer,t.duplex=s.SdkStreamServiceType.RX,e.localVideoEnabled){t.duplex=s.SdkStreamServiceType.DUPLEX;for(let i=0;i<e.videoStreamDescriptions.length;i++){const n=e.videoStreamDescriptions[i].clone();n.attendeeId=e.attendeeId,t.sendStreams.push(n.toStreamDescriptor())}}e.videoSubscriptionConfiguration.length>0&&(t.videoSubscriptionConfiguration=e.videoSubscriptionConfiguration.map(this.convertSignalingClientVideoSubscriptionConfiguration));const i=s.SdkSignalFrame.create();i.type=s.SdkSignalFrame.Type.SUBSCRIBE,i.sub=t,this.sendMessage(i)}remoteVideoUpdate(e,t){const i=s.SdkRemoteVideoUpdateFrame.create();i.addedOrUpdatedVideoSubscriptions=e.map(this.convertSignalingClientVideoSubscriptionConfiguration),i.removedVideoSubscriptionMids=t;const n=s.SdkSignalFrame.create();n.type=s.SdkSignalFrame.Type.REMOTE_VIDEO_UPDATE,n.remoteVideoUpdate=i,this.sendMessage(n)}convertSignalingClientVideoSubscriptionConfiguration(e){const t=new s.SdkVideoSubscriptionConfiguration;switch(t.mid=e.mid,t.attendeeId=e.attendeeId,t.streamId=e.streamId,t.groupId=e.groupId,t.priority=e.priority,t.targetBitrateKbps=e.targetBitrateKbps,e.qualityAdaptationPreference){case c.default.Balanced:t.qualityAdaptationPreference=s.SdkVideoQualityAdaptationPreference.BALANCED;break;case c.default.MaintainFramerate:t.qualityAdaptationPreference=s.SdkVideoQualityAdaptationPreference.MAINTAIN_FRAMERATE;break;case c.default.MaintainResolution:t.qualityAdaptationPreference=s.SdkVideoQualityAdaptationPreference.MAINTAIN_RESOLUTION;break;default:t.qualityAdaptationPreference=s.SdkVideoQualityAdaptationPreference.BALANCED}return t}leave(){const e=s.SdkSignalFrame.create();e.type=s.SdkSignalFrame.Type.LEAVE,e.leave=s.SdkLeaveFrame.create(),this.sendMessage(e),this.logger.debug(()=>"sent leave")}sendClientMetrics(e){const t=s.SdkSignalFrame.create();t.type=s.SdkSignalFrame.Type.CLIENT_METRIC,t.clientMetric=e,this.sendMessage(t)}sendDataMessage(e){const t=s.SdkSignalFrame.create();t.type=s.SdkSignalFrame.Type.DATA_MESSAGE,t.dataMessage=e,this.sendMessage(t)}closeConnection(){var e,t;if(this.webSocket.readyState()!==l.default.None&&this.webSocket.readyState()!==l.default.Closed){this.isClosing=!0,this.sendEvent(new h.default(this,p.default.WebSocketClosing,null));const i=new o.default(f.CLOSE_EVENT_TIMEOUT_MS),n=e=>{var t,r;null===(r=(t=this.webSocket).removeEventListener)||void 0===r||r.call(t,"close",n),i.stop(),this.closeEventHandler(e)};null===(t=(e=this.webSocket).removeEventListener)||void 0===t||t.call(e,"close",this.closeEventHandler),this.webSocket.addEventListener("close",n),i.start(()=>{n(new CloseEvent("close",{wasClean:!1,code:1005,reason:"",bubbles:!1}))}),this.webSocket.close()}else this.logger.info("no existing signaling client connection needs closing"),this.serviceConnectionRequestQueue()}ready(){return this.webSocket.readyState()===l.default.Open&&!this.isClosing&&this.wasOpened}mute(e){const t=s.SdkSignalFrame.create();t.type=s.SdkSignalFrame.Type.AUDIO_CONTROL;const i=s.SdkAudioControlFrame.create();i.muted=e,t.audioControl=i,this.sendMessage(t)}pause(e){const t=s.SdkSignalFrame.create();t.type=s.SdkSignalFrame.Type.PAUSE,t.pause=s.SdkPauseResumeFrame.create(),t.pause.streamIds=e,this.sendMessage(t)}resume(e){const t=s.SdkSignalFrame.create();t.type=s.SdkSignalFrame.Type.RESUME,t.pause=s.SdkPauseResumeFrame.create(),t.pause.streamIds=e,this.sendMessage(t)}resetConnection(){this.webSocket.destroy(),this.wasOpened=!1}sendMessage(e){e.timestampMs=Date.now(),this.logger.debug(()=>`sending: ${JSON.stringify(e)}`);const t=this.prependWithFrameTypeRTC(s.SdkSignalFrame.encode(e).finish());
2138if(this.ready()){if(!this.webSocket.send(t))return void this.sendEvent(new h.default(this,p.default.WebSocketSendMessageFailure,null));this.sendEvent(new h.default(this,p.default.WebSocketSentMessage,null))}else this.sendEvent(new h.default(this,p.default.WebSocketSkippedMessage,null))}receiveMessage(e){let t;try{t=s.SdkSignalFrame.decode(e)}catch(t){return this.logger.info(`failed to decode: ${e}`),void this.sendEvent(new h.default(this,p.default.ProtocolDecodeFailure,null))}this.logger.debug(()=>`received: ${JSON.stringify(t)}`),this.webSocket.readyState()===l.default.Open?this.sendEvent(new h.default(this,p.default.ReceivedSignalFrame,t)):this.logger.info(`skipping notification of message since WebSocket is not open: ${JSON.stringify(t)}`)}stripFrameTypeRTC(e){const t=e[0];return t!==f.FRAME_TYPE_RTC&&2!==t&&this.logger.warn(`expected FrameTypeRTC for message but got ${t}`),e.slice(1)}prependWithFrameTypeRTC(e){const t=new Uint8Array(e.length+1);return t[0]=f.FRAME_TYPE_RTC,t.set(e,1),t}serviceConnectionRequestQueue(){if(0===this.connectionRequestQueue.length)return void this.logger.info("no connection requests to service");const e=this.connectionRequestQueue.shift();this.logger.info(`opening connection to ${e.url()}`),this.isClosing=!1,this.webSocket.create(e.url(),e.protocols()),this.setUpEventListeners(),this.sendEvent(new h.default(this,p.default.WebSocketConnecting,null))}sendEvent(e){switch(e.type){case p.default.WebSocketMessage:case p.default.ReceivedSignalFrame:case p.default.WebSocketSentMessage:this.logger.debug(()=>`notifying event: ${p.default[e.type]}`);break;case p.default.WebSocketSkippedMessage:this.logger.debug(()=>`notifying event: ${p.default[e.type]}, websocket state=${l.default[this.webSocket.readyState()]}`);break;case p.default.WebSocketClosed:this.logger.info(`Notifying event: ${p.default[e.type]}, \n code: ${e.closeCode} reason: "${e.closeReason}" wasClean ${e.wasClean}`);break;default:this.logger.info(`notifying event: ${p.default[e.type]}`)}for(const t of this.observerQueue)t.handleSignalingClientEvent(e)}setUpEventListeners(){this.webSocket.addEventListener("open",()=>{this.wasOpened=!0,this.sendEvent(new h.default(this,p.default.WebSocketOpen,null))}),this.webSocket.addEventListener("message",e=>{this.sendEvent(new h.default(this,p.default.WebSocketMessage,null)),this.receiveMessage(this.stripFrameTypeRTC(new Uint8Array(e.data)))}),this.webSocket.addEventListener("close",this.closeEventHandler),this.webSocket.addEventListener("error",()=>{!this.isClosing||this.wasOpened?this.wasOpened?(this.logger.error("Signaling WebSocket received error while connected"),this.sendEvent(new h.default(this,p.default.WebSocketError,null))):(this.logger.error("Signaling WebSocket received error while connecting"),this.sendEvent(new h.default(this,p.default.WebSocketFailed,null))):this.logger.info("Signaling WebSocket ignoring error closing while connecting")})}generateNewAudioSessionId(){const e=new Uint32Array(1);return a.getRandomValues(e),e[0]}promoteToPrimaryMeeting(e){const t=s.SdkMeetingSessionCredentials.create();t.attendeeId=e.attendeeId,t.externalUserId=e.externalUserId,t.joinToken=e.joinToken;const i=s.SdkPrimaryMeetingJoinFrame.create();i.credentials=t;const n=s.SdkSignalFrame.create();n.type=s.SdkSignalFrame.Type.PRIMARY_MEETING_JOIN,n.primaryMeetingJoin=i,this.sendMessage(n)}demoteFromPrimaryMeeting(){const e=s.SdkPrimaryMeetingLeaveFrame.create(),t=s.SdkSignalFrame.create();t.type=s.SdkSignalFrame.Type.PRIMARY_MEETING_LEAVE,t.primaryMeetingLeave=e,this.sendMessage(t)}}t.default=f,f.FRAME_TYPE_RTC=5,f.CLOSE_EVENT_TIMEOUT_MS=2e3,f.CLIENT_SUPPORTS_COMPRESSION=!0},35928(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.convertServerSideNetworkAdaptionEnumToSignaled=t.convertServerSideNetworkAdaptionEnumFromSignaled=t.serverSideNetworkAdaptionIsNoneOrDefault=t.ServerSideNetworkAdaption=void 0;const n=i(38359);var r;!function(e){e[e.Default=0]="Default",e[e.None=1]="None",e[e.BandwidthProbing=2]="BandwidthProbing",e[e.BandwidthProbingAndRemoteVideoQualityAdaption=3]="BandwidthProbingAndRemoteVideoQualityAdaption"}(r=t.ServerSideNetworkAdaption||(t.ServerSideNetworkAdaption={})),t.default=r,t.serverSideNetworkAdaptionIsNoneOrDefault=function(e){return e===r.None||e===r.Default},t.convertServerSideNetworkAdaptionEnumFromSignaled=function(e){switch(e){case n.SdkServerSideNetworkAdaption.DEFAULT:return r.Default;
2138case n.SdkServerSideNetworkAdaption.NONE:return r.None;case n.SdkServerSideNetworkAdaption.BANDWIDTH_PROBING:return r.BandwidthProbing;case n.SdkServerSideNetworkAdaption.BANDWIDTH_PROBING_AND_VIDEO_QUALITY_ADAPTION:return r.BandwidthProbingAndRemoteVideoQualityAdaption}},t.convertServerSideNetworkAdaptionEnumToSignaled=function(e){switch(e){case r.Default:return n.SdkServerSideNetworkAdaption.DEFAULT;case r.None:return n.SdkServerSideNetworkAdaption.NONE;case r.BandwidthProbing:return n.SdkServerSideNetworkAdaption.BANDWIDTH_PROBING;case r.BandwidthProbingAndRemoteVideoQualityAdaption:return n.SdkServerSideNetworkAdaption.BANDWIDTH_PROBING_AND_VIDEO_QUALITY_ADAPTION}}},33774(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e,t){this.signalingURL=e,this.joinToken=t}url(){return this.signalingURL+"?X-Chime-Control-Protocol-Version=3&X-Amzn-Chime-Send-Close-On-Error=1"}protocols(){return["_aws_wt_session",this.joinToken]}}},23907(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(10587));t.default=class{constructor(e,t,i,n,r,o){this.client=e,this.type=t,this.message=i,this.closeCode=n,this.closeReason=r,this.wasClean=o,this.timestampMs=Date.now()}isConnectionTerminated(){switch(this.type){case r.default.WebSocketFailed:case r.default.WebSocketError:case r.default.WebSocketClosing:case r.default.WebSocketClosed:return!0;default:return!1}}}},10587(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.SignalingClientEventType=void 0,function(e){e[e.WebSocketConnecting=0]="WebSocketConnecting",e[e.WebSocketOpen=1]="WebSocketOpen",e[e.WebSocketError=2]="WebSocketError",e[e.WebSocketClosing=3]="WebSocketClosing",e[e.WebSocketClosed=4]="WebSocketClosed",e[e.WebSocketFailed=5]="WebSocketFailed",e[e.WebSocketMessage=6]="WebSocketMessage",e[e.WebSocketSendMessageFailure=7]="WebSocketSendMessageFailure",e[e.WebSocketSentMessage=8]="WebSocketSentMessage",e[e.ProtocolDecodeFailure=9]="ProtocolDecodeFailure",e[e.ReceivedSignalFrame=10]="ReceivedSignalFrame",e[e.WebSocketSkippedMessage=11]="WebSocketSkippedMessage"}(i=t.SignalingClientEventType||(t.SignalingClientEventType={})),t.default=i},62059(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(35928));t.default=class{constructor(e){this.applicationMetadata=e,this.serverSideNetworkAdaption=r.default.Default,this.supportedServerSideNetworkAdaptions=[],this.wantsAllTemporalLayersInIndex=!1,this.disablePeriodicKeyframeRequestOnContentSender=!1}}},5667(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e,t,i,n,r,o,s,a,d,c){this.attendeeId=e,this.sdpOffer=t,this.audioHost=i,this.audioMuted=n,this.audioCheckin=r,this.receiveStreamIds=o,this.localVideoEnabled=s,this.videoStreamDescriptions=a,this.connectionTypeHasVideo=d,this.compressedSdpOffer=c,this.videoSubscriptionConfiguration=[]}}},97375(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{equals(e){return void 0!==e&&this.mid===e.mid&&this.attendeeId===e.attendeeId&&this.streamId===e.streamId&&this.groupId===e.groupId&&this.priority===e.priority&&this.targetBitrateKbps===e.targetBitrateKbps&&this.qualityAdaptationPreference===e.qualityAdaptationPreference}}},38359(e,t,i){"use strict";var n,r,o=i(44110),s=o.Reader,a=o.Writer,d=o.util,c=o.roots.default||(o.roots.default={});c.SdkSignalFrame=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}var t,i;return e.prototype.timestampMs=d.Long?d.Long.fromBits(0,0,!0):0,e.prototype.type=1,e.prototype.error=null,e.prototype.join=null,e.prototype.joinack=null,e.prototype.sub=null,e.prototype.suback=null,e.prototype.index=null,e.prototype.pause=null,e.prototype.leave=null,e.prototype.leaveAck=null,e.prototype.bitrates=null,e.prototype.audioControl=null,e.prototype.audioMetadata=null,e.prototype.audioStreamIdInfo=null,e.prototype.pingPong=null,e.prototype.audioStatus=null,e.prototype.clientMetric=null,e.prototype.dataMessage=null,e.prototype.remoteVideoUpdate=null,e.prototype.primaryMeetingJoin=null,e.prototype.primaryMeetingJoinAck=null,e.prototype.primaryMeetingLeave=null,e.prototype.notification=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),t.uint32(8).uint64(e.timestampMs),t.uint32(16).int32(e.type),null!=e.error&&Object.hasOwnProperty.call(e,"error")&&c.SdkErrorFrame.encode(e.error,t.uint32(26).fork()).ldelim(),null!=e.join&&Object.hasOwnProperty.call(e,"join")&&c.SdkJoinFrame.encode(e.join,t.uint32(34).fork()).ldelim(),null!=e.joinack&&Object.hasOwnProperty.call(e,"joinack")&&c.SdkJoinAckFrame.encode(e.joinack,t.uint32(42).fork()).ldelim(),null!=e.sub&&Object.hasOwnProperty.call(e,"sub")&&c.SdkSubscribeFrame.encode(e.sub,t.uint32(50).fork()).ldelim(),null!=e.suback&&Object.hasOwnProperty.call(e,"suback")&&c.SdkSubscribeAckFrame.encode(e.suback,t.uint32(58).fork()).ldelim(),null!=e.index&&Object.hasOwnProperty.call(e,"index")&&c.SdkIndexFrame.encode(e.index,t.uint32(66).fork()).ldelim(),null!=e.pause&&Ob
2138ject.hasOwnProperty.call(e,"pause")&&c.SdkPauseResumeFrame.encode(e.pause,t.uint32(82).fork()).ldelim(),null!=e.leave&&Object.hasOwnProperty.call(e,"leave")&&c.SdkLeaveFrame.encode(e.leave,t.uint32(90).fork()).ldelim(),null!=e.leaveAck&&Object.hasOwnProperty.call(e,"leaveAck")&&c.SdkLeaveAckFrame.encode(e.leaveAck,t.uint32(98).fork()).ldelim(),null!=e.bitrates&&Object.hasOwnProperty.call(e,"bitrates")&&c.SdkBitrateFrame.encode(e.bitrates,t.uint32(114).fork()).ldelim(),null!=e.audioControl&&Object.hasOwnProperty.call(e,"audioControl")&&c.SdkAudioControlFrame.encode(e.audioControl,t.uint32(138).fork()).ldelim(),null!=e.audioMetadata&&Object.hasOwnProperty.call(e,"audioMetadata")&&c.SdkAudioMetadataFrame.encode(e.audioMetadata,t.uint32(146).fork()).ldelim(),null!=e.audioStreamIdInfo&&Object.hasOwnProperty.call(e,"audioStreamIdInfo")&&c.SdkAudioStreamIdInfoFrame.encode(e.audioStreamIdInfo,t.uint32(154).fork()).ldelim(),null!=e.pingPong&&Object.hasOwnProperty.call(e,"pingPong")&&c.SdkPingPongFrame.encode(e.pingPong,t.uint32(162).fork()).ldelim(),null!=e.audioStatus&&Object.hasOwnProperty.call(e,"audioStatus")&&c.SdkAudioStatusFrame.encode(e.audioStatus,t.uint32(170).fork()).ldelim(),null!=e.clientMetric&&Object.hasOwnProperty.call(e,"clientMetric")&&c.SdkClientMetricFrame.encode(e.clientMetric,t.uint32(178).fork()).ldelim(),null!=e.dataMessage&&Object.hasOwnProperty.call(e,"dataMessage")&&c.SdkDataMessageFrame.encode(e.dataMessage,t.uint32(186).fork()).ldelim(),null!=e.remoteVideoUpdate&&Object.hasOwnProperty.call(e,"remoteVideoUpdate")&&c.SdkRemoteVideoUpdateFrame.encode(e.remoteVideoUpdate,t.uint32(202).fork()).ldelim(),null!=e.primaryMeetingJoin&&Object.hasOwnProperty.call(e,"primaryMeetingJoin")&&c.SdkPrimaryMeetingJoinFrame.encode(e.primaryMeetingJoin,t.uint32(210).fork()).ldelim(),null!=e.primaryMeetingJoinAck&&Object.hasOwnProperty.call(e,"primaryMeetingJoinAck")&&c.SdkPrimaryMeetingJoinAckFrame.encode(e.primaryMeetingJoinAck,t.uint32(218).fork()).ldelim(),null!=e.primaryMeetingLeave&&Object.hasOwnProperty.call(e,"primaryMeetingLeave")&&c.SdkPrimaryMeetingLeaveFrame.encode(e.primaryMeetingLeave,t.uint32(226).fork()).ldelim(),null!=e.notification&&Object.hasOwnProperty.call(e,"notification")&&c.SdkNotificationFrame.encode(e.notification,t.uint32(282).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkSignalFrame;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.timestampMs=e.uint64();break;case 2:n.type=e.int32();break;case 3:n.error=c.SdkErrorFrame.decode(e,e.uint32());break;case 4:n.join=c.SdkJoinFrame.decode(e,e.uint32());break;case 5:n.joinack=c.SdkJoinAckFrame.decode(e,e.uint32());break;case 6:n.sub=c.SdkSubscribeFrame.decode(e,e.uint32());break;case 7:n.suback=c.SdkSubscribeAckFrame.decode(e,e.uint32());break;case 8:n.index=c.SdkIndexFrame.decode(e,e.uint32());break;case 10:n.pause=c.SdkPauseResumeFrame.decode(e,e.uint32());break;case 11:n.leave=c.SdkLeaveFrame.decode(e,e.uint32());break;case 12:n.leaveAck=c.SdkLeaveAckFrame.decode(e,e.uint32());break;case 14:n.bitrates=c.SdkBitrateFrame.decode(e,e.uint32());break;case 17:n.audioControl=c.SdkAudioControlFrame.decode(e,e.uint32());break;case 18:n.audioMetadata=c.SdkAudioMetadataFrame.decode(e,e.uint32());break;case 19:n.audioStreamIdInfo=c.SdkAudioStreamIdInfoFrame.decode(e,e.uint32());break;case 20:n.pingPong=c.SdkPingPongFrame.decode(e,e.uint32());break;case 21:n.audioStatus=c.SdkAudioStatusFrame.decode(e,e.uint32());break;case 22:n.clientMetric=c.SdkClientMetricFrame.decode(e,e.uint32());break;case 23:n.dataMessage=c.SdkDataMessageFrame.decode(e,e.uint32());break;case 25:n.remoteVideoUpdate=c.SdkRemoteVideoUpdateFrame.decode(e,e.uint32());break;case 26:n.primaryMeetingJoin=c.SdkPrimaryMeetingJoinFrame.decode(e,e.uint32());break;case 27:n.primaryMeetingJoinAck=c.SdkPrimaryMeetingJoinAckFrame.decode(e,e.uint32());break;case 28:n.primaryMeetingLeave=c.SdkPrimaryMeetingLeaveFrame.decode(e,e.uint32());break;case 35:n.notification=c.SdkNotificationFrame.decode(e,e.uint32());break;default:e.skipType(7&r)}}if(!n.hasOwnProperty("timestampMs"))throw d.ProtocolError("missing required 'timestampMs'",{instance:n});if(!n.hasOwnProperty("type"))throw d.ProtocolError("missing required 'type'",{instance:n});return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(!(d.isInteger(e.timestampMs)||e.timestampMs&&d.isInteger(e.timestampMs.low)&&d.isInteger(e.timestampMs.high)))return"timestampMs: integer|Long expected";switch(e.type){default:return"type: enum value expected";case 1:case 2:case 3:case 4:case 5:case 7:case 8:case 9:case 10:case 13:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 24:case 25:case 26:case 27:case 34:}var t;return null!=e.error&&e.hasOwnProperty("error")&&(t=c.SdkErrorFrame.verify(e.error))?"error."+t:null!=e.join&&e.hasOwnProperty("join")&&(t=c.SdkJoinFrame.verify(e.join))?"join."+t:null!=e.joinack&&e.hasOwnProperty("joinack")&&(t=c.SdkJoinAckFrame.verify(e.joinack))?"joinack."+t:null!=e.sub&&e.hasOwnProperty("sub")&&(t=c.SdkSubscribeFrame.verify(e.sub))?"sub."+t:null!=e.suback&&e.hasOwnProperty("suback")&&(t=c.SdkSubscribeAckFrame.verify(e.suback))?"suback."+t:null!=e.index&&e.hasOwnProperty("index")&&(t=c.SdkIndexFrame.verify(e.index))?"index."+t:null!=e.pause&&e.hasOwnProperty("pause")&&(t=c.SdkPauseResumeFrame.verify(e.pause))?"pause."+t:null!=e.leave&&e.hasOwnProperty("leave")&&(t=c.SdkLeaveFrame.verify(e.leave))?"leave."+t:null!=e.leaveAck&&e.hasOwnProperty("leaveAck")&&(t=c.SdkLeaveAckFrame.verify(e.leaveAck))?"leaveAck."+t:null!=e.bitrates&&e.hasOwnProperty("bitrates")&&(t=c.SdkBitrateFrame.verify(e.bitrates))?"bitrates."+t:null!=e.audioControl&&e.hasOwnProperty("audioControl")&&(t=c.SdkAudioControlFrame.verify(e.audioControl))?"audioControl."+t:null!=e.audioMetadata&&e.hasOwnProperty("audioMetadata")&&(t=c.SdkAudioMetadataFrame.verify(e.audioMetadata))?"audioMetadata."+t:null!=e.audioStreamIdInfo&&e.hasOwnProperty("audioStreamIdInfo")&&(t=c.SdkAudioStreamIdInfoFrame.verify(e.audioStreamIdInfo))?"audioStreamIdInfo."+t:null!=e.pingPong&&e.hasOwnProperty("pingPong")&&(t=c.SdkPingPongFrame.verify(e.pingPong))?"pingPong."+t:null!=e.audioStatus&&e.hasOwnProperty("audioStatus")&&(t=c.SdkAudioStatusFrame.verify(e.audioStatus))?"audioStatus."+t:null!=e.clientMetric&&e.hasOwnProperty("clientMetric")&&(t=c.SdkClientMetricFrame.verify(e.clientMetric))?"clientMetric."+t:null!=e.dataMessage&&e.hasOwnProperty("dataMessage")&&(t=c.SdkDataMessageFrame.verify(e.dataMessage))?"dataMessage."+t:null!=e.remoteVideoUpdate&&e.hasOwnProperty("remoteVideoUpdate")&&(t=c.SdkRemoteVideoUpdateFrame.verify(e.remoteVideoUpdate))?"remoteVideoUpdate."+t:null!=e.primaryMeetingJoin&&e.hasOwnProperty("primaryMeetingJoin")&&(t=c.SdkPrimaryMeetingJoinFrame.verify(e.primaryMeetingJoin))?"primaryMeetingJoin."+t:null!=e.primaryMeetingJoinAck&&e.hasOwnProperty("primaryMeetingJoinAck")&&(t=c.SdkPrimaryMeetingJoinAckFrame.verify(e.primaryMeetingJoinAck))?"primaryMeetingJoinAck."+t:null!=e.primaryMeetingLeave&&e.hasOwnProperty("primaryMeetingLeave")&&(t=c.SdkPrimaryMeetingLeaveFrame.verify(e.primaryMeetingLeave))?"primaryMeetingLeave."+t:null!=e.notification&&e.hasOwnProperty("notification")&&(t=c.SdkNotificationFrame.verify(e.notification))?"notification."+t:null},e.fromObject=function(e){if(e instanceof c.SdkSignalFrame)return e;var t=new c.SdkSignalFrame;switch(null!=e.timestampMs&&(d.Long?(t.timestampMs=d.Long.fromValue(e.timestampMs)).unsigned=!0:"string"==typeof e.timestampMs?t.timestampMs=parseInt(e.timestampMs,10):"number"==typeof e.timestampMs?t.timestampMs=e.timestampMs:"object"==typeof e.timestampMs&&(t.timestampMs=new d.LongBits(e.timestampMs.low>>>0,e.timestampMs.high>>>0).toNumber(!0))),e.type){default:if("number"==typeof e.type){t.type=e.type;break}break;case"JOIN":case 1:t.type=1;break;case"JOIN_ACK":case 2:t.type=2;break;case"SUBSCRIBE":case 3:t.type=3;break;case"SUBSCRIBE_ACK":case 4:t.type=4;break;case"INDEX":case 5:t.type=5;break;case"PAUSE":case 7:t.type=7;break;case"RESUME":case 8:t.type=8;break;case"LEAVE":case 9:t.type=9;break;case"LEAVE_ACK":case 10:t.type=10;break;case"BITRATES":case 13:t.type=13;break;case"AUDIO_CONTROL":case 16:t.type=16;break;case"AUDIO_METADATA":case 17:t.type=17;break;case"AUDIO_STREAM_ID_INFO":case 18:t.type=18;break;case"PING_PONG":case 19:t.type=19;break;case"AUDIO_STATUS":case 20:t.type=20;break;case"CLIENT_METRIC":case 21:t.type=21;break;case"DATA_MESSAGE":case 22:t.type=22;break;case"REMOTE_VIDEO_UPDATE":case 24:t.type=24;break;case"PRIMARY_MEETING_JOIN":case 25:t.type=25;break;case"PRIMARY_MEETING_JOIN_ACK":case 26:t.type=26;break;case"PRIMARY_MEETING_LEAVE":case 27:t.type=27;break;case"NOTIFICATION":case 34:t.type=34}if(null!=e.error){if("object"!=typeof e.error)throw TypeError(".SdkSignalFrame.error: object expected");t.error=c.SdkErrorFrame.fromObject(e.error)}if(null!=e.join){if("object"!=typeof e.join)throw TypeError(".SdkSignalFrame.join: object expected");t.join=c.SdkJoinFrame.fromObject(e.join)}if(null!=e.joinack){if("object"!=typeof e.joinack)throw TypeError(".SdkSignalFrame.joinack: object expected");t.joinack=c.SdkJoinAckFrame.fromObject(e.joinack)}if(null!=e.sub){if("object"!=typeof e.sub)throw TypeError(".SdkSignalFrame.sub: object expected");t.sub=c.SdkSubscribeFrame.fromObject(e.sub)}if(null!=e.suback){if("object"!=typeof e.suback)throw TypeError(".SdkSignalFrame.suback: object expected");t.suback=c.SdkSubscribeAckFrame.fromObject(e.suback)}if(null!=e.index){if("object"!=typeof e.index)throw TypeError(".SdkSignalFrame.index: object expected");t.index=c.SdkIndexFrame.fromObject(e.index)}if(null!=e.pause){if("object"!=typeof e.pause)throw TypeError(".SdkSignalFrame.pause: object expected");t.pause=c.SdkPauseResumeFrame.fromObject(e.pause)}if(null!=e.leave){if("object"!=typeof e.leave)throw TypeError(".SdkSignalFrame.leave: object expected");t.leave=c.SdkLeaveFrame.fromObject(e.leave)}if(null!=e.leaveAck){if("object"!=typeof e.leaveAck)throw TypeError(".SdkSignalFrame.leaveAck: object expected");t.leaveAck=c.SdkLeaveAckFrame.fromObject(e.leaveAck)}if(null!=e.bitrates){if("object"!=typeof e.bitrates)throw TypeError(".SdkSignalFrame.bitrates: object expected");t.bitrates=c.SdkBitrateFrame.fromObject(e.bitrates)}if(null!=e.audioControl){if("object"!=typeof e.audioControl)throw TypeError(".SdkSignalFrame.audioControl: object expected");t.audioControl=c.SdkAudioControlFrame.fromObject(e.audioControl)}if(null!=e.audioMetadata){if("object"!=typeof e.audioMetadata)throw TypeError(".SdkSignalFrame.audioMetadata: object expected");t.audioMetadata=c.SdkAudioMetadataFrame.fromObject(e.audioMetadata)}if(null!=e.audioStreamIdInfo){if("object"!=typeof e.audioStreamIdInfo)throw TypeError(".SdkSignalFrame.audioStreamIdInfo: object expected");t.audioStreamIdInfo=c.SdkAudioStreamIdInfoFrame.fromObject(e.audioStreamIdInfo)}if(null!=e.pingPong){if("object"!=typeof e.pingPong)throw TypeError(".SdkSignalFrame.pingPong: object expected");t.pingPong=c.SdkPingPongFrame.fromObject(e.pingPong)}if(null!=e.audioStatus){if("object"!=typeof e.audioStatus)throw TypeError(".SdkSignalFrame.audioStatus: object expected");t.audioStatus=c.SdkAudioStatusFrame.fromObject(e.audioStatus)}if(null!=e.clientMetric){if("object"!=typeof e.clientMetric)throw TypeError(".SdkSignalFrame.clientMetric: object expected");t.clientMetric=c.SdkClientMetricFrame.fromObject(e.clientMetric)}if(null!=e.dataMessage){if("object"!=typeof e.dataMessage)throw TypeError(".SdkSignalFrame.dataMessage: object expected");t.dataMessage=c.SdkDataMessageFrame.fromObject(e.dataMessage)}if(null!=e.remoteVideoUpdate){if("object"!=typeof e.remoteVideoUpdate)throw TypeError(".SdkSignalFrame.remoteVideoUpdate: object expected");t.remoteVideoUpdate=c.SdkRemoteVideoUpdateFrame.fromObject(e.remoteVideoUpdate)}if(null!=e.primaryMeetingJoin){if("object"!=typeof e.primaryMeetingJoin)throw TypeError(".SdkSignalFrame.primaryMeetingJoin: object expected");t.primaryMeetingJoin=c.SdkPrimaryMeetingJoinFrame.fromObject(e.primaryMeetingJoin)}if(null!=e.primaryMeetingJoinAck){if("object"!=typeof e.primaryMeetingJoinAck)throw TypeError(".SdkSignalFrame.primaryMeetingJoinAck: object expected");t.primaryMeetingJoinAck=c.SdkPrimaryMeetingJoinAckFrame.fromObject(e.primaryMeetingJoinAck)}if(null!=e.primaryMeetingLeave){if("object"!=typeof e.primaryMeetingLeave)throw TypeError(".SdkSignalFrame.primaryMeetingLeave: object expected");t.primaryMeetingLeave=c.SdkPrimaryMeetingLeaveFrame.fromObject(e.primaryMeetingLeave)}if(null!=e.notification){if("object"!=typeof e.notification)throw TypeError(".SdkSignalFrame.notification: object expected");t.notification=c.SdkNotificationFrame.fromObject(e.notification)}return t},e.toObject=function(e,t){t||(t={});var i={};if(t.defaults){if(d.Long){var n=new d.Long(0,0,!0);i.timestampMs=t.longs===String?n.toString():t.longs===Number?n.toNumber():n}else i.timestampMs=t.longs===String?"0":0;i.type=t.enums===String?"JOIN":1,i.error=null,i.join=null,i.joinack=null,i.sub=null,i.suback=null,i.index=null,i.pause=null,i.leave=null,i.leaveAck=null,i.bitrates=null,i.audioControl=null,i.audioMetadata=null,i.audioStreamIdInfo=null,i.pingPong=null,i.audioStatus=null,i.clientMetric=null,i.dataMessage=null,i.remoteVideoUpdate=null,i.primaryMeetingJoin=null,i.primaryMeetingJoinAck=null,i.primaryMeetingLeave=null,i.notification=null}return null!=e.timestampMs&&e.hasOwnProperty("timestampMs")&&("number"==typeof e.timestampMs?i.timestampMs=t.longs===String?String(e.timestampMs):e.timestampMs:i.timestampMs=t.longs===String?d.Long.prototype.toString.call(e.timestampMs):t.longs===Number?new d.LongBits(e.timestampMs.low>>>0,e.timestampMs.high>>>0).toNumber(!0):e.timestampMs),null!=e.type&&e.hasOwnProperty("type")&&(i.type=t.enums===String?void 0===c.SdkSignalFrame.Type[e.type]?e.type:c.SdkSignalFrame.Type[e.type]:e.type),null!=e.error&&e.hasOwnProperty("error")&&(i.error=c.SdkErrorFrame.toObject(e.error,t)),null!=e.join&&e.hasOwnProperty("join")&&(i.join=c.SdkJoinFrame.toObject(e.join,t)),null!=e.joinack&&e.hasOwnProperty("joinack")&&(i.joinack=c.SdkJoinAckFrame.toObject(e.joinack,t)),null!=e.sub&&e.hasOwnProperty("sub")&&(i.sub=c.SdkSubscribeFrame.toObject(e.sub,t)),null!=e.suback&&e.hasOwnProperty("suback")&&(i.suback=c.SdkSubscribeAckFrame.toObject(e.suback,t)),null!=e.index&&e.hasOwnProperty("index")&&(i.index=c.SdkIndexFrame.toObject(e.index,t)),null!=e.pause&&e.hasOwnProperty("pause")&&(i.pause=c.SdkPauseResumeFrame.toObject(e.pause,t)),null!=e.leave&&e.hasOwnProperty("leave")&&(i.leave=c.SdkLeaveFrame.toObject(e.leave,t)),null!=e.leaveAck&&e.hasOwnProperty("leaveAck")&&(i.leaveAck=c.SdkLeaveAckFrame.toObject(e.leaveAck,t)),null!=e.bitrates&&e.hasOwnProperty("bitrates")&&(i.bitrates=c.SdkBitrateFrame.toObject(e.bitrates,t)),null!=e.audioControl&&e.hasOwnProperty("audioControl")&&(i.audioControl=c.SdkAudioControlFrame.toObject(e.audioControl,t)),null!=e.audioMetadata&&e.hasOwnProperty("audioMetadata")&&(i.audioMetadata=c.SdkAudioMetadataFrame.toObject(e.audioMetadata,t)),null!=e.audioStreamIdInfo&&e.hasOwnProperty("audioStreamIdInfo")&&(i.audioStreamIdInfo=c.SdkAudioStreamIdInfoFrame.toObject(e.audioStreamIdInfo,t)),null!=e.pingPong&&e.hasOwnProperty("pingPong")&&(i.pingPong=c.SdkPingPongFrame.toObject(e.pingPong,t)),null!=e.audioStatus&&e.hasOwnProperty("audioStatus")&&(i.audioStatus=c.SdkAudioStatusFrame.toObject(e.audioStatus,t)),null!=e.clientMetric&&e.hasOwnProperty("clientMetric")&&(i.clientMetric=c.SdkClientMetricFrame.toObject(e.clientMetric,t)),null!=e.dataMessage&&e.hasOwnProperty("dataMessage")&&(i.dataMessage=c.SdkDataMessageFrame.toObject(e.dataMessage,t)),null!=e.remoteVideoUpdate&&e.hasOwnProperty("remoteVideoUpdate")&&(i.remoteVideoUpdate=c.SdkRemoteVideoUpdateFrame.toObject(e.remoteVideoUpdate,t)),null!=e.primaryMeetingJoin&&e.hasOwnProperty("primaryMeetingJoin")&&(i.primaryMeetingJoin=c.SdkPrimaryMeetingJoinFrame.toObject(e.primaryMeetingJoin,t)),null!=e.primaryMeetingJoinAck&&e.hasOwnProperty("primaryMeetingJoinAck")&&(i.primaryMeetingJoinAck=c.SdkPrimaryMeetingJoinAckFrame.toObject(e.primaryMeetingJoinAck,t)),null!=e.primaryMeetingLeave&&e.hasOwnProperty("primaryMeeting
2138Leave")&&(i.primaryMeetingLeave=c.SdkPrimaryMeetingLeaveFrame.toObject(e.primaryMeetingLeave,t)),null!=e.notification&&e.hasOwnProperty("notification")&&(i.notification=c.SdkNotificationFrame.toObject(e.notification,t)),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkSignalFrame"},e.Type=(t={},(i=Object.create(t))[t[1]="JOIN"]=1,i[t[2]="JOIN_ACK"]=2,i[t[3]="SUBSCRIBE"]=3,i[t[4]="SUBSCRIBE_ACK"]=4,i[t[5]="INDEX"]=5,i[t[7]="PAUSE"]=7,i[t[8]="RESUME"]=8,i[t[9]="LEAVE"]=9,i[t[10]="LEAVE_ACK"]=10,i[t[13]="BITRATES"]=13,i[t[16]="AUDIO_CONTROL"]=16,i[t[17]="AUDIO_METADATA"]=17,i[t[18]="AUDIO_STREAM_ID_INFO"]=18,i[t[19]="PING_PONG"]=19,i[t[20]="AUDIO_STATUS"]=20,i[t[21]="CLIENT_METRIC"]=21,i[t[22]="DATA_MESSAGE"]=22,i[t[24]="REMOTE_VIDEO_UPDATE"]=24,i[t[25]="PRIMARY_MEETING_JOIN"]=25,i[t[26]="PRIMARY_MEETING_JOIN_ACK"]=26,i[t[27]="PRIMARY_MEETING_LEAVE"]=27,i[t[34]="NOTIFICATION"]=34,i),e}(),c.SdkErrorFrame=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.status=0,e.prototype.description="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.status&&Object.hasOwnProperty.call(e,"status")&&t.uint32(8).uint32(e.status),null!=e.description&&Object.hasOwnProperty.call(e,"description")&&t.uint32(18).string(e.description),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkErrorFrame;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.status=e.uint32();break;case 2:n.description=e.string();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.status&&e.hasOwnProperty("status")&&!d.isInteger(e.status)?"status: integer expected":null!=e.description&&e.hasOwnProperty("description")&&!d.isString(e.description)?"description: string expected":null},e.fromObject=function(e){if(e instanceof c.SdkErrorFrame)return e;var t=new c.SdkErrorFrame;return null!=e.status&&(t.status=e.status>>>0),null!=e.description&&(t.description=String(e.description)),t},e.toObject=function(e,t){t||(t={});var i={};return t.defaults&&(i.status=0,i.description=""),null!=e.status&&e.hasOwnProperty("status")&&(i.status=e.status),null!=e.description&&e.hasOwnProperty("description")&&(i.description=e.description),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkErrorFrame"},e}(),c.SdkJoinFlags=(n={},(r=Object.create(n))[n[2]="HAS_STREAM_UPDATE"]=2,r[n[16]="COMPLETE_VIDEO_SOURCES_LIST"]=16,r[n[32]="EXCLUDE_SELF_CONTENT_IN_INDEX"]=32,r),c.SdkClientDetails=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.appName="",e.prototype.appVersion="",e.prototype.deviceModel="",e.prototype.deviceMake="",e.prototype.platformName="",e.prototype.platformVersion="",e.prototype.clientSource="",e.prototype.chimeSdkVersion="",e.prototype.clientUtcOffset="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.appName&&Object.hasOwnProperty.call(e,"appName")&&t.uint32(10).string(e.appName),null!=e.appVersion&&Object.hasOwnProperty.call(e,"appVersion")&&t.uint32(18).string(e.appVersion),null!=e.deviceModel&&Object.hasOwnProperty.call(e,"deviceModel")&&t.uint32(26).string(e.deviceModel),null!=e.deviceMake&&Object.hasOwnProperty.call(e,"deviceMake")&&t.uint32(34).string(e.deviceMake),null!=e.platformName&&Object.hasOwnProperty.call(e,"platformName")&&t.uint32(42).string(e.platformName),null!=e.platformVersion&&Object.hasOwnProperty.call(e,"platformVersion")&&t.uint32(50).string(e.platformVersion),null!=e.clientSource&&Object.hasOwnProperty.call(e,"clientSource")&&t.uint32(58).string(e.clientSource),null!=e.chimeSdkVersion&&Object.hasOwnProperty.call(e,"chimeSdkVersion")&&t.uint32(66).string(e.chimeSdkVersion),null!=e.clientUtcOffset&&Object.hasOwnProperty.call(e,"clientUtcOffset")&&t.uint32(74).string(e.clientUtcOffset),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkClientDetails;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.appName=e.string();break;case 2:n.appVersion=e.string();break;case 3:n.deviceModel=e.string();break;case 4:n.deviceMake=e.string();break;case 5:n.platformName=e.string();break;case 6:n.platformVersion=e.string();break;case 7:n.clientSource=e.string();break;case 8:n.chimeSdkVersion=e.string();break;case 9:n.clientUtcOffset=e.string();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.appName&&e.hasOwnProperty("appName")&&!d.isString(e.appName)?"appName: string expected":null!=e.appVersion&&e.hasOwnProperty("appVersion")&&!d.isString(e.appVersion)?"appVersion: string expected":null!=e.deviceModel&&e.hasOwnProperty("deviceModel")&&!d.isString(e.deviceModel)?"deviceModel: string expected":null!=e.deviceMake&&e.hasOwnProperty("deviceMake")&&!d.isString(e.deviceMake)?"deviceMake: string expected":null!=e.platformName&&e.hasOwnProperty("platformName")&&!d.isString(e.platformName)?"platformName: string expected":null!=e.platformVersion&&e.hasOwnProperty("platformVersion")&&!d.isString(e.platformVersion)?"platformVersion: string expected":null!=e.clientSource&&e.hasOwnProperty("clientSource")&&!d.isString(e.clientSource)?"clientSource: string expected":null!=e.chimeSdkVersion&&e.hasOwnProperty("chimeSdkVersion")&&!d.isString(e.chimeSdkVersion)?"chimeSdkVersion: string expected":null!=e.clientUtcOffset&&e.hasOwnProperty("clientUtcOffset")&&!d.isString(e.clientUtcOffset)?"clientUtcOffset: string expected":null},e.fromObject=function(e){if(e instanceof c.SdkClientDetails)return e;var t=new c.SdkClientDetails;return null!=e.appName&&(t.appName=String(e.appName)),null!=e.appVersion&&(t.appVersion=String(e.appVersion)),null!=e.deviceModel&&(t.deviceModel=String(e.deviceModel)),null!=e.deviceMake&&(t.deviceMake=String(e.deviceMake)),null!=e.platformName&&(t.platformName=String(e.platformName)),null!=e.platformVersion&&(t.platformVersion=String(e.platformVersion)),null!=e.clientSource&&(t.clientSource=String(e.clientSource)),null!=e.chimeSdkVersion&&(t.chimeSdkVersion=String(e.chimeSdkVersion)),null!=e.clientUtcOffset&&(t.clientUtcOffset=String(e.clientUtcOffset)),t},e.toObject=function(e,t){t||(t={});var i={};return t.defaults&&(i.appName="",i.appVersion="",i.deviceModel="",i.deviceMake="",i.platformName="",i.platformVersion="",i.clientSource="",i.chimeSdkVersion="",i.clientUtcOffset=""),null!=e.appName&&e.hasOwnProperty("appName")&&(i.appName=e.appName),null!=e.appVersion&&e.hasOwnProperty("appVersion")&&(i.appVersion=e.appVersion),null!=e.deviceModel&&e.hasOwnProperty("deviceModel")&&(i.deviceModel=e.deviceModel),null!=e.deviceMake&&e.hasOwnProperty("deviceMake")&&(i.deviceMake=e.deviceMake),null!=e.platformName&&e.hasOwnProperty("platformName")&&(i.platformName=e.platformName),null!=e.platformVersion&&e.hasOwnProperty("platformVersion")&&(i.platformVersion=e.platformVersion),null!=e.clientSource&&e.hasOwnProperty("clientSource")&&(i.clientSource=e.clientSource),null!=e.chimeSdkVersion&&e.hasOwnProperty("chimeSdkVersion")&&(i.chimeSdkVersion=e.chimeSdkVersion),null!=e.clientUtcOffset&&e.hasOwnProperty("clientUtcOffset")&&(i.clientUtcOffset=e.clientUtcOffset),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkClientDetails"},e}(),c.SdkServerSideNetworkAdaption=function(){var e={},t=Object.create(e);return t[e[1]="DEFAULT"]=1,t[e[2]="NONE"]=2,t[e[3]="BANDWIDTH_PROBING"]=3,t[e[4]="BANDWIDTH_PROBING_AND_VIDEO_QUALITY_ADAPTION"]=4,t}(),c.SdkJoinFrame=function(){function e(e){if(this.supportedServerSideNetworkAdaptions=[],e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.protocolVersion=2,e.prototype.maxNumOfVideos=0,e.prototype.flags=0,e.prototype.clientDetails=null,e.prototype.audioSessionId=d.Long?d.Long.fromBits(0,0,!0):0,e.prototype.wantsCompressedSdp=!1,e.prototype.serverSideNetworkAdaption=1,e.prototype.supportedServerSideNetworkAdaptions=d.emptyArray,e.prototype.wantsAllTemporalLayersInIndex=!1,e.prototype.disablePerio
2138dicKeyframeRequestOnContentSender=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=a.create()),null!=e.protocolVersion&&Object.hasOwnProperty.call(e,"protocolVersion")&&t.uint32(8).uint32(e.protocolVersion),null!=e.maxNumOfVideos&&Object.hasOwnProperty.call(e,"maxNumOfVideos")&&t.uint32(16).uint32(e.maxNumOfVideos),null!=e.flags&&Object.hasOwnProperty.call(e,"flags")&&t.uint32(24).uint32(e.flags),null!=e.clientDetails&&Object.hasOwnProperty.call(e,"clientDetails")&&c.SdkClientDetails.encode(e.clientDetails,t.uint32(34).fork()).ldelim(),null!=e.audioSessionId&&Object.hasOwnProperty.call(e,"audioSessionId")&&t.uint32(48).uint64(e.audioSessionId),null!=e.wantsCompressedSdp&&Object.hasOwnProperty.call(e,"wantsCompressedSdp")&&t.uint32(56).bool(e.wantsCompressedSdp),null!=e.serverSideNetworkAdaption&&Object.hasOwnProperty.call(e,"serverSideNetworkAdaption")&&t.uint32(80).int32(e.serverSideNetworkAdaption),null!=e.supportedServerSideNetworkAdaptions&&e.supportedServerSideNetworkAdaptions.length)for(var i=0;i<e.supportedServerSideNetworkAdaptions.length;++i)t.uint32(88).int32(e.supportedServerSideNetworkAdaptions[i]);return null!=e.wantsAllTemporalLayersInIndex&&Object.hasOwnProperty.call(e,"wantsAllTemporalLayersInIndex")&&t.uint32(96).bool(e.wantsAllTemporalLayersInIndex),null!=e.disablePeriodicKeyframeRequestOnContentSender&&Object.hasOwnProperty.call(e,"disablePeriodicKeyframeRequestOnContentSender")&&t.uint32(104).bool(e.disablePeriodicKeyframeRequestOnContentSender),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkJoinFrame;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.protocolVersion=e.uint32();break;case 2:n.maxNumOfVideos=e.uint32();break;case 3:n.flags=e.uint32();break;case 4:n.clientDetails=c.SdkClientDetails.decode(e,e.uint32());break;case 6:n.audioSessionId=e.uint64();break;case 7:n.wantsCompressedSdp=e.bool();break;case 10:n.serverSideNetworkAdaption=e.int32();break;case 11:if(n.supportedServerSideNetworkAdaptions&&n.supportedServerSideNetworkAdaptions.length||(n.supportedServerSideNetworkAdaptions=[]),2==(7&r))for(var o=e.uint32()+e.pos;e.pos<o;)n.supportedServerSideNetworkAdaptions.push(e.int32());else n.supportedServerSideNetworkAdaptions.push(e.int32());break;case 12:n.wantsAllTemporalLayersInIndex=e.bool();break;case 13:n.disablePeriodicKeyframeRequestOnContentSender=e.bool();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.protocolVersion&&e.hasOwnProperty("protocolVersion")&&!d.isInteger(e.protocolVersion))return"protocolVersion: integer expected";if(null!=e.maxNumOfVideos&&e.hasOwnProperty("maxNumOfVideos")&&!d.isInteger(e.maxNumOfVideos))return"maxNumOfVideos: integer expected";if(null!=e.flags&&e.hasOwnProperty("flags")&&!d.isInteger(e.flags))return"flags: integer expected";if(null!=e.clientDetails&&e.hasOwnProperty("clientDetails")){var t=c.SdkClientDetails.verify(e.clientDetails);if(t)return"clientDetails."+t}if(null!=e.audioSessionId&&e.hasOwnProperty("audioSessionId")&&!(d.isInteger(e.audioSessionId)||e.audioSessionId&&d.isInteger(e.audioSessionId.low)&&d.isInteger(e.audioSessionId.high)))return"audioSessionId: integer|Long expected";if(null!=e.wantsCompressedSdp&&e.hasOwnProperty("wantsCompressedSdp")&&"boolean"!=typeof e.wantsCompressedSdp)return"wantsCompressedSdp: boolean expected";if(null!=e.serverSideNetworkAdaption&&e.hasOwnProperty("serverSideNetworkAdaption"))switch(e.serverSideNetworkAdaption){default:return"serverSideNetworkAdaption: enum value expected";case 1:case 2:case 3:case 4:}if(null!=e.supportedServerSideNetworkAdaptions&&e.hasOwnProperty("supportedServerSideNetworkAdaptions")){if(!Array.isArray(e.supportedServerSideNetworkAdaptions))return"supportedServerSideNetworkAdaptions: array expected";for(var i=0;i<e.supportedServerSideNetworkAdaptions.length;++i)switch(e.supportedServerSideNetworkAdaptions[i]){default:return"supportedServerSideNetworkAdaptions: enum value[] expected";case 1:case 2:case 3:case 4:}}return null!=e.wantsAllTemporalLayersInIndex&&e.hasOwnProperty("wantsAllTemporalLayersInIndex")&&"boolean"!=typeof e.wantsAllTemporalLayersInIndex?"wantsAllTemporalLayersInIndex: boolean expected":null!=e.disablePerio
2138dicKeyframeRequestOnContentSender&&e.hasOwnProperty("disablePeriodicKeyframeRequestOnContentSender")&&"boolean"!=typeof e.disablePeriodicKeyframeRequestOnContentSender?"disablePeriodicKeyframeRequestOnContentSender: boolean expected":null},e.fromObject=function(e){if(e instanceof c.SdkJoinFrame)return e;var t=new c.SdkJoinFrame;if(null!=e.protocolVersion&&(t.protocolVersion=e.protocolVersion>>>0),null!=e.maxNumOfVideos&&(t.maxNumOfVideos=e.maxNumOfVideos>>>0),null!=e.flags&&(t.flags=e.flags>>>0),null!=e.clientDetails){if("object"!=typeof e.clientDetails)throw TypeError(".SdkJoinFrame.clientDetails: object expected");t.clientDetails=c.SdkClientDetails.fromObject(e.clientDetails)}switch(null!=e.audioSessionId&&(d.Long?(t.audioSessionId=d.Long.fromValue(e.audioSessionId)).unsigned=!0:"string"==typeof e.audioSessionId?t.audioSessionId=parseInt(e.audioSessionId,10):"number"==typeof e.audioSessionId?t.audioSessionId=e.audioSessionId:"object"==typeof e.audioSessionId&&(t.audioSessionId=new d.LongBits(e.audioSessionId.low>>>0,e.audioSessionId.high>>>0).toNumber(!0))),null!=e.wantsCompressedSdp&&(t.wantsCompressedSdp=Boolean(e.wantsCompressedSdp)),e.serverSideNetworkAdaption){default:if("number"==typeof e.serverSideNetworkAdaption){t.serverSideNetworkAdaption=e.serverSideNetworkAdaption;break}break;case"DEFAULT":case 1:t.serverSideNetworkAdaption=1;break;case"NONE":case 2:t.serverSideNetworkAdaption=2;break;case"BANDWIDTH_PROBING":case 3:t.serverSideNetworkAdaption=3;break;case"BANDWIDTH_PROBING_AND_VIDEO_QUALITY_ADAPTION":case 4:t.serverSideNetworkAdaption=4}if(e.supportedServerSideNetworkAdaptions){if(!Array.isArray(e.supportedServerSideNetworkAdaptions))throw TypeError(".SdkJoinFrame.supportedServerSideNetworkAdaptions: array expected");t.supportedServerSideNetworkAdaptions=[];for(var i=0;i<e.supportedServerSideNetworkAdaptions.length;++i)switch(e.supportedServerSideNetworkAdaptions[i]){default:if("number"==typeof e.supportedServerSideNetworkAdaptions[i]){t.supportedServerSideNetworkAdaptions[i]=e.supportedServerSideNetworkAdaptions[i];break}case"DEFAULT":case 1:t.supportedServerSideNetworkAdaptions[i]=1;break;
2138case"NONE":case 2:t.supportedServerSideNetworkAdaptions[i]=2;break;case"BANDWIDTH_PROBING":case 3:t.supportedServerSideNetworkAdaptions[i]=3;break;case"BANDWIDTH_PROBING_AND_VIDEO_QUALITY_ADAPTION":case 4:t.supportedServerSideNetworkAdaptions[i]=4}}return null!=e.wantsAllTemporalLayersInIndex&&(t.wantsAllTemporalLayersInIndex=Boolean(e.wantsAllTemporalLayersInIndex)),null!=e.disablePeriodicKeyframeRequestOnContentSender&&(t.disablePeriodicKeyframeRequestOnContentSender=Boolean(e.disablePeriodicKeyframeRequestOnContentSender)),t},e.toObject=function(e,t){t||(t={});var i={};if((t.arrays||t.defaults)&&(i.supportedServerSideNetworkAdaptions=[]),t.defaults){if(i.protocolVersion=2,i.maxNumOfVideos=0,i.flags=0,i.clientDetails=null,d.Long){var n=new d.Long(0,0,!0);i.audioSessionId=t.longs===String?n.toString():t.longs===Number?n.toNumber():n}else i.audioSessionId=t.longs===String?"0":0;i.wantsCompressedSdp=!1,i.serverSideNetworkAdaption=t.enums===String?"DEFAULT":1,i.wantsAllTemporalLayersInIndex=!1,i.disablePeriodicKeyframeRequestOnContentSender=!1}if(null!=e.protocolVersion&&e.hasOwnProperty("protocolVersion")&&(i.protocolVersion=e.protocolVersion),null!=e.maxNumOfVideos&&e.hasOwnProperty("maxNumOfVideos")&&(i.maxNumOfVideos=e.maxNumOfVideos),null!=e.flags&&e.hasOwnProperty("flags")&&(i.flags=e.flags),null!=e.clientDetails&&e.hasOwnProperty("clientDetails")&&(i.clientDetails=c.SdkClientDetails.toObject(e.clientDetails,t)),null!=e.audioSessionId&&e.hasOwnProperty("audioSessionId")&&("number"==typeof e.audioSessionId?i.audioSessionId=t.longs===String?String(e.audioSessionId):e.audioSessionId:i.audioSessionId=t.longs===String?d.Long.prototype.toString.call(e.audioSessionId):t.longs===Number?new d.LongBits(e.audioSessionId.low>>>0,e.audioSessionId.high>>>0).toNumber(!0):e.audioSessionId),null!=e.wantsCompressedSdp&&e.hasOwnProperty("wantsCompressedSdp")&&(i.wantsCompressedSdp=e.wantsCompressedSdp),null!=e.serverSideNetworkAdaption&&e.hasOwnProperty("serverSideNetworkAdaption")&&(i.serverSideNetworkAdaption=t.enums===String?void 0===c.SdkServerSideNetworkAdaption[e.serverSideNetworkAdaption]?e.serverSideNetworkAdaption:c.SdkServerSideNetworkAdaption[e.serverSideNetworkAdaption]:e.serverSideNetworkAdaption),e.supportedServerSideNetworkAdaptions&&e.supportedServerSideNetworkAdaptions.length){i.supportedServerSideNetworkAdaptions=[];for(var r=0;r<e.supportedServerSideNetworkAdaptions.length;++r)i.supportedServerSideNetworkAdaptions[r]=t.enums===String?void 0===c.SdkServerSideNetworkAdaption[e.supportedServerSideNetworkAdaptions[r]]?e.supportedServerSideNetworkAdaptions[r]:c.SdkServerSideNetworkAdaption[e.supportedServerSideNetworkAdaptions[r]]:e.supportedServerSideNetworkAdaptions[r]}return null!=e.wantsAllTemporalLayersInIndex&&e.hasOwnProperty("wantsAllTemporalLayersInIndex")&&(i.wantsAllTemporalLayersInIndex=e.wantsAllTemporalLayersInIndex),null!=e.disablePeriodicKeyframeRequestOnContentSender&&e.hasOwnProperty("disablePeriodicKeyframeRequestOnContentSender")&&(i.disablePeriodicKeyframeRequestOnContentSender=e.disablePeriodicKeyframeRequestOnContentSender),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkJoinFrame"},e}(),c.SdkJoinAckFrame=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.turnCredentials=null,e.prototype.videoSubscriptionLimit=0,e.prototype.wantsCompressedSdp=!1,e.prototype.defaultServerSideNetworkAdaption=1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.turnCredentials&&Object.hasOwnProperty.call(e,"turnCredentials")&&c.SdkTurnCredentials.encode(e.turnCredentials,t.uint32(10).fork()).ldelim(),null!=e.videoSubscriptionLimit&&Object.hasOwnProperty.call(e,"videoSubscriptionLimit")&&t.uint32(16).uint32(e.videoSubscriptionLimit),null!=e.wantsCompressedSdp&&Object.hasOwnProperty.call(e,"wantsCompressedSdp")&&t.uint32(24).bool(e.wantsCompressedSdp),null!=e.defaultServerSideNetworkAdaption&&Object.hasOwnProperty.call(e,"defaultServerSideNetworkAdaption")&&t.uint32(32).int32(e.defaultServerSideNetworkAdaption),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkJoinAckFrame;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.turnCredentials=c.SdkTurnCredentials.decode(e,e.uint32());break;case 2:n.videoSubscriptionLimit=e.uint32();break;case 3:n.wantsCompressedSdp=e.bool();break;case 4:n.defaultServerSideNetworkAdaption=e.int32();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.turnCredentials&&e.hasOwnProperty("turnCredentials")){var t=c.SdkTurnCredentials.verify(e.turnCredentials);if(t)return"turnCredentials."+t}if(null!=e.videoSubscriptionLimit&&e.hasOwnProperty("videoSubscriptionLimit")&&!d.isInteger(e.videoSubscriptionLimit))return"videoSubscriptionLimit: integer expected";if(null!=e.wantsCompressedSdp&&e.hasOwnProperty("wantsCompressedSdp")&&"boolean"!=typeof e.wantsCompressedSdp)return"wantsCompressedSdp: boolean expected";if(null!=e.defaultServerSideNetworkAdaption&&e.hasOwnProperty("defaultServerSideNetworkAdaption"))switch(e.defaultServerSideNetworkAdaption){default:return"defaultServerSideNetworkAdaption: enum value expected";case 1:case 2:case 3:case 4:}return null},e.fromObject=function(e){if(e instanceof c.SdkJoinAckFrame)return e;var t=new c.SdkJoinAckFrame;if(null!=e.turnCredentials){if("object"!=typeof e.turnCredentials)throw TypeError(".SdkJoinAckFrame.turnCredentials: object expected");t.turnCredentials=c.SdkTurnCredentials.fromObject(e.turnCredentials)}switch(null!=e.videoSubscriptionLimit&&(t.videoSubscriptionLimit=e.videoSubscriptionLimit>>>0),null!=e.wantsCompressedSdp&&(t.wantsCompressedSdp=Boolean(e.wantsCompressedSdp)
2138),e.defaultServerSideNetworkAdaption){default:if("number"==typeof e.defaultServerSideNetworkAdaption){t.defaultServerSideNetworkAdaption=e.defaultServerSideNetworkAdaption;break}break;case"DEFAULT":case 1:t.defaultServerSideNetworkAdaption=1;break;case"NONE":case 2:t.defaultServerSideNetworkAdaption=2;break;case"BANDWIDTH_PROBING":case 3:t.defaultServerSideNetworkAdaption=3;break;case"BANDWIDTH_PROBING_AND_VIDEO_QUALITY_ADAPTION":case 4:t.defaultServerSideNetworkAdaption=4}return t},e.toObject=function(e,t){t||(t={});var i={};return t.defaults&&(i.turnCredentials=null,i.videoSubscriptionLimit=0,i.wantsCompressedSdp=!1,i.defaultServerSideNetworkAdaption=t.enums===String?"DEFAULT":1),null!=e.turnCredentials&&e.hasOwnProperty("turnCredentials")&&(i.turnCredentials=c.SdkTurnCredentials.toObject(e.turnCredentials,t)),null!=e.videoSubscriptionLimit&&e.hasOwnProperty("videoSubscriptionLimit")&&(i.videoSubscriptionLimit=e.videoSubscriptionLimit),null!=e.wantsCompressedSdp&&e.hasOwnProperty("wantsCompressedSdp")&&(i.wantsCompressedSdp=e.wantsCompressedSdp),null!=e.defaultServerSideNetworkAdaption&&e.hasOwnProperty("defaultServerSideNetworkAdaption")&&(i.defaultServerSideNetworkAdaption=t.enums===String?void 0===c.SdkServerSideNetworkAdaption[e.defaultServerSideNetworkAdaption]?e.defaultServerSideNetworkAdaption:c.SdkServerSideNetworkAdaption[e.defaultServerSideNetworkAdaption]:e.defaultServerSideNetworkAdaption),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkJoinAckFrame"},e}(),c.SdkLeaveFrame=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkLeaveFrame;e.pos<i;){var r=e.uint32();e.skipType(7&r)}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null},e.fromObject=function(e){return e instanceof c.SdkLeaveFrame?e:new c.SdkLeaveFrame},e.toObject=function(){return{}},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkLeaveFrame"},e}(),c.SdkLeaveAckFrame=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkLeaveAckFrame;e.pos<i;){var r=e.uint32();e.skipType(7&r)}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null},e.fromObject=function(e){return e instanceof c.SdkLeaveAckFrame?e:new c.SdkLeaveAckFrame},e.toObject=function(){return{}},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkLeaveAckFrame"},e}(),c.SdkStreamServiceType=function(){var e={},t=Object.create(e);return t[e[1]="RX"]=1,t[e[2]="TX"]=2,t[e[3]="DUPLEX"]=3,t}(),c.SdkStreamMediaType=function(){var e={},t=Object.create(e);return t[e[1]="AUDIO"]=1,t[e[2]="VIDEO"]=2,t}(),c.SdkSubscribeFrame=function(){function e(e){if(this.sendStreams=[],this.receiveStreamIds=[],this.videoSubscriptionConfiguration=[],e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.duplex=1,e.prototype.sendStreams=d.emptyArray,e.prototype.receiveStreamIds=d.emptyArray,e.prototype.sdpOffer="",e.prototype.audioHost="",e.prototype.audioCheckin=!1,e.prototype.audioMuted=!1,e.prototype.compressedSdpOffer=d.newBuffer([]),e.prototype.videoSubscriptionConfiguration=d.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=a.create()),null!=e.duplex&&Object.hasOwnProperty.call(e,"duplex")&&t.uint32(8).int32(e.duplex),null!=e.sendStreams&&e.sendStreams.length)for(var i=0;i<e.sendStreams.length;++i)c.SdkStreamDescriptor.encode(e.sendStreams[i],t.uint32(18).fork()).ldelim();if(null!=e.receiveStreamIds&&e.receiveStreamIds.length)for(i=0;i<e.receiveStreamIds.length;++i)t.uint32(24).uint32(e.receiveStreamIds[i]);if(null!=e.sdpOffer&&Object.hasOwnProperty.call(e,"sdpOffer")&&t.uint32(34).string(e.sdpOffer),null!=e.audioHost&&Object.hasOwnProperty.call(e,"audioHost")&&t.uint32(42).string(e.audioHost),null!=e.audioCheckin&&Object.hasOwnProperty.call(e,"audioCheckin")&&t.uint32(48).bool(e.audioCheckin),null!=e.audioMuted&&Object.hasOwnProperty.call(e,"audioMuted")&&t.uint32(56).bool(e.audioMuted),null!=e.compressedSdpOffer&&Object.hasOwnProperty.call(e,"compressedSdpOffer")&&t.uint32(66).bytes(e.compressedSdpOffer),null!=e.videoSubscriptionConfiguration&&e.videoSubscriptionConfiguration.length)for(i=0;i<e.videoSubscriptionConfiguration.length;++i)c.SdkVideoSubscriptionConfiguration.encode(e.videoSubscriptionConfiguration[i],t.uint32(74).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkSubscribeFrame;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.duplex=e.int32();break;case 2:n.sendStreams&&n.sendStreams.length||(n.sendStreams=[]),n.sendStreams.push(c.SdkStreamDescriptor.decode(e,e.uint32()));break;case 3:if(n.receiveStreamIds&&n.receiveStreamIds.length||(n.receiveStreamIds=[]),2==(7&r))for(var o=e.uint32()+e.pos;e.pos<o;)n.receiveStreamIds.push(e.uint32());else n.receiveStreamIds.push(e.uint32());break;case 4:n.sdpOffer=e.string();break;case 5:n.audioHost=e.string();break;case 6:n.audioCheckin=e.bool();break;case 7:n.audioMuted=e.bool();break;case 8:n.compressedSdpOffer=e.bytes();break;case 9:n.videoSubscriptionConfiguration&&n.videoSubscriptionConfiguration.length||(n.videoSubscriptionConfiguration=[]),n.videoSubscriptionConfiguration.push(c.SdkVideoSubscriptionConfiguration.decode(e,e.uint32()));break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.duplex&&e.hasOwnProperty("duplex"))switch(e.duplex){default:return"duplex: enum value expected";case 1:case 2:case 3:}if(null!=e.sendStreams&&e.hasOwnProperty("sendStreams")){if(!Array.isArray(e.sendStreams))return"sendStreams: array expected";for(var t=0;t<e.sendStreams.length;++t)if(i=c.SdkStreamDescriptor.verify(e.sendStreams[t]))return"sendStreams."+i}if(null!=e.receiveStreamIds&&e.hasOwnProperty("receiveStreamIds")){if(!Array.isArray(e.receiveStreamIds))return"receiveStreamIds: array expected";for(t=0;t<e.receiveStreamIds.length;++t)if(!d.isInteger(e.receiveStreamIds[t]))return"receiveStreamIds: integer[] expected"}
2138if(null!=e.sdpOffer&&e.hasOwnProperty("sdpOffer")&&!d.isString(e.sdpOffer))return"sdpOffer: string expected";if(null!=e.audioHost&&e.hasOwnProperty("audioHost")&&!d.isString(e.audioHost))return"audioHost: string expected";if(null!=e.audioCheckin&&e.hasOwnProperty("audioCheckin")&&"boolean"!=typeof e.audioCheckin)return"audioCheckin: boolean expected";if(null!=e.audioMuted&&e.hasOwnProperty("audioMuted")&&"boolean"!=typeof e.audioMuted)return"audioMuted: boolean expected";if(null!=e.compressedSdpOffer&&e.hasOwnProperty("compressedSdpOffer")&&!(e.compressedSdpOffer&&"number"==typeof e.compressedSdpOffer.length||d.isString(e.compressedSdpOffer)))return"compressedSdpOffer: buffer expected";if(null!=e.videoSubscriptionConfiguration&&e.hasOwnProperty("videoSubscriptionConfiguration")){if(!Array.isArray(e.videoSubscriptionConfiguration))return"videoSubscriptionConfiguration: array expected";for(t=0;t<e.videoSubscriptionConfiguration.length;++t){var i;if(i=c.SdkVideoSubscriptionConfiguration.verify(e.videoSubscriptionConfiguration[t]))return"videoSubscriptionConfiguration."+i}}return null},e.fromObject=function(e){if(e instanceof c.SdkSubscribeFrame)return e;var t=new c.SdkSubscribeFrame;switch(e.duplex){default:if("number"==typeof e.duplex){t.duplex=e.duplex;break}break;case"RX":case 1:t.duplex=1;break;case"TX":case 2:t.duplex=2;break;case"DUPLEX":case 3:t.duplex=3}if(e.sendStreams){if(!Array.isArray(e.sendStreams))throw TypeError(".SdkSubscribeFrame.sendStreams: array expected");t.sendStreams=[];for(var i=0;i<e.sendStreams.length;++i){if("object"!=typeof e.sendStreams[i])throw TypeError(".SdkSubscribeFrame.sendStreams: object expected");t.sendStreams[i]=c.SdkStreamDescriptor.fromObject(e.sendStreams[i])}}if(e.receiveStreamIds){if(!Array.isArray(e.receiveStreamIds))throw TypeError(".SdkSubscribeFrame.receiveStreamIds: array expected");for(t.receiveStreamIds=[],i=0;i<e.receiveStreamIds.length;++i)t.receiveStreamIds[i]=e.receiveStreamIds[i]>>>0}if(null!=e.sdpOffer&&(t.sdpOffer=String(e.sdpOffer)),null!=e.audioHost&&(t.audioHost=String(e.audioHost)),null!=e.audioCheckin&&(t.audioCheckin=Boolean(e.audioCheckin)),null!=e.audioMuted&&(t.audioMuted=Boolean(e.audioMuted)),null!=e.compressedSdpOffer&&("string"==typeof e.compressedSdpOffer?d.base64.decode(e.compressedSdpOffer,t.compressedSdpOffer=d.newBuffer(d.base64.length(e.compressedSdpOffer)),0):e.compressedSdpOffer.length>=0&&(t.compressedSdpOffer=e.compressedSdpOffer)),e.videoSubscriptionConfiguration){if(!Array.isArray(e.videoSubscriptionConfiguration))throw TypeError(".SdkSubscribeFrame.videoSubscriptionConfiguration: array expected");for(t.videoSubscriptionConfiguration=[],i=0;i<e.videoSubscriptionConfiguration.length;++i){if("object"!=typeof e.videoSubscriptionConfiguration[i])throw TypeError(".SdkSubscribeFrame.videoSubscriptionConfiguration: object expected");t.videoSubscriptionConfiguration[i]=c.SdkVideoSubscriptionConfiguration.fromObject(e.videoSubscriptionConfiguration[i])}}return t},e.toObject=function(e,t){t||(t={});var i={};if((t.arrays||t.defaults)&&(i.sendStreams=[],i.receiveStreamIds=[],i.videoSubscriptionConfiguration=[]),t.defaults&&(i.duplex=t.enums===String?"RX":1,i.sdpOffer="",i.audioHost="",i.audioCheckin=!1,i.audioMuted=!1,t.bytes===String?i.compressedSdpOffer="":(i.compressedSdpOffer=[],t.bytes!==Array&&(i.compressedSdpOffer=d.newBuffer(i.compressedSdpOffer)))),null!=e.duplex&&e.hasOwnProperty("duplex")&&(i.duplex=t.enums===String?void 0===c.SdkStreamServiceType[e.duplex]?e.duplex:c.SdkStreamServiceType[e.duplex]:e.duplex),e.sendStreams&&e.sendStreams.length){i.sendStreams=[];for(var n=0;n<e.sendStreams.length;++n)i.sendStreams[n]=c.SdkStreamDescriptor.toObject(e.sendStreams[n],t)}if(e.receiveStreamIds&&e.receiveStreamIds.length)for(i.receiveStreamIds=[],n=0;n<e.receiveStreamIds.length;++n)i.receiveStreamIds[n]=e.receiveStreamIds[n];if(null!=e.sdpOffer&&e.hasOwnProperty("sdpOffer")&&(i.sdpOffer=e.sdpOffer),null!=e.audioHost&&e.hasOwnProperty("audioHost")&&(i.audioHost=e.audioHost),null!=e.audioCheckin&&e.hasOwnProperty("audioCheckin")&&(i.audioCheckin=e.audioCheckin),null!=e.audioMuted&&e.hasOwnProperty("audioMuted")&&(i.audioMuted=e.audioMuted),null!=e.compressedSdpOffer&&e.hasOwnProperty("compressedSdpOffer")&&(i.compressedSdpOffer=t.bytes===String?d.base64.encode(e.compressedSdpOffer,0,e.compressedSdpOffer.length):t.bytes===Array?Array.prototype.slice.call(e.compressedSdpOffer):e.compressedSdpOffer),e.videoSubscriptionConfiguration&&e.videoSubscriptionConfiguration.length)for(i.videoSubscriptionConfiguration=[],n=0;n<e.videoSubscriptionConfiguration.length;++n)i.videoSubscriptionConfiguration[n]=c.SdkVideoSubscriptionConfiguration.toObject(e.videoSubscriptionConfiguration[n],t);return i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkSubscribeFrame"},e}(),c.SdkSubscribeAckFrame=function(){function e(e){if(this.allocations=[],this.tracks=[],e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.duplex=1,e.prototype.allocations=d.emptyArray,e.prototype.sdpAnswer="",e.prototype.tracks=d.emptyArray,e.prototype.compressedSdpAnswer=d.newBuffer([]),e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=a.create()),null!=e.duplex&&Object.hasOwnProperty.call(e,"duplex")&&t.uint32(8).int32(e.duplex),null!=e.allocations&&e.allocations.length)for(var i=0;i<e.allocations.length;++i)c.SdkStreamAllocation.encode(e.allocations[i],t.uint32(18).fork()).ldelim();
2138if(null!=e.sdpAnswer&&Object.hasOwnProperty.call(e,"sdpAnswer")&&t.uint32(26).string(e.sdpAnswer),null!=e.tracks&&e.tracks.length)for(i=0;i<e.tracks.length;++i)c.SdkTrackMapping.encode(e.tracks[i],t.uint32(34).fork()).ldelim();return null!=e.compressedSdpAnswer&&Object.hasOwnProperty.call(e,"compressedSdpAnswer")&&t.uint32(42).bytes(e.compressedSdpAnswer),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkSubscribeAckFrame;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.duplex=e.int32();break;case 2:n.allocations&&n.allocations.length||(n.allocations=[]),n.allocations.push(c.SdkStreamAllocation.decode(e,e.uint32()));break;case 3:n.sdpAnswer=e.string();break;case 4:n.tracks&&n.tracks.length||(n.tracks=[]),n.tracks.push(c.SdkTrackMapping.decode(e,e.uint32()));break;case 5:n.compressedSdpAnswer=e.bytes();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.duplex&&e.hasOwnProperty("duplex"))switch(e.duplex){default:return"duplex: enum value expected";case 1:case 2:case 3:}if(null!=e.allocations&&e.hasOwnProperty("allocations")){if(!Array.isArray(e.allocations))return"allocations: array expected";for(var t=0;t<e.allocations.length;++t)if(i=c.SdkStreamAllocation.verify(e.allocations[t]))return"allocations."+i}if(null!=e.sdpAnswer&&e.hasOwnProperty("sdpAnswer")&&!d.isString(e.sdpAnswer))return"sdpAnswer: string expected";if(null!=e.tracks&&e.hasOwnProperty("tracks")){if(!Array.isArray(e.tracks))return"tracks: array expected";for(t=0;t<e.tracks.length;++t){var i;if(i=c.SdkTrackMapping.verify(e.tracks[t]))return"tracks."+i}}return null!=e.compressedSdpAnswer&&e.hasOwnProperty("compressedSdpAnswer")&&!(e.compressedSdpAnswer&&"number"==typeof e.compressedSdpAnswer.length||d.isString(e.compressedSdpAnswer))?"compressedSdpAnswer: buffer expected":null},e.fromObject=function(e){if(e instanceof c.SdkSubscribeAckFrame)return e;var t=new c.SdkSubscribeAckFrame;switch(e.duplex){default:if("number"==typeof e.duplex){t.duplex=e.duplex;break}break;case"RX":case 1:t.duplex=1;break;case"TX":case 2:t.duplex=2;break;case"DUPLEX":case 3:t.duplex=3}if(e.allocations){if(!Array.isArray(e.allocations))throw TypeError(".SdkSubscribeAckFrame.allocations: array expected");t.allocations=[];for(var i=0;i<e.allocations.length;++i){if("object"!=typeof e.allocations[i])throw TypeError(".SdkSubscribeAckFrame.allocations: object expected");t.allocations[i]=c.SdkStreamAllocation.fromObject(e.allocations[i])}}if(null!=e.sdpAnswer&&(t.sdpAnswer=String(e.sdpAnswer)),e.tracks){if(!Array.isArray(e.tracks))throw TypeError(".SdkSubscribeAckFrame.tracks: array expected");for(t.tracks=[],i=0;i<e.tracks.length;++i){if("object"!=typeof e.tracks[i])throw TypeError(".SdkSubscribeAckFrame.tracks: object expected");t.tracks[i]=c.SdkTrackMapping.fromObject(e.tracks[i])}}return null!=e.compressedSdpAnswer&&("string"==typeof e.compressedSdpAnswer?d.base64.decode(e.compressedSdpAnswer,t.compressedSdpAnswer=d.newBuffer(d.base64.length(e.compressedSdpAnswer)),0):e.compressedSdpAnswer.length>=0&&(t.compressedSdpAnswer=e.compressedSdpAnswer)),t},e.toObject=function(e,t){t||(t={});var i={};if((t.arrays||t.defaults)&&(i.allocations=[],i.tracks=[]),t.defaults&&(i.duplex=t.enums===String?"RX":1,i.sdpAnswer="",t.bytes===String?i.compressedSdpAnswer="":(i.compressedSdpAnswer=[],t.bytes!==Array&&(i.compressedSdpAnswer=d.newBuffer(i.compressedSdpAnswer)))),null!=e.duplex&&e.hasOwnProperty("duplex")&&(i.duplex=t.enums===String?void 0===c.SdkStreamServiceType[e.duplex]?e.duplex:c.SdkStreamServiceType[e.duplex]:e.duplex),e.allocations&&e.allocations.length){i.allocations=[];for(var n=0;n<e.allocations.length;++n)i.allocations[n]=c.SdkStreamAllocation.toObject(e.allocations[n],t)}if(null!=e.sdpAnswer&&e.hasOwnProperty("sdpAnswer")&&(i.sdpAnswer=e.sdpAnswer),e.tracks&&e.tracks.length)for(i.tracks=[],n=0;n<e.tracks.length;++n)i.tracks[n]=c.SdkTrackMapping.toObject(e.tracks[n],t);return null!=e.compressedSdpAnswer&&e.hasOwnProperty("compressedSdpAnswer")&&(i.compressedSdpAnswer=t.bytes===String?d.base64.encode(e.compressedSdpAnswer,0,e.compressedSdpAnswer.length):t.bytes===Array?Array.prototype.slice.call(e.compressedSdpAnswer):e.compressedSdpAnswer),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkSubscribeAckFrame"},e}(),c.SdkIndexFrame=function(){function e(e){if(this.sources=[],this.pausedAtS
2138ourceIds=[],this.supportedReceiveCodecIntersection=[],e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.atCapacity=!1,e.prototype.sources=d.emptyArray,e.prototype.pausedAtSourceIds=d.emptyArray,e.prototype.numParticipants=0,e.prototype.supportedReceiveCodecIntersection=d.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=a.create()),null!=e.atCapacity&&Object.hasOwnProperty.call(e,"atCapacity")&&t.uint32(8).bool(e.atCapacity),null!=e.sources&&e.sources.length)for(var i=0;i<e.sources.length;++i)c.SdkStreamDescriptor.encode(e.sources[i],t.uint32(18).fork()).ldelim();if(null!=e.pausedAtSourceIds&&e.pausedAtSourceIds.length)for(i=0;i<e.pausedAtSourceIds.length;++i)t.uint32(24).uint32(e.pausedAtSourceIds[i]);if(null!=e.numParticipants&&Object.hasOwnProperty.call(e,"numParticipants")&&t.uint32(32).uint32(e.numParticipants),null!=e.supportedReceiveCodecIntersection&&e.supportedReceiveCodecIntersection.length)for(i=0;i<e.supportedReceiveCodecIntersection.length;++i)t.uint32(40).int32(e.supportedReceiveCodecIntersection[i]);return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkIndexFrame;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.atCapacity=e.bool();break;case 2:n.sources&&n.sources.length||(n.sources=[]),n.sources.push(c.SdkStreamDescriptor.decode(e,e.uint32()));break;case 3:if(n.pausedAtSourceIds&&n.pausedAtSourceIds.length||(n.pausedAtSourceIds=[]),2==(7&r))for(var o=e.uint32()+e.pos;e.pos<o;)n.pausedAtSourceIds.push(e.uint32());else n.pausedAtSourceIds.push(e.uint32());break;case 4:n.numParticipants=e.uint32();break;case 5:if(n.supportedReceiveCodecIntersection&&n.supportedReceiveCodecIntersection.length||(n.supportedReceiveCodecIntersection=[]),2==(7&r))for(o=e.uint32()+e.pos;e.pos<o;)n.supportedReceiveCodecIntersection.push(e.int32());else n.supportedReceiveCodecIntersection.push(e.int32());break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.atCapacity&&e.hasOwnProperty("atCapacity")&&"boolean"!=typeof e.atCapacity)return"atCapacity: boolean expected";if(null!=e.sources&&e.hasOwnProperty("sources")){if(!Array.isArray(e.sources))return"sources: array expected";for(var t=0;t<e.sources.length;++t){var i=c.SdkStreamDescriptor.verify(e.sources[t]);if(i)return"sources."+i}}if(null!=e.pausedAtSourceIds&&e.hasOwnProperty("pausedAtSourceIds")){if(!Array.isArray(e.pausedAtSourceIds))return"pausedAtSourceIds: array expected";for(t=0;t<e.pausedAtSourceIds.length;++t)if(!d.isInteger(e.pausedAtSourceIds[t]))return"pausedAtSourceIds: integer[] expected"}if(null!=e.numParticipants&&e.hasOwnProperty("numParticipants")&&!d.isInteger(e.numParticipants))return"numParticipants: integer expected";if(null!=e.supportedReceiveCodecIntersection&&e.hasOwnProperty("supportedReceiveCodecIntersection")){if(!Array.isArray(e.supportedReceiveCodecIntersection))return"supportedReceiveCodecIntersection: array expected";for(t=0;t<e.supportedReceiveCodecIntersection.length;++t)switch(e.supportedReceiveCodecIntersection[t]){default:return"supportedReceiveCodecIntersection: enum value[] expected";case 1:case 2:case 3:case 4:case 5:case 6:case 8:case 11:}}return null},e.fromObject=function(e){if(e instanceof c.SdkIndexFrame)return e;var t=new c.SdkIndexFrame;if(null!=e.atCapacity&&(t.atCapacity=Boolean(e.atCapacity)),e.sources){if(!Array.isArray(e.sources))throw TypeError(".SdkIndexFrame.sources: array expected");t.sources=[];for(var i=0;i<e.sources.length;++i){if("object"!=typeof e.sources[i])throw TypeError(".SdkIndexFrame.sources: object expected");t.sources[i]=c.SdkStreamDescriptor.fromObject(e.sources[i])}}if(e.pausedAtSourceIds){if(!Array.isArray(e.pausedAtSourceIds))throw TypeError(".SdkIndexFrame.pausedAtSourceIds: array expected");for(t.pausedAtSourceIds=[],i=0;i<e.pausedAtSourceIds.length;
2138++i)t.pausedAtSourceIds[i]=e.pausedAtSourceIds[i]>>>0}if(null!=e.numParticipants&&(t.numParticipants=e.numParticipants>>>0),e.supportedReceiveCodecIntersection){if(!Array.isArray(e.supportedReceiveCodecIntersection))throw TypeError(".SdkIndexFrame.supportedReceiveCodecIntersection: array expected");for(t.supportedReceiveCodecIntersection=[],i=0;i<e.supportedReceiveCodecIntersection.length;++i)switch(e.supportedReceiveCodecIntersection[i]){default:if("number"==typeof e.supportedReceiveCodecIntersection[i]){t.supportedReceiveCodecIntersection[i]=e.supportedReceiveCodecIntersection[i];break}case"VP8":case 1:t.supportedReceiveCodecIntersection[i]=1;break;case"H264_BASELINE_PROFILE":case 2:t.supportedReceiveCodecIntersection[i]=2;break;case"H264_CONSTRAINED_BASELINE_PROFILE":case 3:t.supportedReceiveCodecIntersection[i]=3;break;case"H264_MAIN_PROFILE":case 4:t.supportedReceiveCodecIntersection[i]=4;break;case"H264_HIGH_PROFILE":case 5:t.supportedReceiveCodecIntersection[i]=5;break;case"H264_CONSTRAINED_HIGH_PROFILE":case 6:t.supportedReceiveCodecIntersection[i]=6;break;case"VP9_PROFILE_0":case 8:t.supportedReceiveCodecIntersection[i]=8;break;case"AV1_MAIN_PROFILE":case 11:t.supportedReceiveCodecIntersection[i]=11}}return t},e.toObject=function(e,t){t||(t={});var i={};if((t.arrays||t.defaults)&&(i.sources=[],i.pausedAtSourceIds=[],i.supportedReceiveCodecIntersection=[]),t.defaults&&(i.atCapacity=!1,i.numParticipants=0),null!=e.atCapacity&&e.hasOwnProperty("atCapacity")&&(i.atCapacity=e.atCapacity),e.sources&&e.sources.length){i.sources=[];for(var n=0;n<e.sources.length;++n)i.sources[n]=c.SdkStreamDescriptor.toObject(e.sources[n],t)}
2138if(e.pausedAtSourceIds&&e.pausedAtSourceIds.length)for(i.pausedAtSourceIds=[],n=0;n<e.pausedAtSourceIds.length;++n)i.pausedAtSourceIds[n]=e.pausedAtSourceIds[n];if(null!=e.numParticipants&&e.hasOwnProperty("numParticipants")&&(i.numParticipants=e.numParticipants),e.supportedReceiveCodecIntersection&&e.supportedReceiveCodecIntersection.length)for(i.supportedReceiveCodecIntersection=[],n=0;n<e.supportedReceiveCodecIntersection.length;++n)i.supportedReceiveCodecIntersection[n]=t.enums===String?void 0===c.SdkVideoCodecCapability[e.supportedReceiveCodecIntersection[n]]?e.supportedReceiveCodecIntersection[n]:c.SdkVideoCodecCapability[e.supportedReceiveCodecIntersection[n]]:e.supportedReceiveCodecIntersection[n];return i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkIndexFrame"},e}(),c.SdkPauseResumeFrame=function(){function e(e){if(this.streamIds=[],this.groupIds=[],e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.streamIds=d.emptyArray,e.prototype.groupIds=d.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=a.create()),null!=e.streamIds&&e.streamIds.length)for(var i=0;i<e.streamIds.length;++i)t.uint32(8).uint32(e.streamIds[i]);if(null!=e.groupIds&&e.groupIds.length)for(i=0;i<e.groupIds.length;++i)t.uint32(16).uint32(e.groupIds[i]);return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkPauseResumeFrame;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:if(n.streamIds&&n.streamIds.length||(n.streamIds=[]),2==(7&r))for(var o=e.uint32()+e.pos;e.pos<o;)n.streamIds.push(e.uint32());else n.streamIds.push(e.uint32());break;case 2:if(n.groupIds&&n.groupIds.length||(n.groupIds=[]),2==(7&r))for(o=e.uint32()+e.pos;e.pos<o;)n.groupIds.push(e.uint32());else n.groupIds.push(e.uint32());break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.streamIds&&e.hasOwnProperty("streamIds")){if(!Array.isArray(e.streamIds))return"streamIds: array expected";for(var t=0;t<e.streamIds.length;++t)if(!d.isInteger(e.streamIds[t]))return"streamIds: integer[] expected"}if(null!=e.groupIds&&e.hasOwnProperty("groupIds")){if(!Array.isArray(e.groupIds))return"groupIds: array expected";for(t=0;t<e.groupIds.length;++t)if(!d.isInteger(e.groupIds[t]))return"groupIds: integer[] expected"}return null},e.fromObject=function(e){if(e instanceof c.SdkPauseResumeFrame)return e;var t=new c.SdkPauseResumeFrame;if(e.streamIds){if(!Array.isArray(e.streamIds))throw TypeError(".SdkPauseResumeFrame.streamIds: array expected");t.streamIds=[];for(var i=0;i<e.streamIds.length;++i)t.streamIds[i]=e.streamIds[i]>>>0}if(e.groupIds){if(!Array.isArray(e.groupIds))throw TypeError(".SdkPauseResumeFrame.groupIds: array expected");for(t.groupIds=[],i=0;i<e.groupIds.length;++i)t.groupIds[i]=e.groupIds[i]>>>0}return t},e.toObject=function(e,t){t||(t={});var i={};if((t.arrays||t.defaults)&&(i.streamIds=[],i.groupIds=[]),e.streamIds&&e.streamIds.length){i.streamIds=[];for(var n=0;n<e.streamIds.length;++n)i.streamIds[n]=e.streamIds[n]}if(e.groupIds&&e.groupIds.length)for(i.groupIds=[],n=0;n<e.groupIds.length;++n)i.groupIds[n]=e.groupIds[n];return i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkPauseResumeFrame"},e}(),c.SdkBitrateFrame=function(){function e(e){if(this.bitrates=[],e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.bitrates=d.emptyArray,e.prototype.serverAvailableOutgoingBitrate=0,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=a.create()),null!=e.bitrates&&e.bitrates.length)for(var i=0;i<e.bitrates.length;++i)c.SdkBitrate.encode(e.bitrates[i],t.uint32(10).fork()).ldelim();return null!=e.serverAvailableOutgoingBitrate&&Object.hasOwnProperty.call(e,"serverAvailableOutgoingBitrate")&&t.uint32(16).uint32(e.serverAvailableOutgoingBitrate),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkBitrateFrame;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.bitrates&&n.bitrates.length||(n.bitrates=[]),n.bitrates.push(c.SdkBitrate.decode(e,e.uint32()));break;case 2:n.serverAvailableOutgoingBitrate=e.uint32();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.bitrates&&e.hasOwnProperty("bitrates")){if(!Array.isArray(e.bitrates))return"bitrates: array expected";for(var t=0;t<e.bitrates.length;++t){var i=c.SdkBitrate.verify(e.bitrates[t]);if(i)return"bitrates."+i}}return null!=e.serverAvailableOutgoingBitrate&&e.hasOwnProperty("serverAvailableOutgoingBitrate")&&!d.isInteger(e.serverAvailableOutgoingBitrate)?"serverAvailableOutgoingBitrate: integer expected":null},e.fromObject=function(e){if(e instanceof c.SdkBitrateFrame)return e;var t=new c.SdkBitrateFrame;if(e.bitrates){if(!Array.isArray(e.bitrates))throw TypeError(".SdkBitrateFrame.bitrates: array expected");t.bitrates=[];for(var i=0;i<e.bitrates.length;++i){if("object"!=typeof e.bitrates[i])throw TypeError(".SdkBitrateFrame.bitrates: object expected");t.bitrates[i]=c.SdkBitrate.fromObject(e.bitrates[i])}}return null!=e.serverAvailableOutgoingBitrate&&(t.serverAvailableOutgoingBitrate=e.serverAvailableOutgoingBitrate>>>0),t},e.toObject=function(e,t){t||(t={});var i={};if((t.arrays||t.defaults)&&(i.bitrates=[]),t.defaults&&(i.serverAvailableOutgoingBitrate=0),e.bitrates&&e.bitrates.length){i.bitrates=[];for(var n=0;n<e.bitrates.length;++n)i.bitrates[n]=c.SdkBitrate.toObject(e.bitrates[n],t)}return null!=e.serverAvailableOutgoingBitrate&&e.hasOwnProperty("serverAvailableOutgoingBitrate")&&(i.serverAvailableOutgoingBitrate=e.serverAvailableOutgoingBitrate),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkBitrateFrame"},e}(),c.SdkStreamDescriptor=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.streamId=0,e.prototype.framerate=0,e.prototype.maxBitrateKbps=0,e.prototype.trackLabel="",e.prototype.groupId=0,e.prototype.avgBitrateBps=0,e.prototype.attendeeId="",e.prototype.mediaType=1,e.prototype.externalUserId="",e.prototype.width=0,e.prototype.height=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.streamId&&Object.hasOwnProperty.call(e,"streamId")&&t.uint32(8).uint32(e.streamId),null!=e.framerate&&Object.hasOwnProperty.call(e,"framerate")&&t.uint32(16).uint32(e.framerate),null!=e.maxBitrateKbps&&Object.hasOwnProperty.call(e,"maxBitrateKbps")&&t.uint32(24).uint32(e.max
2138BitrateKbps),null!=e.trackLabel&&Object.hasOwnProperty.call(e,"trackLabel")&&t.uint32(34).string(e.trackLabel),null!=e.groupId&&Object.hasOwnProperty.call(e,"groupId")&&t.uint32(48).uint32(e.groupId),null!=e.avgBitrateBps&&Object.hasOwnProperty.call(e,"avgBitrateBps")&&t.uint32(56).uint32(e.avgBitrateBps),null!=e.attendeeId&&Object.hasOwnProperty.call(e,"attendeeId")&&t.uint32(66).string(e.attendeeId),null!=e.mediaType&&Object.hasOwnProperty.call(e,"mediaType")&&t.uint32(72).int32(e.mediaType),null!=e.externalUserId&&Object.hasOwnProperty.call(e,"externalUserId")&&t.uint32(82).string(e.externalUserId),null!=e.width&&Object.hasOwnProperty.call(e,"width")&&t.uint32(88).uint32(e.width),null!=e.height&&Object.hasOwnProperty.call(e,"height")&&t.uint32(96).uint32(e.height),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkStreamDescriptor;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.streamId=e.uint32();break;case 2:n.framerate=e.uint32();break;case 3:n.maxBitrateKbps=e.uint32();break;case 4:n.trackLabel=e.string();break;case 6:n.groupId=e.uint32();break;case 7:n.avgBitrateBps=e.uint32();break;case 8:n.attendeeId=e.string();break;case 9:n.mediaType=e.int32();break;case 10:n.externalUserId=e.string();break;case 11:n.width=e.uint32();break;case 12:n.height=e.uint32();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.streamId&&e.hasOwnProperty("streamId")&&!d.isInteger(e.streamId))return"streamId: integer expected";if(null!=e.framerate&&e.hasOwnProperty("framerate")&&!d.isInteger(e.framerate))return"framerate: integer expected";if(null!=e.maxBitrateKbps&&e.hasOwnProperty("maxBitrateKbps")&&!d.isInteger(e.maxBitrateKbps))return"maxBitrateKbps: integer expected";if(null!=e.trackLabel&&e.hasOwnProperty("trackLabel")&&!d.isString(e.trackLabel))return"trackLabel: string expected";if(null!=e.groupId&&e.hasOwnProperty("groupId")&&!d.isInteger(e.groupId))return"groupId: integer expected";if(null!=e.avgBitrateBps&&e.hasOwnProperty("avgBitrateBps")&&!d.isInteger(e.avgBitrateBps))return"avgBitrateBps: integer expected";if(null!=e.attendeeId&&e.hasOwnProperty("attendeeId")&&!d.isString(e.attendeeId))return"attendeeId: string expected";if(null!=e.mediaType&&e.hasOwnProperty("mediaType"))switch(e.mediaType){default:return"mediaType: enum value expected";case 1:case 2:}return null!=e.externalUserId&&e.hasOwnProperty("externalUserId")&&!d.isString(e.externalUserId)?"externalUserId: string expected":null!=e.width&&e.hasOwnProperty("width")&&!d.isInteger(e.width)?"width: integer expected":null!=e.height&&e.hasOwnProperty("height")&&!d.isInteger(e.height)?"height: integer expected":null},e.fromObject=function(e){if(e instanceof c.SdkStreamDescriptor)return e;var t=new c.SdkStreamDescriptor;switch(null!=e.streamId&&(t.streamId=e.streamId>>>0),null!=e.framerate&&(t.framerate=e.framerate>>>0),null!=e.maxBitrateKbps&&(t.maxBitrateKbps=e.maxBitrateKbps>>>0),null!=e.trackLabel&&(t.trackLabel=String(e.trackLabel)),null!=e.groupId&&(t.groupId=e.groupId>>>0),null!=e.avgBitrateBps&&(t.avgBitrateBps=e.avgBitrateBps>>>0),null!=e.attendeeId&&(t.attendeeId=String(e.attendeeId)),e.mediaType){default:if("number"==typeof e.mediaType){t.mediaType=e.mediaType;break}break;case"AUDIO":case 1:t.mediaType=1;break;case"VIDEO":case 2:t.mediaType=2}return null!=e.externalUserId&&(t.externalUserId=String(e.externalUserId)),null!=e.width&&(t.width=e.width>>>0),null!=e.height&&(t.height=e.height>>>0),t},e.toObject=function(e,t){t||(t={});var i={};return t.defaults&&(i.streamId=0,i.framerate=0,i.maxBitrateKbps=0,i.trackLabel="",i.groupId=0,i.avgBitrateBps=0,i.attendeeId="",i.mediaType=t.enums===String?"AUDIO":1,i.externalUserId="",i.width=0,i.height=0),null!=e.streamId&&e.hasOwnProperty("streamId")&&(i.streamId=e.streamId),null!=e.framerate&&e.hasOwnProperty("framerate")&&(i.framerate=e.framerate),null!=e.maxBitrateKbps&&e.hasOwnProperty("maxBitrateKbps")&&(i.maxBitrateKbps=e.maxBitrateKbps),null!=e.trackLabel&&e.hasOwnProperty("trackLabel")&&(i.trackLabel=e.trackLabel),null!=e.groupId&&e.hasOwnProperty("groupId")&&(i.groupId=e.groupId),null!=e.avgBitrateBps&&e.hasOwnProperty("avgBitrateBps")&&(i.avgBitrateBps=e.avgBitrateBps),null!=e.attendeeId&&e.hasOwnProperty("attendeeId")&&(i.attendeeId=e.attendeeId),null!=e.mediaType&&e.hasOwnProperty("mediaType")&&(i.mediaType=t.enums===String?void 0===c.SdkStreamMediaType[e.mediaType]?e.mediaType:c.SdkStreamMediaType[e.mediaType]:e.mediaType),null!=e.externalUserId&&e.hasOwnProperty("externalUserId")&&(i.externalUserId=e.externalUserId),null!=e.width&&e.hasOwnProperty("width")&&(i.width=e.width),null!=e.height&&e.hasOwnProperty("height")&&(i.height=e.height),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkStreamDescriptor"},e}(),c.SdkStreamAllocation=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.trackLabel="",e.prototype.streamId=0,e.prototype.groupId=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.trackLabel&&Object.hasOwnProperty.call(e,"trackLabel")&&t.uint32(10).string(e.trackLabel),null!=e.streamId&&Object.hasOwnProperty.call(e,"streamId")&&t.uint32(16).uint32(e.streamId),null!=e.groupId&&Object.hasOwnProperty.call(e,"groupId")&&t.uint32(24).uint32(e.groupId),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkStreamAllocation;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.trackLabel=e.string();break;case 2:n.streamId=e.uint32();break;case 3:n.groupId=e.uint32();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.trackLabel&&e.hasOwnProperty("trackLabel")&&!d.isString(e.trackLabel)?"trackLabel: string expected":null!=e.streamId&&e.hasOwnProperty("streamId")&&!d.isInteger(e.streamId)?"streamId: integer expected":null!=e.groupId&&e.hasOwnProperty("groupId")&&!d.isInteger(e.groupId)?"groupId: integer expected":null},e.fromObject=function(e){if(e instanceof c.SdkStreamAllocation)return e;var t=new c.SdkStreamAllocation;return null!=e.trackLabel&&(t.trackLabel=String(e.trackLabel)),null!=e.streamId&&(t.streamId=e.streamId>>>0),null!=e.groupId&&(t.groupId=e.groupId>>>0),t},e.toObject=function(e,t){t||(t={});var i={};return t.defaults&&(i.trackLabel="",i.streamId=0,i.groupId=0),null!=e.trackLabel&&e.hasOwnProperty("trackLabel")&&(i.trackLabel=e.trackLabel),null!=e.streamId&&e.hasOwnProperty("streamId")&&(i.streamId=e.streamId),null!=e.groupId&&e.hasOwnProperty("groupId")&&(i.groupId=e.groupId),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkStreamAllocation"},e}(),c.SdkTrackMapping=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.streamId=0,e.prototype.ssrc=0,e.prototype.trackLabel="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.streamId&&Object.hasOwnProperty.call(e,"streamId")&&t.uint32(8).uint32(e.streamId),null!=e.ssrc&&Object.hasOwnProperty.call(e,"ssrc")&&t.uint32(16).uint32(e.ssrc),null!=e.trackLabel&&Object.hasOwnProperty.call(e,"trackLabel")&&t.uint32(26).string(e.trackLabel),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkTrackMapping;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.streamId=e.uint32();break;case 2:n.ssrc=e.uint32();break;case 3:n.trackLabel=e.string();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.streamId&&e.hasOwnProperty("streamId")&&!d.isInteger(e.streamId)?"streamId: integer expected":null!=e.ssrc&&e.hasOwnProperty("ssrc")&&!d.isInteger(e.ssrc)?"ssrc: integer expected":null!=e.trackLabel&&e.hasOwnProperty("trackLabel")&&!d.isString(e.trackLabel)?"trackLabel: string expected":null},e.fromObject=function(e){if(e instanceof c.SdkTrackMapping)return e;var t=new c.SdkTrackMapping;return null!=e.streamId&&(t.streamId=e.streamId>>>0),null!=e.ssrc&&(t.ssrc=e.ssrc>>>0),null!=e.trackLabel&&(t.trackLabel=String(e.trackLabel)),t},e.toObject=function(e,t){t||(t={});var i={};return t.defaults&&(i.streamId=0,i.ssrc=0,i.trackLabel=""),null!=e.streamId&&e.hasOwnProperty("streamId")&&(i.streamId=e.streamId),null!=e.ssrc&&e.hasOwnProperty("ssrc")&&(i.ssrc=e.ssrc),null!=e.trackLabel&&e.hasOwnProperty("trackLabel")&&(i.trackLabel=e.trackLabel),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkTrackMapping"},e}(),c.SdkBitrate=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.sourceStreamId=0,e.prototype.avgBitrateBps=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.sourceStreamId&&Object.hasOwnProperty.call(e,"sourceStreamId")&&t.uint32(8).uint32(e.sourceStreamId),null!=e.avgBitrateBps&&Object.hasOwnProperty.call(e,"avgBitrateBps")&&t.uint32(16).uint32(e.avgBitrateBps),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkBitrate;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.sourceStreamId=e.uint32();break;case 2:n.avgBitrateBps=e.uint32();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.sourceStreamId&&e.hasOwnProperty("sourceStreamId")&&!d.isInteger(e.sourceStreamId)?"sourceStreamId: integer expected":null!=e.avgBitrateBps&&e.hasOwnProperty("avgBitrateBps")&&!d.isInteger(e.avgBitrateBps)?"avgBitrateBps: integer expected":null},e.fromObject=function(e){if(e instanceof c.SdkBitrate)return e;var t=new c.SdkBitrate;return null!=e.sourceStreamId&&(t.sourceStreamId=e.sourceStreamId>>>0),null!=e.avgBitrateBps&&(t.avgBitrateBps=e.avgBitrateBps>>>0),t},e.toObject=function(e,t){t||(t={});var i={};return t.defaults&&(i.sourceStreamId=0,i.avgBitrateBps=0),null!=e.sourceStreamId&&e.hasOwnProperty("sourceStreamId")&&(i.sourceStreamId=e.sourceStreamId),null!=e.avgBitrateBps&&e.hasOwnProperty("avgBitrateBps")&&(i.avgBitrateBps=e.avgBitrateBps),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkBitrate"},e}(),c.SdkAudioControlFrame=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.muted=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.muted&&Object.hasOwnProperty.call(e,"muted")&&t.uint32(8).bool(e.muted),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkAudioControlFrame;e.pos<i;){var r=e.uint32();r>>>
21383==1?n.muted=e.bool():e.skipType(7&r)}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.muted&&e.hasOwnProperty("muted")&&"boolean"!=typeof e.muted?"muted: boolean expected":null},e.fromObject=function(e){if(e instanceof c.SdkAudioControlFrame)return e;var t=new c.SdkAudioControlFrame;return null!=e.muted&&(t.muted=Boolean(e.muted)),t},e.toObject=function(e,t){t||(t={});var i={};return t.defaults&&(i.muted=!1),null!=e.muted&&e.hasOwnProperty("muted")&&(i.muted=e.muted),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkAudioControlFrame"},e}(),c.SdkAudioMetadataFrame=function(){function e(e){if(this.attendeeStates=[],e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.attendeeStates=d.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=a.create()),null!=e.attendeeStates&&e.attendeeStates.length)for(var i=0;i<e.attendeeStates.length;++i)c.SdkAudioAttendeeState.encode(e.attendeeStates[i],t.uint32(10).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkAudioMetadataFrame;e.pos<i;){var r=e.uint32();r>>>3==1?(n.attendeeStates&&n.attendeeStates.length||(n.attendeeStates=[]),n.attendeeStates.push(c.SdkAudioAttendeeState.decode(e,e.uint32()))):e.skipType(7&r)}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.attendeeStates&&e.hasOwnProperty("attendeeStates")){if(!Array.isArray(e.attendeeStates))return"attendeeStates: array expected";for(var t=0;t<e.attendeeStates.length;++t){var i=c.SdkAudioAttendeeState.verify(e.attendeeStates[t]);if(i)return"attendeeStates."+i}}return null},e.fromObject=function(e){if(e instanceof c.SdkAudioMetadataFrame)return e;var t=new c.SdkAudioMetadataFrame;if(e.attendeeStates){if(!Array.isArray(e.attendeeStates))throw TypeError(".SdkAudioMetadataFrame.attendeeStates: array expected");t.attendeeStates=[];for(var i=0;i<e.attendeeStates.length;++i){if("object"!=typeof e.attendeeStates[i])throw TypeError(".SdkAudioMetadataFrame.attendeeStates: object expected");t.attendeeStates[i]=c.SdkAudioAttendeeState.fromObject(e.attendeeStates[i])}}return t},e.toObject=function(e,t){t||(t={});var i={};if((t.arrays||t.defaults)&&(i.attendeeStates=[]),e.attendeeStates&&e.attendeeStates.length){i.attendeeStates=[];for(var n=0;n<e.attendeeStates.length;++n)i.attendeeStates[n]=c.SdkAudioAttendeeState.toObject(e.attendeeStates[n],t)}return i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkAudioMetadataFrame"},e}(),c.SdkAudioAttendeeState=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.audioStreamId=0,e.prototype.volume=0,e.prototype.muted=!1,e.prototype.signalStrength=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.audioStreamId&&Object.hasOwnProperty.call(e,"audioStreamId")&&t.uint32(8).uint32(e.audioStreamId),null!=e.volume&&Object.hasOwnProperty.call(e,"volume")&&t.uint32(16).uint32(e.volume),null!=e.muted&&Object.hasOwnProperty.call(e,"muted")&&t.uint32(24).bool(e.muted),null!=e.signalStrength&&Object.hasOwnProperty.call(e,"signalStrength")&&t.uint32(32).uint32(e.signalStrength),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkAudioAttendeeState;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.audioStreamId=e.uint32();break;case 2:n.volume=e.uint32();break;case 3:n.muted=e.bool();break;case 4:n.signalStrength=e.uint32();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.audioStreamId&&e.hasOwnProperty("audioStreamId")&&!d.isInteger(e.audioStreamId)?"audioStreamId: integer expected":null!=e.volume&&e.hasOwnProperty("volume")&&!d.isInteger(e.volume)?"volume: integer expected":null!=e.muted&&e.hasOwnProperty("muted")&&"boolean"!=typeof e.muted?"muted: boolean expected":null!=e.signalStrength&&e.hasOwnProperty("signalStrength")&&!d.isInteger(e.signalStrength)?"signalStrength: integer expected":null},e.fromObject=function(e){if(e instanceof c.SdkAudioAttendeeState)return e;var t=new c.SdkAudioAttendeeState;return null!=e.audioStreamId&&(t.audioStreamId=e.audioStreamId>>>0),null!=e.volume&&(t.volume=e.volume>>>0),null!=e.muted&&(t.muted=Boolean(e.muted)),null!=e.signalStrength&&(t.signalStrength=e.signalStrength>>>0),t},e.toObject=function(e,t){t||(t={});var i={};return t.defaults&&(i.audioStreamId=0,i.volume=0,i.muted=!1,i.signalStrength=0),null!=e.audioStreamId&&e.hasOwnProperty("audioStreamId")&&(i.audioStreamId=e.audioStreamId),null!=e.volume&&e.hasOwnProperty("volume")&&(i.volume=e.volume),null!=e.muted&&e.hasOwnProperty("muted")&&(i.muted=e.muted),null!=e.signalStrength&&e.hasOwnProperty("signalStrength")&&(i.signalStrength=e.signalStrength),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkAudioAttendeeState"},e}(),c.SdkAudioStreamIdInfoFrame=function(){function e(e){if(this.streams=[],e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.streams=d.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=a.create()),null!=e.streams&&e.streams.length)for(var i=0;i<e.streams.length;++i)c.SdkAudioStreamIdInfo.encode(e.streams[i],t.uint32(10).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkAudioStreamIdInfoFrame;e.pos<i;){var r=e.uint32();r>>>3==1?(n.streams&&n.streams.length||(n.streams=[]),n.streams.push(c.SdkAudioStreamIdInfo.decode(e,e.uint32()))):e.ski
2138pType(7&r)}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.streams&&e.hasOwnProperty("streams")){if(!Array.isArray(e.streams))return"streams: array expected";for(var t=0;t<e.streams.length;++t){var i=c.SdkAudioStreamIdInfo.verify(e.streams[t]);if(i)return"streams."+i}}return null},e.fromObject=function(e){if(e instanceof c.SdkAudioStreamIdInfoFrame)return e;var t=new c.SdkAudioStreamIdInfoFrame;if(e.streams){if(!Array.isArray(e.streams))throw TypeError(".SdkAudioStreamIdInfoFrame.streams: array expected");t.streams=[];for(var i=0;i<e.streams.length;++i){if("object"!=typeof e.streams[i])throw TypeError(".SdkAudioStreamIdInfoFrame.streams: object expected");t.streams[i]=c.SdkAudioStreamIdInfo.fromObject(e.streams[i])}}return t},e.toObject=function(e,t){t||(t={});var i={};if((t.arrays||t.defaults)&&(i.streams=[]),e.streams&&e.streams.length){i.streams=[];for(var n=0;n<e.streams.length;++n)i.streams[n]=c.SdkAudioStreamIdInfo.toObject(e.streams[n],t)}return i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkAudioStreamIdInfoFrame"},e}(),c.SdkAudioStreamIdInfo=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.audioStreamId=0,e.prototype.attendeeId="",e.prototype.muted=!1,e.prototype.externalUserId="",e.prototype.dropped=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.audioStreamId&&Object.hasOwnProperty.call(e,"audioStreamId")&&t.uint32(8).uint32(e.audioStreamId),null!=e.attendeeId&&Object.hasOwnProperty.call(e,"attendeeId")&&t.uint32(18).string(e.attendeeId),null!=e.muted&&Object.hasOwnProperty.call(e,"muted")&&t.uint32(24).bool(e.muted),null!=e.externalUserId&&Object.hasOwnProperty.call(e,"externalUserId")&&t.uint32(34).string(e.externalUserId),null!=e.dropped&&Object.hasOwnProperty.call(e,"dropped")&&t.uint32(40).bool(e.dropped),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkAudioStreamIdInfo;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.audioStreamId=e.uint32();break;case 2:n.attendeeId=e.string();break;case 3:n.muted=e.bool();break;case 4:n.externalUserId=e.string();break;case 5:n.dropped=e.bool();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.audioStreamId&&e.hasOwnProperty("audioStreamId")&&!d.isInteger(e.audioStreamId)?"audioStreamId: integer expected":null!=e.attendeeId&&e.hasOwnProperty("attendeeId")&&!d.isString(e.attendeeId)?"attendeeId: string expected":null!=e.muted&&e.hasOwnProperty("muted")&&"boolean"!=typeof e.muted?"muted: boolean expected":null!=e.externalUserId&&e.hasOwnProperty("externalUserId")&&!d.isString(e.externalUserId)?"externalUserId: string expected":null!=e.dropped&&e.hasOwnProperty("dropped")&&"boolean"!=typeof e.dropped?"dropped: boolean expected":null},e.fromObject=function(e){if(e instanceof c.SdkAudioStreamIdInfo)return e;var t=new c.SdkAudioStreamIdInfo;return null!=e.audioStreamId&&(t.audioStreamId=e.audioStreamId>>>0),null!=e.attendeeId&&(t.attendeeId=String(e.attendeeId)),null!=e.muted&&(t.muted=Boolean(e.muted)),null!=e.externalUserId&&(t.externalUserId=String(e.externalUserId)),null!=e.dropped&&(t.dropped=Boolean(e.dropped)),t},e.toObject=function(e,t){t||(t={});var i={};return t.defaults&&(i.audioStreamId=0,i.attendeeId="",i.muted=!1,i.externalUserId="",i.dropped=!1),null!=e.audioStreamId&&e.hasOwnProperty("audioStreamId")&&(i.audioStreamId=e.audioStreamId),null!=e.attendeeId&&e.hasOwnProperty("attendeeId")&&(i.attendeeId=e.attendeeId),null!=e.muted&&e.hasOwnProperty("muted")&&(i.muted=e.muted),null!=e.externalUserId&&e.hasOwnProperty("externalUserId")&&(i.externalUserId=e.externalUserId),null!=e.dropped&&e.hasOwnProperty("dropped")&&(i.dropped=e.dropped),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkAudioStreamIdInfo"},e}(),c.SdkPingPongType=function(){var e={},t=Object.create(e);return t[e[1]="PING"]=1,t[e[2]="PONG"]=2,t}(),c.SdkPingPongFrame=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.type=1,e.prototype.pingId=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),t.uint32(8).int32(e.type),t.uint32(16).uint32(e.pingId),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkPingPongFrame;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.type=e.int32();break;case 2:n.pingId=e.uint32();break;default:e.skipType(7&r)}}if(!n.hasOwnProperty("type"))throw d.ProtocolError("missing required 'type'",{instance:n});if(!n.hasOwnProperty("pingId"))throw d.ProtocolError("missing required 'pingId'",{instance:n});return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";switch(e.type){default:return"type: enum value expected";case 1:case 2:}return d.isInteger(e.pingId)?null:"pingId: integer expected"},e.fromObject=function(e){if(e instanceof c.SdkPingPongFrame)return e;var t=new c.SdkPingPongFrame;switch(e.type){default:if("number"==typeof e.type){t.type=e.type;break}break;case"PING":case 1:t.type=1;break;case"PONG":case 2:t.type=2}return null!=e.pingId&&(t.pingId=e.pingId>>>0),t},e.toObject=function(e,t){t||(t={});var i={};return t.defaults&&(i.type=t.enums===String?"PING":1,i.pingId=0),null!=e.type&&e.hasOwnProperty("type")&&(i.type=t.enums===String?void 0===c.SdkPingPongType[e.type]?e.type:c.SdkPingPongType[e.type]:e.type),null!=e.pingId&&e.hasOwnProperty("pingId")&&(i.pingId=e.pingId),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkPingPongFrame"},e}(),c.SdkAudioStatusFrame=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.audioStatus=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.audioStatus&&Object.hasOwnProperty.call(e,"audioStatus")&&t.uint32(8).uint32(e.audioStatus),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkAudioStatusFrame;e.pos<i;){var r=e.uint32();r>>>
21383==1?n.audioStatus=e.uint32():e.skipType(7&r)}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.audioStatus&&e.hasOwnProperty("audioStatus")&&!d.isInteger(e.audioStatus)?"audioStatus: integer expected":null},e.fromObject=function(e){if(e instanceof c.SdkAudioStatusFrame)return e;var t=new c.SdkAudioStatusFrame;return null!=e.audioStatus&&(t.audioStatus=e.audioStatus>>>0),t},e.toObject=function(e,t){t||(t={});var i={};return t.defaults&&(i.audioStatus=0),null!=e.audioStatus&&e.hasOwnProperty("audioStatus")&&(i.audioStatus=e.audioStatus),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkAudioStatusFrame"},e}(),c.SdkMetric=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.type=1,e.prototype.value=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(8).int32(e.type),null!=e.value&&Object.hasOwnProperty.call(e,"value")&&t.uint32(17).double(e.value),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkMetric;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.type=e.int32();break;case 2:n.value=e.double();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.type&&e.hasOwnProperty("type"))switch(e.type){default:return"type: enum value expected";case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 48:case 49:case 60:case 64:case 66:case
213869:case 72:case 86:case 87:case 88:case 89:case 90:case 91:case 92:case 93:case 94:case 95:case 96:case 97:case 98:case 99:case 100:case 101:case 102:case 103:case 104:case 105:case 106:case 107:case 108:}return null!=e.value&&e.hasOwnProperty("value")&&"number"!=typeof e.value?"value: number expected":null},e.fromObject=function(e){if(e instanceof c.SdkMetric)return e;var t=new c.SdkMetric;switch(e.type){default:if("number"==typeof e.type){t.type=e.type;break}break;case"VIDEO_ACTUAL_ENCODER_BITRATE":case 1:t.type=1;break;case"VIDEO_AVAILABLE_SEND_BANDWIDTH":case 2:t.type=2;break;case"VIDEO_RETRANSMIT_BITRATE":case 3:t.type=3;break;case"VIDEO_AVAILABLE_RECEIVE_BANDWIDTH":case 4:t.type=4;break;case"VIDEO_TARGET_ENCODER_BITRATE":case 5:t.type=5;break;case"VIDEO_BUCKET_DELAY_MS":case 6:t.type=6;break;case"STUN_RTT_MS":case 7:t.type=7;break;case"SOCKET_DISCARDED_PPS":case 8:t.type=8;break;case"RTC_MIC_JITTER_MS":case 9:t.type=9;break;case"RTC_MIC_PPS":case 10:t.type=10;break;case"RTC_MIC_FRACTION_PACKET_LOST_PERCENT":case 11:t.type=11;break;case"RTC_MIC_BITRATE":case 12:t.type=12;break;case"RTC_MIC_RTT_MS":case 13:t.type=13;break;case"RTC_SPK_PPS":case 14:t.type=14;break;case"RTC_SPK_FRACTION_PACKET_LOST_PERCENT":case 15:t.type=15;break;case"RTC_SPK_JITTER_MS":case 16:t.type=16;break;case"RTC_SPK_FRACTION_DECODER_LOSS_PERCENT":case 17:t.type=17;break;case"RTC_SPK_BITRATE":case 18:t.type=18;break;case"RTC_SPK_CURRENT_DELAY_MS":case 19:t.type=19;break;case"RTC_SPK_JITTER_BUFFER_MS":case 20:t.type=20;break;case"VIDEO_SENT_RTT_MS":case 21:t.type=21;break;case"VIDEO_ENCODE_USAGE_PERCENT":case 22:t.type=22;break;case"VIDEO_NACKS_RECEIVED":case 23:t.type=23;break;case"VIDEO_PLIS_RECEIVED":case 24:t.type=24;break;case"VIDEO_ENCODE_MS":case 25:t.type=25;break;case"VIDEO_INPUT_FPS":case 26:t.type=26;break;case"VIDEO_ENCODE_FPS":case 27:t.type=27;break;case"VIDEO_SENT_FPS":case 28:t.type=28;break;case"VIDEO_FIRS_RECEIVED":case 29:t.type=29;break;case"VIDEO_SENT_PPS":case 30:t.type=30;break;case"VIDEO_SENT_FRACTION_PACKET_LOST_PERCENT":case 31:t.type=31;break;case"VIDEO_SENT_BITRATE":case 32:t.type=32;break;case"VIDEO_DROPPED_FPS":case 33:t.type=33;break;case"VIDEO_TARGET_DELAY_MS":case 34:t.type=34;break;case"VIDEO_DECODE_MS":case 35:t.type=35;break;case"VIDEO_OUTPUT_FPS":case 36:t.type=36;break;case"VIDEO_RECEIVED_PPS":case 37:t.type=37;break;case"VIDEO_RECEIVED_FRACTION_PACKET_LOST_PERCENT":case 38:t.type=38;break;case"VIDEO_RENDER_DELAY_MS":case 39:t.type=39;break;case"VIDEO_RECEIVED_FPS":case 40:t.type=40;break;case"VIDEO_DECODE_FPS":case 41:t.type=41;break;case"VIDEO_NACKS_SENT":case 42:t.type=42;break;case"VIDEO_FIRS_SENT":case 43:t.type=43;break;case"VIDEO_RECEIVED_BITRATE":case 44:t.type=44;break;case"VIDEO_CURRENT_DELAY_MS":case 45:t.type=45;break;case"VIDEO_JITTER_BUFFER_MS":case 46:t.type=46;break;case"VIDEO_DISCARDED_PPS":case 47:t.type=47;break;case"VIDEO_PLIS_SENT":case 48:t.type=48;break;case"VIDEO_RECEIVED_JITTER_MS":case 49:t.type=49;break;case"VIDEO_INPUT_HEIGHT":case 60:t.type=60;break;case"VIDEO_ENCODE_HEIGHT":case 64:t.type=64;break;case"VIDEO_SENT_QP_SUM":case 66:t.type=66;break;case"VIDEO_DECODE_HEIGHT":case 69:t.type=69;break;case"VIDEO_RECEIVED_QP_SUM":case 72:t.type=72;break;case"VIDEO_ENCODE_WIDTH":case 86:t.type=86;break;case"VIDEO_DECODE_WIDTH":case 87:t.type=87;break;case"VIDEO_ENCODER_IS_HARDWARE":case 88:t.type=88;break;case"VIDEO_DECODER_IS_HARDWARE":case 89:t.type=89;break;case"VIDEO_FREEZE_COUNT":case 90:t.type=90;break;case"VIDEO_FREEZE_DURATION":case 91:t.type=91;break;case"VIDEO_PAUSE_COUNT":case 92:t.type=92;break;case"VIDEO_PAUSE_DURATION":case 93:t.type=93;break;case"VIDEO_QUALITY_REASON":case 94:t.type=94;break;case"VIDEO_PROCESSING_TIME":case 95:t.type=95;break;case"RTC_SPK_AUDIO_LEVEL":case 96:t.type=96;break;case"RTC_MIC_AUDIO_LEVEL":case 97:t.type=97;break;case"RTC_SPK_TOTAL_LOST":case 98:t.type=98;break;case"RTC_SPK_TOTAL_EXPECTED":case 99:t.type=99;break;case"RTC_SPK_TOTAL_RECOVERED_RED":case 100:t.type=100;break;case"RTC_SPK_TOTAL_RECOVERED_FEC":case 101:t.type=101;break;case"VIDEO_QUALITY_LIMITATION_DURATION_CPU":case 102:t.type=102;break;case"VIDEO_CODEC_DEGRADATION_HIGH_ENCODE_CPU":case 103:t.type=103;break;case"VIDEO_CODEC_DEGRADATION_ENCODE_FAILURE":case 104:t.type=104;break;case"VIDEO_RENDER_HEIGHT":case 105:t.type=105;break;case"VIDEO_RENDER_WIDTH":case 106:t.type=106;break;case"VIDEO_INPUT_WIDTH":case 107:t.type=107;break;case"VIDEO_SENT_JITTER_MS":case 108:t.type=108}return null!=e.value&&(t.value=Number(e.value)),t},e.toObject=function(e,t){t||(t={});var i={};return t.defaults&&(i.type=t.enums===String?"VIDEO_ACTUAL_ENCODER_BITRATE":1,i.value=0),null!=e.type&&e.hasOwnProperty("type")&&(i.type=t.enums===String?void 0===c.SdkMetric.Type[e.type]?e.type:c.SdkMetric.Type[e.type]:e.type),null!=e.value&&e.hasOwnProperty("value")&&(i.value=t.json&&!isFinite(e.value)?String(e.value):e.value),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkMetric"},e.Type=function(){var e={},t=Object.create(e);return t[e[1]="VIDEO_ACTUAL_ENCODER_BITRATE"]=1,t[e[2]="VIDEO_AVAILABLE_SEND_BANDWIDTH"]=2,t[e[3]="VIDEO_RETRANSMIT_BITRATE"]=3,t[e[4]="VIDEO_AVAILABLE_RECEIVE_BANDWIDTH"]=4,t[e[5]="VIDEO_TARGET_ENCODER_BITRATE"]=5,t[e[6]="VIDEO_BUCKET_DELAY_MS"]=6,t[e[7]="STUN_RTT_MS"]=7,t[e[8]="SOCKET_DISCARDED_PPS"]=8,t[e[9]="RTC_MIC_JITTER_MS"]=9,t[e[10]="RTC_MIC_PPS"]=10,t[e[11]="RTC_MIC_FRACTION_PACKET_LOST_PERCENT"]=11,t[e[12]="RTC_MIC_BITRATE"]=12,t[e[13]="RTC_MIC_RTT_MS"]=13,t[e[14]="RTC_SPK_PPS"]=14,t[e[15]="RTC_SPK_FRACTION_PACKET_LOST_PERCENT"]=15,t[e[16]="RTC_SPK_JITTER_MS"]=16,t[e[17]="RTC_SPK_FRACTION_DECODER_LOSS_PERCENT"]=17,t[e[18]="RTC_SPK_BITRATE"]=18,t[e[19]="RTC_SPK_CURRENT_DELAY_MS"]=19,t[e[20]="RTC_SPK_JITTER_BUFFER_MS"]=20,t[e[21]="VIDEO_SENT_RTT_MS"]=21,t[e[22]="VIDEO_ENCODE_USAGE_PERCENT"]=22,t[e[23]="VIDEO_NACKS_RECEIVED"]=23,t[e[24]="VIDEO_PLIS_RECEIVED"]=24,t[e[25]="VIDEO_ENCODE_MS"]=25,t[e[26]="VIDEO_INPUT_FPS"]=26,t[e[27]="VIDEO_ENCODE_FPS"]=27,t[e[28]="VIDEO_SENT_FPS"]=28,t[e[29]="VIDEO_FIRS_RECEIVED"]=29,t[e[30]="VIDEO_SENT_PPS"]=30,t[e[31]="VIDEO_SENT_FRACTION_PACKET_LOST_PERCENT"]=31,t[e[32]="VIDEO_SENT_BITRATE"]=32,t[e[33]="VIDEO_DROPPED_FPS"]=33,t[e[34]="VIDEO_TARGET_DELAY_MS"]=34,t[e[35]="VIDEO_DECODE_MS"]=35,t[e[36]="VIDEO_OUTPUT_FPS"]=36,t[e[37]="VIDEO_RECEIVED_PPS"]=37,t[e[38]="VIDEO_RECEIVED_FRACTION_PACKET_LOST_PERCENT"]=38,t[e[39]="VIDEO_RENDER_DELAY_MS"]=39,t[e[40]="VIDEO_RECEIVED_FPS"]=40,t[e[41]="VIDEO_DECODE_FPS"]=41,t[e[42]="VIDEO_NACKS_SENT"]=42,t[e[43]="VIDEO_FIRS_SENT"]=43,t[e[44]="VIDEO_RECEIVED_BITRATE"]=44,t[e[45]="VIDEO_CURRENT_DELAY_MS"]=45,t[e[46]="VIDEO_JITTER_BUFFER_MS"]=46,t[e[47]="VIDEO_DISCARDED_PPS"]=47,t[e[48]="VIDEO_PLIS_SENT"]=48,t[e[49]="VIDEO_RECEIVED_JITTER_MS"]=49,t[e[60]="VIDEO_INPUT_HEIGHT"]=60,t[e[64]="VIDEO_ENCODE_HEIGHT"]=64,t[e[66]="VIDEO_SENT_QP_SUM"]=66,t[e[69]="VIDEO_DECODE_HEIGHT"]=69,t[e[72]="VIDEO_RECEIVED_QP_SUM"]=72,t[e[86]="VIDEO_ENCODE_WIDTH"]=86,t[e[87]="VIDEO_DECODE_WIDTH"]=87,t[e[88]="VIDEO_ENCODER_IS_HARDWARE"]=88,t[e[89]="VIDEO_DECODER_IS_HARDWARE"]=89,t[e[90]="VIDEO_FREEZE_COUNT"]=90,t[e[91]="VIDEO_FREEZE_DURATION"]=91,t[e[92]="VIDEO_PAUSE_COUNT"]=92,t[e[93]="VIDEO_PAUSE_DURATION"]=93,t[e[94]="VIDEO_QUALITY_REASON"]=94,t[e[95]="VIDEO_PROCESSING_TIME"]=95,t[e[96]="RTC_SPK_AUDIO_LEVEL"]=96,t[e[97]="RTC_MIC_AUDIO_LEVEL"]=97,t[e[98]="RTC_SPK_TOTAL_LOST"]=98,t[e[99]="RTC_SPK_TOTAL_EXPECTED"]=99,t[e[100]="RTC_SPK_TOTAL_RECOVERED_RED"]=100,t[e[101]="RTC_SPK_TOTAL_RECOVERED_FEC"]=101,t[e[102]="VIDEO_QUALITY_LIMITATION_DURATION_CPU"]=102,t[e[103]="VIDEO_CODEC_DEGRADATION_HIGH_ENCODE_CPU"]=103,t[e[104]="VIDEO_CODEC_DEGRADATION_ENCODE_FAILURE"]=104,t[e[105]="VIDEO_RENDER_HEIGHT"]=105,t[e[106]="VIDEO_RENDER_WIDTH"]=106,t[e[107]="VIDEO_INPUT_WIDTH"]=107,t[e[108]="VIDEO_SENT_JITTER_MS"]=108,t}(),e}(),c.SdkStreamMetricFrame=function(){function e(e){if(this.metrics=[],this.dimensions=[],e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.streamId=0,e.prototype.groupId=0,e.prototype.metrics=d.emptyArray,e.prototype.dimensions=d.emptyArray,e.prototype.mediaType=1,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=a.create()),null!=e.streamId&&Object.hasOwnProperty.call(e,"streamId")&&t.uint32(24).uint32(e.streamId),null!=e.groupId&&Object.hasOwnProperty.call(e,"groupId")&&t.uint32(32).uint32(e.groupId),null!=e.metrics&&e.metrics.length)for(var i=0;i<e.metrics.length;++i)c.SdkMetric.encode(e.metrics[i],t.uint32(42).fork()).ldelim();if(null!=e.dimensions&&e.dimensions.length)for(i=0;i<e.dimensions.length;++i)c.SdkStreamDimension.encode(e.dimensions[i],t.uint32(50).fork()).ldelim();return null!=e.mediaType&&Object.hasOwnProperty.call(e,"mediaType")&&t.uint32(56).int32(e.mediaType),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkStreamMetricFrame;e.pos<i;){var r=e.uint32();switch(r>>>3){case 3:n.streamId=e.uint32();break;case 4:n.groupId=e.uint32();break;case 5:n.metrics&&n.metrics.length||(n.metrics=[]),n.metrics.push(c.SdkMetric.decode(e,e.uint32()));break;case 6:n.dimensions&&n.dimensions.length||(n.dimensions=[]),n.dimensions.push(c.SdkStreamDimension.decode(e,e.uint32()));break;case 7:n.mediaType=e.int32();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.streamId&&e.hasOwnProperty("streamId")&&!d.isInteger(e.streamId))return"streamId: integer expected";if(null!=e.groupId&&e.hasOwnProperty("groupId")&&!d.isInteger(e.groupId))return"groupId: integer expected";if(null!=e.metrics&&e.hasOwnProperty("metrics")){if(!Array.isArray(e.metrics))return"metrics: array expected";for(var t=0;t<e.metrics.length;++t)if(i=c.SdkMetric.verify(e.metrics[t]))return"metrics."+i}if(null!=e.dimensions&&e.hasOwnProperty("dimensions")){if(!Array.isArray(e.dimensions))return"dimensions: array expected";for(t=0;t<e.dimensions.length;++t){var i;if(i=c.SdkStreamDimension.verify(e.dimensions[t]))return"dimensions."+i}}if(null!=e.mediaType&&e.hasOwnProperty("mediaType"))switch(e.mediaType){default:return"mediaType: enum value expected";case 1:case 2:}return null},e.fromObject=function(e){if(e instanceof c.SdkStreamMetricFrame)return e;var t=new c.SdkStreamMetricFrame;if(null!=e.streamId&&(t.streamId=e.streamId>>>0),null!=e.groupId&&(t.groupId=e.groupId>>>
21380),e.metrics){if(!Array.isArray(e.metrics))throw TypeError(".SdkStreamMetricFrame.metrics: array expected");t.metrics=[];for(var i=0;i<e.metrics.length;++i){if("object"!=typeof e.metrics[i])throw TypeError(".SdkStreamMetricFrame.metrics: object expected");t.metrics[i]=c.SdkMetric.fromObject(e.metrics[i])}}if(e.dimensions){if(!Array.isArray(e.dimensions))throw TypeError(".SdkStreamMetricFrame.dimensions: array expected");for(t.dimensions=[],i=0;i<e.dimensions.length;++i){if("object"!=typeof e.dimensions[i])throw TypeError(".SdkStreamMetricFrame.dimensions: object expected");t.dimensions[i]=c.SdkStreamDimension.fromObject(e.dimensions[i])}}switch(e.mediaType){default:if("number"==typeof e.mediaType){t.mediaType=e.mediaType;break}break;case"AUDIO":case 1:t.mediaType=1;break;case"VIDEO":case 2:t.mediaType=2}return t},e.toObject=function(e,t){t||(t={});var i={};if((t.arrays||t.defaults)&&(i.metrics=[],i.dimensions=[]),t.defaults&&(i.streamId=0,i.groupId=0,i.mediaType=t.enums===String?"AUDIO":1),null!=e.streamId&&e.hasOwnProperty("streamId")&&(i.streamId=e.streamId),null!=e.groupId&&e.hasOwnProperty("groupId")&&(i.groupId=e.groupId),e.metrics&&e.metrics.length){i.metrics=[];for(var n=0;n<e.metrics.length;++n)i.metrics[n]=c.SdkMetric.toObject(e.metrics[n],t)}if(e.dimensions&&e.dimensions.length)for(i.dimensions=[],n=0;n<e.dimensions.length;++n)i.dimensions[n]=c.SdkStreamDimension.toObject(e.dimensions[n],t);return null!=e.mediaType&&e.hasOwnProperty("mediaType")&&(i.mediaType=t.enums===String?void 0===c.SdkStreamMediaType[e.mediaType]?e.mediaType:c.SdkStreamMediaType[e.mediaType]:e.mediaType),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkStreamMetricFrame"},e}(),c.SdkClientMetricFrame=function(){function e(e){if(this.globalMetrics=[],this.streamMetricFrames=[],e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.globalMetrics=d.emptyArray,e.prototype.streamMetricFrames=d.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=a.create()),null!=e.globalMetrics&&e.globalMetrics.length)for(var i=0;i<e.globalMetrics.length;++i)c.SdkMetric.encode(e.globalMetrics[i],t.uint32(10).fork()).ldelim();if(null!=e.streamMetricFrames&&e.streamMetricFrames.length)for(i=0;i<e.streamMetricFrames.length;++i)c.SdkStreamMetricFrame.encode(e.streamMetricFrames[i],t.uint32(18).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkClientMetricFrame;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.globalMetrics&&n.globalMetrics.length||(n.globalMetrics=[]),n.globalMetrics.push(c.SdkMetric.decode(e,e.uint32()));break;case 2:n.streamMetricFrames&&n.streamMetricFrames.length||(n.streamMetricFrames=[]),n.streamMetricFrames.push(c.SdkStreamMetricFrame.decode(e,e.uint32()));break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.globalMetrics&&e.hasOwnProperty("globalMetrics")){if(!Array.isArray(e.globalMetrics))return"globalMetrics: array expected";for(var t=0;t<e.globalMetrics.length;++t)if(i=c.SdkMetric.verify(e.globalMetrics[t]))return"globalMetrics."+i}if(null!=e.streamMetricFrames&&e.hasOwnProperty("streamMetricFrames")){if(!Array.isArray(e.streamMetricFrames))return"streamMetricFrames: array expected";for(t=0;t<e.streamMetricFrames.length;++t){var i;if(i=c.SdkStreamMetricFrame.verify(e.streamMetricFrames[t]))return"streamMetricFrames."+i}}return null},e.fromObject=function(e){if(e instanceof c.SdkClientMetricFrame)return e;var t=new c.SdkClientMetricFrame;if(e.globalMetrics){if(!Array.isArray(e.globalMetrics))throw TypeError(".SdkClientMetricFrame.globalMetrics: array expected");t.globalMetrics=[];for(var i=0;i<e.globalMetrics.length;++i){if("object"!=typeof e.globalMetrics[i])throw TypeError(".SdkClientMetricFrame.globalMetrics: object expected");t.globalMetrics[i]=c.SdkMetric.fromObject(e.globalMetrics[i])}}if(e.streamMetricFrames){if(!Array.isArray(e.streamMetricFrames))throw TypeError(".SdkClientMetricFrame.streamMetricFrames: array expected");for(t.streamMetricFrames=[],i=0;i<e.streamMetricFrames.length;++i){if("object"!=typeof e.streamMetricFrames[i])throw TypeError(".SdkClientMetricFrame.streamMetricFrames: object expected");t.streamMetricFrames[i]=c.SdkStreamMetricFrame.fromObject(e.streamMetricFrames[i])}}return t},e.toObject=function(e,t){t||(t={});var i={};if((t.arrays||t.defaults)&&(i.globalMetrics=[],i.streamMetricFrames=[]),e.globalMetrics&&e.globalMetrics.length){i.globalMetrics=[];for(var n=0;n<e.globalMetrics.length;++n)i.globalMetrics[n]=c.SdkMetric.toObject(e.globalMetrics[n],t)}if(e.streamMetricFrames&&e.streamMetricFrames.length)for(i.streamMetricFrames=[],n=0;n<e.streamMetricFrames.length;++n)i.streamMetricFrames[n]=c.SdkStreamMetricFrame.toObject(e.streamMetricFrames[n],t);return i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkClientMetricFrame"},e}(),c.SdkStreamDimension=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.type=1,e.prototype.value=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(8).int32(e.type),null!=e.value&&Object.hasOwnProperty.call(e,"value")&&c.SdkDimensionValue.encode(e.value,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkStreamDimension;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.type=e.int32();break;case 2:n.value=c.SdkDimensionValue.decode(e,e.uint32());break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.type&&e.hasOwnProperty("type"))switch(e.type){default:return"type: enum value expected";case 1:case 2:}if(null!=e.value&&e.hasOwnProperty("value")){var t=c.SdkDimensionValue.verify(e.value);if(t)return"value."+t}return null},e.fromObject=function(e){if(e instanceof c.SdkStreamDimension)return e;var t=new c.SdkStreamDimension;switch(e.type){default:if("number"==typeof e.type){t.type=e.type;break}break;case"VIDEO_ENCODER_NAME":case 1:t.type=1;break;case"VIDEO_DECODER_NAME":case 2:t.type=2}if(null!=e.value){if("object"!=typeof e.value)throw TypeError(".SdkStreamDimension.value: object expected");t.value=c.SdkDimensionValue.fromObject(e.value)}return t},e.toObject=function(e,t){t||(t={});var i={};return t.defaults&&(i.type=t.enums===String?"VIDEO_ENCODER_NAME":1,i.value=null),null!=e.type&&e.hasOwnProperty("type")&&(i.type=t.enums===String?void 0===c.SdkStreamDimension.Type[e.type]?e.type:c.SdkStreamDimension.Type[e.type]:e.type),null!=e.value&&e.hasOwnProperty("value")&&(i.value=c.SdkDimensionValue.toObject(e.value,t)),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkStreamDimension"},e.Type=function(){var e={},t=Object.create(e);return t[e[1]="VIDEO_ENCODER_NAME"]=1,t[e[2]="VIDEO_DECODER_NAME"]=2,t}(),e}(),c.SdkDimensionValue=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.stringValue="",e.prototype.boolValue=!1,e.prototype.uintValue=d.Long?d.Long.fromBits(0,0,!0):0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.stringValue&&Object.hasOwnProperty.call(e,"stringValue")&&t.uint32(10).string(e.stringValue),null!=e.boolValue&&Object.hasOwnProperty.call(e,"boolValue")&&t.uint32(16).bool(e.boolValue),null!=e.uintValue&&Object.hasOwnProperty.call(e,"uintValue")&&t.uint32(24).uint64(e.uintValue),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkDimensionValue;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.stringValue=e.string();break;case 2:n.boolValue=e.bool();break;case 3:n.uintValue=e.uint64();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.stringValue&&e.hasOwnProperty("str
2138ingValue")&&!d.isString(e.stringValue)?"stringValue: string expected":null!=e.boolValue&&e.hasOwnProperty("boolValue")&&"boolean"!=typeof e.boolValue?"boolValue: boolean expected":null!=e.uintValue&&e.hasOwnProperty("uintValue")&&!(d.isInteger(e.uintValue)||e.uintValue&&d.isInteger(e.uintValue.low)&&d.isInteger(e.uintValue.high))?"uintValue: integer|Long expected":null},e.fromObject=function(e){if(e instanceof c.SdkDimensionValue)return e;var t=new c.SdkDimensionValue;return null!=e.stringValue&&(t.stringValue=String(e.stringValue)),null!=e.boolValue&&(t.boolValue=Boolean(e.boolValue)),null!=e.uintValue&&(d.Long?(t.uintValue=d.Long.fromValue(e.uintValue)).unsigned=!0:"string"==typeof e.uintValue?t.uintValue=parseInt(e.uintValue,10):"number"==typeof e.uintValue?t.uintValue=e.uintValue:"object"==typeof e.uintValue&&(t.uintValue=new d.LongBits(e.uintValue.low>>>0,e.uintValue.high>>>0).toNumber(!0))),t},e.toObject=function(e,t){t||(t={});var i={};if(t.defaults)if(i.stringValue="",i.boolValue=!1,d.Long){var n=new d.Long(0,0,!0);i.uintValue=t.longs===String?n.toString():t.longs===Number?n.toNumber():n}else i.uintValue=t.longs===String?"0":0;return null!=e.stringValue&&e.hasOwnProperty("stringValue")&&(i.stringValue=e.stringValue),null!=e.boolValue&&e.hasOwnProperty("boolValue")&&(i.boolValue=e.boolValue),null!=e.uintValue&&e.hasOwnProperty("uintValue")&&("number"==typeof e.uintValue?i.uintValue=t.longs===String?String(e.uintValue):e.uintValue:i.uintValue=t.longs===String?d.Long.prototype.toString.call(e.uintValue):t.longs===Number?new d.LongBits(e.uintValue.low>>>0,e.uintValue.high>>>0).toNumber(!0):e.uintValue),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkDimensionValue"},e}(),c.SdkDataMessageFrame=function(){function e(e){if(this.messages=[],e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.messages=d.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=a.create()),null!=e.messages&&e.messages.length)for(var i=0;i<e.messages.length;++i)c.SdkDataMessagePayload.encode(e.messages[i],t.uint32(10).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkDataMessageFrame;e.pos<i;){var r=e.uint32();r>>>3==1?(n.messages&&n.messages.length||(n.messages=[]),n.messages.push(c.SdkDataMessagePayload.decode(e,e.uint32()))):e.skipType(7&r)}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.messages&&e.hasOwnProperty("messages")){if(!Array.isArray(e.messages))return"messages: array expected";for(var t=0;t<e.messages.length;++t){var i=c.SdkDataMessagePayload.verify(e.messages[t]);if(i)return"messages."+i}}return null},e.fromObject=function(e){if(e instanceof c.SdkDataMessageFrame)return e;var t=new c.SdkDataMessageFrame;if(e.messages){if(!Array.isArray(e.messages))throw TypeError(".SdkDataMessageFrame.messages: array expected");t.messages=[];for(var i=0;i<e.messages.length;++i){if("object"!=typeof e.messages[i])throw TypeError(".SdkDataMessageFrame.messages: object expected");t.messages[i]=c.SdkDataMessagePayload.fromObject(e.messages[i])}}return t},e.toObject=function(e,t){t||(t={});var i={};if((t.arrays||t.defaults)&&(i.messages=[]),e.messages&&e.messages.length){i.messages=[];for(var n=0;n<e.messages.length;++n)i.messages[n]=c.SdkDataMessagePayload.toObject(e.messages[n],t)}return i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkDataMessageFrame"},e}(),c.SdkDataMessagePayload=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.topic="",e.prototype.data=d.newBuffer([]),e.prototype.lifetimeMs=0,e.prototype.senderAttendeeId="",e.prototype.ingestTimeNs=d.Long?d.Long.fromBits(0,0,!1):0,e.prototype.senderExternalUserId="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.topic&&Object.hasOwnProperty.call(e,"topic")&&t.uint32(10).string(e.topic),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(18).bytes(e.data),null!=e.lifetimeMs&&Object.hasOwnProperty.call(e,"lifetimeMs")&&t.uint32(24).uint32(e.lifetimeMs),null!=e.senderAttendeeId&&Object.hasOwnProperty.call(e,"senderAttendeeId")&&t.uint32(34).string(e.senderAttendeeId),null!=e.ingestTimeNs&&Object.hasOwnProperty.call(e,"ingestTimeNs")&&t.uint32(40).int64(e.ingestTimeNs),null!=e.senderExternalUserId&&Object.hasOwnProperty.call(e,"senderExternalUserId")&&t.uint32(50).string(e.senderExternalUserId),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkDataMessagePayload;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.topic=e.string();break;case 2:n.data=e.bytes();break;case 3:n.lifetimeMs=e.uint32();break;case 4:n.senderAttendeeId=e.string();break;case 5:n.ingestTimeNs=e.int64();break;case 6:n.senderExternalUserId=e.string();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.topic&&e.hasOwnProperty("topic")&&!d.isString(e.topic)?"topic: string expected":null!=e.data&&e.hasOwnProperty("data")&&!(e.data&&"number"==typeof e.data.length||d.isString(e.data))?"data: buffer expected":null!=e.lifetimeMs&&e.hasOwnProperty("lifetimeMs")&&!d.isInteger(e.lifetimeMs)?"lifetimeMs: integer expected":null!=e.senderAttendeeId&&e.hasOwnProperty("senderAttendeeId")&&!d.isString(e.senderAttendeeId)?"senderAttendeeId: string expected":null!=e.ingestTimeNs&&e.hasOwnProperty("ingestTimeNs")&&!(d.isInteger(e.ingestTimeNs)||e.ingestTimeNs&&d.isInteger(e.ingestTimeNs.low)&&d.isInteger(e.ingestTimeNs.high))?"ingestTimeNs: integer|Long expected":null!=e.senderExternalUserId&&e.hasOwnProperty("senderExternalUserId")&&!d.isString(e.senderExternalUserId)?"senderExternalUserId: string expected":null},e.fromObject=function(e){if(e instanceof c.SdkDataMessagePayload)return e;var t=new c.SdkDataMessagePayload;return null!=e.topic&&(t.topic=String(e.topic)),null!=e.data&&("string"==typeof e.data?d.base64.decode(e.data,t.data=d.newBuffer(d.base64.length(e.data)),0):e.data.length>=0&&(t.data=e.data)),null!=e.lifetimeMs&&(t.lifetimeMs=e.lifetimeMs>>>0),null!=e.senderAttendeeId&&(t.senderAttendeeId=String(e.senderAttendeeId)),null!=e.ingestTimeNs&&(d.Long?(t.ingestTimeNs=d.Long.fromValue(e.ingestTimeNs)).unsigned=!1:"string"==typeof e.ingestTimeNs?t.ingestTimeNs=parseInt(e.ingestTimeNs,10):"number"==typeof e.ingestTimeNs?t.ingestTimeNs=e.ingestTimeNs:"object"==typeof e.ingestTimeNs&&(t.ingestTimeNs=new d.LongBits(e.ingestTimeNs.low>>>0,e.ingestTimeNs.high>>>0).toNumber())),null!=e.senderExternalUserId&&(t.senderExternalUserId=String(e.senderExternalUserId)),t},e.toObject=function(e,t){t||(t={});var i={};if(t.defaults){if(i.topic="",t.bytes===String?i.data="":(i.data=[],t.bytes!==Array&&(i.data=d.newBuffer(i.data))),i.lifetimeMs=0,i.senderAttendeeId="",d.Long){var n=new d.Long(0,0,!1);i.ingestTimeNs=t.longs===String?n.toString():t.longs===Number?n.toNumber():n}else i.ingestTimeNs=t.longs===String?"0":0;i.senderExternalUserId=""}return null!=e.topic&&e.hasOwnProperty("topic")&&(i.topic=e.topic),null!=e.data&&e.hasOwnProperty("data")&&(i.data=t.bytes===String?d.base64.encode(e.data,
vendor: 7,665 bytes, line 2138
21380,e.data.length):t.bytes===Array?Array.prototype.slice.call(e.data):e.data),null!=e.lifetimeMs&&e.hasOwnProperty("lifetimeMs")&&(i.lifetimeMs=e.lifetimeMs),null!=e.senderAttendeeId&&e.hasOwnProperty("senderAttendeeId")&&(i.senderAttendeeId=e.senderAttendeeId),null!=e.ingestTimeNs&&e.hasOwnProperty("ingestTimeNs")&&("number"==typeof e.ingestTimeNs?i.ingestTimeNs=t.longs===String?String(e.ingestTimeNs):e.ingestTimeNs:i.ingestTimeNs=t.longs===String?d.Long.prototype.toString.call(e.ingestTimeNs):t.longs===Number?new d.LongBits(e.ingestTimeNs.low>>>0,e.ingestTimeNs.high>>>0).toNumber():e.ingestTimeNs),null!=e.senderExternalUserId&&e.hasOwnProperty("senderExternalUserId")&&(i.senderExternalUserId=e.senderExternalUserId),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkDataMessagePayload"},e}(),c.SdkTurnCredentials=function(){function e(e){if(this.uris=[],e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.username="",e.prototype.password="",e.prototype.ttl=0,e.prototype.uris=d.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=a.create()),null!=e.username&&Object.hasOwnProperty.call(e,"username")&&t.uint32(10).string(e.username),null!=e.password&&Object.hasOwnProperty.call(e,"password")&&t.uint32(18).string(e.password),null!=e.ttl&&Object.hasOwnProperty.call(e,"ttl")&&t.uint32(24).uint32(e.ttl),null!=e.uris&&e.uris.length)for(var i=0;i<e.uris.length;++i)t.uint32(34).string(e.uris[i]);return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkTurnCredentials;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.username=e.string();break;case 2:n.password=e.string();break;case 3:n.ttl=e.uint32();break;case 4:n.uris&&n.uris.length||(n.uris=[]),n.uris.push(e.string());break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.username&&e.hasOwnProperty("username")&&!d.isString(e.username))return"username: string expected";if(null!=e.password&&e.hasOwnProperty("password")&&!d.isString(e.password))return"password: string expected";if(null!=e.ttl&&e.hasOwnProperty("ttl")&&!d.isInteger(e.ttl))return"ttl: integer expected";if(null!=e.uris&&e.hasOwnProperty("uris")){if(!Array.isArray(e.uris))return"uris: array expected";for(var t=0;t<e.uris.length;++t)if(!d.isString(e.uris[t]))return"uris: string[] expected"}return null},e.fromObject=function(e){if(e instanceof c.SdkTurnCredentials)return e;var t=new c.SdkTurnCredentials;if(null!=e.username&&(t.username=String(e.username)),null!=e.password&&(t.password=String(e.password)),null!=e.ttl&&(t.ttl=e.ttl>>>0),e.uris){if(!Array.isArray(e.uris))throw TypeError(".SdkTurnCredentials.uris: array expected");t.uris=[];for(var i=0;i<e.uris.length;++i)t.uris[i]=String(e.uris[i])}return t},e.toObject=function(e,t){t||(t={});var i={};if((t.arrays||t.defaults)&&(i.uris=[]),t.defaults&&(i.username="",i.password="",i.ttl=0),null!=e.username&&e.hasOwnProperty("username")&&(i.username=e.username),null!=e.password&&e.hasOwnProperty("password")&&(i.password=e.password),null!=e.ttl&&e.hasOwnProperty("ttl")&&(i.ttl=e.ttl),e.uris&&e.uris.length){i.uris=[];for(var n=0;n<e.uris.length;++n)i.uris[n]=e.uris[n]}return i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkTurnCredentials"},e}(),c.SdkTranscriptItem=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.content="",e.prototype.endTime=d.Long?d.Long.fromBits(0,0,!1):0,e.prototype.speakerAttendeeId="",e.prototype.speakerExternalUserId="",e.prototype.startTime=d.Long?d.Long.fromBits(0,0,!1):0,e.prototype.type=1,e.prototype.vocabularyFilterMatch=!1,e.prototype.confidence=0,e.prototype.stable=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.content&&Object.hasOwnProperty.call(e,"content")&&t.uint32(10).string(e.content),null!=e.endTime&&Object.hasOwnProperty.call(e,"endTime")&&t.uint32(16).int64(e.endTime),null!=e.speakerAttendeeId&&Object.hasOwnProperty.call(e,"speakerAttendeeId")&&t.uint32(26).string(e.speakerAttendeeId),null!=e.speakerExternalUserId&&Object.hasOwnProperty.call(e,"speakerExternalUserId")&&t.uint32(34).string(e.speakerExternalUserId),null!=e.startTime&&Object.hasOwnProperty.call(e,"startTime")&&t.uint32(40).int64(e.startTime),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(48).int32(e.type),null!=e.vocabularyFilterMatch&&Object.hasOwnProperty.call(e,"vocabularyFilterMatch")&&t.uint32(56).bool(e.vocabularyFilterMatch),null!=e.confidence&&Object.hasOwnProperty.call(e,"confidence")&&t.uint32(65).double(e.confidence),null!=e.stable&&Object.hasOwnProperty.call(e,"stable")&&t.uint32(72).bool(e.stable),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkTranscriptItem;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.content=e.string();break;case 2:n.endTime=e.int64();break;case 3:n.speakerAttendeeId=e.string();break;case 4:n.speakerExternalUserId=e.string();break;case 5:n.startTime=e.int64();break;case 6:n.type=e.int32();break;case 7:n.vocabularyFilterMatch=e.bool();break;case 8:n.confidence=e.double();break;case 9:n.stable=e.bool();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.content&&e.hasOwnProperty("content")&&!d.isString(e.content))return"content: string expected";if(null!=e.endTime&&e.hasOwnProperty("endTime")&&!(d.isInteger(e.endTime)||e.endTime&&d.isInteger(e.endTime.low)&&d.isInteger(e.endTime.high)))return"endTime: integer|Long expected";if(null!=e.speakerAttendeeId&&e.hasOwnProperty("speakerAttendeeId")&&!d.isString(e.speakerAttendeeId))return"speakerAttendeeId: string expected";if(null!=e.speakerExternalUserId&&e.hasOwnProperty("speakerExternalUserId")&&!d.isString(e.speakerExternalUserId))return"speakerExternalUserId: string expected";if(null!=e.startTime&&e.hasOwnProperty("startTime")&&!(d.isInteger(e.startTime)||e.startTime&&d.isInteger(e.startTime.low)&&d.isInteger(e.startTime.high)))return"startTime: integer|Long expected";if(null!=e.type&&e.hasOwnProperty("type"))switch(e.type){default:return"type: enum value expected";case 1:case 2:}return null!=e.vocabularyFilterMatch&&e.hasOwnProperty("vocabularyFilterMatch")&&"boolean"!=typeof e.vocabularyFilterMatch?"vocabularyFilterMatch: boolean expected":null!=e.confidence&&e.hasOwnProperty("confidence")&&"number"!=typeof e.confidence?"confidence: number expected":null!=e.stable&&e.hasOwnProperty("stable")&&"boolean"!=typeof e.stable?"stable: boolean expected":null},e.fromObject=function(e){if(e instanceof c.SdkTranscriptItem)return e;var t=new c.SdkTranscriptItem;switch(null!=e.content&&(t.content=String(e.content)),null!=e.endTime&&(d.Long?(t.endTime=d.Long.fromValue(e.endTime)).unsigned=!1:"string"==typeof e.endTime?t.endTime=parseInt(e.endTime,10):"number"==typeof e.endTime?t.endTime=e.endTime:"object"==typeof e.endTime&&(t.endTime=new d.LongBits(e.endTime.low>>>0,e.endTime.high>
2138>>0).toNumber())),null!=e.speakerAttendeeId&&(t.speakerAttendeeId=String(e.speakerAttendeeId)),null!=e.speakerExternalUserId&&(t.speakerExternalUserId=String(e.speakerExternalUserId)),null!=e.startTime&&(d.Long?(t.startTime=d.Long.fromValue(e.startTime)).unsigned=!1:"string"==typeof e.startTime?t.startTime=parseInt(e.startTime,10):"number"==typeof e.startTime?t.startTime=e.startTime:"object"==typeof e.startTime&&(t.startTime=new d.LongBits(e.startTime.low>>>0,e.startTime.high>>>0).toNumber())),e.type){default:if("number"==typeof e.type){t.type=e.type;break}break;case"PRONUNCIATION":case 1:t.type=1;break;case"PUNCTUATION":case 2:t.type=2}return null!=e.vocabularyFilterMatch&&(t.vocabularyFilterMatch=Boolean(e.vocabularyFilterMatch)),null!=e.confidence&&(t.confidence=Number(e.confidence)),null!=e.stable&&(t.stable=Boolean(e.stable)),t},e.toObject=function(e,t){t||(t={});var i={};if(t.defaults){if(i.content="",d.Long){var n=new d.Long(0,0,!1);i.endTime=t.longs===String?n.toString():t.longs===Number?n.toNumber():n}else i.endTime=t.longs===String?"0":0;i.speakerAttendeeId="",i.speakerExternalUserId="",d.Long?(n=new d.Long(0,0,!1),i.startTime=t.longs===String?n.toString():t.longs===Number?n.toNumber():n):i.startTime=t.longs===String?"0":0,i.type=t.enums===String?"PRONUNCIATION":1,i.vocabularyFilterMatch=!1,i.confidence=0,i.stable=!1}return null!=e.content&&e.hasOwnProperty("content")&&(i.content=e.content),null!=e.endTime&&e.hasOwnProperty("endTime")&&("number"==typeof e.endTime?i.endTime=t.longs===String?String(e.endTime):e.endTime:i.endTime=t.longs===String?d.Long.prototype.toString.call(e.endTime):t.longs===Number?new d.LongBits(e.endTime.low>>>0,e.endTime.high>>>0).toNumber():e.endTime),null!=e.speakerAttendeeId&&e.hasOwnProperty("speakerAttendeeId")&&(i.speakerAttendeeId=e.speakerAttendeeId),null!=e.speakerExternalUserId&&e.hasOwnProperty("speakerExternalUserId")&&(i.speakerExternalUserId=e.speakerExternalUserId),null!=e.startTime&&e.hasOwnProperty("startTime")&&("number"==typeof e.startTime?i.startTime=t.longs===String?String(e.startTime):e.startTime:i.startTime=t.longs===String?d.Long.prototype.toString.call(e.startTime):t.longs===Number?new d.LongBits(e.startTime.low>>>0,e.startTime.high>>>0).toNumber():e.startTime),null!=e.type&&e.hasOwnProperty("type")&&(i.type=t.enums===String?void 0===c.SdkTranscriptItem.Type[e.type]?e.type:c.SdkTranscriptItem.Type[e.type]:e.type),null!=e.vocabularyFilterMatch&&e.hasOwnProperty("vocabularyFilterMatch")&&(i.vocabularyFilterMatch=e.vocabularyFilterMatch),null!=e.confidence&&e.hasOwnProperty("confidence")&&(i.confidence=t.json&&!isFinite(e.confidence)?String(e.confidence):e.confidence),null!=e.stable&&e.hasOwnProperty("stable")&&(i.stable=e.stable),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkTranscriptItem"},e.Type=function(){var e={},t=Object.create(e);return t[e[1]="PRONUNCIATION"]=1,t[e[2]="PUNCTUATION"]=2,t}(),e}(),c.SdkTranscriptEntity=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.category="",e.prototype.confidence=0,e.prototype.content="",e.prototype.endTime=d.Long?d.Long.fromBits(0,0,!1):0,e.prototype.startTime=d.Long?d.Long.fromBits(0,0,!1):0,e.prototype.type="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.category&&Object.hasOwnProperty.call(e,"category")&&t.uint32(10).string(e.category),null!=e.confidence&&Object.hasOwnProperty.call(e,"confidence")&&t.uint32(17).double(e.confidence),null!=e.content&&Object.hasOwnProperty.call(e,"content")&&t.uint32(26).string(e.content),null!=e.endTime&&Object.hasOwnProperty.call(e,"endTime")&&t.uint32(32).int64(e.endTime),null!=e.startTime&&Object.hasOwnProperty.call(e,"startTime")&&t.uint32(40).int64(e.startTime),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(50).string(e.type),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkTranscriptEntity;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.category=e.string();break;case 2:n.confidence=e.double();break;case 3:n.content=e.string();break;case 4:n.endTime=e.int64();break;case 5:n.startTime=e.int64();break;case 6:n.type=e.string();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.category&&e.hasOwnProperty("category")&&!d.isString(e.category)?"category: string expected":null!=e.confidence&&e.hasOwnProperty("confidence")&&"number"!=typeof e.confidence?"confidence: number expected":null!=e.content&&e.hasOwnProperty("content")&&!d.isString(e.content)?"content: string expected":null!=e.endTime&&e.hasOwnProperty("endTime")&&!(d.isInteger(e.endTime)||e.endTime&&d.isInteger(e.endTime.low)&&d.isInteger(e.endTime.high))?"endTime: integer|Long expected":null!=e.startTime&&e.hasOwnProperty("startTime")&&!(d.isInteger(e.startTime)||e.startTime&&d.isInteger(e.startTime.low)&&d.isInteger(e.startTime.high))?"startTime: integer|Long expected":null!=e.type&&e.hasOwnProperty("type")&&!d.isString(e.type)?"type: string expected":null},e.fromObject=function(e){if(e instanceof c.SdkTranscriptEntity)return e;var t=new c.SdkTranscriptEntity;return null!=e.category&&(t.category=String(e.category)),null!=e.confidence&&(t.confidence=Number(e.confidence)),null!=e.content&&(t.content=String(e.content)),null!=e.endTime&&(d.Long?(t.endTime=d.Long.fromValue(e.endTime)).unsigned=!1:"string"==typeof e.endTime?t.endTime=parseInt(e.endTime,10):"number"==typeof e.endTime?t.endTime=e.endTime:"object"==typeof e.endTime&&(t.endTime=new d.LongBits(e.endTime.low>>>0,e.endTime.high>
vendor: 11,338 bytes, line 2138
2138>>0).toNumber())),null!=e.startTime&&(d.Long?(t.startTime=d.Long.fromValue(e.startTime)).unsigned=!1:"string"==typeof e.startTime?t.startTime=parseInt(e.startTime,10):"number"==typeof e.startTime?t.startTime=e.startTime:"object"==typeof e.startTime&&(t.startTime=new d.LongBits(e.startTime.low>>>0,e.startTime.high>>>0).toNumber())),null!=e.type&&(t.type=String(e.type)),t},e.toObject=function(e,t){t||(t={});var i={};if(t.defaults){if(i.category="",i.confidence=0,i.content="",d.Long){var n=new d.Long(0,0,!1);i.endTime=t.longs===String?n.toString():t.longs===Number?n.toNumber():n}else i.endTime=t.longs===String?"0":0;d.Long?(n=new d.Long(0,0,!1),i.startTime=t.longs===String?n.toString():t.longs===Number?n.toNumber():n):i.startTime=t.longs===String?"0":0,i.type=""}return null!=e.category&&e.hasOwnProperty("category")&&(i.category=e.category),null!=e.confidence&&e.hasOwnProperty("confidence")&&(i.confidence=t.json&&!isFinite(e.confidence)?String(e.confidence):e.confidence),null!=e.content&&e.hasOwnProperty("content")&&(i.content=e.content),null!=e.endTime&&e.hasOwnProperty("endTime")&&("number"==typeof e.endTime?i.endTime=t.longs===String?String(e.endTime):e.endTime:i.endTime=t.longs===String?d.Long.prototype.toString.call(e.endTime):t.longs===Number?new d.LongBits(e.endTime.low>>>0,e.endTime.high>>>0).toNumber():e.endTime),null!=e.startTime&&e.hasOwnProperty("startTime")&&("number"==typeof e.startTime?i.startTime=t.longs===String?String(e.startTime):e.startTime:i.startTime=t.longs===String?d.Long.prototype.toString.call(e.startTime):t.longs===Number?new d.LongBits(e.startTime.low>>>0,e.startTime.high>>>0).toNumber():e.startTime),null!=e.type&&e.hasOwnProperty("type")&&(i.type=e.type),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkTranscriptEntity"},e}(),c.SdkTranscriptAlternative=function(){function e(e){if(this.items=[],this.entities=[],e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.items=d.emptyArray,e.prototype.transcript="",e.prototype.entities=d.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=a.create()),null!=e.items&&e.items.length)for(var i=0;i<e.items.length;++i)c.SdkTranscriptItem.encode(e.items[i],t.uint32(10).fork()).ldelim();if(null!=e.transcript&&Object.hasOwnProperty.call(e,"transcript")&&t.uint32(18).string(e.transcript),null!=e.entities&&e.entities.length)for(i=0;i<e.entities.length;++i)c.SdkTranscriptEntity.encode(e.entities[i],t.uint32(26).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkTranscriptAlternative;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.items&&n.items.length||(n.items=[]),n.items.push(c.SdkTranscriptItem.decode(e,e.uint32()));break;case 2:n.transcript=e.string();break;case 3:n.entities&&n.entities.length||(n.entities=[]),n.entities.push(c.SdkTranscriptEntity.decode(e,e.uint32()));break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.items&&e.hasOwnProperty("items")){if(!Array.isArray(e.items))return"items: array expected";for(var t=0;t<e.items.length;++t)if(i=c.SdkTranscriptItem.verify(e.items[t]))return"items."+i}if(null!=e.transcript&&e.hasOwnProperty("transcript")&&!d.isString(e.transcript))return"transcript: string expected";if(null!=e.entities&&e.hasOwnProperty("entities")){if(!Array.isArray(e.entities))return"entities: array expected";for(t=0;t<e.entities.length;++t){var i;if(i=c.SdkTranscriptEntity.verify(e.entities[t]))return"entities."+i}}return null},e.fromObject=function(e){if(e instanceof c.SdkTranscriptAlternative)return e;var t=new c.SdkTranscriptAlternative;if(e.items){if(!Array.isArray(e.items))throw TypeError(".SdkTranscriptAlternative.items: array expected");t.items=[];for(var i=0;i<e.items.length;++i){if("object"!=typeof e.items[i])throw TypeError(".SdkTranscriptAlternative.items: object expected");t.items[i]=c.SdkTranscriptItem.fromObject(e.items[i])}}if(null!=e.transcript&&(t.transcript=String(e.transcript)),e.entities){if(!Array.isArray(e.entities))throw TypeError(".SdkTranscriptAlternative.entities: array expected");for(t.entities=[],i=0;i<e.entities.length;++i){if("object"!=typeof e.entities[i])throw TypeError(".SdkTranscriptAlternative.entities: object expected");t.entities[i]=c.SdkTranscriptEntity.fromObject(e.entities[i])}}return t},e.toObject=function(e,t){t||(t={});var i={};if((t.arrays||t.defaults)&&(i.items=[],i.entities=[]),t.defaults&&(i.transcript=""),e.items&&e.items.length){i.items=[];for(var n=0;n<e.items.length;++n)i.items[n]=c.SdkTranscriptItem.toObject(e.items[n],t)}if(null!=e.transcript&&e.hasOwnProperty("transcript")&&(i.transcript=e.transcript),e.entities&&e.entities.length)for(i.entities=[],n=0;n<e.entities.length;++n)i.entities[n]=c.SdkTranscriptEntity.toObject(e.entities[n],t);return i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkTranscriptAlternative"},e}(),c.SdkTranscriptLanguageWithScore=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.languageCode="",e.prototype.score=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.languageCode&&Object.hasOwnProperty.call(e,"languageCode")&&t.uint32(10).string(e.languageCode),null!=e.score&&Object.hasOwnProperty.call(e,"score")&&t.uint32(17).double(e.score),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkTranscriptLanguageWithScore;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.languageCode=e.string();break;case 2:n.score=e.double();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.languageCode&&e.hasOwnProperty("languageCode")&&!d.isString(e.languageCode)?"languageCode: string expected":null!=e.score&&e.hasOwnProperty("score")&&"number"!=typeof e.score?"score: number expected":null},e.fromObject=function(e){if(e instanceof c.SdkTranscriptLanguageWithScore)return e;var t=new c.SdkTranscriptLanguageWithScore;return null!=e.languageCode&&(t.languageCode=String(e.languageCode)),null!=e.score&&(t.score=Number(e.score)),t},e.toObject=function(e,t){t||(t={});var i={};return t.defaults&&(i.languageCode="",i.score=0),null!=e.languageCode&&e.hasOwnProperty("languageCode")&&(i.languageCode=e.languageCode),null!=e.score&&e.hasOwnProperty("score")&&(i.score=t.json&&!isFinite(e.score)?String(e.score):e.score),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkTranscriptLanguageWithScore"},e}(),c.SdkTranscriptResult=function(){function e(e){if(this.alternatives=[],this.languageIdentification=[],e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.alternatives=d.emptyArray,e.prototype.channelId="",e.prototype.endTime=d.Long?d.Long.fromBits(0,0,!1):0,e.prototype.isPartial=!1,e.prototype.resultId="",e.prototype.startTime=d.Long?d.Long.fromBits(0,0,!1):0,e.prototype.languageCode="",e.prototype.languageIdentification=d.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=a.create()),null!=e.alternatives&&e.alternatives.length)for(var i=0;i<e.alternatives.length;++i)c.SdkTranscriptAlternative.encode(e.alternatives[i],t.uint32(10).fork()).ldelim();if(null!=e.channelId&&Object.hasOwnProperty.call(e,"channelId")&&t.uint32(18).string(e.channelId),null!=e.endTime&&Object.hasOwnProperty.call(e,"endTime")&&t.uint32(24).int64(e.endTime),null!=e.isPartial&&Object.hasOwnProperty.call(e,"isPartial")&&t.uint32(32).bool(e.isPartial),null!=e.resultId&&Object.hasOwnProperty.call(e,"resultId")&&t.uint32(42).string(e.resultId),null!=e.startTime&&Object.hasOwnProperty.call(e,"startTime")&&t.uint32(48).int64(e.startTime),null!=e.languageCode&&Object.hasOwnProperty.call(e,"languageCode")&&t.uint32(58).string(e.languageCode),null!=e.languageIdentification&&e.languageIdentification.length)for(i=0;i<e.languageIdentification.length;++i)c.SdkTranscriptLanguageWithScore.encode(e.languageIdentification[i],t.uint32(66).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkTranscriptResult;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.alternatives&&n.alternatives.length||(n.alternatives=[]),n.alternatives.push(c.SdkTranscriptAlternative.decode(e,e.uint32()));break;case 2:n.channelId=e.string();break;case 3:n.endTime=e.int64();break;case 4:n.isPartial=e.bool();break;case 5:n.resultId=e.string();break;case 6:n.startTime=e.int64();break;case 7:n.languageCode=e.string();break;case 8:n.languageIdentification&&n.languageIdentification.length||(n.languageIdentification=[]),n.languageIdentification.push(c.SdkTranscriptLanguageWithScore.decode(e,e.uint32()));break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.alternatives&&e.hasOwnProperty("alternatives")){if(!Array.isArray(e.alternatives))return"alternatives: array expected";for(var t=0;t<e.alternatives.length;++t)if(i=c.SdkTranscriptAlternative.verify(e.alternatives[t]))return"alternatives."+i}if(null!=e.channelId&&e.hasOwnProperty("channelId")&&!d.isString(e.channelId))return"channelId: string expected";if(null!=e.endTime&&e.hasOwnProperty("endTime")&&!(d.isInteger(e.endTime)||e.endTime&&d.isInteger(e.endTime.low)&&d.isInteger(e.endTime.high)))return"endTime: integer|Long expected";if(null!=e.isPartial&&e.hasOwnProperty("isPartial")&&"boolean"!=typeof e.isPartial)return"isPartial: boolean expected";if(null!=e.resultId&&e.hasOwnProperty("resultId")&&!d.isString(e.resultId))return"resultId: string expected";if(null!=e.startTime&&e.hasOwnProperty("startTime")&&!(d.isInteger(e.startTime)||e.startTime&&d.isInteger(e.startTime.low)&&d.isInteger(e.startTime.high)))return"startTime: integer|Long expected";if(null!=e.languageCode&&e.hasOwnProperty("languageCode")&&!d.isString(e.languageCode))return"languageCode: string expected";if(null!=e.languageIdentification&&e.hasOwnProperty("languageIdentification")){if(!Array.isArray(e.languageIdentification))return"languageIdentification: array expected";for(t=0;t<e.languageIdentification.length;++t){var i;if(i=c.SdkTranscriptLanguageWithScore.verify(e.languageIdentification[t]))return"languageIdentification."+i}}return null},e.fromObject=function(e){if(e instanceof c.SdkTranscriptResult)return e;var t=new c.SdkTranscriptResult;
vendor: 4,399 bytes, line 2138
2138if(e.alternatives){if(!Array.isArray(e.alternatives))throw TypeError(".SdkTranscriptResult.alternatives: array expected");t.alternatives=[];for(var i=0;i<e.alternatives.length;++i){if("object"!=typeof e.alternatives[i])throw TypeError(".SdkTranscriptResult.alternatives: object expected");t.alternatives[i]=c.SdkTranscriptAlternative.fromObject(e.alternatives[i])}}if(null!=e.channelId&&(t.channelId=String(e.channelId)),null!=e.endTime&&(d.Long?(t.endTime=d.Long.fromValue(e.endTime)).unsigned=!1:"string"==typeof e.endTime?t.endTime=parseInt(e.endTime,10):"number"==typeof e.endTime?t.endTime=e.endTime:"object"==typeof e.endTime&&(t.endTime=new d.LongBits(e.endTime.low>>>0,e.endTime.high>>>0).toNumber())),null!=e.isPartial&&(t.isPartial=Boolean(e.isPartial)),null!=e.resultId&&(t.resultId=String(e.resultId)),null!=e.startTime&&(d.Long?(t.startTime=d.Long.fromValue(e.startTime)).unsigned=!1:"string"==typeof e.startTime?t.startTime=parseInt(e.startTime,10):"number"==typeof e.startTime?t.startTime=e.startTime:"object"==typeof e.startTime&&(t.startTime=new d.LongBits(e.startTime.low>>>0,e.startTime.high>>>0).toNumber())),null!=e.languageCode&&(t.languageCode=String(e.languageCode)),e.languageIdentification){if(!Array.isArray(e.languageIdentification))throw TypeError(".SdkTranscriptResult.languageIdentification: array expected");for(t.languageIdentification=[],i=0;i<e.languageIdentification.length;++i){if("object"!=typeof e.languageIdentification[i])throw TypeError(".SdkTranscriptResult.languageIdentification: object expected");t.languageIdentification[i]=c.SdkTranscriptLanguageWithScore.fromObject(e.languageIdentification[i])}}return t},e.toObject=function(e,t){t||(t={});var i={};if((t.arrays||t.defaults)&&(i.alternatives=[],i.languageIdentification=[]),t.defaults){if(i.channelId="",d.Long){var n=new d.Long(0,0,!1);i.endTime=t.longs===String?n.toString():t.longs===Number?n.toNumber():n}else i.endTime=t.longs===String?"0":0;i.isPartial=!1,i.resultId="",d.Long?(n=new d.Long(0,0,!1),i.startTime=t.longs===String?n.toString():t.longs===Number?n.toNumber():n):i.startTime=t.longs===String?"0":0,i.languageCode=""}if(e.alternatives&&e.alternatives.length){i.alternatives=[];for(var r=0;r<e.alternatives.length;++r)i.alternatives[r]=c.SdkTranscriptAlternative.toObject(e.alternatives[r],t)}if(null!=e.channelId&&e.hasOwnProperty("channelId")&&(i.channelId=e.channelId),null!=e.endTime&&e.hasOwnProperty("endTime")&&("number"==typeof e.endTime?i.endTime=t.longs===String?String(e.endTime):e.endTime:i.endTime=t.longs===String?d.Long.prototype.toString.call(e.endTime):t.longs===Number?new d.LongBits(e.endTime.low>>>0,e.endTime.high>>>0).toNumber():e.endTime),null!=e.isPartial&&e.hasOwnProperty("isPartial")&&(i.isPartial=e.isPartial),null!=e.resultId&&e.hasOwnProperty("resultId")&&(i.resultId=e.resultId),null!=e.startTime&&e.hasOwnProperty("startTime")&&("number"==typeof e.startTime?i.startTime=t.longs===String?String(e.startTime):e.startTime:i.startTime=t.longs===String?d.Long.prototype.toString.call(e.startTime):t.longs===Number?new d.LongBits(e.startTime.low>>>0,e.startTime.high>>>0).toNumber():e.startTime),null!=e.languageCode&&e.hasOwnProperty("languageCode")&&(i.languageCode=e.languageCode),e.languageIdentification&&e.languageIdentification.length)for(i.languageIdentification=[],r=0;r<e.languageIdentification.length;++r)i.languageIdentification[r]=c.SdkTranscriptLanguageWithScore.toObject(e.languageIdentification[r],t);return i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkTranscriptResult"},e}(),c.SdkTranscript=function(){function e(e){if(this.results=[],e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.results=d.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=a.create()),null!=e.results&&e.results.length)for(var i=0;i<e.results.length;++i)c.SdkTranscriptResult.encode(e.results[i],t.uint32(10).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkTranscript;e.pos<i;){var r=e.uint32();r>>>3==1?(n.results&&n.results.length||(n.results=[]),n.results.push(c.SdkTranscriptResult.decode(e,e.uint32()))):e.ski
2138pType(7&r)}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.results&&e.hasOwnProperty("results")){if(!Array.isArray(e.results))return"results: array expected";for(var t=0;t<e.results.length;++t){var i=c.SdkTranscriptResult.verify(e.results[t]);if(i)return"results."+i}}return null},e.fromObject=function(e){if(e instanceof c.SdkTranscript)return e;var t=new c.SdkTranscript;if(e.results){if(!Array.isArray(e.results))throw TypeError(".SdkTranscript.results: array expected");t.results=[];for(var i=0;i<e.results.length;++i){if("object"!=typeof e.results[i])throw TypeError(".SdkTranscript.results: object expected");t.results[i]=c.SdkTranscriptResult.fromObject(e.results[i])}}return t},e.toObject=function(e,t){t||(t={});var i={};if((t.arrays||t.defaults)&&(i.results=[]),e.results&&e.results.length){i.results=[];for(var n=0;n<e.results.length;++n)i.results[n]=c.SdkTranscriptResult.toObject(e.results[n],t)}return i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkTranscript"},e}(),c.SdkTranscriptionStatus=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.type=1,e.prototype.eventTime=d.Long?d.Long.fromBits(0,0,!1):0,e.prototype.transcriptionRegion="",e.prototype.transcriptionConfiguration="",e.prototype.message="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(8).int32(e.type),null!=e.eventTime&&Object.hasOwnProperty.call(e,"eventTime")&&t.uint32(16).int64(e.eventTime),null!=e.transcriptionRegion&&Object.hasOwnProperty.call(e,"transcriptionRegion")&&t.uint32(26).string(e.transcriptionRegion),null!=e.transcriptionConfiguration&&Object.hasOwnProperty.call(e,"transcriptionConfiguration")&&t.uint32(34).string(e.transcriptionConfiguration),null!=e.message&&Object.hasOwnProperty.call(e,"message")&&t.uint32(42).string(e.message),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkTranscriptionStatus;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.type=e.int32();break;case 2:n.eventTime=e.int64();break;case 3:n.transcriptionRegion=e.string();break;case 4:n.transcriptionConfiguration=e.string();break;case 5:n.message=e.string();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.type&&e.hasOwnProperty("type"))switch(e.type){default:return"type: enum value expected";case 1:case 2:case 3:case 4:case 5:}return null!=e.eventTime&&e.hasOwnProperty("eventTime")&&!(d.isInteger(e.eventTime)||e.eventTime&&d.isInteger(e.eventTime.low)&&d.isInteger(e.eventTime.high))?"eventTime: integer|Long expected":null!=e.transcriptionRegion&&e.hasOwnProperty("transcriptionRegion")&&!d.isString(e.transcriptionRegion)?"transcriptionRegion: string expected":null!=e.transcriptionConfiguration&&e.hasOwnProperty("transcriptionConfiguration")&&!d.isString(e.transcriptionConfiguration)?"transcriptionConfiguration: string expected":null!=e.message&&e.hasOwnProperty("message")&&!d.isString(e.message)?"message: string expected":null},e.fromObject=function(e){if(e instanceof c.SdkTranscriptionStatus)return e;var t=new c.SdkTranscriptionStatus;switch(e.type){default:if("number"==typeof e.type){t.type=e.type;break}break;case"STARTED":case 1:t.type=1;break;case"INTERRUPTED":case 2:t.type=2;break;case"RESUMED":case 3:t.type=3;break;case"STOPPED":case 4:t.type=4;break;case"FAILED":case 5:t.type=5}return null!=e.eventTime&&(d.Long?(t.eventTime=d.Long.fromValue(e.eventTime)).unsigned=!1:"string"==typeof e.eventTime?t.eventTime=parseInt(e.eventTime,10):"number"==typeof e.eventTime?t.eventTime=e.eventTime:"object"==typeof e.eventTime&&(t.eventTime=new d.LongBits(e.eventTime.low>>>0,e.eventTime.high>
2138>>0).toNumber())),null!=e.transcriptionRegion&&(t.transcriptionRegion=String(e.transcriptionRegion)),null!=e.transcriptionConfiguration&&(t.transcriptionConfiguration=String(e.transcriptionConfiguration)),null!=e.message&&(t.message=String(e.message)),t},e.toObject=function(e,t){t||(t={});var i={};if(t.defaults){if(i.type=t.enums===String?"STARTED":1,d.Long){var n=new d.Long(0,0,!1);i.eventTime=t.longs===String?n.toString():t.longs===Number?n.toNumber():n}else i.eventTime=t.longs===String?"0":0;i.transcriptionRegion="",i.transcriptionConfiguration="",i.message=""}return null!=e.type&&e.hasOwnProperty("type")&&(i.type=t.enums===String?void 0===c.SdkTranscriptionStatus.Type[e.type]?e.type:c.SdkTranscriptionStatus.Type[e.type]:e.type),null!=e.eventTime&&e.hasOwnProperty("eventTime")&&("number"==typeof e.eventTime?i.eventTime=t.longs===String?String(e.eventTime):e.eventTime:i.eventTime=t.longs===String?d.Long.prototype.toString.call(e.eventTime):t.longs===Number?new d.LongBits(e.eventTime.low>>>0,e.eventTime.high>>>0).toNumber():e.eventTime),null!=e.transcriptionRegion&&e.hasOwnProperty("transcriptionRegion")&&(i.transcriptionRegion=e.transcriptionRegion),null!=e.transcriptionConfiguration&&e.hasOwnProperty("transcriptionConfiguration")&&(i.transcriptionConfiguration=e.transcriptionConfiguration),null!=e.message&&e.hasOwnProperty("message")&&(i.message=e.message),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkTranscriptionStatus"},e.Type=function(){var e={},t=Object.create(e);return t[e[1]="STARTED"]=1,t[e[2]="INTERRUPTED"]=2,t[e[3]="RESUMED"]=3,t[e[4]="STOPPED"]=4,t[e[5]="FAILED"]=5,t}(),e}(),c.SdkTranscriptEvent=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}var t;return e.prototype.status=null,e.prototype.transcript=null,Object.defineProperty(e.prototype,"Event",{get:d.oneOfGetter(t=["status","transcript"]),set:d.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.status&&Object.hasOwnProperty.call(e,"status")&&c.SdkTranscriptionStatus.encode(e.status,t.uint32(10).fork()).ldelim(),null!=e.transcript&&Object.hasOwnProperty.call(e,"transcript")&&c.SdkTranscript.encode(e.transcript,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkTranscriptEvent;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.status=c.SdkTranscriptionStatus.decode(e,e.uint32());break;case 2:n.transcript=c.SdkTranscript.decode(e,e.uint32());break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";var t={};if(null!=e.status&&e.hasOwnProperty("status")&&(t.Event=1,i=c.SdkTranscriptionStatus.verify(e.status)))return"status."+i;if(null!=e.transcript&&e.hasOwnProperty("transcript")){if(1===t.Event)return"Event: multiple values";var i;if(t.Event=1,i=c.SdkTranscript.verify(e.transcript))return"transcript."+i}return null},e.fromObject=function(e){if(e instanceof c.SdkTranscriptEvent)return e;var t=new c.SdkTranscriptEvent;if(null!=e.status){if("object"!=typeof e.status)throw TypeError(".SdkTranscriptEvent.status: object expected");t.status=c.SdkTranscriptionStatus.fromObject(e.status)}if(null!=e.transcript){if("object"!=typeof e.transcript)throw TypeError(".SdkTranscriptEvent.transcript: object expected");t.transcript=c.SdkTranscript.fromObject(e.transcript)}return t},e.toObject=function(e,t){t||(t={});var i={};return null!=e.status&&e.hasOwnProperty("status")&&(i.status=c.SdkTranscriptionStatus.toObject(e.status,t),t.oneofs&&(i.Event="status")),null!=e.transcript&&e.hasOwnProperty("transcript")&&(i.transcript=c.SdkTranscript.toObject(e.transcript,t),t.oneofs&&(i.Event="transcript")),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkTranscriptEvent"},e}(),c.SdkTranscriptFrame=function(){function e(e){if(this.events=[],e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.events=d.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=a.create()),null!=e.events&&e.events.length)for(var i=0;i<e.events.length;++i)c.SdkTranscriptEvent.encode(e.events[i],t.uint32(10).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkTranscriptFrame;e.pos<i;){var r=e.uint32();r>>>3==1?(n.events&&n.events.length||(n.events=[]),n.events.push(c.SdkTranscriptEvent.decode(e,e.uint32()))):e.ski
vendor: 7,355 bytes, line 2138
2138pType(7&r)}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.events&&e.hasOwnProperty("events")){if(!Array.isArray(e.events))return"events: array expected";for(var t=0;t<e.events.length;++t){var i=c.SdkTranscriptEvent.verify(e.events[t]);if(i)return"events."+i}}return null},e.fromObject=function(e){if(e instanceof c.SdkTranscriptFrame)return e;var t=new c.SdkTranscriptFrame;if(e.events){if(!Array.isArray(e.events))throw TypeError(".SdkTranscriptFrame.events: array expected");t.events=[];for(var i=0;i<e.events.length;++i){if("object"!=typeof e.events[i])throw TypeError(".SdkTranscriptFrame.events: object expected");t.events[i]=c.SdkTranscriptEvent.fromObject(e.events[i])}}return t},e.toObject=function(e,t){t||(t={});var i={};if((t.arrays||t.defaults)&&(i.events=[]),e.events&&e.events.length){i.events=[];for(var n=0;n<e.events.length;++n)i.events[n]=c.SdkTranscriptEvent.toObject(e.events[n],t)}return i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkTranscriptFrame"},e}(),c.SdkRemoteVideoUpdateFrame=function(){function e(e){if(this.addedOrUpdatedVideoSubscriptions=[],this.removedVideoSubscriptionMids=[],e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.addedOrUpdatedVideoSubscriptions=d.emptyArray,e.prototype.removedVideoSubscriptionMids=d.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=a.create()),null!=e.addedOrUpdatedVideoSubscriptions&&e.addedOrUpdatedVideoSubscriptions.length)for(var i=0;i<e.addedOrUpdatedVideoSubscriptions.length;++i)c.SdkVideoSubscriptionConfiguration.encode(e.addedOrUpdatedVideoSubscriptions[i],t.uint32(10).fork()).ldelim();if(null!=e.removedVideoSubscriptionMids&&e.removedVideoSubscriptionMids.length)for(i=0;i<e.removedVideoSubscriptionMids.length;++i)t.uint32(18).string(e.removedVideoSubscriptionMids[i]);return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkRemoteVideoUpdateFrame;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.addedOrUpdatedVideoSubscriptions&&n.addedOrUpdatedVideoSubscriptions.length||(n.addedOrUpdatedVideoSubscriptions=[]),n.addedOrUpdatedVideoSubscriptions.push(c.SdkVideoSubscriptionConfiguration.decode(e,e.uint32()));break;case 2:n.removedVideoSubscriptionMids&&n.removedVideoSubscriptionMids.length||(n.removedVideoSubscriptionMids=[]),n.removedVideoSubscriptionMids.push(e.string());break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.addedOrUpdatedVideoSubscriptions&&e.hasOwnProperty("addedOrUpdatedVideoSubscriptions")){if(!Array.isArray(e.addedOrUpdatedVideoSubscriptions))return"addedOrUpdatedVideoSubscriptions: array expected";for(var t=0;t<e.addedOrUpdatedVideoSubscriptions.length;++t){var i=c.SdkVideoSubscriptionConfiguration.verify(e.addedOrUpdatedVideoSubscriptions[t]);if(i)return"addedOrUpdatedVideoSubscriptions."+i}}if(null!=e.removedVideoSubscriptionMids&&e.hasOwnProperty("removedVideoSubscriptionMids")){if(!Array.isArray(e.removedVideoSubscriptionMids))return"removedVideoSubscriptionMids: array expected";for(t=0;t<e.removedVideoSubscriptionMids.length;++t)if(!d.isString(e.removedVideoSubscriptionMids[t]))return"removedVideoSubscriptionMids: string[] expected"}return null},e.fromObject=function(e){if(e instanceof c.SdkRemoteVideoUpdateFrame)return e;var t=new c.SdkRemoteVideoUpdateFrame;if(e.addedOrUpdatedVideoSubscriptions){if(!Array.isArray(e.addedOrUpdatedVideoSubscriptions))throw TypeError(".SdkRemoteVideoUpdateFrame.addedOrUpdatedVideoSubscriptions: array expected");t.addedOrUpdatedVideoSubscriptions=[];for(var i=0;i<e.addedOrUpdatedVideoSubscriptions.length;++i){if("object"!=typeof e.addedOrUpdatedVideoSubscriptions[i])throw TypeError(".SdkRemoteVideoUpdateFrame.addedOrUpdatedVideoSubscriptions: object expected");t.addedOrUpdatedVideoSubscriptions[i]=c.SdkVideoSubscriptionConfiguration.fromObject(e.addedOrUpdatedVideoSubscriptions[i])}}if(e.removedVideoSubscriptionMids){if(!Array.isArray(e.removedVideoSubscriptionMids))throw TypeError(".SdkRemoteVideoUpdateFrame.removedVideoSubscriptionMids: array expected");for(t.removedVideoSubscriptionMids=[],i=0;i<e.removedVideoSubscriptionMids.length;++i)t.removedVideoSubscriptionMids[i]=String(e.removedVideoSubscriptionMids[i])}return t},e.toObject=function(e,t){t||(t={});var i={};if((t.arrays||t.defaults)&&(i.addedOrUpdatedVideoSubscriptions=[],i.removedVideoSubscriptionMids=[]),e.addedOrUpdatedVideoSubscriptions&&e.addedOrUpdatedVideoSubscriptions.length){i.addedOrUpdatedVideoSubscriptions=[];for(var n=0;n<e.addedOrUpdatedVideoSubscriptions.length;++n)i.addedOrUpdatedVideoSubscriptions[n]=c.SdkVideoSubscriptionConfiguration.toObject(e.addedOrUpdatedVideoSubscriptions[n],t)}if(e.removedVideoSubscriptionMids&&e.removedVideoSubscriptionMids.length)for(i.removedVideoSubscriptionMids=[],n=0;n<e.removedVideoSubscriptionMids.length;++n)i.removedVideoSubscriptionMids[n]=e.removedVideoSubscriptionMids[n];return i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkRemoteVideoUpdateFrame"},e}(),c.SdkVideoQualityAdaptationPreference=function(){var e={},t=Object.create(e);return t[e[1]="BALANCED"]=1,t[e[2]="MAINTAIN_FRAMERATE"]=2,t[e[3]="MAINTAIN_RESOLUTION"]=3,t}(),c.SdkVideoSubscriptionConfiguration=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.mid="",e.prototype.attendeeId="",e.prototype.streamId=0,e.prototype.priority=0,e.prototype.targetBitrateKbps=0,e.prototype.groupId=0,e.prototype.qualityAdaptationPreference=1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),t.uint32(10).string(e.mid),null!=e.attendeeId&&Object.hasOwnProperty.call(e,"attendeeId")&&t.uint32(18).string(e.attendeeId),null!=e.streamId&&Object.hasOwnProperty.call(e,"streamId")&&t.uint32(24).uint32(e.streamId),null!=e.priority&&Object.hasOwnProperty.call(e,"priority")&&t.uint32(32).uint32(e.priority),null!=e.targetBitrateKbps&&Object.hasOwnProperty.call(e,"targetBitrateKbps")&&t.uint32(40).uint32(e.targetBitrateKbps),null!=e.groupId&&Object.hasOwnProperty.call(e,"groupId")&&t.uint32(48).uint32(e.groupId),null!=e.qualityAdaptationPreference&&Object.hasOwnProperty.call(e,"qualityAdaptationPreference")&&t.uint32(56).int32(e.qualityAdaptationPreference),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkVideoSubscriptionConfiguration;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.mid=e.string();break;case 2:n.attendeeId=e.string();break;case 3:n.streamId=e.uint32();break;case 4:n.priority=e.uint32();break;case 5:n.targetBitrateKbps=e.uint32();break;case 6:n.groupId=e.uint32();break;
2138case 7:n.qualityAdaptationPreference=e.int32();break;default:e.skipType(7&r)}}if(!n.hasOwnProperty("mid"))throw d.ProtocolError("missing required 'mid'",{instance:n});return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(!d.isString(e.mid))return"mid: string expected";if(null!=e.attendeeId&&e.hasOwnProperty("attendeeId")&&!d.isString(e.attendeeId))return"attendeeId: string expected";if(null!=e.streamId&&e.hasOwnProperty("streamId")&&!d.isInteger(e.streamId))return"streamId: integer expected";if(null!=e.priority&&e.hasOwnProperty("priority")&&!d.isInteger(e.priority))return"priority: integer expected";if(null!=e.targetBitrateKbps&&e.hasOwnProperty("targetBitrateKbps")&&!d.isInteger(e.targetBitrateKbps))return"targetBitrateKbps: integer expected";if(null!=e.groupId&&e.hasOwnProperty("groupId")&&!d.isInteger(e.groupId))return"groupId: integer expected";if(null!=e.qualityAdaptationPreference&&e.hasOwnProperty("qualityAdaptationPreference"))switch(e.qualityAdaptationPreference){default:return"qualityAdaptationPreference: enum value expected";case 1:case 2:case 3:}return null},e.fromObject=function(e){if(e instanceof c.SdkVideoSubscriptionConfiguration)return e;var t=new c.SdkVideoSubscriptionConfiguration;switch(null!=e.mid&&(t.mid=String(e.mid)),null!=e.attendeeId&&(t.attendeeId=String(e.attendeeId)),null!=e.streamId&&(t.streamId=e.streamId>>>0),null!=e.priority&&(t.priority=e.priority>>>0),null!=e.targetBitrateKbps&&(t.targetBitrateKbps=e.targetBitrateKbps>>>0),null!=e.groupId&&(t.groupId=e.groupId>>>0),e.qualityAdaptationPreference){default:if("number"==typeof e.qualityAdaptationPreference){t.qualityAdaptationPreference=e.qualityAdaptationPreference;break}break;case"BALANCED":case 1:t.qualityAdaptationPreference=1;break;case"MAINTAIN_FRAMERATE":case 2:t.qualityAdaptationPreference=2;break;case"MAINTAIN_RESOLUTION":case 3:t.qualityAdaptationPreference=3}return t},e.toObject=function(e,t){t||(t={});var i={};return t.defaults&&(i.mid="",i.attendeeId="",i.streamId=0,i.priority=0,i.targetBitrateKbps=0,i.groupId=0,i.qualityAdaptationPreference=t.enums===String?"BALANCED":1),null!=e.mid&&e.hasOwnProperty("mid")&&(i.mid=e.mid),null!=e.attendeeId&&e.hasOwnProperty("attendeeId")&&(i.attendeeId=e.attendeeId),null!=e.streamId&&e.hasOwnProperty("streamId")&&(i.streamId=e.streamId),null!=e.priority&&e.hasOwnProperty("priority")&&(i.priority=e.priority),null!=e.targetBitrateKbps&&e.hasOwnProperty("targetBitrateKbps")&&(i.targetBitrateKbps=e.targetBitrateKbps),null!=e.groupId&&e.hasOwnProperty("groupId")&&(i.groupId=e.groupId),null!=e.qualityAdaptationPreference&&e.hasOwnProperty("qualityAdaptationPreference")&&(i.qualityAdaptationPreference=t.enums===String?void 0===c.SdkVideoQualityAdaptationPreference[e.qualityAdaptationPreference]?e.qualityAdaptationPreference:c.SdkVideoQualityAdaptationPreference[e.qualityAdaptationPreference]:e.qualityAdaptationPreference),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkVideoSubscriptionConfiguration"},e}(),c.SdkNotificationFrame=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.level=3,e.prototype.message="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.level&&Object.hasOwnProperty.call(e,"level")&&t.uint32(8).int32(e.level),null!=e.message&&Object.hasOwnProperty.call(e,"message")&&t.uint32(18).string(e.message),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkNotificationFrame;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.level=e.int32();break;case 2:n.message=e.string();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.level&&e.hasOwnProperty("level"))switch(e.level){default:return"level: enum value expected";case 1:case 2:case 3:}return null!=e.message&&e.hasOwnProperty("message")&&!d.isString(e.message)?"message: string expected":null},e.fromObject=function(e){if(e instanceof c.SdkNotificationFrame)return e;var t=new c.SdkNotificationFrame;switch(e.level){case"INFO":case 1:t.level=1;break;case"WARNING":case 2:t.level=2;break;default:if("number"==typeof e.level){t.level=e.level;break}break;case"ERROR":case 3:t.level=3}return null!=e.message&&(t.message=String(e.message)),t},e.toObject=function(e,t){t||(t={});var i={};return t.defaults&&(i.level=t.enums===String?"ERROR":3,i.message=""),null!=e.level&&e.hasOwnProperty("level")&&(i.level=t.enums===String?void 0===c.SdkNotificationFrame.NotificationLevel[e.level]?e.level:c.SdkNotificationFrame.NotificationLevel[e.level]:e.level),null!=e.message&&e.hasOwnProperty("message")&&(i.message=e.message),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkNotificationFrame"},e.NotificationLevel=function(){var e={},t=Object.create(e);return t[e[1]="INFO"]=1,t[e[2]="WARNING"]=2,t[e[3]="ERROR"]=3,t}(),e}(),c.SdkPrimaryMeetingJoinFrame=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.credentials=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.credentials&&Object.hasOwnProperty.call(e,"credentials")&&c.SdkMeetingSessionCredentials.encode(e.credentials,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkPrimaryMeetingJoinFrame;e.pos<i;){var r=e.uint32();r>>>3==1?n.credentials=c.SdkMeetingSessionCredentials.decode(e,e.uint32()):e.ski
2138pType(7&r)}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.credentials&&e.hasOwnProperty("credentials")){var t=c.SdkMeetingSessionCredentials.verify(e.credentials);if(t)return"credentials."+t}return null},e.fromObject=function(e){if(e instanceof c.SdkPrimaryMeetingJoinFrame)return e;var t=new c.SdkPrimaryMeetingJoinFrame;if(null!=e.credentials){if("object"!=typeof e.credentials)throw TypeError(".SdkPrimaryMeetingJoinFrame.credentials: object expected");t.credentials=c.SdkMeetingSessionCredentials.fromObject(e.credentials)}return t},e.toObject=function(e,t){t||(t={});var i={};return t.defaults&&(i.credentials=null),null!=e.credentials&&e.hasOwnProperty("credentials")&&(i.credentials=c.SdkMeetingSessionCredentials.toObject(e.credentials,t)),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkPrimaryMeetingJoinFrame"},e}(),c.SdkPrimaryMeetingJoinAckFrame=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkPrimaryMeetingJoinAckFrame;e.pos<i;){var r=e.uint32();e.skipType(7&r)}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null},e.fromObject=function(e){return e instanceof c.SdkPrimaryMeetingJoinAckFrame?e:new c.SdkPrimaryMeetingJoinAckFrame},e.toObject=function(){return{}},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkPrimaryMeetingJoinAckFrame"},e}(),c.SdkPrimaryMeetingLeaveFrame=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkPrimaryMeetingLeaveFrame;e.pos<i;){var r=e.uint32();e.skipType(7&r)}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null},e.fromObject=function(e){return e instanceof c.SdkPrimaryMeetingLeaveFrame?e:new c.SdkPrimaryMeetingLeaveFrame},e.toObject=function(){return{}},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkPrimaryMeetingLeaveFrame"},e}(),c.SdkMeetingSessionCredentials=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.attendeeId="",e.prototype.externalUserId="",e.prototype.joinToken="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.attendeeId&&Object.hasOwnProperty.call(e,"attendeeId")&&t.uint32(10).string(e.attendeeId),null!=e.externalUserId&&Object.hasOwnProperty.call(e,"externalUserId")&&t.uint32(18).string(e.externalUserId),null!=e.joinToken&&Object.hasOwnProperty.call(e,"joinToken")&&t.uint32(26).string(e.joinToken),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkMeetingSessionCredentials;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.attendeeId=e.string();break;case 2:n.externalUserId=e.string();break;case 3:n.joinToken=e.string();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.attendeeId&&e.hasOwnProperty("attendeeId")&&!d.isString(e.attendeeId)?"attendeeId: string expected":null!=e.externalUserId&&e.hasOwnProperty("externalUserId")&&!d.isString(e.externalUserId)?"externalUserId: string expected":null!=e.joinToken&&e.hasOwnProperty("joinToken")&&!d.isString(e.joinToken)?"joinToken: string expected":null},e.fromObject=function(e){if(e instanceof c.SdkMeetingSessionCredentials)return e;var t=new c.SdkMeetingSessionCredentials;return null!=e.attendeeId&&(t.attendeeId=String(e.attendeeId)),null!=e.externalUserId&&(t.externalUserId=String(e.externalUserId)),null!=e.joinToken&&(t.joinToken=String(e.joinToken)),t},e.toObject=function(e,t){t||(t={});var i={};return t.defaults&&(i.attendeeId="",i.externalUserId="",i.joinToken=""),null!=e.attendeeId&&e.hasOwnProperty("attendeeId")&&(i.attendeeId=e.attendeeId),null!=e.externalUserId&&e.hasOwnProperty("externalUserId")&&(i.externalUserId=e.externalUserId),null!=e.joinToken&&e.hasOwnProperty("joinToken")&&(i.joinToken=e.joinToken),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkMeetingSessionCredentials"},e}(),c.SdkVideoCodecCapability=function(){var e={},t=Object.create(e);return t[e[1]="VP8"]=1,t[e[2]="H264_BASELINE_PROFILE"]=2,t[e[3]="H264_CONSTRAINED_BASELINE_PROFILE"]=3,t[e[4]="H264_MAIN_PROFILE"]=4,t[e[5]="H264_HIGH_PROFILE"]=5,t[e[6]="H264_CONSTRAINED_HIGH_PROFILE"]=6,t[e[8]="VP9_PROFILE_0"]=8,t[e[11]="AV1_MAIN_PROFILE"]=11,t}(),e.exports=c,d.Long=void 0,o.configure()},1834(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Prom
2138ise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(4049),s=i(76572),a=r(i(40961));t.default=class{constructor(e){this.chimeClient=e}makeTwoDigits(e){return e>9?e.toString():"0"+e.toString()}hmac(e,t){const i=new o.Sha256(t);return i.update(e),i.digest()}getDateTimeString(){const e=new Date;return e.getUTCFullYear()+this.makeTwoDigits(e.getUTCMonth()+1)+this.makeTwoDigits(e.getUTCDate())+"T"+this.makeTwoDigits(e.getUTCHours())+this.makeTwoDigits(e.getUTCMinutes())+this.makeTwoDigits(e.getUTCSeconds())+"Z"}getDateString(e){return e.substring(0,e.indexOf("T"))}getSignatureKey(e,t,i,r){return n(this,void 0,void 0,function*(){const n=yield this.hmac(t,"AWS4"+e),o=yield this.hmac(i,n),s=yield this.hmac(r,o);return yield this.hmac("aws4_request",s)})}signURL(e,t,i,r,o,d,c){return n(this,void 0,void 0,function*(){const n=this.getDateTimeString(),l=this.getDateString(n);let u="";u=this.chimeClient.config.region instanceof Function?yield this.chimeClient.config.region():this.chimeClient.config.region;const h="host:"+r.toLowerCase()+"\n",p=l+"/"+u+"/"+i+"/aws4_request";let f;f=this.chimeClient.config.credentials instanceof Function?yield this.chimeClient.config.credentials():this.chimeClient.config.credentials;let m=new Map;m.set("X-Amz-Algorithm",["AWS4-HMAC-SHA256"]),m.set("X-Amz-Credential",[encodeURIComponent(f.accessKeyId+"/"+p)]),m.set("X-Amz-Date",[n]),m.set("X-Amz-Expires",["10"]),m.set("X-Amz-SignedHeaders",["host"]),f.sessionToken&&m.set("X-Amz-Security-Token",[encodeURIComponent(f.sessionToken)]),m.set(a.default.X_AMZN_VERSION,[encodeURIComponent(a.default.sdkVersion)]),m.set(a.default.X_AMZN_USER_AGENT,[encodeURIComponent(a.default.sdkUserAgentLowResolution)]),null==c||c.forEach((e,t)=>{const i=encodeURIComponent(t);e.sort().forEach(e=>{m.has(i)||m.set(i,[]),m.get(i).push(encodeURIComponent(e))})});let g="";m=new Map([...m.entries()].sort()),m.forEach((e,t)=>{e.forEach(e=>{g.length&&(g+="&"),g+=t+"="+e})});const v=e+"\n"+o+"\n"+g+"\n"+h+"\nhost\n"+s.toHex(yield this.hmac(d)),b=s.toHex(yield this.hmac(v)),y="AWS4-HMAC-SHA256\n"+n+"\n"+l+"/"+u+"/"+i+"/aws4_request\n"+b,S=yield this.getSignatureKey(f.secretAccessKey,l,u,i),w=s.toHex(yield this.hmac(y,S));return t+"://"+r+o+"?"+g+"&X-Amz-Signature="+w})}}},3739(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.SimulcastLayers=void 0,function(e){e[e.Low=0]="Low",e[e.LowAndMedium=1]="LowAndMedium",e[e.LowAndHigh=2]="LowAndHigh",e[e.Medium=3]="Medium",e[e.MediumAndHigh=4]="MediumAndHigh",e[e.High=5]="High"}(i=t.SimulcastLayers||(t.SimulcastLayers={})),t.default=i},65479(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.AudioLogEvent=void 0,function(e){e[e.DeviceChanged=0]="DeviceChanged",e[e.MutedLocal=1]="MutedLocal",e[e.UnmutedLocal=2]="UnmutedLocal",e[e.Connected=3]="Connected",e[e.ConnectFailed=4]="ConnectFailed",e[e.RedmicStartLoss=5]="RedmicStartLoss",e[e.RedmicEndLoss=6]="RedmicEndLoss"}(i=t.AudioLogEvent||(t.AudioLogEvent={})),t.default=i},74977(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(48107)),s=r(i(19542)),a=r(i(53551)),d=r(i(39358)),c=r(i(86216)),l=r(i(74015)),u=r(i(318)),h=r(i(2228)),p=i(38359),f=i(89419),m=r(i(65479)),g=r(i(37282));class v{constructor(e,t,i=v.INTERVAL_MS){this.audioVideoController=e,this.logger=t,this.interval=i,this.intervalScheduler=null,this.redRecoveryMetricReport=new d.default,this.lastRedRecoveryMetricReportConsumedTimestampMs=0,this.videoCodecDegradationHighEncodeCpuCount=0,this.videoCodecDegradationEncodeFailureCount=0,this.videoCodecDegradationConcurrentSendersCount=0,this.resolutionMap=new Map,this.metricsAddTime=(e,t,i)=>{},this.metricsLogEvent=(e,t)=>
2138{}}toAttribute(e){return this.toSuffix(e).substring(1)}toSuffix(e){return e.toLowerCase()===e?`_${e}`:e.toUpperCase()===e?`_${e.toLowerCase()}`:e.replace(/([A-Z][a-z]+)/g,function(e){return`_${e}`}).replace(/([A-Z][A-Z]+)/g,function(e){return`_${e}`}).toLowerCase()}logLatency(e,t,i){const n=this.toSuffix(e);this.logEventTime("meeting"+n,t,i)}logStateTimeout(e,t){const i=this.toSuffix(e);this.logEvent("meeting_session_state_timeout",Object.assign(Object.assign({},t),{state:`state${i}`}))}logAudioEvent(e,t){const i="audio"+this.toSuffix(m.default[e]);this.logEvent(i,t)}logVideoEvent(e,t){const i="video"+this.toSuffix(g.default[e]);this.logEvent(i,t)}logEventTime(e,t,i={}){const n=Object.assign(Object.assign({},i),{call_id:this.audioVideoController.configuration.meetingId,client_type:v.CLIENT_TYPE,metric_type:"latency"});this.logger.debug(()=>`[StatsCollector] ${e}: ${JSON.stringify(n)}`),this.metricsAddTime(e,t,n)}logMeetingSessionStatus(e){const t=`${e.statusCode()}`;this.logEvent(t);const i={status:t,status_code:`${e.statusCode()}`};this.logEvent("meeting_session_status",i),e.isTerminal()&&this.logEvent("meeting_session_stopped",i),e.isAudioConnectionFailure()&&this.logEvent("meeting_session_audio_failed",i),e.isFailure()&&this.logEvent("meeting_session_failed",i)}logLifecycleEvent(e,t){const i={lifecycle_event:`lifecycle${this.toSuffix(l.default[e])}`,lifecycle_event_code:`${e}`,lifecycle_event_condition:`condition${this.toSuffix(u.default[t])}`,lifecycle_event_condition_code:`${t}`};this.logEvent("meeting_session_lifecycle",i)}logEvent(e,t={}){const i=Object.assign(Object.assign({},t),{call_id:this.audioVideoController.configuration.meetingId,client_type:v.CLIENT_TYPE});this.logger.debug(()=>`[StatsCollector] ${e}: ${JSON.stringify(i)}`),this.metricsLogEvent(e,i)}start(e,t){return!this.intervalScheduler&&(this.logger.info("Starting StatsCollector"),this.signalingClient=e,this.videoStreamIndex=t,this.clientMetricReport=new o.default(this.logger,this.videoStreamIndex,this.audioVideoController.configuration.credentials.attendeeId),this.intervalScheduler=new h.default(this.interval),this.intervalScheduler.start(()=>n(this,void 0,void 0,function*(){yield this.getStatsWrapper()})),!0)}stop(){this.logger.info("Stopping StatsCollector"),this.intervalScheduler&&this.intervalScheduler.stop(),this.intervalScheduler=null}videoTileResolutionDidChange(e,t,i){this.resolutionMap.set(e,{width:t,height:i})}videoTileUnbound(e){this.resolutionMap.delete(e)}updateMetricValues(e,t){const i=t?this.clientMetricReport.streamMetricReports[Number(e.ssrc)]:this.clientMetricReport.globalMetricReport;let n;if(t){const t=i.mediaType,r=i.direction;n=this.clientMetricReport.getMetricMap(t,r),t===a.default.VIDEO&&r===s.default.DOWNSTREAM&&this.addRenderResolutionToVideoDownstreamMetrics(i,e.ssrc)}else n=this.clientMetricReport.getMetricMap();for(const t in e)t in n&&("number"==typeof e[t]?(i.previousMetrics[t]=i.currentMetrics[t],i.currentMetrics[t]=e[t]):"string"==typeof e[t]?i.currentStringMetrics[t]=e[t]:"object"==typeof e[t]?(i.previousObjectMetrics[t]=void 0===i.currentObjectMetrics[t]?e[t]:i.currentObjectMetrics[t],i.currentObjectMetrics[t]=e[t]):this.logger.error(`Unknown metric value type ${typeof e[t]} for metric ${t}`))}processRawMetricReports(e){this.clientMetricReport.currentSsrcs={};const t=Date.now();for(const t of e){if(this.isVideoSourceMetricReport(t))continue;const e=this.isStreamRawMetricReport(t);if(e){const e=this.clientMetricReport.streamMetricReports[Number(t.ssrc)];if(e)e.mediaType===a.default.VIDEO&&e.direction===s.default.UPSTREAM?e.streamId=this.videoStreamIndex.sendVideoStreamIdFromRid(t.rid):e.streamId=this.videoStreamIndex.streamIdForSSRC(Number(t.ssrc));else{const e=new c.default;e.mediaType=this.getMediaType(t),e.direction=this.getDirectionType(t),e.mediaType===a.default.VIDEO&&e.direction===s.default.UPSTREAM?e.streamId=this.videoStreamIndex.sendVideoStreamIdFromRid(t.rid):this.videoStreamIndex.allStreams().empty()||(e.streamId=this.videoStreamIndex.streamIdForSSRC(Number(t.ssrc)),void 0!==this.videoStreamIndex.groupIdForSSRC&&(e.groupId=this.videoStreamIndex.groupIdForSSRC(Number(t.ssrc)))),this.clientMetricReport.streamMetricReports[Number(t.ssrc)]=e}this.clientMetricReport.currentSsrcs[Number(t.ssrc)]=1}this.updateMetricValues(t,e)}this.clientMetricReport.removeDestroyedSsrcs(),this.clientMetricReport.previousTimestampMs=this.clientMetricReport.currentTimestampMs,this.clientMetricReport.currentTimestampMs=t,this.clientMetricReport.print()}addStreamMetricDimensionFrames(e,t){const i=this.clientMetricReport.getStreamDimensionMap();for(const n in t.currentStringMetrics)if(n in i){const r=p.SdkStreamDimension.create();r.type=i[n];const o=p.SdkDimensionValue.create();o.stringValue=t.currentStringMetrics[n],r.value=o,e.dimensions.push(r)}}addMetricFrame(e,t,i,n){const r=i.type,o=i.transform,s=i.source,a=t.streamMetricFrames.length,d=t.streamMetricFrames[a-1];if(r){const i=p.SdkMetric.create();
2138i.type=r,i.value=o(s||e,n),n?d.metrics.push(i):t.globalMetrics.push(i)}}addGlobalMetricsToProtobuf(e){const t=this.clientMetricReport.getMetricMap();for(const i in this.clientMetricReport.globalMetricReport.currentMetrics)this.addMetricFrame(i,e,t[i])}addStreamMetricsToProtobuf(e){for(const t in this.clientMetricReport.streamMetricReports){const i=this.clientMetricReport.streamMetricReports[t],n=p.SdkStreamMetricFrame.create();n.streamId=i.streamId,n.mediaType=i.mediaType===a.default.AUDIO?p.SdkStreamMediaType.AUDIO:p.SdkStreamMediaType.VIDEO,n.metrics=[],this.addStreamMetricDimensionFrames(n,i),e.streamMetricFrames.push(n);const r=this.clientMetricReport.getMetricMap(i.mediaType,i.direction);for(const n in r)this.hasMetricDependenciesInReport(n,i)&&this.addMetricFrame(n,e,r[n],Number(t))}}hasMetricDependenciesInReport(e,t){return"decoderLoss"===e&&void 0!==t.currentMetrics.concealedSamples&&void 0!==t.currentMetrics.totalSamplesReceived||"jitterBufferMs"===e&&void 0!==t.currentMetrics.jitterBufferDelay&&void 0!==t.currentMetrics.jitterBufferEmittedCount||e in t.currentMetrics||e in t.currentStringMetrics||e in t.currentObjectMetrics}makeClientMetricProtobuf(){const e=p.SdkClientMetricFrame.create();return e.globalMetrics=[],e.streamMetricFrames=[],this.addGlobalMetricsToProtobuf(e),this.addStreamMetricsToProtobuf(e),e}sendClientMetricProtobuf(e){this.signalingClient.sendClientMetrics(e)}isStreamRawMetricReport(e){return["inbound-rtp","inbound-rtp-red","outbound-rtp","remote-inbound-rtp","remote-outbound-rtp"].includes(e.type)||this.isVideoSourceMetricReport(e)}getMediaType(e){return"audio"===e.kind?a.default.AUDIO:a.default.VIDEO}getDirectionType(e){const{type:t}=e;return"inbound-rtp"===t||"remote-outbound-rtp"===t||"inbound-rtp-red"===t?s.default.DOWNSTREAM:s.default.UPSTREAM}isValidStandardRawMetric(e){return"inbound-rtp"===e.type||"inbound-rtp-red"===e.type||"outbound-rtp"===e.type||"remote-inbound-rtp"===e.type||"remote-outbound-rtp"===e.type||"candidate-pair"===e.type&&"succeeded"===e.state||"media-source"===e.type}isValidSsrc(e){let t=!0;return this.isStreamRawMetricReport(e)&&this.getDirectionType(e)===s.default.DOWNSTREAM&&this.getMediaType(e)===a.default.VIDEO&&(t=this.videoStreamIndex.streamIdForSSRC(Number(e.ssrc))>0),t}isValidRawMetricReport(e){return this.isValidStandardRawMetric(e)&&this.isValidSsrc(e)}filterRawMetricReports(e){const t=[];for(const i of e)this.isValidRawMetricReport(i)&&t.push(i);return t}handleRawMetricReports(e){const t=this.filterRawMetricReports(e);this.logger.debug(()=>`Filtered raw metrics : ${JSON.stringify(t)}`);const i=[];this.maybeAddRedRecoveryMetrics(i);const n=this.getVideoUpstreamSsrcFromRawMetricReports(t);null!==n&&this.addVideoCodecDegradationMetrics(i,n),this.clientMetricReport.customStatsReports=i,t.push(...i),this.processRawMetricReports(t),this.updateVideoSourceMetrics(t);const r=this.makeClientMetricProtobuf();this.sendClientMetricProtobuf(r),this.audioVideoController.forEachObserver(e=>{f.Maybe.of(e.metricsDidReceive).map(t=>t.bind(e)(this.clientMetricReport.clone()))})}getStatsWrapper(){return n(this,void 0,void 0,function*(){if(!this.audioVideoController.rtcPeerConnection)return;const e=[];try{const t=yield this.audioVideoController.rtcPeerConnection.getStats();this.clientMetricReport.rtcStatsReport=t,t.forEach(t=>{e.push(t)}),this.handleRawMetricReports(e)}catch(e){this.logger.error(e.message)}})}overrideObservableMetric(e,t){this.clientMetricReport.overrideObservableMetric(e,t)}recoveryMetricsDidReceive(e){this.redRecoveryMetricReport=e}maybeAddRedRecoveryMetrics(e){this.redRecoveryMetricReport.currentTimestampMs!==this.lastRedRecoveryMetricReportConsumedTimestampMs&&(e.push({kind:"audio",type:"inbound-rtp-red",ssrc:this.redRecoveryMetricReport.ssrc,timestamp:this.redRecoveryMetricReport.currentTimestampMs,totalAudioPacketsLost:this.redRecoveryMetricReport.totalAudioPacketsLost,totalAudioPacketsExpected:this.redRecoveryMetricReport.totalAudioPacketsExpected,totalAudioPacketsRecoveredRed:this.redRecoveryMetricReport.totalAudioPacketsRecoveredRed,totalAudioPacketsRecoveredFec:this.redRecoveryMetricReport.totalAudioPacketsRecoveredFec}),this.lastRedRecoveryMetricReportConsumedTimestampMs=this.redRecoveryMetricReport.currentTimestampMs)}videoCodecDegradationHighEncodeCpuDidReceive(){this.videoCodecDegradationHighEncodeCpuCount+=1}videoCodecDegradationEncodeFailureDidReceive(){this.videoCodecDegradationEncodeFailureCount+=1}videoCodecDegradationConcurrentSendersDidReceive(){this.videoCodecDegradationConcurrentSendersCount+=1}addVideoCodecDegradationMetrics(e,t){e.push({kind:"video",type:"outbound-rtp",ssrc:t,timestamp:Date.now(),videoCodecDegradationHighEncodeCpu:this.videoCodecDegradationHighEncodeCpuCount,videoCodecDegradationEncodeFailure:this.videoCodecDegradationEncodeFailureCount,videoCodecDegradationConcurrentSenders:this.videoCodecDegradationConcurrentSendersCount}),this.videoCodecDegradationHighEncodeCpuCount=0,this.videoCodecDegradationEncodeFailureCount=0,this.videoCodecDegradationConcurrentSendersCount=0}getVideoUpstreamSsrcFromRawMetricReports(e){for(const t of e)if(this.isStreamRawMetricReport(t)&&this.getMediaType(t)===a.default.VIDEO&&this.getDirectionType(t)===s.default.UPSTREAM)return t.ssrc;return null}isVideoSourceMetricReport(e){return"media-source"===e.type&&"video"===e.kind}addRenderResolutionToVideoDownstreamMetrics(e,t){const i=this.videoStreamIndex.streamIdForSSRC(Number(t)),n=this.videoStreamIndex.attendeeIdForStreamId(i);void 0!==i&&""!==n?this.resolutionMap.has(n)&&(e.currentMetrics.videoRenderWidth=this.resolutionMap.get(n).width,e.currentMetrics.videoRenderHeight=this.resolutionMap.get(n).height):this.logger.warn(`No attendee found for ssrc ${t}`)}updateVideoSourceMetrics(e){for(const t of e)if(this.isVideoSourceMetricReport(t)){const e=this.clientMetricReport.getVideoUpstreamSsrcs();if(0===e.length)return void this.logger.warn("No video upstream ssrcs found");for(const i of e)this.clientMetricReport.streamMetricReports[i].currentMetrics.videoInputWi
2138dth=t.width,this.clientMetricReport.streamMetricReports[i].currentMetrics.videoInputHeight=t.height}}}t.default=v,v.INTERVAL_MS=1e3,v.CLIENT_TYPE="amazon-chime-sdk-js"},37282(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.VideoLogEvent=void 0,function(e){e[e.InputAttached=0]="InputAttached",e[e.SendingFailed=1]="SendingFailed",e[e.SendingSuccess=2]="SendingSuccess"}(i=t.VideoLogEvent||(t.VideoLogEvent={})),t.default=i},33914(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(37282)),s=r(i(80414));class a extends s.default{constructor(e){super(e.logger),this.context=e,this.taskName="AttachMediaInputTask"}run(){return n(this,void 0,void 0,function*(){const e=this.context.transceiverController;e.setPeer(this.context.peer),e.setupLocalTransceivers();const t=this.context.activeAudioInput;if(t){const i=t.getAudioTracks();this.context.logger.info("attaching audio track to peer connection"),yield e.setAudioInput(i.length?i[0]:null)}else yield e.setAudioInput(null),this.context.logger.info("no audio track");this.setAudioCodecPreferences();const i=this.context.activeVideoInput;if(i){const t=i.getVideoTracks(),n=t.length?t[0]:null;if(this.context.logger.info("attaching video track to peer connection"),yield e.setVideoInput(n),this.context.enableSimulcast&&this.context.videoUplinkBandwidthPolicy){const t=this.context.videoUplinkBandwidthPolicy.chooseEncodingParameters();e.setEncodingParameters(t)}n&&this.context.statsCollector.logVideoEvent(o.default.InputAttached,this.context.videoDeviceInformation)}else yield e.setVideoInput(null),this.context.logger.info("no video track");this.context.videoSubscriptions=e.updateVideoTransceivers(this.context.videoStreamIndex,this.context.videosToReceive),this.context.videoStreamIndex.subscribeFrameSent()})}setAudioCodecPreferences(){const e=window.RTCRtpTransceiver&&"setCodecPreferences"in window.RTCRtpTransceiver.prototype,t=this.context.audioProfile.hasRedundancyEnabled();if(!e)return void this.context.logger.warn("Setting codec preferences not supported");const i=this.context.transceiverController.localAudioTransceiver(),{codecs:n}=RTCRtpSender.getCapabilities("audio");this.context.logger.debug(`Available audio codecs ${JSON.stringify(n,null,4)}`);const r=n.findIndex(e=>"audio/red"===e.mimeType);if(i){if(r>=0){const e=n[r];return n.splice(r,1),t?(n.unshift(e),this.context.logger.info("audio/red set as preferred codec")):this.context.logger.info("audio/red removed from preferred codec"),void i.setCodecPreferences(n)}this.context.logger.info("audio/red codec not supported")}else this.context.logger.error("audio transceiver is null")}}t.default=a},80414(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(19354)),s=r(i(5217));t.default=class{constructor(e){this.logger=e,this.taskName="BaseTask",this.parentTask=null,this.status=s.default.IDLE,this.run=this.baseRun.bind(this,this.run),this.cancel=this.baseCancel.bind(this,this.cancel)}once(...e){return new o.default(this.logger,this,e)}cancel(){}name(){return this.parentTask?`${this.parentTask.name()}/${this.taskName}`:this.taskName}setParent(e){this.parentTask=e}getStatus(){return this.status}logAndThrow(e){throw this.logger.info(e),new Error(e)}baseRun(e){return n(this,void 0,void 0,function*(){try{const t=Date.now();switch(this.logger.info(`running task ${this.name()}`),this.status){case s.default.RUNNING:this.logAndThrow(`${this.name()} is already running`);case s.default.CANCELED:this.logAndThrow(`${this.name()} was canceled before running`);case s.default.FINISHED:this.logAndThrow(`${this.name()} was already finished`)}this.status=s.default.RUNNING,yield e.call(this),this.logger.info(`${this.name()} took ${Math.round(Date.now()-t)} ms`)}catch(e){throw e}finally{this.status!==s.default.CANCELED&&(this.status=s.default.FINISHED)}})}baseCancel(e){this.status!==s.default.CANCELED&&this.status!==s.default.FINISHED?(this.logger.info(`canceling task ${this.name()}`),this.status=s.default.CANCELED,e.call(this)):this.logger.info(`Not canceling ${this.name()}: state is ${this.status}`)}}},94594(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Prom
2138ise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(80414));class s extends o.default{constructor(e){super(e.logger),this.context=e,this.taskName="CleanRestartedSessionTask"}run(){return n(this,void 0,void 0,function*(){this.context.resetConnectionSpecificState()})}}t.default=s},57979(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(10587)),s=r(i(80414));class a extends s.default{constructor(e){super(e.logger),this.context=e,this.taskName="CleanStoppedSessionTask",this.taskCanceler=null}cancel(){this.taskCanceler&&(this.taskCanceler.cancel(),this.taskCanceler=null)}run(){return n(this,void 0,void 0,function*(){try{this.context.signalingClient.ready()&&(this.context.signalingClient.closeConnection(),yield this.receiveWebSocketClosedEvent())}catch(e){throw e}finally{for(const e of this.context.removableObservers)e.removeObserver();this.context.resetConnectionSpecificState(),this.context.statsCollector.stop(),this.context.statsCollector=null,this.context.connectionMonitor.stop(),this.context.connectionMonitor=null,this.context.videoUplinkBandwidthPolicy.setTransceiverController&&this.context.videoUplinkBandwidthPolicy.setTransceiverController(void 0),this.context.videoDownlinkBandwidthPolicy.bindToTileController&&this.context.videoDownlinkBandwidthPolicy.bindToTileController(void 0);const e=this.context.videoTileController.getLocalVideoTile();e&&e.bindVideoStream("",!0,null,null,null,null),this.context.videoTileController.removeAllVideoTiles()}})}receiveWebSocketClosedEvent(){return new Promise((e,t)=>{const i=new class{constructor(e){this.signalingClient=e}cancel(){this.signalingClient.removeObserver(this),t(new Error("CleanStoppedSessionTask got canceled while waiting for the WebSocket closed event"))}handleSignalingClientEvent(t){t.type===o.default.WebSocketClosed&&(this.signalingClient.removeObserver(this),e())}}(this.context.signalingClient);this.taskCanceler=i,this.context.signalingClient.registerObserver(i)})}}t.default=a},15011(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(80414));class s extends o.default{constructor(e){super(e.logger),this.context=e,this.taskName="CreatePeerConnectionTask",this.removeTrackAddedEventListener=null,this.removeTrackRemovedEventListeners={},this.trackEvents=["ended","mute","unmute","isolationchange","overconstrained"],this.removeVideoTrackEventListeners={},this.trackAddedHandler=e=>{const t=e.track;if(this.context.logger.info(`received track event: kind=${t.kind} id=${t.id} label=${t.label}`),e.transceiver&&"inactive"===e.transceiver.currentDirection)return;if(0===e.streams.length)return void this.context.logger.warn("Track event but no stream");const i=e.streams[0];"audio"===t.kind?this.context.audioMixController.bindAudioStream(i):"video"!==t.kind||this.trackIsVideoInput(t)||this.addRemoteVideoTrack(t,i)}}removeObserver(){this.removeTrackAddedEventListener&&this.removeTrackAddedEventListener();for(const e in this.removeTrackRemovedEventListeners)this.removeTrackRemovedEventListeners[e]()}addPeerConnectionEventLogger(){const e=this.context.peer;e.addEventListener("connectionstatechange",()=>{this.context.logger.info(`peer connection state changed: ${e.connectionState}`)}),e.addEventListener("negotiationneeded",()=>{this.context.logger.info("peer connection negotiation is needed")}),e.addEventListener("icegatheringstatechange",()=>{this.context.logger.info(`peer connection ice gathering state changed: ${e.iceGatheringState}`)}),e.addEventListener("icecandidate",e=>{this.context.logger.info(`peer connection ice candidate: ${e.candidate?e.candidate.candidate:"(null)"}`)}),e.addEventListener("iceconnectionstatechange",()=>{this.context.logger.info(`peer connection ice connection state changed: ${e.iceConnectionState}`)})}run(){return n(this,void 0,void 0,function*(){this.context.removableObservers.push(this);const e=this.context.turnCredentials&&this.context.turnCredentials.uris.length>0?{iceServers:[{urls:this.context.turnCredentials.uris,username:this.context.turnCredentials.username,credential:this.context.turnCredentials.password,credentialType:"password"}],iceTransportPolicy:"relay"}:{};e.bundlePolicy=this.context.browserBehavior.requiresBundlePolicy(),e.sdpSemantics="unified-plan",!!window.RTCRtpScriptTransform||(e.encodedInsertableStreams=this.context.audioProfile.hasRedundancyEnabled()),this.context.peer?this.context.logger.info("reusing peer connection"):(this.context.logger.info("creating new peer connection"),this.context.peer=new RTCPeerConnection(e),this.addPeerConnectionEventLogger()),this.removeTrackAddedEventListener=()=>{this.context.peer&&this.context.peer.removeEventListener("track",this.trackAddedHandler),this.removeTrackAddedEventListener=null},this.context.peer.addEventListener("track",this.trackAddedHandler)})}trackIsVideoInput(e){return!!this.context.transceiverController.useTransceivers()&&(this.logger.debug(()=>"getting video track type"),this.context.transceiverController.trackIsVideoInput(e))}addRemoteVideoTrack(e,t){var i;const n=t.id,r=this.context.videoStreamIndex.attendeeIdForTrack(n);let o,s;if(this.context.videoTileController.getVideoTileForAttendeeId?(s=this.context.videoTileController.getVideoTileForAttendeeId(r),o=!!(null===(i=null==s?void 0:s.state())||void 0===i?void 0:i.boundVideoStream)):o=this.context.videoTileController.haveVideoTileForAttendeeId(r),o)return void this.context.logger.info(`Not adding remote track. Already have tile for attendeeId: ${r}`);s||(s=this.context.videoTileController.addVideoTile(),this.logger.info(`Created video tile ${s.id()}`));let a=this.context.videoStreamIndex.streamIdForTrack(n);void 0===a&&(this.logger.warn(`stream not found for tile=${s.id()} track=${n}`),a=null);let d,c,l=this.context.videoStreamIndex.groupIdForStreamId(a);void 0===l&&(l=null);for(let i=0;i<this.trackEvents.length;i++){const n=this.trackEvents[i],r=t.getVideoTracks();if(r&&r.length){const t=r[0],i=()=>{this.context.logger.info(`received the ${n} event for tile=${s.id()} id=${e.id} streamId=${a}`),"ended"===n&&this.removeRemoteVideoTrack(e,s.state())};t.addEventListener(n,i),this.removeVideoTrackEventListeners[e.id]||(this.removeVideoTrackEventListeners[e.id]=[]),this.removeVideoTrackEventListeners[e.id].push(()=>{t.removeEventListener(n,i)})}}if(e.getSettings){const t=e.getSettings();d=t.width,c=t.height}else{const t=e.getCapabilities();d=t.width,c=t.height}const u=this.context.videoStreamIndex.externalUserIdForTrack(n);s.bindVideoStream(r,!1,t,d,c,a,u,l),this.logger.info(`video track added, use tile=${s.id()} track=${n} streamId=${a} groupId=${l}`);const h="removetrack",p=t,f=()=>this.removeRemoteVideoTrack(e,s.state());this.removeTrackRemovedEventListeners[e.id]=()=>{p.removeEventListener(h,f),delete this.removeTrackRemovedEventListeners[e.id]},p.addEventListener(h,f)}removeRemoteVideoTrack(e,t){if(this.removeTrackRemovedEventListeners.hasOwnProperty(e.id)){this.removeTrackRemovedEventListeners[e.id]();for(const t of this.removeVideoTrackEventListeners[e.id])t();delete this.removeVideoTrackEventListeners[e.id]}this.logger.info(`video track ended, removing tile=${t.tileId} id=${e.id} stream=${t.streamId}`),t.streamId?this.context.videosPaused.remove(t.streamId):this.logger.warn(`no stream found for tile=${t.tileId}`),this.context.videoTileController.removeVideoTile(t.tileId)}}t.default=s,s.REMOVE_HANDLER_INTERVAL_MS=1e4},75192(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Prom
2138ise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(77376)),s=r(i(21287)),a=r(i(80414));class d extends a.default{constructor(e){super(e.logger),this.context=e,this.taskName="CreateSDPTask"}cancel(){if(this.cancelPromise){const e=new Error(`canceling ${this.name()}`);this.cancelPromise(e),delete this.cancelPromise}}sessionUsesAudio(){var e,t;return!!(null===(t=null===(e=this.context.meetingSessionConfiguration)||void 0===e?void 0:e.urls)||void 0===t?void 0:t.audioHostURL)}sessionUsesVideo(){let e;e=this.context.transceiverController.useTransceivers()?this.context.transceiverController.hasVideoInput():this.context.videoTileController.hasStartedLocalVideoTile();const t=!!this.context.videosToReceive&&!this.context.videosToReceive.empty(),i=e||t;return this.context.logger.info(`uses video: ${i} (enabled: true, sending: ${e}, receiving: ${t})`),i}run(){return n(this,void 0,void 0,function*(){const e={offerToReceiveAudio:this.sessionUsesAudio(),offerToReceiveVideo:this.sessionUsesVideo()};this.logger.info(`peer connection offerOptions: ${JSON.stringify(e)}`),yield new Promise((t,i)=>n(this,void 0,void 0,function*(){this.cancelPromise=e=>{i(e)};try{if(this.context.sdpOfferInit=yield this.context.peer.createOffer(e),this.context.logger.info("peer connection created offer"),this.context.previousSdpOffer&&new s.default(this.context.sdpOfferInit.s
2138dp).videoSendSectionHasDifferentSSRC(this.context.previousSdpOffer)){const e=new Error(`canceling ${this.name()} due to the meeting status code: ${o.default.IncompatibleSDP}`);return this.context.previousSdpOffer=null,void i(e)}t()}catch(e){i(e)}finally{delete this.cancelPromise}}))})}}t.default=d},99174(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(77376)),s=r(i(21287)),a=r(i(80414));class d extends a.default{constructor(e,t=d.CHROME_VPN_TIMEOUT_MS){super(e.logger),this.context=e,this.chromeVpnTimeoutMs=t,this.taskName="FinishGatheringICECandidatesTask"}removeEventListener(){this.context.peer&&(this.context.peer.removeEventListener("icecandidate",this.context.iceCandidateHandler),this.context.turnCredentials||this.context.peer.removeEventListener("icegatheringstatechange",this.context.iceGatheringStateEventHandler))}cancel(){let e;this.context.browserBehavior.requiresIceCandidateGatheringTimeoutWorkaround()&&this.chromeVpnTimeoutMs<this.context.meetingSessionConfiguration.connectionTimeoutMs&&Date.now()-this.startTimestampMs>this.chromeVpnTimeoutMs&&(e=new Error(`canceling ${this.name()} due to the meeting status code: ${o.default.ICEGatheringTimeoutWorkaround}`)),this.cancelPromise&&(e=e||new Error(`canceling ${this.name()}`),this.cancelPromise(e),delete this.cancelPromise)}run(){return n(this,void 0,void 0,function*(){if(this.context.peer||this.logAndThrow("session does not have peer connection; bypass ice gathering"),this.context.browserBehavior.requiresCheckForSdpConnectionAttributes()){if(new s.default(this.context.peer.localDescription.sdp).hasCandidatesForAllMLines())return void this.context.logger.info(`ice gathering already complete; bypass gathering, current local description ${this.context.peer.localDescription.sdp}`)}else this.context.logger.info(`iOS device does not require checking for connection attributes in SDP, current local description ${this.context.peer.localDescription.sdp}`);if(!this.context.browserBehavior.hasFirefoxWebRTC()&&"complete"!==this.context.peer.iceGatheringState||!new s.default(this.context.peer.localDescription.sdp).hasCandidates())try{yield new Promise((e,t)=>{this.cancelPromise=e=>{this.removeEventListener(),t(e)},this.context.turnCredentials||(this.context.iceGatheringStateEventHandler=()=>{if("complete"===this.context.peer.iceGatheringState)return this.removeEventListener(),e(),void delete this.cancelPromise},this.context.peer.addEventListener("icegatheringstatechange",this.context.iceGatheringStateEventHandler)),this.context.iceCandidateHandler=i=>{if(this.context.logger.info(`ice candidate: ${i.candidate?i.candidate.candidate:"(null)"} state: ${this.context.peer.iceGatheringState}`),i.candidate&&(s.default.isRTPCandidate(i.candidate.candidate)&&this.context.iceCandidates.push(i.candidate),this.context.turnCredentials&&this.context.iceCandidates.length>=1))return this.context.logger.info("gathered at least one relay candidate"),this.removeEventListener(),e(),void delete this.cancelPromise;"complete"===this.context.peer.iceGatheringState&&(this.context.logger.info("done gathering ice candidates"),this.removeEventListener(),new s.default(this.context.peer.localDescription.sdp).hasCandidates()&&0!==this.context.iceCandidates.length?(e(),delete this.cancelPromise):(t(new Error("no ice candidates were gathered")),delete this.cancelPromise))},this.context.peer.addEventListener("icecandidate",this.context.iceCandidateHandler),this.startTimestampMs=Date.now()})}catch(e){throw e}finally{this.startTimestampMs&&(this.context.iceGatheringDurationMs=Math.round(Date.now()-this.startTimestampMs))}else this.context.logger.info("ice gathering state is complete and candidates are in SDP;
2138 bypass gathering")})}}t.default=d,d.CHROME_VPN_TIMEOUT_MS=5e3},59811(e,t,i){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,i,n){void 0===n&&(n=i),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[i]}})}:function(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&n(t,e,i);return r(t,e),t},s=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const d=a(i(60169)),c=a(i(77376)),l=a(i(50656)),u=o(i(35928)),h=a(i(10587)),p=a(i(62059)),f=i(38359),m=a(i(80414));class g extends m.default{constructor(e){super(e.logger),this.context=e,this.taskName="JoinAndReceiveIndexTask",this.taskCanceler=null}cancel(){this.taskCanceler&&(this.taskCanceler.cancel(),this.taskCanceler=null)}run(){return s(this,void 0,void 0,function*(){const e=yield new Promise((e,t)=>{const i=this.context;i.turnCredentials=null;const n=new class{constructor(e){this.signalingClient=e}cancel(){this.signalingClient.removeObserver(this),t(new Error("JoinAndReceiveIndexTask got canceled while waiting for SdkIndexFrame"))}handleSignalingClientEvent(t){if(t.type===h.default.WebSocketClosed){let e=`The signaling connection was closed with code ${t.closeCode} and reason: ${t.closeReason}`;i.logger.warn(e);let n=c.default.SignalingBadRequest;return 4410===t.closeCode?(e="The meeting already ended.",i.logger.warn(e),n=c.default.MeetingEnded):t.closeCode>=4500&&t.closeCode<4600&&(n=c.default.SignalingInternalServerError),void i.audioVideoController.handleMeetingSessionStatus(new d.default(n),new Error(e))}if(t.type!==h.default.ReceivedSignalFrame)return;if(t.message.type===f.SdkSignalFrame.Type.JOIN_ACK){const e=t.message.joinack;if(!e)return void i.audioVideoController.handleMeetingSessionStatus(new d.default(c.default.SignalingRequestFailed),new Error("Join ACK message did not include expected frame"));if(e.videoSubscriptionLimit&&(i.videoSubscriptionLimit=e.videoSubscriptionLimit),i.serverSupportsCompression=e.wantsCompressedSdp,void 0!==e.defaultServerSideNetworkAdaption&&e.defaultServerSideNetworkAdaption!==u.default.Default&&void 0!==i.videoDownlinkBandwidthPolicy.setServerSideNetworkAdaption){const t=e.defaultServerSideNetworkAdaption;i.logger.info(`Overriding server side network adaption value to ${t}`),i.videoDownlinkBandwidthPolicy.setServerSideNetworkAdaption(u.convertServerSideNetworkAdaptionEnumFromSignaled(t))}return void(e&&e.turnCredentials?(i.turnCredentials=new l.default,i.turnCredentials.username=e.turnCredentials.username,i.turnCredentials.password=e.turnCredentials.password,i.turnCredentials.ttl=e.turnCredentials.ttl,i.turnCredentials.uris=function(e,t){const{urlRewriterMulti:i,urlRewriter:n}=t;return e.flatMap(e=>{if(i)return i(e)||[];const t=n(e);return t?[t]:[]}).filter(e=>!!e)}(e.turnCredentials.uris,i.meetingSessionConfiguration.urls)):i.logger.error("missing TURN credentials in JoinAckFrame"))}if(t.message.type!==f.SdkSignalFrame.Type.INDEX)return;this.signalingClient.removeObserver(this);const n=t.message.index;e(n)}}(this.context.signalingClient);this.context.signalingClient.registerObserver(n),this.taskCanceler=n,this.context.previousSdpAnswerAsString="",this.context.previousSdpOffer=null,this.context.serverSupportsCompression=!1;const r=new p.default(this.context.meetingSessionConfiguration.applicationMetadata);void 0!==this.context.videoDownlinkBandwidthPolicy.getServerSideNetworkAdaption&&void 0!==this.context.videoDownlinkBandwidthPolicy.supportedServerSideNetworkAdaptions&&(r.serverSideNetworkAdaption=this.context.videoDownlinkBandwidthPolicy.getServerSideNetworkAdaption(),r.supportedServerSideNetworkAdaptions=this.context.videoDownlinkBandwidthPolicy.supportedServerSideNetworkAdaptions()),void 0!==this.context.videoDownlinkBandwidthPolicy.wantsAllTemporalLayersInIndex&&(r.wantsAllTemporalLayersInIndex=this.context.videoDownlinkBandwidthPolicy.wantsAllTemporalLayersInIndex()),r.disablePerio
2138dicKeyframeRequestOnContentSender=this.context.meetingSessionConfiguration.disablePeriodicKeyframeRequestOnContentSender,this.context.signalingClient.join(r)});this.context.logger.info(`received first index ${JSON.stringify(e)}`),this.context.indexFrame=e})}}t.default=g},28708(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(10587)),s=i(38359),a=r(i(80414));class d extends a.default{constructor(e){super(e.logger),this.context=e,this.taskName="LeaveAndReceiveLeaveAckTask",this.taskCanceler=null}cancel(){this.taskCanceler&&(this.taskCanceler.cancel(),this.taskCanceler=null)}run(){return n(this,void 0,void 0,function*(){this.context.signalingClient.ready()&&(this.context.signalingClient.leave(),this.context.logger.info("sent leave"),yield this.receiveLeaveAck())})}receiveLeaveAck(){return new Promise((e,t)=>{const i=new class{constructor(e,t){this.signalingClient=e,this.logger=t}cancel(){this.signalingClient.removeObserver(this),t(new Error("LeaveAndReceiveLeaveAckTask got canceled while waiting for IndexFrame"))}handleSignalingClientEvent(t){if(t.isConnectionTerminated())return this.signalingClient.removeObserver(this),this.logger.info("LeaveAndReceiveLeaveAckTask connection terminated"),void e();t.type===o.default.ReceivedSignalFrame&&t.message.type===s.SdkSignalFrame.Type.LEAVE_ACK&&(this.signalingClient.removeObserver(this),this.logger.info("got leave ack"),e())}}(this.context.signalingClient,this.context.logger);this.taskCanceler=i,this.context.signalingClient.registerObserver(i)})}}t.default=d},51811(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(10587)),s=i(38359),a=r(i(80414));class d extends a.default{constructor(e){super(e.logger),this.context=e,this.taskName="ListenForVolumeIndicatorsTask",this.realtimeMuteAndUnmuteHandler=e=>{this.context.signalingClient.mute(e)}}run(){return n(this,void 0,void 0,function*(){this.context.removableObservers.push(this),this.context.signalingClient.registerObserver(this),this.context.realtimeController.realtimeSubscribeToMuteAndUnmuteLocalAudio(this.realtimeMuteAndUnmuteHandler)})}removeObserver(){this.context.realtimeController.realtimeUnsubscribeToMuteAndUnmuteLocalAudio(this.realtimeMuteAndUnmuteHandler),this.context.signalingClient.removeObserver(this)}handleSignalingClientEvent(e){if(e.type===o.default.ReceivedSignalFrame)if(e.message.type===s.SdkSignalFrame.Type.AUDIO_STREAM_ID_INFO){const t=e.message.audioStreamIdInfo;this.context.volumeIndicatorAdapter.sendRealtimeUpdatesForAudioStreamIdInfo(t)}else if(e.message.type===s.SdkSignalFrame.Type.AUDIO_METADATA){const t=e.message.audioMetadata;this.context.volumeIndicatorAdapter.sendRealtimeUpdatesForAudioMetadata(t)}}}t.default=d},99759(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(19542)),s=r(i(53551)),a=r(i(24152)),d=r(i(22967)),c=r(i(60588)),l=r(i(18412)),u=i(92801),h=r(i(60169)),p=r(i(77376)),f=r(i(96357)),m=r(i(10587)),g=i(38359),v=r(i(65479)),b=i(89419),y=r(i(80414));class S extends y.default{constructor(e,t,i){super(e.logger),this.context=e,this.initialConnectionHealthData=i,this.taskName="MonitorTask",this.prevSignalStrength=1,this.currentAvailableStreamAvgBitrates=null,this.hasSignalingError=!1,this.presenceHandlerCalled=!1,this.isResubscribeCheckPaused=!1,this.pendingMetricsReport=void 0,this.videoEncodingHealthPolicies=[],this.checkAndSendWeakSignalEvent=e=>{const t=e<1,i=this.prevSignalStrength<1,n=t?i?null:v.default.RedmicStartLoss:i?v.default.RedmicEndLoss:null;n&&this.context.statsCollector.logAudioEvent(n),this.prevSignalStrength=e}
2138,this.realtimeFatalErrorCallback=e=>{this.logger.error(`realtime error: ${e}: ${e.stack}`),this.context.audioVideoController.handleMeetingSessionStatus(new h.default(p.default.RealtimeApiFailed),e)},this.realtimeAttendeeIdPresenceHandler=(e,t)=>{var i;const n=this.context.meetingSessionConfiguration.credentials.attendeeId;this.logger.info(`attendeePresenceReceived: ${n}`),n===e&&t&&!this.presenceHandlerCalled&&(this.presenceHandlerCalled=!0,this.context.attendeePresenceDurationMs=Date.now()-this.context.startAudioVideoTimestamp,null===(i=this.context.eventController)||void 0===i||i.publishEvent("attendeePresenceReceived",{attendeePresenceDurationMs:this.context.attendeePresenceDurationMs,retryCount:this.context.retryCount}))},this.reconnectionHealthPolicy=new a.default(e.logger,Object.assign({},t),this.initialConnectionHealthData.clone()),this.unusableAudioWarningHealthPolicy=new c.default(Object.assign({},t),this.initialConnectionHealthData.clone()),this.sendingAudioFailureHealthPolicy=new d.default(e.logger,Object.assign({},t),this.initialConnectionHealthData.clone());for(const e of t.videoEncodingHealthPolicies)this.videoEncodingHealthPolicies.push(new e(Object.assign({},t),this.initialConnectionHealthData.clone()))}removeObserver(){this.context.audioVideoController.removeObserver(this),this.context.realtimeController.realtimeUnsubscribeToFatalError(this.realtimeFatalErrorCallback),this.context.realtimeController.realtimeUnsubscribeToLocalSignalStrengthChange(this.checkAndSendWeakSignalEvent),this.context.realtimeController.realtimeUnsubscribeToAttendeeIdPresence(this.realtimeAttendeeIdPresenceHandler),this.context.signalingClient.removeObserver(this)}run(){return n(this,void 0,void 0,function*(){this.context.removableObservers.push(this),this.context.audioVideoController.addObserver(this),this.context.realtimeController.realtimeSubscribeToFatalError(this.realtimeFatalErrorCallback),this.context.realtimeController.realtimeSubscribeToLocalSignalStrengthChange(this.checkAndSendWeakSignalEvent),this.context.realtimeController.realtimeSubscribeToAttendeeIdPresence(this.realtimeAttendeeIdPresenceHandler),this.context.connectionMonitor.start(),this.context.statsCollector.start(this.context.signalingClient,this.context.videoStreamIndex),this.context.signalingClient.registerObserver(this)})}pauseResubscribeCheck(){this.isResubscribeCheckPaused=!0}resumeResubscribeCheck(){this.isResubscribeCheckPaused&&(this.isResubscribeCheckPaused=!1,this.pendingMetricsReport&&(this.context.logger.info("Resuming resubscribe check with pending metrics report"),this.checkResubscribe(this.pendingMetricsReport)&&this.context.audioVideoController.update({needsRenegotiation:!1})))}videoTileDidUpdate(e){this.context.maxVideoTileCount=Math.max(this.context.maxVideoTileCount,this.context.videoTileController.getAllVideoTiles().length)}checkResubscribe(e){if(this.isResubscribeCheckPaused)return this.context.logger.info("Resubscribe check is paused, setting incoming client metric report as pending"),void(this.pendingMetricsReport=e);this.pendingMetricsReport=void 0;const t=e.getObservableMetrics(),i=t.availableOutgoingBitrate,n=t.nackCountReceivedPerSecond;let r=!1;this.context.videoDownlinkBandwidthPolicy.updateMetrics(e);const o=this.context.videoDownlinkBandwidthPolicy.wantsResubscribe();if(r=r||o,o){const e=this.context.videoDownlinkBandwidthPolicy.chooseSubscriptions();this.context.videosToReceive=e.truncate(this.context.videoSubscriptionLimit),e.size()>this.context.videosToReceive.size()&&this.logger.warn(`Video receive limit exceeded. Limiting the videos to ${this.context.videosToReceive.size()}. Please consider using AllHighestVideoBandwidthPolicy or VideoPriorityBasedPolicy along with chooseRemoteVideoSources api to select the video sources to be displayed.`),this.logger.info(`trigger resubscribe for down=${o}; videosToReceive=[${this.context.videosToReceive.array()}]`)}if(this.context.videoTileController.hasStartedLocalVideoTile()){this.context.videoUplinkBandwidthPolicy.updateConnectionMetric({uplinkKbps:i/1e3,nackCountPerSecond:n});const e=this.context.videoUplinkBandwidthPolicy.wantsResubscribe();r=r||e,e&&(this.logger.info(`trigger resubscribe for up=${e}; videosToReceive=[${this.context.videosToReceive.array()}]`),this.context.videoUplinkBandwidthPolicy.chooseEncodingParameters())}return r}metricsDidReceive(e){if(this.checkResubscribe(e)&&this.context.audioVideoController.update({needsRenegotiation:!1}),!this.currentAvailableStreamAvgBitrates)return;const t=e.streamMetricReports,i=new Map;for(const e in t)t[e].mediaType===s.default.VIDEO&&t[e].direction===o.default.DOWNSTREAM&&i.set(t[e].streamId,t[e])}connectionHealthDidChange(e){0===e.consecutiveMissedPongs&&this.context.reconnectController&&this.context.reconnectController.setLastActiveTimestampMs(Date.now()),this.applyHealthPolicy(this.reconnectionHealthPolicy,e,()=>{this.context.audioVideoController.handleMeetingSessionStatus(new h.default(p.default.ConnectionHealthReconnect),null)}),this.applyHealthPolicy(this.unusableAudioWarningHealthPolicy,e,()=>{var e;this.context.poorConnectionCount+=1,null===(e=this.context.eventController)||void 0===e||e.publishEvent("receivingAudioDropped",u.audioVideoEventAttributesFromState(this.context)),this.context.videoTileController.haveVideoTilesWithStreams()?this.context.audioVideoController.forEachObserver(e=>{b.Maybe.of(e.connectionDidSuggestStopVideo).map(t=>t.bind(e)())}):this.context.audioVideoController.forEachObserver(e=>{b.Maybe.of(e.connectionDidBecomePoor).map(t=>t.bind(e)())})},()=>{this.context.audioVideoController.forEachObserver(e=>{b.Maybe.of(e.connectionDidBecomeGood).map(t=>t.bind(e)())})});for(const t of this.videoEncodingHealthPolicies)this.applyHealthPolicy(t,e,()=>{switch(this.degradeVideoCodec(t.name),t.name){case l.default.VideoEncodingCpuHealth:this.context.statsCollector.videoCodecDegradationHighEncodeCpuDidReceive();break;case l.default.VideoEncodingFramerateHealth:this.context.statsCollector.videoCodecDegradationEncodeFailureDidReceive();break;case l.default.VideoConcurrentSendersHealth:this.context.statsCollector.videoCodecDegradationConcurrentSendersDidReceive()}});
2138if(this.context.isSessionConnected){const t=e=>{var t;const i=u.audioVideoEventAttributesFromState(this.context);null===(t=this.context.eventController)||void 0===t||t.publishEvent(e,i)};this.applyHealthPolicy(this.sendingAudioFailureHealthPolicy,e,()=>t("sendingAudioFailed"),()=>t("sendingAudioRecovered"))}}applyHealthPolicy(e,t,i,n){e.update(t);const r=e.healthIfChanged();null!==r&&(this.logger.info(`${e.name} value is now ${r}`),r<=e.minimumHealth()?b.Maybe.of(i).map(e=>e.bind(this)()):b.Maybe.of(n).map(e=>e.bind(this)()))}handleBitrateFrame(e){this.currentAvailableStreamAvgBitrates=e,e.serverAvailableOutgoingBitrate>0&&(this.logger.info(`Received server side estimation of available incoming bitrate ${e.serverAvailableOutgoingBitrate}kbps`),this.context.statsCollector.overrideObservableMetric("availableIncomingBitrate",1e3*e.serverAvailableOutgoingBitrate))}handleSignalingClientEvent(e){var t;if(e.type===m.default.WebSocketClosed&&this.isUnexpectedsignalingCloseCode(e.closeCode)||e.type===m.default.WebSocketError||e.type===m.default.WebSocketFailed?(this.hasSignalingError||(null===(t=this.context.eventController)||void 0===t||t.publishEvent("signalingDropped",Object.assign(Object.assign(Object.assign(Object.assign({},u.audioVideoEventAttributesFromState(this.context)),void 0!==e.closeCode&&{signalingCloseCode:e.closeCode}),void 0!==e.closeReason&&{signalingCloseReason:e.closeReason}),void 0!==e.wasClean&&{signalingCloseWasClean:e.wasClean})),this.hasSignalingError=!0),this.context.isSessionConnected&&this.context.audioVideoController.handleMeetingSessionStatus(new h.default(this.isInternalServerFailureCloseCode(e.closeCode)?p.default.SignalingInternalServerError:p.default.SignalingChannelClosedUnexpectedly),null)):e.type===m.default.WebSocketOpen&&(this.hasSignalingError=!1),e.type===m.default.ReceivedSignalFrame){if(e.message.type===g.SdkSignalFrame.Type.NOTIFICATION){switch(e.message.notification.level){case g.SdkNotificationFrame.NotificationLevel.INFO:this.logger.info(`Received notification from server: ${e.message.notification.message}`);break;case g.SdkNotificationFrame.NotificationLevel.WARNING:this.logger.warn(`Received warning from server: ${e.message.notification.message}`);break;case g.SdkNotificationFrame.NotificationLevel.ERROR:this.logger.error(`Received error from server: ${e.message.notification.message}`);break;default:this.logger.error(`Received notification from server with unknown level ${e.message.notification.level}: ${e.message.notification.message}`)}return}if(e.message.bitrates){const t=e.message.bitrates;this.context.videoStreamIndex.integrateBitratesFrame(t),this.context.videoDownlinkBandwidthPolicy.updateIndex(this.context.videoStreamIndex),this.handleBitrateFrame(e.message.bitrates)}const t=h.default.fromSignalFrame(e.message);e.message.type!==g.SdkSignalFrame.Type.PRIMARY_MEETING_JOIN_ACK&&t.statusCode()!==p.default.OK&&this.context.audioVideoController.handleMeetingSessionStatus(t,null)}}isUnexpectedsignalingCloseCode(e){return 1006===e||this.isInternalServerFailureCloseCode(e)}isInternalServerFailureCloseCode(e){return e>=4500&&e<4600}degradeVideoCodec(e){if(void 0!==this.context.meetingSupportedVideoSendCodecPreferences&&this.context.meetingSupportedVideoSendCodecPreferences.length>1&&!this.context.meetingSupportedVideoSendCodecPreferences[0].equals(f.default.h264ConstrainedBaselineProfile())&&!this.context.meetingSupportedVideoSendCodecPreferences[0].equals(f.default.vp8())){const t=[];for(const e of this.context.videoSendCodecPreferences)e.equals(this.context.meetingSupportedVideoSendCodecPreferences[0])||t.pu
2138sh(e);t.length>0?(this.context.logger.info(`Downgrading codec from ${this.context.meetingSupportedVideoSendCodecPreferences[0].codecName} to ${t[0].codecName} due to ${e}`),this.context.degradedVideoSendCodecs.push(this.context.meetingSupportedVideoSendCodecPreferences[0]),this.context.meetingSupportedVideoSendCodecPreferences=t,this.context.videoUplinkBandwidthPolicy.setMeetingSupportedVideoSendCodecs&&this.context.videoUplinkBandwidthPolicy.setMeetingSupportedVideoSendCodecs(this.context.meetingSupportedVideoSendCodecPreferences,this.context.videoSendCodecPreferences),this.context.audioVideoController.update({needsRenegotiation:!0})):this.context.logger.warn(`Degrading video codec failed since there is no alternative codec to select. Currently degraded codecs: ${this.context.degradedVideoSendCodecs.map(e=>e.codecName).join(",")}`)}}}t.default=S},58587(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{cancel(){}name(){return"NoOpTask"}run(){return Promise.resolve()}setParent(e){}}},19354(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(70305)),o=n(i(91365));t.default=class{constructor(e,t,i){this.logger=e,this.task=t,this.dependencies=i,this.canceled=!1}name(){return`${this.task.name()} (once)`}cancel(){if(!this.canceled){if(this.dependencies)for(const e of this.dependencies)e.cancel();this.logger.info(`Canceling ${this.name()}`),o.default.nextTick(()=>this.task.cancel()),this.canceled=!0,this.cancelPromise&&o.default.nextTick(()=>this.cancelPromise(new Error(`canceling ${this.name()}`)))}}logDependencies(){if(this.logger.getLogLevel()>r.default.INFO)return;if(!this.dependencies)return;const e=this.dependencies.filter(e=>e).map(e=>e.name()).join(", ");this.logger.info(`${this.task.name()} waiting for dependencies: ${e}`)}run(){if(this.promise)return this.promise;const e=this.dependencies?Promise.all(this.dependencies.map(e=>null==e?void 0:e.run())):Promise.resolve();return this.logDependencies(),this.ongoing=e.then(()=>this.task.run()),this.promise=new Promise((e,t)=>{this.cancelPromise=t,this.ongoing.then(e).catch(t)})}setParent(e){this.task.setParent(e)}}},90677(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(33774)),s=r(i(10587)),a=r(i(80414));class d extends a.default{constructor(e){super(e.logger),this.context=e,this.taskName="OpenSignalingConnectionTask",this.taskCanceler=null}cancel(){this.taskCanceler&&(this.taskCanceler.cancel(),this.taskCanceler=null)}run(){return n(this,void 0,void 0,function*(){const e=this.context.meetingSessionConfiguration;this.context.signalingClient.openConnection(new o.default(e.urls.signalingURL,e.credentials.joinToken));const t=Date.now();try{yield new Promise((e,t)=>{const i=new class{constructor(e){this.signalingClient=e}cancel(){this.signalingClient.removeObserver(this),t(new Error("OpenSignalingConnectionTask got canceled while waiting to open signaling connection"))}handleSignalingClientEvent(i){switch(i.type){case s.default.WebSocketOpen:this.signalingClient.removeObserver(this),e();break;case s.default.WebSocketFailed:this.signalingClient.removeObserver(this),t(new Error("WebSocket connection failed"))}}}(this.context.signalingClient);this.context.signalingClient.registerObserver(i),this.taskCanceler=i})}catch(e){throw e}finally{this.context.signalingOpenDurationMs=Math.round(Date.now()-t),this.logger.info(`Opening signaling connection took ${this.context.signalingOpenDurationMs} ms`)}})}}t.default=d},28763(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})}
2138,r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(80414));class s extends o.default{constructor(e,t,i){super(e),this.taskName=t,this.tasksToRunParallel=i;for(const e of i)e.setParent(this)}cancel(){for(const e of this.tasksToRunParallel)this.logger.info(`canceling parallel group task ${this.name()} subtask ${e.name()}`),e.cancel()}run(){return n(this,void 0,void 0,function*(){const e=[];for(const t of this.tasksToRunParallel)this.logger.info(`parallel group task ${this.name()} running subtask ${t.name()}`),e.push(t.run());const t=[];for(let i=0;i<e.length;i++){try{yield e[i]}catch(e){t.push(`task ${this.tasksToRunParallel[i].name()} failed: ${e.message}`)}this.logger.info(`parallel group task ${this.name()} completed subtask ${this.tasksToRunParallel[i].name()}`)}if(t.length>0){const e=t.join(", ");this.logAndThrow(`parallel group task ${this.name()} failed for tasks: ${e}`)}this.logger.info(`parallel group task ${this.name()} completed`)})}}t.default=s},14023(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(53028),s=r(i(10587)),a=i(38359),d=r(i(80414));class c extends d.default{constructor(e,t,i){super(e.logger),this.context=e,this.credentials=t,this.completionCallback=i,this.taskName="PromoteToPrimaryMeetingTask",this.taskCanceler=null}cancel(){this.taskCanceler&&(this.taskCanceler.cancel(),this.taskCanceler=null)}run(){return n(this,void 0,void 0,function*(){this.context.signalingClient.ready()?(this.context.signalingClient.promoteToPrimaryMeeting(this.credentials),this.context.logger.info("Sent request to join primary meeting"),yield this.receivePrimaryMeetingJoinAck()):this.completionCallback(new o.MeetingSessionStatus(o.MeetingSessionStatusCode.SignalingRequestFailed))})}receivePrimaryMeetingJoinAck(){return new Promise((e,t)=>{const i=new class{constructor(e,t,i){this.signalingClient=e,this.completionCallback=t,this.logger=i}cancel(){this.signalingClient.removeObserver(this),this.completionCallback(new o.MeetingSessionStatus(o.MeetingSessionStatusCode.SignalingRequestFailed)),e()}handleSignalingClientEvent(t){t.isConnectionTerminated()&&(this.signalingClient.removeObserver(this),this.logger.info("PromoteToPrimaryMeetingTask connection terminated"),this.completionCallback(new o.MeetingSessionStatus(o.MeetingSessionStatusCode.SignalingRequestFailed)),e()),t.type===s.default.ReceivedSignalFrame&&t.message.type===a.SdkSignalFrame.Type.PRIMARY_MEETING_JOIN_ACK&&(this.signalingClient.removeObserver(this),this.logger.info("Got a primary meeting join ACK"),this.completionCallback(o.MeetingSessionStatus.fromSignalFrame(t.message)),e())}}(this.context.signalingClient,this.completionCallback,this.context.logger);this.taskCanceler=i,this.context.signalingClient.registerObserver(i)})}}t.default=c},44358(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(80414));class s extends o.default{constructor(e){super(e.logger),this.context=e,this.taskName="ReceiveAudioInputTask"}run(){var e,t;return n(this,void 0,void 0,function*(){if(!(null===(t=null===(e=this.context.meetingSessionConfiguration)||void 0===e?void 0:e.urls)||void 0===t?void 0:t.audioHostURL))return void this.context.logger.info("No audio connection: not acquiring audio input");if(this.context.activeAudioInput)return void this.context.logger.info("an active audio input exists");let i;try{i=yield this.context.mediaStreamBroker.acquireAudioInputStream()}catch(e){this.context.logger.warn("could not acquire audio input from current device")}i?this.context.activeAudioInput=i:this.context.logger.warn("an audio input is not available")})}}t.default=s},6966(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Prom
2138ise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(10587)),s=i(38359),a=r(i(80414));class d extends a.default{constructor(e){super(e.logger),this.context=e,this.taskName="ReceiveRemoteVideoPauseResume",this.serverPausedVideoTileIds=new Set}removeObserver(){this.context.signalingClient.removeObserver(this)}run(){return n(this,void 0,void 0,function*(){this.context.signalingClient.registerObserver(this),this.context.removableObservers.push(this)})}updateSubscribedGroupdIds(e){const t=new Set;for(const i of e){const e=this.context.videoStreamIndex.attendeeIdForGroupId(i);if(0===e.length){this.logger.warn(`Could not find attendee ID for newly subscribed group ID ${i}`);continue}let n=this.context.videoTileController.getVideoTileForAttendeeId(e);void 0===n&&(this.logger.info(`No existing video tile for attendee ID ${e} with new group ID ${i}. Creating new one.`),n=this.context.videoTileController.addVideoTile(),n.bindVideoStream(e,!1,null,0,0,0,null)),t.add(n.id())}this.serverPausedVideoTileIds.forEach(e=>{t.has(e)||this.serverPausedVideoTileIds.delete(e)})}handleSignalingClientEvent(e){if(e.type!==o.default.ReceivedSignalFrame||e.message.type!==s.SdkSignalFrame.Type.PAUSE&&e.message.type!==s.SdkSignalFrame.Type.RESUME)return;const t=e.message.pause,i=e.message.type;if(this.logger.info(`Received new ${i===s.SdkSignalFrame.Type.PAUSE?"pause":"resume"} frame: ${JSON.stringify(t)}`),!t||void 0===this.context.videoTileController.getVideoTileForAttendeeId||void 0===this.context.videoDownlinkBandwidthPolicy.forEachObserver||void 0===this.context.videoStreamIndex.attendeeIdForGroupId)return;const n=t.groupIds.map(e=>{const t=this.context.videoStreamIndex.attendeeIdForGroupId(e);if(0!==t.length)return this.context.videoTileController.getVideoTileForAttendeeId(t);this.logger.warn(`Could not find attendee ID for paused group ID ${e}`)});for(const e of n)void 0!==e&&(i===s.SdkSignalFrame.Type.PAUSE?e.state().paused||(this.serverPausedVideoTileIds.add(e.id()),this.context.videoDownlinkBandwidthPolicy.forEachObserver(t=>{t.tileWillBePausedByDownlinkPolicy(e.id())}),e.pause()):e.state().paused&&this.serverPausedVideoTileIds.has(e.id())&&(this.serverPausedVideoTileIds.delete(e.id()),this.context.videoDownlinkBandwidthPolicy.forEachObserver(t=>{t.tileWillBeUnpausedByDownlinkPolicy(e.id())}),e.unpause()))}}t.default=d},47689(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(38148)),s=i(38359),a=r(i(80414));class d extends a.default{constructor(e){super(e.logger),this.context=e,this.taskName="ReceiveVideoInputTask"}checkAndApplyVideoConstraint(e,t,i,r,o){return n(this,void 0,void 0,function*(){const n=e?this.context.meetingSessionConfiguration.meetingFeatures.contentMaxResolution:this.context.meetingSessionConfiguration.meetingFeatures.videoMaxResolution;if(!e&&i<=n.videoWidth&&r<=n.videoHeight&&o<=n.videoFrameRate)return;const s={resizeMode:{ideal:"none"},width:{max:n.videoWidth},height:{max:n.videoHeight},frameRate:{ideal:o,max:n.videoFrameRate}};try{yield t.applyConstraints(s)}catch(t){this.context.logger.info(`Could not apply constraint for video track (content = ${e})`)}})}run(){return n(this,void 0,void 0,function*(){const e=this.context.videoDuplexMode===s.SdkStreamServiceType.RX||this.context.videoDuplexMode===s.SdkStreamServiceType.DUPLEX;if(this.context.videoTileController.hasStartedLocalVideoTile()?this.context.videoDuplexMode=e?s.SdkStreamServiceType.DUPLEX:s.SdkStreamServiceType.TX:this.context.videoDuplexMode=e?s.SdkStreamServiceType.RX:0,this.context.videoCaptureAndEncodeParameter=this.context.videoUplinkBandwidthPolicy.chooseCaptureAndEncodeParameters(),!this.context.videoTileController.hasStartedLocalVideoTile())return this.context.logger.info("has not started local video tile"),void(this.context.activeVideoInput&&(this.context.activeVideoInput=void 0,this.context.videoStreamIndex.integrateUplinkPolicyDecision([])));const t=this.context.videoTileController.getLocalVideoTile();let i;try{i=yield this.context.mediaStreamBroker.acquireVideoInputStream()}catch(e){this.context.logger.warn("could not acquire video input from current device"),this.context.videoTileController.stopLocalVideoTile()}if(this.context.enableSimulcast){const e=this.context.videoUplinkBandwidthPolicy.chooseEncodingParameters();this.context.videoStreamIndex.integrateUplinkPolicyDecision(Array.from(e.values())
2138)}if(this.context.activeVideoInput=i,i){const e=i.getVideoTracks();if(!e||0===e.length)return;const n=this.context.meetingSessionConfiguration.credentials.attendeeId,r=new o.default(n).hasModality(o.default.MODALITY_CONTENT),s=e[0].getSettings();this.checkAndApplyVideoConstraint(r,e[0],s.width,s.height,s.frameRate);const a=this.context.audioVideoController.configuration.credentials.externalUserId;t.bindVideoStream(n,!0,i,s.width,s.height,null,a);for(const t of e)this.logger.info(`Using video device label=${t.label} id=${t.id}`),this.context.videoDeviceInformation.current_camera_name=t.label,this.context.videoDeviceInformation.current_camera_id=t.id}})}}t.default=d},72313(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(79375)),s=r(i(38148)),a=r(i(96357)),d=r(i(10587)),c=i(38359),l=i(89419),u=r(i(80414));class h extends u.default{constructor(e){super(e.logger),this.context=e,this.taskName="ReceiveVideoStreamIndexTask",this.isIngestionPaused=!1,this.pendingIndex=null}removeObserver(){this.context.signalingClient.removeObserver(this)}run(){return n(this,void 0,void 0,function*(){this.handleIndexFrame(this.context.indexFrame),this.context.signalingClient.registerObserver(this),this.context.removableObservers.push(this)})}handleSignalingClientEvent(e){if(e.type!==d.default.ReceivedSignalFrame||e.message.type!==c.SdkSignalFrame.Type.INDEX)return;const t=e.message.index;this.context.logger.info(`received new index ${JSON.stringify(t)}`),this.handleIndexFrame(t)}pauseIngestion(){this.isIngestionPaused=!0}resumeIngestion(){this.isIngestionPaused&&(this.isIngestionPaused=!1,this.pendingIndex&&(this.context.logger.info("Resuming index ingestion with pending index"),this.handleIndexFrame(this.pendingIndex)))}handleIndexFrame(e){if(!e)return;if(this.isIngestionPaused)return this.context.logger.info("Index ingestion is paused, setting most recent index as pending"),void(this.pendingIndex=e);this.pendingIndex=null;const t=this.context.audioVideoController.configuration.credentials.attendeeId;e.sources=e.sources.filter(e=>{const i=new s.default(e.attendeeId);return!(i.base()===t&&i.hasModality(s.default.MODALITY_CONTENT))});const{videoStreamIndex:i,videoDownlinkBandwidthPolicy:n,videoUplinkBandwidthPolicy:r}=this.context,o=i.allVideoSendingSourcesExcludingSelf(t);i.integrateIndexFrame(e),n.updateIndex(i),r.updateIndex(i),this.resubscribe(n,r),this.updateVideoAvailability(e),this.handleIndexVideosPausedAtSource(),e.supportedReceiveCodecIntersection.length>0&&this.handleSupportedVideoReceiveCodecIntersection(e);const a=i.allVideoSendingSourcesExcludingSelf(t);this.areVideoSourcesEqual(o,a)||this.context.audioVideoController.forEachObserver(e=>{l.Maybe.of(e.remoteVideoSourcesDidChange).map(t=>t.bind(e)(a))})}areVideoSourcesEqual(e,t){if(e.length!==t.length)return!1;const i=(e,t)=>e.attendee.attendeeId.localeCompare(t.attendee.attendeeId),n=[...e].sort(i),r=[...t].sort(i);for(let e=0;e<n.length;e++)if(n[e].attendee.attendeeId!==r[e].attendee.attendeeId)return!1;return!0}resubscribe(e,t){const i=e.wantsResubscribe(),n=(this.context.videoDuplexMode===c.SdkStreamServiceType.TX||this.context.videoDuplexMode===c.SdkStreamServiceType.DUPLEX)&&t.wantsResubscribe(),r=i||n;if(this.logger.info(`should resubscribe: ${r} (downlink: ${i} uplink: ${n})`),!r)return;const o=e.chooseSubscriptions();this.context.videosToReceive=o.truncate(this.context.videoSubscriptionLimit),o.size()>this.context.videosToReceive.size()&&this.logger.warn(`Video receive limit exceeded. Limiting the videos to ${this.context.videosToReceive.size()}. Please consider using AllHighestVideoBandwidthPolicy or VideoPriorityBasedPolicy along with chooseRemoteVideoSources api to select the video sources to be displayed.`),this.context.videoCaptureAndEncodeParameter=t.chooseCaptureAndEncodeParameters(),this.logger.info(`trigger resubscribe for up=${n} down=${i}; videosToReceive=[${this.context.videosToReceive.array()}
2138] captureParams=${JSON.stringify(this.context.videoCaptureAndEncodeParameter)}`),this.context.audioVideoController.update({needsRenegotiation:!1})}updateVideoAvailability(e){if(!this.context.videosToReceive)return void this.logger.error("videosToReceive must be set in the meeting context.");const t=new o.default;t.remoteVideoAvailable=!this.context.videosToReceive.empty(),t.canStartLocalVideo=!e.atCapacity,this.context.lastKnownVideoAvailability&&this.context.lastKnownVideoAvailability.equal(t)||(this.context.lastKnownVideoAvailability=t.clone(),this.context.audioVideoController.forEachObserver(e=>{l.Maybe.of(e.videoAvailabilityDidChange).map(i=>i.bind(e)(t.clone()))}))}handleSupportedVideoReceiveCodecIntersection(e){if(void 0===this.context.videoSendCodecPreferences)return;const t=[];let i=!1;for(const i of this.context.videoSendCodecPreferences)if(this.context.degradedVideoSendCodecs.some(e=>i.equals(e)))this.logger.info(`Skipping ${i.codecName} since the codec has been identfied as degraded`);else for(const n of e.supportedReceiveCodecIntersection)if(i.equals(a.default.fromSignaled(n))){t.push(i);break}if(t.length>0){const e=t.find(e=>this.context.prioritizedSendVideoCodecCapabilities.some(t=>e.equals(t)));void 0===this.context.currentVideoSendCodec||void 0!==e&&this.context.currentVideoSendCodec.equals(e)||(i=!0),this.context.meetingSupportedVideoSendCodecPreferences=t}else this.logger.warn("Interesection of meeting receive codec support and send codec preferences has no overlap, falling back to just values provided in `setVideoCodecSendPreferences`"),this.context.meetingSupportedVideoSendCodecPreferences=void 0;this.context.videoUplinkBandwidthPolicy.setMeetingSupportedVideoSendCodecs&&this.context.videoUplinkBandwidthPolicy.setMeetingSupportedVideoSendCodecs(this.context.meetingSupportedVideoSendCodecPreferences,this.context.videoSendCodecPreferences),i&&this.context.audioVideoController.update({needsRenegotiation:!0})}handleIndexVideosPausedAtSource(){const e=this.context.videoStreamIndex.streamsPausedAtSource();for(const t of this.context.videoTileController.getAllVideoTiles()){const i=t.state();e.contain(i.streamId)?t.markPoorConnection()&&this.logger.info(`marks the tile ${i.tileId} as having a poor connection`):t.unmarkPoorConnection()&&this.logger.info(`unmarks the tile ${i.tileId} as having a poor connection`)}}}t.default=h},56282(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(80414));class o extends r.default{constructor(e,t,i="RunnableTask"){super(e),this.fn=t,this.taskName=i}run(){return this.fn().then(()=>{})}}t.default=o},35299(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(26315)),s=r(i(10587)),a=i(38359),d=r(i(80414));class c extends d.default{constructor(e){super(e.logger),this.context=e,this.taskName="SendAndReceiveDataMessagesTask",this.sendDataMessageHandler=(e,t,i)=>{if(this.context.signalingClient.ready()){let n;n=t instanceof Uint8Array?t:"string"==typeof t?(new TextEncoder).encode(t):(new TextEncoder).encode(JSON.stringify(t)),this.validateDataMessage(e,n,i);const r=a.SdkDataMessagePayload.create();r.topic=e,r.lifetimeMs=i,r.data=n;const o=a.SdkDataMessageFrame.create();o.messages=[r],this.context.signalingClient.sendDataMessage(o)}else this.context.logger.error("Cannot send data message because signaling client is not ready")}}run(){return n(this,void 0,void 0,function*(){this.context.removableObservers.push(this),this.context.signalingClient.registerObserver(this),this.context.realtimeController.realtimeSubscribeToSendDataMessage(this.sendDataMessageHandler)})}removeObserver(){this.context.realtimeController.realtimeUnsubscribeFromSendDataMessage(this.sendDataMessageHandler),this.context.signalingClient.removeObserver(this)}handleSignalingClientEvent(e){if(e.type===s.default.ReceivedSignalFrame&&e.message.type===a.SdkSignalFrame.Type.DATA_MESSAGE)for(const t of e.message.dataMessage.messages){const e=new o.default(t.ingestTimeNs/1e6,t.topic,t.data,t.senderAttendeeId,t.senderExternalUserId,0===t.ingestTimeNs);this.context.realtimeController.realtimeReceiveDataMessage(e)}}validateDataMessage(e,t,i){if(!c.TOPIC_REGEX.test(e))throw new Error("Invalid topic");if(t.length>c.DATA_SIZE)throw new Error("Data size has to be less than 2048 bytes");if(i&&i<0)throw new Error("The life time of the message has to be non negative")}}t.default=c,c.TOPIC_REGEX=new RegExp(/^[a-zA-Z0-9_-]{1,36}$/),c.DATA_SIZE=2048},74478(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Prom
2138ise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(80414)),s=r(i(5217));class a extends o.default{constructor(e,t,i){super(e),this.taskName=t,this.tasksToRunSerially=i,this.currentTask=null;for(const e of i)e.setParent(this)}cancel(){this.currentTask&&(this.logger.info(`canceling serial group task ${this.name()} subtask ${this.currentTask.name()}`),this.currentTask.cancel())}run(){return n(this,void 0,void 0,function*(){for(const e of this.tasksToRunSerially){this.getStatus()===s.default.CANCELED&&this.logAndThrow(`serial group task ${this.name()} was canceled`);try{this.logger.info(`serial group task ${this.name()} running subtask ${e.name()}`),this.currentTask=e,yield e.run(),this.logger.info(`serial group task ${this.name()} completed subtask ${e.name()}`)}catch(e){this.logAndThrow(`serial group task ${this.name()} was canceled due to subtask ${this.currentTask.name()} error: ${e.message}`)}finally{this.currentTask=null}}this.logger.info(`serial group task ${this.name()} completed`)})}}t.default=a},74218(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(98824)),s=r(i(21287)),a=r(i(80414));class d extends a.default{constructor(e){super(e.logger),this.context=e,this.taskName="SetLocalDescriptionTask"}cancel(){if(this.cancelPromise){const e=new Error(`canceling ${this.name()}`);this.cancelPromise(e),delete this.cancelPromise}}run(){return n(this,void 0,void 0,function*(){const e=this.context.peer;
2138let t=this.context.sdpOfferInit.sdp;if(this.context.browserBehavior.supportsVideoLayersAllocationRtpHeaderExtension()&&(t=new s.default(t).withVideoLayersAllocationRtpHeaderExtension(this.context.previousSdpOffer).sdp),this.context.browserBehavior.supportsDependencyDescriptorRtpHeaderExtension()&&void 0!==this.context.videoUplinkBandwidthPolicy.wantsVideoDependencyDescriptorRtpHeaderExtension&&this.context.videoUplinkBandwidthPolicy.wantsVideoDependencyDescriptorRtpHeaderExtension()&&(t=new s.default(t).withDependencyDescriptorRtpHeaderExtension(this.context.previousSdpOffer).sdp),(new o.default).requiresDisablingH264Encoding()&&(t=new s.default(t).removeH264SupportFromSendSection().sdp),t=new s.default(t).withStartingVideoSendBitrate(1e3).sdp,void 0!==this.context.videoSendCodecPreferences&&this.context.videoSendCodecPreferences.length>0&&(t=new s.default(t).withVideoSendCodecPreferences(void 0!==this.context.meetingSupportedVideoSendCodecPreferences?this.context.meetingSupportedVideoSendCodecPreferences:this.context.videoSendCodecPreferences).sdp),this.context.audioProfile&&(t=new s.default(t).withAudioMaxAverageBitrate(this.context.audioProfile.audioBitrateBps).sdp,this.context.audioProfile.isStereo()&&(t=new s.default(t).withStereoAudio().sdp),this.context.audioProfile.hasRedundancyEnabled())){const e=new s.default(t).getAudioPayloadTypes();this.context.transceiverController&&this.context.transceiverController.setAudioPayloadTypes&&this.context.transceiverController.setAudioPayloadTypes(e)}this.logger.debug(()=>`local description is >>>${t}<<<`);const i={type:"offer",sdp:t,toJSON:null};yield new Promise((t,r)=>n(this,void 0,void 0,function*(){this.cancelPromise=e=>{r(e)};try{yield e.setLocalDescription(i),t()}catch(e){r(e)}finally{delete this.cancelPromise}})),this.context.logger.info("set local description")})}}t.default=d},97632(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(38148)),s=r(i(21287)),a=r(i(96357)),d=r(i(80414));class c extends d.default{constructor(e){super(e.logger),this.context=e,this.taskName="SetRemoteDescriptionTask"}cancel(){this.cancelICEPromise&&this.cancelICEPromise()}run(){var e;return n(this,void 0,void 0,function*(){this.context.peer||this.logAndThrow("session does not have peer connection; bypass set remote description");let t=this.context.sdpAnswer;t=new s.default(t).withoutServerReflexiveCandidates().sdp,this.context.audioProfile&&(t=new s.default(t).withAudioMaxAverageBitrate(this.context.audioProfile.audioBitrateBps).sdp,this.context.audioProfile.isStereo()&&(t=new s.default(t).withStereoAudio().sdp)),void 0!==this.context.videoSendCodecPreferences&&this.context.videoSendCodecPreferences.length>0&&(t=new s.default(t).withVideoSendCodecPreferences(void 0!==this.context.meetingSupportedVideoSendCodecPreferences?this.context.meetingSupportedVideoSendCodecPreferences:this.context.videoSendCodecPreferences).sdp),this.context.prioritizedSendVideoCodecCapabilities=new s.default(t).prioritizedSendVideoCodecCapabilities(),this.context.currentVideoSendCodec=this.context.prioritizedSendVideoCodecCapabilities.length>0?this.context.prioritizedSendVideoCodecCapabilities[0]:void 0;const i=this.context.activeVideoInput;if(void 0!==i){const t=this.context.audioVideoController.configuration.credentials.attendeeId,n=new o.default(t).hasModality(o.default.MODALITY_CONTENT),r=i.getVideoTracks()[0];n&&((null===(e=this.context.currentVideoSendCodec)||void 0===e?void 0:e.codecName)===a.default.av1Main().codecName?(r.contentHint="text",this.logger.info(`Setting content hint to text for AV1, attendee: ${t}`)):this.context.audioVideoController.configuration.enableSVC&&(r.contentHint="motion",this.logger.info(`Setting content hint to motion to enable SVC, attendee: ${t}`)))}this.logger.info(`processed remote description is >>>${t}<<<`);const n={type:"answer",sdp:t,toJSON:null};try{yield this.createICEConnectionCompletedPromise(n)}catch(e){throw e}})}createICEConnectionCompletedPromise(e){return new Promise((t,i)=>n(this,void 0,void 0,function*(){const n=()=>{"connected"!==this.context.peer.iceConnectionState&&"completed"!==this.context.peer.iceConnectionState||(this.context.peer.removeEventListener("iceconnectionstatechange",n),t())};
2138this.cancelICEPromise=()=>{this.context.peer&&this.context.peer.removeEventListener("iceconnectionstatechange",n),i(new Error(`${this.name()} got canceled while waiting for the ICE connection state`))},this.context.peer.addEventListener("iceconnectionstatechange",n);try{yield this.context.peer.setRemoteDescription(e),this.logger.info("set remote description, waiting for ICE connection"),n()}catch(e){i(e)}}))}}t.default=c},95814(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(60169)),s=r(i(77376)),a=r(i(21287)),d=r(i(21467)),c=i(35928),l=r(i(10587)),u=r(i(5667)),h=i(38359),p=i(7980),f=r(i(80414));class m extends f.default{constructor(e){super(e.logger),this.context=e,this.taskName="SubscribeAndReceiveSubscribeAckTask",this.taskCanceler=null,this.textCompressor=new d.default(e.logger)}cancel(){this.taskCanceler&&(this.taskCanceler.cancel(),this.taskCanceler=null)}run(){return n(this,void 0,void 0,function*(){let e="";if(this.context.peer&&this.context.peer.localDescription&&(e=new a.default(this.context.peer.localDescription.sdp).withUnifiedPlanFormat().sdp),!this.context.enableSimulcast){let e=0,t=0;this.context.videoCaptureAndEncodeParameter&&(e=this.context.videoCaptureAndEncodeParameter.captureFrameRate(),t=this.context.videoCaptureAndEncodeParameter.encodeBitrates()[0]);const i={rid:"hi",maxBitrate:1e3*t,maxFramerate:e,active:!0};this.context.videoStreamIndex.integrateUplinkPolicyDecision([i])}const t=this.fixUpSubscriptionOrder(e,this.context.videoSubscriptions),i=this.context.videoDuplexMode===h.SdkStreamServiceType.TX||this.context.videoDuplexMode===h.SdkStreamServiceType.DUPLEX;let n,r=e;if(void 0!==this.context.videoUplinkBandwidthPolicy.wantsVideoDependencyDescriptorRtpHeaderExtension&&this.context.videoUplinkBandwidthPolicy.wantsVideoDependencyDescriptorRtpHeaderExtension()||(r=new a.default(r).withoutDependencyDescriptorRtpHeaderExtension().sdp),this.context.serverSupportsCompression){const t=this.context.previousSdpOffer?this.context.previousSdpOffer.sdp:"";n=this.textCompressor.compress(r,t),this.context.logger.info(`Compressed the SDP message from ${r.length} to ${n.length} bytes.`),e=""}this.context.previousSdpOffer=new a.default(e);const o=new u.default(this.context.meetingSessionConfiguration.credentials.attendeeId,e,this.context.meetingSessionConfiguration.urls.audioHostURL,this.context.realtimeController.realtimeIsLocalAudioMuted(),!1,t,i,this.context.videoStreamIndex.localStreamDescriptions(),!0,n);void 0===this.context.videoDownlinkBandwidthPolicy.getServerSideNetworkAdaption||c.serverSideNetworkAdaptionIsNoneOrDefault(this.context.videoDownlinkBandwidthPolicy.getServerSideNetworkAdaption())||void 0===this.context.videoDownlinkBandwidthPolicy.getVideoPreferences||(o.videoSubscriptionConfiguration=p.convertVideoPreferencesToSignalingClientVideoSubscriptionConfiguration(this.context,t.map(e=>0===e?0:this.context.videoStreamIndex.groupIdForStreamId(e)),this.context.videoDownlinkBandwidthPolicy.getVideoPreferences())),this.context.logger.info(`sending subscribe: ${JSON.stringify(o)}`),this.context.signalingClient.subscribe(o);const s=yield this.receiveSubscribeAck();this.context.logger.info(`got subscribe ack: ${JSON.stringify(s)}`);let d="";s.compressedSdpAnswer&&s.compressedSdpAnswer.length?(d=this.textCompressor.decompress(s.compressedSdpAnswer,this.context.previousSdpAnswerAsString),0===d.length&&(this.context.sdpAnswer="",this.context.previousSdpAnswerAsString="",this.logAndThrow("Error occurred while trying to decompress the SDP answer.")),this.context.logger.info(`Decompressed the SDP message from ${s.compressedSdpAnswer.length} to ${d.length} bytes.`),this.context.sdpAnswer=d):this.context.sdpAnswer=s.sdpAnswer,this.context.previousSdpAnswerAsString=this.context.sdpAnswer,this.context.videoStreamIndex.integrateSubscribeAckFrame(s)})}fixUpSubscriptionOrder(e,t){if(void 0===this.context.transceiverController.getMidForStreamId)return t;const i=new Map;for(const e of t){const t=this.context.transceiverController.getMidForStreamId(e);void 0!==t?i.set(t,e):0!==e&&this.logger.warn(`Could not find MID for stream ID: ${e}`)}const n=new a.default(e).mediaSections(),r=[];for(const e of n)if("video"===e.mediaType)if("recvonly"===e.direction){const t=i.get(e.mid);if(void 0===t){this.logger.warn(`Could not find stream ID for MID: ${e.mid}`);continue}r.push(t)}else r.push(0);return this.logger.info(`Fixed up ${JSON.stringify(t)} to ${JSON.stringify(r)} (may be same))}`),r}receiveSubscribeAck(){return new Promise((e,t)=>
2138{const i=this.context,n=new class{constructor(e){this.signalingClient=e}cancel(){this.signalingClient.removeObserver(this),t(new Error("SubscribeAndReceiveSubscribeAckTask got canceled while waiting for SdkSubscribeAckFrame"))}handleSignalingClientEvent(t){if(t.isConnectionTerminated()){const e=`SubscribeAndReceiveSubscribeAckTask connection was terminated with code ${t.closeCode} and reason: ${t.closeReason}`;i.logger.warn(e);let n=s.default.TaskFailed;return t.closeCode>=4500&&t.closeCode<4600&&(n=s.default.SignalingInternalServerError),void i.audioVideoController.handleMeetingSessionStatus(new o.default(n),new Error(e))}if(t.type!==l.default.ReceivedSignalFrame||t.message.type!==h.SdkSignalFrame.Type.SUBSCRIBE_ACK)return;this.signalingClient.removeObserver(this);const n=t.message.suback;e(n)}}(this.context.signalingClient);this.context.signalingClient.registerObserver(n),this.taskCanceler=n})}}t.default=m},5217(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.IDLE="IDLE",e.RUNNING="RUNNING",e.CANCELED="CANCELED",e.FINISHED="FINISHED"}(i||(i={})),t.default=i},71630(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(50448)),s=r(i(80414));class a extends s.default{constructor(e,t,i){super(e),this.taskToRunBeforeTimeout=t,this.timeoutMs=i,this.taskName=`Timeout${this.timeoutMs}ms`,t.setParent(this)}cancel(){this.logger.info(`canceling timeout task ${this.name()} subtask ${this.taskToRunBeforeTimeout}`),this.taskToRunBeforeTimeout.cancel()}run(){return n(this,void 0,void 0,function*(){const e=new o.default(this.timeoutMs);e.start(()=>{this.logger.info(`timeout reached for task ${this.name()}`),this.taskToRunBeforeTimeout.cancel()});try{yield this.taskToRunBeforeTimeout.run()}finally{e.stop()}this.logger.info(`timeout task ${this.name()} completed`)})}}t.default=a},77718(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(77376)),s=r(i(80414));class a extends s.default{constructor(e){super(e.logger),this.context=e,this.taskName="WaitForAttendeePresenceTask"}cancel(){if(this.cancelPromise){const e=new Error(`canceling ${this.name()} due to the meeting status code: ${o.default.NoAttendeePresent}`);this.cancelPromise(e),delete this.cancelPromise}}run(){return n(this,void 0,void 0,function*(){const e=this.context.meetingSessionConfiguration.credentials.attendeeId;return new Promise((t,i)=>{const n=(i,r,o,s,a)=>{e===i&&r&&(this.context.realtimeController.realtimeUnsubscribeToAttendeeIdPresence(n),t(),delete this.cancelPromise)};this.cancelPromise=e=>{this.context.realtimeController.realtimeUnsubscribeToAttendeeIdPresence(n),i(e)},this.context.realtimeController.realtimeSubscribeToAttendeeIdPresence(n)})})}}t.default=a},61472(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(6895)),s=r(i(39358)),a=r(i(10899)),d=r(i(17107)),c=r(i(91365));t.default=class{constructor(e,t,i){this.logger=e,this.browserBehavior=t,this.meetingSessionContext=i,this._localCameraTransceiver=null,this._localAudioTransceiver=null,this.videoSubscriptions=[],this.defaultMediaStream=null,this.peer=null,this.streamIdToTransceiver=new Map,this.groupIdToTransceiver=new Map,this.audioRedWorker=null,this.audioRedWorkerURL=null,this.audioMetricsHistory=new Array,this.redMetricsObservers=new Set,this.currentNumRedundantEncodings=0,this.lastRedHolddownTimerStartTimestampMs=0,this.lastHighPacketLossEventTimestampMs=0,this.lastAudioRedTurnOffTimestampMs=0,this.maxAudioMetricsHistory=20,this.audioRedPacketLossShortEvalPeriodMs=5e3,this.audioRedPacketLossLongEvalPeriodMs=15e3,this.audioRedHoldDownTimeMs=3e5,this.redRecoveryTimeMs=6e4,this.handleTrack=e=>{const t=!!window.RTCRtpScriptTransform;this.audioRedWorker&&t&&(e.receiver.transform||(this.logger.info(`Applying passthrough transform to re
2138ceiver track ${e.track.id} not set after addTranceiver`),e.receiver.transform=new RTCRtpScriptTransform(this.audioRedWorker,{type:"PassthroughTransform"})))}}setEncodingParameters(e){return n(this,void 0,void 0,function*(){if(!this._localCameraTransceiver||"sendrecv"!==this._localCameraTransceiver.direction)return;const t=this._localCameraTransceiver.sender;if(!e||0===e.size)return;const i=Array.from(e.values()),n=t.getParameters();if(n.encodings&&0!==n.encodings.length)for(const e of n.encodings)for(const t of i){if((e.rid||t.rid)&&e.rid!==t.rid)continue;let i;for(i in t)"rid"!==i&&"codecPayloadType"!==i&&t.hasOwnProperty(i)&&(e[i]=t[i])}else n.encodings=i;yield t.setParameters(n)})}localAudioTransceiver(){return this._localAudioTransceiver}localVideoTransceiver(){return this._localCameraTransceiver}setVideoSendingBitrateKbps(e){return n(this,void 0,void 0,function*(){if(!this._localCameraTransceiver||"sendrecv"!==this._localCameraTransceiver.direction)return;const t=this._localCameraTransceiver.sender;if(!t||e<=0)return;const i=t.getParameters();i.encodings||(i.encodings=[{}]);for(const t of i.encodings)t.maxBitrate=1e3*e;yield t.setParameters(i)})}setPeer(e){this.peer=e,this.peer.addEventListener("track",this.handleTrack)}reset(){this.destroyAudioRedWorkerAndStates(),this._localCameraTransceiver=null,this._localAudioTransceiver=null,this.videoSubscriptions=[],this.defaultMediaStream=null,this.peer&&this.peer.removeEventListener("track",this.handleTrack),this.peer=null}useTransceivers(){return!!this.peer&&void 0!==this.peer.getTransceivers}hasVideoInput(){return!(!this._localCameraTransceiver||"sendrecv"!==this._localCameraTransceiver.direction)}trackIsVideoInput(e){return!!this._localCameraTransceiver&&(e===this._localCameraTransceiver.sender.track||e===this._localCameraTransceiver.receiver.track)}setupLocalTransceivers(){var e,t;this.useTransceivers()&&(this.defaultMediaStream||"undefined"==typeof MediaStream||(this.defaultMediaStream=new MediaStream),this._localAudioTransceiver||(this._localAudioTransceiver=this.peer.addTransceiver("audio",{direction:"inactive",streams:[this.defaultMediaStream]}),(null===(t=null===(e=this.meetingSessionContext)||void 0===e?void 0:e.audioProfile)||void 0===t?void 0:t.hasRedundancyEnabled())&&this.setupAudioRedWorker()),this._localCameraTransceiver||(this._localCameraTransceiver=this.addTransceiver("video",{direction:"inactive",streams:[this.defaultMediaStream]})))}replaceAudioTrack(e){return n(this,void 0,void 0,function*(){return this._localAudioTransceiver&&"sendrecv"===this._localAudioTransceiver.direction?(yield this._localAudioTransceiver.sender.replaceTrack(e),!0):(this.logger.info("audio transceiver direction is not set up or not activated"),!1)})}setAudioInput(e){return n(this,void 0,void 0,function*(){yield this.setTransceiverInput(this._localAudioTransceiver,e)})}setVideoInput(e){return n(this,void 0,void 0,function*(){yield this.setTransceiverInput(this._localCameraTransceiver,e)})}updateVideoTransceivers(e,t){if(!this.useTransceivers())return t.array();const i=this.peer.getTransceivers();return this.videoSubscriptions=[0],t=t.clone(),this.updateTransceivers(i,e,t),this.logger.debug(()=>this.debugDumpTransceivers()),this.videoSubscriptions}updateTransceivers(e,t,i){const n=i.array();0===e.length||e[0].stop?0!==e.length&&this.updateTransceiverWithStop(e,t,n):(this.logger.info("Updating transceivers without `stop` function"),this.updateTransceiverWithoutStop(e,t,n));for(const e of n){const i=this.addTransceiver("video",{direction:"recvonly",streams:[new MediaStream]});this.streamIdToTransceiver.set(e,i),this.groupIdToTransceiver.set(t.groupIdForStreamId(e),i),this.videoSubscriptions.push(e),this.logger.info(`adding transceiver mid: ${i.mid} subscription: ${e} direction: recvonly`)}}updateTransceiverWithStop(e,t,i){let n=1;this.videoSubscriptions=[0];for(const r of e){if(r===this._localCameraTransceiver||!this.transceiverIsVideo(r)||!r.mid)continue;let e=!1;const o=t.streamIdForTrack("v_"+r.mid);if("inactive"!==r.direction&&void 0!==o)for(const[s,a]of i.entries())if(t.StreamIdsInSameGroup(o,a)){r.direction="recvonly",this.videoSubscriptions[n]=a,e=!0,this.streamIdToTransceiver.delete(o),this.streamIdToTransceiver.set(a,r),i.splice(s,1);break}if(!e){this.videoSubscriptions[n]=0,this.logger.info(`Stopping MID: ${r.mid}, direction: ${r.direction}, current direction: ${r.currentDirection}`),r.stop();for(const[e,i]of this.streamIdToTransceiver.entries())r.mid===i.mid&&(this.streamIdToTransceiver.delete(e),this.groupIdToTransceiver.delete(t.groupIdForStreamId(e)))}n+=1}}updateTransceiverWithoutStop(e,t,i){let n=1;for(const r of e)if(r!==this._localCameraTransceiver&&this.transceiverIsVideo(r)){if(this.videoSubscriptions[n]=0,"inactive"!==r.direction){const e=t.streamIdForTrack("v_"+r.mid);if(void 0!==e)for(const[o,s]of i.entries())if(t.StreamIdsInSameGroup(e,s)){r.direction="recvonly",this.videoSubscriptions[n]=s,this.streamIdToTransceiver.delete(e),this.streamIdToTransceiver.set(s,r),i.splice(o,1);break}}n+=1}n=1;for(const r of e)if(r!==this._localCameraTransceiver&&this.transceiverIsVideo(r)){if("inactive"===r.direction&&i.length>0){r.direction="recvonly";
2138const e=i.shift();this.videoSubscriptions[n]=e,this.streamIdToTransceiver.set(e,r),this.groupIdToTransceiver.set(t.groupIdForStreamId(e),r)}else if(0===this.videoSubscriptions[n]){r.direction="inactive";for(const[e,i]of this.streamIdToTransceiver.entries())r===i&&(this.streamIdToTransceiver.delete(e),this.groupIdToTransceiver.delete(t.groupIdForStreamId(e)))}n+=1}}getMidForStreamId(e){var t;return null===(t=this.streamIdToTransceiver.get(e))||void 0===t?void 0:t.mid}setStreamIdForMid(e,t){for(const[i,n]of this.streamIdToTransceiver.entries())if(n.mid===e)return this.streamIdToTransceiver.delete(i),void this.streamIdToTransceiver.set(t,n)}getMidForGroupId(e){var t,i;return null!==(i=null===(t=this.groupIdToTransceiver.get(e))||void 0===t?void 0:t.mid)&&void 0!==i?i:void 0}transceiverIsVideo(e){return e.receiver&&e.receiver.track&&"video"===e.receiver.track.kind||e.sender&&e.sender.track&&"video"===e.sender.track.kind}debugDumpTransceivers(){let e="",t=0;for(const i of this.peer.getTransceivers())this.transceiverIsVideo(i)&&(e+=`transceiver index=${t} mid=${i.mid} subscription=${this.videoSubscriptions[t]} direction=${i.direction}\n`,t+=1);return e}setTransceiverInput(e,t){return n(this,void 0,void 0,function*(){e&&(e.direction=t?"sendrecv":"inactive",yield e.sender.replaceTrack(t))})}forEachRedMetricsObserver(e){for(const t of this.redMetricsObservers)c.default.nextTick(()=>{this.redMetricsObservers.has(t)&&t.recoveryMetricsDidReceive(e)})}disableAudioRedundancy(){this.meetingSessionContext.audioProfile=new o.default(this.meetingSessionContext.audioProfile.audioBitrateBps,!1),this.meetingSessionContext.audioVideoController.setAudioProfile(this.meetingSessionContext.audioProfile)}setupAudioRedWorker(){var e,t;const i=!!window.RTCRtpScriptTransform,n=!!RTCRtpSender.prototype.createEncodedStreams;if(i)this.logger.info("[AudioRed] Supports encoded insertable streams using RTCRtpScriptTransform");else{if(!n)throw this.disableAudioRedundancy(),new Error("[AudioRed] Encoded insertable streams not supported. Recreating peer connection with audio redundancy disabled.");this.logger.info("[AudioRed] Supports encoded insertable streams using TransformStream")}try{this.audioRedWorkerURL=URL.createObjectURL(new Blob([d.default],{type:"application/javascript"})),this.logger.info(`[AudioRed] Redundant audio worker URL ${this.audioRedWorkerURL}`),this.audioRedWorker=new Worker(this.audioRedWorkerURL)}catch(e){throw this.logger.error(`[AudioRed] Unable to create audio red worker due to ${e}`),URL.revokeObjectURL(this.audioRedWorkerURL),this.audioRedWorkerURL=null,this.audioRedWorker=null,this.disableAudioRedundancy(),this.logger.info("[AudioRed] Recreating peer connection with audio redundancy disabled"),e}if(this.audioRedEnabled=!0,this.audioRedWorker.onmessage=e=>{if("REDWorkerLog"===e.data.type)this.logger.info(e.data.log);else if("RedundantAudioEncoderStats"===e.data.type){const t=new s.default;t.currentTimestampMs=Date.now(),t.ssrc=e.data.ssrc,t.totalAudioPacketsLost=e.data.totalAudioPacketsLost,t.totalAudioPacketsExpected=e.data.totalAudioPacketsExpected,t.totalAudioPacketsRecoveredRed=e.data.totalAudioPacketsRecoveredRed,t.totalAudioPacketsRecoveredFec=e.data.totalAudioPacketsRecoveredFec,this.forEachRedMetricsObserver(t)}},i)this._localAudioTransceiver.sender.transform=new RTCRtpScriptTransform(this.audioRedWorker,{type:"SenderTransform"}),this._localAudioTransceiver.receiver.transform=new RTCRtpScriptTransform(this.audioRedWorker,{type:"ReceiverTransform"});else if(n){const e=this._localAudioTransceiver.sender.createEncodedStreams(),t=this._localAudioTransceiver.receiver.createEncodedStreams();this.audioRedWorker.postMessage({msgType:"StartRedWorker",send:e,receive:t},[e.readable,e.writable,t.readable,t.writable])}null===(e=this.meetingSessionContext)||void 0===e||e.audioVideoController.addObserver(this),this.addRedundantAudioRecoveryMetricsObserver(null===(t=this.meetingSessionContext)||void 0===t?void 0:t.statsCollector)}addTransceiver(e,t){var i;const n=this.peer.addTransceiver(e,t);if(!this.audioRedWorker)return n;const r=!!window.RTCRtpScriptTransform,o=!!RTCRtpSender.prototype.createEncodedStreams;if(r)"recvonly"!==t.direction&&(n.sender.transform=new RTCRtpScriptTransform(this.audioRedWorker,{type:"PassthroughTransform"}));else if(o){if(!(null===(i=this.peer.getConfiguration())||void 0===i?void 0:i.encodedInsertableStreams))return n;const e=n.sender.createEncodedStreams(),t=n.receiver.createEncodedStreams();this.audioRedWorker.postMessage({msgType:"PassthroughTransform",send:e,receive:t},[e.readable,e.writable,t.readable,t.writable])}return n}destroyAudioRedWorkerAndStates(){var e,t;this.audioRedWorker&&(URL.revokeObjectURL(this.audioRedWorkerURL),this.audioRedWorkerURL=null,this.audioRedWorker.terminate(),this.audioRedWorker=null,this.currentNumRedundantEncodings=0,this.lastRedHolddownTimerStartTimestampMs=0,this.lastAudioRedTurnOffTimestampMs=0,this.lastHighPacketLossEventTimestampMs=0,this.audioRedEnabled=!0,null===(e=this.meetingSessionContext)||void 0===e||e.audioVideoController.removeObserver(this),this.removeRedundantAudioRecoveryMetricsObserver(null===(t=this.meetingSessionContext)||void 0===t?void 0:t.statsCollector))}setAudioPayloadTypes(e){this.audioRedWorker&&(this.audioRedWorker.postMessage({msgType:"RedPayloadType",payloadType:e.get("red")}),this.audioRedWorker.postMessage({msgType:"OpusPayloadType",payloadType:e.get("opus")}))}metricsDidReceive(e){const{currentTimestampMs:t}=e,i=e.getRTCStatsReport();let n=0,r=0,o=0;
2138i.forEach(e=>{"audio"===e.kind&&("outbound-rtp"===e.type?r=e.packetsSent:"remote-inbound-rtp"===e.type&&(n=e.timestamp,o=e.packetsLost))}),(0===this.audioMetricsHistory.length||n>this.audioMetricsHistory[this.audioMetricsHistory.length-1].timestampMs&&r>this.audioMetricsHistory[this.audioMetricsHistory.length-1].totalPacketsSent)&&this.audioMetricsHistory.push({timestampMs:n,totalPacketsSent:r,totalPacketsLost:o}),this.audioMetricsHistory.length>this.maxAudioMetricsHistory&&this.audioMetricsHistory.shift();const s=this.lossPercent(this.audioRedPacketLossShortEvalPeriodMs),d=this.lossPercent(this.audioRedPacketLossLongEvalPeriodMs),c=Math.max(s,d),[l,u]=a.default.getNumRedundantEncodingsForPacketLoss(c);if(u)return this.lastHighPacketLossEventTimestampMs=t,void(this.audioRedEnabled&&(this.audioRedWorker&&this.audioRedWorker.postMessage({msgType:"Disable"}),this.audioRedEnabled=!1,this.lastAudioRedTurnOffTimestampMs=t));if(!this.audioRedEnabled){const e=t-this.lastAudioRedTurnOffTimestampMs,i=t-this.lastHighPacketLossEventTimestampMs;if(e>=this.audioRedPacketLossLongEvalPeriodMs&&i<this.redRecoveryTimeMs)return;this.audioRedWorker&&this.audioRedWorker.postMessage({msgType:"Enable"}),this.audioRedEnabled=!0,this.maybeResetHoldDownTimer(t)}this.shouldUpdateAudioRedWorkerEncodings(t,l)&&this.audioRedWorker&&this.audioRedWorker.postMessage({msgType:"UpdateNumRedundantEncodings",numRedundantEncodings:l})}maybeResetHoldDownTimer(e){this.currentNumRedundantEncodings>0&&(this.lastRedHolddownTimerStartTimestampMs=e)}lossPercent(e){if(this.audioMetricsHistory.length<2)return 0;const t=this.audioMetricsHistory[this.audioMetricsHistory.length-1].timestampMs,i=this.audioMetricsHistory[this.audioMetricsHistory.length-1].totalPacketsSent,n=this.audioMetricsHistory[this.audioMetricsHistory.length-1].totalPacketsLost;for(let r=this.audioMetricsHistory.length-2;r>=0;r--)if(t-this.audioMetricsHistory[r].timestampMs>=e){const e=(n-this.audioMetricsHistory[r].totalPacketsLost)/(i-this.audioMetricsHistory[r].totalPacketsSent)*100;return Math.max(0,Math.min(e,100))}return 0}shouldUpdateAudioRedWorkerEncodings(e,t){return this.currentNumRedundantEncodings===t?(this.maybeResetHoldDownTimer(e),!1):!(t<this.currentNumRedundantEncodings&&e-this.lastRedHolddownTimerStartTimestampMs<this.audioRedHoldDownTimeMs||(this.currentNumRedundantEncodings=t,this.maybeResetHoldDownTimer(e),0))}addRedundantAudioRecoveryMetricsObserver(e){this.redMetricsObservers.add(e)}removeRedundantAudioRecoveryMetricsObserver(e){this.redMetricsObservers.delete(e)}}},88284(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(26216));class s extends o.default{constructor(e,t,i){super(e,t,i);let n=2;this.videoQualityControlParameterMap=new Map;for(let e=0;e<s.NAME_ARR_ASCENDING.length;e++){const t=s.NAME_ARR_ASCENDING[e];this.videoQualityControlParameterMap.set(t,{rid:t,scaleResolutionDownBy:n,maxBitrate:1e3*s.BITRATE_ARR_ASCENDING[e]}),n/=2}}setEncodingParameters(e){return n(this,void 0,void 0,function*(){if(!this._localCameraTransceiver||"sendrecv"!==this._localCameraTransceiver.direction)return;const t=this._localCameraTransceiver.sender,i=Array.from(e.values());if(i.length<=0)return;const n=t.getParameters();if(n.encodings)for(let t=0;t<n.encodings.length;t++)n.encodings[t].rid===o.default.LOW_LEVEL_NAME&&this.copyEncodingParams(e.get(o.default.LOW_LEVEL_NAME),n.encodings[t]),n.encodings[t].rid===o.default.HIGH_LEVEL_NAME&&this.copyEncodingParams(e.get(o.default.HIGH_LEVEL_NAME),n.encodings[t]);else n.encodings=i;yield t.setParameters(n),this.logVideoTransceiverParameters()})}}t.default=s,s.NAME_ARR_ASCENDING=["low","hi"],s.BITRATE_ARR_ASCENDING=[300,1200]},26216(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Prom
2138ise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(61472));class s extends o.default{constructor(e,t,i){super(e,t,i),this.videoQualityControlParameterMap=new Map;let n=4;for(let e=0;e<s.NAME_ARR_ASCENDING.length;e++){const t=s.NAME_ARR_ASCENDING[e];this.videoQualityControlParameterMap.set(t,{rid:t,scaleResolutionDownBy:n,maxBitrate:1e3*s.BITRATE_ARR_ASCENDING[e]}),n/=2}}setEncodingParameters(e){return n(this,void 0,void 0,function*(){if(!this._localCameraTransceiver||"sendrecv"!==this._localCameraTransceiver.direction)return;const t=this._localCameraTransceiver.sender,i=Array.from(e.values());if(i.length<=0)return;const n=t.getParameters();if(n.encodings)for(const t of n.encodings)t.rid===s.LOW_LEVEL_NAME&&this.copyEncodingParams(e.get(s.LOW_LEVEL_NAME),t),t.rid===s.MID_LEVEL_NAME&&this.copyEncodingParams(e.get(s.MID_LEVEL_NAME),t),t.rid===s.HIGH_LEVEL_NAME&&this.copyEncodingParams(e.get(s.HIGH_LEVEL_NAME),t);else n.encodings=i;yield t.setParameters(n),this.logVideoTransceiverParameters()})}setVideoSendingBitrateKbps(e){return n(this,void 0,void 0,function*(){})}setupLocalTransceivers(){var e,t;if(this.useTransceivers()&&(this.defaultMediaStream||"undefined"==typeof MediaStream||(this.defaultMediaStream=new MediaStream),this._localAudioTransceiver||(this._localAudioTransceiver=this.peer.addTransceiver("audio",{direction:"inactive",streams:[this.defaultMediaStream]}),(null===(t=null===(e=this.meetingSessionContext)||void 0===e?void 0:e.audioProfile)||void 0===t?void 0:t.hasRedundancyEnabled())&&this.setupAudioRedWorker()),!this._localCameraTransceiver)){const e=Array.from(this.videoQualityControlParameterMap.values());this._localCameraTransceiver=this.addTransceiver("video",{direction:"inactive",streams:[this.defaultMediaStream],sendEncodings:e})}}logVideoTransceiverParameters(){const e=this._localCameraTransceiver.sender.getParameters().encodings;let t="simulcast: current encoding parameters \n";for(const i of e)t+=`rid=${i.rid} maxBitrate=${i.maxBitrate} active=${i.active}
2138 scaleDownBy=${i.scaleResolutionDownBy} maxFrameRate = ${i.maxFramerate} \n`;this.logger.info(t)}copyEncodingParams(e,t){t.active=e.active,t.maxBitrate=e.maxBitrate,t.scaleResolutionDownBy=e.scaleResolutionDownBy,t.maxFramerate=e.maxFramerate}}t.default=s,s.LOW_LEVEL_NAME="low",s.MID_LEVEL_NAME="mid",s.HIGH_LEVEL_NAME="hi",s.NAME_ARR_ASCENDING=["low","mid","hi"],s.BITRATE_ARR_ASCENDING=[200,400,1100]},21204(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(61472));class o extends r.default{constructor(e,t,i){super(e,t,i)}setupLocalTransceivers(){this.useTransceivers()&&(this.defaultMediaStream||"undefined"==typeof MediaStream||(this.defaultMediaStream=new MediaStream),this._localCameraTransceiver||(this._localCameraTransceiver=this.peer.addTransceiver("video",{direction:"inactive",streams:[this.defaultMediaStream]})))}}t.default=o},66456(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TRANSCRIPTION_DATA_MESSAGE_TOPIC=void 0;const n=i(97465);t.TRANSCRIPTION_DATA_MESSAGE_TOPIC="aws:chime:transcription",t.default=class{constructor(e){this.realtimeController=e,this.transcriptEventCallbacks=new Set}subscribeToTranscriptEvent(e){0===this.transcriptEventCallbacks.size&&this.realtimeController.realtimeSubscribeToReceiveDataMessage(t.TRANSCRIPTION_DATA_MESSAGE_TOPIC,e=>{for(const t of n.TranscriptEventConverter.from(e))for(const e of this.transcriptEventCallbacks)e(t)}),this.transcriptEventCallbacks.add(e)}unsubscribeFromTranscriptEvent(e){this.transcriptEventCallbacks.delete(e),0===this.transcriptEventCallbacks.size&&this.realtimeController.realtimeUnsubscribeFromReceiveDataMessage(t.TRANSCRIPTION_DATA_MESSAGE_TOPIC)}}},75221(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{}},374(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{}},38922(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{}},97465(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.TranscriptEventConverter=void 0;const r=i(38359),o=n(i(75221)),s=n(i(2673)),a=n(i(32897)),d=n(i(71714)),c={[r.SdkTranscriptionStatus.Type.STARTED]:a.default.STARTED,[r.SdkTranscriptionStatus.Type.INTERRUPTED]:a.default.INTERRUPTED,[r.SdkTranscriptionStatus.Type.RESUMED]:a.default.RESUMED,[r.SdkTranscriptionStatus.Type.STOPPED]:a.default.STOPPED,[r.SdkTranscriptionStatus.Type.FAILED]:a.default.FAILED};t.TranscriptEventConverter=class{static from(e){let t;try{t=r.SdkTranscriptFrame.decode(e.data)}catch(e){throw new Error("Cannot decode transcript data message: "+e)}const i=[];for(const e of t.events)if(e.status){const t=c[e.status.type];if(!t)continue;const n=new s.default;n.type=t,n.eventTimeMs=e.status.eventTime,n.transcriptionRegion=e.status.transcriptionRegion,n.transcriptionConfiguration=e.status.transcriptionConfiguration,e.status.message&&(n.message=e.status.message),i.push(n)}else if(e.transcript){const t=new o.default;t.results=[];for(const i of e.transcript.results){const e={channelId:i.channelId,isPartial:i.isPartial,resultId:i.resultId,startTimeMs:i.startTime,endTimeMs:i.endTime,alternatives:[]};if(i.languageCode&&(e.languageCode=i.languageCode),i.languageIdentification&&i.languageIdentification.length>0){e.languageIdentification=[];for(const t of i.languageIdentification){const i={languageCode:t.languageCode,score:t.score};e.languageIdentification.push(i)}}for(const t of i.alternatives){const i={items:[],transcript:t.transcript};for(const e of t.items){const t={content:e.content,attendee:{attendeeId:e.speakerAttendeeId,externalUserId:e.speakerExternalUserId},startTimeMs:e.startTime,endTimeMs:e.endTime,type:null};switch(e.vocabularyFilterMatch&&(t.vocabularyFilterMatch=e.vocabularyFilterMatch),e.hasOwnProperty("stable")&&(t.stable=e.stable),e.hasOwnProperty("confidence")&&(t.confidence=e.confidence),e.type){case r.SdkTranscriptItem.Type.PRONUNCIATION:t.type=d.default.PRONUNCIATION;break;case r.SdkTranscriptItem.Type.PUNCTUATION:t.type=d.default.PUNCTUATION}i.items.push(t)}for(const e of t.entities){i.entities||(i.entities=[]);const t={category:e.category,confidence:e.confidence,content:e.content,startTimeMs:e.startTime,endTimeMs:e.endTime};e.type&&(t.type=e.type),i.entities.push(t)}e.alternatives.push(i)}t.results.push(e)}i.push(t)}return i}}},62730(e,t){"use strict";
2138Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{}},71714(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.PRONUNCIATION="pronunciation",e.PUNCTUATION="punctuation"}(i||(i={})),t.default=i},3093(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{}},25312(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{}},2673(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{}},32897(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.STARTED="started",e.INTERRUPTED="interrupted",e.RESUMED="resumed",e.STOPPED="stopped",e.FAILED="failed"}(i||(i={})),t.default=i},36594(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=i(6660),o=n(i(40961));class s{constructor(e){var t,i,n,o,a,d,c;try{this.parserResult=navigator&&navigator.userAgent?new r.UAParser(navigator.userAgent).getResult():void 0}catch(t){e.error(t.message)}this.browserMajorVersion=(null===(n=null===(i=null===(t=this.parserResult)||void 0===t?void 0:t.browser)||void 0===i?void 0:i.version)||void 0===n?void 0:n.split(".")[0])||s.UNAVAILABLE,this.browserName=(null===(o=this.parserResult)||void 0===o?void 0:o.browser.name)||s.UNAVAILABLE,this.browserVersion=(null===(a=this.parserResult)||void 0===a?void 0:a.browser.version)||s.UNAVAILABLE,this.deviceName=[(null===(d=this.parserResult)||void 0===d?void 0:d.device.vendor)||"",(null===(c=this.parserResult)||void 0===c?void 0:c.device.model)||""].join(" ").trim()||s.UNAVAILABLE}getParserResult(){var e,t;return{browserMajorVersion:this.browserMajorVersion,browserName:this.browserName,browserVersion:this.browserVersion,deviceName:this.deviceName,osName:(null===(e=this.parserResult)||void 0===e?void 0:e.os.name)||s.UNAVAILABLE,osVersion:(null===(t=this.parserResult)||void 0===t?void 0:t.os.version)||s.UNAVAILABLE,sdkVersion:o.default.sdkVersion,sdkName:o.default.sdkName}}}t.default=s,s.UNAVAILABLE="Unavailable"},1e4(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.queue=Promise.resolve()}add(e){return new Promise((t,i)=>{this.queue=this.queue.then(e).then(t).catch(i)})}}},89419(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.None=t.Some=t.Maybe=void 0;class i{static of(e){return null==e?r.of():n.of(e)}}t.Maybe=i;class n{constructor(e){this.value=e,this.isSome=!0,this.isNone=!1}map(e){return i.of(e(this.value))}flatMap(e){return e(this.value)}get(){return this.value}getOrElse(e){return this.value}defaulting(e){return i.of(this.getOrElse(e))}static of(e){if(null==e)throw new Error("value is ${value}");return new n(e)}}t.Some=n;class r{constructor(){this.isSome=!1,this.isNone=!0}get(){throw new Error("value is null")}getOrElse(e){return e}map(e){return new r}flatMap(e){return new r}defaulting(e){return i.of(this.getOrElse(e))}static of(){return new r}}t.None=r},48471(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.iterateEvery=t.SuppressedError=t.getRandomValues=t.getFormattedOffset=t.getDefaultAssetSpec=t.toLowerCasePropertyNames=t.isIFramed=t.wait=void 0;const r=n(i(40961));t.wait=function(e){return new Promise(t=>setTimeout(t,e))},t.isIFramed=function(){var e;try{return"IFRAME"===(null===(e=window.frameElement)||void 0===e?void 0:e.nodeName)||parent!==top}catch(e){return!0}},t.toLowerCasePropertyNames=function e(t){return null===t?null:"object"!=typeof t?t:Array.isArray(t)?t.map(e):Object.keys(t).reduce((i,n)=>{const r=t[n],o="object"==typeof r?e(r):r;return i[n.toLowerCase()]=o,i},{})},t.getDefaultAssetSpec=function(){const e=r.default.sdkVersionSemVer;return{assetGroup:`sdk-${e.major}.${e.minor}`}},t.getFormattedOffset=function(e){const t=Math.abs(e);return`${e<=0?"+":"-"}${Math.floor(t/60).toString().padStart(2,"0")}:${Math.floor(t%60).toString().padStart(2,"0")}`},t.getRandomValues=function(e){try{window.crypto.getRandomValues(e)}catch(t){new DataView(e.buffer).setUint32(0,Math.trunc(Math.random()*Math.pow(2,32)),!0)}};
2138class o extends Error{constructor(e,t,i){var n;super(null!=i?i:`${null!==(n=null==e?void 0:e.message)&&void 0!==n?n:e}`),this.error=e,this.suppressed=t}}t.SuppressedError=o,t.iterateEvery=function(e,t){if(!e)return;let i;for(const n of e)try{t(n)}catch(e){i=new o(e,i)}if(i)throw i}},40961(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(98824)),o=n(i(54613));class s{static get sdkName(){return"amazon-chime-sdk-js"}static get sdkVersion(){return o.default.semverString}static get sdkVersionSemVer(){var e,t,i,n;const r=o.default.semverString.match(/^(?<major>[0-9]+)\.(?<minor>[0-9]+)((?:\.(?<patch>[0-9]+))(?:-(?<preRelease>[a-zA-Z]+(\.[0-9])*))?)?/);return{major:null===(e=null==r?void 0:r.groups)||void 0===e?void 0:e.major,minor:null===(t=null==r?void 0:r.groups)||void 0===t?void 0:t.minor,patch:null===(i=null==r?void 0:r.groups)||void 0===i?void 0:i.patch,preRelease:null===(n=null==r?void 0:r.groups)||void 0===n?void 0:n.preRelease}}static get buildSHA(){return o.default.hash.substring(1)}static get sdkUserAgentLowResolution(){const e=new r.default;return`${e.name()}-${e.majorVersion()}`}static urlWithVersion(e){const t=new URL(e);return t.searchParams.append(s.X_AMZN_VERSION,s.sdkVersion),t.searchParams.append(s.X_AMZN_USER_AGENT,s.sdkUserAgentLowResolution),t.toString()}}t.default=s,s.X_AMZN_VERSION="X-Amzn-Version",s.X_AMZN_USER_AGENT="X-Amzn-User-Agent"},54613(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={hash:"802f244",raw:"v3.30.0",semverString:"3.30.0"}},95480(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class i{constructor(e,t,i,n,r,o=1,s=!1){this.cameraWidth=e,this.cameraHeight=t,this.cameraFrameRate=i,this.maxEncodeBitrateKbps=n,this.isSimulcast=r,this.scaleResolutionDownBy=o,this.isSVC=s}equal(e){let t=e.captureWidth()===this.cameraWidth&&e.captureHeight()===this.cameraHeight&&e.captureFrameRate()===this.cameraFrameRate&&e.encodeBitrates().length===this.encodeBitrates().length&&e.encodeScaleResolutionDownBy().length===this.encodeScaleResolutionDownBy().length&&e.encodeWidths().length===this.encodeWidths().length&&e.encodeHeights().length===this.encodeHeights().length&&e.isSVCEncoding()===this.isSVC;
2138if(t)for(let i=0;i<e.encodeWidths().length;i++)if(e.encodeWidths()[i]!==this.encodeWidths()[i]||e.encodeHeights()[i]!==this.encodeHeights()[i]||e.encodeBitrates()[i]!==this.encodeBitrates()[i]||e.encodeScaleResolutionDownBy()[i]!==this.encodeScaleResolutionDownBy()[i])return t=!1,t;return t}clone(){return new i(this.cameraWidth,this.cameraHeight,this.cameraFrameRate,this.maxEncodeBitrateKbps,this.isSimulcast,this.scaleResolutionDownBy,this.isSVC)}captureWidth(){return this.cameraWidth}captureHeight(){return this.cameraHeight}captureFrameRate(){return this.cameraFrameRate}encodeBitrates(){return[this.maxEncodeBitrateKbps]}encodeScaleResolutionDownBy(){return[this.scaleResolutionDownBy]}encodeWidths(){return[this.cameraWidth]}encodeHeights(){return[this.cameraHeight]}isSVCEncoding(){return this.isSVC}}t.default=i},12712(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(32648));class o{constructor(e){this.selfAttendeeId=e,this.reset()}reset(){this.optimalReceiveSet=new r.default,this.subscribedReceiveSet=new r.default,this.videoSources=void 0}updateIndex(e){this.videoIndex=e,this.optimalReceiveSet=this.calculateOptimalReceiveSet(e)}updateMetrics(e){}wantsResubscribe(){return!this.subscribedReceiveSet.equal(this.optimalReceiveSet)}chooseSubscriptions(){return this.subscribedReceiveSet=this.optimalReceiveSet.clone(),this.subscribedReceiveSet.clone()}chooseRemoteVideoSources(e){this.videoSources=e,this.optimalReceiveSet=this.calculateOptimalReceiveSet(this.videoIndex).clone()}calculateOptimalReceiveSet(e){const t=new r.default;if(!this.videoIndex||this.videoIndex.allStreams().empty())return t;const i=e.highestQualityStreamFromEachGroupExcludingSelf(this.selfAttendeeId),n=this.videoSources?this.videoSources:this.videoIndex.allVideoSendingSourcesExcludingSelf(this.selfAttendeeId),s=this.videoIndex.remoteStreamDescriptions(),a=new Map;for(const e of s)i.contain(e.streamId)&&a.set(e.attendeeId,e);let d=0;for(const e of n){const i=e.attendee.attendeeId;if(a.has(i)){const e=a.get(i);if(!(d+e.maxBitrateKbps<=o.maxReceiveBitrateKbps)){console.warn("total bitrate "+(d+e.maxBitrateKbps)+" exceeds maximum limit (15000). Use chooseRemoteVideoSources to select a subset of participants to avoid this.");break}t.add(e.streamId),d+=e.maxBitrateKbps}}return t}}t.default=o,o.maxReceiveBitrateKbps=15e3},53182(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(32648));t.default=class{reset(){}updateIndex(e){}updateMetrics(e){}wantsResubscribe(){return!1}chooseSubscriptions(){return new r.default}}},30159(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.TargetDisplaySize=void 0,function(e){e[e.Low=0]="Low",e[e.Medium=1]="Medium",e[e.High=2]="High",e[e.Maximum=3]="Maximum"}(i=t.TargetDisplaySize||(t.TargetDisplaySize={})),t.default=i},80728(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(40736)),o=n(i(35928)),s=n(i(4553)),a=i(7980),d=n(i(31975)),c=n(i(66593));class l extends d.default{constructor(e){super(e,l.createConfig()),this.logger=e,super.shouldPauseTiles=!1,this.videoPreferences=void 0}static createConfig(){const e=new c.default;return e.serverSideNetworkAdaption=o.default.None,e}reset(){super.reset(),super.shouldPauseTiles=!1,this.videoPreferences=void 0}updateIndex(e){super.updateIndex(e);const t=a.VideoPreferences.prepare();let i=!1;const n=e.remoteStreamDescriptions();for(const e of n)t.some(t=>t.attendeeId===e.attendeeId)||(e.attendeeId.endsWith(r.default.Modality)?(t.add(new s.default(e.attendeeId,1)),i=!0):t.add(new s.default(e.attendeeId,2)));i?(this.videoPreferences=t.build(),this.videoPreferencesUpdated=!0):this.videoPreferences=void 0}chooseRemoteVideoSources(e){this.logger.error("chooseRemoteVideoSources should not be called by VideoAdaptiveProbePolicy")}}t.default=l},4553(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esMo
2138dule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(30159)),o=n(i(62531));class s{constructor(e,t,i,n){this.attendeeId=e,this.priority=t,this.targetSize=void 0!==i?i:r.default.Maximum,this.degradationPreference=void 0!==n?n:o.default.Balanced}partialCompare(e){return this.priority-e.priority}equals(e){return this.attendeeId===e.attendeeId&&this.targetSize===e.targetSize&&this.priority===e.priority&&this.degradationPreference===e.degradationPreference}clone(){return new s(this.attendeeId,this.priority,this.targetSize,this.degradationPreference)}targetSizeToBitrateKbps(e){switch(e){case r.default.Maximum:return s.MAXIMUM_BITRATE_KBPS;case r.default.High:return s.HIGH_BITRATE_KBPS;case r.default.Medium:return s.MID_BITRATE_KBPS;case r.default.Low:return s.LOW_BITRATE_KBPS}}}t.default=s,s.LOW_BITRATE_KBPS=300,s.MID_BITRATE_KBPS=600,s.HIGH_BITRATE_KBPS=1500,s.MAXIMUM_BITRATE_KBPS=1e4},7980(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.VideoPreferences=t.MutableVideoPreferences=t.convertVideoPreferencesToSignalingClientVideoSubscriptionConfiguration=void 0;const r=n(i(97375));t.convertVideoPreferencesToSignalingClientVideoSubscriptionConfiguration=function(e,t,i){if(void 0===e.transceiverController.getMidForGroupId||void 0===e.videoStreamIndex.attendeeIdForGroupId||void 0===i)return[];const n=new Array,o=new Map,s=new Map;for(const i of t){const t=e.transceiverController.getMidForGroupId(i);if(void 0===t)continue;const n=e.videoStreamIndex.attendeeIdForGroupId(i);o.set(n,t),s.set(n,i)}for(const e of i){const t=new r.default,i=o.get(e.attendeeId);void 0!==i&&(t.mid=i,t.attendeeId=e.attendeeId,t.groupId=s.get(e.attendeeId),void 0!==t.groupId&&(t.priority=Number.MAX_SAFE_INTEGER-e.priority,t.targetBitrateKbps=e.targetSizeToBitrateKbps(e.targetSize),t.qualityAdaptationPreference=e.degradationPreference,n.push(t)))}return n};class o{constructor(e=[]){this.items=e}static default(){return new o([])}[Symbol.iterator](){let e=0;const t=this.items;return{next:()=>e<t.length?{done:!1,value:t[e++]}:{done:!0,value:null}}}first(){return this.items[0]}add(e){this.items.push(e)}replaceFirst(e,t){const i=this.items.findIndex(t);-1===i?this.items.push(e):this.has(e)?this.items.splice(i,1):this.items[i]=e}remove(e){this.items=this.items.filter(t=>!t.equals(e))}clear(){this.items=[]}isEmpty(){return 0===this.items.length}equals(e){if(e===this)return!0;if(e.items.length!==this.items.length)return!1;for(const t of this.items)if(!e.items.some(e=>e.equals(t)))return!1;return!0}has(e){return this.items.some(t=>t.equals(e))}some(e){return this.items.some(e)}clone(){return new o([...this.items])}sort(){this.items.sort((e,t)=>e.partialCompare(t))}modify(){return new s(this)}}class s{constructor(e=new o){this.items=e,this.copied=!1}cow(){this.copied||(this.items=this.items.clone(),this.copied=!0)}add(e){this.items.has(e)||(this.cow(),this.items.add(e))}replaceFirst(e,t){this.items.has(e)&&!this.items.some(t)||(this.cow(),this.items.replaceFirst(e,t))}remove(e){this.items.has(e)&&(this.cow(),this.items.remove(e))}some(e){return this.items.some(e)}clear(){this.items.isEmpty()||(this.cow(),this.items.clear())}build(){return this.copied&&this.items.sort(),this.copied=!1,this.items}}class a{constructor(e){this.builder=e}add(e){this.builder.add(e)}replaceFirst(e,t){this.builder.replaceFirst(e,t)}remove(e){this.builder.remove(e)}some(e){return this.builder.some(e)}clear(){this.builder.clear()}build(){return new d(this.builder.build())}}t.MutableVideoPreferences=a;class d{constructor(e){this.items=e}static prepare(){return new a(new s)}static default(){return new d(o.default())}[Symbol.iterator](){return this.items[Symbol.iterator]()}highestPriority(){var e;return null===(e=this.items.first())||void 0===e?void 0:e.priority}sorted(){return this.items[Symbol.iterator]()}equals(e){return e===this||this.items.equals(e.items)}modify(){return new a(this.items.modify())}some(e){return this.items.some(e)}isEmpty(){return this.items.isEmpty()}clone(){const e=d.prepare();for(const t of this.items)e.add(t.clone());return e.build()}}t.VideoPreferences=d,t.default=d},31975(e,t,i){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,i,n){void 0===n&&(n=i),Ob
2138ject.defineProperty(e,n,{enumerable:!0,get:function(){return t[i]}})}:function(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&n(t,e,i);return r(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(705)),d=s(i(19542)),c=s(i(53551)),l=s(i(40736)),u=i(70305),h=o(i(35928)),p=s(i(23487)),f=s(i(32648)),m=s(i(12712)),g=s(i(30159)),v=s(i(4553)),b=i(7980),y=s(i(66593)),S=s(i(62531));class w{constructor(){this.bandwidthEstimateKbps=0,this.usedBandwidthKbps=0,this.packetsLost=0,this.nackCount=0,this.rttMs=0}}class C{constructor(e,t=y.default.Default){this.logger=e,this.videoPriorityBasedPolicyConfig=t,this.shouldPauseTiles=!0,this.observerQueue=new Set,this.pausedBwAttendeeIds=new Set,this.wantsResubscribeObserver=void 0,this.videoPriorityBasedPolicyConfig.serverSideNetworkAdaption===h.default.Default&&(this.videoPriorityBasedPolicyConfig.serverSideNetworkAdaption=h.default.BandwidthProbingAndRemoteVideoQualityAdaption),this.reset()}reset(){this.allHighestPolicy=new m.default(""),this.optimalReceiveSet=new f.default,this.optimalReceiveStreams=[],this.optimalNonPausedReceiveStreams=[],this.subscribedReceiveSet=new f.default,this.subscribedReceiveStreams=[],this.videoPreferences=void 0,this.defaultVideoPreferences=void 0,this.shouldPauseTiles=!0,this.pausedStreamIds=new f.default,this.pausedBwAttendeeIds=new Set,this.videoPreferencesUpdated=!1,this.logCount=0,this.startupPeriod=!0,this.usingPrevTargetRate=!1,this.rateProbeState="Not Probing",this.firstEstimateTimestamp=0,this.lastUpgradeRateKbps=0,this.timeBeforeAllowSubscribeMs=C.MIN_TIME_BETWEEN_SUBSCRIBE_MS,this.lastProbeTimestamp=Date.now(),this.timeBeforeAllowProbeMs=C.MIN_TIME_BETWEEN_PROBE_MS,this.downlinkStats=new w,this.prevDownlinkStats=new w,this.probeFailed=!1,this.serverSideNetworkAdaption=this.videoPriorityBasedPolicyConfig.serverSideNetworkAdaption,this.pendingActionAfterUpdatedPreferences=!1}bindToTileController(e){this.tileController=e,this.logger.info("tileController bound")}setWantsResubscribeObserver(e){this.wantsResubscribeObserver=e}chooseRemoteVideoSources(e){var t;if(!(null===(t=this.videoPreferences)||void 0===t?void 0:t.equals(e))){if(this.videoPreferences=null==e?void 0:e.clone(),!h.serverSideNetworkAdaptionIsNoneOrDefault(this.serverSideNetworkAdaption)&&(this.pendingActionAfterUpdatedPreferences=!0,void 0!==this.wantsResubscribeObserver&&(this.wantsResubscribeObserver(),this.pendingActionAfterUpdatedPreferences=!1),this.serverSideNetworkAdaption===h.default.BandwidthProbingAndRemoteVideoQualityAdaption)){const e=new Array;for(const t of this.videoPreferences){const i=new p.default;i.attendee=new a.default,i.attendee.attendeeId=t.attendeeId,e.push(i)}return void this.allHighestPolicy.chooseRemoteVideoSources(e)}this.videoPreferencesUpdated=!0,this.logger.info(`bwe: setVideoPreferences bwe: new preferences: ${JSON.stringify(e)}`)}}updateIndex(e){this.videoIndex=e,this.serverSideNetworkAdaption===h.default.BandwidthProbingAndRemoteVideoQualityAdaption&&this.allHighestPolicy.updateIndex(e),this.videoPreferences||this.updateDefaultVideoPreferences()}updateDefaultVideoPreferences(){const e=new Set;for(const t of this.videoIndex.remoteStreamDescriptions())e.add(t.attendeeId);const t=b.VideoPreferences.prepare(),i=e.size;let n=g.default.Maximum;i>8?n=g.default.Low:i>4&&(n=g.default.Medium);for(const i of e)t.add(new v.default(i,1,n));this.defaultVideoPreferences=t.build()}updateMetrics(e){if(!this.videoIndex||this.videoIndex.allStreams().empty())return;this.prevDownlinkStats=this.downlinkStats,this.downlinkStats=new w;const t=e.getObservableMetrics();this.downlinkStats.bandwidthEstimateKbps=t.availableIncomingBitrate/1e3;for(const t in e.streamMetricReports){const i=Number.parseInt(t,10),n=e.streamMetricReports[i];n.direction===d.default.DOWNSTREAM&&n.mediaType===c.default.VIDEO&&(n.currentMetrics.hasOwnProperty("nackCount")&&(this.downlinkStats.nackCount+=e.countPerSecond("nackCount",i)),n.currentMetrics.hasOwnProperty("packetsLost")&&(this.downlinkStats.packetsLost+=e.countPerSecond("packetsLost",i)),n.currentMetrics.hasOwnProperty("bytesReceived")&&(this.downlinkStats.usedBandwidthKbps+=e.bitsPerSecond("bytesReceived",i)/1e3))}}wantsResubscribe(){let e=!1;return h.serverSideNetworkAdaptionIsNoneOrDefault(this.serverSideNetworkAdaption)||(e||(e=this.pendingActionAfterUpdatedPreferences),this.serverSideNetworkAdaption!==h.default.BandwidthProbingAndRemoteVideoQualityAdaption)?(this.calculateOptimalReceiveSet(),e||(e=!this.subscribedReceiveSet.equal(this.optimalReceiveSet)),e):e||this.allHighestPolicy.wantsResubscribe()}chooseSubscriptions(){return h.serverSideNetworkAdaptionIsNoneOrDefault(this.serverSideNetworkAdaption)||(this.pendingActionAfterUpdatedPreferences=!1,this.serverSideNetworkAdaption!==h.default.BandwidthProbingAndRemoteVideoQualityAdaption)?(this.subscribedReceiveSet.equal(this.optimalReceiveSet)||(this.lastSubscribeTimestamp=Date.now()),this.subscribedReceiveSet=this.optimalReceiveSet.clone(),this.subscribedReceiveStreams=this.optimalReceiveStreams.slice(),this.subscribedReceiveSet.clone()):this.allHighestPolicy.chooseSubscriptions()}
2138addObserver(e){this.observerQueue.add(e)}removeObserver(e){this.observerQueue.delete(e)}forEachObserver(e){for(const t of this.observerQueue)e(t)}setVideoPriorityBasedPolicyConfigs(e){this.videoPriorityBasedPolicyConfig=e}calculateOptimalReceiveStreams(){var e;const t=[],i=this.videoIndex.remoteStreamDescriptions();if(0===i.length||(null===(e=this.videoPreferences)||void 0===e?void 0:e.isEmpty()))return void(this.optimalReceiveStreams=[]);const n=this.rateProbeState;this.cleanBwPausedTiles(i),this.handleAppPausedStreams(t,i);const r=new Map;for(const e of this.getCurrentVideoPreferences())r.set(e.attendeeId,e);const o=i.filter(e=>r.has(e.attendeeId)),s=!this.streamsWithPreferenceDidChange(o),a=!this.startupPeriod&&s;if(a&&Date.now()-this.lastSubscribeTimestamp<this.timeBeforeAllowSubscribeMs)return;o.sort((e,t)=>e.maxBitrateKbps===t.maxBitrateKbps?e.streamId-t.streamId:e.maxBitrateKbps-t.maxBitrateKbps);for(const e of o)(0===e.avgBitrateKbps||e.avgBitrateKbps>e.maxBitrateKbps)&&(e.attendeeId.endsWith(l.default.Modality)&&e.maxBitrateKbps<100?e.maxBitrateKbps=e.avgBitrateKbps:e.avgBitrateKbps=e.maxBitrateKbps);const d=new Set;for(const e of this.getCurrentVideoPreferences()){const t=o.filter(t=>t.attendeeId===e.attendeeId);if(t.length<3)continue;let i,n=15,r=153600;t.forEach(e=>{n=Math.max(n,e.maxFrameRate),r=Math.max(r,e.totalPixels())}),t.sort((t,i)=>{if(e.degradationPreference===S.default.MaintainResolution)return Math.abs(t.maxFrameRate-i.maxFrameRate)<2?t.totalPixels()-i.totalPixels():t.maxFrameRate-i.maxFrameRate;if(e.degradationPreference===S.default.MaintainFramerate)return t.totalPixels()===i.totalPixels()?t.maxFrameRate-i.maxFrameRate:t.totalPixels()-i.totalPixels();{const e=5,o=2,s=t=>t.avgBitrateKbps*Math.pow(2,e*t.maxFrameRate/n*Math.pow(2*o,t.totalPixels()/r));return s(t)-s(i)}});for(const e of t)void 0!==i&&(e.maxFrameRate<i.maxFrameRate&&Math.abs(i.maxFrameRate-e.maxFrameRate)>2||e.totalPixels()<i.totalPixels())?d.add(e.streamId):i=e}const c=o.filter(e=>!d.has(e.streamId));this.logger.info(`Filtered to ${JSON.stringify(c)}`);const p={targetDownlinkBitrate:0,chosenTotalBitrate:0,deltaToNextUpgrade:0};p.targetDownlinkBitrate=this.determineTargetRate();const f=this.subscribedReceiveSet.size(),m=this.downlinkStats.bandwidthEstimateKbps,g=!this.videoPriorityBasedPolicyConfig.allowSubscribe(f,m);if(this.probeFailed&&(this.probeFailed=!1,this.timeBeforeAllowSubscribeMs=C.MIN_TIME_BETWEEN_SUBSCRIBE_MS,a&&g))return;const v=this.priorityPolicy(p,c,t);let b=0;if(h.serverSideNetworkAdaptionIsNoneOrDefault(this.serverSideNetworkAdaption)&&!this.startupPeriod&&s?"Probing"===this.rateProbeState?b=this.handleProbe(t,p.targetDownlinkBitrate):0!==p.deltaToNextUpgrade&&(b=this.maybeOverrideOrProbe(t,p,v)):(this.setProbeState("Not Probing"),this.lastUpgradeRateKbps=0),this.previousStreamsWithPreference=o,this.videoPreferencesUpdated=!1,1===b)return this.logger.info(`bwe: keepSameSubscriptions stats:${JSON.stringify(this.downlinkStats)}`),void(this.prevTargetRateKbps=p.targetDownlinkBitrate);if(2===b){const e=this.calculateSubscribeRate(this.preProbeNonPausedReceiveStreams);return this.optimalReceiveStreams=this.preProbeReceiveStreams.slice(),this.processBwPausedStreams(o,this.preProbeNonPausedReceiveStreams),void this.logger.info("bwe: Use Pre-Probe subscription subscribedRate:"+e)}this.optimalNonPausedReceiveStreams=t.slice();const y=this.pausedBwAttendeeIds.size;this.processBwPausedStreams(o,t),this.logger.getLogLevel()<=u.LogLevel.INFO&&(this.logCount%15==0||this.rateProbeState!==n||this.optimalReceiveStreams.length!==t.length||y!==this.pausedBwAttendeeIds.size)&&(this.logger.info(this.policyStateLogStr(i,p.targetDownlinkBitrate)),this.logCount=0),this.logCount++,this.prevTargetRateKbps=p.targetDownlinkBitrate,this.optimalReceiveStreams=t.slice()}calculateOptimalReceiveSet(){const e=new f.default;this.calculateOptimalReceiveStreams();for(const t of this.optimalReceiveStreams)e.add(t.streamId);if(!this.optimalReceiveSet.equal(e)){const t=this.calculateSubscribeRate(this.optimalReceiveStreams);this.logger.info(`bwe: new streamSelection: ${JSON.stringify(e)} subscribedRate:${t}`)}this.optimalReceiveSet=e}determineTargetRate(){let e=0;const t=Date.now();return 0!==this.downlinkStats.bandwidthEstimateKbps?(0===this.firstEstimateTimestamp&&(this.firstEstimateTimestamp=t),this.startupPeriod&&(this.downlinkStats.bandwidthEstimateKbps>C.DEFAULT_BANDWIDTH_KBPS||this.downlinkStats.packetsLost>0||t-this.firstEstimateTimestamp>C.STARTUP_PERIOD_MS&&this.downlinkStats.bandwidthEstimateKbps<=this.prevDownlinkStats.bandwidthEstimateKbps)&&(this.startupPeriod=!1,this.prevTargetRateKbps=this.downlinkStats.bandwidthEstimateKbps),this.startupPeriod?e=C.DEFAULT_BANDWIDTH_KBPS:"Probing"===this.rateProbeState&&this.downlinkStats.usedBandwidthKbps>this.downlinkStats.bandwidthEstimateKbps&&this.downlinkStats.packetsLost<C.SPURIOUS_PACKET_LOST_THRESHOLD?(this.logger.info(`bwe: In probe state, overriding estimate ${this.downlinkStats.bandwidthEstimateKbps} with actual receive bitrate ${this.downlinkStats.usedBandwidthKbps}`),e=this.downlinkStats.usedBandwidthKbps+C.USED_BANDWIDTH_OVERRIDE_BUFFER_KBPS):e=this.downlinkStats.bandwidthEstimateKbps):e=0===this.firstEstimateTimestamp?C.DEFAULT_BANDWIDTH_KBPS:this.prevTargetRateKbps,!this.startupPeriod&&(this.usingPrevTargetRate&&this.downlinkStats.bandwidthEstimateKbps<this.prevTargetRateKbps||this.downlinkStats.bandwidthEstimateKbps<this.prevTargetRateKbps*(100-C.LARGE_RATE_CHANGE_TRIGGER_PERCENT)/100||this.downlinkStats.bandwidthEstimateKbps<this.downlinkStats.usedBandwidthKbps*C.LARGE_RATE_CHANGE_TRIGGER_PERCENT/100)&&0===this.downlinkStats.packetsLost?(this.logger.debug(()=>"bwe: ValidateRate: Using Previous rate "+this.prevTargetRateKbps),this.usingPrevTargetRate=!0,e=this.prevTargetRateKbps):this.usingPrevTargetRate=!1,e>15e3&&this.logger.warn("bwe: "+e+" exceeds maximum limit (15000). Limit TargetDisplaySize with VideoPreferences to avoid this."),Math.min(e,15e3)}setProbeState(e){if(this.rateProbeState===e)return!1;const t=Date.now();switch(e){case"Not Probing":this.probePendingStartTimestamp=0;break;case"Probe Pending":if(!(0===this.lastProbeTimestamp||t-this.lastProbeTimestamp>C.MIN_TIME_BETWEEN_PROBE_MS))return!1;this.probePendingStartTimestamp=t;break;case"Probing":if(!(t-this.probePendingStartTimestamp>this.timeBeforeAllowProbeMs))return!1;this.lastProbeTimestamp=t,this.preProbeReceiveStreams=this.subscribedReceiveStreams.slice(),this.preProbeNonPausedReceiveStreams=this.optimalNonPau
2138sedReceiveStreams,this.timeBeforeAllowProbeMs=Math.min(2*this.timeBeforeAllowProbeMs,C.MAX_HOLD_BEFORE_PROBE_MS)}return this.logger.info("bwe: setProbeState to "+e+" from "+this.rateProbeState),this.rateProbeState=e,!0}upgradeToStream(e,t){for(let i=0;i<e.length;i++)if(e[i].groupId===t.groupId){const n=t.avgBitrateKbps-e[i].avgBitrateKbps;return this.logger.info("bwe: upgradeStream from "+JSON.stringify(e[i])+" to "+t),this.lastUpgradeRateKbps=n,e[i]=t,n}return e.push(t),this.lastUpgradeRateKbps=t.avgBitrateKbps,this.lastUpgradeRateKbps}handleProbe(e,t){if(Date.now()-this.lastProbeTimestamp>C.MAX_ALLOWED_PROBE_TIME_MS)return this.logger.info("bwe: Canceling probe due to timeout"),this.setProbeState("Not Probing"),0;if(this.downlinkStats.packetsLost>0&&(this.logger.info(`bwe: Probe encountering packets lost:${this.downlinkStats.packetsLost}`),this.downlinkStats.packetsLost>C.SPURIOUS_PACKET_LOST_THRESHOLD))return this.setProbeState("Not Probing"),this.logger.info(`bwe: Canceling probe due to packets lost:${this.downlinkStats.packetsLost}`),this.probeFailed=!0,this.timeBeforeAllowSubscribeMs=3*Math.max(C.MIN_TIME_BETWEEN_SUBSCRIBE_MS,this.timeBeforeAllowSubscribeMs),2;const i=this.calculateSubscribeRate(this.optimalReceiveStreams);return this.chosenStreamsSameAsLast(e)||t>i?(this.logger.info("bwe: Probe successful"),this.setProbeState("Not Probing"),this.timeBeforeAllowProbeMs=C.MIN_TIME_BETWEEN_PROBE_MS,0):1}maybeOverrideOrProbe(e,t,i){const n=this.chosenStreamsSameAsLast(e);let r=0;const o=t.targetDownlinkBitrate>C.LOW_BITRATE_THRESHOLD_KBPS?C.TARGET_RATE_CHANGE_TRIGGER_PERCENT:2*C.TARGET_RATE_CHANGE_TRIGGER_PERCENT,s=t.targetDownlinkBitrate*o/100;if(this.targetRateBaselineForDeltaCheckKbps=void 0!==this.targetRateBaselineForDeltaCheckKbps?this.targetRateBaselineForDeltaCheckKbps:this.prevTargetRateKbps,!n&&Math.abs(t.targetDownlinkBitrate-this.targetRateBaselineForDeltaCheckKbps)<s?(this.logger.info("bwe: MaybeOverrideOrProbe: Reuse last decision based on delta rate. {"+JSON.stringify(this.subscribedReceiveSet)+"}"),r=1):this.targetRateBaselineForDeltaCheckKbps=t.targetDownlinkBitrate,this.downlinkStats.packetsLost>this.prevDownlinkStats.packetsLost)return this.setProbeState("Not Probing"),this.lastUpgradeRateKbps=0,r;if(n||1===r)switch(this.rateProbeState){case"Not Probing":this.setProbeState("Probe Pending");break;case"Probe Pending":this.setProbeState("Probing")&&(this.upgradeToStream(e,i),r=0)}else this.setProbeState("Not Probing");return r}calculateSubscribeRate(e){let t=0;for(const i of e)this.pausedStreamIds.contain(i.streamId)||this.pausedBwAttendeeIds.has(i.attendeeId)||(t+=i.maxBitrateKbps);return t}handleAppPausedStreams(e,t){if(!this.tileController)return void this.logger.warn("tileController not found!");this.pausedStreamIds=new f.default;const i=this.tileController.getAllRemoteVideoTiles();for(const n of i){const i=n.state();if(i.paused&&!this.pausedBwAttendeeIds.has(i.boundAttendeeId)){let n=t.length;for(;n--;)t[n].attendeeId===i.boundAttendeeId&&(this.logger.info("bwe: removed paused attendee "+i.boundAttendeeId+" streamId: "+t[n].streamId),this.pausedStreamIds.add(t[n].streamId),this.subscribedReceiveSet.contain(t[n].streamId)&&e.push(t[n]),t.splice(n,1))}}}processBwPausedStreams(e,t){if(!this.tileController)return void this.logger.warn("tileController not found!");const i=this.getCurrentVideoPreferences();if(i&&this.shouldPauseTiles){const n=this.tileController.getAllVideoTiles();for(const r of i){const i=this.getVideoTileForAttendeeId(r.attendeeId,n),o=(null==i?void 0:i.state().paused)||!1;if(t.some(e=>e.attendeeId===r.attendeeId))o&&this.pausedBwAttendeeIds.has(r.attendeeId)&&(this.logger.info(`bwe: unpausing attendee ${r.attendeeId} due to bandwidth`),this.forEachObserver(e=>{e.tileWillBeUnpausedByDownlinkPolicy(i.id())}),this.tileController.unpauseVideoTile(i.id()),this.pausedBwAttendeeIds.delete(r.attendeeId));else{const n=e.some(e=>e.attendeeId===r.attendeeId);if(i&&n){const e=this.optimalReceiveStreams.find(e=>e.attendeeId===r.attendeeId);void 0!==e&&(o||(this.logger.info(`bwe: pausing streamId ${e.streamId} attendee ${r.attendeeId} due to bandwidth`),this.forEachObserver(e=>{e.tileWillBePausedByDownlinkPolicy(i.id())}),this.tileController.pauseVideoTile(i.id())),t.push(e)),this.pausedBwAttendeeIds.add(r.attendeeId)}else if(n){const e=this.tileController.addVideoTile();e.bindVideoStream(r.attendeeId,!1,null,0,0,0,null),this.forEachObserver(t=>{t.tileWillBePausedByDownlinkPolicy(e.id())}
2138),e.pause(),this.logger.info(`bwe: Created video tile ${e.id()} for bw paused attendee ${r.attendeeId}`),this.pausedBwAttendeeIds.add(r.attendeeId)}}}}}cleanBwPausedTiles(e){if(!this.tileController)return void this.logger.warn("tileController not found!");const t=this.tileController.getAllRemoteVideoTiles(),i=this.getCurrentVideoPreferences();for(const n of t){const t=n.state();t.boundVideoStream||(e.some(e=>e.attendeeId===t.boundAttendeeId)?void 0===i||i.some(e=>e.attendeeId===t.boundAttendeeId)||this.tileController.removeVideoTile(t.tileId):(this.tileController.removeVideoTile(t.tileId),this.logger.info(`bwe: Removed video tile ${t.tileId} for bw paused attendee ${t.boundAttendeeId}`)))}}priorityPolicy(e,t,i){let n;const r=this.getCurrentVideoPreferences(),o=r.highestPriority();let s,a=o;for(;-1!==a;){s=-1;for(const o of r)if(o.priority===a)for(const r of t)r.attendeeId===o.attendeeId&&(i.some(e=>e.groupId===r.groupId)||(e.chosenTotalBitrate+r.avgBitrateKbps<=e.targetDownlinkBitrate?(i.push(r),e.chosenTotalBitrate+=r.avgBitrateKbps):0===e.deltaToNextUpgrade&&(e.deltaToNextUpgrade=r.avgBitrateKbps,n=r)));else if(o.priority>a){s=o.priority;break}for(const o of r)if(o.priority===a){for(const r of t)if(r.attendeeId===o.attendeeId){const s=i.findIndex(e=>e.groupId===r.groupId&&e.maxBitrateKbps<=r.maxBitrateKbps&&e.avgBitrateKbps<r.avgBitrateKbps);if(-1!==s){const a=r.avgBitrateKbps-i[s].avgBitrateKbps;this.hasSimulcastStreams(t,r.attendeeId,r.groupId)&&this.canUpgrade(r.avgBitrateKbps,o.targetSize,o.targetSizeToBitrateKbps(o.targetSize),r.attendeeId.endsWith(l.default.Modality))?(this.logger.info(`bwe: attendee: ${r.attendeeId} group: ${r.groupId} has simulcast and can upgrade avgBitrate: ${r.avgBitrateKbps} target: ${o.targetSizeToBitrateKbps(o.targetSize)} targetTotalBitrate: ${e.targetDownlinkBitrate}`),e.chosenTotalBitrate+a<=e.targetDownlinkBitrate?(e.chosenTotalBitrate+=a,i[s]=r):0===e.deltaToNextUpgrade&&(e.deltaToNextUpgrade=a,n=r)):this.logger.info("bwe: cannot upgrade stream quality beyond target size")}}}else if(o.priority>a)break;if(a===o&&0!==e.deltaToNextUpgrade)break;a=s}return n}getVideoTileForAttendeeId(e,t){for(const i of t)if(i.state().boundAttendeeId===e)return i;return null}canUpgrade(e,t,i,n){let r=!1;return(t===g.default.High||!n&&e<=i||n&&t===g.default.Medium&&e<=i)&&(r=!0),r?(this.logger.info(`bwe: canUpgrade: bitrateKbps: ${e} targetBitrateKbps: ${i}`),!0):(this.logger.info(`bwe: cannot Upgrade: bitrateKbps: ${e} targetBitrateKbps: ${i}`),!1)}hasSimulcastStreams(e,t,i){let n=0;for(const r of e)r.attendeeId===t&&r.groupId===i&&n++;return this.logger.info(`bwe: attendeeId: ${t} groupId: ${i} hasSimulcastStreams: streamCount: ${n}`),n>1}streamsWithPreferenceDidChange(e){if(void 0===this.previousStreamsWithPreference||e.length!==this.previousStreamsWithPreference.length||!0===this.videoPreferencesUpdated)return!0;for(const t of e)if(void 0===this.previousStreamsWithPreference.find(e=>e.groupId===t.groupId&&e.streamId===t.streamId&&e.maxBitrateKbps===t.maxBitrateKbps))return!0;return!1}chosenStreamsSameAsLast(e){if(this.optimalNonPausedReceiveStreams.length!==e.length)return!1;for(const t of this.optimalNonPausedReceiveStreams)if(!e.some(e=>e.streamId===t.streamId))return!1;return!0}policyStateLogStr(e,t){const i={targetBitrate:t,subscribedRate:this.calculateSubscribeRate(this.optimalReceiveStreams),probeState:this.rateProbeState,startupPeriod:this.startupPeriod};let n="remoteInfos: [";for(const t of e)n+=`{grpId:${t.groupId} strId:${t.streamId} maxBr:${t.maxBitrateKbps} avgBr:${t.avgBitrateKbps}}, `;n+="]";let r=`bwe: optimalReceiveSet ${JSON.stringify(i)}\nbwe: prev ${JSON.stringify(this.prevDownlinkStats)}\nbwe: now ${JSON.stringify(this.downlinkStats)}\nbwe: ${n}\n`;return(this.pausedStreamIds.size()>0||this.pausedBwAttendeeIds.size>0)&&(r+=`bwe: paused: app stream ids ${JSON.stringify(this.pausedStreamIds)} bw attendees { ${Array.from(this.pausedBwAttendeeIds).join(" ")} }\n`),this.videoPreferences?r+=`bwe: preferences: ${JSON.stringify(this.videoPreferences)}`:r+=`bwe: default preferences: ${JSON.stringify(this.defaultVideoPreferences)}`,r}getCurrentVideoPreferences(){return this.videoPreferences||this.defaultVideoPreferences}getServerSideNetworkAdaption(){return this.serverSideNetworkAdaption}setServerSideNetworkAdaption(e){this.serverSideNetworkAdaption=e,this.setProbeState("Not Probing")}supportedServerSideNetworkAdaptions(){return[h.default.None,h.default.BandwidthProbing,h.default.BandwidthProbingAndRemoteVideoQualityAdaption]}getVideoPreferences(){let e=this.getCurrentVideoPreferences();return e||(e=b.VideoPreferences.prepare().build()),e}wantsAllTemporalLayersInIndex(){return!0}}t.default=C,C.DEFAULT_BANDWIDTH_KBPS=2800,C.STARTUP_PERIOD_MS=6e3,C.LARGE_RATE_CHANGE_TRIGGER_PERCENT=20,C.TARGET_RATE_CHANGE_TRIGGER_PERCENT=15,C.LOW_BITRATE_THRESHOLD_KBPS=300,C.MIN_TIME_BETWEEN_PROBE_MS=5e3,C.MIN_TIME_BETWEEN_SUBSCRIBE_MS=2e3,C.MAX_HOLD_BEFORE_PROBE_MS=3e4,C.MAX_ALLOWED_PROBE_TIME_MS=6e4,C.SPURIOUS_PACKET_LOST_THRESHOLD=2,C.USED_BANDWIDTH_OVERRIDE_BUFFER_KBPS=100},66593(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esMo
2138dule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(35928));class o{constructor(e=0,t=0){this.networkIssueResponseDelayFactor=e,this.networkIssueRecoveryDelayFactor=t,this.currentNetworkEvent=0,this.bandwidthDecreaseTimestamp=0,this.referenceBitrate=0,this.serverSideNetworkAdaption=r.default.BandwidthProbingAndRemoteVideoQualityAdaption,e<0?e=0:e>1&&(e=1),this.networkIssueResponseDelayFactor=e,t<0?t=0:t>1&&(t=1),this.networkIssueRecoveryDelayFactor=t}allowSubscribe(e,t){let i=0;const n=this.currentNetworkEvent;if(t>this.referenceBitrate)return this.currentNetworkEvent=2,this.referenceBitrate=t,!0;if(t<this.referenceBitrate){if(this.currentNetworkEvent=1,i=this.getSubscribeDelay(this.currentNetworkEvent,e),1!==n)this.bandwidthDecreaseTimestamp=Date.now();else if(Date.now()-this.bandwidthDecreaseTimestamp>i)return this.referenceBitrate=t,!0;return!1}return this.currentNetworkEvent=0,!1}getSubscribeDelay(e,t){let i=o.MINIMUM_DELAY_MS;const n=o.MAXIMUM_DELAY_MS-o.MINIMUM_DELAY_MS,r=this.networkIssueResponseDelayFactor;return 1===e&&(i+=n*r*(1+t/10),i=Math.min(o.MAXIMUM_DELAY_MS,i)),i}}t.default=o,o.MINIMUM_DELAY_MS=2e3,o.MAXIMUM_DELAY_MS=8e3,o.Default=new o(0,0),o.UnstableNetworkPreset=new o(0,1),o.StableNetworkPreset=new o(1,0)},62531(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.VideoQualityAdaptationPreference=void 0,function(e){e[e.Balanced=0]="Balanced",e[e.MaintainFramerate=1]="MaintainFramerate",e[e.MaintainResolution=2]="MaintainResolution"}(i=t.VideoQualityAdaptationPreference||(t.VideoQualityAdaptationPreference={})),t.default=i},43923(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{create(){const e={clientWidth:400,clientHeight:300,width:400,height:300,videoWidth:400,videoHeight:300,style:{transform:""},hasAttribute:()=>!1,removeAttribute:()=>{},setAttribute:()=>{},srcObject:!1,paused:!0,pause:()=>{e.paused=!0},play:()=>(e.paused=!1,Promise.resolve())};return e}}},43745(e,t){"use strict";var i=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e){this.canvas=e,this.destroyed=!1}destroy(){this.canvas=null,this.destroyed=!0}asCanvasImageSource(){return i(this,void 0,void 0,function*(){return this.destroyed?Promise.reject("canvas buffer is destroyed"):Promise.resolve(this.canvas)})}asCanvasElement(){return this.canvas}}},94422(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(43745)),s=r(i(70447));t.default=class{constructor(e,t,i=new s.default){this.logger=e,this.stages=t,this.fr=15,this.outputMediaStream=new MediaStream,this.videoInput=document.createElement("video"),this.canvasOutput=document.createElement("canvas"),this.outputCtx=this.canvasOutput.getContext("2d"),this.canvasInput=document.createElement("canvas"),this.inputCtx=this.canvasInput.getContext("2d"),this.inputVideoStream=null,this.sourceBuffers=[],this.destBuffers=[],this.observers=new Set,this.hasStarted=!1,this.process=e=>n(this,void 0,void 0,function*(){if(!this.inputVideoStream)return;const e=performance.now();this.videoInput.videoWidth&&(this.canvasInput.width!==this.videoInput.videoWidth&&(this.canvasInput.width=this.videoInput.videoWidth,this.canvasInput.height=this.videoInput.videoHeight,this.sourceBuffers[0].height=this.canvasInput.height,this.sourceBuffers[0].width=this.canvasInput.width,this.sourceBuffers[0].framerate=this.framerate),this.inputCtx.drawImage(this.videoInput,0,0));let t,i=[];i.push(this.sourceBuffers[0]);try{for(const e of this.processors)i=yield e.process(i)}catch(e){return void this.forEachObserver(e=>{e.processingDidFailToStart&&e.processingDidFailToStart()})}this.destBuffers=i;try{t=yield this.destBuffers[0].asCanvasImageSource()}catch(e){return void(this.inputVideoStream&&(this.logger.info("buffers are destroyed and pipeline could not start"),this.forEachObserver(e=>{e.processingDidFailToStart&&e.processingDidFailToStart()})))}const n=t.width,r=t.height;0!==n&&0!==r&&(this.canvasOutput.width!==n&&this.canvasOutput.height!==r&&(this.canvasOutput.width=n,this.canvasOutput.height=r),this.outputCtx.drawImage(t,0,0,n,r,0,0,n,r),this.hasStarted||(this.hasStarted=!0,this.forEachObserver(e=>{e.processingDidStart&&e.processingDidStart()})));const o=performance.now()-e,s=2e3/this.framerate-o,a=Math.max(0,1e3/this.framerate-o);s<=0&&this.forEachObserver(e=>{e.processingLatencyTooHigh&&e.processingLatencyTooHigh(o)}),yield this.timer.start(a,this.process.bind(this))}),this.timer=i}destroy(){if(this.stop(),this.stages)for(const e of this.stages)e.destroy();this.timer.destroy()}get framerate(){return this.fr}set framerate(e){this.fr=e<0||void 0===e?15:e}stop(){if(this.videoInput.removeEventListener("loadedmetadata",this.process),this.videoInput.srcObject=null,this.destroyInputMediaStreamAndBuffers(),this.outputMediaStream)for(const e of this.outputMediaStream.getVideoTracks())e.stop();this.hasStarted&&(this.hasStarted=!1,this.forEachObserver(e=>{e.processingDidStop&&e.processingDidStop()}))}addObserver(e){this.observers.add(e)}removeObserver(e){this.observers.delete(e)}getInputMediaStream(){return n(this,void 0,void 0,function*(){return this.inputVideoStream})}getActiveOutputMediaStream(){return this.isOutputMediaStreamActive()||(this.outputMediaStream=this.canvasOutput.captureStream(this.framerate),this.cloneInputAudioTracksToOutput()),this.outputMediaStream}setInputMediaStream(e){return n(this,void 0,void 0,function*(){if(!e)return void this.stop();if(0===e.getVideoTracks().length)return void this.logger.error("No video tracks in input media stream, ignoring");
2138this.inputVideoStream=e;const t=this.inputVideoStream.getVideoTracks()[0].getSettings();this.logger.info(`processing pipeline input stream settings ${JSON.stringify(t)}`),this.framerate=t.frameRate,this.canvasOutput.width=t.width,this.canvasOutput.height=t.height,this.videoInput.addEventListener("loadedmetadata",this.process),this.videoInput.srcObject=this.inputVideoStream,this.videoInput.setAttribute("playsinline","true");const i=new o.default(this.canvasInput);this.sourceBuffers.push(i),this.videoInput.load();try{yield this.videoInput.play()}catch(e){this.logger.warn("Video element play() overrided by another load().")}this.cloneInputAudioTracksToOutput()})}cloneInputAudioTracksToOutput(){if(this.isOutputMediaStreamActive()&&null!==this.inputVideoStream){for(const e of this.outputMediaStream.getAudioTracks())this.logger.info(`Removing audio track ${e.id} from output stream`),this.outputMediaStream.removeTrack(e);for(const e of this.inputVideoStream.getAudioTracks())this.logger.info(`Adding audio track ${e.id} to output stream`),this.outputMediaStream.addTrack(e)}else this.logger.info("Not cloning input audio tracks to output, do not have media streams ready")}isOutputMediaStreamActive(){return this.outputMediaStream&&this.outputMediaStream.active}set processors(e){this.stages=e}get processors(){return this.stages}forEachObserver(e){for(const t of this.observers)setTimeout(()=>{e(t)},0)}destroyInputMediaStreamAndBuffers(){if(this.inputVideoStream)for(const e of this.inputVideoStream.getTracks())e.stop();this.inputVideoStream=null;for(const e of this.sourceBuffers)e.destroy();this.sourceBuffers=[]}}},70447(e,t){"use strict";var i=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.workerTimer=void 0,this.callback=void 0,this.workerTimer=this.createWorkerTimer()}createWorkerTimer(){try{const e=new Blob(["self.onmessage = async function(e){ \n var timerID = null;\n const awaitTimeout = delay => new Promise( resolve => {\n timerID = setTimeout(resolve, delay);\n })\n await awaitTimeout(e.data);\n postMessage(timerID);\n }"],{type:"application/javascript"});return new Worker(window.URL.createObjectURL(e))}catch(e){}}start(e,t){return i(this,void 0,void 0,function*(){this.callback=t,this.workerTimer?(this.workerTimer.onmessage=e=>{this.lastTimeout=e.data,this.callback()},this.workerTimer.postMessage(e)):this.lastTimeout=setTimeout(()=>{this.callback()},e)})}destroy(){return i(this,void 0,void 0,function*(){this.callback=void 0,this.lastTimeout&&(clearTimeout(this.lastTimeout),this.lastTimeout=void 0),this.workerTimer&&(this.workerTimer.terminate(),this.workerTimer=void 0)})}}},3765(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(98824)),s=r(i(94422));class a{constructor(e,t,i,n=new o.default){this.logger=e,this.device=t,this.processors=i,this.browserBehavior=n,this.observers=new Set,this.pipe=new s.default(this.logger,this.processors),this.pipe.addObserver(this)}get outputMediaStream(){return this.pipe.outputMediaStream}passEventControllerToProcessors(e){if(this.pipe.processors)for(const t of this.pipe.processors)"function"==typeof t.setEventController&&t.setEventController(e)}chooseNewInnerDevice(e){const t=new a(this.logger,e,this.processors,this.browserBehavior);return t.pipe=this.pipe,t}getInnerDevice(){return this.device}intrinsicDevice(){return n(this,void 0,void 0,function*(){return this.device})}transformStream(e){return n(this,void 0,void 0,function*(){return yield this.pipe.setInputMediaStream(e),this.inputMediaStream=e,this.pipe.getActiveOutputMediaStream()})}onOutputStreamDisconnect(){this.logger.info("DefaultVideoTransformDevice: detach stopping input media stream");const e=this.device&&this.device.id;if(this.pipe.stop(),!e&&this.inputMediaStream)for(const e of this.inputMediaStream.getVideoTracks())e.stop()}stop(){return n(this,void 0,void 0,function*(){if(this.inputMediaStream)for(const e of this.inputMediaStream.getVideoTracks())e.stop();this.pipe.destroy(),this.inputMediaStream=null})}addObserver(e){this.observers.add(e)}removeObserver(e){this.observers.delete(e)}processingDidStart(){this.logger.info("video transform device processing started"),this.forEachObserver(e=>{e.processingDidStart&&e.processingDidStart()})}processingLatencyTooHigh(e){this.forEachObserver(t=>{t.processingLatencyTooHigh&&t.processingLatencyTooHigh(e)})}processingDidFailToStart(){this.logger.info("video transform device processing failed to start"),this.forEachObserver(e=>{e.processingDidFailToStart&&e.processingDidFailToStart()})}processingDidStop(){this.logger.info("video transform device processing stopped"),this.forEachObserver(e=>{e.processingDidStop&&e.processingDidStop()})}forEachObserver(e){for(const t of this.observers)setTimeout(()=>{e(t)},0)}get framerate(){return this.pipe.framerate}set framerate(e){this.pipe.framerate=e}}t.default=a},25667(e,t){"use strict";var i=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Prom
2138ise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{process(e){return i(this,void 0,void 0,function*(){return e})}destroy(){return i(this,void 0,void 0,function*(){})}}},39014(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeferredPromise=void 0,t.DeferredPromise=class{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}getPromise(){return this.promise}resolvePromise(e){this.resolve(e)}resolveAndReplacePromise(e){this.resolve(e),this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}rejectPromise(e){this.reject(e)}rejectAndReplacePromise(e){this.reject(e),this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}}},92732(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0}),t.VideoFxCanvasOpsManager=void 0;const r=i(42998);t.VideoFxCanvasOpsManager=class{constructor(e,t){this.streamParameters=e,this.outputCanvas=t,this.configureCanvasPipeline()}getInferenceInputData(e){return this.inferenceCtx.save(),this.inferenceCtx.scale(this.horizontalResizeScalar,this.verticalResizeScalar),this.inferenceCtx.drawImage(e,0,0),this.inferenceCtx.restore(),this.inferenceCtx.getImageData(0,0,r.SEGMENTATION_MODEL.WIDTH_IN_PIXELS,r.SEGMENTATION_MODEL.HEIGHT_IN_PIXELS)}configureForStreamParameters(e){return n(this,void 0,void 0,function*(){if(this.streamParameters=e,this.outputCanvas.width=this.streamParameters.width,this.outputCanvas.height=this.streamParameters.height,this.backgroundReplacementCanvas){const e=document.createElement("canvas");e.width=this.streamParameters.width,e.height=this.streamParameters.height,e.getContext("2d").drawImage(this.backgroundReplacementCanvas,0,0,this.streamParameters.width,this.streamParameters.height),this.backgroundReplacementCanvas=e}this.configureCanvasPipeline()})}configureCanvasPipeline(){this.inferenceCanvas=document.createElement("canvas"),this.inferenceCtx=this.inferenceCanvas.getContext("2d",{willReadFrequently:!0}),this.inferenceCanvas.width=r.SEGMENTATION_MODEL.WIDTH_IN_PIXELS,this.inferenceCanvas.height=r.SEGMENTATION_MODEL.HEIGHT_IN_PIXELS,this.horizontalResizeScalar=r.SEGMENTATION_MODEL.WIDTH_IN_PIXELS/this.streamParameters.width,this.verticalResizeScalar=r.SEGMENTATION_MODEL.HEIGHT_IN_PIXELS/this.streamParameters.height}getBackgroundReplacementCanvas(){return this.backgroundReplacementCanvas}loadReplacementBackground(e){return n(this,void 0,void 0,function*(){const t=e.backgroundReplacement.backgroundImageURL,i=e.backgroundReplacement.defaultColor;if(t)try{const e=yield this.loadImage(t);this.backgroundReplacementImage=e,this.resizeAndSetReplacementImage(this.backgroundReplacementImage)}catch(e){throw this.logger.error(e),new Error("Failed to set the replacement image.")}else this.resizeAndSetReplacementColor(i)})}resizeAndSetReplacementImage(e){const t=document.createElement("canvas"),i=t.getContext("2d");t.width=this.streamParameters.width,t.height=this.streamParameters.height,i.drawImage(e,0,0,this.streamParameters.width,this.streamParameters.height),this.backgroundReplacementCanvas=t}resizeAndSetReplacementColor(e){const t=document.createElement("canvas"),i=t.getContext("2d");t.width=this.streamParameters.width,t.height=this.streamParameters.height,i.fillStyle=e,i.fillRect(0,0,this.streamParameters.width,this.streamParameters.height),this.backgroundReplacementCanvas=t}loadImage(e){return n(this,void 0,void 0,function*(){const t=yield fetch(e).catch(e=>{throw this.logger.error(e.toString()),new Error("Failed to fetch image.")}),i=yield t.blob(),n=new Image;return n.src=URL.createObjectURL(i),new Promise((e,t)=>
2138{n.onload=()=>{e(n)},n.onerror=e=>{t(e)}})})}}},42998(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_VIDEO_FX_SPEC=t.FXLIB_PATH=t.WORKER_PATH=t.CDN_BASE_PATH=t.RESOURCE_CONSTRAINTS=t.SEGMENTATION_MODEL=t.DEFAULT_STREAM_PARAMETERS=t.WORKER_MSG=void 0,t.WORKER_MSG={BUILD_ENGINE_REQUEST:"BuildEngineRequest",BUILD_ENGINE_RESPONSE:"BuildEngineResponse",PERFORM_SEGMENTATION_REQUEST:"PerformSegmentationRequest",PERFORM_SEGMENTATION_RESPONSE:"PerformSegmentationResponse",PERFORM_SEGMENTATION_SAB_REQUEST:"PerformSegmentationSABRequest",PERFORM_SEGMENTATION_SAB_RESPONSE:"PerformSegmentationSABResponse",DESTROY_ASSETS_REQUEST:"DestroyAssetsRequest",DESTROY_ASSETS_RESPONSE:"DestroyAssetsResponse",CLOSE_WORKER_REQUEST:"CloseWorkerRequest"},t.DEFAULT_STREAM_PARAMETERS={FRAMES_PER_SECOND:15,WIDTH_IN_PIXEL:960,HEIGHT_IN_PIXEL:540,CHANNEL_COUNT:4},t.SEGMENTATION_MODEL={LOAD_SUCCESS:2,WIDTH_IN_PIXELS:176,HEIGHT_IN_PIXELS:160},t.RESOURCE_CONSTRAINTS={DEFAULT_PROCESSING_BUDGET_PER_FRAME:50,SEGMENTATION_DEFAULT_FRAMES_PER_SEGMENTATION:1,SEGMENTATION_SAMPLING_PERIOD_FRAME_COUNT:500,BLUR_DEFAULT_CYCLE_PERCENTAGE:10,BLUR_SAMPLING_PERIOD_FRAME_COUNT:1e3,MIN_PROCESSING_BUDGET:0,MAX_PROCESSING_BUDGET:100},t.CDN_BASE_PATH="https://static.sdkassets.chime.aws";const i="/ml_media_fx/otherassets";t.WORKER_PATH=`${i}/worker.js`,t.FXLIB_PATH=`${i}
2138/fxlib.js`,t.DEFAULT_VIDEO_FX_SPEC={paths:{cdnBasePath:t.CDN_BASE_PATH,workerPath:t.WORKER_PATH,fxLibPath:t.FXLIB_PATH}}},74227(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(64719),s=i(19048),a=i(37804),d=r(i(98824)),c=r(i(91229)),l=i(48471),u=r(i(40961)),h=r(i(43745)),p=i(39014),f=i(92732),m=i(42998),g=i(21716);class v{constructor(e,t=m.RESOURCE_CONSTRAINTS.DEFAULT_PROCESSING_BUDGET_PER_FRAME,i){this.logger=e,this.outputCanvas=document.createElement("canvas"),this.canvasVideoFrameBuffer=new h.default(this.outputCanvas),this.videoFxSpec=m.DEFAULT_VIDEO_FX_SPEC;try{this.validateProcessingBudgetPerFrame(t)}catch(e){throw this.logger.error(e),new Error(`Cannot instantiate VideoFxProcessor due to invalid processingBudgetPerFrame of ${t}`)}i&&(this.eventController=i),this.effectConfig={backgroundBlur:{isEnabled:!1,strength:"low"},backgroundReplacement:{isEnabled:!1,backgroundImageURL:null,defaultColor:"black"}},this.segmentationRequestPromise=new p.DeferredPromise,this.segmentationRateManager=new g.VideoFxSegmentationRateManager(this.logger,t),this.streamParameters={framerate:m.DEFAULT_STREAM_PARAMETERS.FRAMES_PER_SECOND,width:m.DEFAULT_STREAM_PARAMETERS.WIDTH_IN_PIXEL,height:m.DEFAULT_STREAM_PARAMETERS.HEIGHT_IN_PIXEL,channels:m.DEFAULT_STREAM_PARAMETERS.CHANNEL_COUNT},v.isSharedArrayBufferSupported&&(this.sharedImageBuffer=new SharedArrayBuffer(m.SEGMENTATION_MODEL.WIDTH_IN_PIXELS*m.SEGMENTATION_MODEL.HEIGHT_IN_PIXELS*this.streamParameters.channels),this.sharedImageData=new Uint8ClampedArray(this.sharedImageBuffer)),this.logger.info(`VideoFx supports Shared Array Buffer: ${v.isSharedArrayBufferSupported}`),this.canvasOpsManager=new f.VideoFxCanvasOpsManager(this.streamParameters,this.outputCanvas),this.outputCanvas.width=this.streamParameters.width,this.outputCanvas.height=this.streamParameters.height,this.segmentationMask=new ImageData(this.streamParameters.width,this.streamParameters.height),this.logger.info(`VideoFxProcessor instantiated with a processingBudgetPerFrame of ${t}`)}process(e){return n(this,void 0,void 0,function*(){return e})}fxProcess(e){return n(this,void 0,void 0,function*(){const t=e[0].asCanvasElement();this.didStreamParametersChange(t)&&(yield this.adjustProcessorForNewStreamParameters(t));try{yield this.manageSegmentationMask(t)}catch(e){throw this.logger.error(e),new Error("Video stream could not be processed")}return yield this.renderer.render(t,this.segmentationMask),e[0]=this.canvasVideoFrameBuffer,e})}noOpProcess(e){return n(this,void 0,void 0,function*(){return e})}didStreamParametersChange(e){return e.width!==this.streamParameters.width||e.height!==this.streamParameters.height}adjustProcessorForNewStreamParameters(e){return n(this,void 0,void 0,function*(){this.streamParameters.width=e.width,this.streamParameters.height=e.height,yield this.canvasOpsManager.configureForStreamParameters(this.streamParameters),yield this.renderer.configure(this.streamParameters.width,this.streamParameters.height,this.effectConfig)})}destroy(){return n(this,void 0,void 0,function*(){this.canvasVideoFrameBuffer.destroy(),this.fxLibScript&&this.fxLibScript.parentNode&&this.fxLibScript.parentNode.removeChild(this.fxLibScript),this.engineWorker&&(this.destroyedAssetsPromise=new p.DeferredPromise,this.engineWorker.postMessage({msg:m.WORKER_MSG.DESTROY_ASSETS_REQUEST}),yield this.destroyedAssetsPromise.getPromise(),this.engineWorker.postMessage({msg:m.WORKER_MSG.CLOSE_WORKER_REQUEST})),this.logger.info("VideoFxProcessor destroyed.")})}manageSegmentationMask(e){return n(this,void 0,void 0,function*(){try{if(this.segmentationRateManager.submitFrame(),this.segmentationRateManager.shouldApplySegmentation()){this.segmentationRateManager.startSegmentation();const t=this.canvasOpsManager.getInferenceInputData(e);this.segmentationMask=yield this.generateSegmentationMask(t),this.segmentationRateManager.completeSegmentation()}}catch(e){throw this.logger.error(e.toString()),new Error("Can not properly manage the returned segmentation mask")}})}generateSegmentationMask(e){return n(this,void 0,void 0,function*(){v.isSharedArrayBufferSupported?(this.sharedImageData.set(e.data),this.engineWorker.postMessage({msg:m.WORKER_MSG.PERFORM_SEGMENTATION_SAB_REQUEST,payload:this.sharedImageBuffer})):this.engineWorker.postMessage({msg:m.WORKER_MSG.PERFORM_SEGMENTATION_REQUEST,payload:e},[e.data.buffer]);try{return yield this.segmentationRequestPromise.getPromise()}catch(e){throw this.logger.error(e.toString()),new Error("Segmentation mask could not be generated")}})}cloneConfigFrom(e){return{backgroundBlur:{isEnabled:e.backgroundBlur.isEnabled,strength:e.backgroundBlur.strength},backgroundReplacement:{isEnabled:e.backgroundReplacement.isEnabled,backgroundImageURL:e.backgroundReplacement.backgroundImageURL,defaultColor:e.backgroundReplacement.defaultColor}}}setVideoFxSpec(e){e.paths&&(this.videoFxSpec.paths=e.paths)}setEffectConfig(e){return n(this,void 0,void 0,function*(){if(this.sameVideoFxConfig(e,this.effectConfig))return;const t=this.cloneConfigFrom(e);try{yield this.validateEffectConfig(t)}catch(e){throw this.logger.error(e.toString()),new Error("Provided effect config is invali
2138d, not updating VideoFxProcessor")}t.backgroundReplacement.isEnabled&&(yield this.canvasOpsManager.loadReplacementBackground(t),yield this.renderer.setBackgroundReplacementCanvas(this.canvasOpsManager.getBackgroundReplacementCanvas())),yield this.renderer.configure(this.streamParameters.width,this.streamParameters.height,t),this.effectConfig=t,this.effectConfig.backgroundBlur.isEnabled||this.effectConfig.backgroundReplacement.isEnabled?this.process=this.fxProcess:this.process=this.noOpProcess,this.logger.info(`VideoFxProcessor effect configuration updated to: ${JSON.stringify(this.effectConfig)}`),this.eventController&&this.publishVideoFxConfigEvent()})}validateEffectConfig(e){return n(this,void 0,void 0,function*(){if(e.backgroundBlur.isEnabled&&e.backgroundReplacement.isEnabled)throw new Error("Invalid VideoFx configuration: Background Blur and Background Replacement can not both be enabled");e.backgroundReplacement.isEnabled&&(yield this.validateReplacementConfig(e))})}validateReplacementConfig(e){return n(this,void 0,void 0,function*(){if(e.backgroundReplacement.backgroundImageURL&&e.backgroundReplacement.defaultColor)throw new Error("Invalid VideoFx configuration: Background Replacement can not have both an image URL and default color");if(!e.backgroundReplacement.backgroundImageURL&&!e.backgroundReplacement.defaultColor)throw new Error("Invalid VideoFx configuration: Background Replacement image URL and default can not both be null/undefined");try{e.backgroundReplacement.backgroundImageURL&&(yield this.canvasOpsManager.loadImage(e.backgroundReplacement.backgroundImageURL))}catch(e){throw this.logger.error(e.toString()),new Error("Invalid VideoFx configuration: backgroundImageURL failed to load")}const t=e.backgroundReplacement.defaultColor;if(t&&"black"!==t&&"#000000"!==t&&"#000"!==t){if(t.includes("#")&&!new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/).test(t))throw new Error(`Invalid hexadecimal color code for default replacement background: ${t}`);const e=document.createElement("canvas").getContext("2d"),i=e.fillStyle;if(e.fillStyle=t,e.fillStyle===i)throw new Error(`Invalid color for default replacement background: ${t}`)}})}validateProcessingBudgetPerFrame(e){if(e<m.RESOURCE_CONSTRAINTS.MIN_PROCESSING_BUDGET||e>m.RESOURCE_CONSTRAINTS.MAX_PROCESSING_BUDGET)throw new Error(`Invalid resource constraint: cycle percentage must be within range of ${m.RESOURCE_CONSTRAINTS.MIN_PROCESSING_BUDGET} and ${m.RESOURCE_CONSTRAINTS.MAX_PROCESSING_BUDGET}`)}loadAssets(){return n(this,void 0,void 0,function*(){this.logger.info("Loading required assets for the VideoFxProcessor");try{const e=this.getVideoFxAssetParams();yield this.loadEngineWorker(e),yield this.buildEngine(e),yield this.loadFxLib(e),this.renderer=constructRenderer(m.SEGMENTATION_MODEL.WIDTH_IN_PIXELS,m.SEGMENTATION_MODEL.HEIGHT_IN_PIXELS,this.effectConfig,this.outputCanvas)}catch(e){throw this.logger.error(e.toString()),new Error("Failed to load necessary assets for the VideoFxProcessor")}this.logger.info("Finished loading of essential VideoFxProcessor assets.")})}getVideoFxAssetParams(){const e=l.getDefaultAssetSpec();return{assetGroup:e.assetGroup,revisionID:e.revisionID,sdk:encodeURIComponent(u.default.sdkVersion),ua:encodeURIComponent(u.default.sdkUserAgentLowResolution)}}getPathFromVideoFxAssetParams(e,t){const i=new URL(e);for(const[e,n]of Object.entries(t))if(void 0!==n){const t=encodeURIComponent(e),r=encodeURIComponent(n);i.searchParams.set(t,r)}return i.toString()}loadEngineWorker(e){return n(this,void 0,void 0,function*(){try{const t=this.getPathFromVideoFxAssetParams(this.videoFxSpec.paths.cdnBasePath+this.videoFxSpec.paths.workerPath,e);this.engineWorker=yield s.loadWorker(t,"VideoFxEngineWorker",{},null),this.logger.info("Successfully loaded the VideoFxProcessor's engine worker"),this.engineWorker.addEventListener("message",e=>this.engineWorkerReceiver(e))}catch(e){throw this.logger.error(e.toString()),new Error("Failed to load the VideoFxProcessor's engine worker")}})}buildEngine(e){return n(this,void 0,void 0,function*(){this.buildEnginePromise=new p.DeferredPromise,this.engineWorker.postMessage({msg:m.WORKER_MSG.BUILD_ENGINE_REQUEST,payload:{cdnBasePath:this.videoFxSpec.paths.cdnBasePath,sdkVersioningParams:e}});try{yield this.buildEnginePromise.getPromise()}catch(e){throw this.logger.error(e.toString()),new Error("Failed to instantiate the VideoFxEngine")}})}loadFxLib(e){return n(this,void 0,void 0,function*(){const t=this.getPathFromVideoFxAssetParams(this.videoFxSpec.paths.cdnBasePath+this.videoFxSpec.paths.fxLibPath,e),i={method:"GET",mode:"cors",credentials:"omit",redirect:"follow",referrerPolicy:"no-referrer"};try{const e=yield o.fetchWithBehavior(t,i,{});if(!e.ok)throw new Error("Fetch failed.");const n=window.URL.createObjectURL(yield e.blob());yield new Promise((e,t)=>
2138{this.fxLibScript=document.createElement("script"),this.fxLibScript.setAttribute("src",n),this.fxLibScript.setAttribute("type","module"),this.fxLibScript.setAttribute("async","false"),this.fxLibScript.addEventListener("load",e),this.fxLibScript.addEventListener("error",t),document.body.appendChild(this.fxLibScript)})}catch(e){throw this.logger.error(e.toString()),new Error("Failed to load the fxlib")}})}getEffectConfig(){return this.cloneConfigFrom(this.effectConfig)}engineWorkerReceiver(e){const t=e.data;switch(t.msg){case m.WORKER_MSG.BUILD_ENGINE_RESPONSE:this.settleEngineBuildPromise(t.payload);break;case m.WORKER_MSG.PERFORM_SEGMENTATION_RESPONSE:this.settleSegmentationPromise(t.payload.output);break;case m.WORKER_MSG.PERFORM_SEGMENTATION_SAB_RESPONSE:this.settleSegmentationPromiseSAB();break;case m.WORKER_MSG.DESTROY_ASSETS_RESPONSE:this.destroyedAssetsPromise.resolvePromise();break;default:this.logger.info(`VideoFx worker received unknown event msg: ${JSON.stringify(t)}`)}}settleEngineBuildPromise(e){e!==m.SEGMENTATION_MODEL.LOAD_SUCCESS?this.buildEnginePromise.rejectPromise(new Error("Failed to build VideoFxProcessor's engine")):(this.logger.info("Successfully built the VideoFxEngine"),this.buildEnginePromise.resolvePromise())}settleSegmentationPromise(e){e?this.segmentationRequestPromise.resolveAndReplacePromise(e):this.segmentationRequestPromise.rejectAndReplacePromise(new Error("Failed to perform a segmentation on the input image"))}settleSegmentationPromiseSAB(){try{const e=new ImageData(new Uint8ClampedArray(this.sharedImageData),m.SEGMENTATION_MODEL.WIDTH_IN_PIXELS,m.SEGMENTATION_MODEL.HEIGHT_IN_PIXELS);this.segmentationRequestPromise.resolveAndReplacePromise(e)}catch(e){this.segmentationRequestPromise.rejectAndReplacePromise(new Error("Failed to perform a segmentation with a shared array buffer on the input image"))}}setToNoOpProcess(){this.process=this.noOpProcess}static isSupported(e=new c.default,t=!0){return n(this,void 0,void 0,function*(){let i=!0;const r=(t,n)=>{t&&(e.info(n),i=!1)};return r("undefined"==typeof globalThis,"Browser does not have globalThis."),r(!a.supportsWorker(globalThis,e),"Browser does not support web workers."),r(!a.supportsWASM(globalThis,e),"Browser does not support wasm."),r(!document.createElement("canvas").getContext("webgl2"),"Browser does not support webgl."),r(!(new d.default).isVideoFxSupportedBrowser(),"Browser is unsupported for VideoFxProcessor"),Promise.resolve(!!i&&(yield(()=>n(this,void 0,void 0,function*(){if(t)try{const t=new v(e);yield t.loadAssets(),yield t.destroy()}catch(t){return e.info("Browser environment is unable to access the required external assets."),Promise.resolve(!1)}return Promise.resolve(!0)}))()))})}static create(e,t,i=m.RESOURCE_CONSTRAINTS.DEFAULT_PROCESSING_BUDGET_PER_FRAME,r){return n(this,void 0,void 0,function*(){const n=new v(e,i);r&&n.setVideoFxSpec(r);try{return yield n.loadAssets(),yield n.setEffectConfig(t),n}catch(t){throw e.error(t.toString()),n.setToNoOpProcess(),new Error("VideoFxProcessor built with support for only NoOp processing")}})}setEventController(e){this.eventController?this.eventController=e:(this.eventController=e,this.publishVideoFxConfigEvent())}publishVideoFxConfigEvent(){const e={backgroundBlurEnabled:this.effectConfig.backgroundBlur.isEnabled.toString(),backgroundBlurStrength:this.effectConfig.backgroundBlur.strength,backgroundReplacementEnabled:this.effectConfig.backgroundReplacement.isEnabled.toString(),backgroundFilterVersion:2};this.eventController.publishEvent("backgroundFilterConfigSelected",e)}sameVideoFxConfig(e,t){return e.backgroundBlur.isEnabled===t.backgroundBlur.isEnabled&&e.backgroundBlur.strength===t.backgroundBlur.strength&&e.backgroundReplacement.backgroundImageURL===t.backgroundReplacement.backgroundImageURL&&e.backgroundReplacement.defaultColor===t.backgroundReplacement.defaultColor&&e.backgroundReplacement.isEnabled===t.backgroundReplacement.isEnabled}}t.default=v,v.isSharedArrayBufferSupported="undefined"!=typeof SharedArrayBuffer},21716(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VideoFxSegmentationRateManager=void 0;const n=i(42998);t.VideoFxSegmentationRateManager=class{constructor(e,t){this.logger=e,this.targetSegmentationCyclePercentage=t/100,this.frameCountOverSamplingPeriod=0,this.totalSegmentationDurationOverSamplingPeriod=0,this.samplingPeriodStartTime=performance.now(),this.framesPerSegmentation=n.RESOURCE_CONSTRAINTS.SEGMENTATION_DEFAULT_FRAMES_PER_SEGMENTATION}submitFrame(){this.frameCountOverSamplingPeriod++}shouldApplySegmentation(){return this.frameCountOverSamplingPeriod%this.framesPerSegmentation===0}startSegmentation(){this.frameSegmentationStartTime=performance.now()}completeSegmentation(){this.totalSegmentationDurationOverSamplingPeriod+=performance.now()-this.frameSegmentationStartTime,this.frameCountOverSamplingPeriod>=n.RESOURCE_CONSTRAINTS.SEGMENTATION_SAMPLING_PERIOD_FRAME_COUNT&&this.adjustFramesPerSegmentation(this.totalSegmentationDurationOverSamplingPeriod/(performance.now()-this.samplingPeriodStartTime))}adjustFramesPerSegmentation(e){e>this.targetSegmentationCyclePercentage?(this.framesPerSegmentation++,this.logger.info(`Segmentation cycle percentage above the configured maximal value. Decreasing segmentation rate to 1 segmentation per ${this.framesPerSegmentation} frames`)):this.framesPerSegmentation>1&&e<this.targetSegmentationCyclePercentage&&(this.framesPerSegmentation--,this.logger.info(`Segmentation cycle percentage below the configured maximal value. Increasing segmentation rate to 1 segmentation per ${this.framesPerSegmentation} frames`)),this.totalSegmentationDurationOverSamplingPeriod=0,this.frameCountOverSamplingPeriod=0,this.samplingPeriodStartTime=performance.now()}}},23487(e,t){"use strict";
2138Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{}},32648(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class i{constructor(e){this.ids=new Set(e)}add(e){this.ids.add(e)}array(){return Array.from(this.ids.values()).sort((e,t)=>e-t)}contain(e){return this.ids.has(e)}forEach(e){this.ids.forEach(e)}empty(){return 0===this.ids.size}size(){return this.ids.size}equal(e){if(!e)return 0===this.ids.size;const t=this.array(),i=e.array();if(t.length!==i.length)return!1;for(let e=0;e<t.length;e++)if(t[e]!==i[e])return!1;return!0}clone(){return new i(this.array())}remove(e){this.ids.delete(e)}toJSON(){return this.array()}truncate(e){const t=this.array();return new i(t.splice(0,e))}}t.default=i},50196(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=i(38359),o=n(i(32648)),s=n(i(29173));t.default=class{constructor(e){this.logger=e,this.currentIndex=null,this.indexForSubscribe=null,this.indexForLastRemoteVideoUpdate=null,this.currentSubscribeAck=null,this.subscribeTrackToStreamMap=null,this.subscribeStreamToAttendeeMap=null,this.subscribeStreamToExternalUserIdMap=null,this.subscribeSsrcToStreamMap=null,this.subscribeSsrcToGroupMap=null,this.streamToAttendeeMap=null,this.groupIdToAttendeeMap=null,this.streamToExternalUserIdMap=null,this.videoStreamDescription=new s.default,this.sendVideoStreamId=0,this.videoStreamDescription.trackLabel="AmazonChimeExpressVideo",this.videoStreamDescription.streamId=2,this.videoStreamDescription.groupId=2}localStreamDescriptions(){return[this.videoStreamDescription.clone()]}convertBpsToKbps(e){return e>0&&e<1e3?1:Math.trunc(e/1e3)}remoteStreamDescriptions(){if(!this.currentIndex||!this.currentIndex.sources)return[];const e=[];return this.currentIndex.sources.forEach(t=>{const i=new s.default;i.attendeeId=t.attendeeId,i.groupId=t.groupId,i.streamId=t.streamId,i.maxBitrateKbps=t.maxBitrateKbps,i.avgBitrateKbps=this.convertBpsToKbps(t.avgBitrateBps),i.width=t.width,i.height=t.height,i.maxFrameRate=t.framerate,e.push(i)}),e}integrateUplinkPolicyDecision(e){if(e&&e.length){const t=e[0];this.videoStreamDescription.maxBitrateKbps=t.maxBitrate/1e3,this.videoStreamDescription.maxFrameRate=t.maxFramerate}}integrateIndexFrame(e){if(this.currentIndex=e,!e)return;const t=new Map;let i=!1;for(const n of e.sources){if(!t.has(n.attendeeId)){t.set(n.attendeeId,n.groupId);continue}const e=t.get(n.attendeeId);e<n.groupId&&(this.logger.warn(`Old group ID ${e} found for attendee ID ${n.attendeeId}, replacing with newer group ID ${n.groupId}`),t.set(n.attendeeId,n.groupId)),i=!0}i&&(this.currentIndex.sources=this.currentIndex.sources.filter(e=>t.get(e.attendeeId)===e.groupId)),this.streamToAttendeeMap=null,this.groupIdToAttendeeMap=null,this.streamToExternalUserIdMap=null}subscribeFrameSent(){this.indexForSubscribe=this.currentIndex}remoteVideoUpdateSent(){this.indexForLastRemoteVideoUpdate=this.currentIndex}integrateSubscribeAckFrame(e){this.currentSubscribeAck=e,this.subscribeTrackToStreamMap=this.buildTrackToStreamMap(this.currentSubscribeAck),this.subscribeSsrcToStreamMap=this.buildSSRCToStreamMap(this.currentSubscribeAck),this.subscribeSsrcToGroupMap=this.buildSSRCToGroupMap(this.currentSubscribeAck),this.subscribeStreamToAttendeeMap=this.buildStreamToAttendeeMap(this.indexForSubscribe),this.subscribeStreamToExternalUserIdMap=this.buildStreamExternalUserIdMap(this.indexForSubscribe),this.sendVideoStreamId=0,e.allocations&&void 0!==e.allocations&&e.allocations.length>0&&(this.sendVideoStreamId=e.allocations[0].streamId)}integrateBitratesFrame(e){if(this.currentIndex)for(const t of e.bitrates){const e=this.currentIndex.sources.find(e=>e.streamId===t.sourceStreamId);void 0!==e&&(e.avgBitrateBps=t.avgBitrateBps)}}allStreams(){const e=new o.default;if(this.currentIndex)for(const t of this.currentIndex.sources)e.add(t.streamId);return e}allVideoSendingSourcesExcludingSelf(e){const t=[],i=new Set;if(this.currentIndex&&this.currentIndex.sources&&this.currentIndex.sources.length)for(const n of this.currentIndex.sources){const{attendeeId:o,externalUserId:s,mediaType:a}=n;
2138o!==e&&a===r.SdkStreamMediaType.VIDEO&&(i.has(o)||(t.push({attendee:{attendeeId:o,externalUserId:s}}),i.add(o)))}return t}streamSelectionUnderBandwidthConstraint(e,t,i,n){const s=new Set;if(this.currentIndex)for(const n of this.currentIndex.sources)n.attendeeId!==e&&n.mediaType===r.SdkStreamMediaType.VIDEO&&(t.has(n.attendeeId)||i.has(n.attendeeId)||s.add(n.attendeeId));const a=this.buildAttendeeToSortedStreamDescriptorMapExcludingSelf(e),d=new Map;let c=0;a.forEach((e,t)=>{d.set(t,e[0]),c+=e[0].maxBitrateKbps}),c=this.trySelectHighBitrateForAttendees(a,t,c,n,d),this.trySelectHighBitrateForAttendees(a,s,c,n,d);const l=new o.default;for(const e of d.values())l.add(e.streamId);return l}highestQualityStreamFromEachGroupExcludingSelf(e){const t=new o.default;if(this.currentIndex){const i=new Map;for(const t of this.currentIndex.sources)t.attendeeId!==e&&t.mediaType===r.SdkStreamMediaType.VIDEO&&(!i.has(t.groupId)||t.maxBitrateKbps>i.get(t.groupId).maxBitrateKbps)&&i.set(t.groupId,t);for(const e of i.values())t.add(e.streamId)}return t}numberOfVideoPublishingParticipantsExcludingSelf(e){return this.highestQualityStreamFromEachGroupExcludingSelf(e).array().length}numberOfParticipants(){return this.currentIndex.numParticipants?this.currentIndex.numParticipants:-1}attendeeIdForTrack(e){const t=this.streamIdForTrack(e);if(void 0===t||!this.subscribeStreamToAttendeeMap)return this.logger.warn(`no attendee found for track ${e}`),"";return this.subscribeStreamToAttendeeMap.get(t)||(this.logger.info(`track ${e} (stream ${t}) does not correspond to a known attendee`),"")}externalUserIdForTrack(e){const t=this.streamIdForTrack(e);if(void 0===t||!this.subscribeStreamToExternalUserIdMap)return this.logger.warn(`no external user id found for track ${e}`),"";return this.subscribeStreamToExternalUserIdMap.get(t)||(this.logger.info(`track ${e} (stream ${t}) does not correspond to a known externalUserId`),"")}attendeeIdForStreamId(e){if(!this.streamToAttendeeMap){if(!this.currentIndex)return"";this.streamToAttendeeMap=this.buildStreamToAttendeeMap(this.currentIndex)}return this.streamToAttendeeMap.get(e)||(this.logger.info(`stream ID ${e} does not correspond to a known attendee`),"")}attendeeIdForGroupId(e){if(!this.groupIdToAttendeeMap){if(!this.currentIndex)return"";this.groupIdToAttendeeMap=this.buildGroupIdToAttendeeMap(this.currentIndex)}return this.groupIdToAttendeeMap.get(e)||(this.logger.info(`group ID ${e} does not correspond to a known attendee`),"")}groupIdForStreamId(e){if(this.currentIndex&&this.currentIndex.sources){for(const t of this.currentIndex.sources)if(t.streamId===e)return t.groupId;if(this.indexForSubscribe)for(const t of this.indexForSubscribe.sources)if(t.streamId===e)return t.groupId;if(this.indexForLastRemoteVideoUpdate)for(const t of this.indexForLastRemoteVideoUpdate.sources)if(t.streamId===e)return t.groupId}}StreamIdsInSameGroup(e,t){return this.groupIdForStreamId(e)===this.groupIdForStreamId(t)}streamIdForTrack(e){if(this.subscribeTrackToStreamMap)return this.subscribeTrackToStreamMap.get(e)}streamIdForSSRC(e){if(this.subscribeSsrcToStreamMap)return this.subscribeSsrcToStreamMap.get(e)}overrideStreamIdMappings(e,t){if(this.subscribeTrackToStreamMap)for(const[i,n]of this.subscribeTrackToStreamMap.entries())if(e===n){this.subscribeTrackToStreamMap.set(i,t);break}if(this.subscribeSsrcToStreamMap)for(const[i,n]of this.subscribeSsrcToStreamMap.entries())if(e===n){this.subscribeSsrcToStreamMap.set(i,t);break}}groupIdForSSRC(e){if(this.subscribeSsrcToGroupMap)return this.subscribeSsrcToGroupMap.get(e)}streamsPausedAtSource(){const e=new o.default;if(this.currentIndex)for(const t of this.currentIndex.pausedAtSourceIds)e.add(t);return e}sendVideoStreamIdFromRid(e){return this.sendVideoStreamId}buildTrackToStreamMap(e){const t=new Map;this.logger.debug(()=>`trackMap ${JSON.stringify(e.tracks)}`);for(const i of e.tracks)i.trackLabel.length>0&&i.streamId>0&&t.set(i.trackLabel,i.streamId);return t}buildSSRCToStreamMap(e){const t=new Map;this.logger.debug(()=>`ssrcMap ${JSON.stringify(e.tracks)}`);for(const i of e.tracks)i.trackLabel.length>0&&i.streamId>0&&t.set(i.ssrc,i.streamId);return t}buildSSRCToGroupMap(e){const t=new Map;for(const i of e.tracks)i.trackLabel.length>0&&i.streamId>0&&t.set(i.ssrc,this.groupIdForStreamId(i.streamId));return t}buildStreamToAttendeeMap(e){const t=new Map;if(e)for(const i of e.sources)t.set(i.streamId,i.attendeeId);return t}buildGroupIdToAttendeeMap(e){const t=new Map;for(const i of e.sources)t.set(i.groupId,i.attendeeId);return t}buildStreamExternalUserIdMap(e){const t=new Map;if(e)for(const i of e.sources)i.externalUserId&&t.set(i.streamId,i.externalUserId);return t}trySelectHighBitrateForAttendees(e,t,i,n,r){for(const o of t){if(i>=n)break;if(e.has(o)){const t=e.get(o);for(const e of t.reverse())if(i-r.get(o).maxBitrateKbps+e.maxBitrateKbps<n){i=i-r.get(o).maxBitrateKbps+e.maxBitrateKbps,r.set(o,e);break}}}return i}buildAttendeeToSortedStreamDescriptorMapExcludingSelf(e){const t=new Map;if(this.currentIndex)for(const i of this.currentIndex.sources)i.attendeeId!==e&&i.mediaType===r.SdkStreamMediaType.VIDEO&&(t.has(i.attendeeId)?t.get(i.attendeeId).push(i):t.set(i.attendeeId,[i]));return t.forEach((e,t)=>{e.sort((e,t)=>
2138e.maxBitrateKbps>t.maxBitrateKbps?1:e.maxBitrateKbps<t.maxBitrateKbps?-1:0)}),t}}},26316(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=i(38359),o=n(i(50196)),s=n(i(29173));class a extends o.default{constructor(){super(...arguments),this.streamIdToBitrateKbpsMap=new Map,this._localStreamInfos=[],this._sendRidToVideoStreamIdMap=new Map}localStreamDescriptions(){const e=[];return this._localStreamInfos.forEach(t=>{e.push(t.clone())}),e}integrateUplinkPolicyDecision(e){let t=!0,i=0;for(let n=0;n<e.length;n++){const r=e[n].maxBitrate/1e3,o=e[n].maxFramerate;if(!t||n===this._localStreamInfos.length){t=!1;const a=new s.default;a.maxBitrateKbps=r,a.maxFrameRate=o,a.disabledByUplinkPolicy=0===r,a.rid=e[n].rid,0!==r&&(a.timeEnabled=Date.now()),this._localStreamInfos.push(a),i++;continue}0===this._localStreamInfos[i].maxBitrateKbps&&r>0&&(this._localStreamInfos[i].timeEnabled=Date.now()),this._localStreamInfos[i].maxBitrateKbps=r,this._localStreamInfos[i].maxFrameRate=o,this._localStreamInfos[i].disabledByUplinkPolicy=0===r,i++}t&&this._localStreamInfos.splice(i)}integrateBitratesFrame(e){super.integrateBitratesFrame(e);const t=new Set,i=new Set(this.streamIdToBitrateKbpsMap.keys());for(const i of e.bitrates)t.add(i.sourceStreamId),this.streamIdToBitrateKbpsMap.set(i.sourceStreamId,this.convertBpsToKbps(i.avgBitrateBps));for(const e of i)t.has(e)||(this.streamIdToBitrateKbpsMap.get(e)===a.UNSEEN_STREAM_BITRATE?this.streamIdToBitrateKbpsMap.set(e,a.RECENTLY_INACTIVE_STREAM_BITRATE):this.streamIdToBitrateKbpsMap.set(e,a.NOT_SENDING_STREAM_BITRATE));this.logLocalStreamDescriptions()}logLocalStreamDescriptions(){let e="";for(const t of this._localStreamInfos)e+=`streamId=${t.streamId} maxBitrate=${t.maxBitrateKbps} disabledByUplink=${t.disabledByUplinkPolicy}\n`;this.logger.debug(()=>e)}integrateIndexFrame(e){super.integrateIndexFrame(e);const t=new Set,i=new Set(this.streamIdToBitrateKbpsMap.keys());for(const e of this.currentIndex.sources)e.mediaType===r.SdkStreamMediaType.VIDEO&&(t.add(e.streamId),this.streamIdToBitrateKbpsMap.has(e.streamId)||this.streamIdToBitrateKbpsMap.set(e.streamId,a.UNSEEN_STREAM_BITRATE));for(const e of i)t.has(e)||this.streamIdToBitrateKbpsMap.delete(e)}integrateSubscribeAckFrame(e){if(super.integrateSubscribeAckFrame(e),!e.allocations||void 0===e.allocations)return;let t=0;this._sendRidToVideoStreamIdMap.clear();for(const i of e.allocations){if(this._localStreamInfos.length<t+1){this.logger.info("simulcast: allocation has more than number of local streams");break}this._localStreamInfos[t].groupId=i.groupId,this._localStreamInfos[t].streamId=i.streamId,this.streamIdToBitrateKbpsMap.has(i.streamId)||this.streamIdToBitrateKbpsMap.set(i.streamId,a.UNSEEN_STREAM_BITRATE),this._sendRidToVideoStreamIdMap.set(this._localStreamInfos[t].rid,i.streamId),t++}}sendVideoStreamIdFromRid(e){let t=0;return this._sendRidToVideoStreamIdMap.has(e)&&(t=this._sendRidToVideoStreamIdMap.get(e)),t}}t.default=a,a.UNSEEN_STREAM_BITRATE=-2,a.RECENTLY_INACTIVE_STREAM_BITRATE=-1,a.NOT_SENDING_STREAM_BITRATE=0,a.BitratesMsgFrequencyMs=4e3},29173(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38359);class r{constructor(e,t,i,n,r){this.attendeeId="",this.groupId=0,this.streamId=0,this.ssrc=0,this.trackLabel="",this.maxBitrateKbps=0,this.avgBitrateKbps=0,this.maxFrameRate=0,this.width=0,this.height=0,this.timeEnabled=0,this.disabledByWebRTC=!1,this.disabledByUplinkPolicy=!1,this.rid="",this.attendeeId=e,this.groupId=t,this.streamId=i,this.maxBitrateKbps=n,this.avgBitrateKbps=r}clone(){const e=new r;return e.attendeeId=this.attendeeId,e.groupId=this.groupId,e.streamId=this.streamId,e.ssrc=this.ssrc,e.trackLabel=this.trackLabel,e.maxBitrateKbps=this.maxBitrateKbps,e.avgBitrateKbps=this.avgBitrateKbps,e.maxFrameRate=this.maxFrameRate,e.timeEnabled=this.timeEnabled,e.disabledByUplinkPolicy=this.disabledByUplinkPolicy,e.width=this.width,e.height=this.height,e}toStreamDescriptor(){const e=n.SdkStreamDescriptor.create();return e.mediaType=n.SdkStreamMediaType.VIDEO,e.trackLabel=this.trackLabel,e.attendeeId=this.attendeeId,e.streamId=this.streamId,e.groupId=this.groupId,e.framerate=this.maxFrameRate,e.maxBitrateKbps=this.disabledByU
2138plinkPolicy?0:this.maxBitrateKbps,e.avgBitrateBps=this.avgBitrateKbps,e}totalPixels(){return this.width*this.height}}t.default=r},94958(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.observerQueue=new Set,this.element=null,this.resizeObserver=new ResizeObserver(e=>{for(const t of e){const{width:e,height:i}=t.contentRect;this.notifyObservers(e,i)}})}notifyObservers(e,t){for(const i of this.observerQueue)i.videoElementResolutionChanged(e,t)}registerObserver(e){this.observerQueue.add(e)}removeObserver(e){this.observerQueue.delete(e)}bindVideoElement(e){this.element!==e&&(this.element&&this.resizeObserver.unobserve(this.element),this.element=e,this.element&&this.resizeObserver.observe(this.element))}}},60686(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(98824)),o=n(i(38148)),s=n(i(87682));class a{constructor(e,t,i,n,r=void 0){this.tileController=i,this.devicePixelRatioMonitor=n,this.resolutionMonitor=r,this.tileState=new s.default,this.tileState.tileId=e,this.tileState.localTile=t,this.devicePixelRatioMonitor.registerObserver(this)}static connectVideoStreamToVideoElement(e,t,i){const n=i&&"environment"!==e.getVideoTracks()[0].getSettings().facingMode?"rotateY(180deg)":"";if(a.setVideoElementFlag(t,"disablePictureInPicture",i),a.setVideoElementFlag(t,"disableRemotePlayback",i),t.style.transform!==n&&(t.style.transform=n),t.hasAttribute("controls")&&t.removeAttribute("controls"),t.hasAttribute("autoplay")||t.setAttribute("autoplay","true"),t.hasAttribute("playsinline")||t.setAttribute("playsinline","true"),t.hasAttribute("muted")||(t.setAttribute("muted","true"),t.muted=!0),t.srcObject!==e&&(t.srcObject=e,(new r.default).requiresVideoPlayWorkaround()&&t.paused)){const e=t.play();void 0!==e&&e.catch(e=>{console.warn("Error playing video in Safari",e)}).then(()=>{console.debug("Video played successfully in Safari")})}}static disconnectVideoStreamFromVideoElement(e,t,i=!1){if(e)if(t)i||(e.srcObject=null,e.style.transform="");else{if(!e.srcObject)return;e.pause(),e.style.transform="",a.setVideoElementFlag(e,"disablePictureInPicture",!1),a.setVideoElementFlag(e,"disableRemotePlayback",!1),e.srcObject=null}}destroy(){this.devicePixelRatioMonitor.removeObserver(this),this.tileState.boundVideoElement&&this.tileState.boundVideoElement.srcObject===this.tileState.boundVideoStream&&a.disconnectVideoStreamFromVideoElement(this.tileState.boundVideoElement,!1),this.tileState=new s.default}devicePixelRatioChanged(e){this.tileState.devicePixelRatio=e,this.sendTileStateUpdate()}id(){return this.tileState.tileId}state(){return this.tileState.clone()}stateRef(){return this.tileState}bindVideoStream(e,t,i,n,r,s,a,d){let c=!1;this.tileState.boundAttendeeId!==e&&(this.tileState.boundAttendeeId=e,new o.default(e).hasModality(o.default.MODALITY_CONTENT)&&(this.tileState.isContent=!0),c=!0),this.tileState.boundExternalUserId!==a&&(this.tileState.boundExternalUserId=a,c=!0),this.tileState.localTile!==t&&(this.tileState.localTile=t,c=!0),this.tileState.boundVideoStream!==i&&(this.tileState.boundVideoStream=i,c=!0),this.tileState.videoStreamContentWidth!==n&&(this.tileState.videoStreamContentWidth=n,c=!0),this.tileState.videoStreamContentHeight!==r&&(this.tileState.videoStreamContentHeight=r,c=!0),this.tileState.streamId!==s&&(this.tileState.streamId=s,c=!0),this.tileState.groupId!==d&&(this.tileState.groupId=d,c=!0),c&&this.sendTileStateUpdate()}bindVideoElement(e){var t;let i=!1;this.tileState.boundVideoElement!==e&&(this.tileState.boundVideoElement=e,null===(t=this.resolutionMonitor)||void 0===t||t.bindVideoElement(this.tileState.boundVideoElement),i=!0),null!==this.tileState.boundVideoElement?(this.tileState.videoElementCSSWidthPixels!==e.clientWidth&&(this.tileState.videoElementCSSWidthPixels=e.clientWidth,i=!0),this.tileState.videoElementCSSHeightPixels!==e.clientHeight&&(this.tileState.videoElementCSSHeightPixels=e.clientHeight,i=!0)):(this.tileState.videoElementCSSWidthPixels=null,this.tileState.videoElementCSSHeightPixels=null),i&&this.sendTileStateUpdate()}pause(){this.tileState.paused||(this.tileState.paused=!0,this.sendTileStateUpdate())}unpause(){this.tileState.paused&&(this.tileState.paused=!1,this.sendTileStateUpdate())}markPoorConnection(){return!this.tileState.poorConnection&&(this.tileState.poorConnection=!0,this.sendTileStateUpdate(),!0)}unmarkPoorConnection(){return!!this.tileState.poorConnection&&(this.tileState.poorConnection=!1,this.sendTileStateUpdate(),!0)}capture(){if(!this.tileState.active)return null;const e=document.createElement("canvas"),t=this.tileState.boundVideoElement;e.width=t.videoWidth||t.width,e.height=t.videoHeight||t.height;const i=e.getContext("2d");return i.drawImage(t,0,0,e.width,e.height),i.getImageData(0,0,e.width,e.height)}setStreamId(e){this.tileState.streamId=e,this.tileController.sendTileStateUpdate(this.state())}sendTileStateUpdate(){this.updateActiveState(),this.updateVideoStreamOnVideoElement(),this.updateVideoElementPhysicalPixels(),this.tileController.sendTileStateUpdate(this.state())}updateActiveState(){this.tileState.active=!(this.tileState.paused||this.tileState.poorConnection||!this.tileState.boundAttendeeId||!this.tileState.boundVideoElement||!this.tileState.boundVideoStream)}updateVideoElementPhysicalPixels(){"number"==typeof this.tileState.videoElementCSSWidthPixels&&"number"==typeof this.tileState.videoElementCSSHeightPixels?(this.tileState.videoElementPhysicalWidthPixels=this.tileState.devicePixelRatio*this.tileState.videoElementCSSWidthPixels,this.tileState.videoElementPhysicalHeightPixels=this.tileState.devicePixelRatio*this.tileState.videoElementCSSHeightPixels):(this.tileState.videoElementPhysicalWidthPixels=null,this.tileState.videoElementPhysicalHeightPixels=null)}updateVideoStreamOnVideoElement(){this.tileState.active?a.connectVideoStreamToVideoElement(this.tileState.boundVideoStream,this.tileState.boundVideoElement,this.tileState.localTile):a.disconnectVideoStreamFromVideoElement(this.tileState.boundVideoElement,this.tileState.paused,this.tileController.keepLastFrameWhenPaused)}static setVideoElementFlag(e,t,i){t in e&&(e[t]=i)}}t.default=a},87682(e,t){"use strict";
2138Object.defineProperty(t,"__esModule",{value:!0});class i{constructor(){this.tileId=null,this.localTile=!1,this.localTileStarted=!1,this.isContent=!1,this.active=!1,this.paused=!1,this.poorConnection=!1,this.boundAttendeeId=null,this.boundExternalUserId=null,this.boundVideoStream=null,this.boundVideoElement=null,this.nameplate=null,this.videoStreamContentWidth=null,this.videoStreamContentHeight=null,this.videoElementCSSWidthPixels=null,this.videoElementCSSHeightPixels=null,this.devicePixelRatio=0,this.videoElementPhysicalWidthPixels=null,this.videoElementPhysicalHeightPixels=null,this.streamId=null,this.groupId=null}clone(){const e=new i;return e.tileId=this.tileId,e.localTile=this.localTile,e.isContent=this.isContent,e.active=this.active,e.paused=this.paused,e.poorConnection=this.poorConnection,e.boundAttendeeId=this.boundAttendeeId,e.boundExternalUserId=this.boundExternalUserId,e.boundVideoStream=this.boundVideoStream,e.boundVideoElement=this.boundVideoElement,e.nameplate=this.nameplate,e.videoStreamContentWidth=this.videoStreamContentWidth,e.videoStreamContentHeight=this.videoStreamContentHeight,e.videoElementCSSWidthPixels=this.videoElementCSSWidthPixels,e.videoElementCSSHeightPixels=this.videoElementCSSHeightPixels,e.devicePixelRatio=this.devicePixelRatio,e.videoElementPhysicalWidthPixels=this.videoElementPhysicalWidthPixels,e.videoElementPhysicalHeightPixels=this.videoElementPhysicalHeightPixels,e.streamId=this.streamId,e.groupId=this.groupId,e}}t.default=i},95570(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(28586)),s=r(i(61858)),a=r(i(65517)),d=i(89419),c=r(i(94958)),l=r(i(60686));t.default=class{constructor(e,t,i){this.tileFactory=e,this.audioVideoController=t,this.logger=i,this.tileMap=new Map,this.nextTileId=1,this.currentLocalTile=null,this.currentPausedTilesByIds=new Set,this.resolutionObservers=new Set,this.keepLastFrameWhenPaused=!1,this.keepLastFrameWhenPaused=t.configuration.keepLastFrameWhenPaused}createDevicePixelRatioMonitorIfNeeded(){this.devicePixelRatioMonitor||(this.devicePixelRatioMonitor=new s.default(new a.default,this.logger))}discardDevicePixelRatioMonitorIfNotNeeded(){return n(this,void 0,void 0,function*(){if(this.tileMap.size||!this.devicePixelRatioMonitor)return;const e=this.devicePixelRatioMonitor;return this.devicePixelRatioMonitor=void 0,e.destroy()})}bindVideoElement(e,t){const i=this.getVideoTile(e);null!==i?i.bindVideoElement(t):this.logger.warn(`Ignoring video element binding for unknown tile id ${e}`)}unbindVideoElement(e,t=!0){const i=this.getVideoTile(e);if(null===i)return void this.logger.warn(`Ignoring video element unbinding for unknown tile id ${e}`);this.logger.info("Unbinding the video element"),this.notifyRemoteObserversOfUnbound(i.state().boundAttendeeId);const n=i.stateRef().boundVideoElement;i.bindVideoElement(null),t&&(this.logger.info("Cleaning up the video element"),l.default.disconnectVideoStreamFromVideoElement(n,!1))}startLocalVideoTile(){if(this.audioVideoController.configuration.meetingFeatures.videoMaxResolution===o.default.VideoDisabled)return this.logger.warn("Could not start camera video because max video resolution was set to None"),-1;const e=this.findOrCreateLocalVideoTile();return this.currentLocalTile.stateRef().localTileStarted=!0,this.audioVideoController.update({needsRenegotiation:!0}),e.id()}stopLocalVideoTile(){this.currentLocalTile&&(this.currentLocalTile.stateRef().localTileStarted=!1,this.currentLocalTile.bindVideoStream(this.audioVideoController.configuration.credentials.attendeeId,!0,null,null,null,null,this.audioVideoController.configuration.credentials.externalUserId),this.audioVideoController.update({needsRenegotiation:!0}
2138))}hasStartedLocalVideoTile(){return!(!this.currentLocalTile||!this.currentLocalTile.stateRef().localTileStarted)}removeLocalVideoTile(){this.currentLocalTile&&this.removeVideoTile(this.currentLocalTile.id())}getLocalVideoTile(){return this.currentLocalTile}pauseVideoTile(e){const t=this.getVideoTile(e);t&&(this.currentPausedTilesByIds.has(e)||(this.audioVideoController.pauseReceivingStream(t.stateRef().streamId),this.currentPausedTilesByIds.add(e)),t.pause())}unpauseVideoTile(e){const t=this.getVideoTile(e);t&&(this.currentPausedTilesByIds.has(e)&&(this.audioVideoController.resumeReceivingStream(t.stateRef().streamId),this.currentPausedTilesByIds.delete(e)),t.unpause())}getVideoTile(e){return this.tileMap.has(e)?this.tileMap.get(e):null}getVideoTileArea(e){const t=e.state();let i=0,n=0;return t.boundVideoElement&&(i=t.boundVideoElement.clientHeight*t.devicePixelRatio,n=t.boundVideoElement.clientWidth*t.devicePixelRatio),i*n}getAllRemoteVideoTiles(){const e=new Array;return this.tileMap.forEach((t,i)=>{this.currentLocalTile&&i===this.currentLocalTile.id()||e.push(t)}),e}getAllVideoTiles(){return Array.from(this.tileMap.values())}addVideoTile(e=!1){const t=this.nextTileId;this.nextTileId+=1,this.createDevicePixelRatioMonitorIfNeeded();const i=this.tileFactory.makeTile(t,e,this,this.devicePixelRatioMonitor,this.createResolutionMonitor(t));return this.tileMap.set(t,i),i}removeVideoTile(e){if(!this.tileMap.has(e))return;const t=this.tileMap.get(e);this.currentLocalTile===t&&(this.currentLocalTile=null),t.destroy(),this.tileMap.delete(e),this.audioVideoController.forEachObserver(t=>{d.Maybe.of(t.videoTileWasRemoved).map(i=>i.bind(t)(e))}),this.discardDevicePixelRatioMonitorIfNotNeeded()}removeVideoTilesByAttendeeId(e){const t=[];for(const i of this.getAllVideoTiles()){const n=i.state();n.boundAttendeeId===e&&(this.removeVideoTile(n.tileId),t.push(n.tileId))}return t}removeAllVideoTiles(){const e=Array.from(this.tileMap.keys());for(const t of e)this.removeVideoTile(t)}sendTileStateUpdate(e){this.audioVideoController.forEachObserver(t=>{d.Maybe.of(t.videoTileDidUpdate).map(i=>i.bind(t)(e))})}haveVideoTilesWithStreams(){for(const e of this.getAllVideoTiles())if(e.state().boundVideoStream)return!0;return!1}haveVideoTileForAttendeeId(e){return!!this.getVideoTileForAttendeeId(e)}getVideoTileForAttendeeId(e){for(const t of this.getAllVideoTiles())if(t.state().boundAttendeeId===e)return t}captureVideoTile(e){const t=this.getVideoTile(e);return t?t.capture():null}registerVideoTileResolutionObserver(e){this.resolutionObservers.add(e)}removeVideoTileResolutionObserver(e){this.resolutionObservers.delete(e)}notifyResolutionObserversOfChange(e,t,i){for(const n of this.resolutionObservers)n.videoTileResolutionDidChange(e,t,i)}notifyRemoteObserversOfUnbound(e){for(const t of this.resolutionObservers)t.videoTileUnbound(e)}createResolutionMonitor(e){const t=new class{constructor(e,t){this.controller=e,this.tileId=t}videoElementResolutionChanged(e,t){const i=this.controller.getVideoTile(this.tileId);if(i){const n=i.state().boundAttendeeId;this.controller.notifyResolutionObserversOfChange(n,e,t)}}}(this,e),i=new c.default;return i.registerObserver(t),i}findOrCreateLocalVideoTile(){return this.currentLocalTile||(this.currentLocalTile=this.addVideoTile(!0),this.currentLocalTile.bindVideoStream(this.audioVideoController.configuration.credentials.attendeeId,!0,null,null,null,null,this.audioVideoController.configuration.credentials.externalUserId)),this.currentLocalTile}}},75824(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(60686));t.default=class{makeTile(e,t,i,n,o){return new r.default(e,t,i,n,o)}}},22957(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{}},29671(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(3739)),o=n(i(26216)),s=i(89419),a=n(i(95480)),d=n(i(22957));class c{constructor(e,t){this.selfAttendeeId=e,this.logger=t,this.numSenders=0,this.shouldDisableSimulcast=!1,this.newQualityMap=new Map,this.currentQualityMap=new Map,this.newActiveStreams=1,this.videoIndex=null,this.observerQueue=new Set,this.hiTargetBitrateKbps=c.kHiTargetBitrateKbpsHd,this.midTargetBitrateKbps=c.kMidTargetBitrateKbpsHd,this.lowTargetBitrateKbps=c.kLowTargetBitrateKbpsHd,this.enableFhdVideo=!1,this.optimalParameters=new a.default(0,0,0,0,!0),this.parametersInEffect=new a.default(0,0,0,0,!0),this.currentQualityMap=this.fillEncodingParamWithBitrates([this.lowTargetBitrateKbps,0,this.hiTargetBitrateKbps]),this.newQualityMap=this.fillEncodingParamWithBitrates([this.lowTargetBitrateKbps,0,this.hiTargetBitrateKbps])}updateConnectionMetric(e){}calculateEncodingParameters(){const e=[new d.default,new d.default,new d.default];this.shouldDisableSimulcast?(this.newActiveStreams=0,e[0].maxBitrateKbps=0,e[1].maxBitrateKbps=this.hiTargetBitrateKbps,e[2].maxBitrateKbps=0):this.numSenders<=4?(this.newActiveStreams=1,e[0].maxBitrateKbps=this.lowTargetBitrateKbps,e[1].maxBitrateKbps=0,e[2].maxBitrateKbps=this.hiTargetBitrateKbps):(this.newActiveStreams=2,e[0].maxBitrateKbps=2*this.lowTargetBitrateKbps/3,e[1].maxBitrateKbps=this.numSenders<=6?this.midTargetBitrateKbps:.6*this.midTargetBitrateKbps,e[2].maxBitrateKbps=0);const t=e.map((e,t,i)=>e.maxBitrateKbps);return this.newQualityMap=this.fillEncodingParamWithBitrates(t),this.encodingParametersEqual()||this.logger.info(`simulcast: policy:calculateEncodingParameters numSources:${this.numSenders} shouldDisableSimulcast:${this.shouldDisableSimulcast} newQualityMap: ${this.getQualityMapString(this.newQualityMap)}`),this.newQualityMap}chooseMediaTrackConstraints(){}chooseEncodingParameters(){return this.currentQualityMap=this.newQualityMap,this.activeStreamsToPublish!==this.newActiveStreams&&(this.activeStreamsToPublish=this.newActiveStreams,this.publishEncodingSimulcastLayer()),this.currentQualityMap}updateIndex(e){const t=e.numberOfVideoPublishingParticipantsExcludingSelf(this.selfAttendeeId)+1,i=t!==this.numSenders,n=e.numberOfParticipants(),r=n>=0&&n<=2,o=this.shouldDisableSimulcast!==r;this.numSenders=t,this.shouldDisableSimulcast=r,this.optimalParameters=new a.default(this.captureWidth(),this.captureHeight(),this.captureFrameRate(),this.maxBandwidthKbps(),!1),this.videoIndex=e,(i||o)&&(this.newQualityMap=this.calculateEncodingParameters())}wantsResubscribe(){return!this.encodingParametersEqual()}compareEncodingParameter(e,t){return JSON.stringify(e)===JSON.stringify(t)}encodingParametersEqual(){let e=!1;for(const t of o.default.NAME_ARR_ASCENDING)if(e=e||!this.compareEncodingParameter(this.newQualityMap.get(t),this.currentQualityMap.get(t)),e)break;return!e}chooseCaptureAndEncodeParameters(){return this.parametersInEffect=this.optimalParameters.clone(),this.parametersInEffect.clone()}captureWidth(){return this.enableFhdVideo?1920:1280}captureHeight(){return this.enableFhdVideo?1080:768}captureFrameRate(){return 15}maxBandwidthKbps(){return this.enableFhdVideo?2500:1400}
2138setIdealMaxBandwidthKbps(e){}setHasBandwidthPriority(e){}setHighResolutionFeatureEnabled(e){this.enableFhdVideo=e,this.hiTargetBitrateKbps=e?c.kHiTargetBitrateKbpsFhd:c.kHiTargetBitrateKbpsHd,this.midTargetBitrateKbps=e?c.kMidTargetBitrateKbpsFhd:c.kMidTargetBitrateKbpsHd,this.lowTargetBitrateKbps=e?c.kLowTargetBitrateKbpsFhd:c.kLowTargetBitrateKbpsHd}wantsVideoDependencyDescriptorRtpHeaderExtension(){return!0}fillEncodingParamWithBitrates(e){const t=new Map,i=o.default.NAME_ARR_ASCENDING,n=e;let r=this.shouldDisableSimulcast?1:4;for(let e=0;e<i.length;e++){const o=i[e];t.set(o,{rid:o,active:n[e]>0,scaleResolutionDownBy:Math.max(r,1),maxBitrate:1e3*n[e]}),r/=2}return t}getQualityMapString(e){let t="";return 3===this.videoIndex.localStreamDescriptions().length&&e.forEach(e=>{t+=`{ rid: ${e.rid} active:${e.active} maxBitrate:${e.maxBitrate}}`}),t}getEncodingSimulcastLayer(e){switch(e){case 0:return r.default.High;case 1:return r.default.LowAndHigh;case 2:return r.default.LowAndMedium}}publishEncodingSimulcastLayer(){const e=this.getEncodingSimulcastLayer(this.activeStreamsToPublish);this.forEachObserver(t=>{s.Maybe.of(t.encodingSimulcastLayersDidChange).map(i=>i.bind(t)(e))})}addObserver(e){this.logger.info("adding simulcast uplink observer"),this.observerQueue.add(e)}removeObserver(e){this.logger.info("removing simulcast uplink observer"),this.observerQueue.delete(e)}forEachObserver(e){for(const t of this.observerQueue)e(t)}}t.default=c,c.kHiTargetBitrateKbpsHd=1200,c.kMidTargetBitrateKbpsHd=600,c.kLowTargetBitrateKbpsHd=300,c.kHiTargetBitrateKbpsFhd=2e3,c.kMidTargetBitrateKbpsFhd=1e3,c.kLowTargetBitrateKbpsFhd=500},45936(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(88284));t.default=class{constructor(e,t){this.encodingParams=t,this.enableUhdContent=!1,this.defaultHiTargetBitrateKbps=1200,this.defaultLowTargetBitrateKbps=300}updateConnectionMetric(e){}chooseMediaTrackConstraints(){}chooseEncodingParameters(){var e,t,i,n,o,s,a,d,c,l,u,h;const p=new Map,f=r.default.NAME_ARR_ASCENDING;return p.set(f[0],{rid:f[0],active:!0,scaleResolutionDownBy:(null===(t=null===(e=this.encodingParams)||void 0===e?void 0:e.low)||void 0===t?void 0:t.scaleResolutionDownBy)||2,maxBitrate:1e3*((null===(n=null===(i=this.encodingParams)||void 0===i?void 0:i.low)||void 0===n?void 0:n.maxBitrateKbps)||this.defaultLowTargetBitrateKbps),maxFramerate:(null===(s=null===(o=this.encodingParams)||void 0===o?void 0:o.low)||void 0===s?void 0:s.maxFramerate)||5}),p.set(f[1],{rid:f[1],active:!0,scaleResolutionDownBy:(null===(d=null===(a=this.encodingParams)||void 0===a?void 0:a.high)||void 0===d?void 0:d.scaleResolutionDownBy)||1,maxBitrate:1e3*((null===(l=null===(c=this.encodingParams)||void 0===c?void 0:c.high)||void 0===l?void 0:l.maxBitrateKbps)||this.defaultHiTargetBitrateKbps),maxFramerate:null===(h=null===(u=this.encodingParams)||void 0===u?void 0:u.high)||void 0===h?void 0:h.maxFramerate}),p}updateIndex(e){}wantsResubscribe(){return!1}chooseCaptureAndEncodeParameters(){}maxBandwidthKbps(){return this.enableUhdContent?2e3:1200}setIdealMaxBandwidthKbps(e){}setHasBandwidthPriority(e){}setHighResolutionFeatureEnabled(e){this.enableUhdContent=e,this.defaultHiTargetBitrateKbps=e?2e3:1200,this.defaultLowTargetBitrateKbps=e?500:300}addObserver(e){}removeObserver(e){}forEachObserver(e){}}},43867(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(95480));class s{constructor(e,t=!0,i=void 0,n=void 0){this.selfAttendeeId=e,this.scaleResolution=t,this.logger=i,this.browserBehavior=n,this.numberOfPublishedVideoSources=void 0,this.idealMaxB
2138andwidthKbps=1500,this.hasBandwidthPriority=!1,this.encodingParamMap=new Map,this.enableHighResolutionFeature=!1,this.enableSVC=!1,this.isUsingSVCCodec=!0,this.numParticipants=0,this.reset()}reset(){this.numberOfPublishedVideoSources=void 0,this.optimalParameters=new o.default(0,0,0,0,!1),this.parametersInEffect=new o.default(0,0,0,0,!1),this.encodingParamMap.set(s.encodingMapKey,{maxBitrate:0})}updateConnectionMetric(e){}chooseMediaTrackConstraints(){return{}}chooseEncodingParameters(){return new Map}updateIndex(e){var t;let i=!0;this.transceiverController&&(i=this.transceiverController.hasVideoInput());const n=e.numberOfVideoPublishingParticipantsExcludingSelf(this.selfAttendeeId)+(i?1:0),r=e.numberOfParticipants();this.numParticipants!==r||this.numberOfPublishedVideoSources!==n?(this.numberOfPublishedVideoSources=n,this.numParticipants=r,this.updateOptimalParameters()):null===(t=this.logger)||void 0===t||t.debug("Skipping update index; Number of participants has not changed")}wantsResubscribe(){return!this.parametersInEffect.equal(this.optimalParameters)}chooseCaptureAndEncodeParameters(){return this.parametersInEffect=this.optimalParameters.clone(),this.parametersInEffect.clone()}updateOptimalParameters(){let e=1;if(this.transceiverController){const t=this.getStreamCaptureSetting();t&&(e=this.calculateEncodingParameters(t).scaleResolutionDownBy)}this.optimalParameters=new o.default(this.captureWidth(),this.captureHeight(),this.captureFrameRate(),this.maxBandwidthKbps(),!1,e,this.enableSVC&&this.numParticipants>2&&this.isUsingSVCCodec)}captureWidth(){let e=640;return this.getNumberOfPublishedVideoSources()>4&&(e=320),e}captureHeight(){let e=384;return this.getNumberOfPublishedVideoSources()>4&&(e=192),e}captureFrameRate(){return 15}maxBandwidthKbps(){if(this.hasBandwidthPriority)return Math.trunc(this.idealMaxBandwidthKbps);let e=0;return e=this.getNumberOfPublishedVideoSources()<=2?this.idealMaxBandwidthKbps:this.getNumberOfPublishedVideoSources()<=4?2*this.idealMaxBandwidthKbps/3:(544/11+14880/(11*this.getNumberOfPublishedVideoSources()))/600*this.idealMaxBandwidthKbps,Math.trunc(e)}setIdealMaxBandwidthKbps(e){this.idealMaxBandwidthKbps=e}setHasBandwidthPriority(e){this.hasBandwidthPriority=e}setTransceiverController(e){this.transceiverController=e}setSVCEnabled(e){var t;this.enableSVC=e,null===(t=this.logger)||void 0===t||t.info(`setSVCEnabled, enable: ${e}}`)}setHighResolutionFeatureEnabled(e){this.enableHighResolutionFeature=e}updateTransceiverController(){return n(this,void 0,void 0,function*(){const e=this.getStreamCaptureSetting();if(!e)return;const t=this.calculateEncodingParameters(e);this.shouldUpdateEndcodingParameters(t)&&(this.encodingParamMap.set(s.encodingMapKey,t),this.transceiverController.setEncodingParameters(this.encodingParamMap))})}shouldUpdateEndcodingParameters(e){var t,i;const n=null===(i=null===(t=this.transceiverController.localVideoTransceiver().sender.getParameters())||void 0===t?void 0:t.encodings)||void 0===i?void 0:i[0];return e.maxBitrate!==(null==n?void 0:n.maxBitrate)||e.scaleResolutionDownBy!==(null==n?void 0:n.scaleResolutionDownBy)||(null==e?void 0:e.scalabilityMode)!==(null==n?void 0:n.scalabilityMode)}calculateEncodingParameters(e){var t,i,n;const r=1e3*this.maxBandwidthKbps();let o=1,a=720;if(void 0!==e.height&&void 0!==e.width&&this.scaleResolution&&!this.hasBandwidthPriority&&this.getNumberOfPublishedVideoSources()>2&&(a=s.targetHeightArray[Math.min(this.getNumberOfPublishedVideoSources(),s.targetHeightArray.length-1)][this.enableHighResolutionFeature?1:0],480===a&&(null===(t=this.browserBehavior)||void 0===t?void 0:t.disable480pResolutionScaleDown())&&(a=360),o=Math.max(Math.min(e.height,e.width)/a,1),null===(i=this.logger)||void 0===i||i.info(`Resolution scale factor is ${o} for capture resolution ${e.width}x${e.height}. New dimension is ${e.width/o}x${e.height/o}`)),this.enableSVC){let e;return e=this.numParticipants>=0&&this.numParticipants<3||!this.isUsingSVCCodec?"L1T1":"L3T3",null===(n=this.logger)||void 0===n||n.info(`calculateEncodingParameters: SVC: ${this.enableSVC} participants: ${this.numParticipants} publishers: ${this.getNumberOfPublishedVideoSources()} bitrate: ${r} targetHeight: ${a} scalabilityMode: ${e} isUsingSVCCodec: ${this.isUsingSVCCodec}`),{scaleResolutionDownBy:o,maxBitrate:r,scalabilityMode:e}}return{scaleResolutionDownBy:o,maxBitrate:r}}getStreamCaptureSetting(){var e,t,i,n;return null===(n=null===(i=null===(t=null===(e=this.transceiverController)||void 0===e?void 0:e.localVideoTransceiver())||void 0===t?void 0:t.sender)||void 0===i?void 0:i.track)||void 0===n?void 0:n.getSettings()}getNumberOfPublishedVideoSources(){var e;return null!==(e=this.numberOfPublishedVideoSources)&&void 0!==e?e:0}wantsVideoDependencyDescriptorRtpHeaderExtension(){return this.enableSVC}setMeetingSupportedVideoSendCodecs(e,t){const i=null!=e?e:t,n=i.length>0&&s.SVCCodecNames.includes(i[0].codecName);n!==this.isUsingSVCCodec&&(this.isUsingSVCCodec=n,this.updateOptimalParameters())}}t.default=s,s.encodingMapKey="video",s.targetHeightArray=[[0,0],[0,0],[0,0],[540,720],[540,720],[480,540],[480,540],[480,540],[480,540],[360,480],[360,480],[360,480],[360,480],[270,360],[270,360],[270,360],[270,360],[180,270],[180,270],[180,270],[180,270],[180,270],[180,270],[180,270],[180,270],[180,270]],s.SVCCodecNames=["VP9"]},6980(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esMo
2138dule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(95480));t.default=class{constructor(){}updateConnectionMetric(e){}chooseMediaTrackConstraints(){return{}}chooseEncodingParameters(){return new Map}updateIndex(e){}wantsResubscribe(){return!1}chooseCaptureAndEncodeParameters(){return new r.default(0,0,0,0,!1)}maxBandwidthKbps(){return 0}setIdealMaxBandwidthKbps(e){}setHasBandwidthPriority(e){}setHighResolutionFeatureEnabled(e){}wantsVideoDependencyDescriptorRtpHeaderExtension(){return!1}}},13628(e,t){"use strict";function i(e){return e.map(e=>"object"==typeof e?JSON.stringify(e):`${e}`).join(" ")}Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e){this.base=e}debug(...e){this.base.debug(i(e))}info(...e){this.base.info(i(e))}warn(...e){this.base.warn(i(e))}error(...e){this.base.error(i(e))}}},97116(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.VoiceFocusDeviceTransformer=void 0;const o=i(65201),s=i(48471),a=r(i(40961)),d=r(i(13628)),c=r(i(48163)),l=r(i(77784));class u{constructor(e,{preload:t=!0,logger:i,fetchBehavior:n=u.defaultFetchBehavior()},r){this.spec=e,this.supported=!0,this.logger=i,this.vfLogger=i?new d.default(i):void 0,this.preload=t,this.fetchBehavior=n,this.spec=u.augmentSpec(this.spec),r&&(this.configuration=Promise.resolve(r))}static isSupported(e,t){var i,n;const r={fetchBehavior:u.defaultFetchBehavior(),logger:(null==t?void 0:t.logger)?new d.default(t.logger):void 0};if(s.isIFramed()){if(!1===(null==t?void 0:t.allowIFrame))return null===(i=null==t?void 0:t.logger)||void 0===i||i.error("Amazon Voice Focus support check inside iframe: not supported."),Promise.resolve(!1);null===(n=null==t?void 0:t.logger)||void 0===n||n.warn("Amazon Voice Focus support check inside iframe: not recommended.")}return o.VoiceFocus.isSupported(u.augmentSpec(e),r)}static create(e={},t={},i,r,o){var s,a,d;return n(this,void 0,void 0,function*(){r&&r.Meeting.Meeting&&(r=r.Meeting);const n="AVAILABLE"===(null===(d=null===(a=null===(s=null==r?void 0:r.Meeting)||void 0===s?void 0:s.MeetingFeatures)||void 0===a?void 0:a.Audio)||void 0===d?void 0:d.EchoReduction),o=i&&!0===i.supported&&"ns_es"===i.model.name&&!n,c="ns_es"===e.name&&!n;if(o||c)throw new Error("Echo Reduction requested but not enabled.");const l=new u(e,t,i);return yield l.init(),l})}static configure(e={},t={}){return n(this,void 0,void 0,function*(){return new u(e,t,void 0).configure(!0)})}getConfiguration(){return this.configuration}isSupported(){return this.supported}createTransformDevice(e,t){return n(this,void 0,void 0,function*(){if(this.supported)try{const i=!0,[n,r]=yield this.allocateVoiceFocus(i),o=Object.assign(Object.assign({},t),{es:"ns_es"===this.spec.name});return new c.default(e,n,r,o)}catch(e){return}})}static destroyVoiceFocus(e){var t;return n(this,void 0,void 0,function*(){null===(t=null==e?void 0:e.vf)||void 0===t||t.destroy()})}static augmentSpec(e){return e&&(e.assetGroup||e.revisionID)?e:Object.assign(Object.assign({},e),{assetGroup:u.currentSDKAssetGroup()})}configure(e=!1){return n(this,void 0,void 0,function*(){const t={fetchBehavior:this.fetchBehavior,preResolve:e,logger:this.vfLogger};return o.VoiceFocus.configure(this.spec,t)})}init(){var e;return n(this,void 0,void 0,function*(){this.configuration||(this.configuration=this.configure());const t=yield this.configuration;if(t.supported){this.pendingVoiceFocus=this.createVoiceFocus(t,this.preload);try{yield this.pendingVoiceFocus}catch(t){null===(e=this.logger)||void 0===e||e.error(`Unable to initialize Amazon Voice Focus: ${t}`),this.supported=!1}}else this.supported=!1})}createVoiceFocus(e,t){return n(this,void 0,void 0,function*(){const i=new l.default;return this.vf=yield o.VoiceFocus.init(e,{delegate:i,preload:t,logger:this.vfLogger}),[this.vf,i]})}allocateVoiceFocus(e){return n(this,void 0,void 0,function*(){if(!this.supported)throw new Error("Not supported.");
2138if(this.pendingVoiceFocus){const e=this.pendingVoiceFocus;return this.pendingVoiceFocus=void 0,e}return this.createVoiceFocus(yield this.configuration,e)})}static majorVersion(){return a.default.sdkVersion.match(/^[1-9][0-9]*\.(?:0|[1-9][0-9]*)/)[0]}static majorMinorVersion(){return a.default.sdkVersion.match(/^[1-9][0-9]*\.(?:0|(?:[1-9][0-9]*))\.(?:0|[1-9][0-9]*)/)[0]}static currentSDKAssetGroup(){const e=this.majorVersion();return e?`sdk-${e}`:"stable-v1"}static defaultFetchBehavior(){const e=u.majorMinorVersion()||"unknown",t=a.default.sdkUserAgentLowResolution;return{escapedQueryString:`sdk=${encodeURIComponent(e)}&ua=${encodeURIComponent(t)}`}}}t.VoiceFocusDeviceTransformer=u,t.default=u},48163(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(98824));class s{constructor(e,t,i,n,r=!1,s=void 0,a=new o.default,d=new Map,c=void 0,l=void 0){this.device=e,this.voiceFocus=t,this.delegate=i,this.nodeOptions=n,this.failed=r,this.node=s,this.browserBehavior=a,this.farEndStreamToAudioSourceNode=d,this.mixDestNode=c,this.mixSourceNode=l}getInnerDevice(){return this.device}mute(e){return n(this,void 0,void 0,function*(){this.node&&(e?yield this.node.disable():yield this.node.enable())})}stop(){return n(this,void 0,void 0,function*(){this.node&&(this.node.disconnect(),yield this.node.stop())})}chooseNewInnerDevice(e){return n(this,void 0,void 0,function*(){return this.device!==e||("default"===(t=e)||t&&"object"==typeof t&&("deviceId"in t&&"default"===t.deviceId||"id"in t&&"default"===t.id))?new s(e,this.voiceFocus,this.delegate,this.nodeOptions,this.failed,this.node,this.browserBehavior,this.farEndStreamToAudioSourceNode,this.mixDestNode,this.mixSourceNode):this;var t})}intrinsicDevice(){return n(this,void 0,void 0,function*(){if(this.failed)return this.device;const e=this.nodeOptions.es,t={echoCancellation:!e,googEchoCancellation:!e,googEchoCancellation2:!e,noiseSuppression:!1,googNoiseSuppression:!1,googHighpassFilter:!1,googNoiseSuppression2:!1};let i;return i=!this.nodeOptions||void 0===this.nodeOptions.agc||this.nodeOptions.agc.useBuiltInAGC,t.autoGainControl=i,t.googAutoGainControl=i,t.googAutoGainControl2=i,this.device?"string"==typeof this.device?(this.browserBehavior.requiresNoExactMediaStreamConstraints()?t.deviceId=this.device:t.deviceId={exact:this.device},t):this.device.id?this.device:Object.assign(Object.assign({},this.device),t):t})}createAudioNode(e){var t,i;return n(this,void 0,void 0,function*(){if((null===(t=this.node)||void 0===t?void 0:t.context)===e)return{start:this.node,end:this.node};const n=Object.assign({enabled:!0,agc:{useVoiceFocusAGC:!1}},this.nodeOptions);try{if(null===(i=this.node)||void 0===i||i.disconnect(),this.node=yield this.voiceFocus.createNode(e,n),this.nodeOptions.es){this.mixDestNode=new MediaStreamAudioDestinationNode(e,{channelCount:1,channelCountMode:"explicit"});for(const e of this.farEndStreamToAudioSourceNode.keys())this.assignFarEndStreamToAudioSourceNode(e);this.createMixSourceNode()}return{start:this.node,end:this.node}}catch(e){throw this.failed=!0,this.delegate.onFallback(this,e),e}})}observeMeetingAudio(e){return n(this,void 0,void 0,function*(){if(!this.nodeOptions.es)return;e.addAudioMixObserver(this);const t=yield e.getCurrentMeetingAudioStream();t&&this.addFarEndStream(t)})}unObserveMeetingAudio(e){return n(this,void 0,void 0,function*(){if(!this.nodeOptions.es)return;e.removeAudioMixObserver(this);const t=yield e.getCurrentMeetingAudioStream();t&&this.removeFarendStream(t)})}addObserver(e){this.delegate.addObserver(e)}removeObserver(e){this.delegate.removeObserver(e)}addFarEndStream(e){return n(this,void 0,void 0,function*(){this.nodeOptions.es&&e&&!this.farEndStreamToAudioSourceNode.has(e)&&(this.node?this.assignFarEndStreamToAudioSourceNode(e):this.farEndStreamToAudioSourceNode.set(e,null))})}removeFarendStream(e){var t;return n(this,void 0,void 0,function*(){null===(t=this.farEndStreamToAudioSourceNode.get(e))||void 0===t||t.disconnect(),this.farEndStreamToAudioSourceNode.delete(e)})}meetingAudioStreamBecameActive(e){return n(this,void 0,void 0,function*(){this.addFarEndStream(e)})}meetingAudioStreamBecameInactive(e){return n(this,void 0,void 0,function*(){this.removeFarendStream(e)})}assignFarEndStreamToAudioSourceNode(e){const t=this.node.context.createMediaStreamSource(e);t.channelCount=1,t.channelCountMode="explicit",this.farEndStreamToAudioSourceNode.set(e,t),t.connect(this.mixDestNode,0)}createMixSourceNode(){this.mixSourceNode=this.node.context.createMediaStreamSource(this.mixDestNode.stream),this.mixSourceNode.channelCount=1,this.mixSourceNode.channelCountMode="explicit",this.mixSourceNode.connect(this.node,0,1)}}t.default=s},77784(e,t){"use strict";
2138Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.observers=new Set}addObserver(e){this.observers.add(e)}removeObserver(e){this.observers.delete(e)}onFallback(e,t){var i;for(const n of this.observers)null===(i=n.voiceFocusFellBackToInnerStream)||void 0===i||i.call(n,e,t)}onCPUWarning(){var e;for(const t of this.observers)null===(e=t.voiceFocusInsufficientResources)||void 0===e||e.call(t)}}},48096(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class i{constructor(e,t,i,n,r){this.logger=e,this.realtimeController=t,this.minVolumeDecibels=i,this.maxVolumeDecibels=n,this.selfAttendeeId=r,this.streamIdToAttendeeId={},this.streamIdToExternalUserId={},this.warnedAboutMissingStreamIdMapping={},this.attendeeIdToStreamId={},this.sessionReconnected=!1}onReconnect(){this.sessionReconnected=!0}sendRealtimeUpdatesForAudioStreamIdInfo(e){let t=0;for(const i of e.streams){const n=!!i.attendeeId,r=!!i.externalUserId,o=i.hasOwnProperty("muted"),s=!!i.dropped;if(n){this.attendeeIdToStreamId[i.attendeeId]&&this.attendeeIdToStreamId[i.attendeeId]<i.audioStreamId&&delete this.attendeeIdToStreamId[i.attendeeId],this.streamIdToAttendeeId[i.audioStreamId]=i.attendeeId;const n=r?i.externalUserId:i.attendeeId;this.streamIdToExternalUserId[i.audioStreamId]=n,this.attendeeIdToStreamId[i.attendeeId]=i.audioStreamId,this.realtimeController.realtimeSetAttendeeIdPresence(i.attendeeId,!0,n,!1,{attendeeIndex:t++,attendeesInFrame:e.streams.length})}if(o){const e=this.streamIdToAttendeeId[i.audioStreamId],t=this.streamIdToExternalUserId[i.audioStreamId];this.realtimeController.realtimeUpdateVolumeIndicator(e,null,i.muted,null,t)}if(!n&&!o){const n=this.streamIdToAttendeeId[i.audioStreamId];if(n){const r=this.streamIdToExternalUserId[i.audioStreamId];delete this.streamIdToAttendeeId[i.audioStreamId],delete this.streamIdToExternalUserId[i.audioStreamId],delete this.warnedAboutMissingStreamIdMapping[i.audioStreamId],this.attendeeIdToStreamId[n]===i.audioStreamId&&delete this.attendeeIdToStreamId[n];let o=!1;for(const e of Object.keys(this.streamIdToAttendeeId)){const t=parseInt(e);if(t>i.audioStreamId&&this.streamIdToAttendeeId[t]===n){o=!0;break}}o||this.realtimeController.realtimeSetAttendeeIdPresence(n,!1,r,s,{attendeeIndex:t++,attendeesInFrame:e.streams.length})}}}this.sessionReconnected&&(this.cleanUpState(e),this.sessionReconnected=!1)}cleanUpState(e){const t=Object.values(this.streamIdToAttendeeId),i=e.streams.map(e=>e.attendeeId),n=t.filter(e=>!i.includes(e));for(const[e,t]of n.entries()){const i=this.attendeeIdToStreamId[t],n=this.streamIdToExternalUserId[i];delete this.streamIdToAttendeeId[i],delete this.streamIdToExternalUserId[i],delete this.warnedAboutMissingStreamIdMapping[i],delete this.attendeeIdToStreamId[t],t!==this.selfAttendeeId?this.realtimeController.realtimeSetAttendeeIdPresence(t,!1,n,!1,{attendeeIndex:e,attendeesInFrame:t.length}):this.logger.warn("the volume indicator adapter cleans up the current attendee (presence = false) after reconnection")}}sendRealtimeUpdatesForAudioMetadata(e){let t=null,i=null;for(const n of e.attendeeStates){const e=this.attendeeIdForStreamId(n.audioStreamId);n.hasOwnProperty("volume")&&(null===t&&(t={}),null!==e&&(t[e]=this.normalizedVolume(n))),n.hasOwnProperty("signalStrength")&&(null===i&&(i={}),null!==e&&(i[e]=this.normalizedSignalStrength(n)))}this.applyRealtimeUpdatesForAudioMetadata(t,i)}normalizedVolume(e){const t=1-(-e.volume-this.maxVolumeDecibels)/(this.minVolumeDecibels-this.maxVolumeDecibels);return Math.min(Math.max(t,0),1)}normalizedSignalStrength(e){const t=e.signalStrength/i.MAX_SIGNAL_STRENGTH_LEVELS;return Math.min(Math.max(t,0),1)}applyRealtimeUpdatesForAudioMetadata(e,t){for(const n in this.streamIdToAttendeeId){const r=this.streamIdToAttendeeId[n],o=this.streamIdToExternalUserId[n];let s=null,a=null;null!==e&&(s=e.hasOwnProperty(r)?e[r]:i.IMPLICIT_VOLUME),null!==t&&(a=t.hasOwnProperty(r)?t[r]:i.IMPLICIT_SIGNAL_STRENGTH),null===s&&null===a||this.realtimeController.realtimeUpdateVolumeIndicator(r,s,null,a,o)}}attendeeIdForStreamId(e){if(0===e)return null;return this.streamIdToAttendeeId[e]||(this.warnedAboutMissingStreamIdMapping[e]||(this.warnedAboutMissingStreamIdMapping[e]=!0,this.logger.warn(`volume indicator stream id ${e} seen before being defined`)),null)}}t.default=i,i.MAX_SIGNAL_STRENGTH_LEVELS=2,i.IMPLICIT_VOLUME=0,i.IMPLICIT_SIGNAL_STRENGTH=1},9944(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esMo
2138dule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(40961)),o=n(i(90428));t.default=class{constructor(e){this.logger=e}create(e,t,i){this.connection=new WebSocket(i?e:r.default.urlWithVersion(e),t),this.connection.binaryType="arraybuffer"}send(e){if(!this.connection)return this.logger.error("WebSocket not yet created or already destroyed."),!1;try{return e instanceof Uint8Array?this.connection.send(e.buffer):this.connection.send(e),!0}catch(e){return this.logger.debug(()=>`send error: ${e.message}, websocket state=${o.default[this.readyState()]}`),!1}}close(e,t){var i;null===(i=this.connection)||void 0===i||i.close(e,t)}destroy(){this.connection=void 0}addEventListener(e,t){this.connection?this.connection.addEventListener(e,t):this.logger.warn("Cannot add event listener with no WebSocket connection.")}removeEventListener(e,t){var i;null===(i=this.connection)||void 0===i||i.removeEventListener(e,t)}readyState(){if(!this.connection)return o.default.None;switch(this.connection.readyState){case WebSocket.CONNECTING:return o.default.Connecting;case WebSocket.OPEN:return o.default.Open;case WebSocket.CLOSING:return o.default.Closing;case WebSocket.CLOSED:return o.default.Closed}}}},90428(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.WebSocketReadyState=void 0,function(e){e[e.None=0]="None",e[e.Connecting=1]="Connecting",e[e.Open=2]="Open",e[e.Closing=3]="Closing",e[e.Closed=4]="Closed"}(i=t.WebSocketReadyState||(t.WebSocketReadyState={})),t.default=i},36257(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0}),t.decideModel=t.measureAndDecideExecutionApproach=void 0;const r=i(19048),o=i(37804),s={wasm:{noSupport:.07,inline:{c100:1,c50:.36,c20:.16,c10:.07},worker:{c100:.5,c50:.18,c20:.08,c10:.06}},simd:{noSupport:.1,inline:{c100:1,c50:.43,c20:.3,c10:.2},worker:{c100:.5,c50:.21,c20:.15,c10:.1}}};class a{constructor(e,t){this.fetchConfig=e,this.logger=t;const i=`${e.paths.workers}estimator-v1.js`;this.fetchBehavior={headers:e.headers,escapedQueryString:e.escapedQueryString},this.worker=(0,r.loadWorker)(i,"VoiceFocusEstimator",this.fetchBehavior,t)}roundtrip(e,t,i){return new Promise((n,r)=>{this.worker.then(r=>{let o;o=e=>{const{message:s,key:a}=e.data;s===t&&a===i&&(r.removeEventListener("message",o),n(e.data))},r.addEventListener("message",o),r.postMessage(e)}).catch(e=>{var t;null===(t=this.logger)||void 0===t||t.error("Failed to load worker.",e),r(e)})})}supportsSIMD(e){const t="simd",i=e||`${this.fetchConfig.paths.wasm}simd-v1.wasm`,n={message:"supports-simd",fetchBehavior:this.fetchBehavior,path:i,key:t};return this.roundtrip(n,"simd-support",t).then(e=>e.supports)}measure(e,t){const i=`${this.fetchConfig.paths.wasm}bench-v1.wasm`,n=`${this.fetchConfig.paths.wasm}bench-v1_simd.wasm`,r=e?n:i,o=`bench:${e}`,s={message:"measure",fetchBehavior:this.fetchBehavior,budget:t,path:r,key:o};return this.roundtrip(s,"measurement",o).then(e=>{if(e.measurement)return e.measurement;throw new Error("Failed to measure.")})}stop(){this.worker.then(e=>{var t;null===(t=this.logger)||void 0===t||t.debug("Stopping estimator worker."),e.terminate()}).catch(e=>{})}}const d=(e,t,i,r)=>n(void 0,void 0,void 0,function*(){const n={supportsSIMD:e,supportsSAB:(0,o.supportsSharedArrayBuffer)(globalThis,window,i),duration:-1};if(e)return null==i||i.info("Supports SIMD: true (force)"),n;const s=!r,d=r||new a(t,i);try{const t=!(0,o.isOldChrome)(window,i)&&(yield d.supportsSIMD());return null==i||i.info(`Supports SIMD: ${t} (force: ${e})`),n.supportsSIMD=t,n}finally{s&&d.stop()}});t.measureAndDecideExecutionApproach=(e,t,i,r=s)=>n(void 0,void 0,void 0,function*(){let c=e.executionPreference;const{usagePreference:l,variantPreference:u,namePreference:h,simdPreference:p,estimatorBudget:f,executionQuantaPreference:m}=e;"interactivity"===l&&"inline"!==c&&(null==i||i.debug(`Overriding execution preference ${c} to reflect interactivity preference.`),c="inline");const g="force"===p,v="auto"!==u,b="auto"!==c;let y;try{y=v&&b?yield d(g,t,i):yield((e,t,i,r)=>n(void 0,void 0,void 0,function*(){const n=new a(t,r);try{const o=yield d(e,t,r,n);if(o.supportsSIMD)try{return o.duration=yield n.measure(!0,i),null==r||r.info("SIMD timing:",o.duration),o}catch(e){null==r||r.warn("Failed SIMD estimation; falling back to non-SIMD."),o.supportsSIMD=!1}return o.duration=yield n.measure(!1,i),null==r||r.info("No-SIMD timing:",o.duration),o}catch(e){throw null==r||r.error("Could not feature check.",e),e}finally{n.stop()}}))(g,t,f,i)}catch(e){throw null==i||i.error("Could not load estimator.",e),new Error("Could not load Voice Focus estimator.")}return(({supportsSIMD:e,supportsSAB:t,duration:i,executionPreference:n="auto",simdPreference:r,variantPreference:a="auto",namePreference:d="default",usagePreference:c,executionQuantaPreference:l=3},u=s,h)=>
2138{const p="force"===r||"disable"!==r&&e,f=-1!==i,m=f?(p?2.5:2.63)/i:0,g=p?u.simd:u.wasm,v=f?((e,t)=>1===e?.6:"quality"===t?.65*e:.5*e)(l,c)*m:0,b=f?.7*m:0,y=d,S=e=>({supported:!1,reason:e});if(f){if(m<g.noSupport)return S(`Performance score ${m} worse than threshold ${g.noSupport}.`)}else if("auto"===n||"auto"===a)return S(`Missing explicit execution (${n}) or variant (${a}) preference, but no scoring performed.`);null==h||h.debug(`Bench duration ${i} yields inline score ${v} and worker score ${b}.`);const w=(e,t,i)=>({supported:!0,useSIMD:p,processor:e,executionApproach:t,variant:i,executionQuanta:"inline"===t?l:void 0,name:y}),C=(e,t,i)=>"auto"!==t?!f||e>i[t]?t:"failed":e>i.c100?"c100":e>i.c50?"c50":e>i.c20?"c20":e>i.c10?"c10":"failed",k=e=>{switch(e||"auto"){case"auto":{let e=k("inline"),t=k("worker");return null==h||h.debug(`Reducing auto preference: ${JSON.stringify(e)} vs ${JSON.stringify(t)}`),!1===e.supported||!1===t.supported?t:e.variant===t.variant||"c50"===e.variant?e:t}case"worker":return(0,o.supportsSharedArrayBuffer)(globalThis,window,h)?k("worker-sab"):k("worker-postMessage");case"inline":{const e=C(v,a,g.inline);return"failed"===e?S(`Performance score ${v} not sufficient for inline use with variant preference ${a}.`):w("voicefocus-inline-processor","inline",e)}case"worker-sab":{if(!t){const e="Requested worker-sab but no SharedArrayBuffer support.";return null==h||h.warn(e),{supported:!1,reason:e}}const e=C(b,a,g.worker);return"failed"===e?S(`Performance score ${b} not sufficient for worker use with variant preference ${a}.`):w("voicefocus-worker-sab-processor","worker-sab",e)}case"worker-postMessage":{const e=C(b,a,g.worker);if("failed"===e)return S(`Performance score ${b} not sufficient for worker use.`);if("ns_es"===y){const e="Requested echo suppression but postMessage executor does not support it.";return null==h||h.warn(e),{supported:!1,reason:e}}return w("voicefocus-worker-postMessage-processor","worker-postMessage",e)}}};return k(n)})(Object.assign(Object.assign({},y),{simdPreference:p,executionPreference:c,variantPreference:u,namePreference:h,usagePreference:l,executionQuantaPreference:m}),r,i)}),t.decideModel=({category:e,name:t,variant:i,simd:n,url:r})=>`${e}-${t}-${i}-v1${n?"_simd":""}`},64719(e,t){"use strict";function i(e,t,i){if(!i)return fetch(e,t);const o=r(e,i),s=n(t,i);return fetch(o,s)}function n(e,t){return(null==t?void 0:t.headers)?e?Object.assign(Object.assign({},e),{headers:Object.assign(Object.assign({},e.headers||{}),t.headers)}):{headers:t.headers}:e}function r(e,t){if(!(null==t?void 0:t.escapedQueryString))return e;const i=-1!==e.lastIndexOf("?");return`${e}${i?"&":"?"}${t.escapedQueryString}`}Object.defineProperty(t,"__esModule",{value:!0}),t.isValidRevisionID=t.isValidAssetGroup=t.resolveURL=t.addQueryParams=t.withQueryString=t.withRequestHeaders=t.fetchWithBehavior=void 0,t.fetchWithBehavior=i,t.withRequestHeaders=n,t.withQueryString=r,t.addQueryParams=function(e,t){const i=Object.keys(t);if(!i.length)return e;const n=new URLSearchParams(null==e?void 0:e.escapedQueryString);for(const e of i)n.append(e,t[e]);return Object.assign(Object.assign({},e),{escapedQueryString:n.toString()})};const o={method:"HEAD",mode:"cors",credentials:"omit",redirect:"follow",referrerPolicy:"origin"};t.resolveURL=function(e,t){return i(e,o,t).then(t=>t.redirected?t.url:e)},t.isValidAssetGroup=function(e){return!!e&&/^[-.a-zA-Z0-9]+$/.test(e)},t.isValidRevisionID=function(e){return!!e&&/^[123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ]{22}$/.test(e)}},19048(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.loadWorker=void 0;const n=i(64719),r={method:"GET",mode:"cors",credentials:"omit",redirect:"follow",referrerPolicy:"no-referrer"};t.loadWorker=(e,t,i,o)=>{null==o||o.debug(`Loading ${t} worker from ${e}.`);let s=!1;try{s=self.origin===new URL(e).origin}catch(e){null==o||o.error("Could not compare origins.",e)}if(s){const r=(0,n.withQueryString)(e,i);return Promise.resolve(new Worker(r,{name:t}))}return(0,n.fetchWithBehavior)(e,r,i).then(e=>{if(e.ok)return e.blob().then(e=>new Worker(window.URL.createObjectURL(e)));throw new Error("Fetch failed.")})}},37804(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Prom
2138ise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0}),t.isOldChrome=t.supportsWASMStreaming=t.supportsSharedArrayBuffer=t.supportsWASM=t.supportsAudioWorklet=t.supportsWorker=t.supportsVoiceFocusWorker=t.supportsWASMPostMessage=t.isSafari=void 0;const r=i(19048);t.isSafari=(e=globalThis)=>{const t=e.navigator.userAgent,i=t.match(/Safari\//),n=t.match(/Chrom(?:e|ium)\//);return!(!i||n)},t.supportsWASMPostMessage=(e=globalThis)=>!(0,t.isSafari)(e)&&(!((e=globalThis)=>!!e.navigator.userAgent.match(/Chrom(?:e|ium)\/([0-9]+)/))(e)||(o(e)||0)<95),t.supportsVoiceFocusWorker=(e=globalThis,i,o)=>n(void 0,void 0,void 0,function*(){if(!(0,t.supportsWorker)(e,o))return!1;const n=`${i.paths.workers}worker-v1.js`;try{const e=yield(0,r.loadWorker)(n,"VoiceFocusTestWorker",i,o);try{e.terminate()}catch(e){null==o||o.debug("Failed to terminate worker.",e)}return!0}catch(e){return null==o||o.info("Failed to fetch and instantiate test worker",e),!1}}),t.supportsWorker=(e=globalThis,t)=>{try{return!!e.Worker}catch(e){return null==t||t.info("Does not support Worker",e),!1}},t.supportsAudioWorklet=(e=globalThis,t)=>{try{return!!e.AudioWorklet&&!!e.AudioWorkletNode}catch(e){return null==t||t.info("Does not support Audio Worklet",e),!1}},t.supportsWASM=(e=globalThis,t)=>{try{return!(!e.WebAssembly||!e.WebAssembly.compile&&!e.WebAssembly.compileStreaming)}catch(e){return null==t||t.info("Does not support WASM",e),!1}},t.supportsSharedArrayBuffer=(e=globalThis,t=globalThis,i)=>{try{return!(!e.SharedArrayBuffer||!t.chrome&&!e.crossOriginIsolated)}catch(e){return null==i||i.info("Does not support SharedArrayBuffer."),!1}},t.supportsWASMStreaming=(e=globalThis,t)=>{var i;try{return!!(null===(i=e.WebAssembly)||void 0===i?void 0:i.compileStreaming)}catch(e){return null==t||t.info("Does not support WASM streaming compilation",e),!1}};const o=(e=globalThis)=>{try{if(!e.chrome)return}catch(e){}const t=e.navigator.userAgent.match(/Chrom(?:e|ium)\/([0-9]+)/);if(t)return parseInt(t[1],10)};t.isOldChrome=(e=globalThis,t)=>{const i=o(e);return!!i&&i<90&&(null==t||t.debug(`Chrome ${i} has incomplete SIMD support.`),!0)}},79898(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VoiceFocusAudioWorkletNode=void 0;class i extends("undefined"!=typeof globalThis&&globalThis.AudioWorkletNode||class{}){}t.VoiceFocusAudioWorkletNode=i},65201(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0}),t.getAudioInput=t.createAudioContext=t.VoiceFocus=void 0;const r=i(36257),o=i(64719),s=i(19048),a=i(37804),d=i(25936),c=i(8660),l=i(12397),u={useVoiceFocusAGC:!1,useBuiltInAGC:!0},h="stable-v1",p="https://static.sdkassets.chime.aws",f={processors:`${p}/processors/`,workers:`${p}/workers/`,wasm:`${p}/wasm/`,models:`${p}/wasm/`},m={latencyHint:0},g={channelCount:1,echoCancellation:!0,googEchoCancellation:!0,noiseSuppression:!1,googNoiseSuppression:!1,googHighpassFilter:!1,googTypingNoiseDetection:!1},v=Object.assign(Object.assign({},g),{autoGainControl:!0,googAutoGainControl:!0,googAutoGainControl2:!0}),b=Object.assign(Object.assign({},g),{autoGainControl:!1,googAutoGainControl:!1,googAutoGainControl2:!1}),y={"voicefocus-worker-sab-processor":{file:"worklet-worker-sab-processor-v1.js",node:c.default},"voicefocus-worker-postMessage-processor":{file:"worklet-worker-postMessage-processor-v1.js",node:l.default},"voicefocus-inline-processor":{file:"worklet-inline-processor-v1.js",node:d.default}},S=(e,t)=>{if(void 0!==e&&!(0,o.isValidAssetGroup)(e))throw new Error(`Invalid asset group ${e}`);if(void 0!==t&&!(0,o.isValidRevisionID)(t))throw new Error(`Invalid revision ID ${t}`)},w=(e,t)=>`${t.models}${(0,r.decideModel)(e)}.wasm`;class C{constructor(e,t,i,n,r,o){this.processorURL=t,this.nodeConstructor=i,this.nodeOptions=n,this.executionQuanta=r,this.logger=o,this.internal={worker:e,isDestroyed:!1}}getModelMetrics(){var e;return null===(e=this.internal.voiceFocusNode)||void 0===e?void 0:e.getModelMetrics()}reset(){var e,t,i;null===(e=this.internal.voiceFocusNode)||void 0===e||e.reset(),null===(t=this.internal.sourceNode)||void 0===t||t.disconnect(),null===(i=this.internal.destinationNode)||void 0===i||i.disconnect()}enable(){var e;null===(e=this.internal.voiceFocusNode)||void 0===e||e.enable()}disable(){var e;null===(e=this.internal.voiceFocusNode)||void 0===e||e.disable()}setMode(e){var t;null===(t=this.internal.voiceFocusNode)||void 0===t||t.setMode(e)}destroy(){var e,t,i,r,o;return n(this,void 0,void 0,function*(){const{worker:n,isDestroyed:s,voiceFocusNode:a,destinationNode:d,sourceNode:c,audioContext:l}=this.internal;if(s)null===(e=this.logger)||void 0===e||e.debug("Voice Focus is already destroyed");else try{null==n||n.terminate(),null==c||c.disconnect(),null==d||d.disconnect(),yield Promise.all([null!==(t=null==l?void 0:l.close().catch(e=>e))&&void 0!==t?t:yield Promise.resolve(),null!==(i=null==a?void 0:a.stop().catch(e=>e))&&void 0!==i?i:yield Promise.resolve()]),this.internal.audioContext=void 0,this.internal.voiceFocusNode=void 0,this.internal.sourceNode=void 0,this.internal.destinationNode=void 0,null===(r=this.logger)||void 0===r||r.debug("Voice Focus destroyed successfully")}catch(e){throw null===(o=this.logger)||void 0===o||o.error("Error while destroying the Voice Focus instance: ",e),e}finally{this.internal.isDestroyed=!0}})}static isSupported(e,t){const{fetchBehavior:i,logger:n}=t||{};if("undefined"==typeof globalThis)return null==n||n.debug("Browser does not have globalThis."),Promise.resolve(!1);if(!(0,a.supportsAudioWorklet)(globalThis,n))return null==n||n.debug("Browser does not support Audio Worklet."),Promise.resolve(!1);if(!(0,a.supportsWASM)(globalThis,n))return null==n||n.debug("Browser does not support WASM."),Promise.resolve(!1);(0,a.supportsWASMStreaming)(globalThis,n)||null==n||n.debug("Browser does not support streaming WASM compilation.");const{assetGroup:r=h,revisionID:s,paths:d=f}=e||{};S(r,s);const c=s?{revisionID:s}:{assetGroup:r},l=(0,o.addQueryParams)(i,c),u=Object.assign(Object.assign({},l),{paths:d});return(0,a.supportsVoiceFocusWorker)(globalThis,u,n)}static mungeExecutionPreference(e,t){const i=void 0===e||"auto"===e;if((0,a.isSafari)(globalThis)){if(i||"inline"===e)return"inline";if(!i)throw new Error(`Unsupported execution preference ${e}`)}if("worker-sab"===e&&!(0,a.supportsSharedArrayBuffer)(globalThis,globalThis,t))throw new Error(`Unsupported execution preference ${e}`);return e||"auto"}static configure(e,t){return n(this,void 0,void 0,function*(){const{fetchBehavior:i,preResolve:n,logger:s}
2138=t||{},{category:a="voicefocus",name:d="default",variant:c="auto",assetGroup:l=h,revisionID:u,simd:p="detect",mode:m="ns",executionPreference:g="auto",executionQuantaPreference:v,usagePreference:b="interactivity",estimatorBudget:y=100,paths:C=f,thresholds:k}=e||{};if(null==s||s.debug("Configuring Voice Focus with spec",e),void 0!==a&&"voicefocus"!==a)throw new Error(`Unrecognized category ${a}`);if(void 0!==d&&"default"!==d&&"ns_es"!==d)throw new Error(`Unrecognized feature name ${d}`);if(void 0!==c&&!["auto","c100","c50","c20","c10"].includes(c))throw new Error(`Unrecognized feature variant ${c}`);if(void 0!==v&&![1,2,3].includes(v))throw new Error(`Unrecognized execution quanta preference ${v}`);if(S(l,u),void 0!==p&&!["detect","force","disable"].includes(p))throw new Error(`Unrecognized SIMD option ${p}`);if(void 0!==g&&!["auto","inline","worker","worker-sab","worker-postMessage"].includes(g))throw new Error(`Unrecognized execution preference ${g}`);if(void 0!==b&&!["quality","interactivity"].includes(b))throw new Error(`Unrecognized usage preference ${b}`);const E={executionPreference:this.mungeExecutionPreference(g,s),usagePreference:b,executionQuantaPreference:v,variantPreference:c,namePreference:d,simdPreference:p,estimatorBudget:y},T=u?{revisionID:u}:{assetGroup:l},I=(0,o.addQueryParams)(i,T),x=Object.assign({paths:C},I),A=yield(0,r.measureAndDecideExecutionApproach)(E,x,s,k);if(!1===A.supported)return{supported:!1,reason:A.reason};null==s||s.info("Decided execution approach",A);const{useSIMD:P,processor:O,variant:_,executionQuanta:M}=A,R={category:a||"voicefocus",name:d||"default",mode:m,variant:_,simd:P};if(n){const e=w(R,C);R.url=yield(0,o.resolveURL)(e,I)}return{fetchConfig:x,model:R,processor:O,executionQuanta:M,supported:!0}})}static init(e,{delegate:t,preload:i=!0,logger:r}){return n(this,void 0,void 0,function*(){if(!1===e.supported)throw new Error("Voice Focus not supported. Reason: "+e.reason);const{model:n,processor:o,fetchConfig:d,executionQuanta:c}=e,{simd:l,name:u,mode:h}=n,{paths:p}=d;if("voicefocus-inline-processor"!==o&&"voicefocus-worker-postMessage-processor"!==o&&"voicefocus-worker-sab-processor"!==o)throw new Error(`Unknown processor ${o}`);const f=n.url||w(n,p);null==r||r.debug(`Using model URL ${f}.`);const m=`${p.wasm}audio_buffer-v1${l?"_simd":""}.wasm`,g=`${p.wasm}resampler-v1${l?"_simd":""}.wasm`,v=`${p.workers}worker-v1.js`,{file:b,node:S}=y[o],k=`${p.processors}${b}`,E=yield(0,s.loadWorker)(v,"VoiceFocusWorker",d,r);if(i){null==r||r.debug("Preloading",f);let e=(0,a.supportsWASMPostMessage)(globalThis)?"get-module":"get-module-buffer";E.postMessage({message:e,preload:!0,key:"model",fetchBehavior:d,path:f})}const T=new C(E,k,S,{processor:o,worker:E,audioBufferURL:m,resamplerURL:g,fetchBehavior:d,modelURL:f,delegate:t,logger:r,numberOfInputs:"ns_es"===u?2:1,mode:h},c,r);return Promise.resolve(T)})}createNode(e,t){var i;if(this.internal.isDestroyed)throw new Error("Unable to create node because VoiceFocus worker has been destroyed.");const{voiceFocusSampleRate:n=(16e3===e.sampleRate?16e3:48e3),enabled:r=!0,agc:s=u}=t||{},a=null==t?void 0:t.es,d={voiceFocusSampleRate:n,enabled:r,sendBufferCount:10,prefill:6,agc:s,executionQuanta:this.executionQuanta,supportFarendStream:a,mode:this.nodeOptions.mode},c=(0,o.withQueryString)(this.processorURL,null===(i=this.nodeOptions)||void 0===i?void 0:i.fetchBehavior);return e.audioWorklet.addModule(c).then(()=>new this.nodeConstructor(e,Object.assign(Object.assign({},this.nodeOptions),{processorOptions:d})))}applyToStream(e,t,i,r=!1){var o,s,a;return n(this,void 0,void 0,function*(){if(this.internal.isDestroyed)throw new Error("Unable to apply stream because VoiceFocus worker has been destroyed");let n;null===(o=this.internal.sourceNode)||void 0===o||o.disconnect(),null===(s=this.internal.destinationNode)||void 0===s||s.disconnect(),r&&this.internal.voiceFocusNode&&this.internal.voiceFocusNode.isEnabled()?(null===(a=this.logger)||void 0===a||a.info("Re-using existing voice focus node"),n=this.internal.voiceFocusNode):n=yield this.createNode(t,i);const d=t.createMediaStreamSource(e);d.connect(n);const c=t.createMediaStreamDestination();return n.connect(c),this.internal=Object.assign(Object.assign({},this.internal),{voiceFocusNode:n,sourceNode:d,destinationNode:c,audioContext:t}),{node:n,source:d,destination:c,stream:c.stream}})}applyToSourceNode(e,t,i){return n(this,void 0,void 0,function*(){const n=yield this.createNode(t,i);return e.connect(n),n})}}t.VoiceFocus=C,t.createAudioContext=(e=m)=>new(window.AudioContext||window.webkitAudioContext)(e),t.getAudioInput=(e,t,i)=>n(void 0,void 0,void 0,function*(){var n,r;const{constraints:o,spec:s,delegate:a,preload:d=!0,options:c}=t,{logger:l}=i,h=yield C.configure(s,i);if(!h.supported)return null===(n=i.logger)||void 0===n||n.warn("Voice Focus not supported; returning standard stream."),window.navigator.mediaDevices.getUserMedia(o);const p=yield C.init(h,{delegate:a,preload:d,logger:l}),f=(null===(r=t.options)||void 0===r?void 0:r.agc)||u,m=yield window.navigator.mediaDevices.getUserMedia(((e,t)=>{let i;if(i=t.useBuiltInAGC?v:b,!e)return{audio:i};if(!e.audio)return e;
2138if(e.video)throw new Error("Not adding Voice Focus to multi-device getUserMedia call.");return Object.assign(Object.assign({},e),{audio:!0===e.audio?i:Object.assign(Object.assign({},e.audio),i)})})(o,f));return p.applyToStream(m,e,c).then(e=>e.stream)})},25936(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0});const r=i(37804),o=i(79898);class s extends o.VoiceFocusAudioWorkletNode{constructor(e,t){super(e,t.processor,t),this.cpuWarningCount=0,this.metrics={latencyMillisAverage:0,snr:{average:0,averageActive:0,variance:0,varianceActive:0},drr:{average:0,variance:0,averageActive:0,varianceActive:0},vad:{average:0},cpu:{lateInvoke:0,longInvoke:0}},this.enabled=!1,this.channelCountMode="explicit",this.channelCount=1;const{modelURL:i,worker:n,fetchBehavior:o,logger:s,delegate:a}=t;this.logger=s,this.port.onmessage=this.onProcessorMessage.bind(this),this.delegate=a,s&&s.debug("VoiceFocusInlineNode:",i),this.worker=n,this.worker.onmessage=this.onWorkerMessage.bind(this);const d=(0,r.supportsWASMPostMessage)(globalThis)?"get-module":"get-module-buffer";this.worker.postMessage({message:d,key:"model",fetchBehavior:o,path:i}),this.enabled=!0}onModuleBufferLoaded(e,t){this.port.postMessage({message:"module-buffer",buffer:e,key:t})}onModuleLoaded(e,t){this.port.postMessage({message:"module",module:e,key:t})}enable(){return n(this,void 0,void 0,function*(){this.port.postMessage({message:"enable"}),this.enabled=!0})}disable(){return n(this,void 0,void 0,function*(){this.port.postMessage({message:"disable"}),this.enabled=!1})}setMode(e){return n(this,void 0,void 0,function*(){this.port.postMessage({message:"set-mode",mode:e})})}stop(){var e;return n(this,void 0,void 0,function*(){this.port.postMessage({message:"stop"});try{null===(e=this.worker)||void 0===e||e.terminate()}catch(e){console.error("failed to terminate worker:",e)}this.disconnect(),this.enabled=!1})}reset(){this.metrics={latencyMillisAverage:0,snr:{average:0,averageActive:0,variance:0,varianceActive:0},drr:{average:0,variance:0,averageActive:0,varianceActive:0},vad:{average:0},cpu:{lateInvoke:0,longInvoke:0}},this.port.postMessage({message:"reset"})}isEnabled(){return this.enabled}onProcessorMessage(e){var t,i,n,r,o,s;const{data:a}=e,{message:d}=a;switch(d){case"cpu":const{reason:e,count:c}=a;e&&c&&(this.metrics.cpu=Object.assign(Object.assign({},this.metrics.cpu),{[e]:c+this.metrics.cpu[e]})),this.cpuWarningCount++;const l=Date.now(),u=this.cpuWarningLastTriggered||l,h=Math.abs(l-u);(!this.cpuWarningLastTriggered||h>5e3)&&(null===(t=this.logger)||void 0===t||t.warn(`CPU warning (count: ${this.cpuWarningCount}):`,d),this.cpuWarningCount=0,this.cpuWarningLastTriggered=l),null===(i=this.delegate)||void 0===i||i.onCPUWarning();break;case"metrics":const{metrics:p}=a;if(!p){null===(n=this.logger)||void 0===n||n.warn("Got metrics message but no metrics payload");break}if(this.metrics=Object.assign(Object.assign({},this.metrics),p),this.logger){const e=Date.now();e-(null!==(r=this.metricsLastRecorded)&&void 0!==r?r:0)>5e3&&(null===(o=this.logger)||void 0===o||o.debug("Contact metrics:",this.metrics),this.metricsLastRecorded=e)}break;default:null===(s=this.logger)||void 0===s||s.debug("Ignoring processor message.")}}getModelMetrics(){return this.metrics}onWorkerMessage(e){const t=e.data;switch(t.message){case"module-buffer":if(!t.buffer||!t.key)return;this.onModuleBufferLoaded(t.buffer,t.key);break;case"module":if(!t.module||!t.key)return;this.onModuleLoaded(t.module,t.key);break;case"stopped":this.worker&&this.worker.terminate();break;default:return}}}t.default=s},12397(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})};
2138Object.defineProperty(t,"__esModule",{value:!0});const r=i(37804),o=i(79898);class s extends o.VoiceFocusAudioWorkletNode{constructor(e,t){super(e,t.processor,t),this.enabled=!1,this.channelCountMode="explicit",this.channelCount=1;const{modelURL:i,audioBufferURL:n,worker:o,fetchBehavior:s,delegate:a}=t;this.delegate=a,this.worker=o,this.worker.onmessage=this.onWorkerMessage.bind(this),this.port.onmessage=this.onProcessorMessage.bind(this);const{enabled:d,agc:c,supportFarendStream:l}=t.processorOptions;this.worker.postMessage({message:"init",approach:"postMessage",frames:16e3===e.sampleRate?160:480,enabled:d,agc:c,fetchBehavior:s,model:i,supportFarendStream:l});const u=(0,r.supportsWASMPostMessage)(globalThis)?"get-module":"get-module-buffer";this.worker.postMessage({message:u,key:"buffer",fetchBehavior:s,path:n}),this.enabled=!0}enable(){return n(this,void 0,void 0,function*(){this.worker.postMessage({message:"enable"}),this.enabled=!0})}disable(){return n(this,void 0,void 0,function*(){this.worker.postMessage({message:"disable"}),this.enabled=!1})}setMode(e){return n(this,void 0,void 0,function*(){this.port.postMessage({message:"set-mode",mode:e})})}stop(){return n(this,void 0,void 0,function*(){try{this.worker.postMessage({message:"stop"})}catch(e){}this.disconnect(),this.enabled=!1})}getModelMetrics(){}reset(){}isEnabled(){return this.enabled}onWorkerMessage(e){var t;const i=e.data;switch(i.message){case"ready":this.port.postMessage({message:"ready",shared:i.shared},i.shared?Object.values(i.shared):[]);break;case"data":if(!i.buffer)return;this.port.postMessage({message:"data",buffer:i.buffer},[i.buffer]);break;case"stopped":this.worker.terminate();break;case"module-buffer":case"module":case"processing":this.port.postMessage(i);break;case"cpu":null===(t=this.delegate)||void 0===t||t.onCPUWarning();break;default:return}}onProcessorMessage(e){var t;const i=e.data;switch(i.message){case"data":if(!i.buffer)return;this.worker.postMessage({message:"data",buffer:i.buffer},[i.buffer]);break;case"cpu":null===(t=this.delegate)||void 0===t||t.onCPUWarning();break;case"prepare-for-frames":this.worker.postMessage(i);break;default:return}}}t.default=s},8660(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0});const r=i(37804),o=i(79898);class s extends o.VoiceFocusAudioWorkletNode{constructor(e,t){super(e,t.processor,t),this.enabled=!1,this.channelCountMode="explicit",this.channelCount=1;const{modelURL:i,resamplerURL:n,worker:o,fetchBehavior:s,delegate:a}=t;this.delegate=a,this.worker=o,this.worker.onmessage=this.onWorkerMessage.bind(this),this.port.onmessage=this.onProcessorMessage.bind(this);const{enabled:d,supportFarendStream:c}=t.processorOptions;this.worker.postMessage({message:"init",approach:"sab",frames:16e3===e.sampleRate?160:480,enabled:d,model:i,supportFarendStream:c});const l=(0,r.supportsWASMPostMessage)(globalThis)?"get-module":"get-module-buffer";this.worker.postMessage({message:l,key:"resampler",fetchBehavior:s,path:n}),this.enabled=!0}enable(){return n(this,void 0,void 0,function*(){this.state?(Atomics.store(this.state,1,1),Atomics.notify(this.state,0,1)):this.worker.postMessage({message:"enable"}),this.enabled=!0})}disable(){return n(this,void 0,void 0,function*(){this.state?(Atomics.store(this.state,1,0),Atomics.notify(this.state,0,1)):this.worker.postMessage({message:"disable"}),this.enabled=!1})}setMode(e){return n(this,void 0,void 0,function*(){this.port.postMessage({message:"set-mode",mode:e})})}stop(){return n(this,void 0,void 0,function*(){if(this.state)Atomics.store(this.state,1,2),Atomics.notify(this.state,0,1);else try{this.worker.postMessage({message:"stop"})}catch(e){}this.disconnect(),this.enabled=!1})}getModelMetrics(){}reset(){}isEnabled(){return this.enabled}onWorkerMessage(e){var t;const i=e.data;switch(i.message){case"ready":if(!i.shared)throw new Error("No shared state.");this.state=new Int32Array(i.shared.state),this.port.postMessage(i);break;case"stopped":this.worker.terminate();break;case"module-buffer":case"module":case"processing":this.port.postMessage(i);break;case"cpu":null===(t=this.delegate)||void 0===t||t.onCPUWarning();break;default:return}}onProcessorMessage(e){var t;const i=e.data;switch(i.message){case"cpu":null===(t=this.delegate)||void 0===t||t.onCPUWarning();break;case"prepare-for-frames":this.worker.postMessage(i)}}}t.default=s},53e3(e,t,i){"use strict";
vendor: 4,301 bytes, line 2138
2138Object.defineProperty(t,"__esModule",{value:!0}),t.RawSha256=void 0;var n=i(55640),r=function(){function e(){this.state=Int32Array.from(n.INIT),this.temp=new Int32Array(64),this.buffer=new Uint8Array(64),this.bufferLength=0,this.bytesHashed=0,this.finished=!1}return e.prototype.update=function(e){if(this.finished)throw new Error("Attempted to update an already finished hash.");var t=0,i=e.byteLength;if(this.bytesHashed+=i,8*this.bytesHashed>n.MAX_HASHABLE_LENGTH)throw new Error("Cannot hash more than 2^53 - 1 bits");for(;i>0;)this.buffer[this.bufferLength++]=e[t++],i--,this.bufferLength===n.BLOCK_SIZE&&(this.hashBuffer(),this.bufferLength=0)},e.prototype.digest=function(){if(!this.finished){var e=8*this.bytesHashed,t=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength),i=this.bufferLength;if(t.setUint8(this.bufferLength++,128),i%n.BLOCK_SIZE>=n.BLOCK_SIZE-8){for(var r=this.bufferLength;r<n.BLOCK_SIZE;r++)t.setUint8(r,0);this.hashBuffer(),this.bufferLength=0}for(r=this.bufferLength;r<n.BLOCK_SIZE-8;r++)t.setUint8(r,0);t.setUint32(n.BLOCK_SIZE-8,Math.floor(e/4294967296),!0),t.setUint32(n.BLOCK_SIZE-4,e),this.hashBuffer(),this.finished=!0}var o=new Uint8Array(n.DIGEST_LENGTH);for(r=0;r<8;r++)o[4*r]=this.state[r]>>>24&255,o[4*r+1]=this.state[r]>>>16&255,o[4*r+2]=this.state[r]>>>8&255,o[4*r+3]=this.state[r]>>>0&255;return o},e.prototype.hashBuffer=function(){for(var e=this.buffer,t=this.state,i=t[0],r=t[1],o=t[2],s=t[3],a=t[4],d=t[5],c=t[6],l=t[7],u=0;u<n.BLOCK_SIZE;u++){if(u<16)this.temp[u]=(255&e[4*u])<<24|(255&e[4*u+1])<<16|(255&e[4*u+2])<<8|255&e[4*u+3];else{var h=this.temp[u-2],p=(h>>>17|h<<15)^(h>>>19|h<<13)^h>>>10,f=((h=this.temp[u-15])>>>7|h<<25)^(h>>>18|h<<14)^h>>>3;this.temp[u]=(p+this.temp[u-7]|0)+(f+this.temp[u-16]|0)}var m=(((a>>>6|a<<26)^(a>>>11|a<<21)^(a>>>25|a<<7))+(a&d^~a&c)|0)+(l+(n.KEY[u]+this.temp[u]|0)|0)|0,g=((i>>>2|i<<30)^(i>>>13|i<<19)^(i>>>22|i<<10))+(i&r^i&o^r&o)|0;l=c,c=d,d=a,a=s+m|0,s=o,o=r,r=i,i=m+g|0}t[0]+=i,t[1]+=r,t[2]+=o,t[3]+=s,t[4]+=a,t[5]+=d,t[6]+=c,t[7]+=l},e}();t.RawSha256=r},55640(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MAX_HASHABLE_LENGTH=t.INIT=t.KEY=t.DIGEST_LENGTH=t.BLOCK_SIZE=void 0,t.BLOCK_SIZE=64,t.DIGEST_LENGTH=32,t.KEY=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),t.INIT=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],t.MAX_HASHABLE_LENGTH=Math.pow(2,53)-1},4049(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),i(5321).__exportStar(i(21105),t)},21105(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Sha256=void 0;var n=i(5321),r=i(55640),o=i(53e3),s=i(67282),a=function(){function e(e){if(this.hash=new o.RawSha256,e){this.outer=new o.RawSha256;var t=function(e){var t=(0,s.convertToBuffer)(e);if(t.byteLength>r.BLOCK_SIZE){var i=new o.RawSha256;i.update(t),t=i.digest()}var n=new Uint8Array(r.BLOCK_SIZE);return n.set(t),n}(e),i=new Uint8Array(r.BLOCK_SIZE);i.set(t);for(var n=0;n<r.BLOCK_SIZE;n++)t[n]^=54,i[n]^=92;for(this.hash.update(t),this.outer.update(i),n=0;n<t.byteLength;n++)t[n]=0}}return e.prototype.update=function(e){if(!(0,s.isEmptyData)(e)&&!this.error)try{this.hash.update((0,s.convertToBuffer)(e))}catch(e){this.error=e}},e.prototype.digestSync=function(){if(this.error)throw this.error;return this.outer?(this.outer.finished||this.outer.update(this.hash.digest()),this.outer.digest()):this.hash.digest()},e.prototype.digest=function(){return n.__awaiter(this,void 0,void 0,function(){return n.__generator(this,function(e){return[2,this.digestSync()]})})},e}();t.Sha256=a},57058(e,t,i){"use strict";
2138Object.defineProperty(t,"__esModule",{value:!0}),t.convertToBuffer=void 0;var n=i(57602),r="undefined"!=typeof Buffer&&Buffer.from?function(e){return Buffer.from(e,"utf8")}:n.fromUtf8;t.convertToBuffer=function(e){return e instanceof Uint8Array?e:"string"==typeof e?r(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e)}},67282(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.uint32ArrayFrom=t.numToUint8=t.isEmptyData=t.convertToBuffer=void 0;var n=i(57058);Object.defineProperty(t,"convertToBuffer",{enumerable:!0,get:function(){return n.convertToBuffer}});var r=i(55923);Object.defineProperty(t,"isEmptyData",{enumerable:!0,get:function(){return r.isEmptyData}});var o=i(83927);Object.defineProperty(t,"numToUint8",{enumerable:!0,get:function(){return o.numToUint8}});var s=i(13400);Object.defineProperty(t,"uint32ArrayFrom",{enumerable:!0,get:function(){return s.uint32ArrayFrom}})},55923(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isEmptyData=void 0,t.isEmptyData=function(e){return"string"==typeof e?0===e.length:0===e.byteLength}},83927(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.numToUint8=void 0,t.numToUint8=function(e){return new Uint8Array([(4278190080&e)>>24,(16711680&e)>>16,(65280&e)>>8,255&e])}},13400(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.uint32ArrayFrom=void 0,t.uint32ArrayFrom=function(e){if(!Uint32Array.from){for(var t=new Uint32Array(e.length),i=0;i<e.length;)t[i]=e[i],i+=1;return t}return Uint32Array.from(e)}},5321(e,t,i){"use strict";i.r(t),i.d(t,{__assign:()=>o,__asyncDelegator:()=>S,__asyncGenerator:()=>y,__asyncValues:()=>w,__await:()=>b,__awaiter:()=>l,__classPrivateFieldGet:()=>T,__classPrivateFieldSet:()=>I,__createBinding:()=>h,__decorate:()=>a,__exportStar:()=>p,__extends:()=>r,__generator:()=>u,__importDefault:()=>E,__importStar:()=>
vendor: 5,204 bytes, line 2138
2138k,__makeTemplateObject:()=>C,__metadata:()=>c,__param:()=>d,__read:()=>m,__rest:()=>s,__spread:()=>g,__spreadArrays:()=>v,__values:()=>f});var n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])},n(e,t)};function r(e,t){function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}var o=function(){return o=Object.assign||function(e){for(var t,i=1,n=arguments.length;i<n;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},o.apply(this,arguments)};function s(e,t){var i={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(i[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(i[n[r]]=e[n[r]])}return i}function a(e,t,i,n){var r,o=arguments.length,s=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,i,s):r(t,i))||s);return o>3&&s&&Object.defineProperty(t,i,s),s}function d(e,t){return function(i,n){t(i,n,e)}}function c(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function l(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})}function u(e,t){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!((r=(r=s.trys).length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}function h(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]}function p(e,t){for(var i in e)"default"===i||t.hasOwnProperty(i)||(t[i]=e[i])}function f(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function m(e,t){var i="function"==typeof Symbol&&e[Symbol.iterator];if(!i)return e;var n,r,o=i.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)s.push(n.value)}catch(e){r={error:e}}finally{try{n&&!n.done&&(i=o.return)&&i.call(o)}finally{if(r)throw r.error}}return s}function g(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(m(arguments[t]));return e}function v(){for(var e=0,t=0,i=arguments.length;t<i;t++)e+=arguments[t].length;var n=Array(e),r=0;for(t=0;t<i;t++)for(var o=arguments[t],s=0,a=o.length;s<a;s++,r++)n[r]=o[s];return n}function b(e){return this instanceof b?(this.v=e,this):new b(e)}function y(e,t,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,r=i.apply(e,t||[]),o=[];return n={},s("next"),s("throw"),s("return"),n[Symbol.asyncIterator]=function(){return this},n;function s(e){r[e]&&(n[e]=function(t){return new Promise(function(i,n){o.push([e,t,i,n])>1||a(e,t)})})}function a(e,t){try{(i=r[e](t)).value instanceof b?Promise.resolve(i.value.v).then(d,c):l(o[0][2],i)}catch(e){l(o[0][3],e)}var i}function d(e){a("next",e)}function c(e){a("throw",e)}function l(e,t){e(t),o.shift(),o.length&&a(o[0][0],o[0][1])}}function S(e){var t,i;return t={},n("next"),n("throw",function(e){throw e}),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,r){t[n]=e[n]?function(t){return(i=!i)?{value:b(e[n](t)),done:"return"===n}:r?r(t):t}:r}}function w(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,i=e[Symbol.asyncIterator];return i?i.call(e):(e=f(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(i){t[i]=e[i]&&function(t){return new Promise(function(n,r){!function(e,t,i,n){Promise.resolve(n).then(function(t){e({value:t,done:i})},t)}(n,r,(t=e[i](t)).done,t.value)})}}}function C(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}
vendor: 14,362 bytes, line 2138
2138function k(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t}function E(e){return e&&e.__esModule?e:{default:e}}function T(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}function I(e,t,i){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,i),i}},86636(e){e.exports=function(e){var t={};function i(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=90)}({17:function(e,t,i){"use strict";t.__esModule=!0,t.default=void 0;var n=i(18),r=function(){function e(){}return e.getFirstMatch=function(e,t){var i=t.match(e);return i&&i.length>0&&i[1]||""},e.getSecondMatch=function(e,t){var i=t.match(e);return i&&i.length>1&&i[2]||""},e.matchAndReturnConst=function(e,t,i){if(e.test(t))return i},e.getWindowsVersionName=function(e){switch(e){case"NT":return"NT";case"XP":case"NT 5.1":return"XP";case"NT 5.0":return"2000";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return}},e.getMacOSVersionName=function(e){var t=e.split(".").splice(0,2).map(function(e){return parseInt(e,10)||0});if(t.push(0),10===t[0])switch(t[1]){case 5:return"Leopard";case 6:return"Snow Leopard";case 7:return"Lion";case 8:return"Mountain Lion";case 9:return"Mavericks";case 10:return"Yosemite";case 11:return"El Capitan";case 12:return"Sierra";case 13:return"High Sierra";case 14:return"Mojave";case 15:return"Catalina";default:return}},e.getAndroidVersionName=function(e){var t=e.split(".").splice(0,2).map(function(e){return parseInt(e,10)||0});if(t.push(0),!(1===t[0]&&t[1]<5))return 1===t[0]&&t[1]<6?"Cupcake":1===t[0]&&t[1]>=6?"Donut":2===t[0]&&t[1]<2?"Eclair":2===t[0]&&2===t[1]?"Froyo":2===t[0]&&t[1]>2?"Gingerbread":3===t[0]?"Honeycomb":4===t[0]&&t[1]<1?"Ice Cream Sandwich":4===t[0]&&t[1]<4?"Jelly Bean":4===t[0]&&t[1]>=4?"KitKat":5===t[0]?"Lollipop":6===t[0]?"Marshmallow":7===t[0]?"Nougat":8===t[0]?"Oreo":9===t[0]?"Pie":void 0},e.getVersionPrecision=function(e){return e.split(".").length},e.compareVersions=function(t,i,n){void 0===n&&(n=!1);var r=e.getVersionPrecision(t),o=e.getVersionPrecision(i),s=Math.max(r,o),a=0,d=e.map([t,i],function(t){var i=s-e.getVersionPrecision(t),n=t+new Array(i+1).join(".0");return e.map(n.split("."),function(e){return new Array(20-e.length).join("0")+e}).reverse()});for(n&&(a=s-Math.min(r,o)),s-=1;s>=a;){if(d[0][s]>d[1][s])return 1;if(d[0][s]===d[1][s]){if(s===a)return 0;s-=1}else if(d[0][s]<d[1][s])return-1}},e.map=function(e,t){var i,n=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(i=0;i<e.length;i+=1)n.push(t(e[i]));return n},e.find=function(e,t){var i,n;if(Array.prototype.find)return Array.prototype.find.call(e,t);for(i=0,n=e.length;i<n;i+=1){var r=e[i];if(t(r,i))return r}},e.assign=function(e){for(var t,i,n=e,r=arguments.length,o=new Array(r>1?r-1:0),s=1;s<r;s++)o[s-1]=arguments[s];if(Object.assign)return Object.assign.apply(Object,[e].concat(o));var a=function(){var e=o[t];"object"==typeof e&&null!==e&&Object.keys(e).forEach(function(t){n[t]=e[t]})};for(t=0,i=o.length;t<i;t+=1)a();return e},e.getBrowserAlias=function(e){return n.BROWSER_ALIASES_MAP[e]},e.getBrowserTypeByAlias=function(e){return n.BROWSER_MAP[e]||""},e}();t.default=r,e.exports=t.default},18:function(e,t,i){"use strict";t.__esModule=!0,t.ENGINE_MAP=t.OS_MAP=t.PLATFORMS_MAP=t.BROWSER_MAP=t.BROWSER_ALIASES_MAP=void 0,t.BROWSER_ALIASES_MAP={"Amazon Silk":"amazon_silk","Android Browser":"android",Bada:"bada",BlackBerry:"blackberry",Chrome:"chrome",Chromium:"chromium",Electron:"electron",Epiphany:"epiphany",Firefox:"firefox",Focus:"focus",Generic:"generic","Google Search":"google_search",Googlebot:"googlebot","Internet Explorer":"ie","K-Meleon":"k_meleon",Maxthon:"maxthon","Microsoft Edge":"edge","MZ Browser":"mz","NAVER Whale Browser":"naver",Opera:"opera","Opera Coast":"opera_coast",PhantomJS:"phantomjs",Puffin:"puffin",QupZilla:"qupzilla",QQ:"qq",QQLite:"qqlite",Safari:"safari",Sailfish:"sailfish","Samsung Internet for Android":"samsung_internet",SeaMonkey:"seamonkey",Sleipnir:"sleipnir",Swing:"swing",Tizen:"tizen","UC Browser":"uc",Vivaldi:"vivaldi","WebOS Browser":"webos",WeChat:"wechat","Yandex Browser":"yandex",Roku:"roku"},t.BROWSER_MAP={amazon_silk:"Amazon Silk",android:"Android Browser",bada:"Bada",blackberry:"BlackBerry",chrome:"Chrome",chromium:"Chromium",electron:"Electron",epiphany:"Epiphany",firefox:"Firefox",focus:"Focus",generic:"Generic",googlebot:"Googlebot",google_search:"Google Search",ie:"Internet Explorer",k_meleon:"K-Meleon",maxthon:"Maxthon",edge:"Microsoft Edge",mz:"MZ Browser",naver:"NAVER Whale Browser",opera:"Opera",opera_coast:"Opera Coast",phantomjs:"PhantomJS",puffin:"Puffin",qupzilla:"QupZilla",qq:"QQ Browser",qqlite:"QQ Browser Lite",safari:"Safari",sailfish:"Sailfish",samsung_internet:"Samsung Internet for Android",seamonkey:"SeaMonkey",sleipnir:"Sleipnir",swing:"Swing",tizen:"Tizen",uc:"UC Browser",vivaldi:"Vivaldi",webos:"WebOS Browser",wechat:"WeChat",yandex:"Yandex Browser"},t.PLATFORMS_MAP={tablet:"tablet",mobile:"mobile",desktop:"desktop",tv:"tv"},t.OS_MAP={WindowsPhone:"Windows Phone",Windows:"Windows",MacOS:"macOS",iOS:"iOS",Android:"Android",WebOS:"WebOS",BlackBerry:"BlackBerry",Bada:"Bada",Tizen:"Tizen",Linux:"Linux",ChromeOS:"Chrome OS",PlayStation4:"PlayStation 4",Roku:"Roku"},t.ENGINE_MAP={EdgeHTML:"EdgeHTML",Blink:"Blink",Trident:"Trident",Presto:"Presto",Gecko:"Gecko",WebKit:"WebKit"}},90:function(e,t,i){"use strict";t.__esModule=!0,t.default=void 0;var n,r=(n=i(91))&&n.__esModule?n:{default:n},o=i(18);function s(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var a=function(){function e(){}var t,i;return e.getParser=function(e,t){if(void 0===t&&(t=!1),"string"!=typeof e)throw new Error("UserAgent should be a string");return new r.default(e,t)},e.parse=function(e){return new r.default(e).getResult()},t=e,i=[{key:"BROWSER_MAP",get:function(){return o.BROWSER_MAP}},{key:"ENGINE_MAP",get:function(){return o.ENGINE_MAP}},{key:"OS_MAP",get:function(){return o.OS_MAP}},{key:"PLATFORMS_MAP",get:function(){return o.PLATFORMS_MAP}}],null&&s(t.prototype,null),i&&s(t,i),e}();t.default=a,e.exports=t.default},91:function(e,t,i){"use strict";t.__esModule=!0,t.default=void 0;var n=d(i(92)),r=d(i(93)),o=d(i(94)),s=d(i(95)),a=d(i(17));function d(e){return e&&e.__esModule?e:{default:e}}var c=function(){function e(e,t){if(void 0===t&&(t=!1),null==e||""===e)throw new Error("UserAgent parameter can't be empty");this._ua=e,this.parsedResult={},!0!==t&&this.parse()}var t=e.prototype;return t.getUA=function(){return this._ua},t.test=function(e){return e.test(this._ua)},t.parseBrowser=function(){var e=this;this.parsedResult.browser={};var t=a.default.find(n.default,function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some(function(t){return e.test(t)});throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.browser=t.describe(this.getUA())),this.parsedResult.browser},t.getBrowser=function(){return this.parsedResult.browser?this.parsedResult.browser:this.parseBrowser()},t.getBrowserName=function(e){return e?String(this.getBrowser().name).toLowerCase()||"":this.getBrowser().name||""},t.getBrowserVersion=function(){return this.getBrowser().version},t.getOS=function(){return this.parsedResult.os?this.parsedResult.os:this.parseOS()},t.parseOS=function(){var e=this;this.parsedResult.os={};var t=a.default.find(r.default,function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some(function(t){return e.test(t)});throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.os=t.describe(this.getUA())),this.parsedResult.os},t.getOSName=function(e){var t=this.getOS().name;return e?String(t).toLowerCase()||"":t||""},t.getOSVersion=function(){return this.getOS().version},t.getPlatform=function(){return this.parsedResult.platform?this.parsedResult.platform:this.parsePlatform()},t.getPlatformType=function(e){void 0===e&&(e=!1);var t=this.getPlatform().type;return e?String(t).toLowerCase()||"":t||""},t.parsePlatform=function(){var e=this;this.parsedResult.platform={};var t=a.default.find(o.default,function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some(function(t){return e.test(t)});throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.platform=t.describe(this.getUA())),this.parsedResult.platform},t.getEngine=function(){return this.parsedResult.engine?this.parsedResult.engine:this.parseEngine()},t.getEngineName=function(e){return e?String(this.getEngine().name).toLowerCase()||"":this.getEngine().name||""},t.parseEngine=function(){var e=this;this.parsedResult.engine={};var t=a.default.find(s.default,function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some(function(t){return e.test(t)});throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.engine=t.describe(this.getUA())),this.parsedResult.engine},t.parse=function(){return this.parseBrowser(),this.parseOS(),this.parsePlatform(),this.parseEngine(),this},t.getResult=function(){return a.default.assign({},this.parsedResult)},t.satisfies=function(e){var t=this,i={},n=0,r={},o=0;if(Object.keys(e).forEach(function(t){var s=e[t];"string"==typeof s?(r[t]=s,o+=1):"object"==typeof s&&(i[t]=s,n+=1)}),n>0){var s=Object.keys(i),d=a.default.find(s,function(e){return t.isOS(e)});if(d){var c=this.satisfies(i[d]);if(void 0!==c)return c}var l=a.default.find(s,function(e){return t.isPlatform(e)});if(l){var u=this.satisfies(i[l]);if(void 0!==u)return u}}if(o>0){var h=Object.keys(r),p=a.default.find(h,function(e){return t.isBrowser(e,!0)});if(void 0!==p)return this.compareVersion(r[p])}},t.isBrowser=function(e,t){void 0===t&&(t=!1);var i=this.getBrowserName().toLowerCase(),n=e.toLowerCase(),r=a.default.getBrowserTypeByAlias(n);return t&&r&&(n=r.toLowerCase()),n===i},t.compareVersion=function(e){var t=[0],i=e,n=!1,r=this.getBrowserVersion();if("string"==typeof r)return">"===e[0]||"<"===e[0]?(i=e.substr(1),"="===e[1]?(n=!0,i=e.substr(2)):t=[],">"===e[0]?t.push(1):t.push(-1)):"="===e[0]?i=e.substr(1):"~"===e[0]&&(n=!0,i=e.substr(1)),t.indexOf(a.default.compareVersions(r,i,n))>-1},t.isOS=function(e){return this.getOSName(!0)===String(e).toLowerCase()},t.isPlatform=function(e){return this.getPlatformType(!0)===String(e).toLowerCase()},t.isEngine=function(e){return this.getEngineName(!0)===String(e).toLowerCase()},t.is=function(e,t){return void 0===t&&(t=!1),this.isBrowser(e,t)||this.isOS(e)||this.isPlatform(e)},t.some=function(e){var t=this;return void 0===e&&(e=[]),e.some(function(e){return t.is(e)})},e}();t.default=c,e.exports=t.default},92:function(e,t,i){"use strict";t.__esModule=!0,t.default=void 0;var n,r=(n=i(17))&&n.__esModule?n:{default:n},o=/version\/(\d+(\.?_?\d+)+)/i,s=[{test:[/googlebot/i],describe:function(e){var t={name:"Googlebot"},i=r.default.getFirstMatch(/googlebot\/(\d+(\.\d+))/i,e)||r.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/opera/i],describe:function(e){var t={name:"Opera"},i=r.default.getFirstMatch(o,e)||r.default.getFirstMatch(/(?:opera)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/opr\/|opios/i],describe:function(e){var t={name:"Opera"},i=r.default.getFirstMatch(/(?:opr|opios)[\s/](\S+)/i,e)||r.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:"Samsung Internet for Android"},i=r.default.getFirstMatch(o,e)||r.default.getFirstMatch(/(?:SamsungBrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/Whale/i],describe:function(e){var t={name:"NAVER Whale Browser"},i=r.default.getFirstMatch(o,e)||r.default.getFirstMatch(/(?:whale)[\s/](\d+(?:\.\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/MZBrowser/i],describe:function(e){var t={name:"MZ Browser"},i=r.default.getFirstMatch(/(?:MZBrowser)[\s/](\d+(?:\.\d+)+)/i,e)||r.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/focus/i],describe:function(e){var t={name:"Focus"},i=r.default.getFirstMatch(/(?:focus)[\s/](\d+(?:\.\d+)+)/i,e)||r.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/swing/i],describe:function(e){var t={name:"Swing"},i=r.default.getFirstMatch(/(?:swing)[\s/](\d+(?:\.\d+)+)/i,e)||r.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/coast/i],describe:function(e){var t={name:"Opera Coast"},i=r.default.getFirstMatch(o,e)||r.default.getFirstMatch(/(?:coast)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/opt\/\d+(?:.?_?\d+)+/i],describe:function(e){var t={name:"Opera Touch"},i=r.default.getFirstMatch(/(?:opt)[\s/](\d+(\.?_?\d+)+)/i,e)||r.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/yabrowser/i],describe:function(e){var t={name:"Yandex Browser"},i=r.default.getFirstMatch(/(?:yabrowser)[\s/](\d+(\.?_?\d+)+)/i,e)||r.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:"UC Browser"},i=r.default.getFirstMatch(o,e)||r.default.getFirstMatch(/(?:ucbrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/Maxthon|mxios/i],describe:function(e){var t={name:"Maxthon"}
vendor: 6,960 bytes, line 2138
2138,i=r.default.getFirstMatch(o,e)||r.default.getFirstMatch(/(?:Maxthon|mxios)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/epiphany/i],describe:function(e){var t={name:"Epiphany"},i=r.default.getFirstMatch(o,e)||r.default.getFirstMatch(/(?:epiphany)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/puffin/i],describe:function(e){var t={name:"Puffin"},i=r.default.getFirstMatch(o,e)||r.default.getFirstMatch(/(?:puffin)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/sleipnir/i],describe:function(e){var t={name:"Sleipnir"},i=r.default.getFirstMatch(o,e)||r.default.getFirstMatch(/(?:sleipnir)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/k-meleon/i],describe:function(e){var t={name:"K-Meleon"},i=r.default.getFirstMatch(o,e)||r.default.getFirstMatch(/(?:k-meleon)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/micromessenger/i],describe:function(e){var t={name:"WeChat"},i=r.default.getFirstMatch(/(?:micromessenger)[\s/](\d+(\.?_?\d+)+)/i,e)||r.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/qqbrowser/i],describe:function(e){var t={name:/qqbrowserlite/i.test(e)?"QQ Browser Lite":"QQ Browser"},i=r.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\d+(\.?_?\d+)+)/i,e)||r.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/msie|trident/i],describe:function(e){var t={name:"Internet Explorer"},i=r.default.getFirstMatch(/(?:msie |rv:)(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/\sedg\//i],describe:function(e){var t={name:"Microsoft Edge"},i=r.default.getFirstMatch(/\sedg\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/edg([ea]|ios)/i],describe:function(e){var t={name:"Microsoft Edge"},i=r.default.getSecondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/vivaldi/i],describe:function(e){var t={name:"Vivaldi"},i=r.default.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/seamonkey/i],describe:function(e){var t={name:"SeaMonkey"},i=r.default.getFirstMatch(/seamonkey\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/sailfish/i],describe:function(e){var t={name:"Sailfish"},i=r.default.getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i,e);return i&&(t.version=i),t}},{test:[/silk/i],describe:function(e){var t={name:"Amazon Silk"},i=r.default.getFirstMatch(/silk\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/phantom/i],describe:function(e){var t={name:"PhantomJS"},i=r.default.getFirstMatch(/phantomjs\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/slimerjs/i],describe:function(e){var t={name:"SlimerJS"},i=r.default.getFirstMatch(/slimerjs\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(e){var t={name:"BlackBerry"},i=r.default.getFirstMatch(o,e)||r.default.getFirstMatch(/blackberry[\d]+\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t={name:"WebOS Browser"},i=r.default.getFirstMatch(o,e)||r.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/bada/i],describe:function(e){var t={name:"Bada"},i=r.default.getFirstMatch(/dolfin\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/tizen/i],describe:function(e){var t={name:"Tizen"},i=r.default.getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.?_?\d+)+)/i,e)||r.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/qupzilla/i],describe:function(e){var t={name:"QupZilla"},i=r.default.getFirstMatch(/(?:qupzilla)[\s/](\d+(\.?_?\d+)+)/i,e)||r.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/firefox|iceweasel|fxios/i],describe:function(e){var t={name:"Firefox"},i=r.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/electron/i],describe:function(e){var t={name:"Electron"},i=r.default.getFirstMatch(/(?:electron)\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/MiuiBrowser/i],describe:function(e){var t={name:"Miui"},i=r.default.getFirstMatch(/(?:MiuiBrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/chromium/i],describe:function(e){var t={name:"Chromium"},i=r.default.getFirstMatch(/(?:chromium)[\s/](\d+(\.?_?\d+)+)/i,e)||r.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:"Chrome"},i=r.default.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/GSA/i],describe:function(e){var t={name:"Google Search"},i=r.default.getFirstMatch(/(?:GSA)\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:function(e){var t=!e.test(/like android/i),i=e.test(/android/i);return t&&i},describe:function(e){var t={name:"Android Browser"},i=r.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/playstation 4/i],describe:function(e){var t={name:"PlayStation 4"},i=r.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:"Safari"},i=r.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/.*/i],describe:function(e){var t=-1!==e.search("\\(")?/^(.*)\/(.*)[ \t]\((.*)/:/^(.*)\/(.*) /;return{name:r.default.getFirstMatch(t,e),version:r.default.getSecondMatch(t,e)}}}];t.default=s,e.exports=t.default},93:function(e,t,i){"use strict";t.__esModule=!0,t.default=void 0;var n,r=(n=i(17))&&n.__esModule?n:{default:n},o=i(18),s=[{test:[/Roku\/DVP/],describe:function(e){var t=r.default.getFirstMatch(/Roku\/DVP-(\d+\.\d+)/i,e);return{name:o.OS_MAP.Roku,version:t}}},{test:[/windows phone/i],describe:function(e){var t=r.default.getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i,e);return{name:o.OS_MAP.WindowsPhone,version:t}}},{test:[/windows /i],describe:function(e){var t=r.default.getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i,e),i=r.default.getWindowsVersionName(t);return{name:o.OS_MAP.Windows,version:t,versionName:i}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(e){var t={name:o.OS_MAP.iOS},i=r.default.getSecondMatch(/(Version\/)(\d[\d.]+)/,e);return i&&(t.version=i),t}},{test:[/macintosh/i],describe:function(e){var t=r.default.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i,e).replace(/[_\s]/g,"."),i=r.default.getMacOSVersionName(t),n={name:o.OS_MAP.MacOS,version:t};return i&&(n.versionName=i),n}},{test:[/(ipod|iphone|ipad)/i],describe:function(e){var t=r.default.getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i,e).replace(/[_\s]/g,".");return{name:o.OS_MAP.iOS,version:t}}},{test:function(e){var t=!e.test(/like android/i),i=e.test(/android/i);return t&&i},describe:function(e){var t=r.default.getFirstMatch(/android[\s/-](\d+(\.\d+)*)/i,e),i=r.default.getAndroidVersionName(t),n={name:o.OS_MAP.Android,version:t};return i&&(n.versionName=i),n}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t=r.default.getFirstMatch(/(?:web|hpw)[o0]s\/(\d+(\.\d+)*)/i,e),i={n
vendor: 6,925 bytes, line 2138
2138ame:o.OS_MAP.WebOS};return t&&t.length&&(i.version=t),i}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(e){var t=r.default.getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i,e)||r.default.getFirstMatch(/blackberry\d+\/(\d+([_\s]\d+)*)/i,e)||r.default.getFirstMatch(/\bbb(\d+)/i,e);return{name:o.OS_MAP.BlackBerry,version:t}}},{test:[/bada/i],describe:function(e){var t=r.default.getFirstMatch(/bada\/(\d+(\.\d+)*)/i,e);return{name:o.OS_MAP.Bada,version:t}}},{test:[/tizen/i],describe:function(e){var t=r.default.getFirstMatch(/tizen[/\s](\d+(\.\d+)*)/i,e);return{name:o.OS_MAP.Tizen,version:t}}},{test:[/linux/i],describe:function(){return{name:o.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:o.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(e){var t=r.default.getFirstMatch(/PlayStation 4[/\s](\d+(\.\d+)*)/i,e);return{name:o.OS_MAP.PlayStation4,version:t}}}];t.default=s,e.exports=t.default},94:function(e,t,i){"use strict";t.__esModule=!0,t.default=void 0;var n,r=(n=i(17))&&n.__esModule?n:{default:n},o=i(18),s=[{test:[/googlebot/i],describe:function(){return{type:"bot",vendor:"Google"}}},{test:[/huawei/i],describe:function(e){var t=r.default.getFirstMatch(/(can-l01)/i,e)&&"Nova",i={type:o.PLATFORMS_MAP.mobile,vendor:"Huawei"};return t&&(i.model=t),i}},{test:[/nexus\s*(?:7|8|9|10).*/i],describe:function(){return{type:o.PLATFORMS_MAP.tablet,vendor:"Nexus"}}},{test:[/ipad/i],describe:function(){return{type:o.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(){return{type:o.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/kftt build/i],describe:function(){return{type:o.PLATFORMS_MAP.tablet,vendor:"Amazon",model:"Kindle Fire HD 7"}}},{test:[/silk/i],describe:function(){return{type:o.PLATFORMS_MAP.tablet,vendor:"Amazon"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:o.PLATFORMS_MAP.tablet}}},{test:function(e){var t=e.test(/ipod|iphone/i),i=e.test(/like (ipod|iphone)/i);return t&&!i},describe:function(e){var t=r.default.getFirstMatch(/(ipod|iphone)/i,e);return{type:o.PLATFORMS_MAP.mobile,vendor:"Apple",model:t}}},{test:[/nexus\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:o.PLATFORMS_MAP.mobile,vendor:"Nexus"}}},{test:[/[^-]mobi/i],describe:function(){return{type:o.PLATFORMS_MAP.mobile}}},{test:function(e){return"blackberry"===e.getBrowserName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.mobile,vendor:"BlackBerry"}}},{test:function(e){return"bada"===e.getBrowserName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.mobile}}},{test:function(e){return"windows phone"===e.getBrowserName()},describe:function(){return{type:o.PLATFORMS_MAP.mobile,vendor:"Microsoft"}}},{test:function(e){var t=Number(String(e.getOSVersion()).split(".")[0]);return"android"===e.getOSName(!0)&&t>=3},describe:function(){return{type:o.PLATFORMS_MAP.tablet}}},{test:function(e){return"android"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.mobile}}},{test:function(e){return"macos"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.desktop,vendor:"Apple"}}},{test:function(e){return"windows"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.desktop}}},{test:function(e){return"linux"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.desktop}}},{test:function(e){return"playstation 4"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.tv}}},{test:function(e){return"roku"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.tv}}}];t.default=s,e.exports=t.default},95:function(e,t,i){"use strict";t.__esModule=!0,t.default=void 0;var n,r=(n=i(17))&&n.__esModule?n:{default:n},o=i(18),s=[{test:function(e){return"microsoft edge"===e.getBrowserName(!0)},describe:function(e){if(/\sedg\//i.test(e))return{name:o.ENGINE_MAP.Blink};var t=r.default.getFirstMatch(/edge\/(\d+(\.?_?\d+)+)/i,e);return{name:o.ENGINE_MAP.EdgeHTML,version:t}}},{test:[/trident/i],describe:function(e){var t={name:o.ENGINE_MAP.Trident},i=r.default.getFirstMatch(/trident\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:function(e){return e.test(/presto/i)},describe:function(e){var t={name:o.ENGINE_MAP.Presto},i=r.default.getFirstMatch(/presto\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:function(e){var t=e.test(/gecko/i),i=e.test(/like gecko/i);return t&&!i},describe:function(e){var t={name:o.ENGINE_MAP.Gecko},i=r.default.getFirstMatch(/gecko\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/(apple)?webkit\/537\.36/i],describe:function(){return{name:o.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(e){var t={name:o.ENGINE_MAP.WebKit},i=r.default.getFirstMatch(/webkit\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}}];t.default=s,e.exports=t.default}})},84880(e,t,i){"use strict";i.r(t),i.d(t,{BotInfo:()=>a,BrowserInfo:()=>r,NodeInfo:()=>o,ReactNativeInfo:()=>d,SearchBotDeviceInfo:()=>s,browserName:()=>f,detect:()=>h,detectOS:()=>g,getNodeVersion:()=>v,parseUserAgent:()=>m});var n=function(e,t,i){if(i||2===arguments.length)for(var n,r=0,o=t.length;r<o;r++)!n&&r in t||(n||(n=Array.prototype.slice.call(t,0,r)),n[r]=t[r]);return e.concat(n||Array.prototype.slice.call(t))},r=function(e,t,i){this.name=e,this.version=t,this.os=i,this.type="browser"},o=function(e){this.version=e,this.type="node",this.name="node",this.os=process.platform},s=function(e,t,i,n){this.name=e,this.version=t,this.os=i,this.bot=n,this.type="bot-device"},a=function(){this.type="bot",this.bot=!0,this.name="bot",this.version=null,this.os=null},d=function(){this.type="react-native",this.name="react-native",this.version=null,this.os=null},c=/(nuhk|curl|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\ Jeeves\/Teoma|ia_archiver)/,l=[["aol",/AOLShield\/([0-9\._]+)/],["edge",/Edge\/([0-9\._]+)/],["edge-ios",/EdgiOS\/([0-9\._]+)/],["yandexbrowser",/YaBrowser\/([0-9\._]+)/],["kakaotalk",/KAKAOTALK\s([0-9\.]+)/],["samsung",/SamsungBrowser\/([0-9\.]+)/],["silk",/\bSilk\/([0-9._-]+)\b/],["miui",/MiuiBrowser\/([0-9\.]+)$/],["beaker",/BeakerBrowser\/([0-9\.]+)/],["edge-chromium",/EdgA?\/([0-9\.]+)/],["chromium-webview",/(?!Chrom.*OPR)wv\).*Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["chrome",/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["phantomjs",/PhantomJS\/([0-9\.]+)(:?\s|$)/],["crios",/CriOS\/([0-9\.]+)(:?\s|$)/],["firefox",/Firefox\/([0-9\.]+)(?:\s|$)/],["fxios",/FxiOS\/([0-9\.]+)/],["opera-mini",/Opera Mini.*Version\/([0-9\.]+)/],["opera",/Opera\/([0-9\.]+)(?:\s|$)/],["opera",/OPR\/([0-9\.]+)(:?\s|$)/],["pie",/^Microsoft Pocket Internet Explorer\/(\d+\.\d+)$/],["pie",/^Mozilla\/\d\.\d+\s\(compatible;\s(?:MSP?IE|MSInternet Explorer) (\d+\.\d+);.*Windows CE.*\)$/],["netfront",/^Mozilla\/\d\.\d+.*NetFront\/(\d.\d)/],["ie",/Trident\/7\.0.*rv\:([0-9\.]+).*\).*Gecko$/],["ie",/MSIE\s([0-9\.]+);.*Trident\/[4-7].0/],["ie",/MSIE\s(7\.0)/],["bb10",/BB10;
2138\sTouch.*Version\/([0-9\.]+)/],["android",/Android\s([0-9\.]+)/],["ios",/Version\/([0-9\._]+).*Mobile.*Safari.*/],["safari",/Version\/([0-9\._]+).*Safari/],["facebook",/FB[AS]V\/([0-9\.]+)/],["instagram",/Instagram\s([0-9\.]+)/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Mobile/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Gecko\)$/],["curl",/^curl\/([0-9\.]+)$/],["searchbot",/alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/]],u=[["iOS",/iP(hone|od|ad)/],["Android OS",/Android/],["BlackBerry OS",/BlackBerry|BB10/],["Windows Mobile",/IEMobile/],["Amazon OS",/Kindle/],["Windows 3.11",/Win16/],["Windows 95",/(Windows 95)|(Win95)|(Windows_95)/],["Windows 98",/(Windows 98)|(Win98)/],["Windows 2000",/(Windows NT 5.0)|(Windows 2000)/],["Windows XP",/(Windows NT 5.1)|(Windows XP)/],["Windows Server 2003",/(Windows NT 5.2)/],["Windows Vista",/(Windows NT 6.0)/],["Windows 7",/(Windows NT 6.1)/],["Windows 8",/(Windows NT 6.2)/],["Windows 8.1",/(Windows NT 6.3)/],["Windows 10",/(Windows NT 10.0)/],["Windows ME",/Windows ME/],["Windows CE",/Windows CE|WinCE|Microsoft Pocket Internet Explorer/],["Open BSD",/OpenBSD/],["Sun OS",/SunOS/],["Chrome OS",/CrOS/],["Linux",/(Linux)|(X11)/],["Mac OS",/(Mac_PowerPC)|(Macintosh)/],["QNX",/QNX/],["BeOS",/BeOS/],["OS/2",/OS\/2/]];function h(e){return e?m(e):"undefined"==typeof document&&"undefined"!=typeof navigator&&"ReactNative"===navigator.product?new d:"undefined"!=typeof navigator?m(navigator.userAgent):v()}function p(e){return""!==e&&l.reduce(function(t,i){var n=i[0],r=i[1];if(t)return t;var o=r.exec(e);return!!o&&[n,o]},!1)}function f(e){var t=p(e);return t?t[0]:null}function m(e){var t=p(e);if(!t)return null;var i=t[0],o=t[1];if("searchbot"===i)return new a;var d=o[1]&&o[1].split(".").join("_").split("_").slice(0,3);d?d.length<3&&(d=n(n([],d,!0),function(e){for(var t=[],i=0;i<e;i++)t.push("0");return t}(3-d.length),!0)):d=[];var l=d.join("."),u=g(e),h=c.exec(e);return h&&h[1]?new s(i,l,u,h[1]):new r(i,l,u)}function g(e){for(var t=0,i=u.length;t<i;t++){var n=u[t],r=n[0];if(n[1].exec(e))return r}return null}function v(){return"undefined"!=typeof process&&process.version?new o(process.version.slice(1)):null}},21664(e){"use strict";var t=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},i=0;i<10;i++)t["_"+String.fromCharCode(i)]=i;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach(function(e){n[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(e){return!1}}()?Object.assign:function(e,r){for(var o,s,a=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),d=1;d<arguments.length;d++){for(var c in o=Object(arguments[d]))i.call(o,c)&&(a[c]=o[c]);if(t){s=t(o);for(var l=0;l<s.length;l++)n.call(o,s[l])&&(a[s[l]]=o[s[l]])}}return a}},53048(e,t,i){"use strict";const{Deflate:n,deflate:r,deflateRaw:o,gzip:s}=i(76579),{Inflate:a,inflate:d,inflateRaw:c,ungzip:l}=i(80399),u=i(78717);e.exports.Deflate=n,e.exports.deflate=r,e.exports.deflateRaw=o,e.exports.gzip=s,e.exports.Inflate=a,e.exports.inflate=d,e.exports.inflateRaw=c,e.exports.ungzip=l,e.exports.constants=u},76579(e,t,i){"use strict";const n=i(11679),r=i(92937),o=i(46832),s=i(38990),a=i(19222),d=Object.prototype.toString,{Z_NO_FLUSH:c,Z_SYNC_FLUSH:l,Z_FULL_FLUSH:u,Z_FINISH:h,Z_OK:p,Z_STREAM_END:f,Z_DEFAULT_COMPRESSION:m,Z_DEFAULT_STRATEGY:g,Z_DEFLATED:v}=i(78717);function b(e){this.options=r.assign({level:m,method:v,chunkSize:16384,windowBits:15,memLevel:8,strategy:g},e||{});let t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new a,this.strm.avail_out=0;let i=n.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(i!==p)throw new Error(s[i]);if(t.header&&n.deflateSetHeader(this.strm,t.header),t.dictionary){let e;if(e="string"==typeof t.dictionary?o.string2buf(t.dictionary):"[object ArrayBuffer]"===d.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,i=n.deflateSetDictionary(this.strm,e),i!==p)throw new Error(s[i]);this._dict_set=!0}}function y(e,t){const i=new b(t);if(i.push(e,!0),i.err)throw i.msg||s[i.err];return i.result}b.prototype.push=function(e,t){const i=this.strm,r=this.options.chunkSize;let s,a;if(this.ended)return!1;for(a=t===~~t?t:!0===t?h:c,"string"==typeof e?i.input=o.string2buf(e):"[object ArrayBuffer]"===d.call(e)?i.input=new
vendor: 40,330 bytes, line 2138
2138Uint8Array(e):i.input=e,i.next_in=0,i.avail_in=i.input.length;;)if(0===i.avail_out&&(i.output=new Uint8Array(r),i.next_out=0,i.avail_out=r),(a===l||a===u)&&i.avail_out<=6)this.onData(i.output.subarray(0,i.next_out)),i.avail_out=0;else{if(s=n.deflate(i,a),s===f)return i.next_out>0&&this.onData(i.output.subarray(0,i.next_out)),s=n.deflateEnd(this.strm),this.onEnd(s),this.ended=!0,s===p;if(0!==i.avail_out){if(a>0&&i.next_out>0)this.onData(i.output.subarray(0,i.next_out)),i.avail_out=0;else if(0===i.avail_in)break}else this.onData(i.output)}return!0},b.prototype.onData=function(e){this.chunks.push(e)},b.prototype.onEnd=function(e){e===p&&(this.result=r.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},e.exports.Deflate=b,e.exports.deflate=y,e.exports.deflateRaw=function(e,t){return(t=t||{}).raw=!0,y(e,t)},e.exports.gzip=function(e,t){return(t=t||{}).gzip=!0,y(e,t)},i(78717)},80399(e,t,i){"use strict";const n=i(85347),r=i(92937),o=i(46832),s=i(38990),a=i(19222),d=i(6738),c=Object.prototype.toString,{Z_NO_FLUSH:l,Z_FINISH:u,Z_OK:h,Z_STREAM_END:p,Z_NEED_DICT:f,Z_STREAM_ERROR:m,Z_DATA_ERROR:g,Z_MEM_ERROR:v}=i(78717);function b(e){this.options=r.assign({chunkSize:65536,windowBits:15,to:""},e||{});const t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(15&t.windowBits||(t.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new a,this.strm.avail_out=0;let i=n.inflateInit2(this.strm,t.windowBits);if(i!==h)throw new Error(s[i]);if(this.header=new d,n.inflateGetHeader(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=o.string2buf(t.dictionary):"[object ArrayBuffer]"===c.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(i=n.inflateSetDictionary(this.strm,t.dictionary),i!==h)))throw new Error(s[i])}function y(e,t){const i=new b(t);if(i.push(e),i.err)throw i.msg||s[i.err];return i.result}b.prototype.push=function(e,t){const i=this.strm,r=this.options.chunkSize,s=this.options.dictionary;let a,d,b;if(this.ended)return!1;for(d=t===~~t?t:!0===t?u:l,"[object ArrayBuffer]"===c.call(e)?i.input=new Uint8Array(e):i.input=e,i.next_in=0,i.avail_in=i.input.length;;){for(0===i.avail_out&&(i.output=new Uint8Array(r),i.next_out=0,i.avail_out=r),a=n.inflate(i,d),a===f&&s&&(a=n.inflateSetDictionary(i,s),a===h?a=n.inflate(i,d):a===g&&(a=f));i.avail_in>0&&a===p&&i.state.wrap>0&&0!==e[i.next_in];)n.inflateReset(i),a=n.inflate(i,d);switch(a){case m:case g:case f:case v:return this.onEnd(a),this.ended=!0,!1}if(b=i.avail_out,i.next_out&&(0===i.avail_out||a===p))if("string"===this.options.to){let e=o.utf8border(i.output,i.next_out),t=i.next_out-e,n=o.buf2string(i.output,e);i.next_out=t,i.avail_out=r-t,t&&i.output.set(i.output.subarray(e,e+t),0),this.onData(n)}else this.onData(i.output.length===i.next_out?i.output:i.output.subarray(0,i.next_out));if(a!==h||0!==b){if(a===p)return a=n.inflateEnd(this.strm),this.onEnd(a),this.ended=!0,!0;if(0===i.avail_in)break}}return!0},b.prototype.onData=function(e){this.chunks.push(e)},b.prototype.onEnd=function(e){e===h&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=r.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},e.exports.Inflate=b,e.exports.inflate=y,e.exports.inflateRaw=function(e,t){return(t=t||{}).raw=!0,y(e,t)},e.exports.ungzip=y,i(78717)},92937(e){"use strict";const t=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);e.exports.assign=function(e){const i=Array.prototype.slice.call(arguments,1);for(;i.length;){const n=i.shift();if(n){if("object"!=typeof n)throw new TypeError(n+"must be non-object");for(const i in n)t(n,i)&&(e[i]=n[i])}}return e},e.exports.flattenChunks=e=>{let t=0;for(let i=0,n=e.length;i<n;i++)t+=e[i].length;const i=new Uint8Array(t);for(let t=0,n=0,r=e.length;t<r;t++){let r=e[t];i.set(r,n),n+=r.length}return i}},46832(e){"use strict";let t=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){t=!1}const i=new Uint8Array(256);for(let e=0;e<256;e++)i[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;i[254]=i[254]=1,e.exports.string2buf=e=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(e);let t,i,n,r,o,s=e.length,a=0;for(r=0;r<s;r++)i=e.charCodeAt(r),55296==(64512&i)&&r+1<s&&(n=e.charCodeAt(r+1),56320==(64512&n)&&(i=65536+(i-55296<<10)+(n-56320),r++)),a+=i<128?1:i<2048?2:i<65536?3:4;for(t=new Uint8Array(a),o=0,r=0;o<a;r++)i=e.charCodeAt(r),55296==(64512&i)&&r+1<s&&(n=e.charCodeAt(r+1),56320==(64512&n)&&(i=65536+(i-55296<<10)+(n-56320),r++)),i<128?t[o++]=i:i<2048?(t[o++]=192|i>>>6,t[o++]=128|63&i):i<65536?(t[o++]=224|i>>>12,t[o++]=128|i>>>6&63,t[o++]=128|63&i):(t[o++]=240|i>>>18,t[o++]=128|i>>>12&63,t[o++]=128|i>>>6&63,t[o++]=128|63&i);return t},e.exports.buf2string=(e,n)=>{const r=n||e.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(e.subarray(0,n));let o,s;const a=new Array(2*r);for(s=0,o=0;o<r;){let t=e[o++];if(t<128){a[s++]=t;continue}let n=i[t];if(n>4)a[s++]=65533,o+=n-1;else{for(t&=2===n?31:3===n?15:7;n>1&&o<r;)t=t<<6|63&e[o++],n--;n>1?a[s++]=65533:t<65536?a[s++]=t:(t-=65536,a[s++]=55296|t>>10&1023,a[s++]=56320|1023&t)}}return((e,i)=>{if(i<65534&&e.subarray&&t)return String.fromCharCode.apply(null,e.length===i?e:e.subarray(0,i));let n="";for(let t=0;t<i;t++)n+=String.fromCharCode(e[t]);return n})(a,s)},e.exports.utf8border=(e,t)=>{(t=t||e.length)>e.length&&(t=e.length);let n=t-1;for(;n>=0&&128==(192&e[n]);)n--;return n<0||0===n?t:n+i[e[n]]>t?n:t}},71697(e){"use strict";e.exports=(e,t,i,n)=>{let r=65535&e,o=e>>>16&65535,s=0;for(;0!==i;){s=i>2e3?2e3:i,i-=s;do{r=r+t[n++]|0,o=o+r|0}while(--s);r%=65521,o%=65521}return r|o<<16}},78717(e){"use strict";e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},90731(e){"use strict";const t=new Uint32Array((()=>{let e,t=[];for(var i=0;i<256;i++){e=i;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[i]=e}return t})());e.exports=(e,i,n,r)=>{const o=t,s=r+n;e^=-1;for(let t=r;t<s;t++)e=e>>>8^o[255&(e^i[t])];return-1^e}},11679(e,t,i){"use strict";const{_tr_init:n,_tr_stored_block:r,_tr_flush_block:o,_tr_tally:s,_tr_align:a}=i(85805),d=i(71697),c=i(90731),l=i(38990),{Z_NO_FLUSH:u,Z_PARTIAL_FLUSH:h,Z_FULL_FLUSH:p,Z_FINISH:f,Z_BLOCK:m,Z_OK:g,Z_STREAM_END:v,Z_STREAM_ERROR:b,Z_DATA_ERROR:y,Z_BUF_ERROR:S,Z_DEFAULT_COMPRESSION:w,Z_FILTERED:C,Z_HUFFMAN_ONLY:k,Z_RLE:E,Z_FIXED:T,Z_DEFAULT_STRATEGY:I,Z_UNKNOWN:x,Z_DEFLATED:A}=i(78717),P=258,O=262,_=42,M=113,R=666,D=(e,t)=>(e.msg=l[t],t),F=e=>2*e-(e>4?9:0),L=e=>{let t=e.length;for(;--t>=0;)e[t]=0},N=e=>{let t,i,n,r=e.w_size;t=e.hash_size,n=t;do{i=e.head[--n],e.head[n]=i>=r?i-r:0}while(--t);t=r,n=t;do{i=e.prev[--n],e.prev[n]=i>=r?i-r:0}while(--t)};let B=(e,t,i)=>(t<<e.hash_shift^i)&e.hash_mask;const V=e=>{const t=e.state;let i=t.pending;i>e.avail_out&&(i=e.avail_out),0!==i&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+i),e.next_out),e.next_out+=i,t.pending_out+=i,e.total_out+=i,e.avail_out-=i,t.pending-=i,0===t.pending&&(t.pending_out=0))},U=(e,t)=>{o(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,V(e.strm)},j=(e,t)=>{e.pending_buf[e.pending++]=t},z=(e,t)=>{e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t},$=(e,t,i,n)=>{let r=e.avail_in;return r>n&&(r=n),0===r?0:(e.avail_in-=r,t.set(e.input.subarray(e.next_in,e.next_in+r),i),1===e.state.wrap?e.adler=d(e.adler,t,r,i):2===e.state.wrap&&(e.adler=c(e.adler,t,r,i)),e.next_in+=r,e.total_in+=r,r)},H=(e,t)=>{let i,n,r=e.max_chain_length,o=e.strstart,s=e.prev_length,a=e.nice_match;const d=e.strstart>e.w_size-O?e.strstart-(e.w_size-O):0,c=e.window,l=e.w_mask,u=e.prev,h=e.strstart+P;let p=c[o+s-1],f=c[o+s];e.prev_length>=e.good_match&&(r>>=2),a>e.lookahead&&(a=e.lookahead);do{if(i=t,c[i+s]===f&&c[i+s-1]===p&&c[i]===c[o]&&c[++i]===c[o+1]){o+=2,i++;do{}while(c[++o]===c[++i]&&c[++o]===c[++i]&&c[++o]===c[++i]&&c[++o]===c[++i]&&c[++o]===c[++i]&&c[++o]===c[++i]&&c[++o]===c[++i]&&c[++o]===c[++i]&&o<h);if(n=P-(h-o),o=h-P,n>s){if(e.match_start=t,s=n,n>=a)break;p=c[o+s-1],f=c[o+s]}}}while((t=u[t&l])>d&&0!==--r);return s<=e.lookahead?s:e.lookahead},W=e=>{const t=e.w_size;let i,n,r;do{if(n=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-O)&&(e.window.set(e.window.subarray(t,t+t-n),0),e.match_start-=t,e.strstart-=t,e.block_start-=t,e.insert>e.strstart&&(e.insert=e.strstart),N(e),n+=t),0===e.strm.avail_in)break;if(i=$(e.strm,e.window,e.strstart+e.lookahead,n),e.lookahead+=i,e.lookahead+e.insert>=3)for(r=e.strstart-e.insert,e.ins_h=e.window[r],e.ins_h=B(e,e.ins_h,e.window[r+1]);e.insert&&(e.ins_h=B(e,e.ins_h,e.window[r+3-1]),e.prev[r&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=r,r++,e.insert--,!(e.lookahead+e.insert<3)););}while(e.lookahead<O&&0!==e.strm.avail_in)},q=(e,t)=>{let i,n,o,s=e.pending_buf_size-5>e.w_size?e.w_size:e.pending_buf_size-5,a=0,d=e.strm.avail_in;do{if(i=65535,o=e.bi_valid+42>>3,e.strm.avail_out<o)break;if(o=e.strm.avail_out-o,n=e.strstart-e.block_start,i>n+e.strm.avail_in&&(i=n+e.strm.avail_in),i>o&&(i=o),i<s&&(0===i&&t!==f||t===u||i!==n+e.strm.avail_in))break;a=t===f&&i===n+e.strm.avail_in?1:0,r(e,0,0,a),e.pending_buf[e.pending-4]=i,e.pending_buf[e.pending-3]=i>>8,e.pending_buf[e.pending-2]=~i,e.pending_buf[e.pending-1]=~i>>8,V(e.strm),n&&(n>i&&(n=i),e.strm.output.set(e.window.subarray(e.block_start,e.block_start+n),e.strm.next_out),e.strm.next_out+=n,e.strm.avail_out-=n,e.strm.total_out+=n,e.block_start+=n,i-=n),i&&($(e.strm,e.strm.output,e.strm.next_out,i),e.strm.next_out+=i,e.strm.avail_out-=i,e.strm.total_out+=i)}while(0===a);return d-=e.strm.avail_in,d&&(d>=e.w_size?(e.matches=2,e.window.set(e.strm.input.subarray(e.strm.next_in-e.w_size,e.strm.next_in),0),e.strstart=e.w_size,e.insert=e.strstart):(e.window_size-e.strstart<=d&&(e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,e.insert>e.strstart&&(e.insert=e.strstart)),e.window.set(e.strm.input.subarray(e.strm.next_in-d,e.strm.next_in),e.strstart),e.strstart+=d,e.insert+=d>e.w_size-e.insert?e.w_size-e.insert:d),e.block_start=e.strstart),e.high_water<e.strstart&&(e.high_water=e.strstart),a?4:t!==u&&t!==f&&0===e.strm.avail_in&&e.strstart===e.block_start?2:(o=e.window_size-e.strstart,e.strm.avail_in>o&&e.block_start>=e.w_size&&(e.block_start-=e.w_size,e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,o+=e.w_size,e.insert>e.strstart&&(e.insert=e.strstart)),o>e.strm.avail_in&&(o=e.strm.avail_in),o&&($(e.strm,e.window,e.strstart,o),e.strstart+=o,e.insert+=o>e.w_size-e.insert?e.w_size-e.insert:o),e.high_water<e.strstart&&(e.high_water=e.strstart),o=e.bi_valid+42>>3,o=e.pending_buf_size-o>65535?65535:e.pending_buf_size-o,s=o>e.w_size?e.w_size:o,n=e.strstart-e.block_start,(n>=s||(n||t===f)&&t!==u&&0===e.strm.avail_in&&n<=o)&&(i=n>o?o:n,a=t===f&&0===e.strm.avail_in&&i===n?1:0,r(e,e.block_start,i,a),e.block_start+=i,V(e.strm)),a?3:1)},K=(e,t)=>{let i,n;for(;;){if(e.lookahead<O){if(W(e),e.lookahead<O&&t===u)return 1;if(0===e.lookahead)break}if(i=0,e.lookahead>=3&&(e.ins_h=B(e,e.ins_h,e.window[e.strstart+3-1]),i=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==i&&e.strstart-i<=e.w_size-O&&(e.match_length=H(e,i)),e.match_length>=3)if(n=s(e,e.strstart-e.match_start,e.match_length-3),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=3){e.match_length--;do{e.strstart++,e.ins_h=B(e,e.ins_h,e.window[e.strstart+3-1]),i=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart}while(0!==--e.match_length);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=B(e,e.ins_h,e.window[e.strstart+1]);else n=s(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(U(e,!1),0===e.strm.avail_out))return 1}return e.insert=e.strstart<2?e.strstart:2,t===f?(U(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(U(e,!1),0===e.strm.avail_out)?1:2},G=(e,t)=>{let i,n,r;for(;;){if(e.lookahead<O){if(W(e),e.lookahead<O&&t===u)return 1;if(0===e.lookahead)break}if(i=0,e.lookahead>=3&&(e.ins_h=B(e,e.ins_h,e.window[e.strstart+3-1]),i=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=2,0!==i&&e.prev_length<e.max_lazy_match&&e.strstart-i<=e.w_size-O&&(e.match_length=H(e,i),e.match_length<=5&&(e.strategy===C||3===e.match_length&&e.strstart-e.match_start>4096)&&(e.match_length=2)),e.prev_length>=3&&e.match_length<=e.prev_length){r=e.strstart+e.lookahead-3,n=s(e,e.strstart-1-e.prev_match,e.prev_length-3),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=r&&(e.ins_h=B(e,e.ins_h,e.window[e.strstart+3-1]),i=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart)}while(0!==--e.prev_length);if(e.match_available=0,e.match_length=2,e.strstart++,n&&(U(e,!1),0===e.strm.avail_out))return 1}else if(e.match_available){if(n=s(e,0,e.window[e.strstart-1]),n&&U(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return 1}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(n=s(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<2?e.strstart:2,t===f?(U(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(U(e,!1),0===e.strm.avail_out)?1:2};function J(e,t,i,n,r){this.good_length=e,this.max_lazy=t,this.nice_length=i,this.max_chain=n,this.func=r}const Q=[new J(0,0,0,0,q),new J(4,4,8,4,K),new J(4,5,16,8,K),new J(4,6,32,32,K),new J(4,4,16,16,G),new J(8,16,32,32,G),new J(8,16,128,128,G),new J(8,32,128,256,G),new J(32,128,258,1024,G),new J(32,258,258,4096,G)];function X(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=A,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),L(this.dyn_ltree),L(this.dyn_dtree),L(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),L(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),L(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const Z=e=>{if(!e)return 1;const t=e.state;return!t||t.strm!==e||t.status!==_&&57!==t.status&&69!==t.status&&73!==t.status&&91!==t.status&&103!==t.status&&t.status!==M&&t.status!==R?1:0},Y=e=>{if(Z(e))return D(e,b);e.total_in=e.total_out=0,e.data_type=x;const t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=2===t.wrap?57:t.wrap?_:M,e.adler=2===t.wrap?0:1,t.last_flush=-2,n(t),g},ee=e=>{const t=Y(e);var i;return t===g&&((i=e.state).window_size=2*i.w_size,L(i.head),i.max_lazy_match=Q[i.level].max_lazy,i.good_match=Q[i.level].good_length,i.nice_match=Q[i.level].nice_length,i.max_chain_length=Q[i.level].max_chain,i.strstart=0,i.block_start=0,i.lookahead=0,i.insert=0,i.match_length=i.prev_length=2,i.match_available=0,i.ins_h=0),t},te=(e,t,i,n,r,o)=>{if(!e)return b;let s=1;if(t===w&&(t=6),n<0?(s=0,n=-n):n>15&&(s=2,n-=16),r<1||r>9||i!==A||n<8||n>15||t<0||t>9||o<0||o>T||8===n&&1!==s)return D(e,b);8===n&&(n=9);const a=new X;return e.state=a,a.strm=e,a.status=_,a.wrap=s,a.gzhead=null,a.w_bits=n,a.w_size=1<<a.w_bits,a.w_mask=a.w_size-1,a.hash_bits=r+7,a.hash_size=1<<a.hash_bits,a.hash_mask=a.hash_size-1,a.hash_shift=~~((a.hash_bits+3-1)/3),a.window=new Uint8Array(2*a.w_size),a.head=new Uint16Array(a.hash_size),a.prev=new Uint16Array(a.w_size),a.lit_bufsize=1<<r+6,a.pending_buf_size=4*a.lit_bufsize,a.pending_buf=new Uint8Array(a.pending_buf_size),a.sym_buf=a.lit_bufsize,a.sym_end=3*(a.lit_bufsize-1),a.level=t,a.strategy=o,a.method=i,ee(e)};e.exports.deflateInit=(e,t)=>te(e,t,A,15,8,I),e.exports.deflateInit2=te,e.exports.deflateReset=ee,e.exports.deflateResetKeep=Y,e.exports.deflateSetHeader=(e,t)=>Z(e)||2!==e.state.wrap?b:(e.state.gzhead=t,g),e.exports.deflate=(e,t)=>{if(Z(e)||t>m||t<0)return e?D(e,b):b;const i=e.state;if(!e.output||0!==e.avail_in&&!e.input||i.status===R&&t!==f)return D(e,0===e.avail_out?S:b);const n=i.last_flush;if(i.last_flush=t,0!==i.pending){if(V(e),0===e.avail_out)return i.last_flush=-1,g}else if(0===e.avail_in&&F(t)<=F(n)&&t!==f)return D(e,S);if(i.status===R&&0!==e.avail_in)return D(e,S);if(i.status===_&&0===i.wrap&&(i.status=M),i.status===_){let t=A+(i.w_bits-8<<4)<<8,n=-1;if(n=i.strategy>=k||i.level<2?0:i.level<6?1:6===i.level?2:3,t|=n<<6,0!==i.strstart&&(t|=32),t+=31-t%31,z(i,t),0!==i.strstart&&(z(i,e.adler>>>16),z(i,65535&e.adler)),e.adler=1,i.status=M,V(e),0!==i.pending)return i.last_flush=-1,g}if(57===i.status)if(e.adler=0,j(i,31),j(i,139),j(i,8),i.gzhead)j(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),j(i,255&i.gzhead.time),j(i,i.gzhead.time>>8&255),j(i,i.gzhead.time>>16&255),j(i,i.gzhead.time>>24&255),j(i,9===i.level?2:i.strategy>=k||i.level<2?4:0),j(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(j(i,255&i.gzhead.extra.length),j(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(e.adler=c(e.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=69;else if(j(i,0),j(i,0),j(i,0),j(i,0),j(i,0),j(i,9===i.level?2:i.strategy>=k||i.level<2?4:0),j(i,3),i.status=M,V(e),0!==i.pending)return i.last_flush=-1,g;if(69===i.status){if(i.gzhead.extra){let t=i.pending,n=(65535&i.gzhead.extra.length)-i.gzindex;for(;i.pending+n>i.pending_buf_size;){let r=i.pending_buf_size-i.pending;if(i.pending_buf.set(i.gzhead.extra.subarray(i.gzindex,i.gzindex+r),i.pending),i.pending=i.pending_buf_size,i.gzhead.hcrc&&i.pending>t&&(e.adler=c(e.adler,i.pending_buf,i.pending-t,t)),i.gzindex+=r,V(e),0!==i.pending)return i.last_flush=-1,g;t=0,n-=r}let r=new Uint8Array(i.gzhead.extra);i.pending_buf.set(r.subarray(i.gzindex,i.gzindex+n),i.pending),i.pending+=n,i.gzhead.hcrc&&i.pending>t&&(e.adler=c(e.adler,i.pending_buf,i.pending-t,t)),i.gzindex=0}i.status=73}if(73===i.status){if(i.gzhead.name){let t,n=i.pending;do{if(i.pending===i.pending_buf_size){if(i.gzhead.hcrc&&i.pending>n&&(e.adler=c(e.adler,i.pending_buf,i.pending-n,n)),V(e),0!==i.pending)return i.last_flush=-1,g;n=0}t=i.gzindex<i.gzhead.name.length?255&i.gzhead.name.charCodeAt(i.gzindex++):0,j(i,t)}while(0!==t);i.gzhead.hcrc&&i.pending>n&&(e.adler=c(e.adler,i.pending_buf,i.pending-n,n)),i.gzindex=0}i.status=91}if(91===i.status){if(i.gzhead.comment){let t,n=i.pending;do{if(i.pending===i.pending_buf_size){if(i.gzhead.hcrc&&i.pending>n&&(e.adler=c(e.adler,i.pending_buf,i.pending-n,n)),V(e),0!==i.pending)return i.last_flush=-1,g;n=0}t=i.gzindex<i.gzhead.comment.length?255&i.gzhead.comment.charCodeAt(i.gzindex++):0,j(i,t)}while(0!==t);i.gzhead.hcrc&&i.pending>n&&(e.adler=c(e.adler,i.pending_buf,i.pending-n,n))}i.status=103}if(103===i.status){if(i.gzhead.hcrc){if(i.pending+2>i.pending_buf_size&&(V(e),0!==i.pending))return i.last_flush=-1,g;j(i,255&e.adler),j(i,e.adler>>8&255),e.adler=0}if(i.status=M,V(e),0!==i.pending)return i.last_flush=-1,g}if(0!==e.avail_in||0!==i.lookahead||t!==u&&i.status!==R){let n=0===i.level?q(i,t):i.strategy===k?((e,t)=>{let i;for(;;){if(0===e.lookahead&&(W(e),0===e.lookahead)){if(t===u)return 1;break}if(e.match_length=0,i=s(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,i&&(U(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,t===f?(U(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(U(e,!1),0===e.strm.avail_out)?1:2})(i,t):i.strategy===E?((e,t)=>{let i,n,r,o;const a=e.window;for(;;){if(e.lookahead<=P){if(W(e),e.lookahead<=P&&t===u)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=3&&e.strstart>0&&(r=e.strstart-1,n=a[r],n===a[++r]&&n===a[++r]&&n===a[++r])){o=e.strstart+P;do{}while(n===a[++r]&&n===a[++r]&&n===a[++r]&&n===a[++r]&&n===a[++r]&&n===a[++r]&&n===a[++r]&&n===a[++r]&&r<o);e.match_length=P-(o-r),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=3?(i=s(e,1,e.match_length-3),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(i=s(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),i&&(U(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,t===f?(U(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(U(e,!1),0===e.strm.avail_out)?1:2})(i,t):Q[i.level].func(i,t);if(3!==n&&4!==n||(i.status=R),1===n||3===n)return 0===e.avail_out&&(i.last_flush=-1),g;if(2===n&&(t===h?a(i):t!==m&&(r(i,0,0,!1),t===p&&(L(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),V(e),0===e.avail_out))return i.last_flush=-1,g}return t!==f?g:i.wrap<=0?v:(2===i.wrap?(j(i,255&e.adler),j(i,e.adler>>8&255),j(i,e.adler>>16&255),j(i,e.adler>>24&255),j(i,255&e.total_in),j(i,e.total_in>>8&255),j(i,e.total_in>>16&255),j(i,e.total_in>>24&255)):(z(i,e.adler>>>16),z(i,65535&e.adler)),V(e),i.wrap>0&&(i.wrap=-i.wrap),0!==i.pending?g:v)},e.exports.deflateEnd=e=>{if(Z(e))return b;const t=e.state.status;return e.state=null,t===M?D(e,y):g},e.exports.deflateSetDictionary=(e,t)=>{let i=t.length;if(Z(e))return b;const n=e.state,r=n.wrap;if(2===r||1===r&&n.status!==_||n.lookahead)return b;if(1===r&&(e.adler=d(e.adler,t,i,0)),n.wrap=0,i>=n.w_size){0===r&&(L(n.head),n.strstart=0,n.block_start=0,n.insert=0);let e=new Uint8Array(n.w_size);e.set(t.subarray(i-n.w_size,i),0),t=e,i=n.w_size}const o=e.avail_in,s=e.next_in,a=e.input;for(e.avail_in=i,e.next_in=0,e.input=t,W(n);n.lookahead>=3;){let e=n.strstart,t=n.lookahead-2;do{n.ins_h=B(n,n.ins_h,n.window[e+3-1]),n.prev[e&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=e,e++}while(--t);n.strstart=e,n.lookahead=2,W(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=2,n.match_available=0,e.next_in=s,e.input=a,e.avail_in=o,n.wrap=r,g},e.exports.deflateInfo="pako deflate (from Nodeca project)"},6738(e){"use strict";e.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},38353(e){"use strict";const t=16209;e.exports=function(e,i){let n,r,o,s,a,d,c,l,u,h,p,f,m,g,v,b,y,S,w,C,k,E,T,I;const x=e.state;n=e.next_in,T=e.input,r=n+(e.avail_in-5),o=e.next_out,I=e.output,s=o-(i-e.avail_out),a=o+(e.avail_out-257),d=x.dmax,c=x.wsize,l=x.whave,u=x.wnext,h=x.window,p=x.hold,f=x.bits,m=x.lencode,g=x.distcode,v=(1<<x.lenbits)-1,b=(1<<x.distbits)-1;e:do{f<15&&(p+=T[n++]<<f,f+=8,p+=T[n++]<<f,f+=8),y=m[p&v];t:for(;;){if(S=y>>>24,p>>>=S,f-=S,S=y>>>16&255,0===S)I[o++]=65535&y;else{if(!(16&S)){if(64&S){if(32&S){x.mode=16191;break e}e.msg="invalid literal/length code",x.mode=t;break e}y=m[(65535&y)+(p&(1<<S)-1)];continue t}for(w=65535&y,S&=15,S&&(f<S&&(p+=T[n++]<<f,f+=8),w+=p&(1<<S)-1,p>>>=S,f-=S),f<15&&(p+=T[n++]<<f,f+=8,p+=T[n++]<<f,f+=8),y=g[p&b];;){if(S=y>>>24,p>>>=S,f-=S,S=y>>>16&255,16&S){if(C=65535&y,S&=15,f<S&&(p+=T[n++]<<f,f+=8,f<S&&(p+=T[n++]<<f,f+=8)),C+=p&(1<<S)-1,C>d){e.msg="invalid distance too far back",x.mode=t;break e}if(p>>>=S,f-=S,S=o-s,C>S){if(S=C-S,S>l&&x.sane){e.msg="invalid distance too far back",x.mode=t;break e}if(k=0,E=h,0===u){if(k+=c-S,S<w){w-=S;do{I[o++]=h[k++]}while(--S);k=o-C,E=I}}else if(u<S){if(k+=c+u-S,S-=u,S<w){w-=S;do{I[o++]=h[k++]}while(--S);if(k=0,u<w){S=u,w-=S;do{I[o++]=h[k++]}while(--S);k=o-C,E=I}}}else if(k+=u-S,S<w){w-=S;do{I[o++]=h[k++]}while(--S);k=o-C,E=I}for(;w>2;)I[o++]=E[k++],I[o++]=E[k++],I[o++]=E[k++],w-=3;w&&(I[o++]=E[k++],w>1&&(I[o++]=E[k++]))}else{k=o-C;do{I[o++]=I[k++],I[o++]=I[k++],I[o++]=I[k++],w-=3}while(w>2);w&&(I[o++]=I[k++],w>1&&(I[o++]=I[k++]))}break}if(64&S){e.msg="invalid distance code",x.mode=t;break e}y=g[(65535&y)+(p&(1<<S)-1)]}}break}}while(n<r&&o<a);w=f>>3,n-=w,f-=w<<3,p&=(1<<f)-1,e.next_in=n,e.next_out=o,e.avail_in=n<r?r-n+5:5-(n-r),e.avail_out=o<a?a-o+257:257-(o-a),x.hold=p,x.bits=f}},85347(e,t,i){"use strict";const n=i(71697),r=i(90731),o=i(38353),s=i(40274),{Z_FINISH:a,Z_BLOCK:d,Z_TREES:c,Z_OK:l,Z_STREAM_END:u,Z_NEED_DICT:h,Z_STREAM_ERROR:p,Z_DATA_ERROR:f,Z_MEM_ERROR:m,Z_BUF_ERROR:g,Z_DEFLATED:v}=i(78717),b=16180,y=16190,S=16191,w=16192,C=16194,k=16199,E=16200,T=16206,I=16209,x=16210,A=e=>(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24);function P(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const O=e=>{if(!e)return 1;const t=e.state;return!t||t.strm!==e||t.mode<b||t.mode>16211?1:0},_=e=>{if(O(e))return p;const t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=b,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(852),t.distcode=t.distdyn=new Int32Array(592),t.sane=1,t.back=-1,l},M=e=>{if(O(e))return p;const t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,_(e)},R=(e,t)=>{let i;if(O(e))return p;const n=e.state;return t<0?(i=0,t=-t):(i=5+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?p:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=i,n.wbits=t,M(e))},D=(e,t)=>{if(!e)return p;const i=new P;e.state=i,i.strm=e,i.window=null,i.mode=b;const n=R(e,t);return n!==l&&(e.state=null),n};let F,L,N=!0;const B=e=>{if(N){F=new Int32Array(512),L=new Int32Array(32);let t=0;for(;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(s(1,e.lens,0,288,F,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;s(2,e.lens,0,32,L,0,e.work,{bits:5}),N=!1}e.lencode=F,e.lenbits=9,e.distcode=L,e.distbits=5},V=(e,t,i,n)=>{let r;const o=e.state;return null===o.window&&(o.wsize=1<<o.wbits,o.wnext=0,o.whave=0,o.window=new Uint8Array(o.wsize)),n>=o.wsize?(o.window.set(t.subarray(i-o.wsize,i),0),o.wnext=0,o.whave=o.wsize):(r=o.wsize-o.wnext,r>n&&(r=n),o.window.set(t.subarray(i-n,i-n+r),o.wnext),(n-=r)?(o.window.set(t.subarray(i-n,i),0),o.wnext=n,o.whave=o.wsize):(o.wnext+=r,o.wnext===o.wsize&&(o.wnext=0),o.whave<o.wsize&&(o.whave+=r))),0};e.exports.inflateReset=M,e.exports.inflateReset2=R,e.exports.inflateResetKeep=_,e.exports.inflateInit=e=>D(e,15),e.exports.inflateInit2=D,e.exports.inflate=(e,t)=>{let i,P,_,M,R,D,F,L,N,U,j,z,$,H,W,q,K,G,J,Q,X,Z,Y=0;const ee=new Uint8Array(4);let te,ie;const ne=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(O(e)||!e.output||!e.input&&0!==e.avail_in)return p;i=e.state,i.mode===S&&(i.mode=w),R=e.next_out,_=e.output,F=e.avail_out,M=e.next_in,P=e.input,D=e.avail_in,L=i.hold,N=i.bits,U=D,j=F,Z=l;e:for(;;)switch(i.mode){case b:if(0===i.wrap){i.mode=w;break}for(;N<16;){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}if(2&i.wrap&&35615===L){0===i.wbits&&(i.wbits=15),i.check=0,ee[0]=255&L,ee[1]=L>>>8&255,i.check=r(i.check,ee,2,0),L=0,N=0,i.mode=16181;break}if(i.head&&(i.head.done=!1),!(1&i.wrap)||(((255&L)<<8)+(L>>8))%31){e.msg="incorrect header check",i.mode=I;break}if((15&L)!==v){e.msg="unknown compression method",i.mode=I;break}if(L>>>=4,N-=4,X=8+(15&L),0===i.wbits&&(i.wbits=X),X>15||X>i.wbits){e.msg="invalid window size",i.mode=I;break}i.dmax=1<<i.wbits,i.flags=0,e.adler=i.check=1,i.mode=512&L?16189:S,L=0,N=0;break;case 16181:for(;N<16;){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}if(i.flags=L,(255&i.flags)!==v){e.msg="unknown compression method",i.mode=I;break}if(57344&i.flags){e.msg="unknown header flags set",i.mode=I;break}i.head&&(i.head.text=L>>8&1),512&i.flags&&4&i.wrap&&(ee[0]=255&L,ee[1]=L>>>8&255,i.check=r(i.check,ee,2,0)),L=0,N=0,i.mode=16182;case 16182:for(;N<32;){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}i.head&&(i.head.time=L),512&i.flags&&4&i.wrap&&(ee[0]=255&L,ee[1]=L>>>8&255,ee[2]=L>>>16&255,ee[3]=L>>>24&255,i.check=r(i.check,ee,4,0)),L=0,N=0,i.mode=16183;case 16183:for(;N<16;){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}i.head&&(i.head.xflags=255&L,i.head.os=L>>8),512&i.flags&&4&i.wrap&&(ee[0]=255&L,ee[1]=L>>>8&255,i.check=r(i.check,ee,2,0)),L=0,N=0,i.mode=16184;case 16184:if(1024&i.flags){for(;N<16;){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}i.length=L,i.head&&(i.head.extra_len=L),512&i.flags&&4&i.wrap&&(ee[0]=255&L,ee[1]=L>>>8&255,i.check=r(i.check,ee,2,0)),L=0,N=0}else i.head&&(i.head.extra=null);i.mode=16185;case 16185:if(1024&i.flags&&(z=i.length,z>D&&(z=D),z&&(i.head&&(X=i.head.extra_len-i.length,i.head.extra||(i.head.extra=new Uint8Array(i.head.extra_len)),i.head.extra.set(P.subarray(M,M+z),X)),512&i.flags&&4&i.wrap&&(i.check=r(i.check,P,z,M)),D-=z,M+=z,i.length-=z),i.length))break e;i.length=0,i.mode=16186;case 16186:if(2048&i.flags){if(0===D)break e;z=0;do{X=P[M+z++],i.head&&X&&i.length<65536&&(i.head.name+=String.fromCharCode(X))}while(X&&z<D);if(512&i.flags&&4&i.wrap&&(i.check=r(i.check,P,z,M)),D-=z,M+=z,X)break e}else i.head&&(i.head.name=null);i.length=0,i.mode=16187;case 16187:if(4096&i.flags){if(0===D)break e;z=0;do{X=P[M+z++],i.head&&X&&i.length<65536&&(i.head.comment+=String.fromCharCode(X))}while(X&&z<D);if(512&i.flags&&4&i.wrap&&(i.check=r(i.check,P,z,M)),D-=z,M+=z,X)break e}else i.head&&(i.head.comment=null);i.mode=16188;case 16188:if(512&i.flags){for(;N<16;){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}if(4&i.wrap&&L!==(65535&i.check)){e.msg="header crc mismatch",i.mode=I;break}L=0,N=0}i.head&&(i.head.hcrc=i.flags>>9&1,i.head.done=!0),e.adler=i.check=0,i.mode=S;break;case 16189:for(;N<32;){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}e.adler=i.check=A(L),L=0,N=0,i.mode=y;case y:if(0===i.havedict)return e.next_out=R,e.avail_out=F,e.next_in=M,e.avail_in=D,i.hold=L,i.bits=N,h;e.adler=i.check=1,i.mode=S;case S:if(t===d||t===c)break e;case w:if(i.last){L>>>=7&N,N-=7&N,i.mode=T;break}for(;N<3;){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}switch(i.last=1&L,L>>>=1,N-=1,3&L){case 0:i.mode=16193;break;case 1:if(B(i),i.mode=k,t===c){L>>>=2,N-=2;break e}break;case 2:i.mode=16196;break;case 3:e.msg="invalid block type",i.mode=I}L>>>=2,N-=2;break;case 16193:for(L>>>=7&N,N-=7&N;N<32;){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}if((65535&L)!=(L>>>16^65535)){e.msg="invalid stored block lengths",i.mode=I;break}if(i.length=65535&L,L=0,N=0,i.mode=C,t===c)break e;case C:i.mode=16195;case 16195:if(z=i.length,z){if(z>D&&(z=D),z>F&&(z=F),0===z)break e;_.set(P.subarray(M,M+z),R),D-=z,M+=z,F-=z,R+=z,i.length-=z;break}i.mode=S;break;case 16196:for(;N<14;){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}if(i.nlen=257+(31&L),L>>>=5,N-=5,i.ndist=1+(31&L),L>>>=5,N-=5,i.ncode=4+(15&L),L>>>=4,N-=4,i.nlen>286||i.ndist>30){e.msg="too many length or distance symbols",i.mode=I;break}i.have=0,i.mode=16197;case 16197:for(;i.have<i.ncode;){for(;N<3;){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}i.lens[ne[i.have++]]=7&L,L>>>=3,N-=3}for(;i.have<19;)i.lens[ne[i.have++]]=0;if(i.lencode=i.lendyn,i.lenbits=7,te={bits:i.lenbits},Z=s(0,i.lens,0,19,i.lencode,0,i.work,te),i.lenbits=te.bits,Z){e.msg="invalid code lengths set",i.mode=I;break}i.have=0,i.mode=16198;case 16198:for(;i.have<i.nlen+i.ndist;){for(;Y=i.lencode[L&(1<<i.lenbits)-1],W=Y>>>24,q=Y>>>16&255,K=65535&Y,!(W<=N);){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}if(K<16)L>>>=W,N-=W,i.lens[i.have++]=K;else{if(16===K){for(ie=W+2;N<ie;){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}if(L>>>=W,N-=W,0===i.have){e.msg="invalid bit length repeat",i.mode=I;break}X=i.lens[i.have-1],z=3+(3&L),L>>>=2,N-=2}else if(17===K){for(ie=W+3;N<ie;){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}L>>>=W,N-=W,X=0,z=3+(7&L),L>>>=3,N-=3}else{for(ie=W+7;N<ie;){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}L>>>=W,N-=W,X=0,z=11+(127&L),L>>>=7,N-=7}if(i.have+z>i.nlen+i.ndist){e.msg="invalid bit length repeat",i.mode=I;break}for(;z--;)i.lens[i.have++]=X}}if(i.mode===I)break;if(0===i.lens[256]){e.msg="invalid code -- missing end-of-block",i.mode=I;break}if(i.lenbits=9,te={bits:i.lenbits},Z=s(1,i.lens,0,i.nlen,i.lencode,0,i.work,te),i.lenbits=te.bits,Z){e.msg="invalid literal/lengths set",i.mode=I;break}if(i.distbits=6,i.distcode=i.distdyn,te={bits:i.distbits},Z=s(2,i.lens,i.nlen,i.ndist,i.distcode,0,i.work,te),i.distbits=te.bits,Z){e.msg="invalid distances set",i.mode=I;break}if(i.mode=k,t===c)break e;case k:i.mode=E;case E:if(D>=6&&F>=258){e.next_out=R,e.avail_out=F,e.next_in=M,e.avail_in=D,i.hold=L,i.bits=N,o(e,j),R=e.next_out,_=e.output,F=e.avail_out,M=e.next_in,P=e.input,D=e.avail_in,L=i.hold,N=i.bits,i.mode===S&&(i.back=-1);break}for(i.back=0;Y=i.lencode[L&(1<<i.lenbits)-1],W=Y>>>24,q=Y>>>16&255,K=65535&Y,!(W<=N);){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}if(q&&!(240&q)){for(G=W,J=q,Q=K;Y=i.lencode[Q+((L&(1<<G+J)-1)>>G)],W=Y>>>24,q=Y>>>16&255,K=65535&Y,!(G+W<=N);){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}L>>>=G,N-=G,i.back+=G}if(L>>>=W,N-=W,i.back+=W,i.length=K,0===q){i.mode=16205;break}if(32&q){i.back=-1,i.mode=S;break}if(64&q){e.msg="invalid literal/length code",i.mode=I;break}i.extra=15&q,i.mode=16201;case 16201:if(i.extra){for(ie=i.extra;N<ie;){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}i.length+=L&(1<<i.extra)-1,L>>>=i.extra,N-=i.extra,i.back+=i.extra}i.was=i.length,i.mode=16202;case 16202:for(;Y=i.distcode[L&(1<<i.distbits)-1],W=Y>>>24,q=Y>>>16&255,K=65535&Y,!(W<=N);){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}if(!(240&q)){for(G=W,J=q,Q=K;Y=i.distcode[Q+((L&(1<<G+J)-1)>>G)],W=Y>>>24,q=Y>>>16&255,K=65535&Y,!(G+W<=N);){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}L>>>=G,N-=G,i.back+=G}if(L>>>=W,N-=W,i.back+=W,64&q){e.msg="invalid distance code",i.mode=I;break}i.offset=K,i.extra=15&q,i.mode=16203;case 16203:if(i.extra){for(ie=i.extra;N<ie;){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}i.offset+=L&(1<<i.extra)-1,L>>>=i.extra,N-=i.extra,i.back+=i.extra}if(i.offset>i.dmax){e.msg="invalid distance too far back",i.mode=I;break}i.mode=16204;case 16204:if(0===F)break e;if(z=j-F,i.offset>z){if(z=i.offset-z,z>i.whave&&i.sane){e.msg="invalid distance too far back",i.mode=I;break}z>i.wnext?(z-=i.wnext,$=i.wsize-z):$=i.wnext-z,z>i.length&&(z=i.length),H=i.window}else H=_,$=R-i.offset,z=i.length;z>F&&(z=F),F-=z,i.length-=z;do{_[R++]=H[$++]}while(--z);0===i.length&&(i.mode=E);break;case 16205:if(0===F)break e;_[R++]=i.length,F--,i.mode=E;break;case T:if(i.wrap){for(;N<32;){if(0===D)break e;D--,L|=P[M++]<<N,N+=8}if(j-=F,e.total_out+=j,i.total+=j,4&i.wrap&&j&&(e.adler=i.check=i.flags?r(i.check,_,j,R-j):n(i.check,_,j,R-j)),j=F,4&i.wrap&&(i.flags?L:A(L))!==i.check){e.msg="incorrect data check",i.mode=I;break}L=0,N=0}i.mode=16207;case 16207:if(i.wrap&&i.flags){for(;N<32;){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}if(4&i.wrap&&L!==(4294967295&i.total)){e.msg="incorrect length check",i.mode=I;break}L=0,N=0}i.mode=16208;case 16208:Z=u;break e;case I:Z=f;break e;case x:return m;default:return p}return e.next_out=R,e.avail_out=F,e.next_in=M,e.avail_in=D,i.hold=L,i.bits=N,(i.wsize||j!==e.avail_out&&i.mode<I&&(i.mode<T||t!==a))&&V(e,e.output,e.next_out,j-e.avail_out)?(i.mode=x,m):(U-=e.avail_in,j-=e.avail_out,e.total_in+=U,e.total_out+=j,i.total+=j,4&i.wrap&&j&&(e.adler=i.check=i.flags?r(i.check,_,j,e.next_out-j):n(i.check,_,j,e.next_out-j)),e.data_type=i.bits+(i.last?64:0)+(i.mode===S?128:0)+(i.mode===k||i.mode===C?256:0),(0===U&&0===j||t===a)&&Z===l&&(Z=g),Z)},e.exports.inflateEnd=e=>{if(O(e))return p;let t=e.state;return t.window&&(t.window=null),e.state=null,l},e.exports.inflateGetHeader=(e,t)=>{if(O(e))return p;const i=e.state;return 2&i.wrap?(i.head=t,t.done=!1,l):p},e.exports.inflateSetDictionary=(e,t)=>{const i=t.length;let r,o,s;return O(e)?p:(r=e.state,0!==r.wrap&&r.mode!==y?p:r.mode===y&&(o=1,o=n(o,t,i,0),o!==r.check)?f:(s=V(e,t,i,i),s?(r.mode=x,m):(r.havedict=1,l)))},e.exports.inflateInfo="pako inflate (from Nodeca project)"},40274(e){"use strict";const t=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),i=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),n=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),r=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]);e.exports=(e,o,s,a,d,c,l,u)=>{const h=u.bits;let p,f,m,g,v,b,y=0,S=0,w=0,C=0,k=0,E=0,T=0,I=0,x=0,A=0,P=null;const O=new Uint16Array(16),_=new Uint16Array(16);let M,R,D,F=null;for(y=0;y<=15;y++)O[y]=0;for(S=0;S<a;S++)O[o[s+S]]++;for(k=h,C=15;C>=1&&0===O[C];C--);if(k>C&&(k=C),0===C)return d[c++]=20971520,d[c++]=20971520,u.bits=1,0;for(w=1;w<C&&0===O[w];w++);for(k<w&&(k=w),I=1,y=1;y<=15;y++)if(I<<=1,I-=O[y],I<0)return-1;if(I>0&&(0===e||1!==C))return-1;for(_[1]=0,y=1;y<15;y++)_[y+1]=_[y]+O[y];for(S=0;S<a;S++)0!==o[s+S]&&(l[_[o[s+S]]++]=S);if(0===e?(P=F=l,b=20):1===e?(P=t,F=i,b=257):(P=n,F=r,b=0),A=0,S=0,y=w,v=c,E=k,T=0,m=-1,x=1<<k,g=x-1,1===e&&x>852||2===e&&x>592)return 1;for(;;){M=y-T,l[S]+1<b?(R=0,D=l[S]):l[S]>=b?(R=F[l[S]-b],D=P[l[S]-b]):(R=96,D=0),p=1<<y-T,f=1<<E,w=f;do{f-=p,d[v+(A>>T)+f]=M<<24|R<<16|D}while(0!==f);for(p=1<<y-1;A&p;)p>>=1;if(0!==p?(A&=p-1,A+=p):A=0,S++,0===--O[y]){if(y===C)break;y=o[s+l[S]]}if(y>k&&(A&g)!==m){for(0===T&&(T=k),v+=w,E=y-T,I=1<<E;E+T<C&&(I-=O[E+T],!(I<=0));)E++,I<<=1;if(x+=1<<E,1===e&&x>852||2===e&&x>592)return 1;m=A&g,d[m]=k<<24|E<<16|v-c}}return 0!==A&&(d[v+A]=y-T<<24|64<<16),u.bits=k,0}},38990(e){"use strict";e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},85805(e){"use strict";function t(e){let t=e.length;for(;--t>=0;)e[t]=0}const i=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),n=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),r=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),o=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),s=new Array(576);t(s);const a=new Array(60);t(a);const d=new Array(512);t(d);const c=new Array(256);t(c);const l=new Array(29);t(l);const u=new Array(30);function h(e,t,i,n,r){this.static_tree=e,this.extra_bits=t,this.extra_base=i,this.elems=n,this.max_length=r,this.has_stree=e&&e.length}let p,f,m;function g(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}t(u);const v=e=>e<256?d[e]:d[256+(e>>>7)],b=(e,t)=>{e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255},y=(e,t,i)=>{e.bi_valid>16-i?(e.bi_buf|=t<<e.bi_valid&65535,b(e,e.bi_buf),e.bi_buf=t>>16-e.bi_valid,e.bi_valid+=i-16):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=i)},S=(e,t,i)=>{y(e,i[2*t],i[2*t+1])},w=(e,t)=>{let i=0;do{i|=1&e,e>>>=1,i<<=1}while(--t>0);return i>>>1},C=(e,t,i)=>{const n=new Array(16);let r,o,s=0;for(r=1;r<=15;r++)s=s+i[r-1]<<1,n[r]=s;for(o=0;o<=t;o++){let t=e[2*o+1];0!==t&&(e[2*o]=w(n[t]++,t))}},k=e=>{let t;for(t=0;t<286;t++)e.dyn_ltree[2*t]=0;for(t=0;t<30;t++)e.dyn_dtree[2*t]=0;for(t=0;t<19;t++)e.bl_tree[2*t]=0;e.dyn_ltree[512]=1,e.opt_len=e.static_len=0,e.sym_next=e.matches=0},E=e=>{e.bi_valid>8?b(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},T=(e,t,i,n)=>{const r=2*t,o=2*i;return e[r]<e[o]||e[r]===e[o]&&n[t]<=n[i]},I=(e,t,i)=>{const n=e.heap[i];let r=i<<1;for(;
vendor: 4,385 bytes, line 2138
2138r<=e.heap_len&&(r<e.heap_len&&T(t,e.heap[r+1],e.heap[r],e.depth)&&r++,!T(t,n,e.heap[r],e.depth));)e.heap[i]=e.heap[r],i=r,r<<=1;e.heap[i]=n},x=(e,t,r)=>{let o,s,a,d,h=0;if(0!==e.sym_next)do{o=255&e.pending_buf[e.sym_buf+h++],o+=(255&e.pending_buf[e.sym_buf+h++])<<8,s=e.pending_buf[e.sym_buf+h++],0===o?S(e,s,t):(a=c[s],S(e,a+256+1,t),d=i[a],0!==d&&(s-=l[a],y(e,s,d)),o--,a=v(o),S(e,a,r),d=n[a],0!==d&&(o-=u[a],y(e,o,d)))}while(h<e.sym_next);S(e,256,t)},A=(e,t)=>{const i=t.dyn_tree,n=t.stat_desc.static_tree,r=t.stat_desc.has_stree,o=t.stat_desc.elems;let s,a,d,c=-1;for(e.heap_len=0,e.heap_max=573,s=0;s<o;s++)0!==i[2*s]?(e.heap[++e.heap_len]=c=s,e.depth[s]=0):i[2*s+1]=0;for(;e.heap_len<2;)d=e.heap[++e.heap_len]=c<2?++c:0,i[2*d]=1,e.depth[d]=0,e.opt_len--,r&&(e.static_len-=n[2*d+1]);for(t.max_code=c,s=e.heap_len>>1;s>=1;s--)I(e,i,s);d=o;do{s=e.heap[1],e.heap[1]=e.heap[e.heap_len--],I(e,i,1),a=e.heap[1],e.heap[--e.heap_max]=s,e.heap[--e.heap_max]=a,i[2*d]=i[2*s]+i[2*a],e.depth[d]=(e.depth[s]>=e.depth[a]?e.depth[s]:e.depth[a])+1,i[2*s+1]=i[2*a+1]=d,e.heap[1]=d++,I(e,i,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],((e,t)=>{const i=t.dyn_tree,n=t.max_code,r=t.stat_desc.static_tree,o=t.stat_desc.has_stree,s=t.stat_desc.extra_bits,a=t.stat_desc.extra_base,d=t.stat_desc.max_length;let c,l,u,h,p,f,m=0;for(h=0;h<=15;h++)e.bl_count[h]=0;for(i[2*e.heap[e.heap_max]+1]=0,c=e.heap_max+1;c<573;c++)l=e.heap[c],h=i[2*i[2*l+1]+1]+1,h>d&&(h=d,m++),i[2*l+1]=h,l>n||(e.bl_count[h]++,p=0,l>=a&&(p=s[l-a]),f=i[2*l],e.opt_len+=f*(h+p),o&&(e.static_len+=f*(r[2*l+1]+p)));if(0!==m){do{for(h=d-1;0===e.bl_count[h];)h--;e.bl_count[h]--,e.bl_count[h+1]+=2,e.bl_count[d]--,m-=2}while(m>0);for(h=d;0!==h;h--)for(l=e.bl_count[h];0!==l;)u=e.heap[--c],u>n||(i[2*u+1]!==h&&(e.opt_len+=(h-i[2*u+1])*i[2*u],i[2*u+1]=h),l--)}})(e,t),C(i,c,e.bl_count)},P=(e,t,i)=>{let n,r,o=-1,s=t[1],a=0,d=7,c=4;for(0===s&&(d=138,c=3),t[2*(i+1)+1]=65535,n=0;n<=i;n++)r=s,s=t[2*(n+1)+1],++a<d&&r===s||(a<c?e.bl_tree[2*r]+=a:0!==r?(r!==o&&e.bl_tree[2*r]++,e.bl_tree[32]++):a<=10?e.bl_tree[34]++:e.bl_tree[36]++,a=0,o=r,0===s?(d=138,c=3):r===s?(d=6,c=3):(d=7,c=4))},O=(e,t,i)=>{let n,r,o=-1,s=t[1],a=0,d=7,c=4;for(0===s&&(d=138,c=3),n=0;n<=i;n++)if(r=s,s=t[2*(n+1)+1],!(++a<d&&r===s)){if(a<c)do{S(e,r,e.bl_tree)}while(0!==--a);else 0!==r?(r!==o&&(S(e,r,e.bl_tree),a--),S(e,16,e.bl_tree),y(e,a-3,2)):a<=10?(S(e,17,e.bl_tree),y(e,a-3,3)):(S(e,18,e.bl_tree),y(e,a-11,7));a=0,o=r,0===s?(d=138,c=3):r===s?(d=6,c=3):(d=7,c=4)}};let _=!1;const M=(e,t,i,n)=>{y(e,0+(n?1:0),3),E(e),b(e,i),b(e,~i),i&&e.pending_buf.set(e.window.subarray(t,t+i),e.pending),e.pending+=i};e.exports._tr_init=e=>{_||((()=>{let e,t,o,g,v;const b=new Array(16);for(o=0,g=0;g<28;g++)for(l[g]=o,e=0;e<1<<i[g];e++)c[o++]=g;for(c[o-1]=g,v=0,g=0;g<16;g++)for(u[g]=v,e=0;e<1<<n[g];e++)d[v++]=g;for(v>>=7;g<30;g++)for(u[g]=v<<7,e=0;e<1<<n[g]-7;e++)d[256+v++]=g;for(t=0;t<=15;t++)b[t]=0;for(e=0;e<=143;)s[2*e+1]=8,e++,b[8]++;for(;e<=255;)s[2*e+1]=9,e++,b[9]++;for(;e<=279;)s[2*e+1]=7,e++,b[7]++;for(;e<=287;)s[2*e+1]=8,e++,b[8]++;for(C(s,287,b),e=0;e<30;e++)a[2*e+1]=5,a[2*e]=w(e,5);p=new h(s,i,257,286,15),f=new h(a,n,0,30,15),m=new h(new Array(0),r,0,19,7)})(),_=!0),e.l_desc=new g(e.dyn_ltree,p),e.d_desc=new g(e.dyn_dtree,f),e.bl_desc=new g(e.bl_tree,m),e.bi_buf=0,e.bi_valid=0,k(e)},e.exports._tr_stored_block=M,e.exports._tr_flush_block=(e,t,i,n)=>{let r,d,c=0;e.level>0?(2===e.strm.data_type&&(e.strm.data_type=(e=>{let t,i=4093624447;for(t=0;t<=31;t++,i>>>=1)if(1&i&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t<256;t++)if(0!==e.dyn_ltree[2*t])return 1;return 0})(e)),A(e,e.l_desc),A(e,e.d_desc),c=(e=>{let t;for(P(e,e.dyn_ltree,e.l_desc.max_code),P(e,e.dyn_dtree,e.d_desc.max_code),A(e,e.bl_desc),t=18;t>=3&&0===e.bl_tree[2*o[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t})(e),r=e.opt_len+3+7>>>3,d=e.static_len+3+7>>>3,d<=r&&(r=d)):r=d=i+5,i+4<=r&&-1!==t?M(e,t,i,n):4===e.strategy||d===r?(y(e,2+(n?1:0),3),x(e,s,a)):(y(e,4+(n?1:0),3),((e,t,i,n)=>{let r;for(y(e,t-257,5),y(e,i-1,5),y(e,n-4,4),r=0;r<n;r++)y(e,e.bl_tree[2*o[r]+1],3);O(e,e.dyn_ltree,t-1),O(e,e.dyn_dtree,i-1)})(e,e.l_desc.max_code+1,e.d_desc.max_code+1,c+1),x(e,e.dyn_ltree,e.dyn_dtree)),k(e),n&&E(e)},e.exports._tr_tally=(e,t,i)=>(e.pending_buf[e.sym_buf+e.sym_next++]=t,e.pending_buf[e.sym_buf+e.sym_next++]=t>>
21388,e.pending_buf[e.sym_buf+e.sym_next++]=i,0===t?e.dyn_ltree[2*i]++:(e.matches++,t--,e.dyn_ltree[2*(c[i]+256+1)]++,e.dyn_dtree[2*v(t)]++),e.sym_next===e.sym_end),e.exports._tr_align=e=>{y(e,2,3),S(e,256,s),(e=>{16===e.bi_valid?(b(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)})(e)}},19222(e){"use strict";e.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},44110(e,t,i){"use strict";e.exports=i(37134)},37134(e,t,i){"use strict";var n=t;function r(){n.util._configure(),n.Writer._configure(n.BufferWriter),n.Reader._configure(n.BufferReader)}n.build="minimal",n.Writer=i(4301),n.BufferWriter=i(48422),n.Reader=i(31137),n.BufferReader=i(74010),n.util=i(45382),n.rpc=i(59691),n.roots=i(50381),n.configure=r,r()},31137(e,t,i){"use strict";e.exports=d;var n,r=i(45382),o=r.LongBits,s=r.utf8;function a(e,t){return RangeError("index out of range: "+e.pos+" + "+(t||1)+" > "+e.len)}function d(e){this.buf=e,this.pos=0,this.len=e.length}var c,l="undefined"!=typeof Uint8Array?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new d(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new d(e);throw Error("illegal buffer")},u=function(){return r.Buffer?function(e){return(d.create=function(e){return r.Buffer.isBuffer(e)?new n(e):l(e)})(e)}:l};function h(){var e=new o(0,0),t=0;if(!(this.len-this.pos>4)){for(;t<3;++t){if(this.pos>=this.len)throw a(this);if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(127&this.buf[this.pos++])<<7*t)>>>0,e}for(;t<4;++t)if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(127&this.buf[this.pos])<<28)>>>0,e.hi=(e.hi|(127&this.buf[this.pos])>>4)>>>0,this.buf[this.pos++]<128)return e;if(t=0,this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw a(this);if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}function p(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}function f(){if(this.pos+8>this.len)throw a(this,8);return new o(p(this.buf,this.pos+=4),p(this.buf,this.pos+=4))}d.create=u(),d.prototype._slice=r.Array.prototype.subarray||r.Array.prototype.slice,d.prototype.uint32=(c=4294967295,function(){if(c=(127&this.buf[this.pos])>>>0,this.buf[this.pos++]<128)return c;if(c=(c|(127&this.buf[this.pos])<<7)>>>0,this.buf[this.pos++]<128)return c;if(c=(c|(127&this.buf[this.pos])<<14)>>>0,this.buf[this.pos++]<128)return c;if(c=(c|(127&this.buf[this.pos])<<21)>>>0,this.buf[this.pos++]<128)return c;if(c=(c|(15&this.buf[this.pos])<<28)>>>0,this.buf[this.pos++]<128)return c;if((this.pos+=5)>this.len)throw this.pos=this.len,a(this,10);return c}),d.prototype.int32=function(){return 0|this.uint32()},d.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(1&e)},d.prototype.bool=function(){return 0!==this.uint32()},d.prototype.fixed32=function(){if(this.pos+4>this.len)throw a(this,4);return p(this.buf,this.pos+=4)},d.prototype.sfixed32=function(){if(this.pos+4>this.len)throw a(this,4);return 0|p(this.buf,this.pos+=4)},d.prototype.float=function(){if(this.pos+4>this.len)throw a(this,4);var e=r.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e},d.prototype.double=function(){if(this.pos+8>this.len)throw a(this,4);var e=r.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e},d.prototype.bytes=function(){var e=this.uint32(),t=this.pos,i=this.pos+e;if(i>this.len)throw a(this,e);if(this.pos+=e,Array.isArray(this.buf))return this.buf.slice(t,i);if(t===i){var n=r.Buffer;return n?n.alloc(0):new this.buf.constructor(0)}return this._slice.call(this.buf,t,i)},d.prototype.string=function(){var e=this.bytes();return s.read(e,0,e.length)},d.prototype.skip=function(e){if("number"==typeof e){if(this.pos+e>this.len)throw a(this,e);this.pos+=e}else do{if(this.pos>=this.len)throw a(this)}while(128&this.buf[this.pos++]);return this},d.prototype.skipType=function(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;4!=(e=7&this.uint32());)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+e+" at offset "+this.pos)}return this},d._configure=function(e){n=e,d.create=u(),n._configure();var t=r.Long?"toLong":"toNumber";r.merge(d.prototype,{int64:function(){return h.call(this)[t](!1)},uint64:function(){return h.call(this)[t](!0)},sint64:function(){return h.call(this).zzDecode()[t](!1)},fixed64:function(){return f.call(this)[t](!0)},sfixed64:function(){return f.call(this)[t](!1)}})}},74010(e,t,i){"use strict";e.exports=o;var n=i(31137);(o.prototype=Object.create(n.prototype)).constructor=o;var r=i(45382);function o(e){n.call(this,e)}o._configure=function(){r.Buffer&&(o.prototype._slice=r.Buffer.prototype.slice)},o.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))},o._configure()},50381(e){"use strict";e.exports={}},59691(e,t,i){"use strict";t.Service=i(44447)},44447(e,t,i){"use strict";e.exports=r;var n=i(45382);function r(e,t,i){if("function"!=typeof e)throw TypeError("rpcImpl must be a function");n.EventEmitter.call(this),this.rpcImpl=e,this.requestDelimited=Boolean(t),this.responseDelimited=Boolean(i)}(r.prototype=Object.create(n.EventEmitter.prototype)).constructor=r,r.prototype.rpcCall=function e(t,i,r,o,s){if(!o)throw TypeError("request must be specified");var a=this;if(!s)return n.asPromise(e,a,t,i,r,o);if(a.rpcImpl)try{return a.rpcImpl(t,i[a.requestDelimited?"encodeDelimited":"encode"](o).finish(),function(e,i){if(e)return a.emit("error",e,t),s(e);if(null!==i){if(!(i instanceof r))try{i=r[a.responseDelimited?"decodeDelimited":"decode"](i)}catch(e){return a.emit("error",e,t),s(e)}return a.emit("data",i,t),s(null,i)}a.end(!0)})}catch(e){return a.emit("error",e,t),void setTimeout(function(){s(e)},0)}else setTimeout(function(){s(Error("already ended"))},0)},r.prototype.end=function(e){return this.rpcImpl&&(e||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit
vendor: 8,158 bytes, line 2138
2138("end").off()),this}},35003(e,t,i){"use strict";e.exports=r;var n=i(45382);function r(e,t){this.lo=e>>>0,this.hi=t>>>0}var o=r.zero=new r(0,0);o.toNumber=function(){return 0},o.zzEncode=o.zzDecode=function(){return this},o.length=function(){return 1};var s=r.zeroHash="\0\0\0\0\0\0\0\0";r.fromNumber=function(e){if(0===e)return o;var t=e<0;t&&(e=-e);var i=e>>>0,n=(e-i)/4294967296>>>0;return t&&(n=~n>>>0,i=~i>>>0,++i>4294967295&&(i=0,++n>4294967295&&(n=0))),new r(i,n)},r.from=function(e){if("number"==typeof e)return r.fromNumber(e);if(n.isString(e)){if(!n.Long)return r.fromNumber(parseInt(e,10));e=n.Long.fromString(e)}return e.low||e.high?new r(e.low>>>0,e.high>>>0):o},r.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var t=1+~this.lo>>>0,i=~this.hi>>>0;return t||(i=i+1>>>0),-(t+4294967296*i)}return this.lo+4294967296*this.hi},r.prototype.toLong=function(e){return n.Long?new n.Long(0|this.lo,0|this.hi,Boolean(e)):{low:0|this.lo,high:0|this.hi,unsigned:Boolean(e)}};var a=String.prototype.charCodeAt;r.fromHash=function(e){return e===s?o:new r((a.call(e,0)|a.call(e,1)<<8|a.call(e,2)<<16|a.call(e,3)<<24)>>>0,(a.call(e,4)|a.call(e,5)<<8|a.call(e,6)<<16|a.call(e,7)<<24)>>>0)},r.prototype.toHash=function(){return String.fromCharCode(255&this.lo,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,255&this.hi,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},r.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this},r.prototype.zzDecode=function(){var e=-(1&this.lo);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this},r.prototype.length=function(){var e=this.lo,t=(this.lo>>>28|this.hi<<4)>>>0,i=this.hi>>>24;return 0===i?0===t?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:i<128?9:10}},45382(e,t,i){"use strict";var n=t;function r(e,t,i){for(var n=Object.keys(t),r=0;r<n.length;++r)void 0!==e[n[r]]&&i||(e[n[r]]=t[n[r]]);return e}function o(e){function t(e,i){if(!(this instanceof t))return new t(e,i);Object.defineProperty(this,"message",{get:function(){return e}}),Error.captureStackTrace?Error.captureStackTrace(this,t):Object.defineProperty(this,"stack",{value:(new Error).stack||""}),i&&r(this,i)}return t.prototype=Object.create(Error.prototype,{constructor:{value:t,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return e},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),t}n.asPromise=i(86233),n.base64=i(1979),n.EventEmitter=i(23474),n.float=i(45750),n.inquire=i(61925),n.utf8=i(82971),n.pool=i(44226),n.LongBits=i(35003),n.isNode=Boolean(void 0!==i.g&&i.g&&i.g.process&&i.g.process.versions&&i.g.process.versions.node),n.global=n.isNode&&i.g||"undefined"!=typeof window&&window||"undefined"!=typeof self&&self||this,n.emptyArray=Object.freeze?Object.freeze([]):[],n.emptyObject=Object.freeze?Object.freeze({}):{},n.isInteger=Number.isInteger||function(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e},n.isString=function(e){return"string"==typeof e||e instanceof String},n.isObject=function(e){return e&&"object"==typeof e},n.isset=n.isSet=function(e,t){var i=e[t];return!(null==i||!e.hasOwnProperty(t))&&("object"!=typeof i||(Array.isArray(i)?i.length:Object.keys(i).length)>0)},n.Buffer=function(){try{var e=n.inquire("buffer").Buffer;return e.prototype.utf8Write?e:null}catch(e){return null}}(),n._Buffer_from=null,n._Buffer_allocUnsafe=null,n.newBuffer=function(e){return"number"==typeof e?n.Buffer?n._Buffer_allocUnsafe(e):new n.Array(e):n.Buffer?n._Buffer_from(e):"undefined"==typeof Uint8Array?e:new Uint8Array(e)},n.Array="undefined"!=typeof Uint8Array?Uint8Array:Array,n.Long=n.global.dcodeIO&&n.global.dcodeIO.Long||n.global.Long||n.inquire("long"),n.key2Re=/^true|false|0|1$/,n.key32Re=/^-?(?:0|[1-9][0-9]*)$/,n.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,n.longToHash=function(e){return e?n.LongBits.from(e).toHash():n.LongBits.zeroHash},n.longFromHash=function(e,t){var i=n.LongBits.fromHash(e);return n.Long?n.Long.fromBits(i.lo,i.hi,t):i.toNumber(Boolean(t))},n.merge=r,n.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)},n.newError=o,n.ProtocolError=o("ProtocolError"),n.oneOfGetter=function(e){for(var t={},i=0;i<e.length;++i)t[e[i]]=1;return function(){for(var e=Object.keys(this),i=e.length-1;i>-1;--i)if(1===t[e[i]]&&void 0!==this[e[i]]&&null!==this[e[i]])return e[i]}},n.oneOfSetter=function(e){return function(t){for(var i=0;i<e.length;++i)e[i]!==t&&delete this[e[i]]}},n.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},n._configure=function(){var e=n.Buffer;e?(n._Buffer_from=e.from!==Uint8Array.from&&e.from||function(t,i){return new e(t,i)},n._Buffer_allocUnsafe=e.allocUnsafe||function(t){return new e(t)}):n._Buffer_from=n._Buffer_allocUnsafe=null}},4301(e,t,i){"use strict";e.exports=u;var n,r=i(45382),o=r.LongBits,s=r.base64,a=r.utf8;function d(e,t,i){this.fn=e,this.len=t,this.next=void 0,this.val=i}function c(){}function l(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}function u(){this.len=0,this.head=new d(c,0,0),this.tail=this.head,this.states=null}var h=function(){return r.Buffer?function(){return(u.create=function(){return new n})()}:function(){return new u}};function p(e,t,i){t[i]=255&e}function f(e,t){this.len=e,this.next=void 0,this.val=t}function m(e,t,i){for(;e.hi;)t[i++]=127&e.lo|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[i++]=127&e.lo|128,e.lo=e.lo>>>7;t[i++]=e.lo}function g(e,t,i){t[i]=255&e,t[i+1]=e>>>8&255,t[i+2]=e>>>16&255,t[i+3]=e>>>24}u.create=h(),u.alloc=function(e){return new r.Array(e)},r.Array!==Array&&(u.alloc=r.pool(u.alloc,r.Array.prototype.subarray)),u.prototype._push=function(e,t,i){return this.tail=this.tail.next=new d(e,t,i),this.len+=t,this},f.prototype=Object.create(d.prototype),f.prototype.fn=function(e,t,i){for(;e>127;)t[i++]=127&e|128,e>>>=7;t[i]=e},u.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new f((e>>>=0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this},u.prototype.int32=function(e){return e<0?this._push(m,10,o.fromNumber(e)):this.uint32(e)},u.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)},u.prototype.uint64=function(e){var t=o.from(e);return this._push(m,t.length(),t)},u.prototype.int64=u.prototype.uint64,u.prototype.sint64=function(e){var t=o.from(e).zzEncode();return this._push(m,t.length(),t)},u.prototype.bool=function(e){return this._push(p,1,e?1:0)},u.prototype.fixed32=function(e){return this._push(g,4,e>>>0)},u.prototype.sfixed32=u.prototype.fixed32,u.prototype.fixed64=function(e){var t=o.from(e);return this._push(g,4,t.lo)._push(g,4,t.hi)},u.prototype.sfixed64=u.prototype.fixed64,u.prototype.float=function(e){return this._push(r.float.writeFloatLE,4,e)},u.prototype.double=function(e){return this._push(r.float.writeDoubleLE,8,e)};var v=r.Array.prototype.set?function(e,t,i){t.set(e,i)}:function(e,t,i){for(var n=0;n<e.length;++n)t[i+n]=e[n]};u.prototype.bytes=function(e){var t=e.length>>>0;if(!t)return this._push(p,1,0);if(r.isString(e)){var i=u.alloc(t=s.length(e));s.decode(e,i,0),e=i}return this.uint32(t)._push(v,t,e)},u.prototype.string=function(e){var t=a.length(e);return t?this.uint32(t)._push(a.write,t,e):this._push(p,1,0)},u.prototype.fork=function(){return this.states=new l(this),this.head=this.tail=new d(c,0,0),this.len=0,this},u.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new d(c,0,0),this.len=0),this},u.prototype.ldelim=function(){var e=this.head,t=this.tail,i=this.len;return this.reset().uint32(i),i&&(this.tail.next=e.next,this.tail=t,this.len+=i),this},u.prototype.finish=function(){for(var e=this.head.next,t=this.constructor.alloc(this.len),i=0;e;)e.fn(e.val,t,i),i+=e.len,e=e.next;return t},u._configure=function(e){n=e,u.create=h(),n._configure()}},48422(e,t,i){"use strict";e.exports=o;var n=i(4301);(o.prototype=Object.create(n.prototype)).constructor=o;var r=i(45382);
2138function o(){n.call(this)}function s(e,t,i){e.length<40?r.utf8.write(e,t,i):t.utf8Write?t.utf8Write(e,i):t.write(e,i)}o._configure=function(){o.alloc=r._Buffer_allocUnsafe,o.writeBytesBuffer=r.Buffer&&r.Buffer.prototype instanceof Uint8Array&&"set"===r.Buffer.prototype.set.name?function(e,t,i){t.set(e,i)}:function(e,t,i){if(e.copy)e.copy(t,i,0,e.length);else for(var n=0;n<e.length;)t[i++]=e[n++]}},o.prototype.bytes=function(e){r.isString(e)&&(e=r._Buffer_from(e,"base64"));var t=e.length>>>0;return this.uint32(t),t&&this._push(o.writeBytesBuffer,t,e),this},o.prototype.string=function(e){var t=r.Buffer.byteLength(e);return this.uint32(t),t&&this._push(s,t,e),this},o._configure()},97383(e){var t="undefined"!=typeof Element,i="function"==typeof Map,n="function"==typeof Set,r="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;function o(e,s){if(e===s)return!0;if(e&&s&&"object"==typeof e&&"object"==typeof s){if(e.constructor!==s.constructor)return!1;var a,d,c,l;if(Array.isArray(e)){if((a=e.length)!=s.length)return!1;for(d=a;0!==d--;)if(!o(e[d],s[d]))return!1;return!0}if(i&&e instanceof Map&&s instanceof Map){if(e.size!==s.size)return!1;for(l=e.entries();!(d=l.next()).done;)if(!s.has(d.value[0]))return!1;for(l=e.entries();!(d=l.next()).done;)if(!o(d.value[1],s.get(d.value[0])))return!1;return!0}if(n&&e instanceof Set&&s instanceof Set){if(e.size!==s.size)return!1;for(l=e.entries();!(d=l.next()).done;)if(!s.has(d.value[0]))return!1;return!0}if(r&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(s)){if((a=e.length)!=s.length)return!1;for(d=a;0!==d--;)if(e[d]!==s[d])return!1;return!0}if(e.constructor===RegExp)return e.source===s.source&&e.flags===s.flags;if(e.valueOf!==Object.prototype.valueOf&&"function"==typeof e.valueOf&&"function"==typeof s.valueOf)return e.valueOf()===s.valueOf();if(e.toString!==Object.prototype.toString&&"function"==typeof e.toString&&"function"==typeof s.toString)return e.toString()===s.toString();if((a=(c=Object.keys(e)).length)!==Object.keys(s).length)return!1;for(d=a;0!==d--;)if(!Object.prototype.hasOwnProperty.call(s,c[d]))return!1;if(t&&e instanceof Element)return!1;for(d=a;0!==d--;)if(("_owner"!==c[d]&&"__v"!==c[d]&&"__o"!==c[d]||!e.$$typeof)&&!o(e[c[d]],s[c[d]]))return!1;return!0}return e!=e&&s!=s}e.exports=function(e,t){try{return o(e,t)}catch(e){if((e.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw e}}},76582(e,t,i){"use strict";i.d(t,{E:()=>u});var n=i(63696),r=i(78325),o=i(9192),s=i(97383),a=i.n(s),d=function(e){return e.reduce(function(e,t){var i=t[0],n=t[1];return e[i]=n,e},{})},c="undefined"!=typeof window&&window.document&&window.document.createElement?n.useLayoutEffect:n.useEffect,l=[],u=function(e,t,i){void 0===i&&(i={});var s=n.useRef(null),u={onFirstUpdate:i.onFirstUpdate,placement:i.placement||"bottom",strategy:i.strategy||"absolute",modifiers:i.modifiers||l},h=n.useState({styles:{popper:{position:u.strategy,left:"0",top:"0"},arrow:{position:"absolute"}},attributes:{}}),p=h[0],f=h[1],m=n.useMemo(function(){return{name:"updateState",enabled:!0,phase:"write",fn:function(e){var t=e.state,i=Object.keys(t.elements);r.flushSync(function(){f({styles:d(i.map(function(e){return[e,t.styles[e]||{}]})),attributes:d(i.map(function(e){return[e,t.attributes[e]]}))})})},requires:["computeStyles"]}},[]),g=n.useMemo(function(){var e={onFirstUpdate:u.onFirstUpdate,placement:u.placement,strategy:u.strategy,modifiers:[].concat(u.modifiers,[m,{name:"applyStyles",enabled:!1}])};return a()(s.current,e)?s.current||e:(s.current=e,e)},[u.onFirstUpdate,u.placement,u.strategy,u.modifiers,m]),v=n.useRef();return c(function(){v.current&&v.current.setOptions(g)},[g]),c(function(){if(null!=e&&null!=t){var n=(i.createPopper||o.n4)(e,t,g);return v.current=n,function(){n.destroy(),v.current=null}}},[e,t,i.createPopper]),{state:v.current?v.current.state:null,styles:p.styles,attributes:p.attributes,update:v.current?v.current.update:null,forceUpdate:v.current?v.current.forceUpdate:null}}},3326(e,t){"use strict";var i=Symbol.for("react.transitional.element"),n=Symbol.for("react.fragment");function r(e,t,n){var r=null;if(void 0!==n&&(r=""+n),void 0!==t.key&&(r=""+t.key),"key"in t)for(var o in n={}
2138,t)"key"!==o&&(n[o]=t[o]);else n=t;return t=n.ref,{$$typeof:i,type:e,key:r,ref:void 0!==t?t:null,props:n}}t.Fragment=n,t.jsx=r,t.jsxs=r},62540(e,t,i){"use strict";e.exports=i(3326)},6660(e,t,i){var n;!function(r,o){"use strict";var s="function",a="undefined",d="object",c="string",l="major",u="model",h="name",p="type",f="vendor",m="version",g="architecture",v="console",b="mobile",y="tablet",S="smarttv",w="wearable",C="embedded",k="Amazon",E="Apple",T="ASUS",I="BlackBerry",x="Browser",A="Chrome",P="Firefox",O="Google",_="Honor",M="Huawei",R="LG",D="Microsoft",F="Motorola",L="Nvidia",N="OnePlus",B="Opera",V="OPPO",U="Samsung",j="Sharp",z="Sony",$="Xiaomi",H="Zebra",W="Facebook",q="Chromium OS",K="Mac OS",G=" Browser",J=function(e){for(var t={},i=0;i<e.length;i++)t[e[i].toUpperCase()]=e[i];return t},Q=function(e,t){return typeof e===c&&-1!==X(t).indexOf(X(e))},X=function(e){return e.toLowerCase()},Z=function(e,t){if(typeof e===c)return e=e.replace(/^\s\s*/,""),typeof t===a?e:e.substring(0,500)},Y=function(e,t){for(var i,n,r,a,c,l,u=0;u<t.length&&!c;){var h=t[u],p=t[u+1];for(i=n=0;i<h.length&&!c&&h[i];)if(c=h[i++].exec(e))for(r=0;r<p.length;r++)l=c[++n],typeof(a=p[r])===d&&a.length>0?2===a.length?typeof a[1]==s?this[a[0]]=a[1].call(this,l):this[a[0]]=a[1]:3===a.length?typeof a[1]!==s||a[1].exec&&a[1].test?this[a[0]]=l?l.replace(a[1],a[2]):o:this[a[0]]=l?a[1].call(this,l,a[2]):o:4===a.length&&(this[a[0]]=l?a[3].call(this,l.replace(a[1],a[2])):o):this[a]=l||o;u+=2}},ee=function(e,t){for(var i in t)if(typeof t[i]===d&&t[i].length>0){for(var n=0;n<t[i].length;n++)if(Q(t[i][n],e))return"?"===i?o:i}else if(Q(t[i],e))return"?"===i?o:i;return t.hasOwnProperty("*")?t["*"]:e},te={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},ie={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[m,[h,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[m,[h,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[h,m],[/opios[\/ ]+([\w\.]+)/i],[m,[h,B+" Mini"]],[/\bop(?:rg)?x\/([\w\.]+)/i],[m,[h,B+" GX"]],[/\bopr\/([\w\.]+)/i],[m,[h,B]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[m,[h,"Baidu"]],[/\b(?:mxbrowser|mxios|myie2)\/?([-\w\.]*)\b/i],[m,[h,"Maxthon"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,/(avant|iemobile|slim(?:browser|boat|jet))[\/ ]?([\d\.]*)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio|(?=comodo_)?dragon)\/([-\w\.]+)/i,/(heytap|ovi|115)browser\/([\d\.]+)/i,/(weibo)__([\d\.]+)/i],[h,m],[/quark(?:pc)?\/([-\w\.]+)/i],[m,[h,"Quark"]],[/\bddg\/([\w\.]+)/i],[m,[h,"DuckDuckGo"]],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[m,[h,"UC"+x]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[m,[h,"WeChat"]],[/konqueror\/([\w\.]+)/i],[m,[h,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[m,[h,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[m,[h,"Yandex"]],[/slbrowser\/([\w\.]+)/i],[m,[h,"Smart Lenovo "+x]],[/(avast|avg)\/([\w\.]+)/i],[[h,/(.+)/,"$1 Secure "+x],m],[/\bfocus\/([\w\.]+)/i],[m,[h,P+" Focus"]],[/\bopt\/([\w\.]+)/i],[m,[h,B+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[m,[h,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[m,[h,"Dolphin"]],[/coast\/([\w\.]+)/i],[m,[h,B+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[m,[h,"MIUI"+G]],[/fxios\/([\w\.-]+)/i],[m,[h,P]],[/\bqihoobrowser\/?([\w\.]*)/i],[m,[h,"360"]],[/\b(qq)\/([\w\.]+)/i],[[h,/(.+)/,"$1Browser"],m],[/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i],[[h,/(.+)/,"$1"+G],m],[/samsungbrowser\/([\w\.]+)/i],[m,[h,U+" Internet"]],[/metasr[\/ ]?([\d\.]+)/i],[m,[h,"Sogou Explorer"]],[/(sogou)mo\w+\/([\d\.]+)/i],[[h,"Sogou Mobile"],m],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345(?=browser|chrome|explorer))\w*[\/ ]?v?([\w\.]+)/i],[h,m],[/(lbbrowser|rekonq)/i,/\[(linkedin)app\]/i],[h],[/ome\/([\w\.]+) \w* ?(iron) saf/i,/ome\/([\w\.]+).+qihu (360)[es]e/i],[m,h],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[h,W],m],[/(Klarna)\/([\w\.]+)/i,/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/(daum)apps[\/ ]([\w\.]+)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(alipay)client\/([\w\.]+)/i,/(twitter)(?:and| f.+e\/([\w\.]+))/i,/(chromium|instagram|snapchat)[\/ ]([-\w\.]+)/i],[h,m],[/\bgsa\/([\w\.]+) .*safari\//i],[m,[h,"GSA"]],[/musical_ly(?:.
2138+app_?version\/|_)([\w\.]+)/i],[m,[h,"TikTok"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[m,[h,A+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[h,A+" WebView"],m],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[m,[h,"Android "+x]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[h,m],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[m,[h,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[m,h],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[h,[m,ee,{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}]],[/(webkit|khtml)\/([\w\.]+)/i],[h,m],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[h,"Netscape"],m],[/(wolvic|librewolf)\/([\w\.]+)/i],[h,m],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[m,[h,P+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(amaya|dillo|doris|icab|ladybird|lynx|mosaic|netsurf|obigo|polaris|w3m|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/\b(links) \(([\w\.]+)/i],[h,[m,/_/g,"."]],[/(cobalt)\/([\w\.]+)/i],[h,[m,/master.|lts./,""]]],cpu:[[/\b((amd|x|x86[-_]?|wow|win)64)\b/i],[[g,"amd64"]],[/(ia32(?=;))/i,/\b((i[346]|x)86)(pc)?\b/i],[[g,"ia32"]],[/\b(aarch64|arm(v?[89]e?l?|_?64))\b/i],[[g,"arm64"]],[/\b(arm(v[67])?ht?n?[fl]p?)\b/i],[[g,"armhf"]],[/( (ce|mobile); ppc;|\/[\w\.]+arm\b)/i],[[g,"arm"]],[/((ppc|powerpc)(64)?)( mac|;|\))/i],[[g,/ower/,"",X]],[/ sun4\w[;\)]/i],[[g,"sparc"]],[/\b(avr32|ia64(?=;)|68k(?=\))|\barm(?=v([1-7]|[5-7]1)l?|;|eabi)|(irix|mips|sparc)(64)?\b|pa-risc)/i],[[g,X]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[u,[f,U],[p,y]],[/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]((?!sm-[lr])[-\w]+)/i,/sec-(sgh\w+)/i],[u,[f,U],[p,b]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[u,[f,E],[p,b]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[u,[f,E],[p,y]],[/(macintosh);/i],[u,[f,E]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[u,[f,j],[p,b]],[/\b((?:brt|eln|hey2?|gdi|jdn)-a?[lnw]09|(?:ag[rm]3?|jdn2|kob2)-a?[lw]0[09]hn)(?: bui|\)|;)/i],[u,[f,_],[p,y]],[/honor([-\w ]+)[;\)]/i],[u,[f,_],[p,b]],[/\b((?:ag[rs][2356]?k?|bah[234]?|bg[2o]|bt[kv]|cmr|cpn|db[ry]2?|jdn2|got|kob2?k?|mon|pce|scm|sht?|[tw]gr|vrd)-[ad]?[lw][0125][09]b?|605hw|bg2-u03|(?:gem|fdr|m2|ple|t1)-[7a]0[1-4][lu]|t1-a2[13][lw]|mediapad[\w\. ]*(?= bui|\)))\b(?!.+d\/s)/i],[u,[f,M],[p,y]],[/(?:huawei)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[u,[f,M],[p,b]],[/oid[^\)]+; (2[\dbc]{4}(182|283|rp\w{2})[cgl]|m2105k81a?c)(?: bui|\))/i,/\b((?:red)?mi[-_ ]?pad[\w- ]*)(?: bui|\))/i],[[u,/_/g," "],[f,$],[p,y]],[/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\))/i,/ ([\w ]+) miui\/v?\d/i],[[u,/_/g," "],[f,$],[p,b]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[u,[f,V],[p,b]],[/\b(opd2(\d{3}a?))(?: bui|\))/i],[u,[f,ee,{OnePlus:["304","403","203"],"*":V}],[p,y]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[u,[f,"Vivo"],[p,b]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[u,[f,"Realme"],[p,b]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto(?! 360)[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[u,[f,F],[p,b]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[u,[f,F],[p,y]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[u,[f,R],[p,y]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv|watch)\w+)/i,/\blg-?([\d\w]+) bui/i],[u,[f,R],[p,b]],[/(ideatab[-\w ]+|602lv|d-42a|a101lv|a2109a|a3500-hv|s[56]000|pb-6505[my]|tb-?x?\d{3,4}
2138(?:f[cu]|xu|[av])|yt\d?-[jx]?\d+[lfmx])( bui|;|\)|\/)/i,/lenovo ?(b[68]0[08]0-?[hf]?|tab(?:[\w- ]+?)|tb[\w-]{6,7})( bui|;|\)|\/)/i],[u,[f,"Lenovo"],[p,y]],[/(nokia) (t[12][01])/i],[f,u,[p,y]],[/(?:maemo|nokia).*(n900|lumia \d+|rm-\d+)/i,/nokia[-_ ]?(([-\w\. ]*))/i],[[u,/_/g," "],[p,b],[f,"Nokia"]],[/(pixel (c|tablet))\b/i],[u,[f,O],[p,y]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[u,[f,O],[p,b]],[/droid.+; (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[u,[f,z],[p,b]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[u,"Xperia Tablet"],[f,z],[p,y]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[u,[f,N],[p,b]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[u,[f,k],[p,y]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[u,/(.+)/g,"Fire Phone $1"],[f,k],[p,b]],[/(playbook);[-\w\),; ]+(rim)/i],[u,f,[p,y]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[u,[f,I],[p,b]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[u,[f,T],[p,y]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[u,[f,T],[p,b]],[/(nexus 9)/i],[u,[f,"HTC"],[p,y]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[f,[u,/_/g," "],[p,b]],[/droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])\w*(\)| bui)/i],[u,[f,"TCL"],[p,y]],[/(itel) ((\w+))/i],[[f,X],u,[p,ee,{tablet:["p10001l","w7001"],"*":"mobile"}]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[u,[f,"Acer"],[p,y]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[u,[f,"Meizu"],[p,b]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[u,[f,"Ulefone"],[p,b]],[/; (energy ?\w+)(?: bui|\))/i,/; energizer ([\w ]+)(?: bui|\))/i],[u,[f,"Energizer"],[p,b]],[/; cat (b35);/i,/; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i],[u,[f,"Cat"],[p,b]],[/((?:new )?andromax[\w- ]+)(?: bui|\))/i],[u,[f,"Smartfren"],[p,b]],[/droid.+; (a(?:015|06[35]|142p?))/i],[u,[f,"Nothing"],[p,b]],[/; (x67 5g|tikeasy \w+|ac[1789]\d\w+)( b|\))/i,/archos ?(5|gamepad2?|([\w ]*[t1789]|hello) ?\d+[\w ]*)( b|\))/i],[u,[f,"Archos"],[p,y]],[/archos ([\w ]+)( b|\))/i,/; (ac[3-6]\d\w{2,8})( b|\))/i],[u,[f,"Archos"],[p,b]],[/(imo) (tab \w+)/i,/(infinix) (x1101b?)/i],[f,u,[p,y]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus(?! zenw)|dell|jolla|meizu|motorola|polytron|infinix|tecno|micromax|advan)[-_ ]?([-\w]*)/i,/; (hmd|imo) ([\w ]+?)(?: bui|\))/i,/(hp) ([\w ]+\w)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w ]+?)(?: bui|\)|\/)/i,/(oppo) ?([\w ]+) bui/i],[f,u,[p,b]],[/(kobo)\s(ereader|touch)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[f,u,[p,y]],[/(surface duo)/i],[u,[f,D],[p,y]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[u,[f,"Fairphone"],[p,b]],[/(u304aa)/i],[u,[f,"AT&T"],[p,b]],[/\bsie-(\w*)/i],[u,[f,"Siemens"],[p,b]],[/\b(rct\w+) b/i],[u,[f,"RCA"],[p,y]],[/\b(venue[\d ]{2,7}) b/i],[u,[f,"Dell"],[p,y]],[/\b(q(?:mv|ta)\w+) b/i],[u,[f,"Verizon"],[p,y]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[u,[f,"Barnes & Noble"],[p,y]],[/\b(tm\d{3}\w+) b/i],[u,[f,"NuVision"],[p,y]],[/\b(k88) b/i],[u,[f,"ZTE"],[p,y]],[/\b(nx\d{3}j) b/i],[u,[f,"ZTE"],[p,b]],[/\b(gen\d{3}) b.+49h/i],[u,[f,"Swiss"],[p,b]],[/\b(zur\d{3}) b/i],[u,[f,"Swiss"],[p,y]],[/\b((zeki)?tb.*\b) b/i],[u,[f,"Zeki"],[p,y]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[f,"Dragon Touch"],u,[p,y]],[/\b(ns-?\w{0,9}) b/i],[u,[f,"Insignia"],[p,y]],[/\b((nxa|next)-?\w{0,9}) b/i],[u,[f,"NextBook"],[p,y]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[f,"Voice"],u,[p,b]],[/\b(lvtel\-)?(v1[12]) b/i],[[f,"LvTel"],u,[p,b]],[/\b(ph-1) /i],[u,[f,"Essential"],[p,b]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[u,[f,"Envizen"],[p,y]],[/\b(trio[-\w\. ]+) b/i],[u,[f,"MachSpeed"],[p,y]],[/\btu_(1491) b/i],[u,[f,"Rotor"],[p,y]],[/((?:tegranote|shield t(?!.+d tv))[\w- ]*?)(?: b|\))/i],[u,[f,L],[p,y]],[/(sprint) (\w+)/i],[f,u,[p,b]],[/(kin\.[onetw]{3})/i],[[u,/\./g," "],[f,D],[p,b]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[u,[f,H],[p,y]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[u,[f,H],[p,b]],[/smart-tv.+(samsung)/i],[f,[p,S]],[/hbbtv.+maple;(\d+)/i],[[u,/^/,"SmartTV"],[f,U],[p,S]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[f,R],[p,S]],[/(apple) ?tv/i],[f,[u,E+" TV"],[p,S]],[/crkey/i],[[u,A+"cast"],[f,O],[p,S]],[/droid.+aft(\w+)( bui|\))/i],[u,[f,k],[p,S]],[/(shield \w+ tv)/i],[u,[f,L],[p,S]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[u,[f,j],[p,S]],[/(bravia[\w ]+)( bui|\))/i],[u,[f,z],[p,S]],[/(mi(tv|box)-?\w+) bui/i],[u,[f,$],[p,S]],[/Hbbtv.*(technisat) (.*);/i],[f,u,[p,S]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[f,Z],[u,Z],[p,S]],[/droid.+; ([\w- ]+) (?:android tv|smart[- ]?tv)/i],[u,[p,S]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[p,S]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[f,u,[p,v]],[/droid.+; (shield)( bui|\))/i],[u,[f,L],[p,v]],[/(playstation \w+)/i],[u,[f,z],[p,v]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[u,[f,D],[p,v]],[/\b(sm-[lr]\d\d[0156][fnuw]?s?|gear live)\b/i],[u,[f,U],[p,w]],[/((pebble))app/i,/(asu
vendor: 4,189 bytes, line 2138
2138s|google|lg|oppo) ((pixel |zen)?watch[\w ]*)( bui|\))/i],[f,u,[p,w]],[/(ow(?:19|20)?we?[1-3]{1,3})/i],[u,[f,V],[p,w]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[u,[f,E],[p,w]],[/(opwwe\d{3})/i],[u,[f,N],[p,w]],[/(moto 360)/i],[u,[f,F],[p,w]],[/(smartwatch 3)/i],[u,[f,z],[p,w]],[/(g watch r)/i],[u,[f,R],[p,w]],[/droid.+; (wt63?0{2,3})\)/i],[u,[f,H],[p,w]],[/droid.+; (glass) \d/i],[u,[f,O],[p,w]],[/(pico) (4|neo3(?: link|pro)?)/i],[f,u,[p,w]],[/; (quest( \d| pro)?)/i],[u,[f,W],[p,w]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[f,[p,C]],[/(aeobc)\b/i],[u,[f,k],[p,C]],[/(homepod).+mac os/i],[u,[f,E],[p,C]],[/windows iot/i],[[p,C]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+? mobile safari/i],[u,[p,b]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[u,[p,y]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[p,y]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[p,b]],[/droid .+?; ([\w\. -]+)( bui|\))/i],[u,[f,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[m,[h,"EdgeHTML"]],[/(arkweb)\/([\w\.]+)/i],[h,m],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[m,[h,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna|servo)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[h,m],[/ladybird\//i],[[h,"LibWeb"]],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[m,h]],os:[[/microsoft (windows) (vista|xp)/i],[h,m],[/(windows (?:phone(?: os)?|mobile|iot))[\/ ]?([\d\.\w ]*)/i],[h,[m,ee,te]],[/windows nt 6\.2; (arm)/i,/windows[\/ ]([ntce\d\. ]+\w)(?!.+xbox)/i,/(?:win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[m,ee,te],[h,"Windows"]],[/[adehimnop]{4,7}\b(?:.*os ([\w]+) like mac|; opera)/i,/(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[m,/_/g,"."],[h,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[h,K],[m,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[m,h],[/(ubuntu) ([\w\.]+) like android/i],[[h,/(.+)/,"$1 Touch"],m],[/(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen|webos)\w*[-\/; ]?([\d\.]*)/i],[h,m],[/\(bb(10);/i],[m,[h,I]],[/(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\/ ]?([\w\.]*)/i],[m,[h,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[m,[h,P+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[m,[h,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[m,[h,"watchOS"]],[/crkey\/([\d\.]+)/i],[m,[h,A+"cast"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[h,q],m],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux)(?: arm\w*| x86\w*| ?)([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[h,m],[/(sunos) ?([\w\.\d]*)/i],[[h,"Solaris"],m],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[h,m]]},ne=function(e,t){if(typeof e===d&&(t=e,e=o),!(this instanceof ne))return new ne(e,t).getResult();var i=typeof r!==a&&r.navigator?r.navigator:o,n=e||(i&&i.userAgent?i.userAgent:""),v=i&&i.userAgentData?i.userAgentData:o,S=t?function(e,t){var i={};for(var n in e)t[n]&&t[n].length%2==0?i[n]=t[n].concat(e[n]):i[n]=e[n];return i}(ie,t):ie,w=i&&i.userAgent==n;return this.getBrowser=function(){var e,t={};return t[h]=o,t[m]=o,Y.call(t,n,S.browser),t[l]=typeof(e=t[m])===c?e.replace(/[^\d\.]/g,"").split(".")[0]:o,w&&i&&i.brave&&typeof i.brave.isBrave==s&&(t[h]="Brave"),t},this.getCPU=function(){var e={};return e[g]=o,Y.call(e,n,S.cpu),e},this.getDevice=function(){var e={};
2138return e[f]=o,e[u]=o,e[p]=o,Y.call(e,n,S.device),w&&!e[p]&&v&&v.mobile&&(e[p]=b),w&&"Macintosh"==e[u]&&i&&typeof i.standalone!==a&&i.maxTouchPoints&&i.maxTouchPoints>2&&(e[u]="iPad",e[p]=y),e},this.getEngine=function(){var e={};return e[h]=o,e[m]=o,Y.call(e,n,S.engine),e},this.getOS=function(){var e={};return e[h]=o,e[m]=o,Y.call(e,n,S.os),w&&!e[h]&&v&&v.platform&&"Unknown"!=v.platform&&(e[h]=v.platform.replace(/chrome os/i,q).replace(/macos/i,K)),e},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return n},this.setUA=function(e){return n=typeof e===c&&e.length>500?Z(e,500):e,this},this.setUA(n),this};ne.VERSION="1.0.41",ne.BROWSER=J([h,m,l]),ne.CPU=J([g]),ne.DEVICE=J([u,f,p,v,b,S,y,w,C]),ne.ENGINE=ne.OS=J([h,m]),typeof t!==a?(e.exports&&(t=e.exports=ne),t.UAParser=ne):i.amdO?(n=function(){return ne}.call(t,i,t,e))===o||(e.exports=n):typeof r!==a&&(r.UAParser=ne);var re=typeof r!==a&&(r.jQuery||r.Zepto);if(re&&!re.ua){var oe=new ne;re.ua=oe.getResult(),re.ua.get=function(){return oe.getUA()},re.ua.set=function(e){oe.setUA(e);var t=oe.getResult();for(var i in t)re.ua[i]=t[i]}}}("object"==typeof window?window:this)},95391(e,t,i){"use strict";var n;i.d(t,{A:()=>l});var r=new Uint8Array(16);function o(){if(!n&&!(n="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return n(r)}const s=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;for(var a=[],d=0;d<256;++d)a.push((d+256).toString(16).substr(1));const c=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=(a[e[t+0]]+a[e[t+1]]+a[e[t+2]]+a[e[t+3]]+"-"+a[e[t+4]]+a[e[t+5]]+"-"+a[e[t+6]]+a[e[t+7]]+"-"+a[e[t+8]]+a[e[t+9]]+"-"+a[e[t+10]]+a[e[t+11]]+a[e[t+12]]+a[e[t+13]]+a[e[t+14]]+a[e[t+15]]).toLowerCase();if(!function(e){return"string"==typeof e&&s.test(e)}(i))throw TypeError("Stringified UUID is invalid");return i},l=function(e,t,i){var n=(e=e||{}).random||(e.rng||o)();if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,t){i=i||0;for(var r=0;r<16;++r)t[i+r]=n[r];return t}return c(n)}},35879(e,t,i){"use strict";i.d(t,{tH:()=>s});var n=i(63696);const r=(0,n.createContext)(null),o={didCatch:!1,error:null};class s extends n.Component{constructor(e){super(e),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=o}static getDerivedStateFromError(e){return{didCatch:!0,error:e}}resetErrorBoundary(...e){const{error:t}=this.state;null!==t&&(this.props.onReset?.({args:e,reason:"imperative-api"}),this.setState(o))}componentDidCatch(e,t){this.props.onError?.(e,t)}componentDidUpdate(e,t){const{didCatch:i}=this.state,{resetKeys:n}=this.props;i&&null!==t.error&&function(e=[],t=[]){return e.length!==t.length||e.some((e,i)=>!Object.is(e,t[i]))}(e.resetKeys,n)&&(this.props.onReset?.({next:n,prev:e.resetKeys,reason:"keys"}),this.setState(o))}render(){const{children:e,fallbackRender:t,FallbackComponent:i,fallback:o}=this.props,{didCatch:s,error:a}=this.state;let d=e;if(s){const e={error:a,resetErrorBoundary:this.resetErrorBoundary};if("function"==typeof t)d=t(e);else if(i)d=(0,n.createElement)(i,e);else{if(void 0===o)throw a;d=o}}return(0,n.createElement)(r.Provider,{value:{didCatch:s,error:a,resetErrorBoundary:this.resetErrorBoundary}},d)}}}}]); 2139//# sourceMappingURL=7317-93d04de95900ae5d3cc4.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.