UNPKG

@agora-js/shared

Version:

internal utils shared across @agora-js packages

5 lines (4 loc) 152 kB
/** * AgoraWebSDK_N-v4.24.2-0-g002485b1-dirty Copyright AgoraInc. */ import e from"ua-parser-js";import t from"axios";const r=()=>{};function s(){const e={promise:void 0,isResolved:!1,isRejected:!1,isFinished:!1,resolve:void 0,reject:void 0,cancel:r};return e.promise=new Promise(((t,r)=>{e.resolve=r=>{e.isFinished||(e.isResolved=!0,e.isFinished=!0,t(r),e.value=r)},e.reject=t=>{e.isFinished||(e.isRejected=!0,e.isFinished=!0,r(t))}})),e}function i(e){const t=s();return t.resolve(e),t}function n(e){const t=s(),r=setTimeout(t.resolve,e);return t.cancel=()=>clearTimeout(r),t}const o=new Map,a=new Map,c=new Map;function E(e,t){a.set(e,t)}async function d(e,t,r){o.get(e)||o.set(e,[]),a.get(e)||a.set(e,t),c.get(e)||c.set(e,0);const i=o.get(e),n=a.get(e);if(!i||!n)throw new Error("concurrent: deferQueue or maxConcurrency is null");if(c.get(e)===n){const e=s();i.push(e),await e.promise}c.set(e,c.get(e)+1);for(var E=arguments.length,d=new Array(E>3?E-3:0),u=3;u<E;u++)d[u-3]=arguments[u];const _=await r(...d);return c.set(e,c.get(e)-1),c.get(e)===n-1&&i.length>0&&(i[0].resolve(),i.shift()),0===c.get(e)&&(o.set(e,[]),a.set(e,0),c.set(e,0)),_}let u=function(e){return e.WIN_10="Windows 10",e.WIN_81="Windows 8.1",e.WIN_8="Windows 8",e.WIN_7="Windows 7",e.WIN_VISTA="Windows Vista",e.WIN_SERVER_2003="Windows Server 2003",e.WIN_XP="Windows XP",e.WIN_2000="Windows 2000",e.ANDROID="Android",e.HARMONY_OS="HarmonyOS",e.OPEN_BSD="Open BSD",e.SUN_OS="Sun OS",e.LINUX="Linux",e.IOS="iOS",e.MAC_OS="Mac OS",e.CHROMIUM_OS="Chromium OS",e.QNX="QNX",e.UNIX="UNIX",e.BEOS="BeOS",e.OS_2="OS/2",e.SEARCH_BOT="Search Bot",e}({}),_=function(e){return e.CHROME="Chrome",e.SAFARI="Safari",e.EDGE="Edge",e.FIREFOX="Firefox",e.OPERA="OPR",e.QQ="QQBrowser",e.WECHAT="MicroMessenger",e}({});const l=new e;let h=l.getResult(),p=null;function R(e){if(!p){e&&l.setUA(e),h=l.getResult();const t=T(h),r=A(h),s=I(h),i=h.os.version,n=A(h,!1),o=h.device.type;if(!(t&&r&&s&&i))return{name:t,version:r,os:s,osVersion:i,browserVersion:n,deviceType:o};p={name:t,version:r,os:s,osVersion:i,browserVersion:n,deviceType:o}}return p}function T(e){if("Blink"===e.engine.name&&"WeChat"!==e.browser.name)return _.CHROME;switch(e.browser.name){case"Chrome Headless":case"Chrome":case"Chromium":return _.CHROME;case"Safari":case"Mobile Safari":return _.SAFARI;case"Edge":return _.EDGE;case"Firefox":return _.FIREFOX;case"QQ":case"QQBrowser":return _.QQ;case"Opera":return _.OPERA;case"WeChat":return _.WECHAT;default:return e.browser.name||""}}function A(e){let t,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return t="Blink"===e.engine.name?e.engine.version||"":e.browser.version||"",r?t.split(".")[0]:t}function I(e){return"Windows"===e.os.name?e.os.version?e.os.name+" "+e.os.version:e.os.name:e.os.name||""}function m(e){const t=e||navigator.userAgent;let r=t.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i)||[];if("Chrome"===r[1]){const e=t.match(/(OPR(?=\/))\/?(\d+)/i);null!==e&&(r=e)}if("Safari"===r[1]){const e=t.match(/version\/(\d+)/i);null!==e&&(r[2]=e[1])}if(-1!==t.toLowerCase().indexOf("qqbrowser")){const e=t.match(/(qqbrowser(?=\/))\/?(\d+)/i);null!==e&&(r=e)}if(-1!==t.toLowerCase().indexOf("micromessenger")){const e=t.match(/(micromessenger(?=\/))\/?(\d+)/i);null!==e&&(r=e)}if(-1!==t.toLowerCase().indexOf("edge")){const e=t.match(/(edge(?=\/))\/?(\d+)/i);null!==e&&(r=e)}if(-1!==t.toLowerCase().indexOf("trident")){const e=/\brv[ :]+(\d+)/g.exec(t)||[];null!==e&&(r=["","IE",e[1]])}let s=null;const i=[{s:u.WIN_10,r:/(Windows 10.0|Windows NT 10.0)/},{s:u.WIN_81,r:/(Windows 8.1|Windows NT 6.3)/},{s:u.WIN_8,r:/(Windows 8|Windows NT 6.2)/},{s:u.WIN_7,r:/(Windows 7|Windows NT 6.1)/},{s:u.WIN_VISTA,r:/Windows NT 6.0/},{s:u.WIN_SERVER_2003,r:/Windows NT 5.2/},{s:u.WIN_XP,r:/(Windows NT 5.1|Windows XP)/},{s:u.WIN_2000,r:/(Windows NT 5.0|Windows 2000)/},{s:u.ANDROID,r:/Android/},{s:u.OPEN_BSD,r:/OpenBSD/},{s:u.SUN_OS,r:/SunOS/},{s:u.LINUX,r:/(Linux|X11)/},{s:u.IOS,r:/(iPhone|iPad|iPod)/},{s:u.MAC_OS,r:/(MacPPC|MacIntel|Mac_PowerPC|Macintosh)/},{s:u.QNX,r:/QNX/},{s:u.UNIX,r:/UNIX/},{s:u.BEOS,r:/BeOS/},{s:u.OS_2,r:/OS\/2/},{s:u.SEARCH_BOT,r:/(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask Jeeves\/Teoma|ia_archiver)/}];for(const e of i)if(e.r.test(t)){s=e.s;break}return{name:r[1],version:r[2],os:s}}function S(){return R().version}function O(){return R().os}function N(){const e=R();return"".concat(e.os," ").concat(e.osVersion)}function C(){const e=R();return!!("WebKit"===h.engine.name&&e.os===u.MAC_OS&&navigator.maxTouchPoints&&navigator.maxTouchPoints>0&&e.name!==_.SAFARI||F()&&e.name!==_.SAFARI)}function f(){const e=R();if(C()){if(e.os===u.MAC_OS)return!0;if(e.os===u.IOS){const e=h.os.version&&h.os.version.split(".");if(e&&14===Number(e[0])&&e[1]&&Number(e[1])>=3)return!0;if(e&&Number(e[0])>14)return!0}}return!1}function D(){return"WebKit"===h.engine.name}function L(){return R().name===_.CHROME}function g(){return R().name===_.SAFARI}function M(){const e=R();if(e.name!==_.SAFARI||!e.browserVersion)return!1;const t=e.browserVersion.split(".");return Number(t[0])>15||15===Number(t[0])&&Number(t[1])>=4}function b(){const e=R();if(e.name!==_.SAFARI||!e.browserVersion)return!1;const t=e.browserVersion.split(".");return Number(t[0])>18||18===Number(t[0])&&Number(t[1])>=4}function y(){return R().name===_.EDGE}function P(){return R().name===_.FIREFOX}function v(e){const t=R();return!(t.name!==_.FIREFOX||!t.osVersion)&&Number(t.version)===e}function w(){return R().name===_.OPERA}function U(){return R().name===_.QQ}function F(){return R().os===u.IOS}function V(e){const t=R();return!(t.name!==_.CHROME||!t.osVersion)&&Number(t.version)>=e}function k(e){const t=R();return!(t.name!==_.CHROME||!t.osVersion)&&Number(t.version)<e}function B(e,t,r){const s=R();return!(s.name!==e||!s.osVersion)&&(r?Number(s.version)>=t&&Number(s.version)<=r:Number(s.version)===t)}function x(e){const t=R();return!(t.name!==_.EDGE||!t.osVersion)&&Number(t.version)>=e}function K(e){const t=R();return!(t.name!==_.FIREFOX||!t.osVersion)&&Number(t.version)>=e}function G(e){const t=R();return!(t.name!==_.SAFARI||!t.osVersion)&&Number(t.version)>=e}function H(e,t,r){const s=R();if(s.os!==u.IOS||!s.osVersion)return!1;const i=s.osVersion.split(".");return r?t&&Number(i[0])===e&&Number(i[1])>t||Number(i[0])>e:t?Number(i[0])===e&&Number(i[1])>=t||Number(i[0])>e:Number(i[0])>=e}function W(e,t,r){const s=R();if(s.os!==u.IOS||!s.osVersion)return!1;const i=s.osVersion.split(".");return r?t&&Number(i[0])===e&&Number(i[1])<t||Number(i[0])<e:t?Number(i[0])===e&&Number(i[1])<=t||Number(i[0])<e:Number(i[0])<=e}function Y(e,t,r){const s=R();if(s.name!==_.SAFARI||!s.osVersion||!s.browserVersion)return!1;const i=s.browserVersion.split(".");return r?t&&Number(i[0])===e&&Number(i[1])<t||Number(i[0])<e:t?Number(i[0])===e&&Number(i[1])<=t||Number(i[0])<e:Number(i[0])<=e}function j(e){const t=R();return!(t.name!==_.OPERA||!t.osVersion)&&Number(t.version)>=e}function z(){const e=R();return!(e.name!==_.CHROME||!e.osVersion)&&Number(e.version)<=90}function X(){return R().os===u.MAC_OS}function J(){const e=R();if(e.os!==u.IOS||!e.osVersion)return!1;const t=e.osVersion.split(".");return 13===Number(t[0])}function Q(){const e=R();if(e.os!==u.IOS||!e.osVersion)return!1;const t=e.osVersion.split(".");return Number(t[0])>=13}function q(){const e=R();if(e.os!==u.IOS||!e.osVersion)return!1;const t=e.osVersion.split(".");return Number(t[0])<14||14===Number(t[0])&&Number(t[1])<=6}function Z(){const e=R();if(e.os!==u.IOS||!e.osVersion)return!1;const t=e.osVersion.split(".");return 15===Number(t[0])}function $(){const e=R();if(e.os!==u.IOS||!e.osVersion)return!1;const t=e.osVersion.split(".");return 16===Number(t[0])}function ee(){const e=R();if(e.os!==u.IOS||!e.osVersion)return!1;const t=e.osVersion.split(".");return 16===Number(t[0])&&Number(t[1])>=0}function te(){const e=R();if(e.os!==u.IOS||!e.osVersion)return!1;const t=e.osVersion.split(".");return 15===Number(t[0])&&0===Number(t[1])}function re(){const e=R();if(e.os!==u.IOS||!e.osVersion)return!1;const t=e.osVersion.split(".");return 15===Number(t[0])&&Number(t[1])>=1}function se(){const e=R();if(e.os!==u.IOS||!e.osVersion)return!1;const t=e.osVersion.split(".");return 15===Number(t[0])&&Number(t[1])>=2}function ie(){return g()&&navigator.maxTouchPoints>0}function ne(){return R().name===_.WECHAT}function oe(){return window.navigator.appVersion&&null!==window.navigator.appVersion.match(/Chrome\/([\w\W]*?)\./)&&window.navigator.appVersion.match(/Chrome\/([\w\W]*?)\./)[1]<=35}function ae(){const e=O();return e===u.LINUX||e===u.MAC_OS||-1!==e.indexOf("Windows")}function ce(){return-1!==O().indexOf("Windows")}function Ee(){const{deviceType:e}=R();return"mobile"===e||"tablet"===e}function de(){const e=O();return Ee()||e===u.ANDROID||e===u.IOS||e===u.HARMONY_OS}function ue(){const e=navigator.userAgent.toLocaleLowerCase().match(/chrome\/[\d]*/i);return e&&e[0]?e[0].split("/")[1]:null}function _e(){const e=R();if(e.name===_.EDGE||e.name===_.SAFARI)return!1;return!!navigator.userAgent.toLocaleLowerCase().match(/chrome\/[\d]./i)}function le(){return O()===u.HARMONY_OS}function he(){return O()===u.ANDROID}function pe(){const e=R();return he()&&(e.name===_.CHROME||e.name===_.WECHAT||/chrome|chromium/i.test(navigator.userAgent))}function Re(){return!!window.navigator.userAgent.includes("AgoraWebView")}function Te(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var s=r.call(e,t||"default");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ae(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,s)}return r}function Ie(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Ae(Object(r),!0).forEach((function(t){Te(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ae(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}let me=function(e){return e.UNEXPECTED_ERROR="UNEXPECTED_ERROR",e.UNEXPECTED_RESPONSE="UNEXPECTED_RESPONSE",e.TIMEOUT="TIMEOUT",e.INVALID_PARAMS="INVALID_PARAMS",e.NOT_READABLE="NOT_READABLE",e.NOT_SUPPORTED="NOT_SUPPORTED",e.INVALID_OPERATION="INVALID_OPERATION",e.OPERATION_ABORTED="OPERATION_ABORTED",e.WEB_SECURITY_RESTRICT="WEB_SECURITY_RESTRICT",e.EXCHANGE_SDP_FAILED="EXCHANGE_SDP_FAILED",e.ADD_CANDIDATE_FAILED="ADD_CANDIDATE_FAILED",e.DATACHANNEL_FAILED="DATACHANNEL_FAILED",e.NETWORK_ERROR="NETWORK_ERROR",e.NETWORK_TIMEOUT="NETWORK_TIMEOUT",e.NETWORK_RESPONSE_ERROR="NETWORK_RESPONSE_ERROR",e.API_INVOKE_TIMEOUT="API_INVOKE_TIMEOUT",e.ENUMERATE_DEVICES_FAILED="ENUMERATE_DEVICES_FAILED",e.DEVICE_NOT_FOUND="DEVICE_NOT_FOUND",e.ELECTRON_IS_NULL="ELECTRON_IS_NULL",e.ELECTRON_DESKTOP_CAPTURER_GET_SOURCES_ERROR="ELECTRON_DESKTOP_CAPTURER_GET_SOURCES_ERROR",e.CHROME_PLUGIN_NO_RESPONSE="CHROME_PLUGIN_NO_RESPONSE",e.CHROME_PLUGIN_NOT_INSTALL="CHROME_PLUGIN_NOT_INSTALL",e.MEDIA_OPTION_INVALID="MEDIA_OPTION_INVALID",e.PERMISSION_DENIED="PERMISSION_DENIED",e.CONSTRAINT_NOT_SATISFIED="CONSTRAINT_NOT_SATISFIED",e.TRACK_IS_DISABLED="TRACK_IS_DISABLED",e.GET_VIDEO_ELEMENT_VISIBLE_ERROR="GET_VIDEO_ELEMENT_VISIBLE_ERROR",e.SHARE_AUDIO_NOT_ALLOWED="SHARE_AUDIO_NOT_ALLOWED",e.LOW_STREAM_ENCODING_ERROR="LOW_STREAM_ENCODING_ERROR",e.SET_ENCODING_PARAMETER_ERROR="SET_ENCODING_PARAMETER_ERROR",e.TRACK_STATE_UNREACHABLE="TRACK_STATE_UNREACHABLE",e.INVALID_UINT_UID_FROM_STRING_UID="INVALID_UINT_UID_FROM_STRING_UID",e.CAN_NOT_GET_PROXY_SERVER="CAN_NOT_GET_PROXY_SERVER",e.CAN_NOT_GET_GATEWAY_SERVER="CAN_NOT_GET_GATEWAY_SERVER",e.VOID_GATEWAY_ADDRESS="VOID_GATEWAY_ADDRESS",e.UID_CONFLICT="UID_CONFLICT",e.MULTI_UNILBS_RESPONSE_ERROR="MULTI_UNILBS_RESPONSE_ERROR",e.UPDATE_TICKET_FAILED="UPDATE_TICKET_FAILED",e.TOKEN_EXPIRE="TOKEN_EXPIRE",e.INVALID_LOCAL_TRACK="INVALID_LOCAL_TRACK",e.INVALID_TRACK="INVALID_TRACK",e.SENDER_NOT_FOUND="SENDER_NOT_FOUND",e.CREATE_OFFER_FAILED="CREATE_OFFER_FAILED",e.SET_ANSWER_FAILED="SET_ANSWER_FAILED",e.ICE_FAILED="ICE_FAILED",e.PC_CLOSED="PC_CLOSED",e.SENDER_REPLACE_FAILED="SENDER_REPLACE_FAILED",e.GET_LOCAL_CAPABILITIES_FAILED="GET_LOCAL_CAPABILITIES_FAILED",e.GET_LOCAL_CONNECTION_PARAMS_FAILED="GET_LOCAL_CONNECTION_PARAMS_FAILED",e.SUBSCRIBE_FAILED="SUBSCRIBE_FAILED",e.UNSUBSCRIBE_FAILED="UNSUBSCRIBE_FAILED",e.GATEWAY_P2P_LOST="GATEWAY_P2P_LOST",e.NO_ICE_CANDIDATE="NO_ICE_CANDIDATE",e.CAN_NOT_PUBLISH_MULTIPLE_VIDEO_TRACKS="CAN_NOT_PUBLISH_MULTIPLE_VIDEO_TRACKS",e.EXIST_DISABLED_VIDEO_TRACK="EXIST_DISABLED_VIDEO_TRACK",e.INVALID_REMOTE_USER="INVALID_REMOTE_USER",e.REMOTE_USER_IS_NOT_PUBLISHED="REMOTE_USER_IS_NOT_PUBLISHED",e.CUSTOM_REPORT_SEND_FAILED="CUSTOM_REPORT_SEND_FAILED",e.CUSTOM_REPORT_FREQUENCY_TOO_HIGH="CUSTOM_REPORT_FREQUENCY_TOO_HIGH",e.FETCH_AUDIO_FILE_FAILED="FETCH_AUDIO_FILE_FAILED",e.READ_LOCAL_AUDIO_FILE_ERROR="READ_LOCAL_AUDIO_FILE_ERROR",e.DECODE_AUDIO_FILE_FAILED="DECODE_AUDIO_FILE_FAILED",e.WS_ABORT="WS_ABORT",e.WS_DISCONNECT="WS_DISCONNECT",e.WS_ERR="WS_ERR",e.EXTERNAL_SIGNAL_ABORT="EXTERNAL_SIGNAL_ABORT",e.LIVE_STREAMING_TASK_CONFLICT="LIVE_STREAMING_TASK_CONFLICT",e.LIVE_STREAMING_INVALID_ARGUMENT="LIVE_STREAMING_INVALID_ARGUMENT",e.LIVE_STREAMING_INTERNAL_SERVER_ERROR="LIVE_STREAMING_INTERNAL_SERVER_ERROR",e.LIVE_STREAMING_PUBLISH_STREAM_NOT_AUTHORIZED="LIVE_STREAMING_PUBLISH_STREAM_NOT_AUTHORIZED",e.LIVE_STREAMING_TRANSCODING_NOT_SUPPORTED="LIVE_STREAMING_TRANSCODING_NOT_SUPPORTED",e.LIVE_STREAMING_CDN_ERROR="LIVE_STREAMING_CDN_ERROR",e.LIVE_STREAMING_INVALID_RAW_STREAM="LIVE_STREAMING_INVALID_RAW_STREAM",e.LIVE_STREAMING_WARN_STREAM_NUM_REACH_LIMIT="LIVE_STREAMING_WARN_STREAM_NUM_REACH_LIMIT",e.LIVE_STREAMING_WARN_FAILED_LOAD_IMAGE="LIVE_STREAMING_WARN_FAILED_LOAD_IMAGE",e.LIVE_STREAMING_WARN_FREQUENT_REQUEST="LIVE_STREAMING_WARN_FREQUENT_REQUEST",e.WEBGL_INTERNAL_ERROR="WEBGL_INTERNAL_ERROR",e.BEAUTY_PROCESSOR_INTERNAL_ERROR="BEAUTY_PROCESSOR_INTERNAL_ERROR",e.CROSS_CHANNEL_WAIT_STATUS_ERROR="CROSS_CHANNEL_WAIT_STATUS_ERROR",e.CROSS_CHANNEL_FAILED_JOIN_SRC="CROSS_CHANNEL_FAILED_JOIN_SEC",e.CROSS_CHANNEL_FAILED_JOIN_DEST="CROSS_CHANNEL_FAILED_JOIN_DEST",e.CROSS_CHANNEL_FAILED_PACKET_SENT_TO_DEST="CROSS_CHANNEL_FAILED_PACKET_SENT_TO_DEST",e.CROSS_CHANNEL_SERVER_ERROR_RESPONSE="CROSS_CHANNEL_SERVER_ERROR_RESPONSE",e.METADATA_OUT_OF_RANGE="METADATA_OUT_OF_RANGE",e.LOCAL_AEC_ERROR="LOCAL_AEC_ERROR",e.INVALID_PLUGIN="INVALID_PLUGIN",e.DISCONNECT_P2P="DISCONNECT_P2P",e.CONVERTING_IMAGEDATA_TO_BLOB_FAILED="CONVERTING_IMAGEDATA_TO_BLOB_FAILED",e.CONVERTING_VIDEO_FRAME_TO_BLOB_FAILED="CONVERTING_VIDEO_FRAME_TO_BLOB_FAILED",e.INIT_DATACHANNEL_TIMEOUT="INIT_DATACHANNEL_TIMEOUT",e.CREATE_DATACHANNEL_ERROR="CREATE_DATACHANNEL_ERROR",e.DATACHANNEL_CONNECTION_TIMEOUT="DATACHANNEL_CONNECTION_TIMEOUT",e.PROHIBITED_OPERATION="PROHIBITED_OPERATION",e.IMAGE_MODERATION_UPLOAD_FAILED="IMAGE_MODERATION_UPLOAD_FAILED",e.P2P_MESSAGE_FAILED="P2P_MESSAGE_FAILED",e}({});class Se extends Error{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=arguments.length>2?arguments[2]:void 0;super(t),Te(this,"code",void 0),Te(this,"message",void 0),Te(this,"data",void 0),Te(this,"name","AgoraRTCException"),this.code=e,this.message="AgoraRTCError ".concat(this.code,": ").concat(t),this.data=r}toString(){return this.data?"".concat(this.message,"\ndata: ").concat(JSON.stringify(this.data)):this.message}print(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"error",t=arguments.length>1?arguments[1]:void 0;return"error"===e&&(t||console).error(this.toString()),"warning"===e&&(t||console).warn(this.toString()),this}throw(e){throw this.print("error",e),this}}function Oe(e,t){return new Se(me.UNEXPECTED_ERROR,e,t)}function Ne(e,t){if("boolean"!=typeof e)throw new Se(me.INVALID_PARAMS,"Invalid ".concat(t,": The value is of the boolean type."))}function Ce(e,t,r){if(r.includes(e))return;throw new Se(me.INVALID_PARAMS,"".concat(t," can only be set as ").concat(JSON.stringify(r)))}function fe(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1e4;if(e<r||e>s||(!(arguments.length>4&&void 0!==arguments[4])||arguments[4])&&!function(e){return"number"==typeof e&&e%1==0}(e)){throw new Se(me.INVALID_PARAMS,"invalid ".concat(t,": the value range is [").concat(r,", ").concat(s,"]. integer only"))}}function De(e,t){if("number"!=typeof e){if(!(e.min||e.max||e.ideal||e.exact)){throw new Se(me.INVALID_PARAMS,"".concat(t," is not a valid ConstrainLong"))}void 0!==e.min&&fe(e.min,"".concat(t,".min"),0,1/0),void 0!==e.max&&fe(e.max,"".concat(t,".max"),1,1/0),void 0!==e.exact&&fe(e.exact,"".concat(t,".exact"),1,1/0),void 0!==e.ideal&&fe(e.ideal,"".concat(t,".ideal"),1,1/0)}else fe(e,t,1,1/0)}function Le(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:255,i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];if(null==e)throw new Se(me.INVALID_PARAMS,"".concat(t||"param"," cannot be empty"));if(!ye(e,r,s,i))throw new Se(me.INVALID_PARAMS,"Invalid ".concat(t||"string param",": Length of the string: [").concat(r,",").concat(s,"].").concat(i?" ASCII characters only.":""))}function ge(e,t){if(!Array.isArray(e))throw new Se(me.INVALID_PARAMS,"".concat(t," should be an array"))}function Me(e,t){const r=Object.keys(e).sort(),s=Object.keys(t).sort();for(let i=0;i<r.length;i+=1){if(r[i]!==s[i])return!1;if(e[r[i]]!==t[r[i]])return!1}return!0}function be(e){return null==e}function ye(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:255,s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];return"string"==typeof e&&e.length<=r&&e.length>=t&&(!s||function(e){if("string"!=typeof e)return!1;for(let t=0;t<e.length;t+=1){const r=e.charCodeAt(t);if(r<0||r>255)return!1}return!0}(e))}function Pe(e,t,r){if("getBigInt64"in DataView.prototype)return e.getBigInt64(t,r);const s=Number(!!r),i=Number(!r);return BigInt(e.getInt32(t,r)*i+e.getInt32(t+4,r)*s)<<BigInt(32)|BigInt(e.getUint32(t,r)*s+e.getUint32(t+4,r)*i)}function ve(e,t,r){if("getBigUint64"in DataView.prototype)return e.getBigUint64(t,r);const s=e.getUint32(t,r),i=e.getUint32(t+4,r),n=Number(!!r),o=Number(!r);return BigInt(s*o+i*n)<<BigInt(32)|BigInt(s*n+i*o)}function we(e,t,r,s){if("setBigInt64"in DataView.prototype)return e.setBigInt64(t,r,s);const i=Number(r>>BigInt(32)),n=Number(r&BigInt(4294967295));s?(e.setInt32(t+4,i,s),e.setUint32(t,n,s)):(e.setInt32(t,i,s),e.setUint32(t+4,n,s))}function Ue(e,t,r,s){if("setBigUint64"in DataView.prototype)return e.setBigUint64(t,r,s);const i=Number(r>>BigInt(32)),n=Number(r&BigInt(4294967295));s?(e.setUint32(t+4,i,s),e.setUint32(t,n,s)):(e.setUint32(t,i,s),e.setUint32(t+4,n,s))}var Fe=function(e){return e.COVERED="COVERED",e.POSITION="POSITION",e.SIZE="SIZE",e.STYLE="STYLE",e}(Fe||{}),Ve=function(e){return e.UNMOUNTED="UNMOUNTED",e.INVALID_HTML_ELEMENT="INVALID_HTML_ELEMENT",e}(Ve||{});const ke=new class{constructor(){Te(this,"_clientSize",null),Te(this,"getClientWidth",(()=>document.documentElement?document.documentElement.clientWidth:document.body.clientWidth)),Te(this,"getClientHeight",(()=>document.documentElement?document.documentElement.clientHeight:document.body.clientHeight)),Te(this,"getStyle",(e=>window.getComputedStyle(e,null))),Te(this,"checkCssVisibleProperty",(e=>{let t=!0;const r=this.getStyle(e),{display:s,visibility:i,opacity:n,filter:o}=r;if(("none"===s||["hidden","collapse"].includes(i)||Number(n)<.1)&&(t=!1),!t)return!1;if(o){o.split(" ").filter((e=>{const t=e.split("(")[0];return["brightness","blur","opacity"].includes(t)})).map((e=>{const[t,r]=e.split(/\(|\)/);return[t,Number(r.match(/^[0-9\.]+/))]})).forEach((e=>{const[r,s]=e;switch(r){case"brightness":(s<.1||s>3)&&(t=!1);break;case"blur":s>3&&(t=!1);break;case"opacity":s<.1&&(t=!1)}}))}return t})),Te(this,"checkPropertyUpToAllParentNodes",((e,t)=>{let r=!0,s=!0;const i=e=>t(e);let n=e;for(;n&&s;){i(n)||(r=!1,s=!1),n=n.parentElement,n||(s=!1)}return r})),Te(this,"checkActualCssVisibleIncludeInherit",(e=>this.checkPropertyUpToAllParentNodes(e,this.checkCssVisibleProperty))),Te(this,"getSizeAboutClient",(e=>{const{width:t,height:r,left:s,right:i,top:n,bottom:o}=e.getBoundingClientRect(),a=this.getClientWidth(),c=this.getClientHeight();return{width:t,height:r,left:s,right:i,top:n,bottom:o,clientWidth:a,clientHeight:c,clientMin:Math.min(a,c)}})),Te(this,"checkActualSize",(()=>{const{width:e,height:t,clientMin:r}=this._clientSize;return this.checkSizeIsVisible(e,t,r)})),Te(this,"elementFromPoint",((e,t)=>document.elementFromPoint?document.elementFromPoint(e,t):null)),Te(this,"checkCoverForAPoint",((e,t,r)=>{const s=this.elementFromPoint(e,t);return null!==s&&s!==r})),Te(this,"getPointPositionList",(()=>{const{width:e,height:t,left:r,top:s}=this._clientSize,i=e/6,n=t/6,o=[],a=10**6;for(let e=0;e<5;e++)for(let t=0;t<5;t++){const c=(r*a+(0===e?.1:4===e?(i*e*a-1e5)/a:i*e)*a)/a,E=(s*a+(0===t?.1:4===t?(n*t*a-1e5)/a:n*t)*a)/a;o.push({x:c,y:E})}return[...o]})),Te(this,"checkElementCover",(e=>this.getPointPositionList().map((t=>this.checkCoverForAPoint(t.x,t.y,e))).filter((e=>!!e)).length>6)),Te(this,"checkSizeIsVisible",((e,t,r)=>(e>50||r/e<=10)&&(t>50||r/t<=10))),Te(this,"checkSizeOfPartInClient",(()=>{const{left:e,right:t,top:r,bottom:s,clientHeight:i,clientWidth:n,clientMin:o}=this._clientSize;let a,c,E,d;if(e<0)a=0;else{if(!(e<n))return!1;a=e}if(t<0)return!1;if(c=t<n?t:n,r<0)E=0;else{if(!(r<i))return!1;E=r}if(s<0)return!1;d=s<i?s:i;const u=c-a,_=d-E;return this.checkSizeIsVisible(u,_,o)})),Te(this,"returnHiddenResult",(e=>(this._clientSize=null,{visible:!1,reason:e}))),Te(this,"checkOneElementVisible",(e=>{if(e instanceof HTMLElement){if(this.checkElementIsMountedOnDom(e)){if(this.checkActualCssVisibleIncludeInherit(e)){if(this._clientSize=this.getSizeAboutClient(e),this.checkElementCover(e))return this.returnHiddenResult(Fe.COVERED);{const e=this.checkActualSize(),t=this.checkSizeOfPartInClient();return e&&!t?this.returnHiddenResult(Fe.POSITION):e?(this._clientSize=null,{visible:!0}):this.returnHiddenResult(Fe.SIZE)}}return this.returnHiddenResult(Fe.STYLE)}return this.returnHiddenResult(Ve.UNMOUNTED)}return this.returnHiddenResult(Ve.INVALID_HTML_ELEMENT)})),Te(this,"checkElementIsMountedOnDom",(e=>this.checkPropertyUpToAllParentNodes(e,(e=>"HTML"!==e.nodeName.toUpperCase()?null!==e.parentElement:!!document.documentElement))))}};function Be(e){return(new TextEncoder).encode(e)}const xe=function(e,t){const r=new Uint8Array(e.byteLength+t.byteLength);return r.set(new Uint8Array(e),0),r.set(new Uint8Array(t),e.byteLength),r};function Ke(e,t){let r="";return new Uint8Array(e).forEach((e=>{r+=e.toString(t).padStart(2,"0")})),r}const Ge=async e=>{const t=function(e){const t=window.atob(e),r=new Uint8Array(new ArrayBuffer(t.length));for(let e=0;e<t.length;e+=1)r[e]=t.charCodeAt(e);return r}("MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDCMnXAHkKIGAM+x4N22gCI+Wyu\nSTM9ztkT3uYslTT2PuKmZfPzhH6kVdO7PTjGCOZnAsyb3oTtWat0KcxQ4jxvqQV+\nHvYl3iI1Yd4vl2c3qRMJPLtRDfNxa2Mcxgq7e9aEUibzdd0st+OJAy3tOj/Y0aVy\nxQiYDz3vqa6bP29adwIDAQAB"),r=await window.crypto.subtle.importKey("spki",t,{name:"RSA-OAEP",hash:"SHA-256"},!0,["encrypt"]),s=Be(e),i=await window.crypto.subtle.encrypt({name:"RSA-OAEP"},r,s);return function(e){let t="";for(let r=0;r<e.length;r+=1)t+=String.fromCharCode(e[r]);return window.btoa(t)}(new Uint8Array(i))},He=async e=>Ke(await crypto.subtle.digest("SHA-256",Be(e)),16);class We{constructor(){Te(this,"_events",{}),Te(this,"addListener",this.on)}getListeners(e){return this._events[e]?this._events[e].map((e=>e.listener)):[]}on(e,t){this._events[e]||(this._events[e]=[]);const r=this._events[e];-1===this._indexOfListener(r,t)&&r.push({listener:t,once:!1})}once(e,t){this._events[e]||(this._events[e]=[]);const r=this._events[e];-1===this._indexOfListener(r,t)&&r.push({listener:t,once:!0})}off(e,t){if(!this._events[e])return;const r=this._events[e],s=this._indexOfListener(r,t);-1!==s&&r.splice(s,1),0===this._events[e].length&&delete this._events[e]}removeAllListeners(e){e?delete this._events[e]:this._events={}}emit(e){this._events[e]||(this._events[e]=[]);const t=this._events[e].map((e=>e));for(var r=arguments.length,s=new Array(r>1?r-1:0),i=1;i<r;i++)s[i-1]=arguments[i];for(let r=0;r<t.length;r+=1){const i=t[r];i.once&&this.off(e,i.listener),i.listener.apply(this,s||[])}}safeEmit(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),s=1;s<t;s++)r[s-1]=arguments[s];[...this._events[e]||[]].forEach((t=>{t.once&&this.off(e,t.listener);try{t.listener.apply(this,r)}catch(t){console.error("safeEmit event:".concat(e," error ").concat(null==t?void 0:t.toString()))}}))}_indexOfListener(e,t){let r=e.length;for(;r--;)if(e[r].listener===t)return r;return-1}}function Ye(){return!!Xe()}function je(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return new Promise(((r,s)=>{const i=document.createElement("div");i.innerText="share screen",i.setAttribute("style","text-align: center; height: 25px; line-height: 25px; border-radius: 4px 4px 0 0; background: #D4D2D4; border-bottom: solid 1px #B9B8B9;");const n=document.createElement("div");n.setAttribute("style","width: 100%; height: 500px; padding: 15px 25px ; box-sizing: border-box;");const o=document.createElement("div");o.innerText="Agora Web Screensharing wants to share the contents of your screen with webdemo.agorabeckon.com. Choose what you'd like to share.",o.setAttribute("style","height: 12%;");const a=document.createElement("div");a.setAttribute("style","width: 100%; height: 80%; background: #FFF; border: solid 1px #CBCBCB; display: flex; flex-wrap: wrap; justify-content: space-around; overflow-y: scroll; padding: 0 15px; box-sizing: border-box;");const c=document.createElement("div");c.setAttribute("style","display: flex; justify-content: space-between; padding: 16px 0;");const E=document.createElement("button");E.innerHTML="cancel",E.setAttribute("style","width: 85px;"),E.onclick=()=>{document.body.removeChild(_);const e=new Error("NotAllowedError");e.name="NotAllowedError",s(e)};let d=t;const u=document.createElement("div");if(t){const e=document.createElement("input");e.setAttribute("type","checkbox");const t=document.createElement("span");e.setAttribute("style","margin-right: 6px;"),t.innerText="Share audio",e.checked=d,e.onchange=()=>{d=e.checked},u.appendChild(e),u.appendChild(t)}c.appendChild(u),c.appendChild(E),n.appendChild(o),n.appendChild(a),n.appendChild(c);const _=document.createElement("div");_.setAttribute("style","position: fixed; z-index: 99999999; top: 50%; left: 50%; width: 620px; height: 525px; background: #ECECEC; border-radius: 4px; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%);"),_.appendChild(i),_.appendChild(n),document.body.appendChild(_),e.map((e=>{if(e.id){const t=document.createElement("div");t.setAttribute("style","width: 30%; height: 160px; padding: 20px 0; text-align: center;box-sizing: content-box;");let s=e.thumbnail;try{const{width:e}=s.getSize();e>1920&&(s=s.resize({width:1920}))}catch(e){throw e&&e.message.startsWith("Illegal invocation")&&console.error("Operate thumbnail error, please try to set contextIsolation: false. (https://github.com/electron/electron/issues/34953)"),e}t.innerHTML='<div style="height: 120px; display: table-cell; vertical-align: middle;"><img style="width: 100%; background: #333333; box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.2);" src='+s.toDataURL()+' /></div><span style="\theight: 40px; line-height: 40px; display: inline-block; width: 70%; word-break: keep-all; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;">'+(e.name.replace(/[\u00A0-\u9999<>\&]/g,(function(e){return"&#"+e.charCodeAt(0)+";"}))+"</span>"),t.onclick=()=>{document.body.removeChild(_),r({sourceId:e.id,audio:d})},a.appendChild(t)}}))}))}let ze=null;function Xe(){if(ze)return ze;if(window.electron)return ze=window.electron;if(!window.require)return null;try{return ze=window.require("electron"),ze}catch(e){return null}}let Je=function(e){return e.CREATE_CLIENT="createClient",e.CHECK_SYSTEM_REQUIREMENTS="checkSystemRequirements",e.SET_AREA="setArea",e.PRELOAD="PRELOAD",e.CHECK_VIDEO_TRACK_IS_ACTIVE="checkVideoTrackIsActive",e.CHECK_AUDIO_TRACK_IS_ACTIVE="checkAudioTrackIsActive",e.CREATE_MIC_AUDIO_TRACK="createMicrophoneAudioTrack",e.CREATE_CUSTOM_AUDIO_TRACK="createCustomAudioTrack",e.CREATE_BUFFER_AUDIO_TRACK="createBufferSourceAudioTrack",e.CREATE_CAM_VIDEO_TRACK="createCameraVideoTrack",e.CREATE_CUSTOM_VIDEO_TRACK="createCustomVideoTrack",e.CREATE_MIC_AND_CAM_TRACKS="createMicrophoneAndCameraTracks",e.CREATE_SCREEN_VIDEO_TRACK="createScreenVideoTrack",e.SET_ENCRYPTION_CONFIG="Client.setEncryptionConfig",e.START_PROXY_SERVER="Client.startProxyServer",e.STOP_PROXY_SERVER="Client.stopProxyServer",e.SET_PROXY_SERVER="Client.setProxyServer",e.SET_TURN_SERVER="Client.setTurnServer",e.SET_CLIENT_ROLE="Client.setClientRole",e.SET_LOW_STREAM_PARAMETER="Client.setLowStreamParameter",e.ENABLE_DUAL_STREAM="Client.enableDualStream",e.DISABLE_DUAL_STREAM="Client.disableDualStream",e.JOIN="Client.join",e.LEAVE="Client.leave",e.PUBLISH="Client.publish",e.UNPUBLISH="Client.unpublish",e.SUBSCRIBE="Client.subscribe",e.MASS_SUBSCRIBE="Client.massSubscribe",e.MASS_UNSUBSCRIBE="Client.massUnsubscribe",e.UNSUBSCRIBE="Client.unsubscribe",e.RENEW_TOKEN="Client.renewToken",e.SET_REMOTE_VIDEO_STREAM_TYPE="Client.setRemoteVideoStreamType",e.SET_STREAM_FALLBACK_OPTION="Client.setStreamFallbackOption",e.ENABLE_AUDIO_VOLUME_INDICATOR="Client.enableAudioVolumeIndicator",e.SEND_CUSTOM_REPORT_MESSAGE="Client.sendCustomReportMessage",e.INSPECT_VIDEO_CONTENT="Client.inspectVideoContent",e.STOP_INSPECT_VIDEO_CONTENT="Client.stopInspectVideoContent",e.JOIN_FALLBACK_TO_PROXY="Client._joinFallbackToProxy",e.ON_LIVE_STREAM_WARNING="Client.onLiveStreamWarning",e.ON_LIVE_STREAM_ERROR="Client.onLiveStreamingError",e.START_LIVE_STREAMING="Client.startLiveStreaming",e.SET_LIVE_TRANSCODING="Client.setLiveTranscoding",e.STOP_LIVE_STREAMING="Client.stopLiveStreaming",e.START_CHANNEL_MEDIA_RELAY="Client.startChannelMediaRelay",e.UPDATE_CHANNEL_MEDIA_RELAY="Client.updateChannelMediaRelay",e.STOP_CHANNEL_MEDIA_RELAY="Client.stopChannelMediaRelay",e.REQUEST_CONFIG_DISTRIBUTE="_config-distribute-request",e.SET_CONFIG_DISTRIBUTE="_configDistribute",e.LOCAL_TRACK_SET_MUTED="LocalTrack.setMute",e.LOCAL_AUDIO_TRACK_PLAY="LocalAudioTrack.play",e.LOCAL_AUDIO_TRACK_PLAY_IN_ELEMENT="LocalAudioTrack.playInElement",e.LOCAL_AUDIO_TRACK_STOP="LocalAudioTrack.stop",e.LOCAL_AUDIO_TRACK_SET_VOLUME="LocalAudioTrack.setVolume",e.MIC_AUDIO_TRACK_SET_DEVICE="MicrophoneAudioTrack.setDevice",e.BUFFER_AUDIO_TRACK_START="BufferSourceAudioTrack.startProcessAudioBuffer",e.BUFFER_AUDIO_TRACK_STOP="BufferSourceAudioTrack.stopProcessAudioBuffer",e.BUFFER_AUDIO_TRACK_PAUSE="BufferSourceAudioTrack.pauseProcessAudioBuffer",e.BUFFER_AUDIO_TRACK_RESUME="BufferSourceAudioTrack.resumeProcessAudioBuffer",e.BUFFER_AUDIO_TRACK_SEEK="BufferSourceAudioTrack.seekAudioBuffer",e.LOCAL_VIDEO_TRACK_PLAY="LocalVideoTrack.play",e.LOCAL_VIDEO_TRACK_STOP="LocalVideoTrack.stop",e.LOCAL_VIDEO_TRACK_GET_VIDEO_VISIBLE="LocalVideoTrack.getVideoElementVisibleStatus",e.LOCAL_VIDEO_TRACK_BEAUTY="LocalVideoTrack.setBeautyEffect",e.LOCAL_VIDEO_SEND_SEI_DATA="LocalVideoTrack.sendSeiData",e.CAM_VIDEO_TRACK_SET_DEVICE="CameraVideoTrack.setDevice",e.CAM_VIDEO_TRACK_SET_ENCODER_CONFIG="CameraVideoTrack.setEncoderConfiguration",e.REMOTE_VIDEO_TRACK_PLAY="RemoteVideoTrack.play",e.REMOTE_VIDEO_TRACK_STOP="RemoteVideoTrack.stop",e.REMOTE_VIDEO_TRACK_GET_VIDEO_VISIBLE="RemoteVideoTrack.getVideoElementVisibleStatus",e.REMOTE_AUDIO_TRACK_PLAY="RemoteAudioTrack.play",e.REMOTE_AUDIO_TRACK_STOP="RemoteAudioTrack.stop",e.REMOTE_AUDIO_SET_VOLUME="RemoteAudioTrack.setVolume",e.REMOTE_AUDIO_SET_OUTPUT_DEVICE="RemoteAudioTrack.setOutputDevice",e.GET_MEDIA_STREAM_TRACK="Track.getMediaStreamTrack",e.STREAM_TYPE_CHANGE="streamTypeChange",e.CONNECTION_STATE_CHANGE="connectionStateChange",e.LOAD_CONFIG_FROM_LOCALSTORAGE="loadConfigFromLocalStorage",e.IMAGE_MODERATION_UPLOAD="imageModerationUpload",e.REPUB_AFTER_PC_CONNECTED="repubAfterPCConnected",e.PRELOAD_MEDIA_FAILED="preloadMediaFailed",e.MISMATCH_DTLS_PARAMETERS="mismatchDtlsParameters",e.VOS_FALLBACK_CN="vosFallbackCN",e.DATACHANNEL_FAILBACK="datachannelFailback",e}({}),Qe=function(e){return e.TRACER="tracer",e}({});function qe(e){return fe(e.timeout,"config.timeout",0,1e5),fe(e.timeoutFactor,"config.timeoutFactor",0,100,!1),fe(e.maxRetryCount,"config.maxRetryConfig",0,1/0),fe(e.maxRetryTimeout,"config.maxRetryTimeout",0,1/0),!0}function Ze(e){return Ce(e.codec,"config.codec",["vp8","vp9","av1","h264","h265"]),Ce(e.mode,"config.mode",["rtc","live","p2p"]),void 0!==e.audioCodec&&Ce(e.audioCodec,"config.audioCodec",["opus","pcmu","pcma","g722"]),void 0!==e.proxyServer&&Le(e.proxyServer,"config.proxyServer",1,1e4),void 0!==e.turnServer&&rt(e.turnServer),void 0!==e.httpRetryConfig&&qe(e.httpRetryConfig),void 0!==e.websocketRetryConfig&&qe(e.websocketRetryConfig),!0}let $e=function(e){return e[e.AUDIENCE_LEVEL_LOW_LATENCY=1]="AUDIENCE_LEVEL_LOW_LATENCY",e[e.AUDIENCE_LEVEL_ULTRA_LOW_LATENCY=2]="AUDIENCE_LEVEL_ULTRA_LOW_LATENCY",e[e.AUDIENCE_LEVEL_SYNC_LATENCY=3]="AUDIENCE_LEVEL_SYNC_LATENCY",e}({}),et=function(e){return e.LEAVE="LEAVE",e.NETWORK_ERROR="NETWORK_ERROR",e.SERVER_ERROR="SERVER_ERROR",e.UID_BANNED="UID_BANNED",e.FALLBACK="FALLBACK",e.IP_BANNED="IP_BANNED",e.CHANNEL_BANNED="CHANNEL_BANNED",e.LICENSE_MISSING="LICENSE_MISSING",e.LICENSE_EXPIRED="LICENSE_EXPIRED",e.LICENSE_MINUTES_EXCEEDED="LICENSE_MINUTES_EXCEEDED",e.LICENSE_PERIOD_INVALID="LICENSE_PERIOD_INVALID",e.LICENSE_MULTIPLE_SDK_SERVICE="LICENSE_MULTIPLE_SDK_SERVICE",e.LICENSE_ILLEGAL="LICENSE_ILLEGAL",e.TOKEN_EXPIRE="TOKEN_EXPIRE",e.FALLBACK_TO_HLS="FALLBACK_TO_HLS",e.UID_CONFLICT="UID_CONFLICT",e}({});function tt(e){if(!Array.isArray(e)||e.length<1)return!1;try{e.forEach((e=>{if(!e.urls)throw Error()}))}catch(e){return!1}return!0}function rt(e){return Le(e.turnServerURL,"turnServerURL"),Le(e.username,"username"),Le(e.password,"password"),e.udpport&&fe(e.udpport,"udpport",1,99999,!0),e.forceturn&&Ne(e.forceturn,"forceturn"),e.security&&Ne(e.security,"security"),e.tcpport&&fe(e.tcpport,"tcpport",1,99999,!0),!0}function st(e){return Ce(e,"encryptionMode",["aes-128-xts","aes-256-xts","aes-128-ecb","sm4-128-ecb","aes-128-gcm","aes-256-gcm","aes-128-gcm2","aes-256-gcm2","none"]),!0}let it=function(e){return e[e.AUTO_SIMULCAST_STREAM=-1]="AUTO_SIMULCAST_STREAM",e[e.DISABLE_SIMULCAST_STREM=0]="DISABLE_SIMULCAST_STREM",e[e.ENABLE_SIMULCAST_STREAM=1]="ENABLE_SIMULCAST_STREAM",e}({});function nt(e){return Ce(e,"role",["audience","host"]),!0}function ot(e){return Ce(e,"transport",["default","auto","relay","sd-rtn"]),!0}function at(e){return void 0!==e.level&&Ce(e.level,"level",[1,2,3]),void 0!==e.delay&&fe(e.delay,"delay",0,3e3,!0),!0}let ct=function(e){return e.PEERCONNECTION_STATE_CHANGE="peerconnection-state-change",e.AUDIO_METADATA="audio-metadata",e.AUDIO_PTS="audio-pts",e.CONNECTION_STATE_CHANGE="connection-state-change",e.MEDIA_RECONNECT_START="media-reconnect-start",e.MEDIA_RECONNECT_END="media-reconnect-end",e.IS_USING_CLOUD_PROXY="is-using-cloud-proxy",e.USER_JOINED="user-joined",e.USER_LEAVED="user-left",e.USER_PUBLISHED="user-published",e.USER_UNPUBLISHED="user-unpublished",e.USER_INFO_UPDATED="user-info-updated",e.CLIENT_BANNED="client-banned",e.CHANNEL_MEDIA_RELAY_STATE="channel-media-relay-state",e.CHANNEL_MEDIA_RELAY_EVENT="channel-media-relay-event",e.VOLUME_INDICATOR="volume-indicator",e.CRYPT_ERROR="crypt-error",e.ON_TOKEN_PRIVILEGE_WILL_EXPIRE="token-privilege-will-expire",e.ON_TOKEN_PRIVILEGE_DID_EXPIRE="token-privilege-did-expire",e.NETWORK_QUALITY="network-quality",e.STREAM_TYPE_CHANGED="stream-type-changed",e.STREAM_FALLBACK="stream-fallback",e.RECEIVE_METADATA="receive-metadata",e.STREAM_MESSAGE="stream-message",e.LIVE_STREAMING_ERROR="live-streaming-error",e.LIVE_STREAMING_WARNING="live-streaming-warning",e.EXCEPTION="exception",e.ERROR="error",e.P2P_LOST="p2p_lost",e.JOIN_FALLBACK_TO_PROXY="join-fallback-to-proxy",e.CHANNEL_FALLBACK_TO_WEBSOCKET="channel-fallback-to-websocket",e.MEDIA_CONNECTION_TYPE_CHANGE="media-connection-type-change",e.PUBLISHED_USER_LIST="published-user-list",e.CONTENT_INSPECT_CONNECTION_STATE_CHANGE="content-inspect-connection-state-change",e.CONTENT_INSPECT_ERROR="content-inspect-error",e.CONTENT_INSPECT_RESULT="content-inspect-result",e.IMAGE_MODERATION_CONNECTION_STATE_CHANGE="image-moderation-connection-state-change",e.FALLBACK_TO_HLS="fallback-to-hls",e.FIRST_VIDEO_BUFFER_READY="first-video-buffer-ready",e.FIRST_VIDEO_PRE_RENDER="first-video-pre-render",e.AV1_DECODABLE_RESULT="av1-decodable-result",e}({}),Et=function(e){return e.CONFIG="config",e.VOSERROR="vos_error",e.AP_ERROR="ap_error",e}({}),dt=function(e){return e.NETWORK_ERROR="NETWORK_ERROR",e.SERVER_ERROR="SERVER_ERROR",e.MULTI_IP="MULTI_IP",e.TIMEOUT="TIMEOUT",e.OFFLINE="OFFLINE",e.LEAVE="LEAVE",e.P2P_FAILED="P2P_FAILED",e.FALLBACK="FALLBACK",e.REGIONAL_DISTRIBUTION="REGIONAL_DISTRIBUTION",e}({}),ut=function(e){return e.ONLINE="ONLINE",e.OFFLINE="OFFLINE",e}({}),_t=function(e){return e.NETWORK_STATE_CHANGE="NETWORK_STATE_CHANGE",e.ONLINE="ONLINE",e.OFFLINE="OFFLINE",e}({});function lt(e,t){for(var r=arguments.length,s=new Array(r>2?r-2:0),i=2;i<r;i++)s[i-2]=arguments[i];return 0===e.getListeners(t).length?Promise.reject(new Se(me.UNEXPECTED_ERROR,"can not emit promise")):new Promise(((r,i)=>{e.emit(t,...s,r,i)}))}function ht(e,t){if(0===e.getListeners(t).length)return Promise.resolve();for(var r=arguments.length,s=new Array(r>2?r-2:0),i=2;i<r;i++)s[i-2]=arguments[i];return lt(e,t,...s)}function pt(e,t){if(0===e.getListeners(t).length)return null;for(var r=arguments.length,s=new Array(r>2?r-2:0),i=2;i<r;i++)s[i-2]=arguments[i];return Rt(e,t,...s)}function Rt(e,t){let r=null,s=null;for(var i=arguments.length,n=new Array(i>2?i-2:0),o=2;o<i;o++)n[o-2]=arguments[o];if(e.emit(t,...n,(e=>{r=e}),(e=>{s=e})),null!==s)throw s;if(null===r)throw new Se(me.UNEXPECTED_ERROR,"handler is not sync");return r}const Tt=new class extends We{set networkState(e){this.emit(_t.NETWORK_STATE_CHANGE,e,this._networkState),e===ut.ONLINE?this.emit(_t.ONLINE):e===ut.OFFLINE&&(this.onlineWaiter=new Promise((e=>{this.once(_t.ONLINE,(()=>{this.onlineWaiter=void 0,e(ut.ONLINE)}))})),this.emit(_t.OFFLINE)),this._networkState=e}get networkState(){return this._networkState}get isOnline(){return this._networkState===ut.ONLINE}constructor(){super(),Te(this,"_moduleName","network-indicator"),Te(this,"_networkState",ut.ONLINE),Te(this,"onlineWaiter",void 0),window.addEventListener("online",(()=>{this.networkState=ut.ONLINE})),window.addEventListener("offline",(()=>{this.networkState=ut.OFFLINE}))}},At=[];for(let e=0;e<256;++e)At.push((e+256).toString(16).slice(1));const It="undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);let mt;const St=new Uint8Array(16);function Ot(e,t,r){var s,i,n,o;const a=null!==(s=null!==(i=(e=e||{}).random)&&void 0!==i?i:null===(n=(o=e).rng)||void 0===n?void 0:n.call(o))&&void 0!==s?s:function(){if(!mt){if("undefined"==typeof crypto||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");mt=crypto.getRandomValues.bind(crypto)}return mt(St)}();if(a.length<16)throw new Error("Random bytes length must be >= 16");if(a[6]=15&a[6]|64,a[8]=63&a[8]|128,t){if((r=r||0)<0||r+16>t.length)throw new RangeError("UUID byte range ".concat(r,":").concat(r+15," is out of buffer bounds"));for(let e=0;e<16;++e)t[r+e]=a[e];return t}return function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(At[e[t+0]]+At[e[t+1]]+At[e[t+2]]+At[e[t+3]]+"-"+At[e[t+4]]+At[e[t+5]]+"-"+At[e[t+6]]+At[e[t+7]]+"-"+At[e[t+8]]+At[e[t+9]]+"-"+At[e[t+10]]+At[e[t+11]]+At[e[t+12]]+At[e[t+13]]+At[e[t+14]]+At[e[t+15]]).toLowerCase()}(a)}function Nt(){return!It||t||e?Ot(e,t,r):It();var e,t,r}function Ct(e,t){const r=e.indexOf(t);-1!==r&&e.splice(r,1)}function ft(e){const t=[];return e.forEach((e=>{-1===t.indexOf(e)&&t.push(e)})),t}function Dt(e){"undefined"!=typeof Promise?Promise.resolve().then(e):setTimeout(e,0)}function Lt(e){return JSON.parse(JSON.stringify(e))}function gt(e){try{return Lt(e)}catch(t){return e}}function Mt(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r+=1){const s=e[r];if(e.filter((e=>e===s)).length!==t.filter((e=>e===s)).length)return!1}return!0}function bt(e,t){const r=[];return e.forEach(((e,s)=>{t(e)&&r.push(s)})),r}function yt(e,t){const r=Object.keys(e),s=[];for(const i of r)e[i]!==t[i]&&s.push(i);return s}const Pt={};function vt(e,t){Pt[t]||(Pt[t]=!0,e())}function wt(){return"boolean"==typeof isSecureContext?isSecureContext:"https:"===location.protocol||"file:"===location.protocol||"localhost"===location.hostname||"127.0.0.1"===location.hostname||"::1"===location.hostname}function Ut(e){const t=window.atob(e),r=new Uint8Array(new ArrayBuffer(t.length));for(let e=0;e<t.length;e+=1)r[e]=t.charCodeAt(e);return r}function Ft(e){let t="";for(let r=0;r<e.length;r+=1)t+=String.fromCharCode(e[r]);return window.btoa(t)}function Vt(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:16;let r=(new TextEncoder).encode(e);if(r.length>t)r=r.slice(0,t);else if(r.length<t){const e=new Uint8Array(t);e.set(r),r=e}return r}function kt(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];const s=t.reduce(((e,t)=>e+t.length),0),i=new Uint8Array(new ArrayBuffer(s));let n=0;return t.forEach((e=>{i.set(e,n),n+=e.length})),i}function Bt(e){return window.TextEncoder?(new TextEncoder).encode(e).length:e.length}function xt(e){let t=0;return(/DingTalk/i.test(navigator.userAgent)||/AliApp/i.test(navigator.userAgent))&&e.realFormData&&(e=e.realFormData),e.forEach((e=>{t+="string"==typeof e?Bt(e):e.size})),t+138}function Kt(e,t,r){const s=e[t];if(!s||"string"!=typeof s)return[e];e[t]="";const i=Bt(JSON.stringify(e));let n=0;const o=[];let a=0;for(let c=0;c<s.length;c++)a+=s.charCodeAt(c)<=127?1:3,a<=r-i||(o[o.length]=Ie(Ie({},e),{},{[t]:s.substring(n,c)}),n=c,a=s.charCodeAt(c)<=127?1:3);return n!==s.length-1&&(o[o.length]=Ie(Ie({},e),{},{[t]:s.substring(n)})),o}function Gt(e){const t=new Se(me.TIMEOUT,"timeout");return new Promise(((r,s)=>{window.setTimeout((()=>s(t)),e)}))}function Ht(e,t){return t===1/0?e:Promise.race([e,Gt(t)])}function Wt(e){return new Promise((t=>{window.setTimeout(t,e)}))}function Yt(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:7,t=arguments.length>1?arguments[1]:void 0;const r=Math.random().toString(16).substr(2,e).toLowerCase();return r.length===e?"".concat(t).concat(r):"".concat(t).concat(r)+Yt(e-r.length,"")}function jt(){return"process-".concat(Yt(8,""),"-").concat(Yt(4,""),"-").concat(Yt(4,""),"-").concat(Yt(4,""),"-").concat(Yt(12,""))}function zt(){let e,t=!1;try{e=Nt().replaceAll("-","")}catch(e){t=!0}return!t&&e&&32===e.length||(e=Yt(32,"")),e.toUpperCase()}function Xt(e){e.getTracks().forEach((e=>{e.stop()}))}const Jt=()=>{};const Qt=new class{constructor(){Te(this,"fnMap",new Map)}throttleByKey(e,t,r,s){for(var i=arguments.length,n=new Array(i>4?i-4:0),o=4;o<i;o++)n[o-4]=arguments[o];if(this.fnMap.has(t)){const i=this.fnMap.get(t);if(i.threshold!==r){i.fn(...i.args),clearTimeout(i.timer);const o=window.setTimeout((()=>{const e=this.fnMap.get(t);e&&e.fn(...e.args),this.fnMap.delete(t)}),r);this.fnMap.set(t,{fn:e,threshold:r,timer:o,args:n,skipFn:s})}else i.skipFn&&i.skipFn(...i.args),this.fnMap.set(t,Ie(Ie({},i),{},{fn:e,args:n,skipFn:s}))}else{const i=window.setTimeout((()=>{const e=this.fnMap.get(t);e&&e.fn(...e.args),this.fnMap.delete(t)}),r);this.fnMap.set(t,{fn:e,threshold:r,timer:i,args:n,skipFn:s})}}},qt=Qt.throttleByKey.bind(Qt);function Zt(e){return"object"==typeof e&&null!==e&&!(e instanceof RegExp)}function $t(e,t){if(!Zt(e)||!Zt(t))return t;if(Array.isArray(e)&&!Array.isArray(t)||!Array.isArray(e)&&Array.isArray(t))return t;if(Array.isArray(t)&&Array.isArray(e)){const r=[...e];for(let s=0;s<t.length;s++)r[s]=$t(e[s],t[s]);return r}{const r=Ie({},e);for(const s in t)Object.prototype.hasOwnProperty.call(t,s)&&(Object.prototype.hasOwnProperty.call(e,s)?r[s]=$t(e[s],t[s]):r[s]=t[s]);return r}}function er(e){return e!==document.body&&document.body.contains(e)}function tr(e,t){let r=[0];if(t&&(r=new Array(t).fill(0)),0===e)return r;let s=0;for(;e>0&&(r[s]=255&e,e>>=8,s++,!t||s!==t););return r}function rr(e){return"number"==typeof e?e:e.exact||e.ideal||e.max||e.min||0}function sr(e,t){try{return"object"==typeof e&&"object"==typeof t&&JSON.stringify(e)===JSON.stringify(t)}catch(e){return!1}}function ir(e){const t=e.split("_");return t[0]+t.slice(1).map((e=>e.charAt(0).toUpperCase()+e.slice(1))).join("")}function nr(e){return!!e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then}function or(e){return e.reduce(((e,t)=>e+t),0)}function ar(e){const t="0123456789abcdef";function r(e){let r,s="";for(r=0;r<=3;r++)s+=t.charAt(e>>8*r+4&15)+t.charAt(e>>8*r&15);return s}function s(e,t){const r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function i(e,t,r,i,n,o){return s(function(e,t){return e<<t|e>>>32-t}(s(s(t,e),s(i,o)),n),r)}function n(e,t,r,s,n,o,a){return i(t&r|~t&s,e,t,n,o,a)}function o(e,t,r,s,n,o,a){return i(t&s|r&~s,e,t,n,o,a)}function a(e,t,r,s,n,o,a){return i(t^r^s,e,t,n,o,a)}function c(e,t,r,s,n,o,a){return i(r^(t|~s),e,t,n,o,a)}const E=function(e){let t;const r=1+(e.length+8>>6),s=new Array(16*r);for(t=0;t<16*r;t++)s[t]=0;for(t=0;t<e.length;t++)s[t>>2]|=e.charCodeAt(t)<<t%4*8;return s[t>>2]|=128<<t%4*8,s[16*r-2]=8*e.length,s}(e);let d,u,_,l,h,p=1732584193,R=-271733879,T=-1732584194,A=271733878;for(d=0;d<E.length;d+=16)u=p,_=R,l=T,h=A,p=n(p,R,T,A,E[d+0],7,-680876936),A=n(A,p,R,T,E[d+1],12,-389564586),T=n(T,A,p,R,E[d+2],17,606105819),R=n(R,T,A,p,E[d+3],22,-1044525330),p=n(p,R,T,A,E[d+4],7,-176418897),A=n(A,p,R,T,E[d+5],12,1200080426),T=n(T,A,p,R,E[d+6],17,-1473231341),R=n(R,T,A,p,E[d+7],22,-45705983),p=n(p,R,T,A,E[d+8],7,1770035416),A=n(A,p,R,T,E[d+9],12,-1958414417),T=n(T,A,p,R,E[d+10],17,-42063),R=n(R,T,A,p,E[d+11],22,-1990404162),p=n(p,R,T,A,E[d+12],7,1804603682),A=n(A,p,R,T,E[d+13],12,-40341101),T=n(T,A,p,R,E[d+14],17,-1502002290),R=n(R,T,A,p,E[d+15],22,1236535329),p=o(p,R,T,A,E[d+1],5,-165796510),A=o(A,p,R,T,E[d+6],9,-1069501632),T=o(T,A,p,R,E[d+11],14,643717713),R=o(R,T,A,p,E[d+0],20,-373897302),p=o(p,R,T,A,E[d+5],5,-701558691),A=o(A,p,R,T,E[d+10],9,38016083),T=o(T,A,p,R,E[d+15],14,-660478335),R=o(R,T,A,p,E[d+4],20,-405537848),p=o(p,R,T,A,E[d+9],5,568446438),A=o(A,p,R,T,E[d+14],9,-1019803690),T=o(T,A,p,R,E[d+3],14,-187363961),R=o(R,T,A,p,E[d+8],20,1163531501),p=o(p,R,T,A,E[d+13],5,-1444681467),A=o(A,p,R,T,E[d+2],9,-51403784),T=o(T,A,p,R,E[d+7],14,1735328473),R=o(R,T,A,p,E[d+12],20,-1926607734),p=a(p,R,T,A,E[d+5],4,-378558),A=a(A,p,R,T,E[d+8],11,-2022574463),T=a(T,A,p,R,E[d+11],16,1839030562),R=a(R,T,A,p,E[d+14],23,-35309556),p=a(p,R,T,A,E[d+1],4,-1530992060),A=a(A,p,R,T,E[d+4],11,1272893353),T=a(T,A,p,R,E[d+7],16,-155497632),R=a(R,T,A,p,E[d+10],23,-1094730640),p=a(p,R,T,A,E[d+13],4,681279174),A=a(A,p,R,T,E[d+0],11,-358537222),T=a(T,A,p,R,E[d+3],16,-722521979),R=a(R,T,A,p,E[d+6],23,76029189),p=a(p,R,T,A,E[d+9],4,-640364487),A=a(A,p,R,T,E[d+12],11,-421815835),T=a(T,A,p,R,E[d+15],16,530742520),R=a(R,T,A,p,E[d+2],23,-995338651),p=c(p,R,T,A,E[d+0],6,-198630844),A=c(A,p,R,T,E[d+7],10,1126891415),T=c(T,A,p,R,E[d+14],15,-1416354905),R=c(R,T,A,p,E[d+5],21,-57434055),p=c(p,R,T,A,E[d+12],6,1700485571),A=c(A,p,R,T,E[d+3],10,-1894986606),T=c(T,A,p,R,E[d+10],15,-1051523),R=c(R,T,A,p,E[d+1],21,-2054922799),p=c(p,R,T,A,E[d+8],6,1873313359),A=c(A,p,R,T,E[d+15],10,-30611744),T=c(T,A,p,R,E[d+6],15,-1560198380),R=c(R,T,A,p,E[d+13],21,1309151649),p=c(p,R,T,A,E[d+4],6,-145523070),A=c(A,p,R,T,E[d+11],10,-1120210379),T=c(T,A,p,R,E[d+2],15,718787259),R=c(R,T,A,p,E[d+9],21,-343485551),p=s(p,u),R=s(R,_),T=s(T,l),A=s(A,h);return r(p)+r(R)+r(T)+r(A)}function cr(e){const t=[];for(let r=0;r<e.length;r+=2)t.push(parseInt(e.slice(r,r+2),16));return Uint8Array.from(t)}let Er=1,dr=console;class ur{static setLogger(e){dr=e}constructor(e,t){Te(this,"id",void 0),Te(this,"lockingPromise",Promise.resolve()),Te(this,"locks",0),Te(this,"name",""),Te(this,"lockId",void 0),this.lockId=Er++,e&&(this.name=e),t&&(this.id=t),this.logger("created")}logger(e,t){const r=(this.id?"[".concat(this.id,"]"):"")+"[lock-".concat(this.name,"-").concat(this.lockId,"]"),s="created"===e?"is ".concat(e,"."):"is ".concat(e,", current queue ").concat(this.locks,". ").concat(null!=t?t:"");dr.debug("".concat(r," ").concat(s))}setId(e){this.id=e}get isLocked(){return this.locks>0}lock(e){let t;this.locks+=1,this.logger("locked",e);const r=new Promise((r=>{t=()=>{this.locks-=1,this.logger("unlocked",e),r()}})),s=this.lockingPromise.then((()=>t));return this.lockingPromise=this.lockingPromise.then((()=>r)),s}}function _r(e,t){return function(r,s,i){const n=i.value;if("function"!=typeof n)throw new Error("Cannot use mutex on object property.");return i.value=async function(){const r=this[t];if(!r)throw new Error("mutex property key ".concat(t," doesn't exist on ").concat(e));const i=await r.lock("From ".concat(e,".").concat(s));try{for(var o=arguments.length,a=new Array(o),c=0;c<o;c++)a[c]=